文档帮助中心文档
音频信号和听觉谱图的波峰
波峰=频谱静止(x,f)
波峰=频谱静止(x,f,名称,值)
[crest、SPECTALPEAK、SPECTALMEAN]=SPECTALCREST(___)
实例
山顶=频谱休息(x,F)返回信号的频谱峰值,x,随着时间的推移。函数如何解释x取决于物体的形状F.
山顶=频谱休息(x,F)
山顶
x
F
山顶=频谱休息(x,F,名称、值)指定使用一个或多个选项的选项名称、值配对参数。
山顶=频谱休息(x,F,名称、值)
名称、值
[山顶,频谱峰,频谱平均]=频谱休息(___)返回光谱峰值和光谱平均值。
[山顶,频谱峰,频谱平均]=频谱休息(___)
频谱峰
频谱平均
全部崩溃
读入音频文件,使用默认参数计算波峰,然后绘制结果。
[audioIn,fs]=音频读取(“计数-16-44p1-mono-15秒波形”); crest=频谱休息(音频输入,fs);t=linspace(0,尺寸(audioIn,1)/fs,尺寸(crest,1));图(t、嵴)xlabel(‘时间’)伊拉贝尔(“波峰”)
读入音频文件,然后使用光谱图作用
光谱图
[audioIn,fs]=音频读取(“计数-16-44p1-mono-15秒波形”); [s,cf]=频谱图(audioIn,fs);
计算随时间变化的mel谱图峰值。绘制结果。
crest=频谱休息(s,cf);t=linspace(0,大小(音频输入,1)/fs,大小(crest,1));plot(t,crest)xlabel(‘时间’)伊拉贝尔(“波峰”)
读入音频文件。
[audioIn,fs]=音频读取(“计数-16-44p1-mono-15秒波形”);
计算随时间变化的功率谱峰值。计算重叠25ms的50ms汉明窗数据的波峰。使用62.5 Hz到50 Hz的范围财政司司长/2用于波峰计算。绘制结果。
财政司司长
crest=频谱休息(音频输入,fs,...“窗口”,汉明(圆形(0.05*fs)),...“重叠长度”,圆形(0.025*fs),...“范围”,[62.5,fs/2]);t=linspace(0,尺寸(audioIn,1)/fs,尺寸(crest,1));图(t、嵴)xlabel(‘时间’)伊拉贝尔(“波峰”)
创建一个音频文件读取器对象以逐帧读取音频数据。创建信号接收器记录波峰计算。
音频文件读取器
信号接收器
fileReader=dsp.AudioFileReader(“计数-16-44p1-mono-15秒波形”); 记录器=dsp.SignalSink;
在音频流循环中:
读入一帧音频数据。
计算音频帧的频谱峰值。
记录光谱波峰,以便以后绘制。
要仅计算给定输入帧的光谱峰值,请指定一个与输入具有相同采样数的窗口,并将重叠长度设置为零。
绘制记录的数据。
虽然~isDone(fileReader)audioIn=fileReader();crest=spectralCrest(audioIn,fileReader.SampleRate,...“窗口”,hamming(尺寸(audioIn,1)),...“重叠长度”,0); 记录器(顶部)终止plot(logger.Buffer)ylabel(“波峰”)
使用异步缓冲器如果
异步缓冲器
音频流循环的输入具有可变的每帧采样数。
音频流循环的输入与分析窗口的每帧采样数不一致光谱休息.
光谱休息
要计算重叠数据的光谱波峰。
创建一个异步缓冲器对象,重置记录器,然后释放文件读取器。
buff=dsp.AsyncBuffer;重置(记录器)释放(文件读取器)
指定为重叠25 ms的50 ms帧计算光谱峰值。
fs=fileReader.SampleRate;samplesPerFrame=round(fs*0.05);samplesOverlap=round(fs*0.025);samplesPerHop=samplesPerFrame-samplesOverlap;win=hamming(samplesPerFrame);虽然~isDone(fileReader)audioIn=fileReader();写入(buff,audioIn);虽然buff.numReadSamples>=samplesPerHop audioBuffered=读取(buff,samplesPerFrame,samplesOverlap);crest=频谱休息(audioBuffered,fs,...“窗口”赢...“重叠长度”,0); 记录器(顶部)终止终止发布(文件阅读器)
plot(logger.Buffer)ylabel(‘波峰(Hz)’)
输入信号,指定为向量、矩阵或三维数组。函数如何解释x取决于物体的形状F.
数据类型:仅有一个的|双重的
仅有一个的
双重的
采样率或频率向量,单位为Hz,分别指定为标量或向量。函数如何解释x取决于物体的形状F:
如果F是一个标量,x被解释为时域信号,并且F被解释为采样率。在这种情况下,x必须是实向量或矩阵。如果x指定为矩阵时,列被解释为单个通道。
如果F是一个向量,x被解释为频域信号,并且F被解释为频率,单位为Hz,对应于x.在这种情况下,x一定是真的L-借-M-借-N数组,在哪里L是给定频率下的光谱值的数量F,M是单个光谱的数量,以及N是通道数。
表的行数x,L,必须等于F.
指定可选的逗号分隔的字符对名称、值论据。名称是参数名和价值是对应的值。名称必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值.
名称
价值
名称1,值1,…,名称,值
“窗口”,哈明(256)
笔记
以下名称-值对参数适用于以下情况:x是时域信号。如果x是频域信号,忽略名称-值对参数。
窗
雷克特温(轮)(F*0.03))
应用于时域的窗口,指定为逗号分隔对,由“窗口”和一个实向量。向量中的元素数必须在[1,大小(x,1)]。向量中的元素数也必须大于重叠长度.
“窗口”
大小(x,1)
重叠长度
圆的(F*0.02)
相邻窗口之间重叠的样本数,指定为逗号分隔对,由“重叠长度”和范围为[0]的整数,大小(窗,1)).
“重叠长度”
大小(窗,1)
FFT长度
努梅尔(窗)
用于计算窗口化输入样本DFT的容器数,指定为逗号分隔对,包括“FFTLength”和正标量整数。如果未指定,FFT长度默认值为中的元素数窗.
“FFTLength”
范围
[0,F/2]
频率范围(以Hz为单位),指定为逗号分隔对,包括“范围”以及在[0]范围内增加实值的两元素行向量,F/2].
“范围”
谱型
“权力”
“震级”
频谱类型,指定为逗号分隔对,由“光谱类型”和“权力”或“震级”:
“光谱类型”
“权力”–为单侧功率谱计算谱峰。
“震级”–为单侧幅度谱计算谱峰。
数据类型:烧焦|一串
烧焦
一串
光谱波峰,作为标量、向量或矩阵返回。每行山顶对应于一个窗口的光谱波峰x. 每列山顶对应于一个独立的通道。
光谱峰值,作为标量、向量或矩阵返回。每行频谱峰对应于一个窗口的光谱波峰x. 每列频谱峰对应于一个独立的通道。
谱平均值,作为标量、向量或矩阵返回。每行频谱平均对应于一个窗口的光谱波峰x. 每列频谱平均对应于一个独立的通道。
光谱波峰的计算如中所述[1]:
山顶 = 最大值 ( s K ∈ [ B 1. , B 2. ] ) 1. B 2. − B 1. ∑ K = B 1. B 2. s K
哪里
sK是bin处的光谱值K.
B1.和B2.是用于计算光谱波峰的带边(以箱为单位)。
[1] Peeters,G.“CUIDADO项目中用于声音描述(相似性和分类)的大量音频特征”,《技术报告》;IRCAM:巴黎,法国,2004年。
光谱分布|光谱平坦度|光谱亮度
光谱分布
光谱平坦度
光谱亮度
您拥有此示例的修改版本。是否要用编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取翻译后的内容(如果可用),并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。
联系当地办事处
现在受审