# mid编辑 **Repository Path**: no_homework/mid-editing ## Basic Information - **Project Name**: mid编辑 - **Description**: 一个基于Musicreater库的歌词编辑功能,支持合并mid,预览播放歌词,可导出为mcstructure - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-07-25 - **Last Updated**: 2026-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MIDI 音乐编辑与导出工具 将 MIDI 音乐转换为 Minecraft 结构文件,支持 **Java 版 `.mcstructure`**、**基岩版 `.bdx`** 与 **`.ibi` 导入包** 三种格式,可单独或同时导出。 ## 软件简介 本软件提供三大独立功能模块,启动后进入主页,可在左侧导航或主页卡片中切换: - **① MID 直接转换**:脱离歌词,直接选择一个 MIDI 文件,输出为 `.mcstructure` / `.bdx` / `.ibi` 文件。 - **② MID 合并**:将多个 MIDI 文件按顺序拼接成一个连续播放的音乐序列(文件之间可设置空白间隔),合并后可导出为上述三种格式。 - **③ 歌词编辑与导出**:分两步 —— 第一步编辑或导入歌词字幕(支持 JSON / TXT / LRC,含打点校准),第二步选择格式导出为 `.mcstructure` / `.bdx` / `.ibi`(可同时导出)。 ## 导出格式 - `.mcstructure`:Java 版结构文件,导入 Java 版 Minecraft 使用命令方块播放。 - `.bdx`:基岩版建筑文件(遵循 Musicreater 提供的 BDX 规范),导入基岩版 Minecraft 使用命令方块播放。 - `.ibi`:IBI 导入包,包含 `setblock` 指令文本与命令方块 JSON 数据,方便快捷导入。 三格式由用户在导出区通过**勾选框**选择,可单独或同时生成。 ## 使用方法 ### 一、直接转换(模块一) 1. 在主页选择「① MID 直接转换」,或左侧导航点击进入。 2. 选择需要转换的 `.mid` 文件。 3. 勾选导出格式(`.mcstructure` / `.bdx` / `.ibi`,可多选)。 4. 点击「开始转换」,单格式将弹出保存对话框,多格式将选择导出文件夹。 ### 二、合并 MIDI(模块二) 1. 选择「② MID 合并」。 2. 点击「添加文件」选择 `.mid` 文件,用「上移 / 下移」调整顺序。 3. 设置输出 `mid` / `txt` 路径与间隔时间(秒)。 4. 点击「开始合并」,合并完成后在「导出到 Minecraft」区勾选格式并导出。 ### 三、歌词编辑与导出(模块三) 1. 选择「③ 歌词编辑与导出」。 2. **第一步**:选择 MIDI 文件,点击「打开歌词编辑器」编辑或导入歌词。 3. **第二步**:勾选导出格式,可选「包含歌词字幕」并设置前后缀,点击「导出所选格式」。 ### 四、打点校准(推荐,用于模块三) 1. 导入纯文本歌词(TXT)后自动进入打点模式。 2. 点击「播放」开始播放音乐。 3. 听到对应歌词时按 **`Q`** 键记录当前时间。 4. 如需重新开始,按 **`R`** 键重置。 ### 五、歌词编辑器操作 - **轨道拖拽**:鼠标按住歌词块左右拖动,调整出现时间。 - **时长缩放**:拖拽歌词块右侧金色三角手柄,调整显示时长(最长 5 秒)。 - **鼠标滚轮**:缩放时间轴视野。 - **偏移滑块**:整体微调所有歌词时间,点击「应用偏移」后永久生效。 - **导入格式**:支持 JSON(含时间戳)、TXT(纯歌词·自动打点)、LRC(粘贴解析)。 ## 依赖 ``` pygame mido pretty_midi musicreater brotli TrimMCStruct ``` **可选依赖**(IBI 导出需要): ``` nbtlib ``` ## 安装与运行 ```bash # 安装依赖 pip install pygame mido pretty_midi musicreater brotli TrimMCStruct nbtlib # 运行 python main.py ``` ## 作者信息 - **作者**:Unstoppable - **QQ**:1638374808 - **QQ 交流群**:947026433(若一群已满,请加二群:909075143) - **Gitee 仓库**:[https://gitee.com/no_homework/mid-editing](https://gitee.com/no_homework/mid-editing) --- 如有问题或建议,欢迎通过 QQ 或交流群反馈。