################################################################################ # # Setup Guide for moOde Multiroom Audio # # These instructions are designed for an initial configuration of a moOde # Multiroom Audio system. Additional configuration help is provided within the # player via Menu, Quick help and the (i) information buttons. # # Version: 1.0 2021-09-24 # # (C) Tim Curtis 2021 http://moodeaudio.org # ################################################################################ PREFACE This initial release of moOde Multiroom audio is designed for listening in a casual or background setting. There is no support in this release for audiophile features including uncompressed PCM format, rates greater than 48 kHz, DSP or clock correction between Sender and Receiver. These features may however appear in future versions of the feature. OVERVIEW A moOde multiroom audio system consists of a Sender and 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. NOTE: There can only be one Sender on the network. BLOCK DIAGRAM +---------+ | Router |----------------------------+ +---------+ | | | | Ethernet | | | +-------+ | | | Pi-4 or 3B+ | Ethernet and/or WiFi 5GHz | Sendr | Music Sources | | | Spotify, Airplay | +-------+ | | | | +---------------------+---------------------+ | | | | | | | Pi-4, 3B+, 3A+ | | +-------+ +-------+ +-------+ | | | | | | | Rcvr1 | | Rcvr2 | | Rcvr3 | | | | | | | +-------+ +-------+ +-------+ | | | | | Speakers | +---+ +---+ +---+ | . | | . | | . | | O | | O | | O | +---+ +---+ +---+ RECEIVER CONFIGURATION Receivers should be configured first. The Receiver player daemon is separate from MPD and the Audio Renderers and thus the Receiver configuration should be dedicated although it's not absolutely required. A Receiver can have Airplay and Spotify renderers running in the background but there is no coordination between them and the Receiver player. Initiating a Spotify or Airplay connection while the Receiver player is ON will result in audio output conflicts and errors. A) Audio Configuration (Menu, Configure, Audio) 1. Configure the audio device - Set I2S audio device appropriately - Set ALSA Loopback to "OFF" 2. EDIT MPD settings - Set MPD Audio output appropriately - Set SoX Resampling Enabled to "No" 3. Set the following DSP's to "Off" - Crossfeed - Polarity inversion - Graphic EQ - Parametric EQ - CamillaDSP 4. Set all Audio Renderers to "Off" 5. Set DLNA server to "Off" B) Multiroom Configuration (Menu, Configure, Multiroom) Optionally Multiroom CONFIGURE while still on Audio Config screen. 1. Set the Receiver daemon to ON 2. Optionally 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 dedicated computer 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 multiroom Receivers. A) Audio Configuration (Menu, Configure, Audio) 1. Set ALSA Output mode to "Default (plughw)" 2. Set ALSA Loopback to "ON" 3. EDIT MPD settings - Set MPD Audio output to "HDMI 1" - Set Mixer type to "Hardware" - Set SoX Resampling Enabled to "No" 4. Set the following DSP's to "Off" - Crossfeed - Polarity inversion - Graphic EQ - Parametric EQ - CamillaDSP 5. Set the following Audio Renderers to "Off" - Bluetooth - Squeezelite - RoonBridge 6. Optionally turn on Airplay and/or Spotify renderers 7. 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 Sender 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 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. 2. Encoded Opus frames are transmitted over the network using RTP over UDP SPOTIFY AND AIRPLAY Playing Spotify or Airplay through the Sender sets the Receiver hardware volume to 100% (0dB). Overall volume is controlled by the Spotify or Airplay client. Receiver volume is restored after the client disconnects. USAGE NOTES 1. Spotify and Airplay support is a work-in-progress (WIP) in this initial release. Airplay generally works well with few audio glitches but Spotify can be glitchy. 2. The 2.4 GHz WiFi band which is crowded and prone to interference should be avoided. 3. ARM6 single-core Pi's including Pi-1B and Pi-Zero have not been tested as either Sender or Receiver and so YMMV. 4. 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 ################################################################################