search for: lagwindow

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...