tf.keras.ops.stft

Short-Time Fourier Transform along the last axis of the input.

The STFT computes the Fourier transform of short overlapping windows of the input. This giving frequency components of the signal as they change over time.

x Input tensor.
sequence_length An integer representing the sequence length.
sequence_stride An integer representing the sequence hop size.
fft_length An integer representing the size of the FFT to apply. If not specified, uses the smallest power of 2 enclosing sequence_length.
window A string, a tensor of the window or None. If window is a string, available values are "hann" and "hamming". If window is a tensor, it will be used directly as the window and its length must be sequence_length. If window is None, no windowing is used. Defaults to "hann".
center Whether to pad x on both sides so that the t-th sequence is centered at time t * sequence_stride. Otherwise, the t-th sequence begins at time t * sequence_stride. Defaults to True.

A tuple containing two tensors - the real and imaginary parts of the STFT output.

Example:

x = keras.ops.convert_to_tensor([0.0, 1.0, 2.0, 3.0, 4.0])
stft(x, 3, 2, 3)
(array([[0.75, -0.375],
   [3.75, -1.875],
   [5.25, -2.625]]), array([[0.0, 0.64951905],
   [0.0, 0.64951905],
   [0.0, -0.64951905]]))