Skip to main content

解析和转换 Maimai 图表格式

项目描述

麦转换器

一个用于解析和转换 Maimai 图表的 Python 程序。由两部分组成:

  • 用于解析、创建、导出和转换 SDT、Ma2 和 3Simai 图表的可导入包。和
  • 用于解析和转换 3 种格式的命令行脚本。

如果您不熟悉这些文件格式,那么您可以在这里阅读 sdt 文件simai文件。你可以在这里阅读我的博客文章

如果您对任何与 MaiMai 改装相关的内容感兴趣,请加入Discord 中的MaiMai TEA

依赖项

命令行

作为软件包的一部分安装的命令行脚本可以解析、转换、加密或解密 MaiMai 图表格式。一般形式为:

maiconverter COMMAND /path/to/file/or/directory

COMMAND可以是以下,后面有描述:

  • 加密
  • 解密
  • ma2tosdt
  • ma2tosimai
  • sdttoma2
  • sdttosimai
  • simaifiletoma2
  • simaifiletosdt
  • 司迈托马2
  • 西梅托斯

第二个位置参数是图表文件或目录的路径。如果给定一个目录,它将转换目录中找到的所有相关文件。

程序会将所有转换后的文件保存在输入文件的父目录或输入目录的“输出”文件夹中。如果没有现有文件夹,它将创建一个“输出”文件夹。

加密,解密

这些命令要么将 S*T 图表文件加密为其等效的 S*B 文件,反之亦然。 要求:-k 或 --key 参数后跟十六进制 AES 密钥。该程序可以通过添加 -db 或 --database 切换参数来加密或解密表。

例子

将 SDT 转换为 SDB:

maiconverter encrypt --key 0xFEDCBA9876543210 100_songname_02.sdt

将 SCB 转换为 SCT:

maiconverter decrypt --key 0xFEDCBA9876543210 252_donmaime_05.scb

解密一个加密表:

maiconverter decrypt --key 0xFEDCBA9876543210 mmtablename.bin

sdttoma2, sdttosimai

这些命令将分别将 S*T 文件转换为 ma2 或 Simai。需要-b 或 --bpm 参数,后跟歌曲的 BPM 作为 int 或 float。 注意:对于 sdttosimai,它不会生成完整的 Simai 文件。sdttosimai 只生成一个 Simai 图表。

例子

将 200 bpm SRT 文件转换为 Simai:

maiconverter sdttosimai --bpm 200 300_segapls.srt

将 130 bpm SDT 文件转换为 Ma2:

maiconverter sdttoma2 --bpm 130 301_dontsue.sdt

ma2tosdt, ma2tosimai

这些命令将分别将 Ma2 文件转换为 SDT 或 Simai。 注意:对于 ma2tosimai,它不会生成完整的 Simai 文件。ma2tosimai 只生成一个 Simai 图表。

例子

将 Ma2 文件转换为 SDT:

maiconverter ma2tosdt 000404_02.ma2

将 Ma2 文件转换为 Simai:

maiconverter ma2tosimai 001401_04.ma2

simaitoma2, simaitosdt

这些命令将仅包含 Simai 图表文件的文本文件分别转换为 Ma2 或 SDT。

simaifiletoma2, simaifiletosdt

这些命令与之前的不同之处在于解析整个 madata.txt。所有图表都分别单独转换为 Ma2 或 SDT。

其他命令行参数

-o,--输出

指定输出目录,或者默认为输入目录。

-d,--延迟

如果您想对每个转换后的图表注释应用偏移量,您可以使用此参数来实现。它在措施方面接受负抵消和正抵消。

-ct, --convert_touch

如果从 Ma2 或 Simai 转换为 SDT,您可以添加此切换以(天真地)将触摸笔记转换为常规点击并按住笔记。当您想要手动将触摸笔记转换为点击并按住笔记时很有用。你只需要修改note的按钮,不需要搞清楚时间。

-md,--最大除数

设置导出 Simai 图表时允许的最大 Simai 除数 ("{}")。如果您想要更易读的输出,请将其设置为 128 等较低的数字。默认为 1000。

Python 包

如果你安装了 wheel 文件,你可以像标准 Python 包一样导入程序。如果您想为此转换器制作图表制作器或 GUI 前端,请使用它。有关how_to_make_charts.md使用 MaiConverter 制作图表的介绍性指南,请参阅。包中还有(不完整的)类和函数的文档。请参阅下面的许可。

待办事项

  • 文档
  • TODO做散落在包里的所有s
  • 减少卡顿

接触

如果您有问题或错误报告,并且由于某种原因不想在 GitHub 上提出问题,请给我发送 DM 或在 MaiTea Discord 服务器上联系我。

  • 不和谐:donmai#1493
  • 推特:@donmai_me
  • GitHub: donmai-我
  • Listed.to:@donmai

执照

这是一个在 MIT 许可下许可的开源应用程序

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

MaiConverter-0.14.5-py3-none-any.whl (51.5 kB 查看哈希)

已上传 py3