#键盘 #键盘输入 #音符 #音高 #转换 #音乐

musical_keyboard

一个小型库,用于将键盘输入转换为音符

9个版本 (5个重大更改)

使用旧Rust 2015

0.6.0 2017年3月22日
0.5.0 2017年3月22日
0.4.0 2016年9月2日
0.3.1 2016年8月2日
0.1.0 2015年2月13日

#980音频

MIT 许可证

8KB
131

musical_keyboard 构建状态 Crates.io Crates.io docs.rs

一个小型库,用于将键盘输入转换为音符。

extern crate musical_keyboard;
use musical_keyboard::{Letter, MusicalKeyboard, NoteEvent, Key};

fn main() {
    let mut musical_keyboard = MusicalKeyboard::default();

    let on = musical_keyboard.key_pressed(Key::A);
    assert_eq!(Some(NoteOn { letter: Letter::C, octave: 2, velocity: 1.0 }), on);

    musical_keyboard.key_pressed(Key::X);
    let on = musical_keyboard.key_pressed(Key::D);
    assert_eq!(Some(NoteOn { letter: Letter::E, octave: 3, velocity: 1.0 }), on);

    let off = musical_keyboard.key_released(Key::D);
    assert_eq!(Some(NoteOff { letter: Letter::E, octave: 3 }), off);

    musical_keyboard.key_pressed(Key::C);
    let on = musical_keyboard.key_pressed(Key::Semicolon);
    assert_eq!(Some(NoteOn { letter: Letter::E, octave: 4, velocity: 0.95 }), on);
}

其行为模式基于Logic Studio X的音乐键盘。

许可证

根据以下许可证之一获得许可

任选其一。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义的您有意提交的任何贡献,均应按上述方式双许可,而不附加任何额外条款或条件。

依赖关系

~0.5–0.8MB
~12K SLoC