listen2me
此分支为Windows版本。
listen2me是为Dice!编写的Lua脚本,用于mml(Music Macro Language)作曲试听。
如果在使用过程中遇到了困难,欢迎到原仓库提交issue;如果在使用过程中修改出更有意思的玩法,也欢迎到原仓库提交PR。
1 | { |
- Windows 版本
- Linux 版本
安装
Dice版本2.6.5beta12(624+)以上安装方法:
- 在
./DiceQQ/conf/mod/source.list
文件内(没有mod文件夹和这文件就新建)输入https://ssjskfjdj.netlify.app/Module/
。 - 使用
.system load
命令重载bot,这样做的目的是为了让步骤1里的远程地址生效。 - 对bot发送
.mod get listen2me
命令,等待安装。 - 回到第二步,这样做的目的是为了让mod被加载。
- Enjoy Your Self!
- 在
Dice版本2.6.4b(612+)以上安装方法:
- 浏览器访问
https://github.com/ssJSKFJDJ/listen2me
并点击绿色按钮Code
下的Download Zip
按钮下载仓库压缩包。 - 解压压缩包,将里面的文件和文件夹全部丢进
./DiceQQ/mod/
文件夹内。 - 使用
.system load
命令重载。 - Enjoy Your Self!
- 浏览器访问
配置
1 | --------------------settings--------------------- |
指令
一般指令格式:l2m>[opt=clr|mml|...]
清理缓存
成功执行一次mml命令后会在./project/
生成这几样东西:- fileName.mid
- fileName.mml
- fileName.mp3|wav
这些就是所谓的缓存,一次生成三个,因此才有了
_WARNING
和_AUTOCLR
配置——但要注意的是,这些配置的存在只是为了那些不会主动的清理的人罢了,如果你比较勤快那么我想除了添加_ONEFILE
配置项外,你一定会经常使用l2m>clr
指令去清理这些缓存的。生成曲谱
指令格式:l2m>[mml]
,由于mml语法过于繁琐因此在这里不一一赘述,只是做几个示例,日后会写专门的文档系统介绍此功能模块的mml语法。- 单轨示例
1
l2m>A cdefgab
- 多轨示例
1
2
3
4l2m>
A l8d+>d+d+d+d4<a+4>cc<a+g+a+2d+>d+d+d+d4.<a+b+2g+4a+4d+>d+d+fd4<a+4>cl16d+f8.d+<a+4.&a+gfl8d+>d+d+gfd+dl16<a+>d+4.&d+cdd+8dd+8.<a+8>fgf2gg8.fd+f8cd+4&d+<a+8>gg8.fd+f8d+<a+4.&a+>gg8.fd+f8cd+4d+d+8dd8.cc8.<a+a+8.>cd+g+8.g8.fd+f8cd+4&d+<a+8>dd8d+8f<a+8ga+8>f8d+d+8.<a+a+8g+gg+8>d+d+2<a+a+8g+gg+8>ff4.&fd+8d+8df8d+2.
B /*M 0 */ <c8g8>d+4<<g8>d8a+4/*M 1 */ <g+8>d+8<a+4>d+4d4/*M 2 */ c8g8>d+4<<g8>d8a+4/*M 3 */ <g+8>d+8>c8<d+8<g+8>d+8<a+8b8/*M 4 */ >c8g8>d+8<g8<g8>d8a+8d8/*M 5 */ <g+8>d+8<a+4>d+8a+8d4/*M 6 */ c8g8>d+8<g8<g8>d8a+8d8/*M 7 */ <g+8>d+8>c8.<<a+16b4g+4/*M 8 */ a+8>f8a+4<<a+2/*M 9 */ >g+8>d+8>c8<d+8<g+8>d8a+8d8/*M 10 */ <g8>d+8a+8d+8c8g8>d8d+8/*M 11 */ <<f8>g8>d+8<g+8<a+8>f8>d8<a+8/*M 12 */ <d+8a+8>d+8<a+8>c+8<a+8>c+8<<a+8/*M 13 */ >g+8>d+8>c8<d+8<g+8>d8a+8d8/*M 14 */ <g8>d8.<g8.>c4<d8d+8/*M 15 */ f8>c8g+8c8<g8>d+8a+8d+8/*M 16 */ <g+8>d+8>c8<d+16.<<a+32o4d2/*M 17 */ <<d+16a+16>g16g+16a+8.<d+4.&d+16d+8
音源
Musescore 提供的三个常见音色库
- FluidR3_GM.sf2 (未压缩大小 141 MB)
下载 Fluid-soundfont.tar.gz - GeneralUser_GS_1.44-MuseScore.sf2 (未压缩大小 29.8 MB)
下载 GeneralUser_GS_1.44-MuseScore.zip (承蒙 S. Christian Collins 而提供) - TimGM6mb.sf2 (未压缩大小 5.7 MB)
下载 modified TimGM6mb.sf2 (承蒙 Tim Brechbill 而提供)
FluidSynth 提供的音源下载网站
- Polyphone Soundfont Collection - A collection of Soundfonts on the Polyphone website
- Hammersound - A nice resource for downloading free SoundFont instrument files.
- Magic Sound Font, version 2.0 (68 MB)
- Arachno SoundFont, version 1.0 (148MB)
- TimGM6mb (6 MB)
- MuseScore_General.sf2 (208 MB)
- Timbres Of Heaven GM_GS_XG_SFX V 3.4 (246 MB)
- Sonatina Symphonic Orchestra (503 MB uncompressed)
- Aegean Symphonic Orchestra v2.5 universal (350 MB)
- Salamander C5 Light (25 MB)
参考
- http://hpc.jp/~mml2mid
- https://man.archlinux.org/man/timidity.cfg.5
- https://man.archlinux.org/man/community/timidity++/timidity.1.en
日志
此日志写的比工程文件要晚那么一点。
2022年11月20日 开了一个新的坑——听音练习。
新增
1.loopstraining新增听音练习娱乐模块。改动
1.mml2mid.lua将所有的局部变量名称首字母大写。2022年10月29日 发现了几个bug,更新了readme。
issue
1.mml2mid.luatimidity线程问题,速度过快会导致timidity错误。新增
1.readme.md新增指令介绍。2022年10月13日 完善Gocq上传群文件机制。
新增
1.mml2mid.lua_UPLOAD与_APIPORT完善,预期功能已实现。改动
1.mml2mid.lua原本注释的_WARNING配置项现已恢复原有功能。2.mml2mid.lua配置项_AUTOCLR默认上限提高。
2022年10月11日 新增配置项。
新增
1.mml2mid.lua新增_UPLOAD与_APIPORT配置,详细使用说明见脚本。2022年10月9日 实现了timidity.cfg的自动写入。
新增
1. mml2mid.lua 新增了对timidity音源的检测。2.mml2mid.lua 新增_FRAMWORK配置项,判断框架类型。
3.mml2mid.lua 新增mml语法报错检测和输出(如果你看得懂那会很有帮助就是了)。
修复
1. 修复了因timidity.cfg参数dir固定而无法输出有声音的音频问题。2022年10月8日 初步框架版本编写完毕。
新增
1. mml2mid.lua 新增一些配置项。2. 新增了对 timidity.cfg 的查询功能。
删减
1. 改动了部分语法。2022年10月2日 准备套壳,已经实现mml转mid,mid转wav,下一阶段将会编写脚本使其脚本化。
新增
1. 添加timidity,放弃了原本直接发送midi序列的方式(这样Go-cqhttp会发不出语音),在发送语音前会对*.mid文件进行转码再发送。修复
1. 修复了一些bug。2022年11月20日02点00分