Hi,<br><br>I am working on a project which intends to enable voice communication over zigbee.<br>As the handset node, I am using TI's C5505 ezDSP USB stick. I want to run speex encoder on it. After encode, I intend to send it over CC2520 radio to the backend zigbee network.<br>
<br>The C5505 ezDSP has input and output for AIC3204 codec which I am using to give sampled input from laptop (lineout) and playback output to headphones.<br><br>Find my code here (<a href="http://www.cse.iitb.ac.in/~vijaygabale/temp/speex/,I">http://www.cse.iitb.ac.in/~vijaygabale/temp/speex/,I</a> have put in lot of efforts in putting together this piece of code, if you reuse it, please let me know) which has DMA interrupts enabled to sample AIC3204 every 20ms, ping pong buffering implemented (both at sample and playback side) and open source speex integrated to sample-encode-decode-playback the samples.<br>
<br>However, I find quality of speex encoder very bad. If I disable the only the speex encode and decode calls (comment out code in while loop in mail.c) and play the sampled voice (at 8Khz), I can hear a good quality voice (this means that DMA interrupts and ping-pong buffering is working smoothly simultaneoulsy). I don't think the calls consumes too many MIPS (instructions) and even if they do, I should be able to hear good quality voice.<br>
<br>I don't know if anybody has tested the quality of voice on C5505 for real-time communication, but if you could just go through main.c file of the project, you should see the speex initialization and encode, decode part. If you figure out anything specific, do let me know. If you are struggling on same issue, I would be happy if you try out the code.<br>
<br>I would be highly obliged to get help as I am running behind the deadlines.<br><br>Thanks.<br><br>Regards,<br>Vijay<br>