Show HN: Audionaut — 一款开源跨平台多轨音频编辑器
摘要
Audionaut 是一款免费的开源多轨音频编辑器,基于 C++ 和 JUCE 构建,可在 Windows、macOS 和 Linux 上原生运行,并支持 MCP,可让 Claude 及其他 AI 智能体执行音频编辑、音轨分离和音频分析等操作。
查看缓存全文
缓存时间: 2026/10/02 11:17
kvoltmer/Audionaut
来源: https://github.com/kvoltmer/Audionaut
Audionaut
一款免费的开源多轨音频编辑器,AI 智能体可通过 MCP 驱动它。
audionaut.app (https://audionaut.app) · 讨论区 · 赞助
Audionaut 是一款免费的开源桌面应用,用于轻松进行音频编辑与录制。无论你在制作音乐、播客还是多轨录音,它都能提供精确剪辑、按轨播放列表、灵活的多声道支持以及干净的导出——而无需完整 DAW(数字音频工作站)的臃肿与复杂。
Audionaut 使用现代 C++ 在 JUCE 框架上编写,可原生运行于 Windows、macOS 和 Linux。
许可证: GPL v3 · macOS 测试 · Linux 构建 · 赞助
与 Claude 搭配使用
Audionaut 支持 MCP,因此 Claude 及其他智能体可以直接编辑你的工程。安装好应用和 Node.js 18+ 之后:
claude mcp add audionaut -- npx -y audionaut-mcp
在 Audionaut 中保持工程打开,每次编辑都会作为一个撤销步骤到达。在 macOS 上,请将工程保存在你的 Music 文件夹中。
Claude Desktop 的配置与详情见:手册,第 11 章。
获取代码
克隆时务必带上子模块:
git clone --recursive https://github.com/kvoltmer/Audionaut.git
或者克隆完成后执行:
git submodule update --init --recursive
Essentia(音频分析)
分析功能(BIC 分段、节拍起始检测、节拍追踪)链接到 Essentia 子模块的静态构建版本。检出子模块后,先构建一次:
./Audionaut/Builds/build_essentia.sh
该脚本会静态构建 Essentia 的第三方依赖(耗时较长,重复运行时会跳过;可用 FORCE_3RDPARTY=1 强制执行),然后使用 Essentia 自带的 waf 构建系统,将其配置并构建到 Submodules/essentia/build。脚本会在工作区中按需修补 Essentia 面向 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,CMake 4.x 会拒绝处理(例如可
pip install "cmake~=3.31.0")。
构建 Essentia 是可选的:不构建时,ESSENTIA_ENABLED 会自动检测为关闭,应用和测试会在禁用分析功能的情况下编译。
demucs.cpp(分轨)
分轨功能使用 demucs.cpp——Meta 的 Demucs 的 C++ 移植版,直接从 Submodules/demucs.cpp 子模块编译,无需单独的构建步骤。它需要该子模块自带的 Eigen(Submodules/demucs.cpp/vendor/eigen,一个嵌套子模块,--recursive 会一并获取);CMake 构建会自动检测并相应设置 AUDIONAUT_ENABLE_DEMUCS。
模型权重不在仓库中:应用会在首次使用时将其下载到自己的 Models 文件夹,也可以用 --model 指向一份副本。
构建
Xcode — 打开位于以下路径的 Xcode 工程:
Audionaut/Builds/MacOSX/Audionaut.xcodeproj
Visual Studio 2026 — 打开位于以下路径的 Visual Studio 解决方案:
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 智能体可以无头(headless)访问 .audium 工程——无需图形界面,无需音频设备。它与测试一起构建:
cmake -B build -S Audionaut/Catch2Tests
cmake --build build -j8 --target AudionautCli
./build/AudionautCli_artefacts/AudionautCli --help
每条命令都支持 --json,在标准输出上输出恰好一条机器可读的结果信封({"ok": true, "result": ...} 或 {"ok": false, "error": ...}),所有日志输出到标准错误,另加 --quiet。退出码:0 成功,1 操作失败,2 用法错误,3 此构建中该功能不可用(例如在没有 Essentia 的情况下使用 analyze)。选项值可以写成 --opt value 或 --opt=value。
audionaut-cli create song.audium --channels 2
audionaut-cli import song.audium take1.wav take2.wav --position 4.5
audionaut-cli info song.audium --json
audionaut-cli analyze song.audium --types sbic,beat_degara
audionaut-cli auto-edit song.audium --track 0 --measures 4
audionaut-cli assemble song.audium --duration 60 --mode random
audionaut-cli split song.audium --at 23
# 第 23 小节;--unit beats|seconds|clocks
audionaut-cli create-region song.audium --name chorus --start 17 --end 25
audionaut-cli set-region song.audium --region chorus --rename drop --length 8
audionaut-cli place-clip song.audium --region drop --at 33
audionaut-cli move-clip song.audium --region drop --to 41
audionaut-cli remove-clip song.audium --at 41 --track 0
audionaut-cli clip-gain song.audium --region drop --gain -6 --db
audionaut-cli clip-fades song.audium --region drop --fade-in 1 --fade-out 2 --unit beats
audionaut-cli separate song.audium --track 1
# 生成 Drums/Bass/Other/Vocals 轨道;需要 Demucs 模型
audionaut-cli export song.audium -o mix.wav --sample-rate 48000 --bit-depth 24
典型的智能体流程:create → import → analyze → auto-edit/assemble → export,并在每个 --json 信封中检查 ok 字段。由 CLI 写入的工程可以在 GUI 应用中打开,反之亦然。
面向最终用户的文档见 用户手册。
CLI 调用会在与应用相同的严格选择性加入(opt-in)同意机制下上报匿名使用统计——只发送一个 cli_command 事件(动词与退出码),除非在应用设置中已授予同意,否则不会发送任何内容。设置 AUDIONAUT_DISABLE_ANALYTICS=1 可无条件关闭 CLI 的上报(适用于 CI 环境、脚本)。
Audionaut 主应用也接受同样的动词(Projucer 风格):运行应用可执行文件并附加一个动词,它就会无头执行,并以该命令的退出码退出,即使图形界面实例已打开也是如此——带文件参数或不带参数则照常启动 GUI。
./Audionaut.app/Contents/MacOS/Audionaut export ~/Music/song.audium -o ~/Music/mix.wav
注意:macOS 版应用处于沙盒环境,因此其内置 CLI 只能访问权限覆盖的路径,例如 ~/Music;独立构建的 audionaut-cli 没有这种限制。在 Windows 上,主应用是一个 GUI 程序——命令提示符会立即返回,输出会与其交错显示;在那里进行脚本编写时建议优先使用 audionaut-cli。
许可证
Audionaut 采用双重许可:GPL3(或更高版本)与商业许可——详情见 LICENSE.md。
贡献
欢迎参与贡献——请参阅 CONTRIBUTING.md 了解如何开始,以及所需的贡献者许可协议(CLA.md)。
支持
如果 Audionaut 对你有帮助,欢迎考虑赞助它的开发——赞助直接用于投入开发时间,帮助项目保持可持续。
相似文章
Show HN: Audiomass – 一款免费开源的多轨音频编辑器,运行于浏览器中
Audiomass 是一款完全在网页浏览器中运行的免费开源多轨音频编辑器。
Show HN: Juggler – 一个开源GUI代码智能体,由JUCE的创建者开发
Juggler是一个开源GUI代码智能体,提供了一个可视化工作台,用于与LLM交互以编辑代码,具有可检查的工具调用、分支线程和可编辑上下文。它可以在本地或远程运行,并支持多种模型。
Show HN: 我们怀念Winamp,因此为macOS构建了一款音频播放器
一款名为180db的新macOS音频播放器发布,其灵感来自Winamp,专为音乐人和DJ设计,具备变调、布局自定义等功能。
Audryo
Audryo 是一个为 AI 智能体(agent)操作而设计的生命周期邮件平台,可通过 MCP、API 或 CLI 与 Claude Code、Codex 或 Cursor 集成,用于创建受众群体、自动化旅程、营销活动和品牌化邮件,并配备人工审核和沙箱化安全防护。目前公开测试阶段免费使用。
Show HN:Rhun,一款用汇编语言编写的开源代码编辑器
Rhun 是一款用汇编语言编写的小型、快速的开源代码编辑器,支持标签页、语法高亮、模糊搜索、Vim 模式以及可选的 AI 编程助手,可在 Windows、Linux 和 macOS 上运行。