On 18/04/2020 07:59, drew Roberts wrote:
we are experimenting with doing remote voice tracking
for Rivendell.
I have a test setup that is as close to my planned deployment setup as
I can get right now:
A Rivendell box running centos 7 and rivendell 3.2.1
A Raspberry Pi4 running Raspbian GNU/Linux 10
They are on the same switch very near each other and are connected
together audio wise like this:
Riv box onboard sound card
Pi4 usb UCA 222 wired up inputs to outputs
The Riv box is configured to use the alsa driver as the input and
output for rdlogedit.
The Pi is running jack using the dummy driver and zita bridges for the
uca 222. (IIRC, I tried direct use of the USB codec and had more issues)
Jack Mixer is running to do routing and amplification as needed.
I could not find a voip phone that would work with jack so I am using
linphone with the pulseaudio-module-jack.
Using ssh tunnels with port forwarding to get toe the desktops of the
Pi and the Riv box.
After making all of the needed connections in the jack graph on the pi
4 and setting the linphone on the pi 4 to auto answer, we have a
working "system"
vnc to the Riv box (and the Pi if you like or want to tune volumes)
and bring up rdlogedit. Choose a lof that needs voice tracking and
click the button.
Dial the number/account for the liniphone on the pi4.
Start voice tracking. it works. (Mostly good enough. Latency wise. You
can slide things around to adjust. It is not bad.) it is the quality
of the vocal that out "ears" guy is not fully satisfied with. It will
do in a pinch but we would like to achieve better if we can get close
to the same latency with openob.
Moved on to try and replace the linphone link with a 2 way openob link
over openvpn. Latency was much worse and sound was "breaking up"...
I may have had problems with how I brought up the links.
The Pi4 may have been causing issues.
My network may have been less than perfect... ~;-)
Decided to move the testing location to the real location which is on
business fiber and not a home cable modem. Nook takes the place of the
PI4. Riv server is there but the nook and hte riv box are not wired up
to allow for the full test. I think I can fake enough on the nook to
get a decent test though.
On the far end, (same location) instead of a linphone call from a mac,
we have jack and openob on another nook running openvpn.
First the nook next to the Riv Box:
obuser@obstl01:~$ ps ax | grep openob
10773 pts/15 SLl+ 23:09 /usr/bin/python3 /usr/local/bin/openob
10.8.0.1 ntest-rx-node rem2shk-link rx -a jack -jn openobshackrx -aj
-jp jack_mixer:frmShk
10784 pts/7 SLl+ 35:25 /usr/bin/python3 /usr/local/bin/openob
10.8.0.1 stest-tx-node shk2rem-link tx -a jack -jn openobshacktx -aj
-aj -jp jack_mixer: 10.8.0.4 --framesize 2 -j 10 --fec -b128
Now the nook at the "remote" site:
obuser@obstl02:~$ ps ax | grep openob
8769 pts/2 SLl+ 62:32 /usr/bin/python3 /usr/local/bin/openob
10.8.0.1 ntest-rx-node shk2rem-link rx -a jack -jn openobnookrx -aj
-jp jack_mixer:frmShk
10740 pts/6 SLl+ 43:10 /usr/bin/python3 /usr/local/bin/openob
10.8.0.1 ntest-tx-node rem2shk-link tx -a jack -jn openobnooktx -aj
-jp jack_mixer:toShk 10.8.0.1 -e opus -b128 --framesize 2 -j 10 --fec
Could not get good latency. Help. I have reduced my frames per period
on both sides to see if that helps but have not been able to retest
yet. Does anyone see any glaring problems in my openob invocations at
each end? Should I reduce the quality of the Music link as that does
not matter so much for this application and leave the quality of the
vocal link higher as that is the point of trying this versus linphone?
Any other thoughts?
Does openob keep statistics on itself and its links in the redis
server and if so, can we get reports of the situation?
Lots of stuff in there...
:-)
If you have a spare PC it maybe worth installing Linux and openob on it
and use that instead of the RPI, it would remove the pi as being the issue.
We run RadioDJ (about 7 now with home based presenters) 3 in studio and
4 OB, all the OB's are connected via openvpn and running openob to send
audio back to the studio.
One crappy old box does the receiving (that worries me a bit)
Also have an openob as an STL to our remote 2nd FM transmitter all of
this is running on £35-£50 old sff desktop hardware and a bloody great
HP Proliant DL360 G7
It just sits there and does its thing, we do get the occasional glitch
but I put that down to home internet connection...
Our remote presenter path looks like
W10 - RadioDJ
Mixer - to mix audio path
Linux - openob tx
Inet - to studio
Linux - openob rx
Kramer audio switch - allows remote switching of audio source
compressor
Audio splitter
* To local FM transmitter via 2 leg wifi hop over sonifex audio
streamer (would use openob but these were already there)
* To Bloody great Proliant that does silence detection, icecast,
openob tx STL and ROT
* To local studio monitors
inet - to remote FM trx and online stream
wifi link from my house to transmission mast 2 miles away
Linux - openob rx
RDS encoder
FM transmitter
Inet stream has about 30 second delay, FM is hardly noticeable when we
swap studios
Basic diagnose... break things into smaller chunks and see where the
problem lies.
Also have jack_capture and njconnect installed on the openob nodes so
that I can see what is happening
--
Mike Phillips
Coast FM.