![]() |
[How to do instruction] Possible to configure synchronized ouput for several raspis? - Printable Version +- Moode Forum (https://moodeaudio.org/forum) +-- Forum: moOde audio player (https://moodeaudio.org/forum/forumdisplay.php?fid=3) +--- Forum: Support (https://moodeaudio.org/forum/forumdisplay.php?fid=7) +--- Thread: [How to do instruction] Possible to configure synchronized ouput for several raspis? (/showthread.php?tid=1898) |
Possible to configure synchronized ouput for several raspis? - itsme - 11-16-2019 Hi, I couldn't find an answer to my question and Squeezelite doesn't really fit to my scenario as far as I understood it: I have 3 rooms, in each of them one raspberry running moode 6.3. All of them have their own amplifier with speakers. One of them is the "master" - just because it's the most used room. It always plays AND streams this music. (What I hear is typically a radio stream or via bluetooth connection.) The other two "slaves" are turned on manually and then play the stream from the master. At this point I run into problems. The sound of the slaves is delayed about 2 seconds and that sounds weird if you walk from room to room. Also if each of them plays the same radio stream with their own connection, the sound differs in time. I'm pretty sure the most of this time is related to buffering. Is there a way to reduce the buffering in moode? Another idea were to delay the real audio output to the amplifier of the master. I don't expect to have it synchronized to 100%, but a simple way to set some kind of delay / and or buffering value would be great. Any tips or ideas? ![]() Thanks! RE: Possible to configure synchronized ouput for several raspis? - Tim Curtis - 11-16-2019 The difference in arrival times of the audio streams has nothing to do with buffering. moOde's native audio player, MPD, does not include the capability to render time-synchronized multi-room audio. You would need to use either the Squeezelite/LMS or iTunes/Airplay combo to do this. RE: Possible to configure synchronized ouput for several raspis? - itsme - 11-17-2019 Hi Tim, thanks for answering. Two questions on this issue: - Is there a possibility to integrate some kind of buffering for the audio output on the master? (but not he http streaming) This way I could eliminate the difference of the master to the slaves more or less. - Regarding squeezelite: Is there a way for moode clients to configure playing via squeezelite using playlists? I'd like to have a playlist with radio streams and squeezelite stream and to simply switch from where I get the music from. Is there also a way to turn the master moode instance to the LMS and that this master always streams using LMS, but also is a client that can output the synchronized sound with the slaves from this stream? Thanks RE: Possible to configure synchronized ouput for several raspis? - Tim Curtis - 11-17-2019 Hi, Thats more than 2 questions, lol 1. Buffering is not going to do anything to maintain time-sync. MPD itself would need to have the capability to maintain time-synchronized audio streams including local playback. Maybe someday a developer will write such a plugin for MPD :-) 2. AFAIK Only LMS and Roon are able to stream to the Squeezelite renderer. 3. moOde cannot stream to LMS. You may want to explore Snapcast. It's a separate multi-room playback system that can accept a raw audio feed from MPD's FIFO pipe. I don't know how reliable it is and I have no interest at this point in integrating it into moOde. -Tim RE: Possible to configure synchronized ouput for several raspis? - TheOldPresbyope - 11-17-2019 @itsme Quote:- Is there a possibility to integrate some kind of buffering for the audio output on the master? (but not he http streaming) This way I could eliminate the difference of the master to the slaves more or less. I don't have a dog in this fight, so to speak, but as I understand your description of your problem, there's a simple brute-force solution. Introduce a new slave moOde player to drive the amplifier/spealers in your main listening area and use the "master" only to drive all three slaves. Regards, Kent RE: Possible to configure synchronized ouput for several raspis? - itsme - 11-17-2019 @Tim Curtis : thanks again, even if your answer was that this does not work with moode. This is really a pitty, because I like the moode behavior and UI and somehow want to keep my setup. To 1.: Maybe buffering was the wrong term, some kind of configurable output delay between MPD output and http streaming would eliminate most of the difference in time. Isn't this worth to think about? ![]() I already had a look at LMS. It works that my moode instances connect and then play synchronously, but I really don't like the handling and UI. It's not comfortable and further it's not possible to control each moode device via moode UI, you can just disconnect to get control again ![]() ![]() Snapcast sounds nice, too. But you already refused an integration ![]() Anyway, thanks for your work! @TheOldPresbyope Yes, that's an idea. Would be a workaround, but not a preferable solution to add another hardware just because the software setup is the problem. Even I also had another question regarding IR control (pigpio/lirc), which was now fixed by adding a multi device IR control that is controlled by GPIOs of the raspberry to solve my problem ![]() RE: Possible to configure synchronized ouput for several raspis? - itsme - 11-20-2019 Hi again, it seems it will need an additional hardware solution again to solve this. I couldn't get warm with max2play or picoreplayer, moode remains my favorite. The difference in time is acceptable using just the stream receiving ones, that's why I'll buy another pi and use it as streaming master with moode. All others receive this stream and play it. It's really nearly synchron, you won't really get it, walking from room to room. But of course it's everywhere the same hardware, software and LAN connection. I personally think that an option to add a delay for the output of the stream to MPD would be a great feature to optimize those time differences. And I could imagine that this would be possible. There should be a data stream from http input which is handled by moode and then piped out to MPD? I'd imagine adding a configurable FIFO buffer before the data is piped to MPD were not too hard to implement and would do the job. @Tim Curtis : Please, please Tim, think about it ![]() RE: Possible to configure synchronized ouput for several raspis? - Tim Curtis - 11-21-2019 These are just hacks that are not going to be reliable. The fact is that MPD itself doesn't not include multi-room sync audio capability like iTunes, LMS, Roon, etc. Some developer has to volunteer to write an MPD plugin that does this. Outside of MPD it might be possible to do something thats reliable with bare-metal ALSA. We shall see. RE: Possible to configure synchronized ouput for several raspis? - itsme - 01-03-2020 (11-21-2019, 05:07 AM)Tim Curtis Wrote: These are just hacks that are not going to be reliable. The fact is that MPD itself doesn't not include multi-room sync audio capability like iTunes, LMS, Roon, etc. Some developer has to volunteer to write an MPD plugin that does this. I use the solution now with one master raspi that streams into the network to the slaves and I'm fine with it, walking through the rooms. But I now have another problem, that might be easier to get solved: If I switch the radio channel on the streaming master, the slaves just continue to play the new radio channel that is streamed. This is fine. But if I switch 2 specific ones, the slaves either stop playing or switch to their next playlist entry. To follow the issue just switch from http://mp3.ffh.de/ffhchannels/hqlounge.mp3 to http://mp3stream1.apasf.apa.at:8000 The streaming slaves won't go on with this network stream ![]() Is this because of the port change or just a moode internal timeout setting and what can I do to let the stream go on without user interaction? |