discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] VRAudioSource question (was Parallel Port Interfa


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] VRAudioSource question (was Parallel Port Interface)
Date: Mon, 3 Mar 2003 17:03:44 -0800
User-agent: Mutt/1.4i

On Mon, Mar 03, 2003 at 03:39:13PM -0800, Ettus, Matt wrote:
> > My understanding is that VrAudioSource is not able to handle I&Q input
> > from a sound card. However, some appropriate changes in 
> > VrAudioSource.h 
> > would solve the problem, adding support for VrComplex oType.
> > Matt, could you confirm?
> 
> You need to use GrAudioSource.  There will be 2 outputs, one for the left
> channel, one for the right, both in char, short, or int format.  You'll need
> to convert to a complex number if that is what you want.  I think I have
> some example code at home, and will try to send it out tonight.
> 
> You should also use GrAudioSink for the corresponding output.  It will
> actually take a VrComplex input.
> 
> Matt

I think that the entire AudioSource / AudioSink issue needs to be
revisited (again).  My general thought is to have them produce or
consume streams of floats or complexes, scaled to a maximum range of
+/- 1.0

This would allow applications to transparently take advantage of
sounds cards with more than 16-bits of resolution.  I.e., no matter
how many bits of input or output the card dealt with (at least up to
24, the size of the IEEE single precision mantissa), the high level
interface would be floats (or complexes) in the range [-1.0, 1.0]

Given the very low data rate though the sound cards, the overhead of
scaling and conversion to and from floating point will be insignificant.

It would also remove additional bogus template code.

I propose:

  GrNewAudioSinkF which would accept 1 or 2 stream of floats.
  GrNewAudioSinkC which would accept 1 stream of VrComplexes

  GrNewAudioSourceF1 which would produce 1 stream of floats.
  GrNewAudioSourceF2 which would produce 2 streams of floats.
  GrNewAudioSourceC which would produce 1 stream of VrComplex.

Please, any one who's motivated, please dive in.  Send in the patches,
and I'll apply them.

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]