Repository navigation
Releases: 404-GCross/mt3
Release list
v0.4.0
WebUI:按钮位置与「重新转谱」
- 「开始转谱」移到「转谱选项」卡片底部:选完文件、调完参数直接点,不用再滚回去;
上传进度和「取消上传」也跟着放在它下面。按钮上方有一行「将转谱:xxx.wav · 24.6 MB」
确认当前选中的文件。 - 重新转谱不用重新上传:任务跑完之后,改一下模型/后处理参数,点那一行的
「重新转谱」即可。服务器复用已经上传的音频(硬链接,不复制、不重传),
原任务和结果都保留,可以对比两份 MIDI。 - 任务行显示创建时间,方便区分同一个文件的多次结果。
接口
新增 POST /api/jobs/{id}/retry(参数用 query:model、rearrange、drums、
velocity、min_ms、chord_ms、repeat_ms):
- 输入文件已被清理 → 409;队列满 → 429;任务不存在 → 404。
- 返回
202与新任务 id,和上传接口一致。
其它
- 接口自检 37 → 49 项(retry 建新任务、硬链接复用、删原任务不影响新任务、
输入被清理后 409)。 - 包内容与 v0.3.4 相同(Linux deb/rpm/AppImage、macOS dmg),只改了 WebUI 与后端接口。
下载
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.4.0/mt3-transcriber-0.4.0-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.4.0-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.4.0/mt3-transcriber_0.4.0_amd64.deb
sudo apt install ./mt3-transcriber_0.4.0_amd64.debmacOS:mt3-transcriber-0.4.0-arm64.dmg(Apple Silicon,macOS 12+,纯 CPU)。
或一键装最新版:
curl -fsSL https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/latest/download/install.sh | bash装好后:mt3-transcriber --web --lan(手机/Mac 浏览器打开终端打印的链接)。
Full Changelog: v0.3.4...v0.4.0
v0.3.4
一键安装
curl -fsSL https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/latest/download/install.sh | bash这一版只改了 install.sh(包内容与 v0.3.3 相同):
- 镜像可以自己填:
--mirror https://your-mirror/(单个,显式指定,不测速)MT3_MIRRORS="https://a/,https://b/"(多个,逗号分隔,一起测速)- 或写进
~/.config/mt3-transcriber/mirror.conf(MT3_MIRRORS=或
MT3_GH_PROXY=,和install_cuda_jax.sh共用同一个文件) - 都连不上、而且是在终端里跑的时候,脚本会直接问你要不要填一个。
- 最多测 5 个自定义源;不是
http(s)的会跳过;给了自定义源也会留一条 GitHub 直连兜底。
- sudo 在下载之前就要:确定要装 deb/rpm 后先
sudo -v(此时你还在看着),
并且每 50 秒续期——把安装挂后台也不会卡在密码提示上;没有终端时直接中止而不是干等。
AppImage 与 macOS 分支完全不需要 root。 - 前缀斜杠:
--mirror https://gh-proxy.com和.../现在都能拼对
(上一版会少一个斜杠,CI 抓到的)。 - 直连被墙时
--connect-timeout 15,换源不用干等几分钟。
其余沿用 v0.3.3:自动测速(直连 + gh-proxy)、下载失败换源、校验和优先直连 GitHub、
--version 兜底、--no-probe、--dry-run、--uninstall。
下载
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.4/mt3-transcriber-0.3.4-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.3.4-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.4/mt3-transcriber_0.3.4_amd64.deb
sudo apt install ./mt3-transcriber_0.3.4_amd64.debmacOS:mt3-transcriber-0.3.4-arm64.dmg(Apple Silicon,macOS 12+,纯 CPU)。
装好后:mt3-transcriber(桌面)或 mt3-transcriber --web --lan(局域网)。
Full Changelog: v0.3.3...v0.3.4
v0.3.3
一键安装
curl -fsSL https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/latest/download/install.sh | bash这一版的安装器先测速再下载:
- 对「GitHub 直连」和
gh-proxy各取样 256 KB,选快的那个,并把两边的速度打出来;
下载过程中失败会自动换另一个源重试。 - 测速只是参考——两边都测不出来时不会死,先用直连,失败再自动换镜像。
- 校验和优先直连 GitHub 取(哪怕包是从镜像下的):只有直连不通才退回镜像,并明确
打印「校验和来自镜像,无法独立验证」;对不上直接中止。 - GitHub 完全不通时版本号也拿不到:加
--version 0.3.3跳过解析
(api.github.com走不了 gh-proxy 这类前缀)。 - 其余参数:
--mirror URL(显式指定、不测速)、--no-probe(直接用直连)、
--file ./xxx.deb(离线)、--cuda cuda13(装完换 GPU 版 JAX)、
--dry-run(只看会做什么)、--uninstall(保留用户数据)。
这一版的内容
安装包(deb / rpm / AppImage / dmg)与 v0.3.2 完全相同,变的只有 install.sh:
- 新增测速选源、下载失败换源、校验和直连加固、版本解析兜底。
其余功能沿用 v0.3.2:
- 新的 WebUI:浅色/深色、模型卡片、真实钢琴卷预览、手机单列、
--web --lan局域网访问。 - macOS dmg 里带
安装说明.txt(拖拽、Gatekeeper、一行安装、局域网用法)。 - deb 的
/usr/bin/mt3-transcriber可执行位、--cuda不再用 sudo(这两个是 v0.3.2 修的,
从更早版本升级上来的人会一并拿到)。
下载
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.3/mt3-transcriber-0.3.3-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.3.3-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.3/mt3-transcriber_0.3.3_amd64.deb
sudo apt install ./mt3-transcriber_0.3.3_amd64.debmacOS:mt3-transcriber-0.3.3-arm64.dmg(Apple Silicon,macOS 12+,纯 CPU)。SHA256SUMS 随包发布。
装好后:桌面里点「MT3 扒谱」或命令行 mt3-transcriber;局域网服务是
mt3-transcriber --web --lan(终端会打印带令牌的链接)。
Full Changelog: v0.3.2...v0.3.3
v0.3.2
一键安装 / 升级
curl -fsSL https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/latest/download/install.sh | bash- 自动识别系统:Debian/Ubuntu 走
.deb,Fedora/RHEL 走.rpm,其他发行版退到免 root 的
AppImage;macOS 挂载 dmg 复制到/Applications(顺带去掉隔离标记,不再有 Gatekeeper 弹窗)。 - 下载与 SHA256 校验都在普通用户下完成,只有最后一条安装命令用 sudo;校验不对直接中止。
- 参数:
--version 0.3.2、--file ./xxx.deb(离线)、--dry-run、--appimage、
--cuda cuda13、--mirror URL、--uninstall(保留用户数据)。
新的 WebUI 界面
- 浅色 / 深色两套配色,默认跟随系统,右上角可手动切换(会记住)。
- 模型改成两张带说明的卡片;「MIDI 整理」是开关 + 2×2 阈值。
- 「正在转谱」卡片显示进度、片段数、已用时间与预计剩余;完成的任务显示钢琴卷预览
——直接从生成的 MIDI 算出来的,不是装饰图。 - 手机自动单列;
?theme=dark|light可强制主题;/static改成 no-cache,升级后不会拿旧 CSS。
修复
--cuda不再用 sudo:install_cuda_jax.sh只改你自己的
~/.local/share/mt3-transcriber,用 sudo 会把HOME换成/root而找不到运行时。
现在安装器会先把运行时展开再换装,全新安装和升级都能一次成功。- deb 的
/usr/bin/mt3-transcriber少了可执行位:Debian/Ubuntu 上装完敲
mt3-transcriber会Permission denied(rpm 一直正常)。这是新加的容器安装测试抓到的。 - dmg 里补了
安装说明.txt:拖拽安装、Gatekeeper 怎么点、一行安装命令、局域网用法。
下载
Linux:deb / rpm / AppImage(x86_64 离线包)。macOS:mt3-transcriber-0.3.2-arm64.dmg
(Apple Silicon,macOS 12+,纯 CPU)。SHA256SUMS 随包发布。
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.2/mt3-transcriber-0.3.2-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.3.2-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.2/mt3-transcriber_0.3.2_amd64.deb
sudo apt install ./mt3-transcriber_0.3.2_amd64.deb装好后:桌面里点「MT3 扒谱」,或命令行 mt3-transcriber;局域网服务是
mt3-transcriber --web --lan(终端会打印带令牌的链接)。
Full Changelog: v0.3.0...v0.3.2
v0.3.1
一键安装 / 升级
curl -fsSL https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/latest/download/install.sh | bash- 自动识别系统:Debian/Ubuntu 走
.deb,Fedora/RHEL 走.rpm,其他发行版退到免 root 的
AppImage;macOS 挂载 dmg 复制到/Applications(顺带去掉隔离标记,所以不再有
Gatekeeper 弹窗)。 - 下载与 SHA256 校验都在普通用户下完成,只有最后一条安装命令用 sudo;校验不对直接中止。
- 参数:
--version 0.3.1固定版本、--file ./xxx.deb离线安装、--dry-run只看会做什么、
--cuda cuda13装完换 GPU 版 JAX、--appimage免 root、--uninstall卸载(保留用户数据)、
--mirror换下载前缀。
新的 WebUI 界面
- 浅色 / 深色两套配色,默认跟随系统,右上角可手动切换(会记住)。
- 模型从下拉框改成两张带说明的卡片(钢琴 / 多乐器);「MIDI 整理」是开关 + 2×2 阈值。
- 「正在转谱」卡片显示进度、片段数、已用时间与预计剩余;完成的任务显示钢琴卷预览
——直接从生成的 MIDI 算出来的,不是装饰图。 - 手机自动单列;
?theme=dark|light可以强制预览主题。 /static改成Cache-Control: no-cache,升级后手机不会拿旧 CSS。
修复
- deb 包的
/usr/bin/mt3-transcriber少了可执行位:Debian/Ubuntu 上装完敲
mt3-transcriber会Permission denied(rpm 一直正常,所以之前没暴露)。这个 bug 是
这次新加的容器安装测试抓到的。 - dmg 里补了一份
安装说明.txt:拖拽安装、Gatekeeper 怎么点、一行安装命令、局域网用法。
下载
Linux:deb / rpm / AppImage(x86_64 离线包)。macOS:mt3-transcriber-0.3.1-arm64.dmg
(Apple Silicon,macOS 12+,纯 CPU)。SHA256SUMS 随包发布。
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.1/mt3-transcriber-0.3.1-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.3.1-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.1/mt3-transcriber_0.3.1_amd64.deb
sudo apt install ./mt3-transcriber_0.3.1_amd64.deb装好后:桌面里点「MT3 扒谱」,或命令行 mt3-transcriber;局域网服务是
mt3-transcriber --web --lan(终端会打印带令牌的链接)。
Full Changelog: v0.3.0...v0.3.1
v0.3.0
新增:WebUI(浏览器 / 局域网)
模型跑在一台机器上(建议 Linux + NVIDIA),Mac / 手机 / 另一台电脑只用浏览器:
mt3-transcriber --web --lan # deb/rpm 装好后(桌面里也有「MT3 转谱服务(局域网)」)
./gui/run.sh --web --lan # 源码目录
open -a "/Applications/MT3 Transcriber.app" --args --web --lan # macOS 应用启动后终端会打印带令牌的地址(macOS 写在 ~/Library/Logs/mt3-transcriber.log):
本机: http://127.0.0.1:8765/?t=…
局域网: http://192.168.1.201:8765/?t=…
把局域网那条发到手机/Mac 上打开即可;首次访问会把令牌换成 cookie,之后页面里不再带
?t=。
这一版能做什么
- 拖拽/多选上传,上传进度与转谱进度分开显示;任务队列(单 worker 串行)、可取消
- 每个任务单独选模型、后处理开关与四个阈值(毫秒)
- 下载原始 MIDI 与
.rearranged.mid - 令牌持久化在
~/.config/mt3-transcriber/web_token,--new-token重新生成 --device auto|cuda|cpu决定算力(页面只读显示);GPU 上默认只缓存一个模型- 上限:单文件 1 GiB、时长 30 分钟、队列 8(
--max-bytes/--max-minutes/--queue);
超过上限会在传输前直接用 413 拒绝 - 结果放在
~/.cache/mt3-transcriber/web/(macOS 为~/Library/Caches/…),默认保留 24 小时;
服务重启会清空,想要的文件请先下载
安全边界(请读一下)
- 强制令牌,连
127.0.0.1也要:否则任意网页都能用表单 POST 打本机(CSRF / DNS rebinding) - 明文 HTTP,只用于家里/工作室的局域网,不要做端口转发或 DMZ
- 拿到令牌的人可以上传音频、占用算力、下载自己任务的 MIDI;读不到服务器上的其它文件,
也改不了设备和配置
防火墙
sudo firewall-cmd --add-port=8765/tcp --permanent && sudo firewall-cmd --reload # Fedora / RHEL
sudo ufw allow 8765/tcp # Debian / Ubuntu下载
Linux:deb / rpm / AppImage(x86_64 离线包,约 1.1GB)。下载慢可以在 URL 前加
https://gh-proxy.com/。
# Fedora / RHEL
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.0/mt3-transcriber-0.3.0-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.3.0-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.0/mt3-transcriber_0.3.0_amd64.deb
sudo apt install ./mt3-transcriber_0.3.0_amd64.debmacOS(Apple Silicon,macOS 12+,纯 CPU):mt3-transcriber-0.3.0-arm64.dmg。
未做 Apple 签名/公证,用浏览器下载首次打开需要右键 →「打开」(macOS 15+ 去
「系统设置 → 隐私与安全性」点「仍要打开」);用 curl 下载就没有隔离标记,
装上直接双击即可:
curl -fL -o /tmp/mt3.dmg https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.3.0/mt3-transcriber-0.3.0-arm64.dmg
hdiutil attach /tmp/mt3.dmg -nobrowse -mountpoint /tmp/mt3vol
cp -a "/tmp/mt3vol/MT3 Transcriber.app" /Applications/
hdiutil detach /tmp/mt3vol校验:SHA256SUMS 随包发布(sha256sum -c SHA256SUMS --ignore-missing)。
其它
- 桌面 GUI 保留不变;WebUI 是第二种用法,两者共用同一份运行时与权重
- 运行时新增
fastapi/uvicorn/python-multipart(纯 Python,约 15 MB) - 自检:
python gui/webui/selftest.py(35 项,不需要模型);macOS 的 CI 会真起服务
上传/转谱/下载一遍 - 说明见仓库
PACKAGING.md的「WebUI(浏览器 / 局域网)」一节
Full Changelog: v0.2.0...v0.3.0
v0.2.0
下载与安装
桌面版(Tkinter 界面 + 规则化 MIDI 整理),自带 Python 3.12 运行时与两个模型
权重(ismir2021 钢琴 / mt3 多乐器),装好即可离线使用。
macOS(Apple Silicon)
- 文件:
mt3-transcriber-0.2.0-arm64.dmg(1.46GiB) - 要求:arm64(M 系列),macOS 12 Monterey 或更新;纯 CPU 推理,不支持 Intel Mac
- 安装:打开 dmg,把
MT3 Transcriber.app拖进「应用程序」 - 首次打开会被 Gatekeeper 拦一次(应用未做 Apple 签名/公证):
- macOS 12–14:右键点图标 →「打开」→ 再点「打开」
- macOS 15+:「系统设置 → 隐私与安全性」→「仍要打开」
- 或执行
xattr -dr com.apple.quarantine "/Applications/MT3 Transcriber.app"
- 平时用法:双击图标;也可以把音频拖到图标上,或用「打开方式」选它
Linux
deb(Debian/Ubuntu)、rpm(Fedora/RHEL)、AppImage,均为 x86_64 离线包,约 1.1GB。
下载慢可以套 gh-proxy.com 镜像前缀(在 URL 前加 https://gh-proxy.com/)。
# Fedora / RHEL(GPU 机器建议用 rpm/deb,装完可换 CUDA 版 JAX)
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.2.0/mt3-transcriber-0.2.0-1.x86_64.rpm
sudo dnf install ./mt3-transcriber-0.2.0-1.x86_64.rpm
# Debian / Ubuntu
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.2.0/mt3-transcriber_0.2.0_amd64.deb
sudo apt install ./mt3-transcriber_0.2.0_amd64.deb
# 校验
curl -LO https://gh-proxy.com/https://github.com/404-GCross/mt3/releases/download/v0.2.0/SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing包内默认是 CPU 版 JAX;有 NVIDIA 显卡可以换装(新驱动/新卡用 cuda13):
sudo JAX_CUDA=cuda13 /usr/share/mt3-transcriber/gui/install_cuda_jax.sh
/path/to/venv/bin/python -c "import jax; print(jax.devices())" # 确认能看到 GPU功能
- 模型
ismir2021(钢琴)/mt3(多乐器),设备 自动 / NVIDIA GPU / CPU - 可选后处理(MIDI 整理):删弱音、删极短音、合并琶音与重复起音,
另存xxx.rearranged.mid,默认关闭、不覆盖原始结果 - 界面里的详细说明与排错见仓库里的 PACKAGING.md
Full Changelog: v0.1.5...v0.2.0