Displaying 10 results from an estimated 10 matches for "lagwindow".
2005 Sep 27
1
Precomputing the remaining floating pointoperations.
...gauss that is manually set equal to
exp(sqr(2*M_PI*lag_factor)/-2) by whoever changes the lag_factor. From bash
you can say
echo 'e((8*a(1)*.012)^2/-2)' |bc -l
Then we can replace the code in the init functions with :
gauss = 16384;
for (i=0;i<st->lpcSize+1;i++) {
st->lagWindow[i]=gauss;
for (j=i*i; j < (i+1)*(i+1); j++) {
gauss = MULT16_16_Q15 (gauss, st->lag_factor_gauss);
}
}
A Taylor expansion will be more accurate.
2006 Feb 13
1
NB encoder with multiple channels
...as 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 looks like I can share the st->window, lagWindow, bw_lpc1, bw_lpc2,
variables which would save 562 bytes per encoder. Are there more variables
that can be shared or eliminated if I stick to narrow band?
The biggest variables are the inBuf, excBuf, swBuf, innov and I think these
have to stay.
Jerry J. Trantow
Applied Signal Processing, Inc.
j...
2006 Nov 15
2
Quick survey for Speex 1.2
...below,
>
> typedef struct {
>
> EncState enc_state;
>
> char stack[NB_ENC_STACK];
>
> spx_word16_t winBuf[80];
>
> spx_word16_t excBuf[612];
>
> spx_word16_t swBuf[612];
>
> spx_word16_t lagWindow[22];
Yuk. That's so.... G.729 and ITU codecs :-) As much as you'd like
something like that, it would be a pain to maintain it. If you want
everything in one chunk, just go with the solution above.
> The structure defined above is used to allocate all memories after call
> the initi...
2007 Aug 07
1
Attempting to shrink speex: Are these functions necessary?
...ad 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
decode:
stack
excBuf
interp_qlpc
old_qlsp
mem_sp
pi_gain
>>> Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> 08/06/07 7:04 PM >>>
Last thing. All the codebooks are stored as tables of char, so yo...
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
0
Quick survey for Speex 1.2
...ory allocations are collected
together to form one big structure like below,
typedef struct {
EncState enc_state;
char stack[NB_ENC_STACK];
spx_word16_t winBuf[80];
spx_word16_t excBuf[612];
spx_word16_t swBuf[612];
spx_word16_t lagWindow[22];
............................................
int pitch[16];
VBRState vbr;
} speex_encoder_memory;
The structure defined above is used to allocate all memories after call the
initial function.
The problem here is the size of the struct...
2006 Nov 15
0
Quick survey for Speex 1.2
...; EncState enc_state;
> >
> > char stack[NB_ENC_STACK];
> >
> > spx_word16_t winBuf[80];
> >
> > spx_word16_t excBuf[612];
> >
> > spx_word16_t swBuf[612];
> >
> > spx_word16_t lagWindow[22];
>
> Yuk. That's so.... G.729 and ITU codecs :-) As much as you'd like
> something like that, it would be a pain to maintain it. If you want
> everything in one chunk, just go with the solution above.
>
> > The structure defined above is used to allocate all memorie...
2007 Aug 07
0
Attempting to shrink speex: Are these functions necessary?
...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
>
> decode: stack excBuf interp_qlpc old_qlsp mem_sp pi_gain
What I meant is that you can reduce the stack part (assuming you're not
already using VAR_ARRAYS or USE_ALLOCA). The other variables above still...
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
2005 May 25
3
Speex on TI C6x, Problem with TI C5x Patch
...;i<part1;i++)
st->window[i]=(spx_word16_t)(SIG_SCALING*(.54-.46*cos(M_PI*i/part1)));
for (i=0;i<part2;i++)
st->window[part1+i]=(spx_word16_t)(SIG_SCALING*(.54+.46*cos(M_PI*i/part2)));
}
/* Create the window for autocorrelation (lag-windowing) */
st->lagWindow = speex_alloc((st->lpcSize+1)*sizeof(spx_word16_t));
for (i=0;i<st->lpcSize+1;i++)
st->lagWindow[i]=16384*exp(-.5*sqr(2*M_PI*st->lag_factor*i));
st->autocorr = speex_alloc((st->lpcSize+1)*sizeof(spx_word16_t));
st->lpc = speex_alloc((st->lpcSize+1)*sizeof...