• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 180KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 104
    下载次数
  • 2005-08-12 08:01
    上传日期
LPC语音编码,当今各种低速语音编码几乎都采用的技术!
src_lpc.zip
  • src_lpc
  • CVS
  • Root
    26B
  • Repository
    37B
  • Entries
    3.5KB
  • Debug
  • nec_exc_module.c
    8.1KB
  • phi_lpcq.h
    5.2KB
  • celp_bitstream_demux.c
    16.1KB
  • phi_post.c
    8.5KB
  • celp_decoder.c
    45.4KB
  • pan_lsp_intp.c
    2.3KB
  • nb_celp_dec.c
    13.5KB
  • att_abs_postp_16.c
    4.3KB
  • nec_exc_gain_dec.c
    3.2KB
  • nec_bws_qrms_dec.c
    2.4KB
  • lpc_common.h
    2.3KB
  • nec_abs_const.h
    3.9KB
  • nec_bws_qlsp_dec.c
    5KB
  • nec_exc_acb_dec.c
    3.9KB
  • phi_xits.h
    16.9KB
  • att_pitchpf.c
    3.7KB
  • pan_celp_proto.h
    3.4KB
  • phi_xits.c
    35.9KB
  • phi_gxit.h
    5.3KB
  • att_iirfilt.c
    2.2KB
  • att_header.h
    2.4KB
  • pan_lspdec.c
    4.5KB
  • celp_decoder.h
    6.6KB
  • nec_bws_acb_dec.c
    4.1KB
  • att_abs_postp.c
    4.3KB
  • att_proto.h
    5.1KB
  • pan_mv_data.c
    2.5KB
  • phi_gxit.c
    11.7KB
  • pan_nec_abs_bitstream.c
    6KB
  • nec_bws_gain_dec.c
    3.5KB
  • phi_priv.h
    6.5KB
  • att_bwx.c
    2KB
  • pan_celp_const.h
    2.1KB
  • pan_stab.c
    2.4KB
  • phi_fbit.c
    7.7KB
  • phi_lsfr.c
    18.7KB
  • att_testbound.c
    1.9KB
  • nec_abs_exc_generation.c
    7.5KB
  • nec_exc_mp_dec.c
    4KB
  • phi_post.h
    4.3KB
  • nec_bws_module.c
    4KB
  • phi_lsfr.h
    2.5KB
  • nec_enh_mp_dec.c
    4.2KB
  • inc_lsp22.tbl
    12.5KB
  • phi_lpc.h
    13.9KB
  • vlr_enc.c
    13.4KB
  • phi_lpc.c
    121.9KB
  • nec_gain_4m6b2d.tbl
    12KB
  • vlr_enc.h
    2.2KB
  • phi_bs2p.h
    4KB
  • nec_qrms_dec.c
    2.4KB
  • celp_proto_dec.h
    7.3KB
  • att_firfilt.c
    2.3KB
  • pan_sort.c
    2.2KB
  • nec_exc_mp_config.c
    8KB
  • celp_bitstream_demux.h
    6.4KB
  • phi_bs2p.c
    13.1KB
  • nec_lspnw20.tbl
    30.4KB
  • nec_abs_proto.h
    6.7KB
  • dec_lpc_dmy.c
    3.6KB
  • att_lsf2pc.c
    3.6KB
  • nec_enh_gain_dec.c
    2.9KB
  • nec_bws_exc_generation.c
    7.3KB
  • phi_freq.h
    2.9KB
  • nec_gain_wb_4m4b1d7b2d_nl32.tbl
    12.7KB
  • nec_exc_proto.h
    14KB
  • mp4_lpc.h
    2.2KB
  • phi_fbit.h
    3.6KB
  • nec_gain_4m4b1d.tbl
    2.1KB
  • pan_lspqtz2_dd.c
    22KB
  • phi_cons.h
    5.3KB
  • att_pc2rc.c
    3.2KB
  • dec_lpc.c
    15.5KB
  • nec_bws_mp_dec.c
    4.1KB
  • phi_priv.c
    3.7KB
  • att_pc2lsf.c
    13.6KB
  • phi_excq.h
    5.6KB
