[Jack-Devel] How to setup jack for transmission of audio from embedded system to jack equipped audio workstation?

PrevNext  Index
DateSat, 26 Oct 2013 00:12:16 +0200
From Wojciech Zabolotny <[hidden] at gmail dot com>
To[hidden] at lists dot jackaudio dot org
Hi,

I'm preparing a jack based wireless guitar system.
The previous solution was based on microcontroller,
dedicated radio link and receiver imitating USB audio card
( http://www.ise.pw.edu.pl/~wzab/wireless_guitar_system/ ).
In this solution I used "alsa_in" to synchronize the input stream
with the soundcard in the receiving audio workstation.

Upgrading my system I have decided to replace the microcontroller
based transmitter with dedicated radion link with an embedded system
equipped with the WiFi card, and use standard WiFi card as the
receiver in the audio workstation.
I have successfully implemented the driver for CS5343/4 ADC for the
ALSA SoC and packaged the jack2 for Buildroot.
( https://groups.google.com/forum/#!topic/comp.sys.raspberry-pi/EgQAQ0DNwN4 ,
  http://lists.busybox.net/pipermail/buildroot/2013-October/081087.html ),
so now I only need to integrate jack in the embedded system with jack in the
workstation.

And here I run into real problems.
I'd like to have the audio workstation initialized in such a way, that
jack is running, audio processing programs are also running and connected
to jack, and the system waits for connection of the embedded system
as an audio source.
So I have started jack with qjackctl on my workstation. Then I should to
create the audio input ports associated with the network server waiting
for data stream coming from my embedded system. However I couldn't find
any way to do it :-(.
I've tried "jack_load netmanager", but it didn't create any ports.
Adding the "-c" option didn't help
(load netmanager -i "-c").
So I've tried to run "jack netadapter", and it created additional
capture ports.
But now it is unclear for me, how to connect to it from my embedded sysitem,
because it seems, that now my audio workstation should be the slave...

When I start jack in my embedded system:
jackd -P41 -p512 -t10000 -dalsa -r48000 -p256 -n2 -Xseq  -Chw:0,0
jack_load netmanager -i "-c"

Nothing happens in the workstation. In the jack message window I can still see:
Ringbuffer automatic adaptative mode size = 1024 frames
NetAdapter started in sync mode without Master's transport sync.
Waiting for a master...

I don't know, is it possible to setup such a system with workstation
waiting for connection of the embedded system?
Should I use another protocol - e.g. netone?
Should I write my own application imitating "alsa_in" but using
the network connection?

I'll appreciate any suggestions, explanantions or hints.

TIA & Regards,
Wojtek
PrevNext  Index

1382739145.24975_0.ltw:2, <CAMduVEe4gdHQFFhHZm8i-=aW_T9FJsysGqZABopBJengw4QdkQ at mail dot gmail dot com>