📄 lpc.h
字号:
{ LPC.H - constant and macro defintions}
.const N = 10; {Predictor order}
.const FRAME_LENGTH = 180; {22.5ms frame at 8kHz}
.const WORDS_PR_LPCFRAME = 12; {pitch + gain + 10 reflection coeffs.}
.const WORDS_PR_PCKFRAME = 4; {54/16}
.const mSEC_3 = 24; {3ms * 8kHz}
.const PITCH_DETECT_LENGTH = 120 - mSEC_3 + 1; {3 - 15 ms}
{NOTE! The following constants are dependant on N or FRAME_LENGTH,
and must be altered manually if either of these are changed}
{Used in gain}
.const G_INP_SHIFT = -2; {FRAME_LENGTH*2^(2*(G_INP_SHIFT - 2)) < 1}
{input is 14 bit (signextended to 16), from codec. --^ }
{Used in autocorrelation of speech}
.const AC_SHIFT = -4; {FRAME_LENGTH*2^(2*AC_SHIFT) < 1}
{Used in pitch}
.const P_K_SHIFT = -2; {N*2^(2*P_K_SHIFT) < 1}
.const P_R_SHIFT = -3; {N*2^(P_R_SHIFT)*N*2^(2*P_K_SHIFT) < 1}
{Used in synthesis}
.const INTERP_FACTOR = 0x005b; {1/(FRAME_LENGHT - 1)/2}
.const ONE_OVER_FRAMEL = 0x00b6; {1/FRAME_LENGTH}
{MACRO definitions}
{
DIVIDE macro
Input: %0 = 16-bit divisor
%1 = MSW of dividend
ay0 = LSW of dividend
Output: ay0 = 16-bit result
}
.macro divide(%0,%1);
divs %1,%0;
divq %0;divq %0;divq %0;divq %0;
divq %0;divq %0;divq %0;divq %0;
divq %0;divq %0;divq %0;divq %0;
divq %0;divq %0;divq %0;
.endmacro;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -