Hacker News 中文摘要

RSS订阅

Show HN:Audionaut 开源跨平台多轨音频编辑器 -- Show HN: Audionaut – an open-source cross-platform multitrack audio editor

Audionaut 是一款免费开源的多轨音频编辑器,AI 代理可经由 MCP 驱动它完成操作。作为桌面应用,它面向音乐、播客和多轨录音,提供精确剪切、每轨播放列表、灵活的多声道支持与干净导出,却不像完整 DAW 那样笨重复杂。Audionaut 用现代 C++ 写成,基于 JUCE 框架,原生运行于 Windows、macOS 和 Linux。

正文

一款免费开源的多轨音频编辑器,可由 AI 智能体通过 MCP 驱动。

Audionaut 演示:Claude 每 16 小节裁剪歌曲,将片段分到两条音轨并闭合间隙,然后设置交叉淡入淡出和淡出,同时用户在应用中运行自动编辑和 Stem 分离

Audionaut 是一款免费开源的桌面应用,用于轻松音频编辑和录制。无论是音乐、播客还是多轨录音,它都提供精准剪切、每轨播放列表、灵活多通道支持以及干净导出——没有完整 DAW 的沉重与复杂。Audionaut 用现代 C++ 基于 JUCE 框架编写,原生运行于 Windows、macOS 和 Linux。

Image 2: License: GPL v3

与 Claude 配合使用

Audionaut 支持 MCP,因此 Claude 等智能体可编辑你的会话。安装应用和 Node.js 18+ 后,运行 claude mcp add audionaut -- npx -y audionaut-mcp。保持项目在 Audionaut 中打开,每次编辑作为一步撤销;macOS 上项目放在音乐文件夹。Claude Desktop 设置详见手册第 11 章。

Image 5: Sponsor

检出

克隆时需包含子模块:执行 git clone --recursive https://github.com/kvoltmer/Audionaut.git,或克隆后运行 git submodule update --init --recursive。

Essentia(音频分析)

分析功能(BIC 分割、起音检测、节拍跟踪)链接静态构建的 Essentia 子模块。检出子模块后构建一次:./Audionaut/Builds/build_essentia.sh。脚本静态构建其第三方依赖(慢,重跑跳过;FORCE_3RDPARTY=1 强制),再用 waf 构建 Essentia 到 Submodules/essentia/build。它会补丁 Linux 定向脚本以适配 macOS/Apple Silicon,导致 essentia 子模块显示脏状态——勿提交。

前提: - Python ≤ 3.11 — Essentia 的 waf 需 distutils,Python 3.12 已移除;脚本自动选解释器,可用 PYTHON=... ./Audionaut/Builds/build_essentia.sh 覆盖。 - pkg-config(如 brew install pkg-config) - CMake 3.x 推荐 — 部分旧 CMakeLists 被 4.x 拒绝(如 pip install "cmake~=3.31.0")。

构建 Essentia 可选:无则 ESSENTIA_ENABLED 自动关闭,应用和测试编译时禁用分析。

demucs.cpp(Stem 分离)

Stem 分离运行 demucs.cpp(Meta 的 Demucs 的 C++ 移植),直接从 Submodules/demucs.cpp 子模块编译,无需单独步骤。它需要嵌套子模块的 Eigen(Submodules/demucs.cpp/vendor/eigen,--recursive 获取),CMake 检测后设 AUDIONAUT_ENABLE_DEMUCS。模型权重不在仓库:应用首次使用下载到 Models 文件夹,或用 --model 指定 CLI 路径。

构建

Xcode — 打开 Audionaut/Builds/MacOSX/Audionaut.xcodeproj。

Visual Studio 2026 — 打开 Audionaut/Builds/VisualStudio2026/Audionaut.sln。

Linux Makefile — 安装依赖:sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype-dev libfontconfig1-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.1-dev libglu1-mesa-dev mesa-common-dev libxi-dev libegl-dev,然后 cd Audionaut/Builds/LinuxMakefile/ && make CONFIG=Release -j8。

测试

详见 Catch2 测试 README。

命令行工具(audionaut-cli)

audionaut-cli 为脚本、CI、AI 智能体提供无界面访问 .audium 项目——无 GUI、无音频设备。它随测试构建:用 cmake -B build -S Audionaut/Catch2Tests 配置,再 cmake --build build -j8 --target AudionautCli 构建,运行 ./build/AudionautCli_artefacts/AudionautCli --help。

每命令支持 --json 在 stdout 输出单一机器可读结果包({"ok": true, "result": ...} 或 {"ok": false, "error": ...}),日志全在 stderr,另有 --quiet。退出码:0 成功、1 操作失败、2 用法错误、3 此构建功能不可用(如无 Essentia 的 analyze)。选项可 --opt value 或 --opt=value。

