Displaying 20 results from an estimated 100 matches similar to: "Precomputing the remaining floating pointoperations."
2005 Sep 26
1
Precomputing the remaining floating point operations.
I see there are still some floating point operations left in the codec
init(ialization) code. Changing that code to fixed point is not only
difficult (due to the trigonometric functions etc) but may also degrade the
precision.
Here is an idea whereby we can easily precompute (record) all those values
on a powerful processor and then use (replay) them on an embedded processor
/ DSP. The only
2005 May 25
3
Speex on TI C6x, Problem with TI C5x Patch
Hi Jean-Marc, Hi Jim,
I have also seen some problems with the 1.1.8 release on the C55x. So far I
have boiled down the issues to the following:
1) We need our own "fixed_xx.h" header file. I don't know why, and haven't
had time to investigate, but there is a definite improvement when I use the
attached fixed_c55x.h file which has turned all the maths into inline
functions.
2006 Feb 13
1
NB encoder with multiple channels
I am trying to implement a relatively high number of encoders (24/32) on a
single DSP and would like to minimize the memory requirements. Has anyone
optimized the persistent EncState memory allocation for multiple channels.
The default C64x fixed point implementation allocates 5280 bytes of
persistent memory per encoder.
I'm willing to restrict my settings to complexity 1, quality 3.
It
2009 Dec 02
1
bug found in CELT 0.6.1, fix proposed.
Hi all I have spent the last three days evaluating CELT on our supported platforms.
I found a bug in quant_bands.c, that due to processor/compilation differences did not cause an issue on x86 platforms, but is a problem on the MIPS processor embedded devices. When decoding on the MIPS devices, there was a lot of noise added during the decoding, the noise is mainly in the 15 khz to 21 khz range.
2007 Nov 05
2
[patch] speex_preprocess_ctl
Did you check it against the trunk in SVN?
If it's not applied, and you can hook Jean-Marc up with an email
address like yours, I'm sure he will get right on it. :)
Tom
Mihai Balea <mihai@hates.ms> wrote:
>
> Hi all,
>
> Did anything happen to this patch?
> It seems to me that it fixes a valid issue, but I'm not an expert.
> Anyways, I didn't see
2007 Oct 29
1
[patch] speex_preprocess_ctl
There is a problem in speex_preprocess_ctl. Both speech_prob_start and
speech_prob_continue are set to 327.67 for all input values except 0
which results in 0. This is in floating point mode.
I think the included patch fixes the problem.
Mikael
-------------- next part --------------
Index: libspeex/preprocess.c
===================================================================
---
2006 Feb 10
2
About wideband encode
Hi, all.
I have two questions about wideband encoding.
>From "testenc_wb.c"...
1)
tmp=8;
speex_encoder_ctl(st, SPEEX_SET_QUALITY, &tmp);
tmp=3;
speex_encoder_ctl(st, SPEEX_SET_HIGH_MODE, &tmp);
tmp=6;
speex_encoder_ctl(st, SPEEX_SET_LOW_MODE, &tmp);
How to set high_mode and low_mode, if quality is set to '9'?
When I set quality '9'
2006 Nov 15
2
Quick survey for Speex 1.2
> Another issue is the memory allocations distributed so many places that
> it's hard to provide a single memory initial function interface.
>
> In a VoIP case on ARM, the total memory size for speex codec should be
> known at the inital stage since all the memories are allocated
> at the initial stage.
If you want everything in the same big block, all you need to do is
2007 Aug 07
1
Attempting to shrink speex: Are these functions necessary?
I'm glad to hear that my data size can be shrunk considerably, however I do not know the minimum values that I would set the static arrays to be. I hate to be a bother but could you tell me the minimum values for these arrays/structures in the state structure? Thanks!
encode:
stack
winBuf
excBuf
swBuf
lagWindow
old_lsp
old_qlsp
mem_sp
mem_sw
mem_sw_whole
mem_exc
mem_exc2
pi_gain
pitch
2007 Jul 05
1
Small bug fixed
Hi,
It is better to replace this line in function filterbank_new:
max_mel = toBARK(EXTRACT16(MULT16_16_Q15(QCONST16(.5f,15),sampling)));
to
max_mel = toBARK(EXTRACT16(sampling/2));
It gives the same but it seems to be faster and avoids overflow on 44100 kHz that prevents denoiser to process 44100 streams. (Yes I know that Speex should not pack 44100 streams but it does now and I use it).
Best
2006 Nov 13
13
Quick survey for Speex 1.2
Hi everyone,
As you may have guess, Speex 1.2 is slowly approaching, though there's
still a lot left to do so I can't say how long it'll take. I thought
this was the right time to ask if there's anything missing or that can
be improved to make 1.2 better. At this point, it can't be anything
major, but there are still some changes that are possible, e.g:
- Improving some
2011 Apr 11
2
lpcSize
I would like to make lpcSize a multiple of 4. In the current library for narrow band mode lpcSize is currently set to 10. I would like to increase this 12 for optimization reasons. Is it a simple matter of just changing lpcSize in the structures in mode.c or are there other implications to doing this?
I did try and change the value but I seem to be getting some runtime errors indicating a
2011 Apr 11
2
lpcSize
Okay,
Not exactly the answer I was looking for. This sounds like a big change. I don't mind re-writing the LSP quantizer but re-training code books and breaking compatibility is not what I want to do. I am working on an optimization for an ARM cortex-A8. It is desirable to process things in 4 element blocks. Is there a simpler approach you could recommend?
Vasant Shridhar
2005 Sep 17
1
Unifying fixed point and floating point
I've been browsing around the speex-1.10 source tree.
Firstly I see 'float' is still used in many places. Can't we change them all to the appropriate type (spx_wordxx_t or similar) defined in arch.h ?
Secondly I see there is a lot of duplication regarding real-valued constants. One way would be to say:
#ifndef FIXED_POINT
#define CONSTANT(x) (x)
#else
#define CONSTANT(x)
2011 Apr 11
0
lpcSize
On 11-04-11 06:48 PM, Shridhar, Vasant wrote:
> Okay,
>
> Not exactly the answer I was looking for. This sounds like a big
> change. I don't mind re-writing the LSP quantizer but re-training
> code books and breaking compatibility is not what I want to do. I am
> working on an optimization for an ARM cortex-A8. It is desirable to
> process things in 4 element blocks.
2005 Sep 22
1
Fw: Results of Automated Batch Tests
The results are at www.rational.co.za/speex.csv
Each of the 11 quality settings is tested 3 times (narrow, wide and ultra
wide band). Strangely narrow band quality 11 outperforms all wide band
tests, but it can be due to my subsampling or some other inaudible effect
like delaying.
You can import it into Excel and sort it by SNR or other value. Divide the
bits by 24 to get the bps.
The
2005 Oct 24
2
(small) bug in nb_decode?
Hi,
So I got a crash on the following code:
k1=SUBMODE(lpc_enh_k1);
k2=SUBMODE(lpc_enh_k2);
which in the newer codebase is:
bw_lpc(SUBMODE(lpc_enh_k1), st->interp_qlpc, awk1, st->lpcSize);
bw_lpc(SUBMODE(lpc_enh_k2), st->interp_qlpc, awk2, st->lpcSize);
I am not sure if the newer code will have the same issue but the
following check is
2009 Jun 24
2
Speech switching in speakerphone?
>> I think the residual echo estimation is fairly reliable but I do not know
>> how to use this to improve Pframe and in that way solve our main problem
>> with the gain during near end talk.
>
> How can you tell that the residual echo estimation is reliable? in any
> case, I suspect that the whole Pframe idea might have to be revised
> (i.e. computing it completely
2005 Feb 19
2
memory usage
Hi
I am currently trying to port speex v1.1.6 to a microcontroller with
very limited memory (<64Kbyte RAM).
what I found when initialising the encoder, a chunk of 32Kb was
attempted to be alloced, which failed:
src/nb_celp.c:
void *nb_encoder_init(const SpeexMode *m)
{
/* snip */
st = (EncState*)speex_alloc(sizeof(EncState)+8000*sizeof(spx_sig_t));
/* snip */
}
same goes for the
2006 Feb 08
1
Speex Command line, Changing the LPC order and modifying the codebook
Hi,
can someone help me understand and experiment with Speex in a better way than my knowledge. I want to change the LPC filter order of the Speex algorithm. I think I need to change the LPC order( or lpcSize) in modes.c file. but to make it work I need to modify the codebook also, can someone tell me how to go about changing the codebook entries to support the changed order of prediction.