pub struct SpecOptionsBuilder { /* private fields */ }
Expand description

A builder struct that will output a spectrogram creator when complete. This builder will require the height and width of the final spectrogram, at a minimum. However you can load data from a .wav file, or directly from a Vec memory object.

Example

  let mut spectrograph = SpecOptionsBuilder::new(512, 128)
    .set_window_fn(utility::blackman_harris)
    .load_data_from_file(&std::path::Path::new("test.wav"))?
    .build();

Implementations§

Create a new SpecOptionsBuilder. The final height and width of the spectrogram must be supplied. Before the build function can be called a load_data_from_* function needs to be called.

Arguments
  • num_bins - Number of bins in the discrete fourier transform (FFT)

Load a .wav file to memory and use that file as the input.

Arguments
  • fname - The path to the file.

Load data directly from memory - i16 version.

Arguments
  • data - The raw wavform data that will be converted to a spectrogram.
  • sample_rate - The sample rate, in Hz, of the data.

Load data directly from memory - f32 version.

Arguments
  • data - The raw wavform data that will be converted to a spectrogram. Samples must be in the range -1.0 to 1.0.
  • sample_rate - The sample rate, in Hz, of the data.

Down sample the data by the given divisor. This is a cheap way of improving the performance of the FFT.

Arguments
  • divisor - How much to reduce the data by.

Set the audio channel to use when importing a WAV file. By default this is 1.

Normalise all the sample values to range from -1.0 to 1.0.

Scale the sample data by the given amount.

A window function describes the type of window to use during the DFT (discrete fourier transform). See (here)[https://en.wikipedia.org/wiki/Window_function] for more details.

Arguments
  • window - The window function to be used.

This is the step size (as the number of samples) between each application of the window function. A smaller step size may increase the smoothness of the sample, but take more time. The default step size, if not set, is the same as the number of FFT bins. This there is no overlap between windows and it most cases will suit your needs.

The final method to be called. This will create an instance of [Spectrograph].

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.