实现了g729的16:1压缩与解压缩。为了方便大家使用代码,我写了图文并茂的使用说明文档,也一起打包了。代码分为两个包,我分别运行在两个ubuntu虚拟机的eclipse下,一个虚拟机压缩音频,另一个虚拟机解压缩,能够还原语音。如果你不想像我这样模拟,只想看g729的代码也是可以的,我在文档里也是有说明的。我是在官方代码上修改的,修改幅度不是很大。
2022-01-09 16:27:11 4.04MB g729 pcm 语音压缩
1
该资源包包含3篇G729原理介绍文档,以及vc开发的编解码源代码,希望大家喜欢!
2022-01-06 18:50:44 1.33MB G729 源码
1
ITU-T G.729 Annex B ANSI-C Source Code Version 1.4 Last modified: November, 2000 */ TITLE ----- Fixed-point description of Recommendation G.729 with ANNEX B Coding of Speech at 8 kbit/s using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP) with Voice Activity Decision(VAD), Discontinuous Transmission(DTX), and Comfort Noise Generation(CNG). SOFTWARE AND INTELLECTUAL PROPERTY ---------------------------------- This software package is provided as part of ITU-T Recommendation G.729B. Copyright (c) 1996, AT&T, France Telecom, Lucent Technologies, NTT, Rockwell International, Universite de Sherbrooke. All rights reserved. The copy of the source C code, version 1.4, is given under Copyright of the authors, only for the purpose of establishing the specification of a codec. VERSION ------- This is version 1.4. ---------------------------------------------------------------------------- Differences between Version 1.2 and Version 1.1 : In version 1.2, tab_dtx.h, tab_dtx.c, vad.c and calcexc.c were updated as per Corrigendum to annex B of G.729 published in COM 16-R20 of june 1997. ---------------------------------------------------------------------------- Differences between Version 1.3 and Version 1.2 : file : DEC_LD8K.C ***************** Version 1.2 lines 147 to 149 : ---------------------------------------------------------------------------- if(bfi == 1) if(past_ftyp == 1) ftyp = 1; else ftyp = 0; ---------------------------------------------------------------------------- replaced in Version 1.3 by lines 147 to 149 : ---------------------------------------------------------------------------- if(bfi == 1) { if(past_ftyp == 1) ftyp = 1; else ftyp = 0; *parm = ftyp; /* modification introduced in version V1.3 */ } file : BITS.C ************* function : read_frame() ---------------------------------------------------------------------------- Version 1.2 line 221-226 : ---------------------------------------------------------------------------- /* the hardware detects frame erasures by checking if all bits are set to zero */ parm[0] = 0; /* No frame erasure */ for (i=0; i < serial[1]; i++) if (serial[i+2] == 0 ) parm[0] = 1; /* frame erased */ ---------------------------------------------------------------------------- replaced in Version 1.3 by lines 219-230 : ---------------------------------------------------------------------------- /* This part was modified for version V1.3 */ /* for speech and SID frames, the hardware detects frame erasures by checking if all bits are set to zero */ /* for untransmitted frames, the hardware detects frame erasures by testing serial[0] */ parm[0] = 0; /* No frame erasure */ if(serial[1] != 0) { for (i=0; i < serial[1]; i++) if (serial[i+2] == 0 ) parm[0] = 1; /* frame erased */ } else if(serial[0] != SYNC_WORD) parm[0] = 1; ---------------------------------------------------------------------------- Differences between Version 1.4 and Version 1.3 : In Version 1.4 the initialization of lspSid in dec_sid.c has been updated according to the Corrigendum to Annex B of G.729 published in COM 16-R 60-E. In terms of functionality, only the file dec_sid.c has changed. For compilation purposes the two makefiles were changed, and the version number was changed in coder.c and decoder.c. The changes from Version 1.3 to Version 1.4 do not affect the test vectors. ---------------------------------------------------------------------------- DESCRIPTION ----------- This package includes the files needed to build the fixed point version of the G.729 codec with VAD/DTX/CNG as described in ANNEX B. It includes also the PC executable (coder.exe and decoder.exe), a batch file (test.bat), speech (test.inp) and data files (test.bit and test.syn) to verify the execution. The binary reference files are in PC format. SIMILARITIES AND DIFFERENCES WITH G.729 --------------------------------------- Common files with G.729 ~~~~~~~~~~~~~~~~~~~~~~~ acelp_co.c basic_op.c de_acelp.c dec_gain.c dec_lag3.c dspfunc.c filter.c gainpred.c lpcfunc.c lspgetq.c oper_32b.c p_parity.c pitch.c post_pro.c pre_proc.c pred_lt3.c pwf.c qua_gain.c basic_op.h oper_32b.h typedef.h File extracted from G.729 file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ taming.c Files in G.729 but modified for ANNEX B ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bits.c cod_ld8k.c coder.c dec_ld8k.c decoder.c lpc.c lspdec.c pst.c qua_lsp.c tab_ld8k.c util.c ld8k.h tab_ld8k.h Files only in ANNEX B ~~~~~~~~~~~~~~~~~~~~~ calcexc.c dec_sid.c dtx.c qsidgain.c qsidlsf.c tab_dtx.c vad.c dtx.h octet.h sid.h tab_dtx.h vad.h COMPILATION ----------- Edit the file typedef.h to comply to your target platform For UNIX systems the following makefiles are provided coder.mak decoder.mak Edit the makefiles coder.mak and decoder.mak to set the proper options for your system. The command to compile and link all code on a UNIX system is make -f coder.mak make -f decoder.mak For other platforms, the *.mak files can be used to work out the compilation procedures. This code has been successfully compiled and run on the following platforms: Platform Operating System Compiler ----------------------------------------------------------------------------- DEC ALPHA OSF/1 DEC OSF/1 cc SGI IRIX 5.2 cc SUN SUNOS 4.1.3 gcc PC DOS 6.2 Borland 4.02 Microsoft Quick C 2.5 Microsoft Visual C++ 1.51 Watcom 10.6 PC DOS 6.21 Borland 3.1 Microsoft 8 Watcom 9.6 USAGE ----- The following files are used or generated inputfile 8 kHz sampled data file 16 bit PCM (binary) outputfile 8 kHz sampled data file 16 bit PCM (binary) bitstreamfile binary file containing bitstream The following parameter is used for the encoder dtx_option = 1 : DTX enabled 0 : DTX disabled coder inputfile bitstreamfile dtx_option decoder bitstreamfile outputfile
2022-01-03 16:33:19 161KB G729
1
1 I2C 串行接口提供键盘中断信号方便与处理器接口 2 可驱动 8 位共阴数码管或64 只独立LED 和64 个按键 3 可控扫描位数 可控任一数码管闪烁 4 提供数据译码和循环 移位段寻址等控制 5 8 个功能键可检测任一键的连击次数 6 无需外接元件即直接驱 LED 可扩展驱动电流和驱动电压 7 提供工业级器件 多种封装形式PDIP24 SO24
2021-12-28 20:13:24 283KB I2C接口 键盘 LED驱动器
1
ZLG7290键盘控制器测试程序 能够识别按键及显示按键值 亮度 可以调节 方式为串行 节约端口 比矩阵键盘更方便
2021-12-27 22:34:20 82KB ZLG7290 键盘控制
1
代码可以学习一下,我感觉是挺不错的!
2021-12-27 22:29:51 77KB ZLG7290程序
1
周立功的7290c驱动程序 I2C通讯类型的按键芯片驱动程序
2021-12-27 22:24:58 8KB ZLG7290
1
支持729编解码的mod。亲自测试在freeswitch中可以使用。现成的makefile文件,编译后copy so文件到freeswitch安装目录的mod文件夹下即可使用。
2021-11-04 18:15:50 1.17MB mod_g729
1
介绍了各种语音压缩算法的思想以及相关算法的各种源程序,并对程序进行介绍等
2021-11-03 11:24:00 4.97MB G711/G723/G726/G728/G729A
1
I2C协议,周立功公司的7290芯片扫描通信用,代码调试通过,原来的代码有点BUG,但已经改了,放心使用。
2021-10-24 15:32:15 4KB I2C协议
1