tf.contrib.signal.inverse_stft( stfts, frame_length, frame_step, fft_length=None, window_fn=functools.partial(window_ops.hann_window, periodic=True), name=None )
Defined in tensorflow/contrib/signal/python/ops/spectral_ops.py
.
Computes the inverse Short-time Fourier Transform of stfts
.
To reconstruct an original waveform, a complimentary window function should be used in inverse_stft. Such a window function can be constructed with tf.contrib.signal.inverse_stft_window_fn.
Example:
frame_length = 400 frame_step = 160 waveform = tf.placeholder(dtype=tf.float32, shape=[1000]) stft = tf.contrib.signal.stft(waveform, frame_length, frame_step) inverse_stft = tf.contrib.signal.inverse_stft( stft, frame_length, frame_step, window_fn=tf.contrib.signal.inverse_stft_window_fn(frame_step))
if a custom window_fn is used in stft, it must be passed to inverse_stft_window_fn:
frame_length = 400 frame_step = 160 window_fn = functools.partial(window_ops.hamming_window, periodic=True), waveform = tf.placeholder(dtype=tf.float32, shape=[1000]) stft = tf.contrib.signal.stft( waveform, frame_length, frame_step, window_fn=window_fn) inverse_stft = tf.contrib.signal.inverse_stft( stft, frame_length, frame_step, window_fn=tf.contrib.signal.inverse_stft_window_fn( frame_step, forward_window_fn=window_fn))
Implemented with GPU-compatible ops and supports gradients.
stfts
: A complex64
[..., frames, fft_unique_bins]
Tensor
of STFT bins representing a batch of fft_length
-point STFTs where fft_unique_bins
is fft_length // 2 + 1
frame_length
: An integer scalar Tensor
. The window length in samples.frame_step
: An integer scalar Tensor
. The number of samples to step.fft_length
: An integer scalar Tensor
. The size of the FFT that produced stfts
. If not provided, uses the smallest power of 2 enclosing frame_length
.window_fn
: A callable that takes a window length and a dtype
keyword argument and returns a [window_length]
Tensor
of samples in the provided datatype. If set to None
, no windowing is used.name
: An optional name for the operation.A [..., samples]
Tensor
of float32
signals representing the inverse STFT for each input STFT in stfts
.
ValueError
: If stfts
is not at least rank 2, frame_length
is not scalar, frame_step
is not scalar, or fft_length
is not scalar.
© 2018 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/api_docs/python/tf/contrib/signal/inverse_stft