simple_tones 0.1.0

Easy to use crate to play music notes.
Documentation
  • Coverage
  • 66.67%
    28 out of 42 items documented4 out of 5 items with examples
  • Size
  • Source code size: 80.87 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 686.52 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lennartkloock

simple_tones

simple_tones is an easy to use crate which provides abilities to write down and play music compositions easily. Based on rodio.

Example

use simple_tones::{Note, NoteDuration, Player};

type ND = NoteDuration;

let song = vec![
         Note::new("C4".parse().unwrap(), ND::Quarter),
         Note::new("C4".parse().unwrap(), ND::Quarter),
         Note::new("D4".parse().unwrap(), ND::Eighth),
         Note::new("Eb4".parse().unwrap(), ND::Eighth),
         // |
         Note::new("D4".parse().unwrap(), ND::HalfDotted),
         // |
         Note::new("C4".parse().unwrap(), ND::Eighth),
         Note::new("G3".parse().unwrap(), ND::Eighth),
         Note::new("Ab4".parse().unwrap(), ND::Quarter),
         Note::new("G3".parse().unwrap(), ND::Eighth),
         Note::new("F3".parse().unwrap(), ND::Eighth),
         // |
         Note::new("G3".parse().unwrap(), ND::HalfDotted),
         // |
         Note::new("C4".parse().unwrap(), ND::Quarter),
         Note::new("C4".parse().unwrap(), ND::Quarter),
         Note::new("D4".parse().unwrap(), ND::Eighth),
         Note::new("Eb4".parse().unwrap(), ND::Eighth),
         // |
         Note::new("F4".parse().unwrap(), ND::HalfDotted),
         // |
         Note::new("G4".parse().unwrap(), ND::Eighth),
         Note::new("Eb4".parse().unwrap(), ND::Eighth),
         Note::new("D4".parse().unwrap(), ND::Eighth),
         Note::new("C4".parse().unwrap(), ND::Eighth),
         Note::new("Bb4".parse().unwrap(), ND::Quarter),
         // |
         Note::new("C4".parse().unwrap(), ND::HalfDotted),
         // |
         Note::new("F3".parse().unwrap(), ND::Half),
     ];
 let np = Player::from_bpm(55);
 np.play(song.iter());