关于python:谁在用-python-弹奏一曲菊花台

6次阅读

共计 1405 个字符,预计需要花费 4 分钟才能阅读完成。

想必各位在家曾经闲得快发疯了吧,鄙人当初的状态如下:

然而我不想这么萎靡上来,我想做点鄙俗的事件,看到朋友圈有人在手机 app 上弹《菊花台》,几乎太好听了。于是乎我也开始蠢蠢欲动,迅速下载 app,对着谱子弹了起来。

等等,我怎么感觉我的手速跟不上我的脑子,好怕街坊说我扰民啊

算了,我还是放弃吧,毕竟我没有这个艺术细胞。忽然我眉头一皱; 计上心来,咱也是算玩 Keyboard(打字的键盘和乐器的琴键都是同一个单词)的,不行就用 python 来操作吧!

刚开始我想的很简略,只须要下载个弹琴软件(我用的 FreePiano),而后用 python 操控键盘就 OK 了,然而马上就被打脸了,因为 python 的 pyautogui、pynput 等操控键盘鼠标的库根本无法弹出来声音,须要用 python 操控驱动级键盘才有用!这可难倒老夫了……

我开始疯狂搜寻,终于找到了解决办法,能够先下载 1 个虚构键盘,而后用 python 来操控虚构键盘,那么这个问题就迎刃而解了。

我找了个叫做 DD 虚构键盘的软件,这是一款开源的虚构键盘,能够通过程序来操控,软件压缩包能够在官网 qq 群里能够下载,内含 python、Java、c 等多种示例程序。

关上压缩包,有以下文件

记住压缩包存在的地位,后续有用。

上面开始介绍如何用 python 操控 DD 虚构键盘:

1. 调用 dll 文件



 #改成你本人的门路
dddd_dll = windll.LoadLibrary('DD94396 官网公版 \DD94687.64.dll')

源代码括号内只有‘DD64.dll’,刚开始运行老是出错,本人折腾了一番发现是门路不对。这里也能够用绝对路径。

2. 操控键盘

虚构键盘的虚构码对应关系为

按键函数为:

DD_key(参数 1,参数 2)

其中,参数 1 为 DD 键码,参数 2 中 1 示意按下,2 示意放开

例子:模仿 TAB 按键,只需连写



DD_key(15, 1)
DD_key(15, 2)

如果须要模仿特殊符号或者大写字母按键,只需先按住 shift,再按相应按键,例如模仿按 @键的代码为:



dd_dll.DD_key(500, 1)
dd_dll.DD_key(201, 1)
dd_dll.DD_key(201, 2)
dd_dll.DD_key(500, 2)

其中 500 是 shift 键的模仿码,201 是数字 2 的模仿码

3. 筹备《菊花台》键盘谱子

在网上找了一个谱子,它长这样:

这是个简化版的,次要由字母和空格组成,当初要做的就是在按键和按键、按键和空格管制好工夫距离,这样能力能力让弹奏进去的音乐更好听,上面是依据我本人的喜好设置的工夫距离:



lists = list(lists)
for i in lists:
    if i == '\n':
        time.sleep(0.5)
    elif i == ' ':
        time.sleep(0.5)
    else:
        single(i)  # 按键
        time.sleep(0.5)

4. 成果展现

用 python 弹奏一曲《菊花台》https://www.zhihu.com/video/1213105190532308992

拍子有点不准,次要是因为我五音不全,把握不住节奏,请大家莫怪

感兴趣的话你能够在此基础上做进一步调整。

文中应用的代码、曲谱、软件已打包上传:

链接:https://pan.baidu.com/s/1Un1XVSwtlchyTMxJH3r4hw 明码:yunr

——

作者:锅 g 头

欢送搜寻并关注:Crossin 的编程教室

这里还有更多精彩。一起学,走得远!

正文完
 0