跳转到内容
STR
文字大小
在 GitHub 上赞助捐款请我喝杯 Ko-fi分享
来自科隆的开源业余项目

适用于所有 Bose SoundTouch 型号

不靠云端,也能让你的 Bose SoundTouch 继续运行

Bose 在 2026 年 5 月关闭了 SoundTouch 云端服务。STR 让这些音箱不靠云端也能完整运行。网络电台、Spotify、你自己的音乐和预设按键都能像以前一样正常使用。

  • 10 分钟即可就绪音箱连上 Wi-Fi,在 App 里点一下安装,完成。不需 U 盘、不需额外硬件、不需技术知识。 之后 STR 在音箱本身上运行,电脑可以保持关机。
  • 你的预设按键又能用了音箱和遥控器上的六个按键,和以前一样。
  • 永久免费一个开源项目。没有费用、没有订阅、没有云端。
Bose SoundTouch 10 音箱正面图
  • MIT 许可的开源软件
  • Bose 固件保持原封不动
  • 随时都能完整还原

这是在做什么

STR 是一个开源的业余项目。它之所以存在,是因为 Bose 在 2026 年 5 月关闭了 SoundTouch 云端,让价值好几百欧元的设备变成了废铁。Bose 从未公布官方销售数字,但业界报道提到,自 2013 年推出以来,SoundTouch 音箱在全球已售出数百万台。这次云端关闭,一夜之间让大量原本功能完好的音响硬件变成废物,而这正是这个项目的起点。花了几个周末做逆向工程之后,这些音箱不靠那朵云也能运行了。目标是:还能用的硬件,不该只因为厂商停掉一项服务,就沦为电子垃圾。

STR 在世界各地都活着

在地图上放一枚图钉,选一个反应,展示你的音箱又复活了。新访客一眼就能看出 STR 已经在哪些地方被使用。

正在加载地图

在地图上任意位置点一下。你的位置会特意存得比较模糊,绝不会精确到住址。

表情符号来源 OpenMoji · CC BY-SA 4.0

STR 实际运行效果

德国 YouTube 频道 gapsed! 独立试用了 STR,并在视频中展示无声的 SoundTouch 音箱如何重新播放网络电台,以及软件如何工作。来自社区的这种反馈让我非常开心。

视频为德语。

介绍 STR 的 YouTube 视频缩略图
gapsed!Bose SoundTouch retten: Die Lösung, auf die ich gewartet habe

视频托管在 YouTube。只有点击播放后才会加载,届时会向 Google 传输数据。详情请见隐私政策。直接在 YouTube 上观看。

三个步骤,找回你的电台

从下载到播出第一个电台大约只要十分钟。

前提:你的 Bose 必须连上 WiFi

这是唯一需要的准备工作。STR 通过家庭网络和音箱通信,所以 Bose 必须先连上你的 Wi-Fi 一次。最简单的方式是用官方的 Bose App,在最新版本里已经不需要 Bose 账号,也不需要云端。或者,你也可以用网线把音箱直接接到路由器上。音箱一连上网络,STR App 就会自动找到它,并通过网络完成后续所有安装。

  1. 下载 App

    从下方的下载区获取 Windows 或 Mac 版本。如果你想确认无误,可以验证 SHA256 校验和或 GitHub 认证,说明在“验证”区。这是可选的。

    前往下载
  2. 通过网络安装 STR

    在电脑上启动 STR App。它会自动在 Wi-Fi 里找到你的 Bose,只要点一下,就能直接通过网络把 STR 安装到音箱上。整个过程只需要几分钟,之后音箱会带着 STR 重新启动。后续更新也会通过 App 自动送达。

  3. 把电台放到按键上

    在浏览器或电脑 App 里搜索电台,把你最爱的六个放到音箱顶部的按键 1 到 6 上。完成。音箱就跟以前一样能用了。

    一根手指按着 SoundTouch 顶部的一个预设按键

你的 Bose SoundTouch 又能做到的事

以前的功能全部又能用了。还有几项 Bose App 从来做不到的。

一切如旧

网络电台

来自世界各地的数万个电台,带电台台标,还能按语言搜索。搜索、播放,就这么简单。不用账号,也不用注册 App。

Spotify Connect

Spotify 现在完全不需要 Bose App,就能直接在音箱上播放。把你的播放列表放到按键 1 到 6,一按就能听,App 里还会显示曲目和艺术家。一个家庭里有多个 Spotify 账号和随机播放也都没问题。需要 Spotify Premium。

实体按键 1 到 6

音箱顶部和遥控器上的收藏电台按键又能用了,甚至刚开机就能用。短按立即播放,长按则把当前播放的内容保存到那个按键上,就像音箱一直以来的做法。

你自己的音乐

直接在音箱上播放存放在家庭网络里的音乐,来自 NAS 或你的路由器。在 App 里浏览,把任何曲目放到按键上。什么都不会离开你家。它在底层使用开放的 DLNA 和 UPnP 标准。

多房间与立体声配对

让多台音箱同步播放,或把两台 SoundTouch 10 配成带左右声道的立体声配对。在 Bose App 里设置的立体声配对,安装 STR 后依然保留。如果某台音箱卡在旧的、已损坏的立体声配对里,App 会发现并一键解除。

用手机控制

