Spec-Zone.ru › TensorFlow 2.9

tf.signal.inverse_mdct

Вычисляет обратное модифицированное преобразование Косинуса-Дирака (MDCT) от mdcts.

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

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

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

tf.compat.v1.signal.inverse_mdct

tf.signal.inverse_mdct(
    mdcts,
    window_fn=tf.signal.vorbis_window,
    norm=None,
    name=None
)

Для восстановления исходной волны следует использовать ту же функцию окна с mdct и inverse_mdct.

Пример использования:

@tf.function
def compare_round_trip():
  samples = 1000
  frame_length = 400
  halflen = frame_length // 2
  waveform = tf.random.normal(dtype=tf.float32, shape=[samples])
  waveform_pad = tf.pad(waveform, [[halflen, 0],])
  mdct = tf.signal.mdct(waveform_pad, frame_length, pad_end=True,
                        window_fn=tf.signal.vorbis_window)
  inverse_mdct = tf.signal.inverse_mdct(mdct,
                                        window_fn=tf.signal.vorbis_window)
  inverse_mdct = inverse_mdct[halflen: halflen + samples]
  return waveform, inverse_mdct
waveform, inverse_mdct = compare_round_trip()
np.allclose(waveform.numpy(), inverse_mdct.numpy(), rtol=1e-3, atol=1e-4)
True

Реализовано с помощью совместимых с TPU/GPU операций и поддерживает градиенты.

Аргументы
mdcts A float32/float64 [..., frames, frame_length // 2] Tensor MDCT-бинов, представляющих пакет frame_length // 2-точечных MDCT.
window_fn Функция, которая принимает frame_length и dtype ключевое слово аргумента и возвращает [frame_length] Tensor выборок в указанном типе данных. Если установлено None, используется прямоугольное окно с масштабом 1/sqrt(2). Для идеального восстановления сигнала из mdct, за которым следует inverse_mdct, пожалуйста, используйте tf.signal.vorbis_window, tf.signal.kaiser_bessel_derived_window или None. При использовании другой функции окна убедитесь, что w[n]^2 + w[n + frame_length // 2]^2 = 1 и w[n] = w[frame_length - n - 1] для n = 0,...,frame_length // 2 - 1 для достижения идеального восстановления.
norm Если "ortho", выполняется ортонормированное обратное DCT4, если None, выполняется обычное dct4, за которым следует масштабирование 1/frame_length.
name Необязательное имя операции.
Возвращаемое значение
A [..., samples] Tensor float32/float64 сигналов, представляющих обратное MDCT для каждого входного MDCT в mdcts, где samples является (frames - 1) * (frame_length // 2) + frame_length.
Возможные исключения
ValueError Если mdcts не имеет хотя бы ранг 2.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/signal/inverse_mdct

Spec-Zone.ru

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