Crates.io | simple_tones |
lib.rs | simple_tones |
version | 0.1.0 |
source | src |
created_at | 2021-01-10 23:06:41.529832 |
updated_at | 2021-01-10 23:06:41.529832 |
description | Easy to use crate to play music notes. |
homepage | |
repository | |
max_upload_size | |
id | 339600 |
size | 53,290 |
simple_tones
is an easy to use crate which provides abilities to write down and play music compositions easily.
Based on rodio
.
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());