1个不稳定版本
0.1.0 | 2021年1月10日 |
---|
#984 in 音频
18KB
198 代码行
simple_tones
simple_tones
是一个易于使用的crate,提供轻松编写和播放音乐作品的能力。基于 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());
依赖项
~1–5.5MB
~106K SLoC