Rune transmitter

Suggestions/requests/ideas for RuneAudio core features and functions

Rune transmitter

Postby kraigo » 10 Apr 2014, 17:32

I think there are a number of us who want to do this sort of thing: Now that Rune is running my main stereo, I'd like to have the audio stream to other devices. Off the top of my head, there are a number of potential downfalls.

How closely do the various synchronize? I don't expect sample perfect synchronization, which is good because I don't think it's possible. OTOH, my house is roughly 40 feet (13 meters or so) from front to back and sound travels roughly 1 ft/millisecond. I would think that an offset of 40 milliseconds (44 samples at CD quality) might be achievable and completely acceptable.

Can Rune/MPD output to more than stream simultaneously? It would be nice to have Rune continue to run the main stereo through my HiFiBerry DAC and be the streaming source at the same time.

Will there be resampling going on? At least one of our contenders needs to resample the output to one consistent output format, resampling along the way. This means that we need an encoder (e.g. Vorbis) installed on the server. Can a device like the Raspberry Pi handle it? Possibly. It will be eating CPU, but with hard float turned on (since Rune runs on Arch Linux, not Raspbian, this is not a given) it may be able to take the stress.

I'm sure this is not an exhaustive list of possible failure points.

There are a number of contending technologies to make this happen:

MPD has had HTTP streaming for some time now. I don't know how well it synchronizes with the receivers. Rune is running a version of MPD that has had this feature for generations. Again, I'm not sure if there are any encoders in the Rune distro, whether hard float is turned on nor whether MPD can handle multiple output streams simultaneously. Setting up HTTP streaming is pretty simple: https://wiki.archlinux.org/index.php/Mu ... and_Tricks. Also, turning a plain vanilla Rasbian Pi into an HTTP streamer is apparently pretty simple: http://www.raspberrypi.org/forums/viewt ... 0&p=350142

AirPlay is supported by Rune. Unfortunately it is as an airplay receiver not an Airplay transmitter. This points to a possible way out. There are a fair number of Linux, Android and Windows apps (in addition to iOS) for Airplay transmitting and we could have multiple Rune machines out there playing the stream. Wikipedia (http://en.wikipedia.org/wiki/AirPlay) lists a number of solutions for Linux transmitting Airplay: raop_play, PulseAudio and forked_daapd. I'm not sure if any of these have been ported to ARM, Arch Linux, etc. so it's probably unfair to ask for it as a feature request. All the issues raised above are not in the realm of me answering them.

IceCast. Since I had two more promising contenders to look at I haven't bothered to look into it. Here's how one can turn a plain vanilla Raspbian Pi into an IceCast server: http://www.t3node.com/blog/streaming-au ... pberry-pi/. Again, I don't know how tight synchronization would be.

Anyway, I'm interested in hearing from anyone experienced in doing this sort of thing. This post has clarified with me that possibly the best ways forward for me is to put an Airplay transmitter on my Windows machine downstairs and use the two HiFiBerry DAC Pi's with Rune as an Airplay receiver or set up the file server Raspbian Pi as an HTTP transmitter and again have the other two Pi's as receivers. I'm not thrilled with either of these solutions. I like the Rune interface.

KO
kraigo
 
Posts: 10
Joined: 07 Apr 2014, 23:10

Re: Rune transmitter

Postby ACX » 10 Apr 2014, 19:00

Hi kraigo, I moved this thread in the "Feature request" forum.
We are considerating many options with different technologies for a synchronized multiroom playback, and every one has strong and weak points. The main objects are:

  1. keep the latency as low as possible
  2. avoid resampling if possible
  3. elect a master device and control the others from it via RuneUI
We already identified a couple of possible solutions but haven't tried them yet, as we currently are busy with the 0.3-beta release. This is a feature that will probably see daylight in 0.5 or 0.6 version.
User avatar
ACX
RuneAudio co-founder
 
Posts: 1647
Joined: 29 Nov 2013, 02:25
Location: Udine, Italy

Re: Rune transmitter

Postby BorGreiner » 24 Nov 2014, 20:06

BUMP

Just expressing my joy for future implementation of synced multiroom solution. :)
BorGreiner
 
Posts: 36
Joined: 30 Oct 2014, 06:37

Re: Rune transmitter

Postby aj78 » 05 Jan 2015, 11:51

The option that would be lowest stress on CPUs would be to avoid doing anything with audio but to make the slave runeaudio devices look at the master device's Redis server (for file URLs etc) and control the slaves by having the master controlling their mpds over the network. This would get latency down to a few ms for a decent network setup, and would minimise CPU load and network traffic. There would be a few issues, for example not sure how shuffle would work, the master might have to send mpd commands at each song change.

But it's a very exciting sounding feature whichever way you accomplish it!
aj78
 
Posts: 51
Joined: 29 Oct 2014, 20:42

Re: Rune transmitter

