先写个简单的吧,过段时间再把g723代码详细分析
g723针对8k采样,16bit量化的pcm信号进行编码,30ms的延迟,意味着每个数据块是240个采样
首先对信号进行低通滤波,为的是去掉低频分量
接下来是lpc10分析,提取出10lpc系数,沿着单位圆暴力搜索出对应的lsf系数,这一段为
各种语音编解码共有的,过段时间笔者再对lpc做一个代码级的详细分析吧.
完成了lpc分析之后,就剩对激励的编码了,这就是各种编解码的不同之处,
当然在这之前,g723会根据lpc系数对信号进行感知加权,
对激励源的编码也是针对感知加权后的信号进行的
这里简述一下5.3k速率的激励源编码
对信号进行基音周期分析(自相关法)
编码分两级进行,首先目标信号先得经过自适应激励,
所谓自适应激励,就是把历史的激励保存下来,
在基音周期附近,搜索自适应激励,
每个激励样值是由五个历史激励与增益码本里的系数乘积得到的
最佳自适应的取值标准是按欧式距离最短的方式得到的
自适应激励之后,得到了残差信号,对其在一个伪随机的码本搜索固定码本
g723对固定码本做了新的定义,随将伪随机冲激信号分成4个,每个只在固定的
位置出现,这样就简化的固定码本搜索的运算量.
码字为冲激信号的位置(所有的激励信号可以同时移动一个位置,这需要一个额位的bit位来编码)
,符号,并且在这一步算出固定码本的增益
完成了固定码本的搜索之后,
g723做一些同步内存更新,将当前解码后和自适应激励保存下来,作为之后最佳自适应激励的码本
g723解码...看懂编码,解码自然也就懂了,编解码双方都保存有自适应码本,做个语音合成
分享到:
相关推荐
G711 Alaw,Ulaw, G721, G723编解码的典型源码,很有参考价值
G711_G721_G723编解码源代码 使用C语言实现,可轻松移植到任何的平台
g711a g711u 编解码源码,方便集成到模块,集成到项目当中去, g721 g723也有接口函数,适合音视频的萌新,价格实惠
G711A音频编解码
ITU-T G723.1标准语音编解码代码
G722实现编解码,很实用,看看源码就知道了
Android 上可用的G711编解码库
G.711 G.721 G.723编解码代码
C实现G711编解码
G711,G721,G723音频编解码程序
是著名外企公司sun的源代码,包含 g721 g711 g729 g723 g722 音频编码解码及实例分析c代码
G711 Alaw,Ulaw, G721, G723编解码的典型源码, 很简单可以直接拿来用。
Asterisk 系统的g.729, g.723编解码模块安装指南
G.729源码 G.729源码 编解码。
Android 上可用的G726编解码库,除去杂声,消除噪声
基于JNI的G711编解码 支持alaw -> pcm / pcm -> alaw / ulaw ->pcm / pcm -> ulaw / alaw -> ulaw / ulaw -> alaw 目前只支持windows 内含有 可直接使用jar包 、java源码、C/C++源码 纯java编写G711、仅支持alaw与...
将g722音频编解码封装成dll,用户可以利用其中的.h,.lib直接应用到自己的程序中,而且该接口已经过测试,应用到程序中。
1、G.711播放器;2、PCM与A-law\U-law的相互转换;3、G.711、G.721和G.723标准库文件
window 编译 FFmpeg 2.5.11, 支持 G711 和 H264 编解码 ,包含 ( dll ,include ,lib)
G729a音频编解码库源码--本程序用VC编写,使用简单,是一个非常不错的音频编解码程序。VS2017编译通过