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

Andy Ngo ndno72-speex at yahoo.com
Tue Jan 23 13:09:27 PST 2007


Sorry everyone, but I figured it out; it's working now.  The problem was in my monoToStereo and stereoToMono functions (the Linux OSS driver on the ARM
side only supports stereo so I had to convert it to mono before feeding it to Speex);  also I had an alignment issue with my buffers I was using on the DSP
side.   Thanks Jim/Jean-Marc for your help!

Regards,
Andy


----- Original Message ----
From: Jim Crichton <jim.crichton at comcast.net>
To: Andy Ngo <ndno72-speex at yahoo.com>
Cc: speex-dev at xiph.org
Sent: Tuesday, January 23, 2007 10:51:10 AM
Subject: Re: [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 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.

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






_______________________________________________
Speex-dev mailing list
Speex-dev at 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/49d16a2c/attachment.htm


More information about the Speex-dev mailing list