It has been a few weeks since my last update about the IC-706 remote rig project so here is a new one.
audio
The Beaglebone White, DVI-D with Audio cape and official Debian images
A lot has happened since the original Beaglebone White and the original DVI-D with Audio cape have been released. The Ångstrom distribution has been ditched and Robert C. Nelson produces Debian-based images and kernel updates at an impressive pace. Clearly, the primary focus is on the Beaglebone Black and while compatibility with Beaglebone White is also maintained, some of the capes are no longer supported, probably because they are not compatible with the Beaglebone Black.
Gqrx on Mac OS X (almost)
Few weeks ago, or maybe a month or two – I don’t remember, I spent an afternoon trying to build gnuradio-core and gr-audio on Mac OS X without using any macports. It was a casual an undocumented attempt that resulted in a compilation failure. I wasn’t surprised because I made several mistakes along the way, so I just left it an moved on.
Qtmm soundcard modem for decoding AFSK1200
Last week I started on a new experiment trying to integrate the AFSK1200 demodulator code from multimon into a simple Qt-based graphical application. This experiment had two objectives:
- Test the feasibility of integrating the AFSK1200 demodulator from multimon into other applications.
- Try using the QAudio framework from Qt for audio I/O that should work on both Linux, Windows and Mac OS X.
A patch to fix audio_alsa_sink[hw:0,0]: snd_pcm_hw_params failed
Last night, while I was preparing for the AMSAT-OZ satellite weekend, I noticed that my gqrx receiver didn’t work very well on my laptops. Every time I tried to change operating mode the receiver stopped with a runtime error:
audio_alsa_sink[hw:0,0]: snd_pcm_hw_params failed: File descriptor in bad state
terminate called after throwing an instance of 'std::runtime_error'
what(): check topology failed on audio_alsa_sink(1) using ninputs=1, noutputs=0
This happened on both my Acer and my MacBook Pro; both running the lates git of GNU Radio v3.3.1git-96-g1fa9a8ea. This was bad news because I was hoping to show off my new software receiver with Qt GUI during the weekend. Fortunately, there is an easy workaround that eliminates the problem.
Pulseaudio device names
Recording audio with gstreamer is easy:
gst-launch -e pulsesrc ! audioconvert ! \
lamemp3enc target=1 bitrate=64 cbr=true ! \
filesink location=audio.mp3
The pulsesrc element here refers to the pulseaudio input (pulseaudio is AFAIK the default sound system in all linux distributions nowadays). This is good and will capture audio from the default sound input, which can be microphone or line-in depending on the hardware and the pulseaudio configuration.
But what if I plug in my USB webcam with built-in microphone and I want to capture audio from that?
A Weekend with GStreamer
This weekend was dedicated to learning and experimenting with Gstreamer – an open source library and framework for constructing audio and video processing pipelines. Despite the weekend being spoiled by lots of bad luck (power outages, Internet down, etc.) I managed to beat the hell out of Murphy and get some work done!
My hidden agenda is of course finding a good audio/video library to accompany a software defined radio created using GNU Radio and the Universal Software Radio Peripheral (USRP), and to eventually be able to transmit real time high definition video over the air. While GNU Radio and the USRP can take care of everything related to software radio and RF, I am still looking for a good framework for flexible audio/video processing.
A Weekend with GStreamer
This weekend was dedicated to learning and experimenting with Gstreamer – an open source library and framework for constructing audio and video processing pipelines. Despite the weekend being spoiled by lots of bad luck (power outages, Internet down, etc.) I managed to beat the hell out of Murphy and get some work done!
My hidden agenda is of course finding a good audio/video library to accompany a software defined radio created using GNU Radio and the Universal Software Radio Peripheral (USRP), and to eventually be able to transmit real time high definition video over the air. While GNU Radio and the USRP can take care of everything related to software radio and RF, I am still looking for a good framework for flexible audio/video processing.