[−][src]Crate 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());
Structs
Note | Represents a musical note. |
NotePitch | Represents the pitch of a note as defined here. |
Player | The |
Rest | Represents a musical rest. |
Enums
NoteDuration | Represents the relative duration of a note as defined here |
NoteType | Enum of all types of notes in the english naming convention. See here. |
ParseNotePitchError | Represents an error that can happen while parsing a |
Traits
Play |