Skip to main content

SpectrogramParams

Struct SpectrogramParams 

Source
pub struct SpectrogramParams { /* private fields */ }
Expand description

Spectrogram computation parameters.

  • stft: STFT parameters
  • sample_rate_hz: Sample rate in Hz

Implementations§

Source§

impl SpectrogramParams

Source

pub fn new(stft: StftParams, sample_rate_hz: f64) -> SpectrogramResult<Self>

Create new spectrogram parameters.

§Arguments
  • stft - STFT parameters
  • sample_rate_hz - Sample rate in Hz
§Errors

Returns an error if the sample rate is not positive and finite.

§Returns

A SpectrogramParams instance.

Source

pub fn builder() -> SpectrogramParamsBuilder

Create a builder for spectrogram parameters.

§Errors

Returns an error if required parameters are not set or are invalid.

§Returns

A builder for SpectrogramParams.

§Examples
use spectrograms::{SpectrogramParams, WindowType, nzu};

let params = SpectrogramParams::builder()
    .sample_rate(16000.0)
    .n_fft(nzu!(512))
    .hop_size(nzu!(256))
    .window(WindowType::Hanning)
    .centre(true)
    .build()?;

assert_eq!(params.sample_rate_hz(), 16000.0);
Source

pub fn speech_default(sample_rate_hz: f64) -> SpectrogramResult<Self>

Create default parameters for speech processing.

§Arguments
  • sample_rate_hz - Sample rate in Hz
§Returns

A SpectrogramParams instance with default settings for music analysis.

§Errors

Returns an error if the sample rate is not positive and finite.

Uses:

  • n_fft: 512 (32ms at 16kHz)
  • hop_size: 160 (10ms at 16kHz)
  • window: Hanning
  • centre: true
Source

pub fn music_default(sample_rate_hz: f64) -> SpectrogramResult<Self>

Create default parameters for music processing.

§Arguments
  • sample_rate_hz - Sample rate in Hz
§Returns

A SpectrogramParams instance with default settings for music analysis.

§Errors

Returns an error if the sample rate is not positive and finite.

Uses:

  • n_fft: 2048 (46ms at 44.1kHz)
  • hop_size: 512 (11.6ms at 44.1kHz)
  • window: Hanning
  • centre: true
Source

pub const fn stft(&self) -> &StftParams

Get the STFT parameters.

Source

pub const fn sample_rate_hz(&self) -> f64

Get the sample rate in Hz.

Source

pub fn frame_period_seconds(&self) -> f64

Get the frame period in seconds.

Source

pub fn nyquist_hz(&self) -> f64

Get the Nyquist frequency in Hz.

Trait Implementations§

Source§

impl Clone for SpectrogramParams

Source§

fn clone(&self) -> SpectrogramParams

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SpectrogramParams

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for SpectrogramParams

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for SpectrogramParams

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for SpectrogramParams

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Ungil for T
where T: Send,