内容介绍
/*====================================================================*/ /* MPEG-4 Audio (ISO/IEC 14496-3) Copyright Header */ /*====================================================================*/ /* This software module was originally developed by Rakesh Taori and Andy Gerrits (Philips Research Laboratories, Eindhoven, The Netherlands) in the course of development of the MPEG-4 Audio (ISO/IEC 14496-3). This software module is an implementation of a part of one or more MPEG-4 Audio (ISO/IEC 14496-3) tools as specified by the MPEG-4 Audio (ISO/IEC 14496-3). ISO/IEC gives users of the MPEG-4 Audio (ISO/IEC 14496-3) free license to this software module or modifications thereof for use in hardware or software products claiming conformance to the MPEG-4 Audio (ISO/IEC 14496-3). Those intending to use this software module in hardware or software products are advised that its use may infringe existing patents. The original developer of this software module and his/her company, the subsequent editors and their companies, and ISO/IEC have no liability for use of this software module or modifications thereof in an implementation. Copyright is not released for non MPEG-4 Audio (ISO/IEC 14496-3) conforming products. CN1 retains full right to use the code for his/her own purpose, assign or donate the code to a third party and to inhibit third parties from using the code for non MPEG-4 Audio (ISO/IEC 14496-3) conforming products. This copyright notice must be included in all copies or derivative works. Copyright 1996. */ /*====================================================================*/ /*======================================================================*/ /* */ /* SOURCE_FILE: PHI_LPC.C */ /* PACKAGE: WDBxx */ /* COMPONENT: Linear Prediction Subroutines */ /* */ /*======================================================================*/ /*======================================================================*/ /* I N C L U D E S */ /*======================================================================*/ #include <stdio.h> #include <stdlib.h> #include <math.h> #include <malloc.h> #include <float.h> #include <assert.h rel='nofollow' onclick='return false;'> #include "phi_cons.h" #include "phi_lpc.h" #include "phi_lpcq.h" #include "phi_lsfr.h" #include "nec_abs_proto.h" #include "pan_celp_const.h" #include "pan_celp_proto.h" #include "att_proto.h" #include "nec_abs_const.h" #include "nec_lspnw20.tbl" #define NEC_PAI 3.141592 #define NEC_LSPPRDCT_ORDER 4 #define NEC_NUM_LSPSPLIT1 2 #define NEC_NUM_LSPSPLIT2 4 #define NEC_QLSP_CAND 2 #define NEC_LSP_MINWIDTH_FRQ16 0.028 #define NEC_MAX_LSPVQ_ORDER 20 /*======================================================================*/ /* L O C A L D A T A D E F I N I T I O N S */ /*======================================================================*/ /*----------------------------------------------------------------------*/ /* Variables for bit rate control in VQ mode */ /* ---------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* Variables for dynamic threshold */ /* ---------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /* Variables for statistics only */ /* ---------------------------------------------------------------------*/ /*======================================================================*/ /* L O C A L F U N C T I O N S P R O T O T Y P E S */ /*======================================================================*/ /*======================================================================*/ /* Modified Panasonic/NEC functions */ /*======================================================================*/ static void mod_nec_lsp_sort( float x[], long order , PHI_PRIV_TYPE *PHI_Priv); static void mod_nec_psvq( float *, float *, float *, long, long, float *, long *, long ); static void mod_nb_abs_lsp_quantizer ( float current_lsp[], /* in: current LSP to be quantized */ float previous_Qlsp[], /* In: previous Quantised LSP */ float current_Qlsp[], /* out: quantized LSP */ long lpc_indices[], /* out: LPC code indices */ long lpc_order, /* in: order of LPC */ long num_lpc_indices, /* in: number of LPC indices */ long n_lpc_analysis /* in: number of LP analysis per frame */ ); static void mod_nec_bws_lsp_quantizer( float lsp[], /* input */ float qlsp8[], /* input */ float qlsp[], /* output */ long indices[], /* output */ long lpc_order, /* configuration input */ long lpc_order_8, /* configuration input */ long num_lpc_indices, /* configuration input */ float blsp[NEC_LSPPRDCT_ORDER][NEC_MAX_LSPVQ_ORDER], PHI_PRIV_TYPE *PHI_Priv /* In/Out: PHI private data (instance context) */ ); static void mod_nb_abs_lsp_decode( long lpc_indices[], /* in: LPC code indices */ float prev_Qlsp[], /* in: previous LSP vector */ float current_Qlsp[], /* out: quantized LSP vector */ long lpc_order, /* in: order of LPC */ long num_lpc_indices /* in: number of LPC indices */ ); static void mod_nec_bws_lsp_decoder( long indices[], /* input */ float qlsp8[], /* input */ float qlsp[], /* output */ long lpc_order, /* configuration input */ long lpc_order_8, /* configuration input */ long num_lpc_indices, /* configuration input */ float blsp[NEC_LSPPRDCT_ORDER][NEC_MAX_LSPVQ_ORDER], PHI_PRIV_TYPE *PHI_Priv /* In/Out: PHI private data (instance context) */ ); /*======================================================================*/ /* Function Prototype: PHI_Apar2Rfc */ /*======================================================================*/ static void PHI_Apar2Rfc ( int P, /* In: LPC Order */ float ap[], /* In: Polynomial coefficients [0..P-1] */ float rfc[] /* Out: Reflection coefficients [0..P-1] */ ); /*======================================================================*/ /* Function Prototype: PHI_Rfc2Apar */ /*======================================================================*/ static void PHI_Rfc2Apar ( int P, /* In: LPC Order */ float rq[], /* In: Reflection coefficients [0..P-1] */ float aq[] /* Out: a-parameters [0..P-1] */ ); /*======================================================================*/ /* Function Prototype: PHI_CalcAcf */ /*======================================================================*/ static void PHI_CalcAcf ( double sp_in[], /* In: Input segment [0..N-1] */ double acf[], /* Out: Autocorrelation coeffs [0..P] */ int N, /* In: Number of samples in the segment */ int P /* In: LPC Order */ ); /*======================================================================*/ /* Function Prototype: PHI_LevinsonDurbin *
评论
    相关推荐