[][src]Struct sonogram::spectrograph::SpecOptionsBuilder

pub struct SpecOptionsBuilder { /* fields omitted */ }

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.

Limitations

  • Currently the builder only allows for one channel of audio.

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();

Methods

impl SpecOptionsBuilder[src]

pub fn new(width: u32, height: u32) -> Self[src]

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

  • width - The final width of the spectrogram.
  • height - The final height of the spectrogram.

pub fn set_window_fn(&mut self, window: fn(_: u32, _: u32) -> f32) -> &mut Self[src]

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.

pub fn load_data_from_file(&mut self, fname: &Path) -> &mut Self[src]

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

Arguments

  • fname - The path to the file.

pub fn load_data_from_memory(
    &mut self,
    data: Vec<i16>,
    sample_rate: u32
) -> &mut Self
[src]

Load data directly from memory.

Arguments

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

pub fn downsample(&mut self, divisor: usize) -> &mut Self[src]

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.

pub fn build(&self) -> Spectrograph[src]

Last method to be called. This will calculate the colour gradients and generate an instance of Spectrograph.

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.