tf.signal.inverse_stft
Stay organized with collections Save and categorize content based on your preferences.
Computes the inverse Short-time Fourier Transform of stfts
.
tf.signal.inverse_stft( stfts, frame_length, frame_step, fft_length=None, window_fn=tf.signal.hann_window
, name=None )
To reconstruct an original waveform, a complementary window function should be used with inverse_stft
. Such a window function can be constructed with tf.signal.inverse_stft_window_fn
. Example:
frame_length = 400 frame_step = 160 waveform = tf.random.normal(dtype=tf.float32, shape=[1000]) stft = tf.signal.stft(waveform, frame_length, frame_step) inverse_stft = tf.signal.inverse_stft( stft, frame_length, frame_step, window_fn=tf.signal.inverse_stft_window_fn(frame_step))
If a custom window_fn
is used with tf.signal.stft
, it must be passed to tf.signal.inverse_stft_window_fn
:
frame_length = 400 frame_step = 160 window_fn = tf.signal.hamming_window waveform = tf.random.normal(dtype=tf.float32, shape=[1000]) stft = tf.signal.stft( waveform, frame_length, frame_step, window_fn=window_fn) inverse_stft = tf.signal.inverse_stft( stft, frame_length, frame_step, window_fn=tf.signal.inverse_stft_window_fn( frame_step, forward_window_fn=window_fn))
Implemented with TPU/GPU-compatible ops and supports gradients.
Args |
stfts | A complex64 /complex128 [..., 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. |
Returns |
A [..., samples] Tensor of float32 /float64 signals representing the inverse STFT for each input STFT in stfts . |
Raises |
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. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[]]