Skip to content

Rust library that provides waveform synthesis for no_std environments

Notifications You must be signed in to change notification settings

Carrigan/undosa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Undosa: Waveform Generation for I2S

Undosa is a Rust library that provides waveform synthesis for no_std environments meant for eventual ouput over I2S.

Example: Playing an A440 Sawtooth note with ADSR Filter

let generator = SawtoothWaveGenerator::new(44800, 440)
    .quantize(tempo, note_duration, detachment)
    .envelope(attack, decay, sustain, release);

let sample_0: i16 = generator.next().unwrap();

Working Sample Note

Setup:

  • STM32F4 Discovery Board
  • PCM5102 I2S Board
  • 48K Sample Rate, 16 bit audio

ADSR Photo

About

Rust library that provides waveform synthesis for no_std environments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages