melSpectrogram
语法
描述
例子
计算梅尔光谱图
使用默认设置来计算梅尔声谱图整个音频文件。打印的带通滤波器滤波器组和梅尔·声谱图的帧数。
[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);S = melSpectrogram (audioIn fs);[numBands, numFrames] = (S)大小;流(“filterbank的带通滤波器数量:% d \ n”numBands)
filterbank的带通滤波器数量:32
流(“声谱图的帧数:% d \ n”numFrames)
谱图的帧数量:1551
绘制梅尔声谱图。
melSpectrogram (audioIn fs)
计算梅尔光谱2048点的窗口
梅尔·光谱的计算周期损害windows 2048点与1024点重叠。转换为使用4096点FFT频域。通过频域表示到64年half-overlapped三角形带通滤波器,跨度62.5赫兹到8 kHz范围。
[audioIn, fs] = audioread (“FunkyDrums-44p1-stereo-25secs.mp3”);S = melSpectrogram (audioIn fs,…“窗口”损害(2048,“周期”),…“OverlapLength”,1024,…“FFTLength”,4096,…“NumBands”,64,…“FrequencyRange”,62.5,8 e3);
调用melSpectrogram
再一次,这一次没有输出参数,以便您可以可视化梅尔·声谱图。输入音频是一个多路信号。如果你叫melSpectrogram
一个多通道的输入和输出参数,只绘制第一通道。
melSpectrogram (audioIn fs,…“窗口”损害(2048,“周期”),…“OverlapLength”,1024,…“FFTLength”,4096,…“NumBands”,64,…“FrequencyRange”,62.5,8 e3)
得到过滤器银行中心频率和分析窗口时间瞬间
melSpectrogram
应用频域滤波器银行窗口的音频信号。你可以得到滤波器的中心频率和相对应的时间瞬间分析windows作为第二个和第三个输出参数melSpectrogram
。
梅尔·声谱图,过滤器银行中心频率,分析窗口时间多路音频信号的瞬间。使用中心频率和时间瞬间情节梅尔为每个通道光谱图。
[audioIn, fs] = audioread (“AudioArray-16-16-4channels-20secs.wav”);(年代,cF, t) = melSpectrogram (audioIn fs);S = 10 * log10 (S + eps);%转换为策划dB为i = 1:尺寸(3),图(我)冲浪(t, cF, S(:,:我),“EdgeColor”,“没有”);包含(“时间(s)”)ylabel (的频率(赫兹),90年)视图([0])标题(sprintf (“频道% d ',我)轴([t (1) t(结束)cF (1) cF(结束)])结束
输入参数
audioIn
- - - - - -音频输入
列向量|矩阵
音频输入,指定为一个列向量或矩阵。如果指定为一个矩阵,该函数将列视为独立的音频通道。
数据类型:单
|双
fs
- - - - - -输入采样率(赫兹)
积极的标量
输入采样率在赫兹,指定为一个积极的标量。
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“WindowLength”, 1024年
窗口
- - - - - -应用于时域窗口
汉明(圆(fs * 0.3),“周期性”)
(默认)|向量
应用于时域窗口,指定为逗号分隔组成的“窗口”
和一个真正的向量。向量中的元素的数量必须在[1,大小(
]。向量中的元素的数量也必须大于audioIn
,1)OverlapLength
。
数据类型:单
|双
OverlapLength
- - - - - -分析窗口重叠长度(样本)
轮(0.02 *fs
)
(默认)|整数的范围[0,(WindowLength
- 1))
fs
)WindowLength
- 1))在样本,分析窗口重叠长度指定为逗号分隔组成的“OverlapLength”
和一个整数范围[0,(
。WindowLength
- 1))
数据类型:单
|双
FFTLength
- - - - - -数量的DFT点
WindowLength
(默认)|正整数
点数用来计算DFT,指定为逗号分隔组成的“FFTLength”
和一个正整数大于或等于WindowLength
。如果未指定的,FFTLength
默认为WindowLength
。
数据类型:单
|双
NumBands
- - - - - -梅尔带通滤波器
32
(默认)|正整数
梅尔带通滤波器,指定为逗号分隔组成的“NumBands”
和一个正整数。
数据类型:单
|双
FrequencyRange
- - - - - -频率范围的计算梅尔光谱图(赫兹)
[0fs
/ 2)
(默认)|双元素行向量
fs
/ 2)频率范围的计算梅尔·赫兹声谱图,指定为逗号分隔组成的“FrequencyRange”
双元素行向量和一个单调递增的值的范围[0,
。fs
/ 2)
数据类型:单
|双
SpectrumType
- - - - - -类型的梅尔·光谱图
“权力”
(默认)|“级”
梅尔·谱图类型,指定为逗号分隔组成的“SpectrumType”
和“权力”
或“级”
。
数据类型:字符
|字符串
WindowNormalization
- - - - - -应用窗口规范化
真正的
(默认)|假
应用窗口规范化,指定为逗号分隔组成的“WindowNormalization”
和真正的
或假
。当WindowNormalization
被设置为真正的
,梅尔谱图(或大小)是规范化去除时域的权力(或程度)窗口
。
数据类型:字符
|字符串
FilterBankNormalization
- - - - - -类型的过滤器银行规范化
“带宽”
(默认)|“区域”
|“没有”
类型的过滤器银行规范化,指定为逗号分隔组成的“FilterBankNormalization”
和“带宽”
,“区域”
,或“没有”
。
数据类型:字符
|字符串
输出参数
年代
——梅尔光谱图
矩阵列向量| |三维数组
梅尔·声谱图,返回为一个列向量,矩阵,或三维数组。的尺寸年代
是l——- - - - - -米——- - - - - -N,地点:
米是音频信号的帧数划分。
大小(
,audioIn
,1)WindowLength
,OverlapLength
确定米。N通道的数量,这样吗N=
大小(
。audioIn
,2)
拖单维度从输出中删除年代
。
数据类型:单
|双
F
-梅尔带通滤波器的中心频率(赫兹)
行向量
在赫兹梅尔带通滤波器的中心频率,返回一个行向量的长度大小(
。年代
,1)
数据类型:单
|双
T
——每个窗口的音频(s)的位置
行向量
每个分析窗口的位置的音频在几秒钟内,返回一个行向量的长度大小(
。对应于每个窗口的中心位置。年代
,2)
数据类型:单
|双
算法
的melSpectrogram
函数遵循通用的算法来计算一个梅尔光谱图中描述[1]。
在该算法中,首先缓冲音频输入的帧元素个数(
样品的数量。帧是重叠的窗口
)OverlapLength
样品的数量。指定的窗口
应用于每一帧,然后帧转换为频域表示FFTLength
点的数量。频域表示可以是大小或权力,规定SpectrumType
。如果WindowNormalization
被设置为真正的
靠窗的,光谱归一化。每一帧的频域表示经过梅尔过滤器银行。梅尔滤波器组的输出光谱值求和,然后通道连接,以便每一帧转换为NumBands
元列向量。
滤波器组的设计
梅尔·过滤器银行设计half-overlapped三角过滤器等距的mel刻度。NumBands
控制梅尔带通滤波器的数量。FrequencyRange
控制带边缘的第一个和最后一个过滤器梅尔·滤波器组。FilterBankNormalization
指定类型的标准化应用于个人的乐队。
引用
[1]拉宾,劳伦斯·R。,罗纳德·w·谢弗。数字语音处理的理论及应用。上台北:皮尔森,2010年。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
的melSpectrogram
函数支持优化代码生金宝app成使用单指令,指令多数据(SIMD)。关于SIMD代码生成的更多信息,请参阅为MATLAB生成SIMD代码功能(MATLAB编码器)。
GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
版本历史
介绍了R2019aR2023a:为计算生成优化的C / c++代码梅尔·声谱图
melSpectrogram
金宝app支持优化的C / c++代码生成使用单指令多数据(SIMD)指令。
R2020b:WindowLength
在将来的版本中被删除吗
的WindowLength
参数将被删除的melSpectrogram
在未来的发布功能。使用窗口
参数。
R2020b之前的版本中,您只能指定一个时域窗口的长度。窗口总是设计为一个周期汉明窗。你可以替换的实例代码
S = melSpectrogram (audioin fs,“WindowLength”,1024);
S = melSpectrogram (audioIn fs,“窗口”1024年,汉明(“周期”));
打开举例
你们possedez一个版本modifiee de cet(中央东部东京)为例。Souhaitez-vous打开cet(中央东部东京)为例用vos修改吗?
对MATLAB
你们有派对在联合国留置权,对应这个对MATLAB:
倒实行la对saisissez-la在fenetre德对MATLAB。Les navigateurs web不sup金宝appportent Les MATLAB命令。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。