每台音箱都提供自己的手机浏览器遥控器,Android 和 iPhone 都能用,无需应用商店,也无需账号。它接手你过去用 Bose App 当遥控器做的事:播放、音量、待机、六个预设、搜索电台、你自己的音乐和分组。

在美国:iHeartRadio 和 Pandora 会保留在你的音箱上。

全新,原厂从来没有

全新

闹钟

直接在音箱上设闹钟,可以选星期几、音量和自动关闭时间。它会用你六个按键中的一个叫你起床,也就是你的电台或歌单,之后自己关掉。闹钟存在音箱里,所以电脑和手机关机也能响。

全新

遥控器操控智能家居

遥控器下方的每一个按键,都是 Home Assistant 和类似系统的独立触发器,例如客厅的灯。设置在应用里的一张遥控器图片上完成:点一下按键,选一个动作,就完成了。

全新

会保留的群组

音箱群组设置一次就保留下来。只要主音箱一开始播放,其他音箱就会自动加入,待机和重新启动之后也一样。群组会显示在应用和手机上。群组可以任意混搭不同型号。两台 SoundTouch 10 还能配成真正的立体声对,左右声道分开。

全新

睡眠定时器

设定一个定时器,音箱或整个群组就会在你设定的时间后自动关闭。

用户告诉我们,这个 App 在他们那里跑得比原厂更顺。

App 的实际使用画面

这就是 STR App 在你电脑上的样子。搜索电台、把它们放到实体按键上、设置音箱,全部在同一个地方完成。

STR App 主界面,含音箱与预设按键
听音乐
STR App 电台搜索,含筛选器
查找电台
STR App 媒体库,含一台网络音乐服务器
网络媒体库
STR App 各音箱设置
音箱设置
STR App 高级音箱设置
更多设置
STR App 状态界面,含音箱信息
状态与操作

截图来自当前版本,各自以自己的语言显示。像 IP 地址、Wi-Fi 名称、设备 ID 和序列号等敏感数据已做模糊处理。

كل مكبر صوت يقدم صفحة التحكم الخاصة به في المتصفح: أندرويد أو آيفون أو آيباد أو جهاز لوحي، دون متجر تطبيقات ودون حساب. امسح رمز QR في إعدادات مكبر الصوت في تطبيق الكمبيوتر مرة واحدة وأضف الصفحة إلى الشاشة الرئيسية، فتعمل مثل تطبيق.

播放、音量和预设键
播放、音量和预设键
查找电台和音乐
查找电台和音乐
所有音箱和分组
所有音箱和分组

截图展示的是音箱实际提供的手机遥控页面。

正在进行中

  • Deezer:把你的 Deezer 收藏放到按键上。

以后也许会做

  • TIDAL Connect 集成
  • 播客:搜索一个节目并放到按键上,一按就播放最新一集。

顺序不是固定的。如果你急需某项功能,给我发消息或开一个 issue,我就会调整优先级。

兼容机型

所有 SoundTouch 型号都能使用 STR,并已在真机上测试过,包括最常被问到的三款:SoundTouch SA-5 功放、Wave SoundTouch series IV 和 SoundTouch 300。全部使用同一个下载文件。

  • SoundTouch 10
  • SoundTouch Portable
  • SoundTouch 20
  • SoundTouch 30
  • SoundTouch SA-5 amplifier
  • Wave SoundTouch series IV
  • SoundTouch 300
  • SoundTouch SA-4 amplifier
  • Wave SoundTouch series III
  • CineMate with SoundTouch adapter120 · 130 · 220 · 520 · SoundTouch 520
  • SoundTouch Wireless Link adapter
  • Lifestyle with SoundTouch adapter535 · 600 · 650

Bose 和 SoundTouch 是 Bose Corporation 的商标。本项目与 Bose 没有任何关联。

开源且可验证

我在这个页面上说的,你都可以自己验证,或请人稍微帮一下来验证。没有空头承诺,只有可以查证的事实。

MIT LicenseSource on GitHub

源代码公开

所有代码都在 GitHub 上。读它、如果你不喜欢某部分就 fork 它、做出你自己的版本。采用 MIT 许可,你不必先问过我。

由构建流程签名

每个下载文件都有一个 SHA256 指纹和一个 GitHub 构建认证。如果你想确认无误,下方的“验证”区会教你怎么做。

STR 在你的网络中开放了什么

为了让你清楚 STR 新增了什么:STR 在 8888 端口上的控制页面没有登录机制,同一个 WiFi 里的任何人都能通过它修改预设按键或触发播放。桌面 App 与音箱之间的连接未加密。这两点都是有意为之,WiFi 就是这个项目的信任边界。如果你家的网络里有不明设备,就应该留意这一点。

你的数据留在家里

STR 和你的音箱只在你的 Wi-Fi 里通信,另外搜索电台时会用到 radio-browser.info。桌面 App 启动时会向 st-reborn.de 快速确认有没有更新,过程中只发送匿名的基本信息,比如版本、操作系统和语言。不需要账号、没有 Cookie、不存储 IP,也不会建立任何个人档案。你可以关闭这项检查,App 照样正常运行。

自己动手构建

如果你用和我一样的工具构建源代码,会得到逐位完全相同的二进制文件。整个过程都有文档记录,如果行不通就跟我说一声。

