本项目为原神风花节自由演奏自动弹琴脚本。
- pyautogui
乐谱文件分为两个部分:音符部分和时值部分。
乐谱文件的开头为音符部分,采用简谱的音高符号记谱,即1-do,2-re,3-mi……7-ti。每个音符由两个字符组成,即一个数字和一个代表八度的符号。数字表示此音符在一个八度里的音高,符号表示此音符在哪一个八度中,_
表示音符在低八度中,-
表示音符在中间的八度中,^
表示音符在高八度中。如:3_
表示低八度的mi,2-
表示中间八度的re,5^
表示高八度的so。特别地,休止符用0_
表示。音符间用空格隔开,并且可以随意换行,不影响程序读谱。
时值部分写在音符部分的下方,用单独一行的dur
隔开。时值部分描述了每个音符的时值,每个时值和音符严格对应。每个时值的数字代表了该音符是几分音符,即4分音符写4,2分音符写2,以此类推。注意:本程序默认支持的最小音符为16分音符,如想使用32或64分音符,请修改score_parser.py
文件中的min_tick
变量值为32或64。时值部分也控制了乐曲的速度。在想改变乐曲bpm的时候单独加一行b[bpm]
即可,如:b120
会将乐曲速度改为120拍每分钟。注意:本程序默认乐曲为4分音符为1拍,如想使用其他音符作为1拍(如8分音符为1拍),则修改score_parser.py
文件中的a_tempo
变量值为其他值。
另外,本程序支持多音轨,请将每个音轨分别制成乐谱文件,并写在main.py
中的score_file_list
列表中。
具体示例请参照score_1.txt
和score_2.txt
。
本程序的入口点在main.py
,由于pyautogui库的限制,需要使用管理员权限运行本程序,否则无法输入键盘指令到原神游戏中。运行程序后,程序会在5秒后开始演奏,请在这5秒内将焦点切换至原神游戏。如需修改延迟,请修改main.py
中第7行的time.sleep()
中的参数,单位为秒。
本项目采用BSD-3-Clause License。