【Python】FF14自动演奏

首先需要配置一下键盘,像下面的配置就好:

然后python代码如下:

import mido
import time
from pymouse import PyMouse
from pykeyboard import PyKeyboard

dic = {'60': 'a',
       '61': '1',
       '62': 's',
       '63': '2',
       '64': 'd',
       '65': 'f',
       '66': '3',
       '67': 'g',
       '68': '4',
       '69': 'h',
       '70': '5',
       '71': 'j',
       '72': 'q',
       '73': '-',
       '74': 'w',
       '75': '=',
       '76': 'e',
       '77': 'r',
       '78': '[',
       '79': 't',
       '80': ']',
       '81': 'y',
       '82': ';',
       '83': 'u',
       '84': 'i',
       '59': 'm',
       '58': '0',
       '57': 'n',
       '56': '9',
       '55': 'b',
       '54': '8',
       '53': 'v',
       '52': 'c',
       '51': '7',
       '50': 'x',
       '49': '6',
       '48': 'z'}

m = PyMouse()
m.click(100, 100)
k = PyKeyboard()

def play_ff14(note, tim):
    k.press_key(note)
    time.sleep(tim)
    k.release_key(note)

mid = mido.MidiFile('waltzformoon.mid')
for msg in mid.play():
    if msg.type == 'note_on':
        if str(msg.note) in dic.keys():
            play_ff14(dic[str(msg.note)],0)# msg.time)
            print(msg)

用管理员启动脚本即可。

最后提供一个我粗糙编辑的mid文件(中间有点乱掉了),是FF8中的月下华尔兹,下载地址在这里

mid最好都用单轨文件,一般单轨没有和弦的效果都还行,感兴趣的同学可以试试哈。

posted @ 2022-09-27 22:58  Dsp Tian  阅读(814)  评论(0编辑  收藏  举报