报告安全问题

发现了错误或安全问题?可以在 GitHub 上或通过邮件反馈。我通常会在一两天内回复。

Bose 固件保持原封不动

官方的 Bose 固件不会被修改。STR 只是以附加文件的形式存在于内部存储空间里。音箱恢复出厂设置会还原 Bose 软件,但会保留 STR 文件。要完全移除 STR,请使用 App 内置的干净卸载功能,它会把音箱还原到原来的 Bose 状态。

下载

下载适合你电脑的安装向导。它会通过家庭网络把 STR 一次性安装到你的 Bose SoundTouch 上。之后日常使用也是同一个 App:控制音箱、搜索电台,还能把电台存到硬件预设按键 1 到 6。

版本v1.0.7发布日期2026年10月7日总下载次数65,828

你需要什么

  • Windows 10 或更新版本,或一台运行 macOS 的 Mac
  • 不需要 U盘,也不需要额外硬件。STR 直接通过家庭网络安装到音箱上。
  • 你的 Bose SoundTouch 已开机,并和电脑连在同一个家庭网络里。如何让音箱连上 WiFi,本页上方有说明。

Windows 安装向导

引导你完成一次性的网络安装。之后同一个 App 就能控制 Wi-Fi 里所有装了 STR 的音箱。

Windows 10 或 11(64 位)。不支持 Windows 7 和 8。

下载 Windows 版浏览器拦截了下载?可以改用 ZIP 版本。
大小
51.9 MB
SHA256
41ac893a...0e2e11

已签名。首次启动时,Windows 防火墙会请求家庭网络的访问权限。没有这个权限,搜索结果会是空的。

macOS 安装向导

适用于 Apple Silicon 和 Intel 的通用二进制文件。

macOS 12(Monterey)或更新版本。

下载 macOS 版
大小
40.9 MB
SHA256
225c2582...12210e

已通过 Apple 公证。拖进“应用程序”文件夹即可,不需要其他步骤。

也可以用 Homebrew 安装: brew install --cask jrpersonal/tap/st-reborn

Linux

适用于 x86_64 的 tarball。欢迎反馈。

较新的 64 位 Linux。

下载 Linux Tarball
大小
18.6 MB
SHA256
07d4afaa...adc5e7

以压缩包提供。下载后先解压,再从解压出的文件夹启动程序。

所有版本和历史版本所有 SHA256 哈希值文件想从源代码构建?代码和构建说明都在 GitHub 上。 github.com/JRpersonal/streborn
验证下载文件

每个下载文件都可以验证。这样你就能确认文件来自官方的 GitHub 构建流程,而且在传输过程中没有被篡改。

这一步是可选的。不做验证,下载的文件同样可以正常使用。这些步骤只是给想额外确认一下的人参考。

方法 1:SHA256 校验和

计算你下载的文件的 SHA256 哈希值,并与 Release 页面上的值比对。如果哈希值一致,文件就没有被改动过。

# Windows PowerShell
Get-FileHash .\STR-Windows.exe -Algorithm SHA256

# macOS oder Linux
shasum -a 256 STR-macOS.dmg

方法 2:GitHub 构建证明

借助 GitHub CLI,你可以用密码学方式证明这个二进制文件出自官方构建流程。即使有人事后篡改了校验和,这个方法依然有效。

# GitHub CLI installieren: https://cli.github.com
gh attestation verify \
   STR-Windows.exe \
   --owner JRpersonal

只从官方的 GitHub release 页面或本网站下载二进制文件。绝不要从第三方来源下载。

社区与联系

STR 靠你和其他 SoundTouch 用户才能存在。你不需要会写代码也能帮忙,有时候一条关于什么能用、什么不能用的简短消息,正是我需要的。

GitHub Issues
错误反馈、功能建议、安装设置方面的帮助。
GitHub Discussions
开放式问题、用户故事、电台推荐。
贡献代码
你会写代码,想一起帮忙吗?标着“good first issue”的 issue 是很友好的入门起点。
直接发邮件
通常当天回复。话题不适合公开发在 GitHub 上时很合适。
E-Mail Adresse, bitte JavaScript aktivieren

帮忙让更多人知道

常见问题

