[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