光谱描述符
音频工具箱™提供了一套描述形状的函数,有时称为音色音频。本示例定义了用于确定光谱特征的方程,引用了每个特征的常见用法,并提供了示例,以便您可以直观地了解光谱描述符所描述的内容。
谱描述符广泛应用于机器和深度学习应用,以及感知分析。光谱描述符已应用于一系列应用,包括:
频谱质心
光谱质心(spectralCentroid
)为非加权和归一化后的频率加权和[1]:
在哪里
以Hz为单位的频率是否对应bin .
光谱值在bin吗 .震级谱和功率谱都是常用的。
而且 是带边,以箱为单位,在其上计算光谱质心。
光谱质心代表光谱的“重心”。它被用来表示亮度[2],通常用于音乐分析和类型分类。例如,观察音频文件中与高帽子命中相对应的质心的跳跃。
[音频,fs] = audioread(“FunkyDrums-44p1-stereo-25secs.mp3”);音频= sum(音频,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(音频,1)/fs,size(质心,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(音频,1)/fs,size(质心,1));情节(t,质心)包含(“时间(s)”) ylabel (“重心(Hz)”)
光谱扩散
光谱扩展(spectralSpread
)为围绕谱心的标准差[1]:
在哪里
以Hz为单位的频率是否对应bin .
光谱值在bin吗 .震级谱和功率谱都是常用的。
而且 是带边,以箱为单位,在其上计算光谱扩展。
是谱质心。
谱展表示光谱的“瞬时带宽”。它被用来表示音调的主导地位。例如,扩散随着音调的发散而增加,随着音调的收敛而减少。
Fs = 16e3;tone = audioooscillator (“SampleRate”fs,“NumTones”2,“SamplesPerFrame”, 512,“频率”(2000、100));持续时间= 5;numLoops = floor(duration*fs/tone.SamplesPerFrame);信号= [];为i = 1:numLoops信号=[信号;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;tone = audioooscillator (“SampleRate”fs,“NumTones”4“SamplesPerFrame”fs,“频率”, 500, 2000, 2500, 4000,“振幅”[0, 0.4, 0.6, 1]);信号= [];为I = 1:持续时间信号=[信号;音调()];基调。振幅=音调。振幅+ [0.01,0,0,-0.01];结束skewness(信号,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(噪声));斜坡= linspace(0,.25,数字(噪音))';噪音=噪音。*斜坡;audioIn = audioIn +噪声;峰度= 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 (“峰度”)
谱熵
谱熵(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;[语音,语音]= audioread(“彩虹- 16 - 8 mono - 114 secs.wav”);speech = resample(speech,fs,speechFs);Speech = Speech ./max(Speech);[music,musicFs] = audioread(“rockguitar - 16 - 96立体声- 72 secs.flac”);音乐= sum(音乐,2)/2;music = resample(music,fs,musicFs);音乐= Music ./max(音乐);[background,backgroundFs] = audioread(“Ambiance-16-44p1-mono-12secs.wav”);background = resample(background,fs,backgroundFs);Background = Background ./max(Background);语音熵= spectral熵(语音,fs);musicEntropy = spectralEntropy(音乐,fs);backgroundEntropy = spectralEntropy(背景,fs);图h1 =直方图(语音熵);持有在h2 = histogram(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”);音频= sum(音频,2)/2;噪音=(2 *兰特(元素个数(音频),1)1)。* linspace(0、0.05、元素个数(音频))';音频=音频+噪音;平坦度= spectral平坦度(音频,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(音频,1)/fs,size(平面度,1));情节(t,平面度)ylabel (“平坦”)包含(“时间(s)”)
谱平坦度也已成功应用于歌唱语音检测[10]和音频场景识别[11].
光谱波峰
谱峰(spectralCrest
)量度频谱的最大值与频谱的算术平均值之比[1]:
在哪里
光谱值在bin吗 .震级谱和功率谱都是常用的。
而且 是带边,以箱为单位,在其上计算光谱波峰。
谱峰是光谱峰值的指示。较高的光谱波峰表明更多的调性,而较低的光谱波峰表明更多的噪声。
[音频,fs] = audioread(“waveguideloopone - 24 - 96立体声- 10 - secs.aif”);音频= sum(音频,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”);音频= sum(音频,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.].当低峰能量远大于高峰能量时,谱斜率最为明显。
[female,femaleFs] = audioread(“FemaleSpeech-16-8-mono-3secs.wav”);Female = Female ./max(女性);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,“桠溪”,“权力”) subplot(2,1,2) plot(t,femaleSlope)标题(“女性演讲者”) ylabel (“坡”)包含(“时间(s)”)
光谱减少
光谱下降(spectralDecrease
)表示频谱的下降量,同时强调较低频率的斜率[1]:
在哪里
光谱值在bin吗 .震级谱是常用的。
而且 是带边,以箱为单位,在其上计算光谱衰减。
在语音文献中,频谱衰减的使用频率低于频谱斜率,但在音乐分析中,它与斜率一起被普遍使用。特别是,光谱减少已被证明在仪器识别中表现良好[22].
[吉他,guitarFs] = audioread(“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”);吉他= mean(吉他,2);[鼓点,鼓点]= audioread(“RockDrums-44p1-stereo-11secs.mp3”);鼓=平均值(鼓,2);guitarreduce = spectralreduce(吉他,guitarFs);drumsreduce = spectralreduce(鼓,drumsFs);t1 = linspace(0,size(吉他,1)/guitarFs,size(吉他,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)“鼓”) ylabel (“减少”)包含(“时间(s)”)轴([0 10 -0.3 0.3])
光谱滚落点
光谱滚落点(spectralRolloffPoint
)量度音频讯号的频宽,方法是测定总能量的给定百分比所处的频仓[12]:
在哪里
光谱值在bin吗 .震级谱和功率谱都是常用的。
而且 是带边,以箱为单位,在其上计算光谱滚落点。
是指定的能量阈值,通常为95%或85%。
被转换为Hz,然后由spectralRolloffPoint
.
频谱滚转点已被用于区分浊音和清音语音,语音/音乐辨别[12]、音乐类型分类[16]、声场景识别[17],以及音乐情绪分类[18].例如,观察语音、摇滚吉他、原声吉他和原声场景的滚动点的不同均值和方差。
Dur = 5;从每个文件中截取5秒。[speech,fs1] = audioread(“SpeechDFT-16-8-mono-5secs.wav”);Speech = Speech (1:min(end,fs1*dur));[电子吉他,fs2] = audioread(“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”);电吉他= mean(电吉他,2);%转换为单声道进行比较。电吉他=电吉他(1:fs2*dur);[acousticGuitar,fs3] = audioread(“SoftGuitar-44p1_mono-10mins.ogg”);声学吉他=声学吉他(1:fs3*dur);[soundscene,fs4] = audioread(“MainStreetOne-16-16-mono-12secs.wav”);acousticScene =声学场景(1:fs4*dur);r1 = spectralRolloffPoint(语音,fs1);r2 = spectralRolloffPoint(电吉他,fs2);r3 = spectralRolloffPoint(acousticGuitar,fs3);r4 = spectralRolloffPoint(acousticScene,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(acousticGuitar,1)/fs3,size(r3,1));t4 = linspace(0,size(acousticScene,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])
参考文献
[1]彼得斯,G。CUIDADO项目中用于声音描述(相似性和分类)的大量音频特征集。技术报告;IRCAM:法国巴黎,2004年。
格雷,约翰·M,约翰·w·戈登。“光谱修饰对音乐音色的知觉影响”美国声学学会杂志。第63卷,第5期,1978年,第1493-1500页。
Raimy, Eric和Charles E. Cairns。语音学和音系学部分.霍博肯,新泽西州:John Wiley & Sons Inc., 2015。
[4]琼曼,阿拉德等,“英语摩擦语的声学特征”。美国声学学会杂志。第108卷,2000年第3期,第1252-1263页。
[5]张珊珊,郭玉玉,张q,“基于谱峰度的鲁棒语音活动检测特征设计”。第一届教育技术与计算机科学国际研讨会, 2009, pp. 269-272。
[6]米斯拉,H., S.伊克巴尔,H.波拉德和H.赫曼斯基。基于谱熵的鲁棒ASR特征。2004年IEEE声学、语音和信号处理国际会议.
[7] A. Pikrakis, T. Giannakopoulos, S. Theodoridis。“一种计算高效的无线电录音语音/音乐鉴别器。”音乐信息检索及相关活动国际会议, 2006年。
[8] Pikrakis, A.等,“基于动态规划和贝叶斯网络的无线电录音语音/音乐鉴别器”。IEEE多媒体汇刊。第10卷,第5期,2008,第846-857页。
[9] Johnston j.d.,“使用知觉噪声准则的音频信号转换编码”。IEEE通讯选定领域杂志。第6卷,第2期,1988年,第314-323页。
[10] Lehner, Bernhard等人,“关于减少唱歌声音检测中的假阳性。”2014 IEEE声学、语音与信号处理国际会议(ICASSP), 2014年。
[11] Y. Petetin, C. Laroche和A. Mayoue,“音频场景识别的深度神经网络,”2015年第23届欧洲信号处理会议(EUSIPCO)2015.
[12]谢勒,E., M.斯兰尼。鲁棒多特征语音/音乐鉴别器的构建和评估1997年IEEE声学、语音和信号处理国际会议,1997.
[13] S. Dixon,“重新审视发病检测。”数字音频效果国际会议。Vol. 120, 2006, pp. 133-137。
[14]扎内塔基斯,G.和P.库克。“浏览和注释的多功能音频分割。”1999年IEEE信号处理在音频和声学中的应用研讨会论文集,1999.
[15]勒奇,亚历山大。音频内容分析在信号处理和音乐信息学中的应用简介.皮斯卡塔韦,新泽西州:IEEE出版社,2012。
[16]李,陶,和小原。“音乐类型分类与分类学”我EEE声学、语音与信号处理国际会议,2005.
[17] Eronen, a.j., v.t. Peltonen, j.t. Tuomi, a.p. Klapuri, S. Fagerlund, T. Sorsa, G. Lorho和J. Huopaniemi。“基于音频的上下文识别。”IEEE音频、语音和语言处理汇刊。第14卷,第1期,2006,第321-329页。
[18]任嘉敏,吴明举,张志成罗杰。“基于音色和调制特征的音乐情绪自动分类。”IEEE情感计算汇刊。第6卷,2015年第3期,第236-246页。
[19]汉森,约翰·h·L,桑杰·佩蒂尔。压力下的言语:分析,建模和识别计算机科学课堂讲稿。Vol. 4343, 2007, pp. 108-137。
[20]曾荫权、克里斯汀·D和劳蕾尔·j·特雷纳。《婴儿期的光谱斜率辨别:对社会重要音色的敏感性》婴儿行为与发展。第25卷,2002年第2期,第183-194页。
[21]默蒂,h.a., F.波法斯,l.p.赫克和M.温特劳布。“在电话信道上的健壮的与文本无关的说话人识别。”IEEE语音与音频处理汇刊。第7卷,1999年第5期,第554-568页。
[22]埃西德,S., G.理查德,B.大卫。基于自动分类的复调音乐中的乐器识别IEEE音频、语音和语言处理汇刊。第14卷,第1期,2006,第68-80页。