moOde

Audio

Audio Output

Audio output devices include the Raspberry Pi integrated HDMI and Headphone audio ports, I2S HAT audio devices and USB audio devices. Note that these settings cannot be changed when MPD audio output is set to "Bluetooth speaker" or when Multiroom Sender or Receiver are On.

Volume type used by MPD.
- Hardware: Use audio device on-chip volume controller.
- Software: Use MPD software volume (32 bit float with dither).
- Fixed (0dB): Output 100% volume. Assumes a downstream volume control is used.
- Null: Fake volume. Assumes an alternate method is used that captures MPD volume events and sets the actual volume.
- CamillaDSP: Use CamillaDSP software volume (64 bit float with dither). CamillaDSP must be On for this option to appear.
CAUTION: Set volume to a low level before changing this option.
Fixed (0dB) will output 100% volume level. The actual fixed level can be set by adjusting Max ALSA volume.
This value represents the difference between the maximum loudness and background noise level. It is used to generate the volume curve which determines the loudness at each point on the CamillaDSP volume slider and moOde volume knob.
Set both to None to configure a USB audio device, Pi HDMI or Pi Headphone jack.
Auto-play will be turned off as part of updating this setting.
slave: If enabled, Boss and MiniBOSS DAC operate in slave mode required by Kali reclocker.
glb_mclk: If enabled, Kali MCLK is used and PLL for Piano 2.1 is disabled for best SQ.
ALSA Options

Advanced Linux Sound Architecture (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers and audio applications.

Establish ALSA 0dB level when volume type is set to Software, Fixed or CamillaDSP, or when any Renderers are active.
ALSA: :,0 Default: Use ALSA "plughw" plugin which performs format conversions if needed to match audio device requirements.
Direct: Use ALSA "hw" plugin which does not preform any format conversions. The audio device must accept the given format.
These modes apply to MPD, Bluetooth (inbound), AirPlay, Spotify Connect, Squeezelite and the Equalizers.
The Loopback device provides a copy of the PCM output stream that can be accessed by reading "hw:Loopback,1,0".
(1) Loopback is only supported in Default (plughw) mode.
(2) Loopback requires a sample rate greater than 44.1K for Pi HDMI or Headphone outputs. This requirement does not apply if Multiroom Sender is ON.
Set up multiroom audio sender and receivers. Requires Loopback to be ON.
MPD Options

Music Player Daemon (MPD) is a flexible, powerful, server-side application for playing music and is the primary audio application in moOde. MPD settings including DSD, SoX resampling, audio buffers and others are configured via the EDIT button.

General
MPD
Start auto-shuffle random play if it was previously active or play last played item.
Maintain enhanced metadata for the currently playing song or station in the /var/local/www/currentsong.txt file. This file is updated within three seconds after any metadata updates on the UI.
Auto-shuffle
When the last song in the Playlist has finished playing, Auto-shuffle adds two randomly selected songs from the music library to the end of the Playlist then repeats the process. This creates a continuous stream of music without growing the Playlist and having two tracks enables MPD Crossfade to be used. NOTE: Auto-shuffle replaces MPD random play as the method for the 'Random' button.
Play randomly selected track or whole album.
String of TAG VALUE pairs that Auto-shuffle uses to select the tracks being shuffled. Only one occurrence of a given TAG is allowed. The filter is case insensitive and it performs a TAG contains VALUE substring match.
Ex: genre "indie rock" artist coldplay
Ex: filename "NAS/Music/Led Zeppelin"
Volume options
Sets the maximum amount the volume knob will advance when it's clicked ahead of its current position.
Establishes the highest level that can be set by the Volume Knob and via vol.sh and rotvol.sh.
Display dB volume next to the 0-100 level in the volume knob.
Activates the triggerhappy key mapping daemon for USB volume knobs.
Refer to /etc/triggerhappy/triggers.d/media.conf for key/event mappings.
Enable a rotary encoder device to control MPD volume.
Encoder settings (positional)
- Poll interval: Number of ms sleep for the volume update polling loop. Default = 100.
- Speed factor: Threshold (diff betw last/current enc pos) to determine whether to use 1 step or volume_step steps. Default = 2.
- Volume_step: Number of steps to use when knob turns at fast rate. Default = 3.
- Pin_A Pin_B: Broadcom SoC pin numbers. Default = 23 24.
DSP options

Note that the Equalizers, Crossfeed, and Polarity inversion are mutually exclusive. Enabling one will disable the SET and Toggle buttons on the others.

MPD uses its audio buffer for crossfading thus there must be enough buffer space available to perform the requested number of seconds of crossfade for a given audio format.
NOTE: Set to 0 to disable crossfade.
700 Hz, 3.0 dB - Linkwitz
- Approximates an original Linkwitz crossfeeder with azimuth 40 degrees. Highest crossfeed level, lowest separation.
700 Hz, 4.5 dB - Bauer
- Approximates a virtual speaker placement with azimuth 30 degrees at about 3 meters distance.
800 Hz, 6.0 dB - Chu Moy
- Approximates a Chu Moy modified Linkwitz crossfeeder.
650 Hz, 10.0 dB - Jan Meier
- Approximates a Jan Meier natural crossfeeder. Lowest crossfeed level, highest separation.
Change the waveform on each channel from +/- to -/+.
HTTP streaming
Provide MPD output as an HTTP stream on the designated port.
Default port is 8000. Port number range is 8000 - 9000.
Encode the stream using either FLAC at compression level 0 (fastest, least compression) or LAME (MP3) at 320 kbps.
Equalizers

The Equalizers are supported by MPD, AirPlay, Spotify and Bluetooth inbound renderers. They are not available if Bluetooth audio output is set to "Bluetooth speaker" or Multiroom Sender or Receiver are On. Note that the Equalizers, Crossfeed, and Polarity inversion are mutually exclusive. Enabling one will disable the SET and Toggle buttons on the others.

No description available CamillaDSP is a general purpose Digital Signal Processing engine for routing and filtering sound. It can be used for building crossovers for active speakers, performing room correction, equalization or volume control. CamillaDSP is maintained by Henrik Enquist. Integration into moOde was done by @bitlab.
Feature summary:
- IIR filters (BiQuad)
- FIR filters (Convolution via FFT)
- Built-in sample rate converter
- Filters can be chained freely
- Flexible routing
- Simple YAML configuration
- All calculations done with 64-bit floats
- ARM Neon 64-bit instruction set is used
- Pipeline editor with expert mode
Configurations can be managed at the CamillaDSP settings page.
CamillaDSP settings
Three x Four Mitra-Regalia peaking equaliser filters in series; a vector arithmetic re-implementation of Fons Adriaensens "Parametric1" equaliser[fafil] with minor differences. Parallelisation of the serial filter organisation causes the output to lag by three samples. This EQ uses the @bitlab custom eqfa12p component of the CAPS suite of DSP programs written by Tim Goetze
NOTE: Equalizer processing applies to MPD, AirPlay and Spotify output.
EQ curve
A classic octave-band, constant-Q, second-order filter design. Frequency bands centered above Nyquist are automatically disabled. This EQ uses the Eq10X2 component of the CAPS suite of DSP programs written by Tim Goetze.
NOTE: Equalizer processing applies to MPD, AirPlay and Spotify output.
EQ curve
Reconnect
Reconnect System restarted
Reconnect System shut down