Reply by umer...@yahoo.com October 19, 20062006-10-19
Jeff-
Sorry I was out of town so didn't respond you timely
No it is not working....even after outptr=1.....now what to do. Ok just ell me is there any other way..or how can we improve it...what is the purpose of software delay loop...can't we use it? Ok what to do next?

Umer-
>
>It was pointed out to me that outptr should be initialized to 1 to get the
>full 4 sec delay:
>
> inptr = 0;
> outptr = 1;
>
>Let me know if it works, or at least gets you closer.
>
>-Jeff
>
>---------------------------- Original Message ----------------------------
>Subject: Re: [c55x] Re: Re: query regarding interfacing of ADC/DAC for
>speech i/p and o/p From: "Jeff Brower"
>Date: Thu, October 12, 2006 7:18 pm
>To: "Umer Khan"
>Cc: c...
>--
>
>Umer-
>> I couldn't get your second hint related to single circular ....I/O
>pointer shifted tio each others.So far as your point of not debugging my
>assignment is concerned, let me tell you that after this preliminay set
>up (just to verify the correct working of DSK's CODEC) I have to undergo
>a detailed course of DSP alongwith DSK training. So plz change your mind
>that i am getting my assignment done from you. If you dont help me I
>will do it after 6 months. I just want to show it to my advisor.
>Otherwise i will just show him the loopback working. I was trying to
>show him a good piece of work by looping it back after some seconds.
>Also I have the Java experiance not for C.So I would be happy if you
>help me getting it done. Otherwise no prob.,,,
>
>Ok ok... something like the code example below. For a sampling rate of 8
>kHz, output will be delayed from input by 4 sec. I only stored left
>channel. I didn't test the code.
>
>-Jeff
>define #BUFLEN 16384 /* must be power of 2 */
>short left, right, inptr, outptr;
>short buf[BUFLEN];
>
> inptr = 0;
> outptr = BUFLEN-1;
>
> while (TRUE) {
>
> while (!DSK5510_AIC23_read16(hCodec, &left));
> while (!DSK5510_AIC23_read16(hCodec, &right));
>
> buf[inptr++] = left;
> inptr &= BUFLEN-1;
>
> left = buf[outptr++];
> outptr &= BUFLEN-1;
>
> while(!DSK5510_AIC23_write16(hCodec, left));
> while(!DSK5510_AIC23_write16(hCodec, right));
> }
>
>> Jeff Brower wrote:
>>
>> Umer-
>>
>> > Thanks for ur reply. The code snippet that u have mentioned (i.e.
>loopback) is already working and i hav already tried it out. But
>I just
>>
>> > want to store the audio input in some buffer array or any thing
>else.
>> And
>> > then I want to loop it back after sometime (in seconds just like
>after introducing some delay). Please look in to my code to
>understand wht i am trying to do. This is my first assignment to
>configure DSK and a preliminary demo (abt which my question is).
>After that i will start learning DSP concepts and tutorials and
>manuals of CCS. So kindly help me to get this first step.
>>
>> I know what you're trying to do, and I know what's wrong with your
>code. But I'm not
>> going to debug your assignment for you.
>>
>> The point of my reply is to show that you are assuming too many
>steps between the
>> initial working code, and your objective -- which is a typical
>student error. If you
>> go carefully, step-by-step, then you can figure it out. I'll give
>you 2 hints: a)
>> don't make separate for-loops, and b) use a single, circular buffer
>with input and
>> output pointers shifted from each other.
>>
>> Good luck!
>>
>> -Jeff
>>
>> > Umer-
>> > >
>> > > > So did u find answer to your query? I am really a new comer in
>DSP domain and unknown to working C5510 in detail. I want to
>read audio input from mic and store it.Then i want to play it
>back to headphone.
>> > > >
>> > > > This is my main():
>> > >
>> > > First I would try something very simple to verify your DSK
>board, tool
>>
>> > > set-up, build options, memory map, and other basic factors are Ok:
>> > >
>> > > void main() {
>> > >
>> > > DSK5510_AIC23_CodecHandle hCodec;
>> > > Int16 left,right;
>> > >
>> > > /* Initialize the board support library, must be called first
>*/ DSK5510_init();
>> > >
>> > > /* Start the codec */
>> > > hCodec = DSK5510_AIC23_openCodec(0, &config);
>> > >
>> > > /* Audio loopback */
>> > > while (TRUE) {
>> > >
>> > > while (!DSK5510_AIC23_read16(hCodec, &left));
>> > > while (!DSK5510_AIC23_read16(hCodec, &right));
>> > >
>> > > while(!DSK5510_AIC23_write16(hCodec, left));
>> > > while(!DSK5510_AIC23_write16(hCodec, right));
>> > > }
>> > >
>> > > DSK5510_AIC23_closeCodec(hCodec);
>> > > }
>> > >
>> > > This should enable audio loopback -- you should hear whatever is on
>> the
>> > > inputs. Does that much work? If so, then you can go step-by-step to
>> add
>> > > the functionality you need, testing each step carefully.
>> > >
>> > > Also, here is a nice page for generating a sine wave with DSK 5510:
>> > >
>> > > http://www.tkt.cs.tut.fi/kurssit/3516/exercises/fall05/test_audioIO.c
>>
>> > >
>> > > -Jeff
>> > > > void main()
>> > > > {
>> > > >
>> > > > DSK5510_AIC23_CodecHandle hCodec;
>> > > > Int16 i,j,k,left,right;
>> > > > Int16 input1[8000];
>> > > > Int16 input2[8000];
>> > > > /* Initialize the board support library, must be called first
>*/ DSK5510_init();
>> > > >
>> > > > /* Start the codec */
>> > > > hCodec = DSK5510_AIC23_openCodec(0, &config);
>> > > >
>> > > > /* Generate a 1KHz sine wave for 5 seconds */
>> > > > for (i = 0; i < 10; i++)
>> > > > {
>> > > > for (j = 0; j < 8000; j++)
>> > > > {
>> > > > /* Read a sample from left channel */
>> > > > while (!DSK5510_AIC23_read16(hCodec, &left));
>> > > > input1[j]=left;
>> > > >
>> > > > /* Read a sample from right channel */
>> > > > while (!DSK5510_AIC23_read16(hCodec, &right));
>> > > > input2[j]= right;
>> > > > }
>> > > >
>> > > > }
>> > > > for (i = 0; i < 10; i++)
>> > > > {
>> > > > for(k=0; k {
>> > > > while(!DSK5510_AIC23_write16(hCodec, input1[k]));
>> > > > /* Send a sample to the right channel */
>> > > > while(!DSK5510_AIC23_write16(hCodec, input2[k]));
>> > > > }
>> > > > }
>> > > > /* Close the codec */
>> > > > DSK5510_AIC23_closeCodec(hCodec);
>> > > > }
>> > > >
>> > > > But it is not giving any output. What to do?
>> > > > kindly help me where i am going wrong. I will be waiting for ur
>> reply
>> > > >
>> > > > regards,
>> > > > Umer
>> > > > >
>> > > > > hello everybody
>> > > > > i m an student doing project "Real time
>> > > > > implementation of G.723.1 on TMS320VC5510"
>> > > > > right now i am ready with optimised code which is
>> > > > > running in CCS simulator by taking i/p from file and putting
>o/p in2 file
>> > > > > but now my next step is to run it in to DSK board for that i
>have to take i/p from mike and taken o/p from headphone
>> > > > > and for that i have to interface adc/dac of that
>> > > > > particular board which uses AIC23 as a codec.
>> > > > > i tried 2 get some idea from audio project available in TI
>but not getting the flow as i don't aquant with DSP-BIOS
>also
>> > > > > please any1 sugest me how to proceed or else can
>> > > > > anybody send me programme to interface codec withought using
>DSP-BIOS
>> > > > >
>> > > > > sorry for long mail
>> > > > > waiting for early reply as i have to submit my project bbye
>> > > > > Alpana
>> > > > > M.E.(GCOEP)
>> > > > > Pune
>>