{"id":20758462,"url":"https://github.com/hsiangnianian/listen2me","last_synced_at":"2025-05-11T07:31:20.960Z","repository":{"id":61052587,"uuid":"547084790","full_name":"HsiangNianian/listen2me","owner":"HsiangNianian","description":"为Dice!编写的使用mml音乐宏语言作曲模块","archived":false,"fork":false,"pushed_at":"2023-01-09T09:21:04.000Z","size":24658,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-11T06:12:41.098Z","etag":null,"topics":["lua"],"latest_commit_sha":null,"homepage":"https://ss.jyunko.cn/wiki/mml530/doc/mml-guide/","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HsiangNianian.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2022-10-07T05:33:13.000Z","updated_at":"2022-12-07T13:10:03.000Z","dependencies_parsed_at":"2023-02-08T09:46:35.227Z","dependency_job_id":null,"html_url":"https://github.com/HsiangNianian/listen2me","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsiangNianian%2Flisten2me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsiangNianian%2Flisten2me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsiangNianian%2Flisten2me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsiangNianian%2Flisten2me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HsiangNianian","download_url":"https://codeload.github.com/HsiangNianian/listen2me/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225023915,"owners_count":17408774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua"],"created_at":"2024-11-17T09:51:28.908Z","updated_at":"2024-11-17T09:51:30.021Z","avatar_url":"https://github.com/HsiangNianian.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# listen2me\r\n\r\n[![](https://img.shields.io/github/last-commit/HsiangNianian/listen2me)](https://github.com/HsiangNianian/listen2me/commits/main)[![](https://img.shields.io/github/issues/HsiangNianian/listen2me)](https://github.com/HsiangNianian/listen2me/issues)[![](https://img.shields.io/github/issues-pr/HsiangNianian/listen2me)](https://github.com/HsiangNianian/listen2me/pulls)[![](https://img.shields.io/github/v/release/HsiangNianian/listen2me?include_prereleases)](https://github.com/HsiangNianian/listen2me/releases)[![download](https://img.shields.io/github/downloads/HsiangNianian/listen2me/total.svg)](https://github.com/HsiangNianian/listen2me/releases/download/v1.0.8/listen2me_v1.0.8.zip)\r\n\r\n此分支为Windows版本。\r\n\r\nlisten2me是为Dice!编写的Lua脚本，用于mml(Music Macro Language)作曲试听。\r\n\r\n如果在使用过程中遇到了困难，欢迎到原仓库提交[issue](https://github.com/HsiangNianian/listen2me/issues/new)；如果在使用过程中修改出更有意思的玩法，也欢迎到原仓库提交[PR](https://github.com/HsiangNianian/listen2me/pulls)。\r\n\r\n```json\r\n{\r\n    \"mod\":\"listen2me\",\r\n    \"author\":\"简律纯\",\r\n    \"ver\":\"2.1.0\",\r\n    \"dice_build\":612,\r\n    \"brief\":\"使用mml作曲\",\r\n    \"comment\":\"\",\r\n    \"helpdoc\":{\r\n        \"listen2me\":\"【listen2me[Windows]】\\n使用mml语言进行作曲\\nhttps://github.com/HsiangNianian/listen2me\",\r\n        \"loopstraining\":\"基于listen2me的听音训练娱乐模块\"\r\n    }\r\n}\r\n```\r\n\r\n- [X] Windows 版本\r\n- [ ] Linux 版本\r\n\r\n# 安装\r\n\r\n- Dice版本2.6.5beta12(624+)以上安装方法:\r\n\r\n  1. 在 `./DiceQQ/conf/mod/source.list`文件内（没有mod文件夹和这文件就新建）输入 `https://ssjskfjdj.netlify.app/Module/`。\r\n  2. 使用 `.system load`命令重载bot，这样做的目的是为了让步骤1里的远程地址生效。\r\n  3. 对bot发送 `.mod get listen2me`命令，等待安装。\r\n  4. 回到第二步，这样做的目的是为了让mod被加载。\r\n  5. Enjoy Your Self!\r\n- Dice版本2.6.4b(612+)以上安装方法：\r\n\r\n  1. 浏览器访问 `https://github.com/ssJSKFJDJ/listen2me`并点击绿色按钮 `Code`下的 `Download Zip`按钮下载仓库压缩包。\r\n  2. 解压压缩包，将里面的文件和文件夹全部丢进 `./DiceQQ/mod/`文件夹内。\r\n  3. 使用 `.system load`命令重载。\r\n  4. Enjoy Your Self!\r\n\r\n# 配置\r\n\r\n[使用功能模块前先根据注释内容修改合适的配置](/script/mml2mid.lua)\r\n\r\n```lua\r\n--------------------settings---------------------\r\nSettings = {\r\n    _FRAMWORK = \"Gocq\", -- \"Mirai\",\r\n    -- 框架名称,必填,可选参数:'Mirai'或'Gocq'(默认).\r\n\r\n    _ONEFILE = \"xx\", -- os.date(\"%A\"),\r\n    -- 是否将每次的乐谱记录在同一个文件内.\r\n\r\n    _WARNING = 18,\r\n    -- 音频文件过多报警上限,未填时默认18\r\n\r\n    _AUTOCLR = 21,\r\n    -- 音频文件自动清理，未填时默认21\r\n\r\n    _SUBNAME = \".mp3\", -- \".wav\",\r\n    -- 规定输出格式,填写mp3时需要安装ffmpeg.\r\n\r\n    _UPLOAD = false, -- false,\r\n    -- 是否在发出语音同时上传mid文件(仅限Gocq).\r\n    -- 对应下参数_APIPORT.\r\n\r\n    _APIPORT = 15700 -- nil\r\n    -- Gocq 本地 API 端口,填nil时将自动搜寻,若报错请自行填入.\r\n}\r\n```\r\n\r\n# 指令\r\n\r\n一般指令格式:`l2m\u003e[opt=clr|mml|...]`\r\n\r\n- 清理缓存\r\n  成功执行一次mml命令后会在 `./project/`生成这几样东西:\r\n\r\n  1. fileName.mid\r\n  2. fileName.mml\r\n  3. fileName.mp3|wav\r\n\r\n  这些就是所谓的缓存，一次生成三个，因此才有了 `_WARNING`和 `_AUTOCLR`配置——但要注意的是，这些配置的存在只是为了那些不会主动的清理的人罢了，如果你比较勤快那么我想除了添加 `_ONEFILE`配置项外，你一定会经常使用 `l2m\u003eclr`指令去清理这些缓存的。\r\n- 生成曲谱\r\n  指令格式:`l2m\u003e[mml]`，由于mml语法过于繁琐因此在这里不一一赘述，只是做几个示例，日后会写专门的文档系统介绍此功能模块的mml语法。\r\n\r\n  1. 单轨示例\r\n\r\n  ```mml\r\n  l2m\u003eA cdefgab\r\n  ```\r\n\r\n  2. 多轨示例\r\n\r\n  ```mml\r\n  l2m\u003e\r\n  A l8d+\u003ed+d+d+d4\u003ca+4\u003ecc\u003ca+g+a+2d+\u003ed+d+d+d4.\u003ca+b+2g+4a+4d+\u003ed+d+fd4\u003ca+4\u003ecl16d+f8.d+\u003ca+4.\u0026a+gfl8d+\u003ed+d+gfd+dl16\u003ca+\u003ed+4.\u0026d+cdd+8dd+8.\u003ca+8\u003efgf2gg8.fd+f8cd+4\u0026d+\u003ca+8\u003egg8.fd+f8d+\u003ca+4.\u0026a+\u003egg8.fd+f8cd+4d+d+8dd8.cc8.\u003ca+a+8.\u003ecd+g+8.g8.fd+f8cd+4\u0026d+\u003ca+8\u003edd8d+8f\u003ca+8ga+8\u003ef8d+d+8.\u003ca+a+8g+gg+8\u003ed+d+2\u003ca+a+8g+gg+8\u003eff4.\u0026fd+8d+8df8d+2.\r\n\r\n  B /*M 0  */  \u003cc8g8\u003ed+4\u003c\u003cg8\u003ed8a+4/*M 1  */  \u003cg+8\u003ed+8\u003ca+4\u003ed+4d4/*M 2  */  c8g8\u003ed+4\u003c\u003cg8\u003ed8a+4/*M 3  */  \u003cg+8\u003ed+8\u003ec8\u003cd+8\u003cg+8\u003ed+8\u003ca+8b8/*M 4  */  \u003ec8g8\u003ed+8\u003cg8\u003cg8\u003ed8a+8d8/*M 5  */  \u003cg+8\u003ed+8\u003ca+4\u003ed+8a+8d4/*M 6  */  c8g8\u003ed+8\u003cg8\u003cg8\u003ed8a+8d8/*M 7  */  \u003cg+8\u003ed+8\u003ec8.\u003c\u003ca+16b4g+4/*M 8  */  a+8\u003ef8a+4\u003c\u003ca+2/*M 9  */  \u003eg+8\u003ed+8\u003ec8\u003cd+8\u003cg+8\u003ed8a+8d8/*M 10 */  \u003cg8\u003ed+8a+8d+8c8g8\u003ed8d+8/*M 11 */  \u003c\u003cf8\u003eg8\u003ed+8\u003cg+8\u003ca+8\u003ef8\u003ed8\u003ca+8/*M 12 */  \u003cd+8a+8\u003ed+8\u003ca+8\u003ec+8\u003ca+8\u003ec+8\u003c\u003ca+8/*M 13 */  \u003eg+8\u003ed+8\u003ec8\u003cd+8\u003cg+8\u003ed8a+8d8/*M 14 */  \u003cg8\u003ed8.\u003cg8.\u003ec4\u003cd8d+8/*M 15 */  f8\u003ec8g+8c8\u003cg8\u003ed+8a+8d+8/*M 16 */  \u003cg+8\u003ed+8\u003ec8\u003cd+16.\u003c\u003ca+32o4d2/*M 17 */  \u003c\u003cd+16a+16\u003eg16g+16a+8.\u003cd+4.\u0026d+16d+8\r\n  ```\r\n\r\n# 音源\r\n\r\n\u003e [Musescore](https://musescore.org/zh-hans/%e7%94%a8%e6%88%b7%e6%89%8b%e5%86%8c/soundfont-%e9%9f%b3%e8%89%b2%e5%ba%93) 提供的三个常见音色库\r\n\r\n- FluidR3_GM.sf2 (未压缩大小 141 MB)\r\n  下载 [Fluid-soundfont.tar.gz](http://www.musescore.org/download/fluid-soundfont.tar.gz)\r\n- GeneralUser_GS_1.44-MuseScore.sf2 (未压缩大小 29.8 MB)\r\n  下载 [GeneralUser_GS_1.44-MuseScore.zip](http://www.schristiancollins.com/soundfonts/GeneralUser_GS_1.44-MuseScore.zip) (承蒙 S. Christian Collins 而提供)\r\n- TimGM6mb.sf2 (未压缩大小 5.7 MB)\r\n  下载 [modified TimGM6mb.sf2](http://mscore.svn.sourceforge.net/viewvc/mscore/trunk/mscore/share/sound/TimGM6mb.sf2) (承蒙 Tim Brechbill 而提供)\r\n\r\n\u003e [FluidSynth](https://github.com/FluidSynth/fluidsynth/wiki/SoundFont) 提供的音源下载网站\r\n\r\n* [Polyphone Soundfont Collection](https://www.polyphone-soundfonts.com/download-soundfonts) - A collection of Soundfonts on the Polyphone website\r\n* [Hammersound](http://www.hammersound.net/) - A nice resource for downloading free SoundFont instrument files.\r\n* [Magic Sound Font, version 2.0](http://www.personalcopy.com/sfarkfonts1.htm) (68 MB)\r\n* [Arachno SoundFont, version 1.0](http://www.arachnosoft.com/main/download.php?id=soundfont-sf2) (148MB)\r\n* [TimGM6mb](http://sourceforge.net/p/mscore/code/HEAD/tree/trunk/mscore/share/sound/TimGM6mb.sf2?format=raw) (6 MB)\r\n* [MuseScore_General.sf2](ftp://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/MuseScore_General.sf2) (208 MB)\r\n* [Timbres Of Heaven GM_GS_XG_SFX V 3.4](http://midkar.com/soundfonts/) (246 MB)\r\n* [Sonatina Symphonic Orchestra](http://ftp.osuosl.org/pub/musescore/soundfont/Sonatina_Symphonic_Orchestra_SF2.zip) (503 MB uncompressed)\r\n* [Aegean Symphonic Orchestra v2.5 universal](https://sites.google.com/view/hed-sounds/aegean-symphonic-orchestra) (350 MB)\r\n* [Salamander C5 Light](https://sites.google.com/view/hed-sounds/salamander-c5-light) (25 MB)\r\n\r\n# 参考\r\n\r\n- [http://hpc.jp/~mml2mid](http://hpc.jp/~mml2mid)\r\n- [https://man.archlinux.org/man/timidity.cfg.5](https://man.archlinux.org/man/timidity.cfg.5)\r\n- [https://man.archlinux.org/man/community/timidity++/timidity.1.en](https://man.archlinux.org/man/community/timidity++/timidity.1.en)\r\n\r\n# 日志\r\n\r\n\u003e 此日志写的比工程文件要晚那么一点。\r\n\r\n---\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年11月20日 开了一个新的坑——听音练习。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1.\u003ci\u003eloopstraining\u003c/i\u003e新增听音练习娱乐模块。\r\n\u003ch5\u003e改动\u003c/h5\u003e\r\n1.\u003ci\u003emml2mid.lua\u003c/i\u003e将所有的局部变量名称首字母大写。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月29日 发现了几个bug，更新了readme。\u003c/summary\u003e\r\n\u003ch5\u003eissue\u003c/h5\u003e\r\n1.\u003ci\u003emml2mid.lua\u003c/i\u003e\u003cb\u003etimidity\u003c/b\u003e线程问题，速度过快会导致timidity错误。\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1.\u003ci\u003ereadme.md\u003c/i\u003e新增指令介绍。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月13日 完善Gocq上传群文件机制。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1.\u003ci\u003emml2mid.lua\u003c/i\u003e\u003cb\u003e_UPLOAD\u003c/b\u003e与\u003cb\u003e_APIPORT\u003c/b\u003e完善，预期功能已实现。\r\n\u003ch5\u003e改动\u003c/h5\u003e\r\n1.\u003ci\u003emml2mid.lua\u003c/i\u003e原本注释的\u003cb\u003e_WARNING\u003c/b\u003e配置项现已恢复原有功能。\r\n\u003cbr/\u003e\r\n2.\u003ci\u003emml2mid.lua\u003c/i\u003e配置项\u003cb\u003e_AUTOCLR\u003c/b\u003e默认上限提高。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月11日 新增配置项。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1.\u003ci\u003emml2mid.lua\u003c/i\u003e新增\u003cb\u003e_UPLOAD\u003c/b\u003e与\u003cb\u003e_APIPORT\u003c/b\u003e配置，详细使用说明见脚本。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月9日 实现了timidity.cfg的自动写入。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1. \u003ci\u003emml2mid.lua\u003c/i\u003e 新增了对\u003ci\u003etimidity\u003c/i\u003e音源的检测。\r\n\u003cbr/\u003e\r\n2.\u003ci\u003emml2mid.lua\u003c/i\u003e 新增\u003ci\u003e_FRAMWORK\u003c/i\u003e配置项，判断框架类型。\r\n\u003cbr/\u003e\r\n3.\u003ci\u003emml2mid.lua\u003c/i\u003e 新增mml语法报错检测和输出(如果你看得懂那会很有帮助就是了)。\r\n\u003ch5\u003e修复\u003c/h5\u003e\r\n1. 修复了因\u003ci\u003etimidity.cfg\u003c/i\u003e参数\u003cb\u003edir\u003c/b\u003e固定而无法输出有声音的音频问题。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月8日 初步框架版本编写完毕。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1. \u003ci\u003emml2mid.lua\u003c/i\u003e 新增一些配置项。\r\n\u003cbr/\u003e\r\n2. 新增了对 \u003ci\u003etimidity.cfg\u003c/i\u003e 的查询功能。\r\n\u003ch5\u003e删减\u003c/h5\u003e\r\n1. 改动了部分语法。\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e2022年10月2日 准备套壳，已经实现mml转mid，mid转wav，下一阶段将会编写脚本使其脚本化。\u003c/summary\u003e\r\n\u003ch5\u003e新增\u003c/h5\u003e\r\n1. 添加\u003ci\u003etimidity\u003c/i\u003e，放弃了原本直接发送\u003ci\u003emidi\u003c/i\u003e序列的方式(这样\u003ci\u003eGo-cqhttp\u003c/i\u003e会发不出语音)，在发送语音前会对\u003ci\u003e*.mid\u003c/i\u003e文件进行转码再发送。\r\n\u003ch5\u003e修复\u003c/h5\u003e\r\n1. 修复了一些bug。\r\n\u003c/details\u003e\r\n\r\n\r\n2022年11月20日02点00分\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsiangnianian%2Flisten2me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsiangnianian%2Flisten2me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsiangnianian%2Flisten2me/lists"}