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

Andy Ngo ndno72-speex at yahoo.com
Tue Jan 23 10:16:29 PST 2007


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

    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


More information about the Speex-dev mailing list