帮助中心帮助中心
估计基本的音频信号的频率
f0 =音高(audioIn fs)
f0 =音高(audioIn、fs、名称=值)
(f0、loc) =节(___)
节(___)
例子
f0=节(audioIn,fs)回报估计的基本频率随着时间的音频输入,audioIn,采样率fs。列的输入被视为个人渠道。
f0=节(audioIn,fs)
f0
audioIn
fs
f0=节(audioIn,fs,名称=值)使用一个或多个名称参数指定选项。
f0=节(audioIn,fs,名称=值)
名称=值
(f0,疯狂的)=节(___)返回的位置,疯狂的,与基本频率估计。您可以指定一个输入组合的任何以前的语法。
(f0,疯狂的)=节(___)
疯狂的
节(___)没有输出参数块估计与时间。
全部折叠
读入一个音频信号。调用球场估计的基本频率。
球场
[audioIn, fs] = audioread (“Hey-16-mono-6secs.ogg”);f0 =音高(audioIn, fs);
听音频信号和情节的信号和音高。的球场函数估计的基本频率随着时间的推移,但估计只是谐波的有效区域。
声音(audioIn fs) tiledlayout (2, 1) nexttile t =(0:长度(audioIn) 1) / fs;情节(t, audioIn)包含(“时间(s)”)ylabel (“振幅”网格)小轴紧nexttile音高(audioIn fs)
读入一个音频信号并提取。
[x, fs] = audioread (“SingingAMajor-16-mono-18secs.ogg”);t =(0:大小(x, 1) 1) / fs;winLength =圆(0.05 * fs);overlapLength =圆(0.045 * fs);[f0, idx] = =音高(x, fs,方法“SRH”WindowLength = winLength OverlapLength = OverlapLength);tf0 = idx / fs;
听音频和音频和音高估计。
声音(x, fs)图tiledlayout (2, 1) nexttile情节(t, x) ylabel (“振幅”)标题(“音频信号”)轴紧nexttile音高(x, fs,方法=“SRH”WindowLength = winLength OverlapLength = OverlapLength)标题(“估计”)
的球场函数估计重叠分析窗口。距估计只有有效如果分析窗口有一个谐波分量。调用harmonicRatio函数使用相同的窗口和重叠长度用于基音检测。情节音频、音高和谐波比率。
harmonicRatio
hr = harmonicRatio (x, fs =汉明窗(winLength,“周期”),OverlapLength = OverlapLength);图tiledlayout (3,1) nexttile情节(t, x) ylabel (“振幅”)标题(“音频信号”)轴紧nexttile音高(x, fs,方法=“SRH”WindowLength = winLength OverlapLength = OverlapLength)标题(“估计”)包含(”“)nexttile harmonicRatio (x, fs,窗口=汉明(winLength,“周期”),OverlapLength = OverlapLength)标题(“谐波比率”)
使用谐波比率作为有效的阈值决定。如果谐波比率小于阈值,设置间距决定南。策划的结果。
南
阈值= 0.9;f0 (hr <阈值)=南;图绘制(tf0 f0)包含(“时间(s)”)ylabel (“球场(Hz)”)标题(“估计”网格)在
读入一个音频信号的一个女声说“体积”五次。听音频。
[femaleVoice, fs] = audioread (“FemaleVolumeUp-16-mono-11secs.ogg”);声音(femaleVoice fs)
读入一个音频信号的一个男性声音说“体积”五次。听音频。
maleVoice = audioread (“MaleVolumeUp-16-mono-6secs.ogg”);声音(maleVoice fs)
提取音高的女性和男性的录音。绘制柱状图的音高估计男性和女性的录音。直方图有类似的形状。这是因为场上决定包含沉默无声的语言和地区的结果。
f0Female =音高(femaleVoice, fs);f0Male =音高(maleVoice, fs);图numBins = 20;直方图(f0Female numBins正常化=“概率”);持有在直方图(f0Male numBins正常化=“概率”);传奇(“女声”,“男性声音”)包含(“球场(Hz)”)ylabel (“概率”)举行从
使用detectSpeech函数孤立区域的演讲音频信号,然后从只有那些演讲区域提取音高。
detectSpeech
speechIndices = detectSpeech (femaleVoice, fs);f0Female = [];为2 = 1:尺寸(speechIndices 1) speechSegment = femaleVoice (speechIndices (2, 1): speechIndices (2, 2));f0Female = [f0Female;沥青(speechSegment fs)];结束speechIndices = detectSpeech (maleVoice, fs);f0Male = [];为2 = 1:尺寸(speechIndices 1) speechSegment = maleVoice (speechIndices (2, 1): speechIndices (2, 2));f0Male = [f0Male;沥青(speechSegment fs)];结束
绘制柱状图的音高估计男性和女性的录音。现在距分布表现为预期。
图直方图(f0Female numBins正常化=“概率”);持有在直方图(f0Male numBins正常化=“概率”);传奇(“女声”,“男性声音”)包含(“球场(Hz)”)ylabel (“概率”)
加载一个音频文件的皮毛爱丽丝介绍和音频的采样率。
负载FurElise.mat首歌fs声音(歌曲,fs)
调用球场函数使用音高估计滤波器(PEF),搜索范围的50到800 Hz,窗口时间80毫秒,70毫秒的时间重叠,中值滤波长度为10。
PEF
方法=“PEF”;范围= [50,800年];%赫兹winDur =0.08;%秒overlapDur =0.07;%秒medFiltLength =10;%的框架winLength =圆(winDur * fs);overlapLength =圆(overlapDur * fs);(f0、loc) =音高(宋、fs、…方法=方法,…范围=范围,…WindowLength = winLength,…OverlapLength = OverlapLength,…MedianFilterLength = medFiltLength);
情节估计与时间。
音高(宋、fs、…方法=方法,…范围=范围,…WindowLength = winLength,…OverlapLength = OverlapLength,…MedianFilterLength = medFiltLength);
创建一个dsp.AudioFileReader对象读取音频帧。
dsp.AudioFileReader
fileReader = dsp.AudioFileReader (“SingingAMajor-16-mono-18secs.ogg”);
创建一个voiceActivityDetector对象在流式音频检测声音的存在。
voiceActivityDetector
VAD = voiceActivityDetector;
虽然有未读的样本,从文件读取和确定的概率框架包含语音活动。如果帧包含语音活动,电话球场估计的基频音频帧。如果帧不包含语音活动,申报的基本频率南。
f0 = [];而~结束(fileReader) x = fileReader ();如果VAD (x) = > 0.99决定音高(x, fileReader.SampleRate…WindowLength =大小(x, 1),…OverlapLength = 0,…范围= [200340]);其他的决定=南;结束f0 = (f0;决定);结束
画出检测基音轮廓。
t = linspace(0,(长度(f0) * fileReader.SamplesPerFrame) / fileReader.SampleRate长度(f0));情节(t, f0) ylabel (“基本频率(赫兹)”)包含(“时间(s)”网格)在
的不同的方法估算提供取舍的噪声鲁棒性,准确性,优化滞后,和计算费用。在本例中,您比较不同的基音检测算法的性能方面的总周节误差(GPE)和不同噪声条件下计算时间。
准备测试信号
加载一个音频文件,并确定样品的数量。也负载真正的音高对应的音频文件。真正的球场被确定为平均几个第三方算法在干净的语音文件。
[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);numSamples =大小(audioIn, 1);负载TruePitch.mattruePitch
创建测试信号通过添加噪声音频信号的信噪比。的mixSNR函数是一个方便的函数本地这个例子中,一个信号,噪声,信噪比要求和请求返回一个嘈杂的信号信噪比。
mixSNR
testSignals = 0 (numSamples 4);涡轮= audioread (“Turbine-16-44p1-mono-22secs.wav”);testSignals (: 1) = mixSNR (audioIn涡轮20);testSignals (:, 2) = mixSNR (audioIn涡轮0);whiteNoiseMaker = dsp.ColoredNoise (“颜色”,“白色”,“SamplesPerFrame”大小(audioIn 1));testSignals (:, 3) = mixSNR (audioIn, whiteNoiseMaker (), 20);testSignals (:, 4) = mixSNR (audioIn, whiteNoiseMaker (), 0);
将噪声条件和算法名称保存为细胞标记和索引数组。
noiseConditions = {“涡轮机(20 dB)”,“涡轮机(0分贝)”,“WhiteNoise (20 dB)”,“WhiteNoise (0 dB) '};算法= {“NCF”,“PEF”,CEP的,“韩”,“SRH”};
运行的基音检测算法
Preallocate数组来保存每个算法和噪声条件对音高的决定,和定时信息。在一个循环中,调用球场函数在每个组合算法和噪声条件。每个算法都有一个最优的窗口长度与它相关联的。在这个示例中,为了简单起见,您可以使用默认的窗口长度为所有算法。转换使用中值滤波来平滑的决定。
f0 = 0(元素个数(truePitch),元素个数(算法),元素个数(noiseConditions));algorithmTimer = 0(元素个数(noiseConditions),元素个数(算法));为k = 1:元素个数(noiseConditions) x = testSignals (:, k);为i = 1:元素个数(算法)抽搐f0temp =音高(x, fs,…“范围”(300),…“方法”、算法{},…“MedianFilterLength”3);algorithmTimer (k, i) = toc;f0(1:马克斯(元素个数(f0temp),元素个数(truePitch)),我,k) = f0temp;结束结束
比较总周节误差
周节误差总值(GPE)是一种流行的指标比较的基音检测算法。GPE的定义是沥青的比例决定的相对误差大于给定的阈值,在语音研究传统的20%。计算GPE和打印命令窗口。
idxToCompare = ~ isnan (truePitch);truePitch = truePitch (idxToCompare);f0 = f0 (idxToCompare,:,);p = 0.20;GPE =意味着(abs (f0 1:元素个数(truePitch):,:) - truePitch) > truePitch。* p)。* 100;为本土知识= 1:元素个数(noiseConditions)流(‘\ nGPE (p = % 0.2 f),噪音= % s。\ n 'p noiseConditions{本土知识});为i = 1:大小(GPE、2)流(”——% s: % 0.1 f % % \ n '、算法{},GPE(1我ik))结束结束
GPE (p = 0.20),噪音=涡轮(20 dB)。
- NCF: 0.9%, PEF: 0.4% - CEP: 8.2% - lh: 8.2% - SRH: 6.0%
GPE (p = 0.20),噪音=涡轮(0分贝)。
- NCF: 5.6%, PEF: 24.5% - CEP: 11.6% - lh: 9.4% - SRH: 46.8%
GPE (p = 0.20),噪音= WhiteNoise (20 dB)。
- NCF: 0.9%, PEF: 0.0% - CEP: 12.9% - lh: 6.9% - SRH: 2.6%
GPE (p = 0.20),噪音= WhiteNoise(0分贝)。
- NCF: 0.4%, PEF: 0.0% - CEP: 23.6% - lh: 7.3% - SRH: 1.7%
计算平均时间处理一秒钟的数据为每个算法和打印结果。
= (algorithmTimer)。/ ((numSamples / fs) *元素个数(noiseConditions));为本土知识= 1:元素个数(算法)流(”——% s: % 0.3 f (s) \ n”本土知识、算法{},(ik))结束
- NCF: 0.015 (s) - PEF: 0.046 (s) - CEP: 0.015 (s) - lh: 0.019 (s) - SRH: 0.043 (s)
音频输入信号,指定为一个向量或矩阵。矩阵的列被视为个人音频通道。
数据类型:单|双
单
双
输入信号的采样率Hz,指定为一个积极的标量。
采样率必须大于或等于两倍的上限的搜索范围。指定搜索范围使用范围名称-值对。
范围
指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
Name1 = Value1,…,以=家
的名字
价值
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。
例子:音高(audioIn、fs、范围=[50150],方法=“PEF”)
音高(audioIn、fs、范围=[50150],方法=“PEF”)
[50400]
距估计,搜索范围指定为一个双元素行向量与正整数的值增加。函数搜索最佳估计的基本频率在指定的上部和下部带边向量,根据指定的算法方法。范围是包容性和单位是赫兹。
方法
有效值为搜索范围取决于采样率,fs和的值WindowLength和方法:
WindowLength
NCF
fs/WindowLength<范围(1)
范围(2)<fs/ 2
10 <范围(1)
范围(2)< min (4000fs/ 2)
CEP
fs/ (2 ^ nextpow2 (2 *WindowLength1)<范围(1)
韩
1 <范围(1)
范围(2)<fs/ 5 - 1
SRH
圆(fs* 0.052)
数量的样品在分析窗口中,指定为一个整数范围内[1分钟(大小(audioIn1),192000)]。典型分析窗口范围内20 - 100 ms。默认的窗口长度是52女士。
OverlapLength
圆(fs* 0.042)
重叠相邻的样本数量分析窗口,指定为一个整数的范围(负,WindowLength)。负重叠长度显示重叠分析窗口。
负
“NCF”
“PEF”
“CEP”
“韩”
“SRH”
方法用来估计音高,指定为“NCF”,“PEF”,“CEP”,“韩”,或“SRH”。不同方法的计算提供取舍的噪声鲁棒性,准确性,和计算费用。算法用于计算沥青是基于以下文件:
“NCF”,归一化相关函数[1]
“PEF”——音高估计滤波器[2]。这个函数不使用振幅压缩所描述的。
“CEP”——倒频谱间距的决心[3]
“韩”——Log-Harmonic求和[4]
“SRH”——剩余谐波的总和[5]
数据类型:字符|字符串
字符
字符串
MedianFilterLength
1
中值滤波器长度用来光滑音高估计随着时间的推移,指定为一个正整数。默认的,1,对应于中值滤波。中值滤波是一种后处理技术用于删除离群值而估算。这个函数使用movmedian后估计沥青使用指定的方法。
movmedian
估计基本频率,在赫兹,作为一个标量,返回向量或矩阵。返回的行数取决于的值WindowLength和OverlapLength名称-值对,在输入信号的大小。返回的列数(渠道)的列数取决于输入信号大小。
位置与基本频率估计,作为一个标量,返回向量或矩阵大小一样f0。
基本频率估计局部区域WindowLength样本。的值疯狂的对应于最近的样本数量最多(样本)用于估计基本频率。
的球场功能段的音频输入WindowLength和OverlapLength参数。每一帧的基本频率估计。位置输出,疯狂的包含最新的样品(大样本数据)相应的框架。
对算法的描述用于估算的基本频率,咨询相应的引用:
[1]阿塔尔,狗屁“自动说话人识别基于轮廓。”《美国声学学会杂志》上。52卷,6 b, 1972年,页1687 - 1697。
[2]冈萨雷斯、Sira和迈克布鲁克斯。“一个音高估计滤波器健壮的高水平的噪音(PEFAC)。”19th European Signal Processing Conference. Barcelona, 2011, pp. 451–455.
[3]诺尔(Michael A。“倒频谱的决心。”《美国声学学会杂志》上。2号卷31日,1967年,页293 - 309。
[4]爱马仕,Dik J。“测量次谐波求和的球场。”《美国声学学会杂志》上。1号卷。83年,1988年,页257 - 264。
[5]Drugman、托马斯和安倍Alwan。“联合健壮的表达检测和评估基于剩余谐波。”Proceedings of the Annual Conference of the International Speech Communication Association, INTERSPEECH. 2011, pp. 1973–1976.
这个函数完全支持GPU数组。金宝app有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
介绍了R2018a
audioFeatureExtractor|mfcc|detectSpeech|harmonicRatio|shiftPitch
audioFeatureExtractor
mfcc
shiftPitch
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室