文档帮助中心文档
音频信号和听觉频谱图的频谱平坦度
平面度= spectralFlatness (x, f)
平面度=光谱平面度(x,f,名称,值)
[平坦度、算术平均值、几何平均值]=光谱平坦度(___)
实例
平面度= spectralFlatness (x,F)返回信号的谱平坦度,x,随着时间的推移。函数如何解释x取决于形状F.
平面度= spectralFlatness (x,F)
平面度
x
F
平面度= spectralFlatness (x,F,名称,值)指定使用一个或多个选项的选项名称,值对参数。
平面度= spectralFlatness (x,F,名称,值)
名称,值
[平面度,arithmeticMean,geometricMean) = spectralFlatness (___)返回光谱算术平均数和光谱几何平均数。
[平面度,arithmeticMean,geometricMean) = spectralFlatness (___)
arithmeticMean
geometricMean
全部折叠
读入音频文件,使用默认参数计算平面度,然后绘制结果。
[audioIn, fs] = audioread (“计数-16-44p1-mono-15秒波形”); 平坦度=频谱平坦度(单位:fs);t=linspace(0,尺寸(audioIn,1)/fs,尺寸(平整度,1));绘图(t,平面度)xlabel(“时间(s)”) ylabel (“平整度”)
读入音频文件,然后使用光谱图作用
光谱图
[audioIn, fs] = audioread (“计数-16-44p1-mono-15秒波形”); [s,cf,t]=频谱图(audioIn,fs);
计算mel谱图随时间的平坦度。绘制结果。
平面度=光谱平面度(s,cf);绘图(t,平面度)xlabel(“时间(s)”) ylabel (“平整度”)
读入音频文件。
[audioIn, fs] = audioread (“计数-16-44p1-mono-15秒波形”);
计算随时间变化的功率谱平坦度。计算重叠25 ms的50 ms汉明窗数据的平坦度。使用62.5 Hz到财政司司长/2用于平面度计算。绘制结果。
财政司司长
平坦度=频谱平坦度(音频输入,fs,...“窗口”,汉明(圆形(0.05*fs)),...“重叠长度”,圆形(0.025*fs),...“范围”, 62.5, f / 2);t = linspace(0,大小(audioIn 1) / fs,大小(平面度,1));情节(t,平面度)包含(“时间(s)”) ylabel (“平整度”)
创建一个音频文件读取器对象以逐帧读取音频数据。创建一个dsp。SignalSink进行谱平坦度的计算。
音频文件读取器
dsp。SignalSink
fileReader=dsp.AudioFileReader(“计数-16-44p1-mono-15秒波形”); 记录器=dsp.SignalSink;
在音频流循环中:
读入一帧音频数据。
计算音频帧的频谱平坦度。
记录光谱平坦度,以便以后绘制。
为了只计算给定输入帧的谱平坦度,指定一个与输入帧样本数目相同的窗口,并将重叠长度设为零。绘制记录的数据。
win=hamming(fileReader.sampleperframe);而~isDone(fileReader) audioIn = fileReader();平面度= spectralFlatness (audioIn fileReader。SampleRate,...“窗口”,赢了,...“重叠长度”,0); 记录器(平面度)终止情节(logger.Buffer) ylabel (“平整度”)
使用异步缓冲器如果
异步缓冲器
音频流循环的输入具有可变的每帧采样数。
音频流循环的输入与分析窗口的每帧采样数不一致spectralFlatness.
spectralFlatness
要计算重叠数据的光谱平坦度。
创建一个异步缓冲器对象,重置日志记录器,并释放文件读取器。
buff=dsp.AsyncBuffer;重置(记录器)释放(文件读取器)
指定光谱平坦度计算为50毫秒帧和25毫秒重叠。
fs = fileReader.SampleRate;samplesPerFrame =圆(fs * 0.05);samplesOverlap =圆(fs * 0.025);samplesPerHop = samplesPerFrame - samplesOverlap;赢得=汉明(samplesPerFrame);而~isDone(fileReader)audioIn=fileReader();write(buff,audioIn);而迷。NumUnreadSamples >= samplesPerHop audioBuffered = read(buff,samplesPerFrame,samplesOverlap); flatness = spectralFlatness(audioBuffered,fs,...“窗口”,赢了,...“重叠长度”,0); 记录器(平面度)终止终止发布(文件阅读器)
绘制记录的数据。
情节(logger.Buffer) ylabel (“平整度”)
输入信号,指定为矢量、矩阵或三维阵列。函数如何解释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.
指定可选的逗号分隔的字符对名称,值参数。名称是参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
“窗口”,哈明(256)
笔记
以下名称-值对参数适用于以下情况:x是一个时域信号。如果x是频域信号,忽略名称-值对参数。
窗
rectwin(圆(F*0.03))
应用于时域的窗口,指定为逗号分隔对,由“窗口”和一个实向量。向量中的元素数必须在[1,大小(x, 1)].向量中的元素数也必须大于OverlapLength.
“窗口”
大小(x, 1)
OverlapLength
圆的(F* 0.02)
相邻窗口之间重叠的样本数,指定为由逗号分隔的对组成“重叠长度”和范围为[0]的整数,大小(窗, 1)).
“重叠长度”
大小(窗, 1)
FFT长度
元素个数(窗)
用于计算加窗输入样本DFT的箱数,指定为逗号分隔对,由“FFTLength”一个正的标量整数。如果未指定的,FFT长度属性中的元素数量默认为窗.
“FFTLength”
范围
[0,F/2]
频率范围(以Hz为单位),指定为逗号分隔对,包括“范围”一个两元素的行向量在[0,F/2].
“范围”
谱型
“权力”
“级”
谱类型,指定为逗号分隔对,由“光谱类型”和“权力”或“级”:
“光谱类型”
“权力”——计算单边功率谱的谱平坦度。
“级”——谱平坦度计算为单边幅值谱。
数据类型:字符|一串
字符
一串
光谱平坦度,以标量、矢量或矩阵的形式返回。每一行的平面度对应于窗口的光谱平整度x. 每列平面度对应于一个独立的通道。
谱算术平均数,以标量、向量或矩阵的形式返回。每一行的arithmeticMean对应于窗口的谱的算术平均值x. 每列arithmeticMean对应于一个独立的通道。
谱几何平均值,作为标量、向量或矩阵返回。每行geometricMean对应于窗口光谱的几何平均值x. 每列geometricMean对应于一个独立的通道。
光谱平坦度的计算如中所述[1]:
平面度 = ( ∏ K = B 1. B 2. s K ) 1. B 2. − B 1. 1. B 2. − B 1. ∑ K = B 1. B 2. s K
哪里
sK是bin处的光谱值K.
B1.和B2.是波段边缘,在箱子里,在上面计算光谱扩散。
[1]约翰斯顿,法学博士。“利用感知噪声准则转换音频信号编码”。IEEE通信选定领域杂志.第6卷第2期,1988年,314-323页。
光谱休息
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
与当地办事处联系
得到审判现在