Bose 云服务关闭后,我的 SoundTouch 还能用吗?
可以。Bose 在 2026 年 5 月关闭了 SoundTouch 云服务,但音箱本身仍然能用。有了 STR,网络电台、Spotify Connect、六个预设键、你自己网络里的音乐、分组和立体声配对都能再次使用。一切都可以在电脑 App 或手机上操作。STR 直接在音箱上运行,无需账号也无需云服务,支持 SoundTouch 10、20、30、Portable、Wave,以及“兼容机型”中列出的其他型号。
Bose 停止服务后,SoundTouch 还能用 Spotify 吗?
可以。STR 让音箱重新支持 Spotify Connect:在手机或电脑上打开 Spotify,选择音箱,音乐就直接在音箱上播放。你也可以把喜欢的播放列表设置到 1 到 6 号键,在音箱或遥控器上按一下就能播放,无需手机。同一个家庭里的多个 Spotify 账号也能使用。需要 Spotify Premium。
在美国,我的 SoundTouch 还能用 iHeartRadio 和 Pandora 吗?
在设置为美国的音箱上,STR 从 1.0.3 版起会保留音箱内置的 iHeartRadio 和 Pandora,无需任何设置。只要音箱还保留着你的登录信息,已保存的电台应该能继续使用。这是新功能,还没有美国用户确认过,所以我在找测试者:请在 GitHub 的想法讨论帖告诉我你的使用情况。网络电台、Spotify 和你自己的音乐在任何地方都能用,美国也一样。
云服务关闭后,SoundTouch 的预设键不能用了。还能恢复吗?
可以。音箱和遥控器上的六个按键过去是从 Bose 云端获取电台,所以云服务关闭后就没有反应了。STR 把你的预设存在音箱本身,按键就能再次使用,关机、待机或 Wi-Fi 中断之后也一样。每个按键可以存一个电台、一个 Spotify 播放列表,或你自己网络里的音乐。短按播放,长按保存当前正在播放的内容。
之后我的 Bose SoundTouch 还安全吗?
安全,甚至比以前更安全。STR 不会修改官方的 Bose 固件。安装时,STR 会在音箱内置的 NAND 存储空间里(位于 /mnt/nv/streborn/)放入几个文件,包括 STR 代理程序本身和它的配置。它们会作为额外的进程与 Bose 软件并行运行。关于网络安装的安全性说明:为了传送代理程序,STR 会短暂开启 Bose 固件出厂时就自带的维护通道,安装一完成就立刻把它关闭。所以唯一有风险的时段,就是这段短短的安装过程本身,App 在这段时间也会显示提醒。恢复出厂设置只会还原 Bose 软件,STR 的文件会保留下来;如果哪天想把音箱转手给别人,请参考下一个问题。
更新如何传到音箱上?安全吗?
有新版本时,电脑 App 会提示更新,并通过你的家庭网络安装到音箱上。Bose 固件完全不会被改动,只替换 STR 自己的文件。从 1.0.3 版开始,音箱在接收更新时需要的内存少了很多,其他功能仍有充足空间。
音箱播放时,电脑必须一直开着吗?
不用。STR 通过应用程序一次性安装到音箱上,之后就一直在音箱上运行。预设按键、网络电台、Spotify 和手机操控在没有任何电脑开机时也能使用。电脑应用程序只在安装、更新以及在大屏幕上搜索电台等便利功能时才需要。
不用 Bose App,可以用手机控制 SoundTouch 吗?
可以。每台装了 STR 的音箱都提供自己的手机浏览器遥控器,Android、iPhone 和平板都能用,无需应用商店,也无需账号。在电脑 App 的音箱设置里扫描一次二维码,把页面添加到主屏幕,它就像 App 一样使用。你可以在那里播放和暂停、调整音量、让音箱待机、启动六个预设、搜索电台、浏览自己的音乐,以及把音箱组成分组。电脑可以保持关机。
فتحت عنوان IP الخاص بمكبر الصوت في المتصفح ولا أرى سوى صفحة Bose. أين صفحة التحكم للهاتف؟
بدون رقم المنفذ يصل المتصفح إلى صفحة Bose المدمجة في مكبر الصوت، وهذا طبيعي. صفحة تحكم STR لها عنوان خاص مع رقم منفذ. افتح إعدادات مكبر الصوت في تطبيق الكمبيوتر: هناك تجد رمز QR وتحته العنوان الكامل. امسح رمز QR بكاميرا الهاتف فيصل هاتفك مباشرة إلى الصفحة الصحيحة ويمكنك إضافتها إلى الشاشة الرئيسية.
我的音箱需要特定的 Bose 固件版本吗?
需要。STR 以 Bose 最后的官方固件 27.0.6 为前提。这是 Bose 在 2022 年为所有 SoundTouch 型号发布的最终版本,没有更新的版本了。你不必自己查看版本:应用程序会在安装前自动读取,如果音箱还在使用较旧的固件就会提醒你。这时只要通过官方 Bose SoundTouch 应用程序或 Bose 的 USB 更新工具更新一次即可,两种方式现在都还能用,之后安装就会自动继续。在较旧的固件上安装有时也能成功,但我无法保证。
更新到 Bose 固件 27.0.6 一直失败,该怎么办?
来自社区的小技巧,不保证一定有效:有些音箱无法直接跳到 27.0.6,更新会中断或不停重启。有效的做法是绕个路:先用U盘安装较旧的 SoundTouch 固件,之后再照常更新到 27.0.6。社区 Wiki 上的 SoundTouch Firmware Downgrade Guide 有一步一步的说明。另外要注意:第一代和第二代的老款 SoundTouch 只支持 2.4 GHz Wi-Fi。如果路由器只发射 5 GHz,音箱会找不到网络,请同时启用 2.4 GHz 频段。感谢社区的 Jos 提供这个技巧。
如果我要出售或转让音箱,需要做什么?
通过 Bose App 恢复出厂设置,只会清除 Bose 自己的数据,例如 WiFi、账号和 Bose 预设。STR 的文件会留在原处,所以重置之后 STR 仍会继续工作。要以真正的出厂状态把音箱转手,现在 App 里内置了一个干净的卸载功能。向导会完整移除 STR,并把音箱还原回原本的 Bose 状态,可以直接出售或转让。如果新主人只是想继续用 STR,只需要通过 App 设置 WiFi,再把电台放回按键 1 到 6 上即可。
我要怎么移除 STR?
直接在应用程序里一步完成。事先不需要备份,因为原始状态没有任何东西被覆盖:STR 放在音箱存储中自己的文件夹里,开机时挂载进去,Bose 固件本身完全没有改动。有两种做法。卸载会完整移除 STR,并让音箱以普通 Bose 的身份重启,而且仍留在 Wi-Fi 里。之后应用程序会忘记这台音箱;等 STR 重新安装后它才会再次出现,而这随时都可以做。要转卖,或以后打算重新安装,就走这条路。恢复出厂设置会清除 Bose 那一侧,也就是 Wi-Fi、账号和 Bose 预设,但 STR 仍然保留。值得一提的是,从 Bose 应用程序做恢复出厂设置也是一样,并不会移除 STR。如果音箱上还插着 STR 的 U 盘,卸载前必须先拔掉,否则下次开机会再次安装 STR。 应用会记住这六个预设键,只要从同一台电脑重新安装 STR,就会把它们放回音箱上。
如果 Bose 有一天让旧的云端域名过期,会怎样?
现在,像 streaming.bose.com 这样的旧 Bose 云端域名仍注册在 Bose 名下,只是不再响应。如果 Bose 哪天让它们失效,而有人重新注册了它们,那一方理论上就能远程控制一台未经改动的 SoundTouch,因为 Bose 固件会无条件信任那些主机名。STR 用两种方式应对:第一,把受影响的主机名在本地固定指向 127.0.0.1,这样音箱根本不再把那些请求发出去。第二,STR 会创建一个每台音箱专属的本地 TLS CA,它只对这几个确切的主机名有效,而且绝不离开设备。就算某个旧的云端域名落入坏人手里,你装了 STR 的音箱依然受到保护。
App 找不到我的 SoundTouch。现在该怎么办?
在当前版本里,App 的主列表只会显示已经安装 STR 的音箱。全新、未动过的原厂 SoundTouch 还不会出现在列表中,就算你的电脑在同一个网络上能 ping 通它,或者 Bose App 以前找得到它也一样。所以这不是防火墙、Wi-Fi 或 mDNS 的问题,只是 App 目前的工作方式。设置新音箱的方法:先确认 Bose 已连上同一个家庭网络(见前面的说明),然后在 App 里开始安装。STR 会通过网络安装到音箱上,完全不需要U盘。等音箱以 STR 固件重启后,就会自动出现在列表里。
如何更改预设键上的电台?
通过应用里的电台搜索。输入电台名称,点击搜索,在结果上选择“保存到预设键”,应用会询问放在六个键中的哪一个。之后音箱上的那个键就会播放这个电台。如果现在正在播放值得保留的电台,长按想要的键就行,在应用中、音箱顶部或遥控器上都可以,正在播放的电台就会保存到那里。手机页面在“查找”标签页中的操作完全相同。
音箱放了一阵子没用之后,就不再对预设按键有反应。该怎么办?
有些音箱在长时间闲置或断电之后,内部的登录状态会失效,之后不管按哪个按键都会被默默拒绝。快速解决办法:把音箱的电源拔掉十秒再插回去,之后按键就恢复正常了。0.9.21 版已经让这种情况少见得多,它修复了一个会吞掉按键动作的连接错误。最后剩下的小缺口,会由即将推出的更新补上,届时电台会以更稳固的格式保存在音箱上。
我的 Wave 明明在播放电台,却显示 UNAVAILABLE 或者不显示电台名称。
这是 Wave 上 Bose 固件的显示怪癖,不是播放出了问题。按下按键时,机器会先尝试那条已经不通的旧云端路径,然后才由 STR 接手播放。电台名称能不能留在屏幕上,很遗憾是固件随机决定的。音乐本身永远会正常播放。永久性的解决方案正在进行中,届时 Wave 也会重新稳定显示电台名称。
为什么有的音箱在 App 里是灰色的,也点不了?
灰色的意思是:见过它,但目前连不上。这台音箱正处于深度待机、被拔掉了电源,或正好在重启。它会特意留在列表里,才不会看起来像凭空消失,而工具提示会告诉你它最后一次出现是什么时候。等它再次响应,卡片就会自动恢复可用。处于深度待机的音箱,请直接在机器上唤醒它,这样更省电,也是有意的设计。
我的 Spotify 按键播的是别人的或错误的播放列表。
这发生在保存的那一刻 Spotify 的自动播放刚好在运行的时候:保存下来的不是你的播放列表,而是它那个临时的电台衍生版本,之后就会变成死链。从 0.9.21 版开始,STR 一律保存真正的播放列表,也会在调用已保存按键时自动把它们修好。如果之后还有某个按键播错,只要在那份播放列表播放时重新保存一次就行了。
为什么 App 启动时会请求本地网络访问权限?
因为没有它,STR 根本找不到你的音箱。App 在启动时会寻找家庭网络上每一台运行 STR 的 SoundTouch,连上它们以控制播放并把电台放到按键上,并通过互联网从 radio-browser.info 获取电台列表。此外,启动时会向 st-reborn.de 做一次简短的更新检查,只附带版本和语言等匿名基本信息,除此之外没有别的。在 Windows 上,防火墙会在首次启动时询问一次,这个 App 是否可以在你的网络上通信。请允许专用网络(也就是你的家庭网络)访问,公用网络则不需要。如果拒绝,App 仍会启动,但找不到任何音箱。
少了一个广播电台。需要 TuneIn 吗?
不需要。STR 不使用 TuneIn,而是搜索免费的社区目录 radio-browser.info。那里没有的电台在 STR 也没有,你加进去的则所有人都能用。最简单的做法是让 AI 把 Add station 表单需要的一切都找齐。把下面这段贴到 ChatGPT 这类聊天机器人,并填入你的电台名称。“我想把网络电台 NAME 加到 radio-browser.info。请给我可直接复制的:直接的音频流网址(真正的流,不是网页播放器页面)、首页、https 的标志图片网址、国家与其两字母代码、语言、几个标签,以及若你知道的比特率与编码。若你不确定真正的流网址,就直说,不要编造。”接着在浏览器或 VLC 打开该流网址,确认真的听到电台,因为 AI 有时会编出看起来正确的网址。到 radio-browser.info 用 Add station 填入资料,经过短暂核验后电台就会出现在 STR,可放到预设按键上。
如何在 Linux 上安装这个应用程序?
Linux 版和 Windows、macOS 上是同一套图形界面应用程序,只是以 tar.gz 压缩包而不是安装程序的形式提供。以 Linux Mint 或 Ubuntu 为例:在下载的文件上右键解压,打开解压后的文件夹,在里面右键选择“在终端中打开”。用 sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libsoup-3.0-0 一次安装三个系统库,然后用 ./STR-Linux-x64 启动应用程序。若在同一个文件夹再执行 ./install.sh,ST Reborn 就会连同图标出现在应用程序菜单中,不需要管理员权限。其他发行版的这三个软件包名称略有不同,压缩包内的 README 文件列出了 Fedora 和 Arch 的命令。
我还能继续使用 Bose 应用程序和其他应用程序吗?
可以。STR 不会取代 Bose 固件,而是与它并存,所以音箱在家庭网络中仍可被其他程序操作。官方 Bose 应用程序依然找得到音箱,凡是在本地完成的功能,例如开关机、音量和设置 Wi-Fi,即使没有 Bose 账号也能使用。至于 Bose 应用程序中经过云端的功能,也就是账号、电台列表和保存预设,仍然无法使用。这是服务关闭造成的,与 STR 无关。因此请在 STR 应用程序里管理电台和 1 到 6 号按键。其他本地控制方式也照常工作,例如 Home Assistant。
我可以用 Alexa 控制音箱吗?
没法直接控制,但有一条绕行的路。以前的 Alexa 控制走的是 Bose 云端:Alexa 跟 Bose 通信,Bose 再跟你的音箱通信。这两半都关掉了,所以旧的 Alexa 技能谁都救不回来。新的技能我也有意不做。那需要一台放在互联网上的服务器、一个账号和持续的费用,还会从外部为你的音箱开一道门。STR 有意只在你家里运行,不用账号,也不用云端。可行的做法是在你自己的网络里放一个控制中心,例如 Home Assistant。它会跟你的音箱通信,再把音箱提供给 Alexa。这样就能用语音开关音箱、调整音量,以及启动你设置的预设,例如“Alexa,打开厨房 preset 2”。像“播放 X 电台”这种自由的句子则没办法。这适合不排斥自己架一台小服务器的人。如果觉得太麻烦也不会有任何损失:App 和手机遥控器不靠它也能操作全部功能。指南:设置语音控制。Alexa 和 Amazon Echo 是 Amazon 的商标,Home Assistant 是 Home Assistant 项目的商标。STR 与两者都没有关联。
STR 会支持 Amazon Music 吗?
不会,而且这在 STR 这一端无法改变。Amazon 用防复制保护加密它的音乐,只有 Amazon 自己授权的应用才能解开,其他软件没有公开的方法可以播放。SoundTouch 内置的 Amazon Music 音源依赖 Bose 的服务器,而这些服务器已经关闭。现在可行的做法:用手机上的 Amazon Music 应用播放,再通过蓝牙传到音箱。
AirPlay 优化这个设置有什么作用?
它会让 AirPlay 协处理器保持唤醒,这样 AirPlay 启动得更快,也更稳定。这个设置只出现在配备 AirPlay 硬件的音箱上。开启意味着 AirPlay 更快、更可靠,代价是多耗一点电。关闭意味着更深的待机和更长的电池续航,但 AirPlay 反应会稍微慢一点。如果经常用 AirPlay,就保持开启。若是一台靠电池工作、很少用来播放流媒体的 Portable,就把它关掉。更改这个设置会让音箱短暂重启。
我可以收听哪些电台?
任何收录在 radio-browser.info 目录里的电台。目前全球有超过 5 万个电台,社区还在持续新增。如果找不到你最爱的电台,可以免费把它提交到 radio-browser.info,之后它就会自动出现在 STR 里。
电台需要什么格式?
几乎每一个网络电台都能用。最近很多以前会超时的电台也能播了,例如 BBC Radio 4。有少数非常罕见的格式,音箱还是没办法播放。如果你最爱的电台完全找不到,可以自己免费在 radio-browser.info 上添加它,不用注册账号,不久后它就会出现在 STR 里。
为什么有些电台会播广告?
广告来自电台,不是来自 STR。STR 只是照着电台送出的内容原样播放,不会自己加上任何东西,既没有广告,也没有语音提示。很多商业电台在网络流里一样会播广告,常常一打开就先来一段。没有广告的电台就完全听不到这些。如果觉得干扰,换一个电台就好。
我可以播放 NAS 上的音乐吗?例如 Synology?
可以。App 的媒体库标签页会自动列出家庭网络上的每一台媒体服务器,包括 Synology、FritzBox 和其他设备。在那里一路点到你的播放列表或专辑,直接在音箱上播放,并把它放到按键 1 到 6 中的一个上。之后在机器上按下按键,音乐就会直接从 NAS 播出,App 不必开着。
Home Assistant 能和 STR 一起用吗?
可以,而且是双向的。Home Assistant 内置一个 Bose SoundTouch 集成,会直接在家庭网络里与音箱通信,而 STR 保持可用的正是这个本地接口:添加集成、填上音箱的 IP,开关机、音量和预设键就都能从那里操作了。新的是反过来的方向:遥控器下方的按键可以在应用里设置成 Home Assistant 和类似系统的触发器,每个按键各自独立,直接在一张遥控器图片上完成。GitHub 上的 Home Assistant 指南 会一步一步介绍这两种方式,内容为英文。
我每次开机后都得重新建立分组吗?
不用。在应用里创建的分组会永久保存。只要主音箱一开始播放,其他音箱就会自己醒来并加入,待机或重启之后也一样。主音箱只是重启而没有播放的话,不会唤醒分组,这样就不会有任何一台机器未经同意就自己开机。已保存的分组列在应用的多房间区域和手机页面里,也可以在那里解散。 属于某个分组的音箱,即使那个分组只是保存着,目前也无法成为立体声组合的一部分。想要组合的话,请先解散分组。
可以用遥控器组成和解散音箱分组吗?
可以。在应用的多房间区域保存分组,再放到遥控器的大拇指向上或大拇指向下按键上。按一下组成分组,再按一下解散。如果主音箱原本没有在播放,它会把上次听的电台打开,马上就有音乐。这个按键也可以放在分组里只跟着播放的那一台音箱上。屏幕上不会显示任何提示,其他音箱加入或安静下来就是回应。如果同一个按键上已经放了智能家居动作,分组优先。
安装 STR 后,立体声配对还在吗?如果音箱卡在旧的配对里怎么办?
在 Bose App 里用两台 SoundTouch 10 设置的立体声配对,安装 STR 后保持原样,你可以马上继续使用。有时音箱仍然绑在一个旧的立体声配对上,而另一台已经不见或损坏,这时它就不会播放。App 会在多房间(Multiroom)区域发现这种情况,并提供一键解除旧配对。之后音箱就能再次单独播放,也可以加入新的配对或分组。新的立体声配对和分组都在 App 里创建。
Bose 可以像收音机闹钟一样叫我吗?
可以。在 App 里选音箱,进入闹钟,设置时间、星期几、六个按键中的一个、音量和自动关闭时间。闹钟存在音箱而不是电脑,所以电脑和手机关机时也会叫你。重启和更新都不会消失。一台音箱可以有多个闹钟,各自有星期几和音量。
我用了另一个 SoundTouch App,现在按键不能用了。
音箱只有一个位置可以放它回报的服务地址。STR 会把自己写进去,其他 App 也一样。最后写入的一方就拥有这台音箱,而这个更改会让它重新启动。之后 STR 就再也连不上它,六个按键也不再有反应。修复方式如下:先在所有装有另一个 App 的手机上关闭它,因为只要它还在运行,每次重启后它都会把自己再写回去。接着重启音箱,或者把电源拔掉十秒。STR 的地址存在音箱自己的设置里,开机时会重新读取,所以它会自己回来。过程中不会丢失任何东西,按键、群组和设置都会保留。有一个差别值得知道:STR 保留原本的地址,并把它指向音箱本身,所以没有任何数据离开你的家庭网络。其他 App 则可能改成写入它们在互联网上的地址。两者都能运行,但并不相同。
我需要帮助,该去哪里问?
建议先看看 GitHub 上现有的 issue 列表。那里已经有很多问题被提出并得到解答,已关闭的 issue 也仍然可以阅读。页面顶部的搜索框能快速找到关键词,例如机型名称或错误信息。如果还没有相关主题,可以在 GitHub 上新开一个 issue,或者给我发电子邮件。通常当天回复。遇到错误时,诊断日志很有帮助:在应用窗口的最下方,“Save diagnostic logs”会保存一个文件,可以附加到 issue 或电子邮件中。文件里也包含音箱本身的日志,所以通常一个文件就够了,最好在问题发生后立即保存。
STR 应用的页脚,含“Save diagnostic logs”链接
STR 应用的页脚,含“Save diagnostic logs”链接
为什么会有人免费做这个?
出于对用完即弃硬件的不满,以及对逆向工程的热爱。捐款资助这个爱好,并用来购买更多音箱型号来测试。这一切都不是必须的。

