計算 log_mel_spectrograms
的 MFCC。
用法
tf.signal.mfccs_from_log_mel_spectrograms(
log_mel_spectrograms, name=None
)
參數
-
log_mel_spectrograms
[..., num_mel_bins]
float32
/float64
Tensor
of log-magnitude mel-scale 頻譜圖。 -
name
操作的可選名稱。
返回
-
[..., num_mel_bins]
float32
/float64
Tensor
的log_mel_spectrograms
的 MFCC。
拋出
-
ValueError
如果num_mel_bins
不是正數。
使用GPU-compatible ops 實現並支持漸變。
Mel-Frequency 倒譜係數 (MFCC) 計算包括獲取 log-magnitude mel-scale 頻譜圖的 DCT-II。 HTK 的 MFCC 使用 DCT-II 的特定縮放比例,這幾乎是正交歸一化。我們遵循這個約定。
返回所有num_mel_bins
MFCC,並由調用者根據其應用程序選擇 MFCC 的子集。例如,通常隻使用前幾個進行語音識別,因為這會導致信號的近似 pitch-invariant 表示。
例如:
batch_size, num_samples, sample_rate = 32, 32000, 16000.0
# A Tensor of [batch_size, num_samples] mono PCM samples in the range [-1, 1].
pcm = tf.random.normal([batch_size, num_samples], dtype=tf.float32)
# A 1024-point STFT with frames of 64 ms and 75% overlap.
stfts = tf.signal.stft(pcm, frame_length=1024, frame_step=256,
fft_length=1024)
spectrograms = tf.abs(stfts)
# Warp the linear scale spectrograms into the mel-scale.
num_spectrogram_bins = stfts.shape[-1].value
lower_edge_hertz, upper_edge_hertz, num_mel_bins = 80.0, 7600.0, 80
linear_to_mel_weight_matrix = tf.signal.linear_to_mel_weight_matrix(
num_mel_bins, num_spectrogram_bins, sample_rate, lower_edge_hertz,
upper_edge_hertz)
mel_spectrograms = tf.tensordot(
spectrograms, linear_to_mel_weight_matrix, 1)
mel_spectrograms.set_shape(spectrograms.shape[:-1].concatenate(
linear_to_mel_weight_matrix.shape[-1:]))
# Compute a stabilized log to get log-magnitude mel-scale spectrograms.
log_mel_spectrograms = tf.math.log(mel_spectrograms + 1e-6)
# Compute MFCCs from log_mel_spectrograms and take the first 13.
mfccs = tf.signal.mfccs_from_log_mel_spectrograms(
log_mel_spectrograms)[...,:13]
相關用法
- Python tf.signal.overlap_and_add用法及代碼示例
- Python tf.signal.frame用法及代碼示例
- Python tf.signal.linear_to_mel_weight_matrix用法及代碼示例
- Python tf.signal.fftshift用法及代碼示例
- Python tf.signal.inverse_mdct用法及代碼示例
- 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.mfccs_from_log_mel_spectrograms。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。