键盘弹钢琴,keyboard to play piano
Project description
key_musicz
声明: 禁止将本项目代码用于ai训练 declaration: Codes of this project are not allowed to be used for AI training or any other form of machine learning processes.
许可证从之前的项目拷贝的Appache许可证,后面有空找个MIT的换下
键盘按键弹钢琴的小程序
需要以下C库或资源文件:
fluidsynth: 读sf2音频文件(里面是各种乐器的按键音),根据指定按键生成音频数据
FluidR3_GM.sf2: 免费的sf2音频文件,当然你也可以用其他的
portaudio: windows下会随着pyaudio自动安装,linux需要自己安装
需要以下python库(会自动安装):
pyfluidsynth: 在python里调用fluidsynth库的封装代码
pyaudio: 音频数据传入声卡发音,实际调用的portaudio库
pynput: 监听键盘按键按下和放开
buildz: 配置文件读取
安装方式:
fluidsynth:
ubuntu:
apt install fluidsynth
windows:
https://github.com/FluidSynth/fluidsynth/releases
windows下是压缩包,解压后要把解压路径/bin加到PATH中,注意github时不时会连不上,可以试试镜像加速之类的
pyfluidsynth:
pyaudio:
pynput:
buildz:
安装本库的时候自动安装,其中linux下的pyaudio可能会报错,需要先手动安装portaudio
pip install key_musicz
程序运行:
python -m key_musicz.run 参数
参数如下:
[-s/--sfile=]sf2文件
[-f/--fp=]额外配置文件(没啥用)
[-t/--default=]主要配置文件(默认预制的play.js)
[-l/--libpath=]windows下fluidsynth库的bin的路径
[-h/--help]
例:
python -m key_musicz.run -s./FluidR3Mono_GM.sf2 -l./lib -tplayrb.js
默认配置文件(key_music/conf目录下):
通用配置:
按住shift+主键盘的数字键盘调整基调,~退出,空格切音
play.js:
从左到右从下到上音调依次升高
音调从低到高顺序:
zxcvbnm,./`alt_l``alt_r` (该组受基调影响:shift+1,3,5,7,9)
asdfghjkl;'`enter` (该组受基调影响:shift+1,3,5,7,9)
qwertyuiop[] (该组受基调影响:shift+2,4,6,8,0)
1234567890-= (该组受基调影响:shift+2,4,6,8,0)
playblk.js:
主要2*6作为一组,组内大体从左到右,上到下升高音调
音调从低到高顺序:
12345qwert6y (该组受基调影响:shift+1,3,5,7,9)
asdfgzxcvb`alt_l`h (该组受基调影响:shift+1,3,5,7,9)
jkl;'nm,./`alt_r``enter` (该组受基调影响:shift+2,4,6,8,0)
7890-uiop[=] (该组受基调影响:shift+2,4,6,8,0)
playrb.js
主要2*6作为一组,组内大体从左到右,下到上升高音调
音调从低到高顺序: :
qwert12345y6 (该组受基调影响:shift+1,3,5,7,9)
zxcvbasdfg`alt_l`h (该组受基调影响:shift+1,3,5,7,9)
nm,./jkl;'`alt_r``enter` (该组受基调影响:shift+2,4,6,8,0)
uiop[7890-]= (该组受基调影响:shift+2,4,6,8,0)
playbb.js
主要2*6作为一组,组内大体从左到右升高音调,左边从上到下升高,右边从下到上升高
音调从低到高顺序: :
12345qwert6y (该组受基调影响:shift+1,3,5,7,9)
asdfgzxcvb`alt_l`h (该组受基调影响:shift+1,3,5,7,9)
nm,./jkl;'`alt_r``enter` (该组受基调影响:shift+2,4,6,8,0)
uiop[7890-]= (该组受基调影响:shift+2,4,6,8,0)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
key_musicz-0.1.5.tar.gz
(15.9 kB
view details)
File details
Details for the file key_musicz-0.1.5.tar.gz.
File metadata
- Download URL: key_musicz-0.1.5.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b3442e52a6b45c7c31b110151b78d10239845017e4bec18c75701b2900bc575
|
|
| MD5 |
f02130f923ad987995e3dc22dae44b4f
|
|
| BLAKE2b-256 |
9cff3d8d2b5fc87148327d541f3db5d46a942ead084e7ba909893dcbd40872ba
|