使用 SonoBus 时如何避免回声和降低延迟?
SonoBus 本身不做回声消除和自动降噪,所以只要开着麦克风,就必须戴耳机,否则会产生回声甚至啸叫;想拿到最低延迟,则要让电脑走有线以太网连路由器,而不是 WiFi。这两条是官方在 BEST PRACTICES 里明确给出的前提,其余设置都建立在这个基础上。
为什么必须戴耳机
SonoBus 为了保持最高音频质量,刻意不加入回声消除(echo cancellation)和自动降噪(automatic noise reduction)。这意味着它不会帮你把扬声器放出来的声音从麦克风信号里“抠掉”。
- 如果你用外放音箱 + 麦克风:麦克风会拾取音箱里其他人的声音,再传回群里,形成回声循环;音量够大时还会变成刺耳的反馈啸叫。
- 戴耳机后,扬声器声音不再进入麦克风,回声和反馈的根源就被切断了。
这是使用习惯问题,不是软件 bug,也没有开关可以绕过——因为一旦加入回声消除,音质就会下降,这与 SonoBus 的定位冲突。
降低延迟:优先有线,其次调抖动缓冲
延迟主要来自网络路径和抖动缓冲(jitter buffer)两部分。
用有线以太网
官方建议:为获得最佳效果和最低延迟,把电脑用有线以太网接到路由器。
WiFi 也能用,但会带来额外的网络抖动和丢包。为了维持可用的音频质量,SonoBus 需要更大的抖动缓冲区来吸收这些波动,而缓冲区越大,延迟就越高。所以 WiFi 下的延迟通常明显高于有线。
理解抖动缓冲的取舍
抖动缓冲是“用延迟换稳定”的机制:
| 连接方式 | 抖动/丢包 | 需要的抖动缓冲 | 结果 |
|---|---|---|---|
| 有线以太网 | 低 | 小 | 延迟低、音质稳 |
| WiFi | 较高 | 大 | 延迟升高 |
如果你不得不用 WiFi,可以尝试靠近路由器、减少同时占用带宽的设备,来压低抖动,从而允许更小的缓冲。
音质与延迟的平衡
SonoBus 的音频质量可以即时调整,这也会影响延迟和带宽:
- 未压缩 PCM:16、24 或 32 位
- 压缩:使用低延迟 Opus 编码,每声道 16–256 kbps
一般来说,压缩率越高、码率越低,占用的带宽越小,但音质损失越大;未压缩 PCM 音质最好,但带宽需求最高。延迟本身更多由网络和抖动缓冲决定,而不是编码格式,但在带宽紧张时,选择合适的码率能避免丢包,从而间接帮助维持低延迟。
其他需要知道的前提
- 无加密:SonoBus 目前不对数据通信做加密。虽然被截获的可能性很低,但需要心里有数。
- 点对点传输:所有音频直接在用户之间点对点发送,连接服务器只用于让同一组内的用户互相找到彼此。
- 连接方式:选一个唯一的组名(可加密码),就能把多个人即时连到一起,用于做音乐、远程排练、播客等。
快速检查清单
- 开麦克风前先戴上耳机。
- 能插网线就插网线,别用 WiFi。
- 必须用 WiFi 时,尽量靠近路由器、减少带宽占用,以允许更小的抖动缓冲。
- 根据带宽情况在未压缩 PCM 和 Opus 压缩之间选择合适码率。
- 记住通信未加密,敏感场景需自行评估。
更多细节可查阅 SonoBus 官方 User Guide(网站提供在线版和 PDF 版),教程视频在其 YouTube 频道。