7个版本
0.11.1 | 2022年5月18日 |
---|---|
0.11.0 | 2022年4月24日 |
0.10.7 | 2022年4月2日 |
0.10.6 | 2022年3月11日 |
0.10.3 | 2021年10月18日 |
#45 在 辅助技术
每月下载量 21次
29KB
942 行
MIDNOTE
Midnote 是一个终端应用程序,可以读取MIDI文件,并以条形图的方式显示其音符,同时播放它。
目标
作为一名盲人音乐家,我自己发现很难独立学习新歌。
我看到了 Lunar Tabs,并希望制作一个类似的应用程序,但针对MIDI文件,因为好的guitarpro5标签是付费的,但可以下载很多优秀的MIDI文件。
功能标志
您可以使用以下功能标志之一选择不同的音频后端
--features=jack
:使用Jack后端。--features=winrt
:使用WinRT后端。
先决条件
Midnote 通过读取MIDI文件并解析其中的消息来工作。显示不需要MIDI设备(软件或硬件),但播放需要。
Windows自带默认的MIDI设备,声音很糟糕,而且延迟很大。强烈推荐Windows用户使用OmniMidi。
在*NIX上,您需要安装自己的MIDI合成器。我推荐使用 Fluidsynth。
在MacOS上,Fluidsynth 可用,并且应该与*NIX系统一样工作良好。
构建要求
您需要一个工作的 Rust 安装以及 rust 包管理器,cargo
(cargo
随 Rust 工具链一起提供)。在 *nix 上,您还需要 alsa 开发库
# debian / ubuntu
apt install libasound2-dev
# fedora / sentos
dnf install alsa-lib-devel
如果您想使用Jack后端,还需要jack开发库
# Debian and derivatives
apt install libjack-jackd2-dev
# RHEL and derivatives
dnf install jack-audio-connection-kit-devel
安装
Windows:使用Scoop
首先将 我的bucket 添加到scoop
添加 scoop 桶 insomnia https://github.com/inssomnimus/scoop-bucket
更新 scoop
scoop update
安装应用程序
scoop install midnote
下载预构建的二进制文件
预构建的二进制文件可以在 发布页面 找到。
BYOB: 构建您自己的二进制文件
git clone https://github.com/insomnimus/midnote
cd midnote
git checkout main
cargo install --path . --locked
# To use the jack or winrt backends, do the following:
cargo install --path . --locked --features=jack # or winrt
用法
您可以通过传递 midi 文件作为参数并可选地指定 MIDI 设备来启动 midnote。
# Open megalovania.mid, using the default MIDI device:
midnote ./megalovania.mid
# Specify another MIDI device:
midnote ./megalovania.mid --device 2
# List available MIDI devices:
midnote --list
要设置更多选项,请运行 midnote --help
。
配置
Midnote 接受一个配置文件 (*.json),使用 --config
命令行参数。默认配置如下
{
"colors": true,
"keys": {
"next": "Right",
"prev": "Left",
"replay": {
"Char": "r"
},
"solo": {
"Char": "s"
},
"silence": {
"Char": " "
},
"rewind": {
"Char": "p"
},
"exit": "Esc",
"help": {
"Char": "h"
}
}
}
可能的键
退格
回车
左
右
上
下
首页
尾页
翻页上
翻页下
制表符
前制表符
删除
插入
Esc
任何字母键也是有效的,但需要用 Char
对象包装,请参见上面的默认配置。
功能键的格式为 {"F": 1..=12 }
。
依赖项
~6–39MB
~571K SLoC