Displaying 20 results from an estimated 23 matches for "open_loop_nbest_pitch".
2007 Dec 12
2
Speex crashing on ARM with assembler optimization enabled.
...if you can do some investigation, it would be useful to check what bit
> of assembly is causing the crash. Can you disable one at a time and check?
ok. I'll try binary search, disabling optimizations.
Here is disasm of segfault point. Probably it may be helpful.
(gdb) bt
#0 0x40030334 in open_loop_nbest_pitch () from ./libspeex.so.1
#1 0x400313cc in pitch_search_3tap () from ./libspeex.so.1
#2 0x4002bec0 in nb_encode () from ./libspeex.so.1
#3 0x40036c84 in speex_encode_int () from ./libspeex.so.1
#4 0x00008d68 in main ()
(gdb) disassemble
Dump of assembler code for function open_loop_nbest_pitch:...
2007 Dec 12
2
Speex crashing on ARM with assembler optimization enabled.
Hi,
I'm trying to get speex working on an ARM board (ARM926EJ-Sid(wb) core,
ARM 5TE architecture) and getting segfaults if build with "--enable-fixed-point
--enable-arm5e-asm" options. If I use just "--enable-fixed-point", then
it runs fine, but once I add "--enable-arm5e-asm" it start crashing
(I use testenc to test it).
Further investigation showed, that it
2005 May 29
0
cpu utilization across speex versions
...:) Anyway, here are the results with just the top
functions listed. Note that Speex distributes its CPU load across many
functions...
Speex 1.0.1:
With preprocessor: (overall 2.51%)
0.43% split_cb_search_shape_sign
0.26% speex_preprocess
0.26% fir_mem_up
0.23% filter_mem2
0.23% vq_nbest
0.18% open_loop_nbest_pitch
0.12% qmf_decomp
No preprocessor: (overall 2.12%)
0.43% split_cb_search_shape_sign
0.23% fir_mem_up
0.22% filter_mem2
0.21% vq_nbest
0.18% open_loop_nbest_pitch
0.11% qmf_decomp
Speex 1.0.7:
With preprocessor: (overall 2.33%)
0.28% speex_preprocess
0.25% vq_nbest
0.23% split_cb_search_shape_sign...
2005 Dec 12
2
More floating point errors
Hi!
It seems that using a different compiler (I assume the
development is done with MSC) uncovers various issues
with the floating point.
Here is the second one I'm seeing - DOMAIN error from
sqrt().
In the open_loop_nbest_pitch(), this line:
g = DIV32(corr[i-start],
10+SHR32(MULT16_16(spx_sqrt(e0),spx_sqrt(energy[i-start])
),6));
The values are:
e0 is 7.2
i is 142,
start is 17
energy [i-start] is -2.1004911E-015
Hope this information is enough to go on.
Tia,
.a
-------------- next part --------------
An HT...
2006 May 25
1
how to study the speex source code
I am studying the speex 1.0.5 C source code ,but i feel it is hard
to understand the code ,especially the ltp.c and filters.c file.
may you tell me the detail algorithm or the more detail notation of the
source code of this two file.including below functions
void open_loop_nbest_pitch(float *sw, int start, int end, int len, int
*pitch, float *gain, int N, char *stack);
float pitch_gain_search_3tap(
int forced_pitch_quant(
void filter_mem2(float *x, float *num, float *den, float *y, int N, int ord,
float *mem)
void iir_mem2(float *x, float *den, float *y, int N, int ord, float *...
2009 Jun 14
1
Resampler saturation, blackfin performance
...code takes 79.1 + 7.2 MIPS on my BF536 400/133 Mhz
3. Profiler says:
vq_nbest 33.05%
vq_nbest_sign 11.12%
filter_mem16 4.14%
inner_prod 4.07%
iir_mem16 2.75%
qmf_synth 2.32%
lsp_to_lpc 2.32%
open_loop_nbest_pitch 1.41%
compute_impulse_response 1.37%
qmf_decomp 1.28%
lpc_to_lsp 1.26%
fir_mem16 1.16%
speex_bits_pack 1.07%
speex_bits_unpack_unsigned 0.86%
compute_rms16 0.79%
4. I'm using the echo-canceller + preprocessor,
I...
2006 Jan 18
2
TI 6xxx platform performance
...o translate over the
DM642.
Symbol Name Count cycle.Total: Incl.
cycle.Total:Excl.
compute_weighted_codebook 200 4511420 4511420
iir_mem2 599 3338308 3338308
filter_mem2 799 2323655 2323655
compute_impulse_response 200 1800518 1800518
pitch_gain_search_3tap 199 4726604 1744952
open_loop_nbest_pitch 199 4204121 1641016
vq_nbest 800 1626252 1626252
lpc_to_lsp 50 1612650 1558133
nb_encode 50 27412845 1179551
fir_mem2 50 1097300 1097300
inner_prod 27469 1072299 1072299
split_cb_search_shape_sign_N1200 7310588 1007711
normalize16 597 303378 303378,
A lower c...
2006 Jan 18
2
Errors in speex lib with Blackfin
Hello!
I'v downloaded speex lib 1.1.11.1.
I am trying to port speex lib to Blackfin processor.
I am using VisualDSP++ 4.0.
If I am compiling source codes with using floating point everything
ok.
When I am compiling with FIXED_POINT defined everything's ok and code
works about two times faster.
But when I am defining BFIN_ASM I am getting several compiling errors
in Blackfin assembler
2004 Aug 23
1
How can I optimize speex under SH
Hi,
I have just begin to look into Speex.Speex encodes and decodes fine under
SH platform (96MHz).
But encoding is taking lot of time i,e for 20ms frame it is taking ~890ms
to encode it. Which is very high
[To encode 96KB data it takes around 4.5min.]
Whether is this architecture suitable for speex ?
Whether writing some assembly instructions and some optimization will
bring down the
2005 Mar 07
0
Questions about "Complexity"
...r than for complexity 1. I have verified it while performing my
experiments.
Complexity is being actively used in the following functions in the libspeex
library for Win32:
File: cb_search.c
split_cb_search_shape_sign
-----vq_nbest_sign
-----vq_nbest
File: ltp.c
Function:
pitch_search_3tap
-----open_loop_nbest_pitch
1) What is "Complexity" used for? What is its role in the codebook search
algorithm besides allocating the stack sizes?
2) How does "Complexity" effect the search through the codebook to encode
the residual coming out of the short-term predictor?
3) How does "Complexity&...
2006 Feb 14
0
Bug in vbr_analysis
...+++++++++++++++++
+++
> It seems that using a different compiler (I assume the
development is
> done with MSC) uncovers various issues with the
floating point.
No, all development is done on gcc/Linux.
> Here is the second one I'm seeing - DOMAIN error from
sqrt().
>
> In the open_loop_nbest_pitch(), this line:
>
> g = DIV32(corr[i-start], 10
>
+SHR32(MULT16_16(spx_sqrt(e0),spx_sqrt(energy[i-start])),
6));
change that to:
g = DIV32(corr[i-start],
10+SHR32(MULT16_16(spx_sqrt(e0),spx_sqrt(1
+energy[i-start])),6));
(note the "1+" in the spx_sqrt)
As for this ap...
2007 Dec 12
1
Speex crashing on ARM with assembler optimization enabled.
Alexander Chemeris a ?crit :
> Ok, if I comment out inclusion of "filters_arm4.h" (or comment out its
> only overridden function - normalize16()) it works fine.
>
> Also it works fine if I use -O0 for compilation. Specifying -O1 or -O2 lead
> to segfault (if "filters_arm4.h" is included, sure).
OK, so either I screwed up the alignment/constraints in the
2004 Aug 06
0
[PATCH] Make SSE Run Time option.
...with SSE intrinsics. I just got used to writing
assembly before they were available for gcc. I had a quick look at your
inner_prod implementation. I think that if you really want to make that
fast (there's a big possible gain there), you need to consider the
optimization at a higher level: from open_loop_nbest_pitch. The function
calls inner_prod for a continuous range of offsets. With that in mind,
it would probably be simpler to just take 4 copies (with different
offsets) of one of the vectors and then compute everything with simple,
aligned loads.
Jean-Marc
--
Jean-Marc Valin, M.Sc.A., ing. jr....
2005 Mar 07
2
VAD with speex_preprocess()
I would like to use speex_preprocess() for voice activity detection. I read
the comments in speex_preprocess.h and the relevant paragraphs in the Speex
manual. Is there anywhere I can find more information on how to use this
function?
Thanks for your help,
Steve
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today
2009 Apr 24
2
[PATCH] Blackfin: cleanup astat/cc/hardware loop asm clobbers
...quot; (g[1]), "d" (g[2]), "d" (pitch_control), "1" (C)
- : "R0", "R1", "R2", "A0"
+ : "R0", "R1", "R2", "A0", "ASTAT"
);
return sum;
}
@@ -201,10 +204,7 @@ void open_loop_nbest_pitch(spx_word16_t *sw, int start, int end, int len, int *p
"eu2: [P0++] = R2;\n\t"
: : "d" (energy), "d" (&sw[-start-1]), "d" (&sw[-start+len-1]),
"a" (end-start)
- : "P0", "I1", "I2"...
2010 Feb 01
1
Fwd: Re: Fixed Point on wideband-mode: Single Frame loss on 2000 Hz sine causes "freak off"
...hat they do not alter the parameters (like pitch, pitch gain, LPC etc.). This is not the case here -- something messes up at least the pitch value. Or behaves the fixed-point arithmetic inside speex different from my assumption?
> > So I tried to plot the value of energy[0] inside
> > open_loop_nbest_pitch. Find attached two pics showing the plots. The
> > floating point variant looks o.k., while the fixed point variant
> > shows only random values...
>
> Doesn't look completely random to me. Whether this is normal or not is
> hard to tell.
Random or not, the point I wanted t...
2004 Aug 06
6
[PATCH] Make SSE Run Time option.
So we ran the code on a Windows XP based Atholon XP system and the xmm
registers work just fine so it appears that Windows 2000 and below does not
support them.
We agree on not supporting the non-FP version, however the run time flags
need to be settable with a non FP SSE mode so that exceptions are avoided.
I thus propose a set of defines like this instead of the ones in our
initial patch:
2004 Aug 06
2
[PATCH] Make SSE Run Time option.
...ics. I just got used to writing
>assembly before they were available for gcc. I had a quick look at your
>inner_prod implementation. I think that if you really want to make that
>fast (there's a big possible gain there), you need to consider the
>optimization at a higher level: from open_loop_nbest_pitch. The function
>calls inner_prod for a continuous range of offsets. With that in mind,
>it would probably be simpler to just take 4 copies (with different
>offsets) of one of the vectors and then compute everything with simple,
>aligned loads.
>
> Jean-Marc
>
>--
>...
2004 Aug 06
4
SmartPhone ARM
Hello Greg
If money isn't a problem Intel has an optimized compiler for eVC and XScale
processors
http://www.intel.com/software/products/compilers/techtopics/PCA_Optimization_WP.pdf
If you have any luck getting the eVC compiler closer to realtime I'd really
like to know. I'm still far from realtime when using Speex 1.1.3 on a HP
iPAQ (Intel pxa255).
Best regards
Bjoern D.
2005 May 25
3
Speex on TI C6x, Problem with TI C5x Patch
...lpc(st->gamma1, st->interp_lpc, st->bw_lpc1, st->lpcSize);
bw_lpc(st->gamma2, st->interp_lpc, st->bw_lpc2, st->lpcSize);
filter_mem2(st->frame, st->bw_lpc1, st->bw_lpc2, st->sw,
st->frameSize, st->lpcSize, st->mem_sw_whole);
open_loop_nbest_pitch(st->sw, st->min_pitch, st->max_pitch,
st->frameSize,
nol_pitch, nol_pitch_coef, 6, stack);
ol_pitch=nol_pitch[0];
ol_pitch_coef = nol_pitch_coef[0];
/*Try to remove pitch multiples*/
for (i=1;i<6;i++)
{
#ifd...