smst.models.dft module¶
Functions that implement analysis and synthesis of sounds using the Discrete Fourier Transform.
For example usage check the smst.ui.models.dftModel_function module.
-
smst.models.dft.apply_normalized_window(samples, window)¶
-
smst.models.dft.apply_zero_phase_window(samples, window, fft_size)¶
-
smst.models.dft.from_audio(samples, window, fft_size)¶ Analyzes time-domain samples of a real signal using the Discrete Fourier Transform (DFT) into magnitude and phase spectrum of positive frequencies.
Parameters: - samples – samples of the input signal
- window – samples of the analysis window
- fft_size – size of the spectrum (power of two)
Returns: - magnitude_db_spectrum: magnitude spectrum (in decibels) of positive frequencies
- phase_spectrum: unwrapped phase spectrum of positive frequencies
-
smst.models.dft.half_window_sizes(window_size)¶
-
smst.models.dft.select_magnitude_db_spectrum(spectrum)¶ Computes magnitude spectrum in decibels from complex-valued spectrum.
-
smst.models.dft.select_phase_spectrum(spectrum, phase_eps=1e-14)¶ Computes unwrapped phase spectrum out of complex spectrum.
Parameters: - spectrum – complex-valued spectrum
- tol – threshold used to compute phase
-
smst.models.dft.select_positive_spectrum(spectrum)¶ Selects positive frequencies from a full spectrum.
-
smst.models.dft.spectrum_from_phase_and_magnitude(pos_magnitude_db_spectrum, pos_phase_spectrum, fft_size)¶
-
smst.models.dft.to_audio(magnitude_db_spectrum, phase_spectrum, window_size)¶ Synthesizes samples of windowed time-domain signal from the positive magnitude and phase spectrum using the Inverse Discrete Fourier Transform (IDFT).
Parameters: - magnitude_db_spectrum – positive magnitude spectrum in decibels
- phase_spectrum – positive phase spectrum
- window_size – window size (also size of the output signal)
Returns: samples: reconstructed samples of the windowed signal
-
smst.models.dft.unapply_zero_phase_window(fft_buffer, window_size)¶