主题:【原创】实例分析如何在产品中选择、评估和使用开源软件一 -- yueyu
老子曰:治大国若烹小鲜。小可不像河里的大拿们指点江山,只能折腾几个小菜让大家见笑。
不过小菜的好处就在于随手拈来,最少可以充饥,就算没做好,也不至于贻笑大方,本来就是小菜么。
这个小菜算是对小可这两天日常工作的一个记录和总结。大家看看,觉得能看,就捧个花场,觉得不能看,
也别给我丢草,捧个人场就好了。
简单来说,要作的事情很简单。找到一种压缩语音数据的办法。
任务简单明确,当然还要满足几个条件:
1。 压缩比要高,能在低速网络上传输
2。 可以是有损压缩,但不能有太大的失真
3。 可移植性强。能方便地在不同设备不同语言环境下面实现编码
4。 对于解码过程,可以适度地复杂,保证解码的语音质量
5。 编码需要一定的灵活性,根据不同的带宽需求能进行调整和优化
6。要Patent free的。不要落入了专利陷阱。
在任务和需求明确了之后,就可以开始着手干活了。
先去睡觉了,明天继续挖坑
(因为这两天做这个,费了不少体力,所以会慢慢写。不过肯定会写完的,呵呵)
2和4基本上说的是一件事吧
简明扼要地把问题说清楚了,接下去看你如何演绎。
很感兴趣啊,静等下文。
codec=编码解码? 抱歉不知道中文相对的词儿。
最喜欢看这种理论结合实践的文章
ITU所有的G系列编解码器都有标准的ANSI C代码下载,用得比较多的是G723/711和AMR,在代码级别有话不会太多,也就是码表调整一下,或者针对不同的嵌入式系统做微调。
要讨论如何选择codec,必然要先对audio codec做一番了解才行。以下就是小弟的一些山寨版理解,欢迎批评指导
和其他的数据压缩编码一样,音频的编码也分为有损和无损压缩两类。
无损压缩,基本上都是对音频取样数据之间的差值用Golomb-Rice code以及结合Linear Prediction Coefficents来进行
虽然近年来无损压缩也取得了不小的进展,很多压缩比都能达到一半左右了。不过在网络速度还不是足够快的情况下面,暂时还没办法
采用无损压缩进行语音信号的传递
对于有损压缩,感谢psychoacoustics model(声学心理模型?)的研究,告诉工程师,在声音里面,有一部分是人无法感知到的。
对于这部分声音,在进行压缩的时候可以放心地删除而不会让人觉得有什么损失。
主流的压缩算法比如Mp3,Ogg Vorbis,AAC,WMA,ATRAC等都是基于psychoacoustics model来进行压缩的。我们可以看到,其
压缩比非常之高,通常能将数据压缩到原始数据的5%到20%而让人感觉不出显著的音质损失。
对于我自己的应用,其实我需要压缩的音频数据非常单一,仅仅是Speech而已。而对于Speech的压缩,其实有更多的办法以取得更高的
压缩比和解压缩之后的语音效果。
那么,究竟是什么方法能够取得更高的针对Speech的压缩效果呢?
答案是CELP
最近工作紧,写的慢,大家见谅。我尽量持续写下去,因为很多东西我也还在做
枉我天天跟小催命鬼似的,竟然没占到沙发。。。。