音频算法开发
文章平均质量分 89
welen_flying
本人对语音、音频信号处理非常感兴趣。主要涉及:语音和音频处理;音效;去噪和回声消除;机器学习和算法优化。
展开
-
OLA音频变速算法的仿真与剖析
前段时间,在尝试音乐节拍数的提取时,终于有了突破性的进展,效果基本上比市面上的许多商业软件还要好,在作节拍数检测时,高频信息作用不大,通过重采样减小运算量。重采样让我想起了在学校里面做的变速变调算法,在这里顺便回顾一下。 OLA(Overlap-and-Add, OLA)重叠叠加算法是音频变速算法中最简单的时域方法,它是后续时域算法(SOLA, SOLA-FS, TD-PSOLA原创 2014-08-04 10:40:47 · 3873 阅读 · 1 评论 -
人声音乐声检测的小例子
人声音乐声检测的小例子原创 2014-10-13 11:29:01 · 2828 阅读 · 7 评论 -
soundtouch变速wsola算法之改进
soundtouch变速算法很类似sola算法,细看才知道是wsola算法。上个星期有个需求,将该变速应用到直播的包处理,有点类似于webrtc的netEQ处理机制。直接使用soundtouch,会存在一些问题:1.一段正常,一段变速,中间会出现不连续,有冲击。或者不同速率的切换。 越频繁,现象更明显,。2.soundtouch每次处理,会有残余,如果用flush,音质会受原创 2015-10-13 15:36:27 · 3142 阅读 · 2 评论 -
Dynamic range compression
这段时间终于把手头的东西都搞完了,还剩下一个AEC这个模块,这个模块跟整个系统机制有很大关系,单独的模块意义不大。另外,刚写完一个分类器,希望能大幅提升音乐流派分类的准确率。下周正式开搞AEC,把之前做的一些事情记录一下。 https://en.wikipedia.org/wiki/Dynamic_range_compressionDownward原创 2015-11-25 23:09:26 · 2177 阅读 · 1 评论 -
基于winner 滤波平稳降噪效果
https://en.wikipedia.org/wiki/Wiener_filterWiener filter solutionsThe Wiener filter problem has solutions for three possible cases: one where a noncausal filter is acceptable (requiring an inf原创 2015-11-25 23:26:09 · 2932 阅读 · 0 评论 -
基于分类的Vad效果
提取出频谱特征,然后使用gmm、svm、dnn模型进行训练和分类,实时话语检测。原始文件 VAD处理,剔除静音后的效果:原创 2015-11-25 23:18:42 · 2280 阅读 · 2 评论 -
自动音量控制
音量较小时,自适应放大。 agc处理后: 音量较大时,自适应放小。agc处理后:原创 2015-11-25 23:42:15 · 3307 阅读 · 1 评论 -
音频指纹仿真(Philips)
参考《A Highly Robust Audio Fingerprinting System》Philips 音频指纹提取流程: 步骤一:resample到5kHz,down-mix到mono。步骤二:分帧处理,帧长和帧移见文献。步骤三:(1)加hanning窗,FFT变换,得到每帧的幅度谱(2)将频率预300~2000Hz,划分33个子带,类似bark域原创 2015-05-06 13:50:23 · 2658 阅读 · 0 评论 -
MFCC特征提取(C语言版本)
音频分析中,MFCC参数是经典参数之一。之前对于它的计算流程和原理,大体上是比较清楚的,所以仿真的时候,都是直接调用matlab的voicebox工具或者开发的时候直接调用第三方库。最近想整理一个纯C语言版本的MFCC函数,发现第三方开源的一部分是C++的,有些纯C的开源代码是针对语音固定了某些参数,不太灵活。干脆自己动手写一下,发现matlab写习惯了,都弱化了写C的思维,磕磕碰碰弄了2天,初版原创 2015-05-28 19:39:06 · 17003 阅读 · 22 评论 -
国内外音频实验室(一直更新...)
http://mirlab.org/jang/books/audioSignalProcessing/index.asp http://sound.media.mit.edu/media.php http://www.ee.columbia.edu/ln/rosa/matlab/http://labrosa.ee.columbia.edu/http://slam原创 2014-07-21 11:35:20 · 3940 阅读 · 0 评论 -
啸叫抑制
在实际当中,回授音有很多种。我们最常听到的“啸叫”也是一种。但我们要寻找的是那种可以控制音量,时间,音高,甚至音色的回授。“啸叫”是不可控制的。从不可控制的啸叫到可控制的回授,这是一个漫长的历程。常见生活中的例子:拿着话筒K歌或者讲话时,离音箱太近会产生刺耳的声音,这就是啸叫。产生原因简单来说,啸叫产生的条件需满足以下三点:1)话筒与音箱同时使用。2)音响系原创 2017-05-03 13:49:45 · 8956 阅读 · 2 评论 -
一个新型的混音算法
针对传统经典的线性混音,路数多时音量变小的缺点;自创了一个新的混音算法,解决该问题,声音不会忽大忽小,而且该方法还能一定程度抑制噪声,突出人声,能实时计算量小,专利已经受理。对于混音方法,网上和文献上流传许多方法。1.平均权重2.随幅值变化的权重3.利用衰减因子缓慢规整4.绝对值处理5.A+B-A*B(书写不是很精确)经过实验,方法做了比较了:方原创 2017-08-10 17:12:54 · 2539 阅读 · 1 评论 -
各种自适应滤波器总结
时域:----------------------------------------------------------------------------------------------------------------------LMS滤波器参数更新公式: 权重更新收到输入信号的能量影响较大,输入信号能量越大,步长取值应该较小,保证不容易原创 2017-06-10 10:30:27 · 25221 阅读 · 2 评论 -
深度学习语音降噪总结
实时语音通信发展到今天,用户对通话语音质量提出了越来越高的要求。由于终端设备的多样性以及使用场景的差异,声音问题依然存在。传统的音频处理技术从声音信号本身出发,挖掘其时频特性,作出假设,建立物理模型,很多参数都需要人工进行精细化微调,比较费时费力。随着AI技术的发展,凭借着其强大的拟合能力,利用数据驱动,为改善音频体验提供了更多的可能性。 关于理论部分,包括论文有很多,每种想...原创 2019-03-14 14:32:03 · 15190 阅读 · 9 评论 -
低质量音频伪装高质量音频的检测方法
这里有篇论文《基于子带谱平滑度的音频篡改检测》,可供参考。这里的质量主要涉及到采样率,即低采样率伪装高采样率音频。大部分假无损就是上采样为高质量的音频,然后用无损格式封装。11025Hz 伪装重采样 22050Hz音频,重采样不会补充有用信息,即11025/2 ~ 22050/2仍然平坦。22050Hz原始音频,一般情况下是自然逐步衰减(这取决与音频的内容,原创 2015-04-25 20:26:25 · 2286 阅读 · 0 评论 -
低音增强
1.衰减高频部分,有利于突出低音部分。2.根据人理心理学响应,即便基频丢失,增强频谱的主要谐波,衰减弱信号,增加对比度,实现低音增强。试听:http://pan.baidu.com/s/1Haqse低音增强原创 2015-04-25 20:56:34 · 3364 阅读 · 3 评论 -
可变速率的语音变调效果
Time stretching is the process of changing the speed or duration of an audio signal without affecting its pitch. Pitch scaling or pitch shifting is the opposite: the process of changing the pitch原创 2015-04-26 09:00:10 · 2037 阅读 · 0 评论 -
自由操控声音-相位声码器-变速篇(一)
比较古董的声码器:LPC声码器,相位声码器 LPC声码器就是用全极点模型来表示浊音,近似清音,根据最小平方误差最小化原则,得到该模型的一组参数,就是LPC系数,对系数量化编码,可以大幅压缩数据量;从时域来分析,就是用过去的一组样本点来预测现在的样本点。 从短时傅里叶变换和逆变换可以推导出,一个信号x(n)通过一组滤波器组,在满足一定条件下,这些滤波后的各个频原创 2014-08-11 10:45:32 · 3567 阅读 · 0 评论 -
自由操控声音-相位声码器-变速篇(二)
除了通过时域OLA变速,重构相位的方法外,也可以直接对声音的频谱进行拉伸或者收缩,像手风琴一样,保持谐波结构不变,延长或者缩短时间。 对应于语音,就是对语谱图的拉伸或者收缩,首先对短时傅里叶变换的幅度谱进行插值或者抽取,接着对相位进行调整, 傅里叶逆变换之后重新叠加合成声音。原创 2014-08-11 19:59:54 · 1875 阅读 · 1 评论 -
自由操控声音-相位声码器-变调篇(一)
相位声码器可以直接完成变速不变调的功能,要完成变调不变速功能,可以直接和重采样结合起来。重采样放在变速之前和之后,对效果都没有什么影响。特别推荐: 当做升调时,先做重采样,再做变速。 当做降调时,先做变速,再做重采样。这样处理,可以减小运算处理时间。原创 2014-08-13 09:44:35 · 2917 阅读 · 0 评论 -
KTV评分系统实现总结
KTV唱歌评分系统也不是什么新产品了,但是要把它做好,也不是很容易的事情。比较有名的浙江卫视的评分软件、手机软件“唱吧”、网页端在线“爱吼网”、酷我提供了K歌,但还没有评分功能。 刚开始接手项目时,初步制定三个月完成一个demo。两个月过去了,一切还比较顺利,KTV评分算法和整个框架总算是初步完成了。自己将这个项目分为五个阶段,类似的,开发其它产品基本上也原创 2014-08-26 17:43:08 · 13703 阅读 · 19 评论 -
变速变调原理与方法总结
调和变速原理自然语音的产生可以简化为图2-1模型,激励源出来的声门波信号与声道模型进行卷积,最后通过嘴唇辐射模型产生语音。其中,激励源决定说话人的基频的大小,即音调的高低。声道模型反映“润色”的频谱信息,具体的讲,共振峰决定了语义信息,谐波分布决定了音色,单位时间的音节数决定了语速。 图2-1 语音产生模型下面将根据语音产生模型来阐述变速变调的基本原理。变速原创 2014-08-27 20:48:26 · 7603 阅读 · 0 评论 -
音乐节拍提取(一)
前段时间倒腾了一下音乐节拍数检测,参考下面的歌曲列表做了下对比,效果还不错,基本上都是准的。Itunes LinkNameTimeArtistBPMAlbumGenreAmazon LinkLoneliest Soul03:35Grace Potter and the Noc原创 2014-09-24 15:17:09 · 18186 阅读 · 18 评论 -
音乐节拍提取(二)
音乐节拍点位置预测:原创 2014-10-10 14:35:54 · 8461 阅读 · 12 评论 -
梳状滤波器滤除谐波
假设原始信号采样率为4000kHz,由200Hz为基波的一组幅度为1的谐波构成,此处由正弦函数模拟。由此得到200Hz,400Hz,600Hz...2000Hz,但是此处2000Hz的幅度几乎为0,后面详细说明。 200Hz幅度为1的时域波形。 FFT变换之换,对应频率的幅度依然为1,频率依然在200Hz,镜像频率对称,在频率(4000-2000)Hz直接忽略(奈奎斯特定律原创 2015-01-20 15:21:12 · 10792 阅读 · 3 评论 -
流派曲风自动分类初步小结
未来还有进一步提升的空间,测试结果只能说明部分问题。1.原始版本Correctly Classified Instances 762 76.2%Incorrectly Classified Instances 238 23.8% a b c d e f g h原创 2015-02-28 16:22:51 · 1174 阅读 · 1 评论 -
音乐和人声自动判别小结
如下表1和表2所示,人声测试集包含:电视节目、讲故事、评书、说相声、有声电台等;音乐测试集包含:华语舞曲、R&B、西方民谣、华语摇滚、rap、1614混合曲集等。 表1测试集中,人声的平均识别率在89.31%,音乐的平均识别率在95.95%。相声和故事的结果较差,原因在于测试集中包含的相声现场录制环境较差,环境吵闹,频谱混乱;而讲故事有比较明显的音乐背景伴奏。 表原创 2015-02-28 16:30:03 · 4998 阅读 · 6 评论 -
检测带人声的音乐
部分文献的结果:印度古典乐的几种简单乐器的演奏,谱减法消去部分背景音初步处理,区分结果:前提已知-音乐的曲调,消去部分背景音,实验结果:自己实验的结果:1120首10折交叉验证的准确率是87.2%5000首10折交叉验证的准确率是86.40% 耗时 15个小时截取中间3分钟5000首10折交叉验证的准确率是86.33% 耗时原创 2015-02-28 16:44:12 · 3224 阅读 · 0 评论 -
离线版-端点检测代码重写
根据对双门限的理解和修改,重写了一个离线版端点检测。 function [st,en]=VAD(x, fs)x=double(x);x=x/max(abs(x));framelen= floor(fs*40/1000);%frameinc= floor(fs*10/1000);%y=enframe(x,framelen,frameinc);%计算短时原创 2015-04-17 21:01:33 · 1765 阅读 · 1 评论 -
语音识别的降噪思路和总结
噪声问题一直是语音识别的一个老大难的问题,在理想的实验室的环境下,识别效果已经非常好了,之前听很多音频算法工程师抱怨,在给识别做降噪时,经常发现WER不降反升,降低了识别率,有点莫名其妙,又无处下手。 刚好,前段时间调到了AIlab部门,有机会接触这块,改善语音识别的噪声问题,虽然在此之前,询问过同行业的朋友,单通道近场下,基本没有太大作用,有时反而起到反作用,但是自己还是想亲身实践一下,至...原创 2019-03-13 16:31:16 · 13435 阅读 · 8 评论