帮忙让更多人知道

软件已经能用。问题在别处:大多数 SoundTouch 不再出声的人,根本不知道有 STR。Bose 自 2013 年以来卖出了数百万台这种音箱,目前找到这里的只是其中一小部分。

我没有广告预算,也不想要。真正有效的是有人把它传出去。在论坛上说一句,提醒一下架子上还摆着旧音箱的邻居,在你平时就会逛的地方发个帖。

如果 STR 在你家运行,你就是这个项目最可信的传话人。

社交网络

即时通讯

论坛

  • Reddit

    Reddit 是英语社区,因此分享的是英文页面,请用英文撰写帖子。

直接

你喜欢的频道应该知道这件事

如果 STR 在你家运行,而你在关注一个喜欢的科技频道、杂志或播客:你的一条简短提醒,在那里比我自己发出的任何东西都有分量。你熟悉那里的语气,知道什么合适,而你的名字背后没有广告意图。

对视频频道来说,在相关视频下留言往往比发邮件更有效。编辑部几乎都有接收读者线索的邮箱。

用你自己的话写,这才是起作用的部分。下面的文字只是框架。数字、简短介绍和图片都在媒体页面上。

致谢

STR 之所以存在,全靠其他人无私分享他们的成果。这里列出的项目,缺了任何一个,这一切都不可能实现。

