[Speex-dev] Re: Clicking noise using Speex built for TI C64+ DSP ofDaVinci Processor

Jim Crichton jim.crichton at comcast.net
Tue Jan 23 10:51:10 PST 2007


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 at 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.


  ----- Original Message ----
  From: Jean-Marc Valin <jean-marc.valin at usherbrooke.ca>
  To: Andy Ngo <ndno72-speex at yahoo.com>
  Cc: speex-dev at 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.


  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 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 at xiph.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070123/aeb6e9f4/attachment.html

More information about the Speex-dev mailing list