光谱描述符
Audio Toolbox™提供了一套描述形状的函数,有时称为音色关于音频。本示例定义了用于确定光谱特征的方程,引用了每个特征的常用用法,并提供了示例,以便您可以直观地了解光谱描述符所描述的内容。
谱描述符广泛应用于机器和深度学习应用,以及感知分析。光谱描述符已应用于一系列应用,包括:
频谱质心
光谱质心(spectralCentroid
)是由非加权和归一化的频率加权和[1]:
在哪里
以Hz为单位的频率是否对应于bin 。
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱质心。
光谱质心代表光谱的“重心”。它被用来表示亮度(2],常用于音乐分析和类型分类。例如,观察音频文件中与高帽子撞击相对应的质心的跳跃。
[音频,fs] = audioread(“FunkyDrums-44p1-stereo-25secs.mp3”);Audio = sum(Audio,2)/2;centroid = spectralCentroid(音频,fs);Subplot (2,1,1) t = linspace(0,size(audio,1)/fs,size(audio,1));情节(t)、音频)ylabel (“振幅”) subplot(2,1,2) t = linspace(0,size(audio,1)/fs,size(centroid,1));情节(t,质心)包含(“时间(s)”) ylabel (“重心(Hz)”)
谱形心也常用于将语音分为浊音和浊音[3.].例如,质心在无声语音的区域跳跃。
[音频,fs] = audioread(“Counting-16-44p1-mono-15secs.wav”);centroid = spectralCentroid(音频,fs);Subplot (2,1,1) t = linspace(0,size(audio,1)/fs,size(audio,1));情节(t)、音频)ylabel (“振幅”) subplot(2,1,2) t = linspace(0,size(audio,1)/fs,size(centroid,1));情节(t,质心)包含(“时间(s)”) ylabel (“重心(Hz)”)
光谱扩散
光谱扩展(spectralSpread
)为谱质心附近的标准差[1]:
在哪里
以Hz为单位的频率是否对应于bin 。
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱扩展。
是光谱质心。
频谱展宽表示频谱的“瞬时带宽”。它被用来表示一个音调的主导地位。例如,当音调发散时,扩散增加,当音调收敛时,扩散减少。
Fs = 16e3;音频振荡器(audioOscillator)“SampleRate”fs,“NumTones”2,“SamplesPerFrame”, 512,“频率”(2000、100));持续时间= 5;numLoops = floor(duration*fs/tone.SamplesPerFrame);信号= [];为i = 1:numLoops signal = [signal;tone()];如果我< numLoops / 2的基调。频率=音调。频率+ [0,50];其他的基调。频率=音调。频率- [0,50];结束结束spread = spectralSpread(信号,fs);次要情节(2,1,1)谱图(信号,圆(fs * 0.05),圆(fs * 0.04), 2048年,fs,“桠溪”) subplot(2,1,2) t = linspace(0,size(signal,1)/fs,size(spread,1));情节(t,传播)包含(“时间(s)”) ylabel (“传播”)
光谱偏态
光谱偏度(spectralSkewness
)由三阶矩[1]:
在哪里
以Hz为单位的频率是否对应于bin 。
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱偏度。
是光谱质心。
是光谱扩散。
光谱偏度测量的是质心周围的对称性。在语音学中,谱偏斜常被称为光谱倾斜与其他谱矩一起使用,以区分发音的位置[4].对于谐波信号,它表示高谐波和低谐波的相对强度。例如,在四音信号中,当较低的音调为主导时,有一个正的倾斜,而当较高的音调为主导时,有一个负的倾斜。
Fs = 16e3;持续时间= 99;音频振荡器(audioOscillator)“SampleRate”fs,“NumTones”4“SamplesPerFrame”fs,“频率”, 500, 2000, 2500, 4000,“振幅”[0, 0.4, 0.6, 1]);信号= [];为I = 1:持续时间信号=[信号;音调()];基调。振幅=音调。振幅+ [0.01,0,0,-0.01];结束偏度= spectralSkewness(信号,fs);T = linspace(0,size(signal,1)/fs,size(skewness,1))/60;次要情节(2,1,1)谱图(信号,圆(fs * 0.05),圆(fs * 0.04),圆(fs * 0.05), fs,“桠溪”,“权力”) view([-58 33]) subplot(2,1,2) plot(t,skewness) xlabel(的时间(分钟)) ylabel (“偏斜”)
谱峰态
谱峰度(spectralKurtosis
)由四阶矩计算[1]:
在哪里
以Hz为单位的频率是否对应于bin 。
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱峰度。
是光谱质心。
是光谱扩散。
光谱峰度测量光谱在质心周围的平坦度或非高斯性。相反,它用来表示光谱的峰值。例如,当语音信号上的白噪声增加时,峰度降低,表明峰值谱更少。
[audioIn,fs] = audioread(“Counting-16-44p1-mono-15secs.wav”);noiseGenerator = dsp。ColoredNoise (“颜色”,“白色”,“SamplesPerFrame”大小(audioIn 1));noise = noiseGenerator();噪声=噪声/max(abs(噪声));Ramp = linspace(0,.25,numel(noise))';噪音=噪音*斜坡;audioIn = audioIn + noise;峰度= spectralKurtosis(audioIn,fs);t = linspace(0,size(audioIn,1)/fs,size(audioIn,1));subplot(2,1,1) plot(t,audioIn)“振幅”t = linspace(0,size(audioIn,1)/fs,size(kurtosis,1));Subplot (2,1,2) plot(t,kurtosis) xlabel(“时间(s)”) ylabel (“峰度”)
谱熵
谱熵(spectralEntropy
)测量光谱的峰值[6]:
在哪里
以Hz为单位的频率是否对应于bin 。
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱熵。
频谱熵已成功用于自动语音识别的有声/非有声决策[6].因为熵是无序度的衡量标准,语音区域的熵比无声区域的熵要低。
[audioIn,fs] = audioread(“Counting-16-44p1-mono-15secs.wav”);熵= spectral熵(audioIn,fs);t = linspace(0,size(audioIn,1)/fs,size(audioIn,1));subplot(2,1,1) plot(t,audioIn)“振幅”) t = linspace(0,size(audioIn,1)/fs,size(熵,1));Subplot (2,1,2) plot(t,熵)xlabel(“时间(s)”) ylabel (“熵”)
频谱熵也被用来区分语音和音乐[7] [8].例如,比较语音、音乐和背景音频文件的熵直方图。
Fs = 8000;[cn] [cn] [cn]“彩虹- 16 - 8 mono - 114 secs.wav”);speech = resample(speech,fs,speech);Speech = Speech ./max(Speech);[音乐,音乐]“rockguitar - 16 - 96立体声- 72 secs.flac”);Music = sum(Music,2)/2;music = resample(music,fs,musicFs);Music = Music ./max(Music);[background,backgroundFs] = audioread(“Ambiance-16-44p1-mono-12secs.wav”);background = resample(background,fs,backgroundFs);Background = Background ./max(Background);语音熵=频谱熵(语音,fs);musicEntropy = spectralEntropy(music,fs);backgroundEntropy = spectralEntropy(background,fs);图h1 =直方图(语音熵);持有在h2 =直方图(musicEntropy);h3 =直方图(backgroundEntropy);h1。归一化=“概率”;h2。归一化=“概率”;h3。归一化=“概率”;h1。BinWidth = 0.01;h2。BinWidth = 0.01;h3。BinWidth = 0.01;标题(“谱熵”)传说(“演讲”,“音乐”,“背景”,“位置”,“西北”)包含(“熵”) ylabel (“概率”)举行从
光谱平坦
谱平面度(spectralFlatness
)测量谱的几何平均值与谱的算术平均值之比[9]:
在哪里
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱平坦度。
光谱平坦度是光谱峰值的指示。较高的谱平坦度表示噪声,较低的谱平坦度表示调性。
[音频,fs] = audioread(“waveguideloopone - 24 - 96立体声- 10 - secs.aif”);Audio = sum(Audio,2)/2;噪音=(2 *兰特(元素个数(音频),1)1)。* linspace(0、0.05、元素个数(音频))';音频=音频+噪音;平坦度= spectralFlatness(音频,fs);Subplot (2,1,1) t = linspace(0,size(audio,1)/fs,size(audio,1));情节(t)、音频)ylabel (“振幅”) subplot(2,1,2) t = linspace(0,size(audio,1)/fs,size(flatness,1));情节(t,平面度)ylabel (“平坦”)包含(“时间(s)”)
谱平面度也已成功应用于歌声检测[10]和音频场景识别[11].
光谱波峰
谱峰(spectralCrest
)测量谱的最大值与谱的算术平均值之比[1]:
在哪里
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱波峰。
光谱波峰是光谱峰值的指示。较高的光谱峰值表明更多的调性,而较低的光谱峰值表明更多的噪声。
[音频,fs] = audioread(“waveguideloopone - 24 - 96立体声- 10 - secs.aif”);Audio = sum(Audio,2)/2;噪音=(2 *兰特(元素个数(音频),1)1)。* linspace(0、0.2、元素个数(音频))';音频=音频+噪音;crest = spectralCrest(音频,fs);Subplot (2,1,1) t = linspace(0,size(audio,1)/fs,size(audio,1));情节(t)、音频)ylabel (“振幅”) subplot(2,1,2) t = linspace(0,size(audio,1)/fs,size(crest,1));情节(t,嵴)ylabel (“佳洁士”)包含(“时间(s)”)
谱通量
光谱通量(spectralFlux
)是光谱随时间变化的量度[12]:
在哪里
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱通量。
是规范类型。
光谱通量普遍用于起始探测[13]及音频分割[14].例如,鼓轨道中的节拍对应高光谱通量。
[音频,fs] = audioread(“FunkyDrums-48-stereo-25secs.mp3”);Audio = sum(Audio,2)/2;通量= spectralFlux(音频,fs);Subplot (2,1,1) t = linspace(0,size(audio,1)/fs,size(audio,1));情节(t)、音频)ylabel (“振幅”) subplot(2,1,2) t = linspace(0,size(audio,1)/fs,size(flux,1));情节(t,通量)ylabel (“通量”)包含(“时间(s)”)
光谱斜率
光谱斜率(spectralSlope
)测量光谱的衰减量[15]:
在哪里
以Hz为单位的频率是否对应于bin 。
是平均频率。
光谱值在bin吗 。幅度谱是常用的。
为平均谱值。
而且 是带边,在箱子里,在上面计算光谱斜率。
谱斜率在语音分析中得到了广泛的应用,特别是在说话者应力建模方面[19].坡度与声带的共振特性直接相关,也被应用于说话人识别[21].谱斜率是音色的一个重要方面。谱斜率辨别已被证明发生在儿童早期发育[20.].当低谱峰的能量远大于高谱峰的能量时,谱斜率最为明显。
[au:] [au:]“FemaleSpeech-16-8-mono-3secs.wav”);Female = Female ./max(Female);femaleSlope = spectralSlope(female,femaleFs);t = linspace(0,size(female,1)/femaleFs,size(femaleSlope,1));次要情节(2,1,1)谱图(女,圆(femaleFs * 0.05),圆(femaleFs * 0.04),圆(femaleFs * 0.05), femaleFs,“桠溪”,“权力”子情节(2,1,2)情节(t,femaleSlope)标题(“女性演讲者”) ylabel (“坡”)包含(“时间(s)”)
光谱减少
光谱下降(spectralDecrease
)表示频谱的递减量,同时强调较低频率的斜率[1]:
在哪里
光谱值在bin吗 。幅度谱是常用的。
而且 是带边,在箱子里,在上面计算光谱下降。
在语音文献中,谱下降比谱斜率使用得少,但在音乐分析中,它和谱斜率一起被普遍使用。特别是,光谱下降已被证明在仪器识别中表现良好[22].
(吉他,吉他手)“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”);吉他=平均值(吉他,2);[鼓声,鼓声]“RockDrums-44p1-stereo-11secs.mp3”);鼓=平均值(鼓,2);guitarreduce = spectralreduce(吉他,guitarFs);drumsreduce = spectralreduce (drums,drumsFs);t1 = linspace(0,size(guitar,1)/guitarFs,size(guitarreduce,1));t2 = linspace(0,size(drums,1)/drumsFs,size(drumsreduce,1));subplot(2,1,1) plot(t1, guitarreduce)“吉他”) ylabel (“减少”轴([0 10 -0.3 0.3])subplot(2,1,2) plot(t2, drumsreduce) title(“鼓”) ylabel (“减少”)包含(“时间(s)”([0 10 -0.3 0.3])
光谱滚落点
光谱滚降点(spectralRolloffPoint
)测量音频信号的带宽,方法是确定总能量中某一给定百分比存在的频率仓[12]:
在哪里
光谱值在bin吗 。频率谱和功率谱都是常用的。
而且 是带边,在箱子里,在上面计算光谱滚落点。
是指定的能量阈值,通常为95%或85%。
被转换为Hz,然后由spectralRolloffPoint
。
声谱滚落点被用来区分浊音和浊音语音,语音/音乐辨别[12]、音乐类型分类[16],声学场景识别[17,音乐情绪分类[18].例如,观察语音、摇滚吉他、原声吉他和一个原声场景的滚落点的不同均值和方差。
Dur = 5;从每个文件中截取5秒。[语音,fs1] = audioread(“SpeechDFT-16-8-mono-5secs.wav”);Speech = Speech (1:min(end,fs1*dur));[电吉他,fs2] = audioread(“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”);electricGuitar =均值(electricGuitar,2);%转换为单声道进行比较。electricGuitar = electricGuitar(1:fs2*dur);[auditic吉他,f3] = audioread(“SoftGuitar-44p1_mono-10mins.ogg”);原声吉他=原声吉他(1:fs3*dur);[auditicscene,fs4] = audioread(“MainStreetOne-16-16-mono-12secs.wav”);auditicscene = auditicscene (1:fs4*dur);r1 = spectralRolloffPoint(speech,fs1);r2 = spectralRolloffPoint(electricGuitar,fs2);r3 = spectralRolloffPoint(auditicguitar,fs3);r4 = spectralRolloffPoint(auditicscene,fs4);T1 = linspace(0,size(speech,1)/fs1,size(r1,1));t2 = linspace(0,size(electricGuitar,1)/fs2,size(r2,1));t3 = linspace(0,size(auditicguitar,1)/fs3,size(r3,1));t4 = linspace(0,size(auditicscene,1)/fs4,size(r4,1)); figure plot(t1,r1) title(“演讲”) ylabel (“滚落点(Hz)”)包含(“时间(s)”)轴([0 5 0 4000])
图(t2,r2)“摇滚吉他”) ylabel (“滚落点(Hz)”)包含(“时间(s)”)轴([0 5 0 4000])
图图(t3,r3)木吉他的) ylabel (“滚落点(Hz)”)包含(“时间(s)”)轴([0 5 0 4000])
图(t4,r4)标题(“声场景”) ylabel (“滚落点(Hz)”)包含(“时间(s)”)轴([0 5 0 4000])
参考文献
彼得斯,G。CUIDADO项目中用于声音描述(相似性和分类)的大量音频特征集。技术报告;IRCAM:法国巴黎,2004年。
[2]格雷,约翰M.和约翰W.戈登。"谱修改对音色的知觉影响"美国声学学会杂志。1978年第5期,第63卷,第1493-1500页。
蕾米,埃里克,还有查尔斯·e·凯恩斯。语音学和音韵学中的片段。霍博肯,新泽西州:John Wiley & Sons Inc., 2015。
[4] Jongman, Allard, et al.《英语摩擦音的声学特征》。美国声学学会杂志。2000年第3期,第108卷第1252-1263页。
[5]张雪峰,张强,“基于谱峭度的稳健语音活动检测特征设计”。第一届教育技术与计算机科学国际研讨会, 2009, pp. 269-272。
米斯拉,H., S. Ikbal, H. Bourlard, H. Hermansky。基于谱熵的鲁棒ASR特征。2004年IEEE声学、语音和信号处理国际会议。
Pikrakis, T. Giannakopoulos和S. Theodoridis。一种高效的无线电录音语音/音乐鉴别器音乐信息检索及相关活动国际会议, 2006年。
[8] Pikrakis, A.等,“基于动态规划和贝叶斯网络的无线电录音语音/音乐鉴别器”。IEEE多媒体汇刊。2008年第5期第10卷第846-857页。
[9] Johnston, j.d.,“使用感知噪声标准的音频信号转换编码”。IEEE通讯选定领域杂志。1988年第6卷第2期,第314-323页。
[10] Lehner, Bernhard, et al.《关于减少歌唱声音检测中的假阳性》。2014年IEEE声学、语音和信号处理国际会议, 2014年。
[11] Y. Petetin, C. Laroche和A. Mayoue,“音频场景识别的深度神经网络,”2015第23届欧洲信号处理会议(EUSIPCO)2015.
[12]谢勒,E.和M.斯兰尼。鲁棒多特征语音/音乐鉴别器的构建与评估。1997年IEEE声学、语音和信号处理国际会议,1997。
[13] S. Dixon,《重新审视发病检测》。数字音频效果国际会议。第120卷,2006年,第133-137页。
[14]查内塔基斯,G.和P.库克。用于浏览和注释的多功能音频分割。1999年IEEE关于信号处理在音频和声学中的应用研讨会论文集,1999.
[15]亚历山大·莱赫。音频内容分析在信号处理和音乐信息学中的应用概论。皮斯卡塔韦,新泽西州:IEEE出版社,2012。
[16]李,涛,和M. Ogihara。《音乐体裁分类与分类学》我声学、语音和信号处理国际会议,2005。
[17]埃罗宁,a.j., v.t. Peltonen, j.t. Tuomi, a.p. Klapuri, S. Fagerlund, T. Sorsa, G. Lorho, J. Huopaniemi。“基于音频的上下文识别。”IEEE音频,语音和语言处理汇刊。2006年第1期第14卷第321-329页。
[18]任佳敏,吴明柱,张志成罗杰。基于音色和调制特征的音乐情绪自动分类IEEE情感计算汇刊。2015年第3期,第236-246页。
[19]汉森,约翰·h·L,桑杰·帕蒂尔。压力下的语音:分析、建模和识别。计算机科学课堂讲稿。Vol. 4343, 2007, pp. 108-137。
[20]曾丽华,李淑珍,劳蕾尔。婴儿期的光谱斜率辨别:对社会重要音色的敏感性婴儿行为与发展。2002年第2期,第25卷,第183-194页。
[21]默蒂,H.a., F.波菲斯,L.p.赫克,M.温特劳布。电话信道上健壮的与文本无关的说话人识别。IEEE语音与音频处理汇刊。1999年第5期,第554-568页。
[22] Essid, S. G. Richard和B. David。基于自动分类法的复调音乐乐器识别IEEE音频,语音和语言处理汇刊。2006年第1期,第14卷,第68-80页。