Skip to main content

键盘弹钢琴,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


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)

Uploaded Source

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

Hashes for key_musicz-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1b3442e52a6b45c7c31b110151b78d10239845017e4bec18c75701b2900bc575
MD5 f02130f923ad987995e3dc22dae44b4f
BLAKE2b-256 9cff3d8d2b5fc87148327d541f3db5d46a942ead084e7ba909893dcbd40872ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page