AnsweredAssumed Answered

BF548 Audio signal processing (AD1980 Callback)

Question asked by Doriya on Jul 30, 2009
Latest reply on Nov 6, 2009 by tarzandavid
Branched to a new discussion

Hi,

 

I'm currently trying to extract audio input data, perform some signal processing, and output something at the end. (Much like the talkthrough on the 533 boards).

 

I have been using the audio loopback project to attempt this, and for starters, I've tried something very simple: Set all left audio out to zero. (Just to make sure I am actually able to manipulate the data somehow).

 

In regards to the code, this is what I've done:

            /* copy the source (ADC) data to DAC channels */
            for (i = 0;i < (BUFFER_SIZE_PER_CHANNEL * NUM_ADC_CHANNELS); i++)
            {
                /* copy ADC left channel data to PCM out Left */
                *(pDest+(NUM_DAC_CHANNELS*i))    = 0;
                /* copy ADC right channel data to PCM out right */
                *(pDest+1+(NUM_DAC_CHANNELS*i)) = *(pSrc+1+(NUM_ADC_CHANNELS*i));

 

However, this does not silence the left output at all.  I am very confused, am I doing something wrong? Or have I modified the whole thing incorrectly?

 

I've also noticed that after I press PB4 (to terminate the program), it says "Done!", but audio is still coming in and going out.

 

Other than what I've written above, I have not changed the program.

 

I realise it is only a basic operation I am trying to achieve at the moment, but I want to take it one step at a time.  It will get much more difficult in the future (planning to write functions which will process a 2 second audio input, and analyse the data, to detect speech), so if you guys could help me get over this hurdle, that'd be great.

 

Cheers,

D.

 

Additional information: Using VisualDSP+++ V5 (with update 6 applied).

File edited is Audio_Loopback.c

Codec: ad1980

Outcomes