linphone的语音优化记录

花了整整三个星期,一直在优化linphone的语言质量,终于有改进,还是比较兴奋的。

现在把整个过程简单描述一下:

1,先找到跟语音相关的参数,其实有很多归纳一下无非就是 回声消除参数、回声抑制参数、噪声处理参数、均衡器参数4个。

2,要了解参数的用途。花费了一周时间还是值得的。

agc=0 #这个是自动增益,试过=1会啸叫

###回声消除的参数如下###

echocancellation=1 #回声消除这个必须=1,否则会听到自己说话的声音

ec_tail_len= 100 #尾长表示回声时长,越长需要cpu处理能力越强

ec_delay=0 #延时表示回声从话筒到扬声器时间 默认不写

ec_framesize=128 #采样数,肯定是刚好一个采样周期最好 默认不写

####回声抑制####  

echolimiter=0 #这个不开会有空洞的声音,建议不开

el_type=mic  #这个选full 和 mic 表示抑制哪个设备

eq_location=hp #这个表示均衡器用在哪个设备

speaker_agc_enabled=0 #这个表示是否启用扬声器增益

el_thres=0.001 #系统响应的阈值 意思在哪个阈值以上系统有响应处理

el_force=600 #控制收音范围 值越大收音越广 意思能否收到很远的背景音

el_sustain=50 #控制发声到沉默时间 用于控制声音是否拉长 意思说完一个字是否被拉长丢包时希望拉长避免断断续续

####降噪声####

noisegate=1 #这个表示开启降噪音,不开会又背景音

ng_thres=0.03 #这个表示声音这个阈值以上都可以通过,用于判断哪些是噪音

ng_floorgain=0.03 #这个表示低于阈值的声音进行增益,用于补偿声音太小被吃掉


####均衡器#### 这里就不详细描述这个更高级

eq_active=0

mic_eq_active=0

mic_eq_gains=300:0.1:100 700:0.2:250

spk_eq_active=0

spk_eq_gains=300:0.1:100 700:0.2:250

3,解决网络抖动延时丢包

[rtp]

audio_jitt_comp=160 #这个参数用于抖动处理,值越大处理抖动越好,但声音延时较大 理论值是80根据实际调整160

nortp_timeout=20 #这个参数用于丢包处理,值越小丢包越快声音不会断很长时间,同时要跟el_sustain配合声音才好听

4,就是要一个一个参数的调试,然后放个手机播放音乐,看看音乐的声音是否失真,是否流畅。还又时不时喊”喂“,听听是否又回声。

都OK了,表示声音已经调优啦!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • AVFoundation连续系列之四添加音效 这一部分我觉得是咱们这一系列中比较有意思的地方,如果你再懂一些音乐,...
    刘玉静阅读 4,693评论 3 25
  • 1.简述 该篇文章只是以初学者的心态提出一些问题,同时通过浏览资料自答这些问题。 参考书籍:a.离散时间语音信号处...
    wit_yuan阅读 8,643评论 0 1
  • 生活轨迹不一样了,有些朋友,慢慢地隐藏起来了。 就像奥特曼打败小怪兽后隐去了身影。 突然一下子过去嬉笑怒骂的朋友变...
    半岛黄鱼阅读 371评论 0 0
  • 多情自古空余恨,此恨绵绵无绝期。对爱情是这样,对命运的期许也是这样。多情的人被无情打败,多期许的人被生活打败...
    一墨阅读 799评论 0 2