多功能点击器(文末附Gitee源码)——光遇自动弹奏

之前提到的多功能点击器,使用场景比较多,之前玩光遇喜欢在里面弹琴,想到用这个点击器也能自动弹琴,跟别的自动弹琴脚本不一样,这个比较简单容易操作。

借这个光遇自动弹琴使用教程再讲解一下这个多功能点击头的使用方法。

1.粘触控头

打开你的光遇乐器,把15个点击头依次粘在相应位置上

2.改谱子

需要将简谱改写为对应的接头谱

以《最后的电影》这个乐谱为例(流行歌曲的简谱基本各大网站都有)

ps:不是音乐方面的专业人士,只是演示一下作参考~

该简谱每小节分为8拍,每拍占一秒(每个音符按下抬起总共占一秒)

把你需要的简谱对照图片,改成接口号的谱子

 下面是我改的,可以不按照我这个形式,只要下面能把脚本修改好也是一样的

3.改脚本代码

针对改好的谱子上面的顺序来编辑代码

import serial
import timeSERIALOBJ = None#'@'工作模式字典
type2Pins = {1:['0','1'],2:['2','3'],3:['4','5'],4:['6','7'],5:['8','9'],6:['a','b'],7:['c','d'],8:['e','f'],9:['g','h'],10:['i','j'],11:['k','l'],12:['m','n'],13:['o','p'],14:['q','r'],15:['s','t'],16:['u','v']}def sendcmd(t,cmd):sendstr = cmdprint(sendstr)s = t.write(sendstr.encode())t.flush()def touch(p):global SERIALOBJpstr = type2Pins[p][0]sendcmd(SERIALOBJ, pstr)def untouch(p):global SERIALOBJpstr = type2Pins[p][1]sendcmd(SERIALOBJ, pstr)def touchpin(n):if n == 0:n = 10touch(n)time.sleep(0.5)untouch(n)time.sleep(0.5)
def main():global SERIALOBJt = serial.Serial('com12',115200,timeout=1)SERIALOBJ = tif t:print(t.name)               #串口名print(t.port)               #串口号print(t.baudrate)           #波特率print('-'*10)time.sleep(1)sendcmd(t, '@')#谱子脚本t.close()else:print('串口不存在')if __name__ == '__main__':main()

主要参数

触控头分为抬起untouch(p)和放下touch(p)两个动作。

一次点击行为:放下——抬起

这里也定义了这个行为

def touchpin(n):if n == 0:n = 10touch(n)time.sleep(0.45)untouch(n)time.sleep(0.45)

time.sleep()可以控制点击动作的间隔时间,单位秒

示范

以下我只写了一部分乐谱,做示范。

import serial
import timeSERIALOBJ = None#'@'工作模式字典
type2Pins = {1:['0','1'],2:['2','3'],3:['4','5'],4:['6','7'],5:['8','9'],6:['a','b'],7:['c','d'],8:['e','f'],9:['g','h'],10:['i','j'],11:['k','l'],12:['m','n'],13:['o','p'],14:['q','r'],15:['s','t'],16:['u','v']}def sendcmd(t,cmd):sendstr = cmdprint(sendstr)s = t.write(sendstr.encode())t.flush()def touch(p):global SERIALOBJpstr = type2Pins[p][0]sendcmd(SERIALOBJ, pstr)def untouch(p):global SERIALOBJpstr = type2Pins[p][1]sendcmd(SERIALOBJ, pstr)def touchpin(n):if n == 0:n = 10touch(n)time.sleep(0.5)untouch(n)time.sleep(0.5)
def main():global SERIALOBJt = serial.Serial('com12',115200,timeout=1)SERIALOBJ = tif t:print(t.name)               #串口名print(t.port)               #串口号print(t.baudrate)           #波特率print('-'*10)time.sleep(1)sendcmd(t, '@')for i in range(1):#第一小节touchpin(8)time.sleep(1)touchpin(9)time.sleep(1)#第二小节#同时11,5,1touch(11)touch(5)touch(1)time.sleep(0.45)            untouch(11)untouch(5)untouch(1)time.sleep(0.45)time.sleep(1) touchpin(10)touchpin(10)#同时5,1touch(5)touch(1)time.sleep(0.45)            untouch(5)untouch(1)time.sleep(0.45)time.sleep(3)t.close()else:print('串口不存在')if __name__ == '__main__':main()

