Skip to main content

square_wave

Function square_wave 

Source
pub fn square_wave<T>(
    frequency: f64,
    duration: Duration,
    sample_rate: NonZeroU32,
    amplitude: f64,
) -> AudioSamples<'static, T>
where T: StandardSample,
Expand description

Generates a square wave with the specified parameters.

Each sample is +amplitude when sin(2π · frequency · t) ≥ 0 and −amplitude otherwise, producing an ideal (non-band-limited) square wave. The duty cycle is fixed at 50%.

§Arguments

  • frequency – Frequency of the square wave in Hz.
  • duration – Duration of the generated signal.
  • sample_rate – Sampling rate in Hz.
  • amplitude – Peak amplitude.

§Returns

A mono AudioSamples buffer containing the generated square wave.

§Examples

use audio_samples::utils::generation::square_wave;
use audio_samples::sample_rate;
use std::time::Duration;

let wave = square_wave::<f32>(440.0, Duration::from_millis(10), sample_rate!(44100), 1.0);
assert_eq!(wave.num_channels().get(), 1);