首页 > 编程语言 >【Python】FF14自动演奏

【Python】FF14自动演奏

时间:2022-09-27 23:12:30浏览次数:68  
标签:play Python mid dic note 演奏 FF14 msg import

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

然后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最好都用单轨文件,一般单轨没有和弦的效果都还行,感兴趣的同学可以试试哈。

标签:play,Python,mid,dic,note,演奏,FF14,msg,import
From: https://www.cnblogs.com/tiandsp/p/16736293.html

相关文章

  • 基于python的企业it资产管理系统设计与实现-计算机毕业设计源码+LW文档
    摘 要网络的广泛应用给生活带来了十分的便利。所以把企业it资产管理与现在网络相结合,利用Python技术建设企业it资产管理系统,实现企业it资产的信息化。则对于进一步提高企......
  • Python可视化打包 exe,这个神器绝了
     可视化打包exe,这个神器绝了auto-py-to-exe是一个用于将Python程序打包成可执行文件的图形化工具。本文就是主要介绍如何使用auto-py-to-exe完成python程序打包。......
  • 基于python小区疫情防控系统设计与实现-计算机毕业设计源码+LW文档
    摘 要网络的广泛应用给生活带来了十分的便利。所以把小区疫情防控工作管理与现在网络相结合,利用Python技术建设小区疫情防控系统,实现小区疫情防控工作的信息化。则对于进......
  • 基于python的新生报到服务管理系统设计与实现-计算机毕业设计源码+LW文档
    摘要网络的广泛应用给生活带来了十分的便利。所以把新生报到服务管理与现在网络相结合,利用Python技术建设新生报到服务管理系统,实现新生报到服务的信息化。则对于进一步提......
  • mitudesk的Python日记 类
    一。一个比较常见的类可能如图:classmy(object):arg=0def__init__(self,arg):super(ClassName,self).__init__()self.arg=arg其中init是......
  • python流程控制
    python中的流程控制垃圾回收机制1.什么是垃圾回收机制呢? python语言中独有的垃圾回收机制,会自动智能的优化储存空间把没有作用的数据值删除,清除占用的内存空间。2.......
  • 【NLP开发】Python实现中文、英文分词
    1、简介机器学习之所以看上去可以解决很多复杂的问题,是因为它把这些问题都转化为了数学问题。而NLP也是相同的思路,文本都是一些「非结构化数据」,我们需要先将这些数据......
  • Python基础(五) | 函数及面向过程编程详解
    第五章函数⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,......
  • python 时间与日期模块总结
    python标准库中关于日期和时间的库主要有三个:calendar、time和datetime。1.calemdar模块calendar模块在日历的获取、显示以及年份是否为闰年等方面有诸多函数支持1.1打......
  • python流程控制理论
    今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言内存空间的申请和......