如果你想单独把谱子写到一个文件里,再调用(beat.py)这个文件也可以,这样就能把你想要的脚本都写好保存后,运行的时候直接改这个地方代码调用不同的脚本文件。

脚本写好,插上板子连接你的手机/pad

参数配置

修改你的main文件中的端口号

如何查看端口号?

此电脑——右键——属性

这里串口com3

所以代码那个地方com12就应该改成com3

修改完成后,保存,运行代码。

触控头就会根据你的脚本内容,在游戏中自动演奏你想要的乐谱了。

代码内容可以根据自己需要来优化,这里不做过多说明。

点击进入: Gitee源码地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448878.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux编辑器-vim的配置及其使用

vim是一种多模式的编辑器: 1.命令模式(默认模式):用户所有的输入都会当作命令,不会当作文本输入。 2.插入模式:写代码, 按「 i 」切换进入插入模式「 insert mode 」,按 “i” 进入…

【安当产品应用案例100集】023-企业内部对Oracle数据库动态凭据的管理

凭据(Credential),用于验证个人或系统身份的信息。在信息技术领域,凭据通常指的是用来证明用户身份的数据,以便系统能够确认用户是否具有访问资源或执行某些操作的权限。凭据的种类很多,比如用户名和密码、…

《安全历史第5讲——秦始皇统一度量衡与代码标准化》

秦始皇统一了六国后,中国由此进入了一个崭新的历史时期。而帝国初期的一项重要决策——统一度量衡,让中国领先了千年,至今都因此受益。度量衡的统一极大地促进了社会经济交流,提高了行政效率,并为科学技术的发展奠定了…

SUGAR:用于皮层表面配准的球形超快图注意力框架|文献速递-基于深度学习的医学影像分类,分割与多模态应用

