资源简介
一个简单语音压缩算法,欢迎大家研究研究,代码的数量比较大,需要耐心!
代码片段和文件信息
/*
ITU-T G.729 Speech Coder ANSI-C Source Code
Version 3.3 Last modified: December 26 1995
Copyright (c) 1996
AT&T France Telecom NTT Universite de Sherbrooke Lucent Technologies
All rights reserved.
*/
/*---------------------------------------------------------------------------*
* Function ACELP_CODEBOOK() *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~ *
* Find Algebraic codebook. *
*--------------------------------------------------------------------------*/
#include “typedef.h“
#include “basic_op.h“
#include “ld8k.h“
static void Cor_h(
Word16 *H /* (i) Q12 :Impulse response of filters */
Word16 *rr /* (o) :Correlations of H[] */
);
static void Cor_h_X(
Word16 h[] /* (i) Q12 :Impulse response of filters */
Word16 X[] /* (i) Q12 :Target vector */
Word16 D[] /* (o) :Correlations between h[] and D[] */
/* Normalized to 13 bits */
);
static Word16 D4i40_17( /* (o) : Index of pulses positions. */
Word16 Dn[] /* (i) : Correlations between h[] and Xn[]. */
Word16 rr[] /* (i) : Correlations of impulse response h[]. */
Word16 h[] /* (i) Q12: Impulse response of filters. */
Word16 cod[] /* (o) Q13: Selected algebraic codeword. */
Word16 y[] /* (o) Q12: Filtered algebraic codeword. */
Word16 *sign /* (o) : Signs of 4 pulses. */
Word16 i_subfr /* (i) : subframe flag */
);
Word16 ACELP_Codebook( /* (o) :index of pulses positions */
Word16 x[] /* (i) :Target vector */
Word16 h[] /* (i) Q12 :Impulse response of filters */
Word16 T0 /* (i) :Pitch lag */
Word16 pitch_sharp /* (i) Q14 :Last quantized pitch gain */
Word16 i_subfr /* (i) :Indicator of 1st subframe */
Word16 code[] /* (o) Q13 :Innovative codebook */
Word16 y[] /* (o) Q12 :Filtered innovative codebook */
Word16 *sign /* (o) :Signs of 4 pulses */
)
{
Word16 i index sharp;
Word16 Dn[L_SUBFR];
Word16 rr[DIM_RR];
/*-----------------------------------------------------------------*
* Include fixed-gain pitch contribution into impulse resp. h[] *
* Find correlations of h[] needed for the codebook search. *
*-----------------------------------------------------------------*/
sharp = shl(pitch_sharp 1); /* From Q14 to Q15 */
if (sub(T0 L_SUBFR)<0)
for (i = T0; i < L_SUBFR; i++){ /* h[i] += pitch_sharp*h[i-T0]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 27922 2005-05-25 08:28 g729\acelp_co.c
文件 103911 2005-05-25 08:28 g729\basic_op.c
文件 3412 2005-05-25 08:28 g729\basic_op.h
文件 6602 2005-05-25 08:28 g729\bits.c
文件 9303 2005-05-25 08:28 g729\calcexc.c
文件 27877 2005-05-25 08:28 g729\cod_ld8k.c
文件 4938 2005-05-25 08:28 g729\coder.c
文件 3695 2005-05-25 08:28 g729\coder.mak
文件 1906 2005-05-25 08:28 g729\de_acelp.c
文件 4884 2005-05-25 08:28 g729\dec_gain.c
文件 2245 2005-05-25 08:28 g729\dec_lag3.c
文件 12949 2005-05-25 08:28 g729\dec_ld8k.c
文件 5591 2005-05-25 08:28 g729\dec_sid.c
文件 4797 2005-05-25 08:28 g729\decoder.c
文件 3149 2005-05-25 08:28 g729\decoder.mak
文件 8097 2005-05-25 08:28 g729\dspfunc.c
文件 12065 2005-05-25 08:28 g729\dtx.c
文件 4373 2005-05-25 08:28 g729\dtx.h
文件 3836 2005-05-25 08:29 g729\filter.c
文件 7700 2005-05-25 08:29 g729\gainpred.c
文件 32456 2005-05-25 08:29 g729\ld8k.h
文件 23559 2005-05-25 08:29 g729\lpc.c
文件 11897 2005-05-25 08:29 g729\lpcfunc.c
文件 3423 2005-05-25 08:29 g729\lspdec.c
文件 5822 2005-05-25 08:29 g729\lspgetq.c
文件 678 2005-05-25 08:29 g729\octet.h
文件 12441 2005-05-25 08:29 g729\oper_32b.c
文件 550 2005-05-25 08:29 g729\oper_32b.h
文件 1569 2005-05-25 08:29 g729\p_parity.c
文件 21020 2005-05-25 08:29 g729\pitch.c
............此处省略28个文件信息
- 上一篇:lxTraceClearTool-v2.0.zip
- 下一篇:热敏打印机图形生成工具
评论
共有 条评论