Gang, You will find at savannah a new GNU Radio module: gr-audio-jack. This is both source and sink modules for JACK http://jackit.sourceforge.net. The JACK Audio Connection Kit is a low-latency sound server. JACK allows the connection of multiple applications to an audio device, as well as allowing them to share audio between themselves. It shows handy when you were connecting previously an external patch cord between the line-out and line-in of your sound card. With JACK, this is all done by software.
To initally check it out: $ cvs -z3 -d:ext:[EMAIL PROTECTED]:/cvsroot/gnuradio co -P gr-audio-jack It has been tested with libjack-0.100 under Debian, with a USRP/TVRX. There's a screenshot here http://f8cfe.free.fr/ham/gnuradio/jack_wfm.png Here was the plumbing: tvrx_wfm_rcv_gui.py (tuned to Canal B FM 94.0MHz) gr_sink | v copy_in audio_copy.py -i copy_in -o copy_out copy_out / \ | | v v alsa_pcm:playback_1 alsa_pcm:playback_2 jackd jackd tvrx_wfm_rcv_gui.py was modified to use the audio_jack sink. audio_copy.py was modified to use an audio_jack sink/source. audio_copy.py was inserted just to exercice the audio_jack source. The copy_out(mono) is connected to both playback_1&playback_2, because alsa_pcm is a stereo device. Just for the fun of it, I've added a Digital peak/Vu meter with the following commands: "meterbridge -t dpm gr_sink:out" and "meterbridge -t vu gr_sink:out" (from the meterbridge package http://plugin.org.uk/meterbridge/). So this adds gr_sink:out->meterbridge-13207 and ->meterbridge-13723. JACK design is really nice. I recommand you to have a peek at it. In the previous example, the patch bay is provided by qjackctl. The only big drawback of JACK is that the sampling freq is fixed within its domain (32kHz here, can be anything else). It is possible to have more than one jackd running in parallel though. One of my goal behind this gr-audio-jack module, is to be able to feed legacy non-GNU Radio applications like gmfsk, Dream DRM receiver, DttSP, etc., with signals from GNU Radio USRP. For that matter, I will need a resampler. Can anyone recommand me a gr block to resample, say, from 64kS/s to 48kS/s or directly the usrp source at 512kS/s to 48kS/s ? Is the gr_rational_resampler finished? IMHO, JACK enables interesting features, like being able to put a patch cord somewhere in the flow graph for running a scope, without having to change the source code of the running application. I'd love to see that in GNU Radio. To be able to do that, we would need the Python flowgraph to export its interface to other processes through RPC (SUN's, IPC, sockets, pipes, etc.). To begin with, returning the current flowgraph hierarchy and being able to make connections would be nice. With proprer dressing, this would enable interface GNU Radio API from Python/C++/etc.. Cheers -- Stephane _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
