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 2023-03-23 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 2023-03-23 UTC."],[],[]]