Using GNU radio to generate audio signals

In our research lab we generate a variety of audio signals to study
auditory perception. These signals include pure tones (ramped on/off
by cosine squared envelopes), amplitude-modulated noise, sequences of
signals (noise followed by a tone, etc.), band-limited noise, etc.

Once we generate the waveform, we upload it to an external hardware
device that plays the signal out to a speaker.

GNU radio seems like a very interesting project because it looks like
it can generate a continuous waveform as a series of frames which we
could then upload to the external device. If I understand GNU radio
correctly, this would allow us to fine-tune the output signal in
real-time (e.g. adjust modulation frequency, etc) and the next frame
would have the updated signal (rather than having to recompute the
entire waveform).

Does this sound like a reasonable use case for GNU radio? Would we be
able to grab the output of the block “chain” and upload it to the
hardware ourselves? It looks like using a vector sink may work for
that purpose.

Thanks,
Brad B.
Postdoctoral Fellow
Center for Neural Science
New York University

On Tue, Jun 8, 2010 at 2:59 PM, Brad B. [email protected] wrote:

could then upload to the external device. If I understand GNU radio
Thanks,
Brad B.
Postdoctoral Fellow
Center for Neural Science
New York University

Brad,
Yes, GNU Radio should work well for your purposes. The vector_sink
would work, but that’s usually not recommended for full-blown
applications; we usually use it for testing. You could generate the
signal and save it to a file, then replay the file through your
hardware. There are other solutions we could discuss, too, that could
allow you to talk directly to your hardware.

Tom