[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