計算 stfts
的逆 Short-time 傅裏葉變換。
用法
tf.signal.inverse_stft(
stfts, frame_length, frame_step, fft_length=None,
window_fn=tf.signal.hann_window, name=None
)
參數
-
stfts
Acomplex64
/complex128
[..., frames, fft_unique_bins]
Tensor
的 STFT bins 代表一批fft_length
點 STFT,其中fft_unique_bins
是fft_length // 2 + 1
-
frame_length
整數標量Tensor
。樣本中的窗口長度。 -
frame_step
整數標量Tensor
。要步進的樣本數。 -
fft_length
整數標量Tensor
。產生stfts
的 FFT 的大小。如果未提供,則使用包含frame_length
的 2 的最小冪。 -
window_fn
一個可調用對象,它采用窗口長度和dtype
關鍵字參數,並以提供的數據類型返回樣本的[window_length]
Tensor
。如果設置為None
,則不使用窗口。 -
name
操作的可選名稱。
返回
-
[..., samples]
Tensor
offloat32
/float64
信號表示stfts
中每個輸入 STFT 的反向 STFT。
拋出
-
ValueError
如果stfts
不是至少 2 級,frame_length
不是標量,frame_step
不是標量,或者fft_length
不是標量。
要重建原始波形,應將互補窗函數與 inverse_stft
一起使用。可以使用 tf.signal.inverse_stft_window_fn
構造這樣的窗口函數。例子:
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))
如果自定義 window_fn
與 tf.signal.stft
一起使用,則必須將其傳遞給 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))
使用 TPU/GPU-compatible 操作實現並支持漸變。
相關用法
- Python tf.signal.inverse_mdct用法及代碼示例
- Python tf.signal.ifftshift用法及代碼示例
- Python tf.signal.overlap_and_add用法及代碼示例
- Python tf.signal.frame用法及代碼示例
- Python tf.signal.linear_to_mel_weight_matrix用法及代碼示例
- Python tf.signal.fftshift用法及代碼示例
- Python tf.signal.mfccs_from_log_mel_spectrograms用法及代碼示例
- Python tf.size用法及代碼示例
- Python tf.summary.scalar用法及代碼示例
- Python tf.strings.substr用法及代碼示例
- Python tf.strings.reduce_join用法及代碼示例
- Python tf.sparse.cross用法及代碼示例
- Python tf.sparse.mask用法及代碼示例
- Python tf.strings.regex_full_match用法及代碼示例
- Python tf.sparse.split用法及代碼示例
- Python tf.strings.regex_replace用法及代碼示例
- Python tf.strings.length用法及代碼示例
- Python tf.strided_slice用法及代碼示例
- Python tf.sparse.to_dense用法及代碼示例
- Python tf.strings.bytes_split用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.signal.inverse_stft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。