in realbook/layers/signal.py [0:0]
def build(self, input_shape: tf.TensorShape) -> None:
if input_shape.rank > 2:
raise ValueError(
"realbook.layers.signal.Stft received an input shape of "
f"{input_shape}, but only supports inputs shaped "
"like (num_samples,) or (num_batches, num_samples)."
)
if self.window_length < self.fft_length:
self.final_window_fn = _create_padded_window(
window_fn=self.window_fn,
unpadded_window_length=self.window_length,
fft_length=self.fft_length,
)
if self.center:
self.spec = tf.keras.layers.Lambda(
lambda x: tf.pad(
x,
[[0, 0] for _ in range(input_shape.rank - 1)] + [[self.fft_length // 2, self.fft_length // 2]],
mode=self.pad_mode,
)
)
else:
self.spec = tf.keras.layers.Lambda(lambda x: x)