Postby alienbob » 22 May 2015, 21:33

Runeadio Is an awesome product, something like this would be a real bonus.

Keep up the good work Runeaudio team, loving the sound!
alienbob
 
Posts: 5
Joined: 22 May 2015, 21:22

Re: Rune transmitter

Postby SamiJ » 19 Jun 2015, 18:05

Greetings from a very satisfied RuneAudio user - it's an awesome piece of software! 8-)

My RuneAudio setup consists of Rasberry Pi 2B and Hifiberry Digi+ connected to and amplifier, but I've also been dreaming of a possibility to expand the listening experience to another room. My knowledge is very limited what comes to software development, but just to give my humble two cents, i bumbed into this snapcast project that may be useful for implementing this feature: https://github.com/badaix/snapcast

I don't know how easily that one can be ported to ArchLinux, but it sounds like it can be pretty easily used to cast time synchronized stream from mpd output to multiple clients. I'm planning to test this on a debian based setup to see how well it works, but maybe some ArchLinux guru could get it also working with RuneAudio.

Anyways, I'm eagerly waiting the possible implementation of the multiroom audio feature too - thanks for your great work!
SamiJ
 
Posts: 1
Joined: 19 Jun 2015, 17:16

Re: Rune transmitter

Postby BadAix » 19 Sep 2015, 19:19

Hi,

I'm the developer of SnapCast. Due to this thread, I took the opportunity to support ArchLinux: this means the Readme https://github.com/badaix/snapcast/blob/master/README.md and the Makefile are updated, as well as support for systemd is added.
I'm running one Raspberry with Arch Linux as a SnapCast client in my daily home entertainment/development system. I must admit that I didn't try RuneAudio so far. My home server is Intel based, powered by Linux Mint and is running mpd. But in general SnapCast should work fine with RuneAudio.
In case of problems I'm happy to support. I guess RuneAudio and SnapCast is quite a cool combo!

BR,
Johannes
User avatar
BadAix
 
Posts: 3
Joined: 19 Sep 2015, 19:02

Re: Rune transmitter

Postby ACX » 20 Sep 2015, 10:18

BadAix wrote:Hi,

I'm the developer of SnapCast.

Hi BadAix, welcome to this forum :)
SnapCast seemed to me very interesting since I found out about it, but so far I hadn't the opportunity to test it. Now that you officially support Arch Linux I have no excuses anymore. I invite the other users in the forum to do the same and report some feedback.
Thank you for your interest in RuneAudio!
User avatar
ACX
RuneAudio co-founder
 
Posts: 1647
Joined: 29 Nov 2013, 02:25
Location: Udine, Italy

Re: Rune transmitter

Postby BorGreiner » 06 Oct 2015, 19:54

Ehem... https://github.com/badaix/snapcast

Shall I play with this or will this code be added soon? Oh... the sync magic via beutiful Rune Audio gui. Like... set one player to master and that sets all other on the same network to slave automaticaly? :D
BorGreiner
 
Posts: 36
Joined: 30 Oct 2014, 06:37

Re: Rune transmitter

Postby ringzer » 04 Jan 2016, 22:38

ACX wrote:I invite the other users in the forum to do the same and report some feedback.


I'm happy to take a look at this but wanted to make sure I'm understanding the required setup of using RuneAudo and SnapCast in parallel.

The following steps are those I intend to make, but if any are incorrect, please correct.

1. Use my current Raspberry Pi (RPi #1) running RuneAudio as the master
2. On RPi #1, follow setup of Snapcast https://github.com/badaix/snapcast/blob/master/README.md namely installing build dependencies
3. git pull Snapcast master onto RPi #1 and follow the "Installation from source" steps installing the SnapCast server on RPi #1 (I've never built on Linux before but presumably "pacman -S base-devel" will download the make command which when run will run the Makefile by default)
4. Modify RuneAudio /etc/mpd.conf on RPi #1 to output to /tmp/snapfifo as per the instructions
5. Install Raspian and Snapcast client on RPi #2 (according to https://volumio.org/forum/multiroom-audio-output-from-volumio-with-snapcast-t3217.html which should be very similar setup to RuneAudio)

The missing piece of the puzzle is how do I get the output on RPi #1 which is now /tmp/snapfifo to be played through the 3.5mm jack on RPi #1 and RPi #2.

Is it the case that Snapcast server on RPi #1 will take the /tmp/snapfifo and pipe it to the 3.5mm output on RPi #1?

And for RPi #2, the Snapcast client discovers the server as it is on the same network (as I dont see any mention of config to point the client to the server) and the client also pipes the /tmp/snapfifo on RPi #1 to the 3.5mm on RPi #2?

Any help would be greatly appreciated.
ringzer
 
Posts: 5
Joined: 28 Dec 2014, 13:27

support RuneAudio Donate with PayPal

Next

Return to Feature request

Who is online

Users browsing this forum: No registered users and 1 guest