3

I have this setup

enter image description here

The old HP server I'm using as a desktop, but it doesn't have audio hardware at all - nothing in the bios, nothing on the motherboard. I want all audio from any application to go out the audio jack on my raspberry pi, which is hooked to an amplifier.

That's all. I don't want a music server, or playlists, or to stream audio from my phone or run a dnla server or anything. Just an "external sound card".

I've read many descriptions of mpd and pulseaudio and mopidy and who knows what else. They talk about editing config files which don't exist, perhaps because they aren't written with raspbian 10 in mind?

what is the simplest way to achieve this setup?

3
  • 1
    I don't have a definitive answer to this, not having been able to try it in practice, but having been researching a similar problem myself, pulseaudio can be exported over the network (superuser.com/questions/231920/forwarding-audio-like-x-in-ssh) roughtly describes the process. JACK can be used over the network routing from or replacing pulseaudio on the server and replacing pulseaudio on the pi: jackaudio.org/faq/netjack.html or you could use something like roc roc-project.github.io Apr 26, 2020 at 20:08
  • When would I want to replace pulseaudio with jack or roc? Are they not all the same thing? I guess I don't really understand pulse audio fundamentally.
    – frumbert
    Apr 27, 2020 at 7:02
  • Pulseaudio and Jack are both programs that handle to problem of getting sound from the producing application to the output. The difference is philosophy, pulseaudio is designed to handle the common cases with minimal configuration. Jack provides significantly more capability to handle complex cases, at the cost of significantly more configuration. Roc is a protocol/implementation of said protocol for transmitting audio over the network, as pulseaudio and jack's protocols where not really designed for the issues of network transmission. Apr 27, 2020 at 10:19

2 Answers 2

3

I was able to use PulseAudio to route my audio to the RPi.

The superuser question linked by @user1937198 gave me a place to start, however I wasn't able to publish over ssh as suggested by the article because when I typed in ssh -R ... I was given the ssh usage help:

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
       [-D [bind_address:]port] [-E log_file] [-e escape_char]
       [-F configfile] [-I pkcs11] [-i identity_file]
       [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
       [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
       [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
       [user@]hostname [command]

... -R doesn't work on the box, and I didn't want to solve that problem right now. Later in the article it mentioned using avahi-daemon and pulseaudio-zeroconf, so I googled up this post on reddit which led me to this page on archlinux for PulseAudio, which is thoroughly confusing for me. I think the main problem was that the box where I want the sound to come from doesn't have any sound hardware, and the instructions are written as if I did have sound devices, so list different things.

I tried seeing what my audio card was using pactl info which gave me

Server String: /run/user/1000/pulse/native
Library Protocol Version: 32
Server Protocol Version: 32
Is Local: yes
Client Index: 14
Tile Size: 65472
User Name: tim
Host Name: shed
Server Name: pulseaudio
Server Version: 11.1
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: auto_null
Default Source: auto_null.monitor
Cookie: b8fd:27d4

In the end I did these steps on the HP (audio source):

  1. ran sudo apt install pavucontrol
  2. ran sudo apt install pulseaudio-module-zeroconf
  3. edited /etc/pulse/default.pa and uncommented all the lines that load the zeroconf modules. I probably only needed to uncomment one of the modules, but I wasnt sure which one so I just did them all.
  4. Rebooted this machine.

On the RPi (audio output) I did:

  1. ran sudo apt install paprefs
  2. ran paprefs
  3. went to 'network server' tab, then ticked 'enable' and 'allow others' and 'dont require authentication'
  4. rebooted this machine

This initially did nothing, so I threw my hands in the air and walked away for an hour.

Then the audio started being piped from ElementryOS to Raspbian all on its own. I think the most important step here happened by leaving it for a bit so zeroconf could figure itself out.

I now have audio. It's a bit choppy at times but it's better than nothing at all. Hope some of this makes sense to a future reader!

1
  • Please accept your own answer with a click on the tick on its left side. Only this will finish the question and it will not pop up again year for year.
    – Ingo
    May 1, 2020 at 8:13
0

I want all audio from any application to go out the audio jack on my raspberry pi, which is hooked to an amplifier. That's all.

On my Raspberry Pi 4B with a fresh flashed Raspbian Buster Light this is working out of the box. I plugged in a headphone into the audio jack and downloaded a small test audio file:

rpi ~$ curl -o working.wav http://hoeft-online.de/working.wav

Then I played it with:

rpi ~$ aplay working.wav

and I hear that it is working.

be sure that in /boot/config.txt by default is

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
5
  • 1
    The question is not about playing things on the pi, but on streaming audio to it. Apr 26, 2020 at 19:13
  • @user1937198 Please read my answer carefully. To be clear I have explicitly quoted what the OP want to have and that is answered. There is nothing said about streaming. Anyway, it should also be able to redirect a stream to the working output on the audio jack.
    – Ingo
    Apr 27, 2020 at 8:03
  • The question says any application running on the server, not on the pi. Thats what I meant by streaming. Apr 27, 2020 at 10:13
  • @user1937198 Can you please qoute the question saying that?
    – Ingo
    Apr 27, 2020 at 10:20
  • external sound card, that implies from the server to me, especially when combined with the earlier discussion about the servers audio capabilities. Apr 27, 2020 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.