显示所有项目

App 与音箱代理程序

  • radio-browser.info: 由社区维护的目录,收录了 5 万多个网络电台,可免费使用,不需要 API 密钥。STR 里的电台搜索完全建立在它之上。
  • go-librespot: 由 devgianlu 开发的 Spotify Connect 客户端(GPL-3.0),是 STR 里 Spotify 支持的幕后功臣。它作为独立的单独二进制文件运行。STR 从一个加入 raw-Ogg 直通的小型公开分支构建它(上游:github.com/devgianlu/go-librespot)。
  • Wails: 跨平台桌面框架,后端用 Go,前端用 web 技术。它是 STR 桌面 App 的桥梁。
  • gorilla/websocket: 给 Go 用的 WebSocket 库。用来接入 Bose 固件的内部总线,拦截实体预设按键 1 到 6。
  • grandcat/zeroconf: 给 Go 用的 mDNS 服务发现。让桌面 App 能在局域网里自动找到 SoundTouch。
  • skip2/go-qrcode: 给 Go 用的二维码库。在 App 里生成二维码,扫一下就能直接在手机上打开音箱的手机遥控器。
  • Octicons: 由 GitHub 提供的图标集(MIT)。提供了 STR 里的部分界面图标。
  • Mozilla CA Certificate Store: Mozilla 根证书集合(MPL-2.0),由 curl 项目再分发。部分音箱不认识其中几家证书颁发机构,因此 STR 只在连接时在内存中补上。
  • Vite: STR 桌面 App 里的前端打包工具。只在构建期间于本地运行,不会随软件包一起发布。
  • Sigstore: 为每个版本提供构建来源证明。让构建轨迹能以密码学方式验证,见上方的“验证”。
  • GitHub Actions: 构建、检查并签署每个版本的 CI/CD 生态系统。
  • Linux + BusyBox: 这套软件直接运行在 Bose SoundTouch 音箱上。没有这个 GPL 基础就不会有 STR,STR 代理程序正是直接建立在它之上。

