Hello Everyone, I am frantically rushing to get GNU Radio to 'play nice' with foxtelem. I'm running all linux here. I'm hoping someone can maybe throw me a few pointers on getting the fox telem software to work with external SDR applications. I'm attempting to pipe signals from GNU Radio in three ways, all met with failure:
First is by running an FM receiver flowgraph and then trying to pipe the audio out via a Linux FIFO using the 'Wav File Sink' block in GR. I point the SDR flowgraph to my pipe, and then I point the FoxTelem software to the same pipe and fire the programs up. I've successfully used this method in the past to feed a sound streaming application that "thinks" is reading from a standard wav file, but is actually the GR flowgraph audio output. GNU Radio seems to run for a second or two (probably the amount of time it takes to fill the buffer) then the Fox Telem Software crashes with exceptions:
'javax.sound.sampled.UnsupportedAudioFileException: could not get the audio input stream from input file.'
In gnu radio I'm using the wav file sink with a single port and sample rate of 48k and 16bits. This "appears" to match what FoxTelem is expecting, but I'm getting the crashes.
An alternative method I'm attempting is to use a standard audio sink in gnuradio (I can hear the audio on my laptop speakers) and then try to pipe that into the fox sw with a virtual audio cable. I'm attempting to use JACK and qjackctl, but I have little experience with this and so far have failed to get it to do anything other than listen to the soundcard mic and line in ports. If someone knows of a simple to use Virtual Audio Cable for Linux so that I can pipe the audio via the sound card that would be great and I can give that a go.
The third method I'm trying to get working is by placing the fox sw in IQ mode and again attempting to use a 'wave file source' in foxtelem pointed at a FIFO to pipe the IQ data from GNU radio into foxtelem. again I get the exception mentioned above. This would be the preferred method in my case over the audio piping. If someone has any experience with this that would be great. For those familiar with GNU Radio I'm taking the complex stream (250ksps), reesampling to 192ksps, converting to float, then taking the real and complex streams and feeding them into a 'Wav file sink' with TWO ports pointed at the fifo, again with 16 bit depth and set to 192ksps. Foxtelem is looking for a wav file at 192ksps. I'm hoping the two port file sink allows I data on the right channel (in0) and Q data on the left channel (in1).
Any and all pointers would be welcome.
Thanks, Zach, KJ4QLP
El 08/10/15 a las 18:20, Zach Leffke escribió:
If someone knows of a simple to use Virtual Audio Cable for Linux so that I can pipe the audio via the sound card that would be great and I can give that a go.
Hi Zach,
I use pulseaudio as a sort of virtual audio cable. You just have to add a null sink and set gnuradio to play audio to the null sink (using pavucontrol). Then you set foxtelem to record from the "null sink monitor" (again using pavucontrol).
For me this solution, although not perfect in terms of latency and resampling, works perfectly for easily piping the audio from one program to another.
73,
Dani M/EA4GPZ.
Thanks I'll look into it, I'm falling down and ALSA/JACK rabbit hole at the moment, and about to try to climb out and give pulseaudio a shot.
I appreciate all the feedback.
-Zach
On 10/08/2015 03:07 PM, Daniel Estévez wrote:
El 08/10/15 a las 18:20, Zach Leffke escribió:
If someone knows of a simple to use Virtual Audio Cable for Linux so that I can pipe the audio via the sound card that would be great and I can give that a go.
Hi Zach,
I use pulseaudio as a sort of virtual audio cable. You just have to add a null sink and set gnuradio to play audio to the null sink (using pavucontrol). Then you set foxtelem to record from the "null sink monitor" (again using pavucontrol).
For me this solution, although not perfect in terms of latency and resampling, works perfectly for easily piping the audio from one program to another.
73,
Dani M/EA4GPZ.
Sent via AMSAT-BB@amsat.org. AMSAT-NA makes this open forum available to all interested persons worldwide without requiring membership. Opinions expressed are solely those of the author, and do not reflect the official views of AMSAT-NA. Not an AMSAT-NA member? Join now to support the amateur satellite program! Subscription settings: http://www.amsat.org/mailman/listinfo/amsat-bb
Daniel, Just wanted to let you know the pulseaudio/pavucontrol method worked like a charm. So I *think* I've got everything sorted here for GNU Radio + FoxTelem for the 1948-ish Pass over Eastern US. Only variation is I'm using a standard audio sink instead of null sink.
One day I'll try to sort the IQ stream method instead of audio, but i'll shelve that one for now.
thanks a bunch!
-Zach, KJ4QLP
On 10/08/2015 03:07 PM, Daniel Estévez wrote:
El 08/10/15 a las 18:20, Zach Leffke escribió:
If someone knows of a simple to use Virtual Audio Cable for Linux so that I can pipe the audio via the sound card that would be great and I can give that a go.
Hi Zach,
I use pulseaudio as a sort of virtual audio cable. You just have to add a null sink and set gnuradio to play audio to the null sink (using pavucontrol). Then you set foxtelem to record from the "null sink monitor" (again using pavucontrol).
For me this solution, although not perfect in terms of latency and resampling, works perfectly for easily piping the audio from one program to another.
73,
Dani M/EA4GPZ.
Sent via AMSAT-BB@amsat.org. AMSAT-NA makes this open forum available to all interested persons worldwide without requiring membership. Opinions expressed are solely those of the author, and do not reflect the official views of AMSAT-NA. Not an AMSAT-NA member? Join now to support the amateur satellite program! Subscription settings: http://www.amsat.org/mailman/listinfo/amsat-bb
participants (2)
-
Daniel Estévez
-
Zach Leffke