Andy Ngo
2007-Jan-23 10:16 UTC
[Speex-dev] Re: Clicking noise using Speex built for TI C64+ DSP of DaVinci Processor
Hi Jean-Marc, I have tested Speex in fixed-point mode on my PC without clicking noise. As I mentioned below, I tested Speex in fixed-point mode running natively on the ARM side of the DaVinci without click noise. I only get the clicking noise when running Speex on the DSP side. For the TI C64+ DSP on the DaVinci processor, the TI-specific switches doesn't do much other than defining the different Speex data types (spx_int16_t, spx_uint16_t, spx_int32_t, etc) and the static heap and scratch size (in config.h and speex_types.h). How do I try "generic fixed-point"; is there a MACRO for generic fixed-point like "GENERIC_FIXED_POINT". I guess I could try to see if it's an encoder issue (encode it on the DSP and decode it on the ARM side before playing) vs a decoder issue (encode it on the ARM and decode it on the DSP before playing). Any other suggestions? Thanks. Regards, Andy ----- Original Message ---- From: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> To: Andy Ngo <ndno72-speex@yahoo.com> Cc: speex-dev@xiph.org Sent: Tuesday, January 23, 2007 2:57:34 AM Subject: Re: Clicking noise using Speex built for TI C64+ DSP of DaVinci Processor Can you test your code with fixed-point on an x86 and see if you have the same problem. You can also try the generic fixed-point without TI-specific switches. The main thing I see that *could* cause problem is the 16-bit chars in the bitpacker. Jean-Marc Andy Ngo a ?crit :> Hi, > > I've been trying to get Speex to compile and run on the DSP of TI's new DaVinci System-On-Chip processor, which has both an ARM > (ARM926) and a DSP (C64+, based on the C6400). I used the latest code (1.2beta) and followed the example in the speex- > 1.2beta1/ti/speex_C64_test trunk to build the Speex library for the DSP. Basically I have a loopback application on the ARM that > samples 8kHz 16-bit mono frames, gives them to the DSP to encode and decode them, and play the resulting decoded frames on the > headphone. It seems to work but I get a clicking noise. I have verified that this is not due to an underrun problem by doing the same > loopback bypassing Speex on the DSP side but added delay that is 3ms longer that than that of Speex encode and decode processing > times, and got smooth audio with no clicking noise. Also, I fed the female.wav (posted on Speex site) through the Speex encoder and > decoder on the DSP and got a resulting decoded_female.wav that has a clicking noise; since I can't post the wav file on this group, I > can send it to anyone who's interested in helping me. > > Also, if I run the loopback application with Speex natively on the ARM side (not using the DSP), it works fine. > > I don't know where that clicking noise is coming from. Any advice/comments/suggestions? > > Here's what's included in my config.h file for Speex (compiled with -DCONFIG_TI_C6X): > > #define FIXED_POINT > #define FRAME_SIZE 160 > #define DISABLE_WIDEBAND > #define MAX_CHARS_PER_FRAME (42/BYTES_PER_CHAR) > #define MANUAL_ALLOC > #define USER_MISC > > Speex narrow band parameters I'm using: > Quality: 2 /* 5950 bps */ > Enhancement: 0 > Vbr: disabled > Complexity: 1 > > The DaVinci processor is relatively new and I can't seem to find anyone who has successfully used Speex on the DSP side. Your help > is appreciated. Thanks. > > Regards, > Andy-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070123/10906bb5/attachment-0001.htm
Jim Crichton
2007-Jan-23 10:51 UTC
[Speex-dev] Re: Clicking noise using Speex built for TI C64+ DSP ofDaVinci Processor
Andy, Send me the wav file and I will try to help you. Also, please send the encoded output from female.wav. Have you looked at the output audio with a waveform editor, to see if you can find the clicking? Have you tried running the sample build in the C64x simulator? That would give you a reference for file comparison. That build is setup for Quality 3 (8kbps). I just ran the simulator build at 8kbps, and the output sounds fine. I have not tried 5950bps before, but I just did, and I do not hear clicking. I will send you the simulator output files off-list. By the way, the 16-bit char size that Jean-Marc refers to in the C5x, not the C6x, so that is not an issue here. You could have a problem in your sample handling, or maybe the bit handling, since 5950 does not produce an integer number of bytes per frame (1 bit short of 15 bytes). - Jim ----- Original Message ----- From: Andy Ngo To: Jean-Marc Valin Cc: speex-dev@xiph.org Sent: Tuesday, January 23, 2007 1:16 PM Subject: [Speex-dev] Re: Clicking noise using Speex built for TI C64+ DSP ofDaVinci Processor Hi Jean-Marc, I have tested Speex in fixed-point mode on my PC without clicking noise. As I mentioned below, I tested Speex in fixed-point mode running natively on the ARM side of the DaVinci without click noise. I only get the clicking noise when running Speex on the DSP side. For the TI C64+ DSP on the DaVinci processor, the TI-specific switches doesn't do much other than defining the different Speex data types (spx_int16_t, spx_uint16_t, spx_int32_t, etc) and the static heap and scratch size (in config.h and speex_types.h). How do I try "generic fixed-point"; is there a MACRO for generic fixed-point like "GENERIC_FIXED_POINT". I guess I could try to see if it's an encoder issue (encode it on the DSP and decode it on the ARM side before playing) vs a decoder issue (encode it on the ARM and decode it on the DSP before playing). Any other suggestions? Thanks. Regards, Andy ----- Original Message ---- From: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> To: Andy Ngo <ndno72-speex@yahoo.com> Cc: speex-dev@xiph.org Sent: Tuesday, January 23, 2007 2:57:34 AM Subject: Re: Clicking noise using Speex built for TI C64+ DSP of DaVinci Processor Can you test your code with fixed-point on an x86 and see if you have the same problem. You can also try the generic fixed-point without TI-specific switches. The main thing I see that *could* cause problem is the 16-bit chars in the bitpacker. Jean-Marc Andy Ngo a ?crit : > Hi, > > I've been trying to get Speex to compile and run on the DSP of TI's new DaVinci System-On-Chip processor, which has both an ARM > (ARM926) and a DSP (C64+, based on the C6400). I used the latest code (1.2beta) and followed the example in the speex- > 1.2beta1/ti/speex_C64_test trunk to build the Speex library for the DSP. Basically I have a loopback application on the ARM that > samples 8kHz 16-bit mono frames, gives them to the DSP to encode and decode them, and play the resulting decoded frames on the > headphone. It seems to work but I get a clicking noise. I have verified that this is not due to an underrun problem by doing the same > loopback bypassing Speex on the DSP side but added delay that is 3ms longer that than that of Speex encode and decode processing > times, and got smooth audio with no clicking noise. Also, I fed the female.wav (posted on Speex site) through the Speex encoder and > decoder on the DSP and got a resulting decoded_female.wav that has a clicking noise; since I can't post the wav file on this group, I > can send it to anyone who's interested in helping me. > > Also, if I run the loopback application with Speex natively on the ARM side (not using the DSP), it works fine. > > I don't know where that clicking noise is coming from. Any advice/comments/suggestions? > > Here's what's included in my config.h file for Speex (compiled with -DCONFIG_TI_C6X): > > #define FIXED_POINT > #define FRAME_SIZE 160 > #define DISABLE_WIDEBAND > #define MAX_CHARS_PER_FRAME (42/BYTES_PER_CHAR) > #define MANUAL_ALLOC > #define USER_MISC > > Speex narrow band parameters I'm using: > Quality: 2 /* 5950 bps */ > Enhancement: 0 > Vbr: disabled > Complexity: 1 > > The DaVinci processor is relatively new and I can't seem to find anyone who has successfully used Speex on the DSP side. Your help > is appreciated. Thanks. > > Regards, > Andy ------------------------------------------------------------------------------ _______________________________________________ Speex-dev mailing list Speex-dev@xiph.org http://lists.xiph.org/mailman/listinfo/speex-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070123/aeb6e9f4/attachment.html