Title 题目 SUGAR: Spherical ultrafast graph attention framework for cortical surface registration SUGAR:用于皮层表面配准的球形超快图注意力框架 01 文献速递介绍 基于表面的分析在解剖和功能神经影像学研究中变得越来越受欢迎(Coalson 等,…

【专题】智启未来:新质生产力引擎驱动下的智能制造行业革新报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37856 在当今全球经济格局深刻变革的大背景下,制造业作为国家经济的基石,正处在高质量发展的关键历史时期。智能决策作为一股崭新的力量,正逐步成为推动制造业数智化转型的强大新动能。众多制造企…

jar 导入本地和远程私服 maven 仓库

jar 导入本地和远程私服 maven 仓库artemis-http-client 认证库 maven 坐标为: 执行 mvn 命令: mvn install:install-file -DfileD:\download\lib\artemis-http-client-1.1.12.RELEASE.jar -DgroupIdcom.hikvision.ga -DartifactIdartemis-http-clien…

微信小程序:miniprogram-ci自动打包工具使用介绍以及支持配置环境变量、jekins打包、taro、uni-app三方工具

微信小程序:miniprogram-ci自动打包工具使用介绍以及支持配置环境变量、jekins打包、taro、uni-app三方工具 背景介绍 一直都是本地电脑运行微信开发者工具打包上传。多项目中新老版本对node版本要求不一致,老是切来切去。而且同一个人开发上传需要打包…

ETL技术在金蝶云星空与旺店通WMS集成中的应用

金蝶云星空数据集成到旺店通WMS的技术案例分享 在数字化转型的背景下,现代企业对系统间的数据集成需求日益增加。本篇文章将以“组装入库>其他入库单-1”方案为例,详细解析如何通过轻易云数据集成平台,实现金蝶云星空与旺店通WMS之间的数…

大数据-174 Elasticsearch Query DSL - 全文检索 full-text query 匹配、短语、多字段 详细操作

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【软件工程】软件工程入门

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必练内功_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

海绵宝宝动画网页

适合学习、作业、小白 部分代码 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>海绵宝宝-首页</title><link rel"stylesheet" type"text/css" href"css/style.css"/><me…

国外电商系统开发-运维系统应用和软件安装过程

安装流程图 注意&#xff1a;上面只是作者本人安装Apache的举例&#xff0c;如果您的安装步骤不相同都没关系&#xff0c;您完全可以自行定义。在这里只是为了演示而已。 现在&#xff0c;开始创建任务&#xff1a; 点击添加步骤任务&#xff1a; 现在&#xff0c;可以看到页面…

金融信用评分卡建模项目:AI辅助

最近我一直忙着开发一个信用评分卡建模工具&#xff0c;所以没有时间更新示例或动态。今天&#xff0c;我很高兴地跟大家分享&#xff0c;这个工具的基本框架已经完成了&#xff0c;并且探索性的将大语言模型&#xff08;AI&#xff09;整合了进去。目前ai在工具中扮演智能助手…

Gradio 全指南 | 轻松构建和托管机器学习界面

唠唠闲话 Gradio 是专为机器学习设计的轻量级 Python 库&#xff0c;它以简洁直观的方式将机器学习模型与用户界面相结合。利用 Gradio&#xff0c;用户可以轻松地通过图形界面输入数据并查看模型输出。此外&#xff0c;Gradio 还具备分享功能&#xff0c;极大地简化了模型在网…

c语言库文件

c语言库文件 动态库动态库制作首先生成动态库文件名使用动态库编译动态库运行删除动态库1.sudo su 静态库静态库制作需要将源文件.c转换成二进制文件.o&#xff08;重定向文件&#xff09;将重定向文件打包成静态库文件使用静态库文件 静态库和动态库的区别复杂工程设定工程目录…

MySQL【知识改变命运】07

MySQL 1&#xff1a;Group by 分组查询1.1&#xff1a;语法&#xff1a;1.2&#xff1a;练习 2&#xff1a;having⼦句3回顾&#xff1a;3&#xff1a;内置函数3.1 :⽇期函数 1&#xff1a;Group by 分组查询 可以根据某列&#xff0c;进行分组查询&#xff0c;比如学校里面的…

NAT:网络地址转换

基本知识 1.公有IP和私有IP 公有IP:全球唯一&#xff0c;可以在互联网中通信&#xff0c;付费使用 私有IP&#xff1a;本地唯一&#xff0c;不可以在互联网中使用&#xff0c;无需付费 私网地址范围 A类: 10.0.0.0-------10.255.255.255 B类&#xff1a;172.16.0.0------1…

汽车免拆诊断案例 | 2023款零跑C01纯电车后备厢盖无法电动打开和关闭

故障现象  一辆2023款零跑C01纯电车&#xff0c;累计行驶里程约为2万km&#xff0c;车主进厂反映&#xff0c;后备厢盖无法电动打开和关闭。 故障诊断  接车后试车&#xff0c;操作后备厢盖外侧、驾驶人侧及遥控钥匙上的后备厢盖开启按钮&#xff0c;可以听到后备厢盖解锁的…

springboot项目中开启mybatis的sql日志

在 application.yml 文件中 添加 mybatis-plus 配置&#xff0c;再重启项目&#xff0c;这里用到了mybatis-plus的自带sql日志打印 # application-jdbc.yml mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl如果只是用的mybatis的话&#x…

React(五) 受控组件和非受控组件; 获取表单元素的值。高阶组件(重点),Portals; Fragment组件;严格模式StrictMode

文章目录 一、受控组件1. 什么是受控组件2. 收集input框内容3. 收集checkBox的值4. 下拉框select总结 二、非受控组件三、高阶组件1. 高阶组件的概念 (回顾高阶函数)2. 高阶组件应用&#xff1a;注入props(1) 高阶组件给---函数式组件注入props(2) 高阶组件给---类组件注入prop…