返回一个矩阵以将线性比例谱图扭曲到 mel 比例。
用法
tf.signal.linear_to_mel_weight_matrix(
num_mel_bins=20, num_spectrogram_bins=129, sample_rate=8000,
lower_edge_hertz=125.0, upper_edge_hertz=3800.0, dtype=tf.dtypes.float32,
name=None
)参数
-
num_mel_binsPython int. 生成的梅尔频谱中有多少条带。 -
num_spectrogram_bins一个整数Tensor。源频谱图数据中有多少个 bin,可以理解为fft_size // 2 + 1,即频谱图只包含非冗余 FFT bin。 -
sample_rate整数或浮点数Tensor。用于创建频谱图的输入信号的每秒样本数。用于计算与每个频谱图箱对应的频率,这决定了它们如何映射到梅尔标度中。 -
lower_edge_hertzPython浮点数。要包含在 mel 频谱中的频率的下限。这对应于最低三角带的下边。 -
upper_edge_hertzPython浮点数。最高频带的所需顶部边。 -
dtype结果矩阵的DType。必须是浮点类型。 -
name操作的可选名称。
返回
-
形状为
[num_spectrogram_bins, num_mel_bins]的Tensor。
抛出
-
ValueError如果num_mel_bins/num_spectrogram_bins/sample_rate不是正数,lower_edge_hertz是负数,频率边排序不正确,upper_edge_hertz大于奈奎斯特频率。
返回一个权重矩阵,该矩阵可用于重新加权 Tensor ,其中包含 num_spectrogram_bins 从 [0, sample_rate / 2] 线性采样的频率信息到来自 [lower_edge_hertz, upper_edge_hertz] 的 num_mel_bins 频率信息。
此函数遵循隐马尔可夫模型工具包 (HTK) 约定,根据以下公式以频率为单位定义梅尔标度:
$$\textrm{mel}(f) = 2595 * \textrm{log}_{10}(1 + \frac{f}{700})$$
在返回的矩阵中,所有三角形(滤波器组)的峰值均为 1.0。
例如,返回的矩阵 A 可用于 right-multiply 一个谱图 S 的形状为 [frames, num_spectrogram_bins] 的线性标度谱值(例如 STFT 幅度),以生成一个 "mel spectrogram" M 的形状 [frames, num_mel_bins] .
# `S` has shape [frames, num_spectrogram_bins]
# `M` has shape [frames, num_mel_bins]
M = tf.matmul(S, A)
该矩阵可与tf.tensordot 一起使用,将线性尺度频谱箱的任意秩Tensor 转换为梅尔尺度。
# S has shape [..., num_spectrogram_bins].
# M has shape [..., num_mel_bins].
M = tf.tensordot(S, A, 1)
相关用法
- Python tf.signal.overlap_and_add用法及代码示例
- Python tf.signal.frame用法及代码示例
- Python tf.signal.fftshift用法及代码示例
- Python tf.signal.inverse_mdct用法及代码示例
- Python tf.signal.mfccs_from_log_mel_spectrograms用法及代码示例
- Python tf.signal.ifftshift用法及代码示例
- Python tf.signal.inverse_stft用法及代码示例
- Python tf.size用法及代码示例
- Python tf.summary.scalar用法及代码示例
- Python tf.strings.substr用法及代码示例
- Python tf.strings.reduce_join用法及代码示例
- Python tf.sparse.cross用法及代码示例
- Python tf.sparse.mask用法及代码示例
- Python tf.strings.regex_full_match用法及代码示例
- Python tf.sparse.split用法及代码示例
- Python tf.strings.regex_replace用法及代码示例
- Python tf.strings.length用法及代码示例
- Python tf.strided_slice用法及代码示例
- Python tf.sparse.to_dense用法及代码示例
- Python tf.strings.bytes_split用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.signal.linear_to_mel_weight_matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
