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
_______________________________________________
PLUG: https://pdxlinux.org
PLUG mailing list
[email protected]
http://lists.pdxlinux.org/mailman/listinfo/plug