谈谈音频开发

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  传统音频

上一页 1 2 3

摘要:我工作的头几年是在通信设备商做通信设备上的语音软件开发,主要是follow ITU-T/3GPP/RFC等SPEC写代码,相对封闭,没怎么接触开源代码。后来到芯片公司做终端上的voice engine,开始接触音频类的开源代码,先是ITU-T/3GPP的各种codec,后来是各种完整的解决方案。刚开 阅读全文
posted @ 2018-03-26 19:46 davidtym 阅读(2447) 评论(0) 推荐(1)

摘要:在音频软件实现中经常会遇到两个模块采样率不一致的情况,比如语音通话时采集到的PCM信号是16k Hz的,但编码时codec是AMR-NB(AMR-NB是8k Hz采样),这时就需要把16k Hz采样的PCM值转换成8k Hz采样的PCM值(这叫降采样或者下采样),然后再去做AMR-NB编码。再比如音 阅读全文
posted @ 2018-03-06 20:54 davidtym 阅读(7628) 评论(0) 推荐(4)

摘要:今天谈的这个主题(tone)存在于我们的日常打电话过程中。先举两个场景:1,你拿起固话话筒准备打电话,按电话号码前先从话筒里听到“嗡”的连续音,这叫dial tone(拨号音,表示你可以拨电话号码了),你拨完号码对方振铃后你又听到有规律的“嘟-嘟-”的断续音,这叫ring back tone(回铃音 阅读全文
posted @ 2018-02-25 19:38 davidtym 阅读(3716) 评论(0) 推荐(0)

摘要:从2017年开始国外智能音箱的热潮席卷到国内,各大小厂商都推出了智能音箱,主要有阿里的天猫精灵京东的叮咚和小米的小爱同学等。我也在去年双11入手了一款智能音箱(天猫精灵),体验下来总体感觉还是不错的,我相信这股热潮在今年(2018)会愈演愈热。有报道说美国的青年有了智能音箱后对手机的依赖度有所下降, 阅读全文
posted @ 2018-02-07 20:58 davidtym 阅读(6254) 评论(10) 推荐(1)

摘要:开发一个语音通信解决方案是一个软件项目。既然是软件项目,就要有相应的计划:有多少功能,安排多少软件工程师去做,这些工程师在这一领域的经验如何,是否需要培训,要多长时间做完,中间有几个主要的milestone等。我们曾经四个人花了近一年时间开发了一个语音解决方案,成功通过验收,各项关键指标(语音质量、 阅读全文
posted @ 2018-01-14 17:48 davidtym 阅读(5055) 评论(3) 推荐(2)

摘要:在语音通信中Jitter Buffer(下面简称JB)是接收侧一个非常重要的模块,它是决定音质的重要因素之一。一方面它会把收到的乱序的语音包排好序放在buffer里正确的位置上,另一方面它把接收到的语音包放在buffer中缓冲一些时间使播放的更平滑从而获得更好的语音质量。下图是JB在接收侧软件框图中 阅读全文
posted @ 2017-12-11 21:58 davidtym 阅读(11554) 评论(2) 推荐(6)

摘要:语音通信是实时通信,一定要保证实时性,不然用户体验会很糟糕。IETF设计了RTP来承载语音等实时性要求很高的数据,同时设计了RTCP来保证服务质量(RTP不保证服务质量)。在传输层,一般选用UDP而不是TCP来承载 RTP包。下图给出了这三个协议所在的协议层次。 本文先简单讲一下这三个协议(网上好多 阅读全文
posted @ 2017-09-25 22:05 davidtym 阅读(6054) 评论(1) 推荐(0)

摘要:音频的编解码(codec)根据应用场景的不同主要由几大技术组织制定,分别是ITU-T、3GPP、MPEG。当然也有一些公司或者公司的联合体等制定,如微软的WMA。他们不仅制定了codec的规范,同时还提供软件实现的reference code,这样便于普及制定的codec的使用。本文先谈谈这些cod 阅读全文
posted @ 2017-09-10 20:44 davidtym 阅读(5141) 评论(0) 推荐(3)

摘要:本文讲的回声(Echo)是指语音通信时产生的回声,即打电话时自己讲的话又从对方传回来被自己听到。回声在固话和手机上都有,小时还可以忍受,大时严重影响沟通交流,它是影响语音质量的重要因素之一。可能有的朋友要问了,为什么我打电话时没有听见自己的回声,那是因为市面上的成熟产品回声都被消除掉了。回声分为线路 阅读全文
posted @ 2017-08-27 20:46 davidtym 阅读(8767) 评论(3) 推荐(2)

摘要:音频的采集和播放主要由专门的codec芯片完成,主流的codec芯片厂商有Circus Logic、Wolfson等。采集时codec芯片通过A/D采样把声音的模拟信号转换成数字信号并通过I2S总线送给CPU处理,播放时CPU把处理好的数字信号通过I2S总线送给codec芯片并通过D/A转换为模拟信 阅读全文
posted @ 2017-08-13 16:47 davidtym 阅读(8862) 评论(0) 推荐(2)

摘要:本文系作者原创。如转载,请注明出处。 谢谢! 在做语音类APP时,语音留言(以码流形式)会被保存下来。当听时想快点听完,于是就有了语音加速播放功能。同时还有个需求,能实时切换播放速率,即当1.5倍速播放时切两倍速,就要立刻两倍速播放。 首先做了一番调研,看几倍速后就基本上听不清说什么了。找来了一款能 阅读全文
posted @ 2017-07-09 16:04 davidtym 阅读(4553) 评论(0) 推荐(0)

摘要:原创,如转载请注明出处。谢谢! 嵌入式产品中语音通信和音乐播放的软件架构是有差别的,这里还是把这两种case分开来讲。 1, 语音通信语音通信的软件架构通常如下: 语音发送时由codec芯片采集到语音的模拟信号转换成PCM数据然后通过I2S总线发送给CPU(这是音频驱动负责的,不同的OS会有不同的驱 阅读全文
posted @ 2017-06-25 16:03 davidtym 阅读(2141) 评论(0) 推荐(2)

摘要:在现实生活中,音频(audio)主要用在两大场景中:语音(voice)和音乐(music)。语音主要用于沟通通信,如打电话,现在由于语音识别的发展,人机语音交互也是语音的一个应用,目前正在风口上,好多大厂都推出了智能音箱。音乐主要用于欣赏,如音乐播放。 下面简单介绍音频的基础知识: 采样和采样频率: 阅读全文
posted @ 2017-06-17 21:54 davidtym 阅读(12805) 评论(0) 推荐(5)

上一页 1 2 3