这个网站

  • Astro: 静态网站框架。你此刻正在读的这个页面就是它生成的。
  • Tailwind CSS: 工具类优先的 CSS 框架。让样式保持精简又一致。
  • GoatCounter: 注重隐私的访客统计,没有 cookie,也没有持久的访客 ID。

go-librespot 采用 GPL-3.0 许可,并以独立二进制文件的形式与 STR 一起发布。STR 代码本身则保持 MIT 许可。完整的对应源代码可在该分支获取: github.com/JRpersonal/go-librespot

STR 内含第三方软件。包含哪些组件、采用哪种许可,以及对应的源代码放在哪里,都完整记载在许可声明中: THIRD-PARTY-NOTICES.md

社区逆向工程

STR 没有附带这些项目的任何代码,但它的好几个核心机制,如果没有这些公开的成果就不会存在。其中大多数完全不接受任何形式的支持。

  • Bose-SoundTouch 作者 gesellix: 记录了让音箱重新注册自身音源的账号与服务结构,正是这一点让预设按键在没有 Bose 云端的情况下仍能工作。赞助
  • SixBack 作者 Dirk Tostmann: 说明了音箱如何区分不认识的音源与无法登录的音源,STR 今天才得以分辨这两种失败。赞助
  • soundcork 作者 deborahgu: 根据真实的音箱连接流量写下了 Bose 云端接口,STR 就是拿它当基准来核对自己的模拟实现。
  • BoseSoundtouch 作者 TimoGo: 记录了音箱连接 Wi-Fi 的命令顺序,包括官方维修手册漏掉的那个细节。
  • Soundtouch-without-the-app 作者 bosefirmware: 收集了固件镜像与不依赖云端的操作笔记,STR 用它们来区分音箱的世代。
  • bosesoundtouchapi 作者 thlucas1: 目前最完整的音箱自身控制接口公开说明。
  • libsoundtouch 作者 CharlesBlonde: 这些音箱最早的社区库,也是第一份实时事件流的描述。
  • opencloudtouch: 在云端关闭后同样让这些音箱继续工作的平行项目,也是验证自身发现的好参照。赞助