命令涵盖创建 create、导入 import、信息 info、分析 analyze、自动编辑 auto-edit、组装 assemble、分割 split、创建区域 create-region、设置区域 set-region、放置片段 place-clip、移动 move-clip、移除 remove-clip、片段增益 clip-gain、片段淡变 clip-fades、分离 separate、导出 export 等。典型智能体流程:create → import → analyze → auto-edit/assemble → export,检查每步 json 的 ok。CLI 写的项目 GUI 可开,反之亦然。

终端用户文档见用户手册。CLI 调用报告匿名使用统计,与应用同样严格选择同意(仅一个 cli_command 事件:动词和退出码),未同意不发送;设 AUDIONAUT_DISABLE_ANALYTICS=1 可强关(CI、脚本)。

主 Audionaut 应用也接受相同动词(Projucer 风格):运行应用二进制加动词即无界面执行并退出,即使 GUI 打开——文件参数或无参数照常启动 GUI。例如 ./Audionaut.app/Contents/MacOS/Audionaut export ~/Music/song.audium -o ~/Music/mix.wav。注意 macOS 应用沙盒限制其内嵌 CLI 只能访问授权位置如 ~/Music;独立 audionaut-cli 无此限。Windows 上应用为 GUI 程序,shell 立即返回且输出交错,脚本建议用 audionaut-cli。

许可证

Audionaut 双授权:GPL3(或更新)与商业许可,详见 LICENSE.md。

贡献

欢迎贡献,见 CONTRIBUTING.md 与所需贡献者许可协议 CLA.md。

支持

若 Audionaut 对你有用,可考虑赞助开发,赞助直接资助开发时间并保持项目可持续。

评论

讨论整体以祝贺和期待为主,作者发布了一款开源跨平台多轨音频编辑器,并演示了用 agent 做剪辑的流程。分歧不大,主要集中在定位与完备度:它到底算不算 DAW、是否主要服务播客和语音场景,以及功能缺口、分发方式和技术选型能否支撑更专业的用途。

认可开源跨平台多轨编辑器,愿意加入试用清单

  • 多人祝贺作者终于把项目做出来,认为值得在空闲时试用,也有人尤其看好其中的生产管线潜力。(较多人) > 恭喜把东西做出来并分享,看起来很有意思,会找时间看。(@sdoering)

关心多轨数量增加后的延迟表现

  • 有人直接问轨道很多时延迟是否稳定,这是专业使用场景的关键指标。(少数人) > 轨道多的时候延迟表现如何?(@Jeeetendra)

想用 agent 自动去除播客中会吵醒人的音乐段落

  • 一位用户描述自己常听播客入睡,但音乐等段落会把人吵醒,希望给几个示例编辑后就能自动处理其它文件。(少数人) > 我能不能给几个文件做示例编辑,然后让它自动去掉其它文件里类似的内容?(@thenoblesunfish)

追问它究竟是 DAW 还是主要面向播客和非音乐

  • 有人对产品定位提出疑问,想知道它是否以音乐制作为目标,还是更偏向播客等非音乐用途。(少数人) > 这是 DAW,还是主要面向播客和非音乐?(@0gs)

试用后列出功能缺口,并建议参考 Sony Vegas 的直觉设计

  • 一位早期试用者列出希望补齐的能力:从菜单或右键导入文件、分割等快捷键、片段移入彼此时的自动交叉淡入、包络和效果,并认为 Sony Vegas 在轨道与片段编辑上的体验值得借鉴。(少数人) > 希望有从菜单或右键导入文件、分割等快捷键、片段重叠时自动交叉淡入、包络和效果。(@atentaten)

需要 flatpak 分发

  • 有人只留下一句请求,希望提供 flatpak 包。(少数人) > flatpak 拜托。(@qpiox)

质疑 JUCE 对商业产品的友好度

  • 有人指出 JUCE 虽然开源,但对商业产品存在不少障碍,并追问为何不选 iPlug2。(少数人) > JUCE 开源,但对商业产品有很多障碍,为什么选它而不是 iPlug2?(@r2ob)

观察到生成式 AI 之后音频/视频编辑器项目变多

  • 有人注意到不少开发者在生成式 AI 之后开始做视频或音频编辑器,并用 Claude/Codex 来做这类工具。(少数人) > 不只是我吧,生成式 AI 之后开发者开始做视频/音频编辑器了。(@kyzcdev)

有价值的补充

  • 项目支持 regions,但有用户进一步问是否有 labels,以及能否从文件导入导出 labels/regions;还建议增加 docs/features.md 说明能力,也方便 LLM 理解项目。
  • 作者说明 agent 编辑的价值在于 UI 始终提供透明度;通过 MCP 接入 Claude Code 后,每次编辑在打开的项目里作为一个撤销步骤落地,保存权仍在用户。
  • 作者最初动机是复刻 Sound Designer II 的工作流:建 region、丢进 playlist、导出 playlist。
  • 有人问与 audiomass 相比如何,属于待回答的对比问题。
  • macOS 应用受沙盒限制,项目建议放在 ~/Music。