[PLUG] Help with Jack, Alsa, and Pulse sound issue

Mark Allyn allyn at well.com
Wed Aug 12 16:54:43 UTC 2020


Folks:

Please bear with me as this is a bit of a strange thing that I am trying to do (perhaps too strange and I will accept that verdict).

I have a server on the cloud (a Linode VPS server) that has not audio nor video device. It's just a server. I have root access to that server.

I am trying to sell the use of Jamulus to our choir. For those of you who don't know, Jamulus is a software that enables near real time music jamming and rehearsing. It has far lower latency than Zoom or even Jitsi. It also allows you to have more than one person talking, playing an instrument, or singing at the same time, unlike Zoom.

It is a very lightweight client server software. I use it on my PC here at the house with no problem and I have set up a server, also on the cloud, at a Vultr VPS server in Seattle. No problem.

The issue is that I have been asked to feed the Jamulus client audio into a Zoom session because some choir members do not have a wired connection (only WIFI) available in their homes (some apartment buildings are notorious for this).

I could have done this feed using my own computer here at home, but my Internet connection may not be able to handle the load.

So I figure to use vncserver on the VPS server and run both Jamulus client and a web browser on the Linode server. 

I have come to find that Jamulus requires Jackd, as it does not recognize Pulse. I have also realized that Chrome does not recognize Jackd, but seems to work okay with Pulse.

I was able to get Alsa up and running with a loopback virtual device (aloop). I was able to get Jackd running after installing the following additional packages on the Linode server (which is running Ubuntu 18.04):

apt-get install alsa-tools
apt-get install alsa-utils
apt-get install qjackctl pulseaudio-module-jack

apt-get install alsa-base
apt-get install libasound2

apt-get install tightvncserver
apt-get install -y xfce4 xfce4-goodies
apt-get install -y xubuntu-core^

I have no problems at all with the vncserver; that's no issue.

I have added my user account to the audio group, so I can run aplay and alsamixer with no problem.

My alsa.conf file (in modprobe) is:

alias and-card-0 snd-aloop
options snd-aloop index=0 pcm_substreams=8


My modules.conf file is:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
snd-aloop


My .asoundrc file is:

======================================================================
# playback PCM device: using loopback subdevice 0,0
pcm.amix {
  type dmix
  ipc_key 219345
  slave.pcm "hw:Loopback,0,0"
}

# capture PCM device: using loopback subdevice 0,1
pcm.asnoop {
  type dsnoop
  ipc_key 219346
  slave.pcm "hw:Loopback,0,1"
}

# duplex device combining our PCM devices defined above
pcm.aduplex {
  type asym
  playback.pcm "amix"
  capture.pcm "asnoop"
}

# ------------------------------------------------------
# for jack alsa_in and alsa_out: looped-back signal at other ends
pcm.ploop {
  type plug
  slave.pcm "hw:Loopback,1,1"
}

pcm.cloop {
  type dsnoop
  ipc_key 219348
  slave.pcm "hw:Loopback,1,0"
}

# ------------------------------------------------------
# default device

pcm.!default {
  type plug
  slave.pcm "aduplex"
}
=========================================================================

I start up jackd with -d alsa and it does start. The Qjackctl command's mapping show that Jamulus is patched to system.

However, when I start up pavucontrol, I can see there is no audio coming from system sound.

I can see audio on the vu meters on my jamulus client, but I don't know how to trace the sound through alsa, jack, and pulse; I am not familiar with probing the Linux sound paths.

When I do an aplay, I do see the loop device and when I do alsamixer, I do see one slider for the loop and it's all the way up.

Since I saw no activity on pavucontrol, I have not even bothered to bring up the chrome browser.

I am wondering, is this something that I should be able to do at all?

If not, and I am totally barking up the wrong tree, then I can tell my customer that this is a no go and that we would have to do something else.

Thank you all for your help!

Mark Allyn
Bellingham, Washington
IT & Sound for Bellingham Unitarian Fellowship





-- 
Mark Allyn
Bellingham, Washington
www.allyn.com



More information about the PLUG mailing list