先写个简单的吧,过段时间再把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编解码的典型源码, 很简单可以直接拿来用。
将g722音频编解码封装成dll,用户可以利用其中的.h,.lib直接应用到自己的程序中,而且该接口已经过测试,应用到程序中。
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与...
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编译通过