
SUB/WAVE
SUB/WAVE是一个自托管的开源互联网广播电台,它将您自己的Navidrome/Subsonic音乐库转换为一个单一的共享实时广播,并配有由LLM驱动的DJ,负责选择曲目、接受自然语言请求,并使用可互换(甚至克隆)的语音在歌曲之间进行播报。
https://www.getsubwave.com/?ref=producthunt&utm_source=aipure

产品信息
更新于:2026年07月30日
什么是 SUB/WAVE
SUB/WAVE是“广播,但更个性化”:一个连续的流,每个听众在同一时刻听到同一首歌,DJ的声音让电台感觉生动。它不生成音乐或依赖平台目录,而是连接到您现有的音乐库(通常通过Navidrome和Subsonic API),并作为一个完整的电台堆栈运行,由您控制——包括网络、iOS、Android和桌面播放器,以及VLC和其他设备的M3U/PLS等经典调谐选项。它旨在带回广播的共享体验,同时保持系统私有、运营商拥有和可定制。
SUB/WAVE 的主要功能
SUB/WAVE 是一个自托管的“真实电台”互联网电台:一个连续的 Icecast 广播,每个听众在同一时刻收听,由运行在您自己机器上的软件进行混音和播报。它通过 Navidrome(或任何兼容 Subsonic-API 的服务器)连接到您现有的音乐库,而由 LLM 驱动的 DJ 角色会选择曲目,在歌曲之间进行播报(ID、时间检查、天气、玩笑),并处理听众请求。该技术栈(控制器、Liquidsoap 混音器、Icecast、TTS/语音引擎和边缘代理)是开源的,可在本地运行,并允许您在运行时切换 LLM 和语音提供商——包括用于隐私和弹性的本地选项。
单流广播电台: 一个单一的 Icecast 流,所有听众共享相同的实时序列——没有每个用户的队列,没有跳过按钮——捕捉经典的“收听正在播放的内容”的电台感觉。
自带音乐库 (Subsonic/Navidrome): 播放来自您自己的收藏,由 Navidrome 或任何兼容 Subsonic 的服务器(Subsonic、Airsonic、Gonic、Funkwhale 等)提供服务,因此目录和标签都在您的控制之下。
LLM 驱动的 DJ,具有角色和技能: LLM 选择接下来播放的内容并生成实时语音片段(开场白、电台 ID、时间/天气、评论),由可配置的角色和您可以启用或编写的可选“技能”驱动。
可切换的 LLM + TTS 引擎(本地或云端): 无需重新部署即可更改语言模型提供商(例如,Ollama、OpenAI、Anthropic、Google、OpenRouter、OpenAI 兼容)和语音引擎(例如,Piper、Kokoro、PocketTTS、ElevenLabs、OpenAI);设置令牌预算,即使聊天被限制,音乐也能继续播放。
实时混音管道 (Liquidsoap + Icecast): Liquidsoap 处理交叉淡入淡出、在音乐/背景音乐上压低 DJ 语音以及轮播片头音乐/音效;Icecast 分发挂载点,例如 MP3(以及可选的 Opus/AAC/FLAC)。
带空中确认的听众请求: 听众可以按歌曲/艺术家/氛围请求;系统会与音乐库匹配,DJ 可以在空中介绍请求,就像打电话给电台一样。
SUB/WAVE 的使用场景
个人或家庭“全天候”电台: 在家中从您自己的音乐库运行一个电台,供手机、桌面设备、VLC/Sonos/互联网收音机进行背景收听——家里的每个人都收听相同的广播。
小众社区微型电台: 策划一个以流派或城市为主题的电台(例如,本地电子音乐、爵士之夜),包含预定的节目和独特的 DJ 角色,作为一个单一流公开共享。
工作场所或工作室背景音乐: 为办公室、共享办公空间、健身房或创意工作室提供一致的、集中控制的流媒体——没有个人播放列表,只有共享的氛围和基于时间的节目编排。
活动和场地节目编排: 为快闪店、画廊、咖啡馆或节日使用预定节目、情绪、片头音乐和 DJ 语音链接——创建品牌化的“电台”体验,而无需聘请现场人才。
家庭实验室/开源电台实验: 一个供自托管者结合 Navidrome、Icecast、Liquidsoap 和本地 LLM/TTS 的实用试验场——端到端地定制角色、技能和自动化。
优点
自托管和开源:在一个盒子中运行,无需强制云订阅,并且技术栈可审计/可定制。
使用您自己的音乐库:避免依赖第三方目录,并将元数据/私人收藏保持在您的控制之下。
可切换的 AI 组件:在运行时切换 LLM/TTS 提供商;本地选项可实现隐私和离线友好操作。
缺点
操作复杂性:需要运行和维护多个服务(Navidrome/Subsonic 服务器、Icecast、Liquidsoap、控制器、TTS/LLM)。
电台式限制:听众无法跳过曲目;这是故意的,但可能会让期望按需播放的用户感到沮丧。
如果公开播放,存在许可/法律风险:在许多司法管辖区,超出私人收听范围广播受版权保护的作品可能需要公共表演许可。
如何使用 SUB/WAVE
1) 收听电台(网页版): 在浏览器中打开https://getsubwave.com/listen。电台已在广播中;按下播放即可加入当前正在播放的内容(每个人都听到相同的流)。
2) 将网页播放器安装为应用程序(PWA): 在您的移动/桌面浏览器中,使用“添加到主屏幕”/“安装”将SUB/WAVE安装为网络应用程序。它将像具有自己图标的本地应用程序一样运行。
3) 使用原生应用程序(iOS/Android)或桌面播放器: 从App Store/Google Play安装官方应用程序,或从https://github.com/getsubwave/subwave-desktop/releases/latest下载桌面播放器。这些应用程序与操作系统媒体控件(锁屏、耳机、车载显示器)集成。
4) 理解广播式播放(无恢复,无跳过): SUB/WAVE是一个单一的实时Icecast流。如果您暂停并再次按下播放,您将回到当前时刻的实时广播(它不会从您离开的地方恢复)。听众跳过功能是故意不提供的,这样一个人就不能为所有人更改歌曲。
5) 导航播放器:正在播放: 在主播放器屏幕上,查看当前曲目的标题/艺术家/专辑和封面艺术(从电台的音乐库中提取)。波形/可视化器跟踪实时音频。
6) 打开时间线抽屉: 打开时间线以查看最近播放的内容以及广播流程中排队的内容(电台级别的队列,而不是您的个人队列)。
7) 打开播音室抽屉: 打开播音室以查看DJ所说内容的实时日志(电台ID、时间检查、天气播报、歌曲之间的过渡)。
8) 发送听众请求(电话电台式): 打开请求抽屉/面板,输入歌曲标题、艺术家或氛围(可选添加您的姓名)。匹配发生时您会立即收到确认。系统会从电台的音乐库中找到一首真实的曲目,并将其排入共享广播的时间线中。
9) 使用其他播放器收听(M3U/PLS): 对于硬件或第三方播放器(例如VLC、Sonos、网络收音机),请使用电台的播放列表端点:电台域名上的/listen.m3u或/listen.pls。
10) 运行您自己的电台:先决条件: 运行一个兼容Subsonic-API的音乐服务器(推荐Navidrome;也适用于Subsonic/Airsonic/Gonic/Funkwhale/Nextcloud Music)。准备一个能够运行Docker Compose的Linux主机(可选地在Cloudflare后面进行TLS)。
11) 运行您自己的电台:快速安装(compose + .env): 在您的主机上:创建一个文件夹,从仓库下载docker-compose.yml和.env.example,重命名为.env,然后设置三个必需的值:ADMIN_USER、ADMIN_PASS(必需;没有它电台将无法启动)和PUBLIC_ORIGIN。然后使用:docker compose up -d启动。
12) 在浏览器中完成首次运行引导: 容器启动后,在您的电台源上的/onboarding打开引导向导。输入您的Navidrome URL + 用户名 + 密码(保存到电台状态)。向导在调整电台之前执行健康检查。
13) 选择和切换LLM提供商(DJ大脑): 在管理控制台中,选择用于选择曲目和编写口语片段的LLM提供商。提供商可以在运行时互换(例如,默认的本地Ollama,或Anthropic/OpenAI/Google/OpenRouter等托管提供商,或任何兼容OpenAI的端点),无需重新部署。
14) 选择和切换TTS/语音引擎(DJ声音): 在设置中配置语音引擎(Piper/Kokoro等本地引擎,或OpenAI/ElevenLabs等云语音,或任何HTTP端点)。语音是按角色配置的,可以实时更改。
15) 创建和管理DJ角色: 在管理控制台中,定义角色(名称、风格/灵魂、说话频率、语音引擎/语音)。您可以维护一个名册(最多24个),并为不同时间安排不同的主持人。
16) 启用和运行“技能”(自主片段): 在技能面板中,切换天气检查、时间检查、电台ID、评论等片段。您可以将技能分配给角色,并立即触发技能以使其播出。
17) 在每周日程上安排节目: 使用24×7日程网格为时间段分配角色、情绪和主题简介。您还可以将节目锚定到Navidrome播放列表,以便DJ从该选择中提取内容。
18) 从仪表板管理电台: 使用仪表板监控实时状态(谁在广播、情绪、听众数量、天气),查看队列和播音室日志,并执行操作员操作,例如跳过曲目(仅限管理员)或发送自定义词语到广播。
19) 添加语音克隆(可选): 将一个简短的WAV参考剪辑放入电台的语音文件夹中,然后将一个角色指向该剪辑。支持的引擎(根据来源)包括Chatterbox(从单个WAV进行零样本克隆)和PocketTTS(从WAV进行克隆)。如果克隆失败,PocketTTS可以回退到内置语音,以便片段仍然播出。
20) 分享您的电台地址并让其他人收听: 您的电台运行后,分享其公共URL。听众可以在引导/电台切换期间粘贴地址,并加入相同的实时广播流。
SUB/WAVE 常见问题
SUB/WAVE是一个自托管的“网络电台”堆栈:一个连续的广播流,由LLM驱动的DJ从您自己的音乐库中挑选曲目,在歌曲之间进行解说,系统像真正的电台一样混合和流式传输所有内容。











