Second input for MPD?

Status
Not open for further replies.
I have been using an OrangePi for quite some time to play my collection of files through my main systems. Recently, my wife has asked if it is possible to stream from a website through our "big system".


While I'm pretty good at basic stuff, this is a bit more esoteric than I can quickly arrange for her. I'm thinking to add an input to MPD, perhaps a socket that one of our desktop systems can talk to, or perhaps run a browser on the Pi, and show that on our desktop systems.... The Pi is headless, and keyboard-less, so just running the browser there isn't an option.


I am open to any thoughts! Thanks!
 
My GSASysCon software might be able to work for you. It can select between inputs like a preamp, wherein those inputs are anything accessible from Gstreamer, including but not limited to local inputs (e.g. ALSA cards), and streams of a wide array of formats like HTTP, RTP, etc. You is to have your Windows PC stream to a port on the Pi where GSASysCon can access it.

GSASysCon is also a LADSPA host, so you can implement your crossover with it, too.

The interface for GSASysCon is a texed based one. But it's "multi-console", meaning you can have multiple interfaces open at the same time and they update each other at some desired interval, e.g. 20 seconds or whatever you choose. Also, you can use SSH or any other software than can open a terminal on the Pi to control GSASysCon. I did this from a cheap tablet, from which I could control inputs/outputs and volume, as well as run an MPD client for track selection. The latest version also includes volume control of ALSA controls.

Drop me a line if you are interested.

Also, that SCREAM software uses multicast. I have had problems where multicast streams would not work over wireless internet in my home. I would use SCREAMs unicast mode and send it directly to a port on the Pi. This has worked for me in the past very well.
 
Last edited:
How do you make windows stream its audio-subsystem output over network, available to any windows app? That is the main problem, IMO. Once the samples arrive at linux, there are many ways to handle them.

Not sure about streaming to "any available windows app". Is that relevant to jplesset's needs? I think his main active loudspeaker system runs off of a Pi, so getting the audio to the Pi is really all that is needed as long as software on the Pi can take it from there.

This sounds very close to what I was doing before I moved last year except in reverse. I had a single source and streamed it to a number of headless linux clients where the stream was received, split into channels, DSP applied, and then routed to amps and speaker drivers. I could walk from system to system with my tablet - it had remote interfaces to the software controlling the sources and which system was being streamed to.

Since then I made some re-writes to the code that allow the "preamp" type operation that jplesset is interested in. In that mode, multiple sources are selected from and then sent out to a local playback system.
 
I do not know what his wife wants, but I would not be suprised if it did not differ from my wife's needs - routing the music to the main speaker system. Be it from web (currently played youtube video), music track received over email, online music databases (spotify etc), music generated from midi (musescore in case of my wife), etc. Fortunately she is using linux so I am playing with network pulseaudio. If she were using windows, only some kind of network soundcard would help. Exactly what that guy from github link is working on.
 
Last edited:
I will definitely be interested in your results. This requirement is quite common and I have not seen it solved yet (apart of apple airplay). Network uncompressed PA over wifi with hugely deviating latencies (lots of APs tried) has not been a success either, maybe requires a newer PA version unavailable for older installations of our home notebooks. But that is not for windows either (I assume).
 
There is a pulse audio for windows. Not sure if it includes streaming or not.

WLstream might be worth a look:
GitHub - rsegecin/WLStream: Stream audio from a Windows output device to be captured on a Linux host.

Phofman, you might want to take a look at Airfoil to stream to network endpoints:
Rogue Amoeba | Airfoil: Wireless audio around your house
I used this for a time with some hardware stream receivers but they could not be synchronized to each other better than a couple of seconds apart so I gave up on them. But otherwise it was a nice solution.
 
There is a pulse audio for windows.

Yes, but I am not sure it can work as a sink for general audio clients/players. IMO it is itself a client (source) for the windows sound subsystem.



Interesting, thanks. Similar to Scream.

Airfoil to stream to network endpoints:
Rogue Amoeba | Airfoil: Wireless audio around your house
I used this for a time with some hardware stream receivers but they could not be synchronized to each other better than a couple of seconds apart so I gave up on them. But otherwise it was a nice solution.

Thanks for the hint. Looks like apple airplay + pulseaudio combined.
 
Another possibility for jrubins is to set up a DNLA or UPnP renderer on the Pi. This should show up on the network as an endpoint, and then one could play content from phones or computers to it.

There are not too many options, but one is GMrender-resurrect:
GitHub - hzeller/gmrender-resurrect: Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.
It's based on Gstreamer (no surprise). I wonder if I can implement the same sort of thing within GSASysCon, since the user is free (and must) write the Gstreamer elements that describe the system input. In this way I left the possibilities open to allow any and all Gstreamer input sources.
 
Status
Not open for further replies.