Spec-Zone.ru › TensorFlow 1.15

tf.signal.linear_to_mel_weight_matrix

Просмотреть исходный код на GitHub

Возвращает матрицу для преобразования спектров линейной шкалы в шкалу мел.

Просмотр псевдонимов

Основные псевдонимы

`tf.contrib.signal.linear_to_mel_weight_matrix`

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.signal.linear_to_mel_weight_matrix, `tf.compat.v2.signal.linear_to_mel_weight_matrix`

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
)

Возвращает матрицу весов, которая может использоваться для перевешивания Tensor, содержащего num_spectrogram_bins линейно сэмплированную информацию о частоте из [0, sample_rate / 2] в num_mel_bins информацию о частоте из [lower_edge_hertz, upper_edge_hertz] по шкале мел.

Например, возвращаемая матрица A может использоваться для правого умножения спектрограммы S формы [frames, num_spectrogram_bins] значений спектра линейной шкалы (например, амплитуд STFT) для генерации «спектрограммы мел» 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)
# tf.tensordot does not support shape inference for this case yet.
M.set_shape(S.shape[:-1].concatenate(A.shape[-1:]))
Аргументы
num_mel_bins Целое число Python. Количество полос в полученном спектре мел.
num_spectrogram_bins Целое число. Количество бинов в исходных данных спектрограммы, которые интерпретируются как fft_size // 2 + 1, т.е. спектрограмма содержит только нередундантые бины FFT.
sample_rate Вещественное число Python. Образцы в секунду входного сигнала, используемые для создания спектрограммы. Нам это нужно, чтобы определить фактические частоты для каждого бита спектрограммы, что определяет, как они отображаются в шкале мел.
lower_edge_hertz Вещественное число Python. Нижняя граница частот, которые необходимо включить в спектр мел. Это соответствует нижнему краю самой нижней треугольной полосы.
upper_edge_hertz Вещественное число Python. Желаемый верхний край самой высокой частотной полосы.
dtype Тип результата матрицы. Должен быть вещественным типом.
name Необязательное имя операции.
Возвращает
Матрица Tensor формы [num_spectrogram_bins, num_mel_bins].
Исключения
ValueError Если num_mel_bins/num_spectrogram_bins/sample_rate не положительны, lower_edge_hertz отрицательно, границы частот упорядочены неправильно, upper_edge_hertz больше, чем частота Найквиста, или sample_rate не является вещественным числом Python или константным тензором.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/signal/linear_to_mel_weight_matrix

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API