Skip to content

OSIRIS v0.4.0

Choose a tag to compare

@ubis ubis released this 16 Oct 19:22
· 72 commits to main since this release
osiris-v0.4.0
e934b62

AirPlay and Dolby Digital, and more of the receiver's audio settings.

Highlights

  • AirPlay - the receiver shows up as an AirPlay speaker. It switches itself to NET when a sender starts playing, shows the track and play state on the front panel, and the sender's volume slider sets the receiver's volume.
  • Dolby Digital - decoded on the DSP from HDMI and optical, played as 5.1 or folded into the speakers there are, and shown on the front panel as Dolby D with its layout.
  • A/V sync, Dynamic EQ and Dynamic Volume from the receiver's menus.
  • Surround back speakers from 5.1 - they repeat the surrounds.
  • Headphones - all channels are folded into them at full range, without the room's speaker distances and equalizer.
  • 88.2 and 96 kHz - a half-band filter in and out instead of averaging, flat to 20 kHz. Sources above 96 kHz play silence instead of overloading the DSP.
  • Rear USB port - USB sticks now work in both ports.
  • Level meter and DSP load - ubus call dsp status shows how busy the DSP is.

Fixes

  • Left and right were swapped on HDMI sources.
  • Speaker distances were read wrong.
  • Changing the equalizer cleared the bass management crossovers for a moment.
  • Tone controls and Dynamic EQ could clip: the largest boost now comes off every channel first, and the analog volume makes up the level.
  • The DSP started only with a source present; it now starts without a clock and waits for one.

Updating from v0.3.0

From a USB stick: copy osiris-v0.4.0.tar to the top directory of a FAT stick and plug it into the receiver; it offers the update on its update screens. Or over the network:

scp osiris-v0.4.0.tar root@TX-NR717:/tmp/
ssh root@TX-NR717 osiris-upgrade /tmp/osiris-v0.4.0.tar

New installs: see docs/install.md.

Changelog

67 commits since v0.3.0
  • services: dspd, dspaudio, mcud, osirisd: A/V sync
  • services: dspd, dspaudio, mcud, osirisd: Dynamic EQ
  • services: mcud: Dynamic Volume is C7 08, the reference level offset 0A
  • services: dspd, dspaudio, osirisd: Dynamic Volume
  • services: dspd, dspaudio: steady surrounds in the music modes
  • services: dspd, mcud, osirisd: follow the source's sample rate
  • services: dspd, dspaudio: process every other frame above 48 kHz
  • services: dspd, mcud, osirisd: surround back from 5.1
  • services: dspd, dspaudio: play audio from Linux through a ring
  • services: pcmd: feed audio from Linux to the DSP
  • buildroot: shairport-sync for AirPlay
  • docs: README: A/V sync, Dynamic EQ and Volume, AirPlay
  • buildroot: board: start the clock from the build time only
  • services: dspaudio: take the ring's frame in as a whole
  • services: pcmd: flatter resampling filter
  • services: mcud: send 0x40 on a switch to a network source
  • services: osirisd: play the ring on the NET input
  • buildroot: libubox: pop the Lua callback table after a callback
  • services: pcmd: drop the queued audio on SIGUSR1
  • services: dspd, dspaudio: level meter
  • services: mcud: front panel text and level meter on NET
  • buildroot: shairport-sync: track and play state on a pipe
  • services: osirisd: AirPlay track and play state on the front panel
  • docs: features page, bring the pages up to date
  • services: mcud: input selection and ISCP commands over ubus
  • services: osirisd: handle ubus events from the main loop
  • services: osirisd: switch to NET when AirPlay starts
  • buildroot: shairport-sync: keep one descriptor for the pipe
  • services: mcud: set the master volume over ubus
  • services: osirisd: the AirPlay slider sets the receiver's volume
  • services: mcud: meter for full-level AirPlay, sound means playing
  • services: osirisd: drop the queued audio at the end of a session too
  • services: dspaudio: import liba52
  • services: dspaudio: unpack IEC 61937 bursts
  • services: dspaudio: one receive slot in a function of its own
  • services: dspaudio: DMA-driven McASP as a build option
  • services: dspd: load an image's SDRAM part, name the decoded layout
  • services: dspaudio: decode AC-3
  • services: mcud: the source's channels, LFE and format in mcu stream
  • services: dspd: dsp.bitstream when the bitstream changes
  • services: osirisd: decoded AC-3 plays as multichannel, shown as Dolby D
  • services: osirisd: tell the MCU the layout of multichannel PCM
  • services: dspd, dspaudio: do not swap left and right on HDMI
  • services: dspd, dspaudio, mcud, osirisd: Late Night for Dolby Digital
  • services: dspaudio: split dspaudio.c up
  • services: dspd: split dspd.c up
  • services: mcud: split mcud.c up
  • services: osirisd: split into modules
  • services: dspaudio: start without a clock and wait for one
  • services: dspd: the DSP image in /lib/firmware
  • services: mcud, osirisd: name the listening modes the MCU's byte gives
  • services: mcud: read the speaker distances right
  • services: osirisd: keep Dynamic EQ and Dynamic Volume in the state file
  • services: dspaudio: headroom for the tone controls
  • services: dspaudio, dspd: change the equalizer without clearing the crossovers
  • services: osirisd: leave calibration alone on AirPlay
  • services: mcud, osirisd: mute NET when the MCU asks
  • services: dspd: take the tone boost off every channel
  • services: dspd: count Dynamic EQ's boost in the headroom
  • services: dspd, dspaudio: report the DSP load
  • services: dspd, dspaudio: let the DSP image use the L2 above the shared block
  • services: dspaudio: half-band filter at 88.2 and 96 kHz
  • services: mcud, osirisd: headphones get every channel
  • docs: features: optical, HDMI ARC, CEC and Late Night work
  • services: dspd, dspaudio, osirisd: play silence above 96 kHz
  • services: pcmd: follow the writer's clock instead of blocking it
  • linux: davinci: da830-evm: USB PHY reference is 20 MHz