################################################################################ # # Setup Guide for moOde Multiroom Audio # # These instructions are designed for an initial configuration of a Multiroom # Audio system. Additional configuration help is provided within the player # via Menu, Quick help and the (i) information buttons. # # Version: 1.3 2024-02-18 # # (C) Tim Curtis 2021 http://moodeaudio.org # ################################################################################ PREFACE This release of Multiroom Audio is designed for listening in a casual or background setting. There is no support for audiophile features for example uncompressed PCM format, rates greater than 48K, DSP or clock sync between Sender and Receiver(s). These features may however appear in future releases. OVERVIEW A Multiroom Audio system consists of a Sender and one or more Receivers. The Sender should be a dedicated moOde player configured to output to the integrated HDMI port or optionally the Headphone jack but not connected to any speakers or headphones. It functions solely as a Music Server that sends its audio output to one or more Receivers. It can also be configured as a NAS to serve audio files from locally attached storage. BLOCK DIAGRAM +---------+ | Router |----------------------------+ +---------+ | | | | Ethernet | | | +-------+ | | | Pi-3B+ or higher | Ethernet and/or WiFi 5GHz | Sendr | MPD | | | Spotify, AirPlay | +-------+ | | | | +---------------------+---------------------+ | | | | | | | Pi-3A+ or higher | | +-------+ +-------+ +-------+ | | | | | | | Rcvr1 | | Rcvr2 | | Rcvr3 | | | | | | | +-------+ +-------+ +-------+ | | | | | Speakers | +---+ +---+ +---+ | . | | . | | . | | O | | O | | O | +---+ +---+ +---+ RECEIVER CONFIGURATION Receivers should be configured first. The Receiver daemon is separate from MPD and the other Audio Renderers and thus the Receiver configuration should be dedicated although it's not absolutely required. A Receiver can have Bluetooth, AirPlay and Spotify Connect renderers running in the background but there is no coordination between them and the Receiver player. Initiating a Bluetooth, Spotify Connect or AirPlay connection while the Receiver player is ON will result in audio output conflicts and errors. A) Audio Configuration (Menu, Configure, Audio) 1. In the Audio Output section a. Configure settings appropriate for the audio device being used b. Set "Volume type" to "Hardware" to control Receiver volume via the Sender CAUTION: Software or Fixed (0dB) can also be used but volume output will be 0dB (100%) regardless of Sender volume setting 2. In the ALSA options section a. Select an ALSA output mode being mindful of the Help text b. Set ALSA Loopback to "OFF" 3. In the MPD Options section EDIT MPD settings set SoX Resampling to "No" 4. In the Equalizers section set the following DSP's to "Off" a. Crossfeed b. Polarity inversion c. Graphic EQ d. Parametric EQ e. CamillaDSP B) Renderer Configuration (Menu, Configure, Renderers) 1. Set all Audio Renderers to "Off" 2. Set DLNA server to "Off" C) Multiroom Configuration (Menu, Configure, Multiroom) 1. Set the Receiver daemon to ON 2. Set Master volume opt-in to YES. This allows Receiver volume to be controlled by the volume knob in Playback or Playbar view of the Sender. SENDER CONFIGURATION The Sender should be a configured to output to the integrated HDMI port or optionally the Headphone jack but not connected to any speakers or headphones. It functions solely as a Music Server that sends its audio output to one or more Receivers. It can also be used as a NAS by turning on SMB or NFS file sharing in System Config. Note: there can only be one Sender on the network. A) Audio Configuration (Menu, Configure, Audio) 1. In the Audio Output section a. Set Output device to "HDMI 1" b. Set Volume type to "Hardware" c. Set ALSA Output mode to "Default (plughw)" 2. In the ALSA Options section set ALSA Loopback to "ON" 3. In the MPD Options section EDIT MPD settings set SoX Resampling to "No" 4. In the Equalizers section set the following DSP's to "Off" a. Crossfeed b. Polarity inversion c. Graphic EQ d. Parametric EQ e. CamillaDSP B) Renderer Configuration (Menu, Configure, Renderers) 1. Set the following Audio Renderers to "Off" a. Squeezelite b. RoonBridge 2. Optionally turn on Bluetooth, AirPlay and/or Spotify Connect renderers 3. Set DLNA server to "Off" B) Sender Configuration (Menu, Configure, Multiroom) 1. DISCOVER Receivers. This is necessary to generate the list of Receiver hosts and their IP addresses. This must be done initially and whenever hosts are added or removed from the configuration. 2. Set Sender daemon to "ON" 3. Optionally set Initial volume for the Receivers. This action simply sets each Receiver's volume to an initial level for convenience. 4. In Playback view the Receivers icon will appear at the top middle. Click this icon to open the Receivers panel which lists each Receiver, its On/Off state, volume and mute state. Receiver volume can be adjusted via the slider followed by clicking on the volume button. Mute state can be toggled by clicking on the mute button. NETWORKING AND AUDIO FORMAT A) Networking The performance of the system depends on having low latency, high throughput networking and hosts. If any hosts are connected via WiFi then interference in the WiFi band can result in degraded performance and audio dropouts. 1. Discovery of Receivers relies on Multicast DNS (mDNS) 2. Addressing for the audio distribution protocol relies on IP Multicast using a default address of 239.0.0.1 and port 1350. Many residential Routers support Multicast by performing Multicast to Unicast (M-to-U) conversion but in some cases both IP Multicast and IGMP Snooping need to be explicitly enabled in the Router. B) Audio format 1. Audio is converted to 16 bit 48 kHz PCM format and encoded using the Opus CODEC. Resampling if needed is handled by ALSA using the Speex converter. For playback via MPD the SoX resampler can be used instead. Set Bit depth to to "Any" and Sample rate to 48. This may provide higher quality resampling than ALSA/Speex. 2. Encoded Opus frames are transmitted over the network using RTP over UDP BLUETOOTH, SPOTIFY CONNECT AND AIRPLAY Playing Bluetooth, Spotify or AirPlay through the Sender sets the Receiver volume to 100% (0dB). Overall volume is controlled by the Bluetooth, Spotify or AirPlay client app. Receiver volume is restored after the client disconnects. USAGE NOTES 1. The 2.4 GHz WiFi band which is crowded and prone to interference should be avoided. Use the 5GHz band for best results. 2. ARM6 single-core Pi's including Pi-1B and Pi-Zero have not been tested as either Sender or Receiver and so YMMV. 3. The SQL table cfg_multiroom contains the configuration parameters for the feature. Parameters not exposed in the Multiroom Config screen can be edited in this table for development and testing purposes. ################################################################################ # Post questions regarding this guide to http://moodeaudio.org/forum ################################################################################