def build()

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)