给远程 Mac 补一个麦克风
对着这台说话,
那台 Mac 听得见。
远程桌面把你的画面、键盘、鼠标都送过去了,唯独送不了你的声音。RelayMic 送 —— 而且是作为那台 Mac 上的一个真实系统麦克风,所以语音输入、飞书、Zoom、剪辑软件在输入设备列表里直接就能看到它。
点对点
波形是模拟的,但两个电平表之间那个时间差是真的:你的声音到达对面的速度,和打一通电话差不多。
为什么你一直没找到这种东西
所有远程工具都在传画面。没有一个能把声音传进 Mac。
Windows 那边这事早就解决了 —— 微软的远程桌面自带麦克风重定向,配置文件里一行就行, ToDesk 也有「外接设备 → 麦克风 → 映射」。但只要被控的那台是 Mac,这个功能在所有工具里都消失了。不是藏在某个菜单里,是没有。翻设置、查文档、问客服,最后得到的答案都一样。
| 用它远程连一台 Mac | 画面 / 键鼠 | 你的麦克风 |
|---|---|---|
| ToDesk | 可以 | 不行 —— 它有麦克风映射,但被控端得是 Windows |
| UU 远程 | 可以 | 不行 |
| 向日葵 | 可以 | 不行 |
| TeamViewer | 可以 | 不行 —— 收的是那台 Mac 自己的麦克风 |
| AnyDesk | 可以 | 不行 |
| Parsec | 可以 | 不行 |
| RustDesk | 可以 | 不行 |
| macOS 屏幕共享 | 可以 | 不行 |
| 微软远程桌面 (且被控端是 Windows) | 可以 | 可以 —— 系统自带,但只到 Windows 为止 |
| RelayMic | 这块交给你的远程工具 | 可以 —— 作为系统输入设备 |
规律很简单:被控端是 Windows,麦克风大多能传;被控端是 Mac,一个都传不了。 RelayMic 不替代你的远程工具 —— 它在旁边单独跑,那些工具继续管画面和键鼠,不知道也不需要知道它的存在。
怎么装,怎么用
把仓库丢给你的 AI,让它装。装完它教你用。
把 SETUP.md 交给 AI
Claude Code、Codex、Cursor 都行。对它说「照着 SETUP.md 把 RelayMic 装好,装完教我怎么用」。那份文档就是按 AI 能直接执行写的:每步带验证方法,出错有排查表。你不用自己敲命令。
在浏览器里打开地址
手边任何一台带麦克风的设备 —— Windows 笔记本、iPad、公司借来的机器。打开 AI 给你的那个地址,允许麦克风权限,点「开始说话」。
在 Mac 上把输入设备选成它
飞书、Zoom、语音输入、剪辑软件 —— 在各自的音频设置里选 BlackHole 2ch。对那台 Mac 来说这就是个普通麦克风,所以任何软件都不需要知道 RelayMic 存在。用语音输入的话,把远程 Mac 的听写快捷键改成和本地不一样的,免得按一下两边一起触发。
功夫花在哪了
把声音传过去很容易。最后那 200 毫秒不容易。
这东西的由来很简单:作者平时用 ToDesk 和 UU 远程连自己的 Mac,发现声音怎么都送不过去,翻遍设置也没有,于是自己写了一个。三台 Mac 上跑了大半年,下面这些参数每一个都是某次出问题之后调出来的。
抖动缓冲按真实网络定,不是按局域网
目标深度 150ms,测出来的,不是拍的。局域网上设 20ms 听着爽得很,换成酒店 Wi-Fi 立刻开始断续。
静音抑制默认关掉
DTX 靠不发静音包省带宽,代价是削掉轻声说话时的词头 —— 语音输入会丢掉第一个字。说话这点带宽不值得省。
三路诊断录音
处理前、缓冲后、从虚拟设备读回来。「听着不太对」于是能变成一段可以指着看的波形,落在出问题的那一段上。
先问清楚比较好
它做什么,以及它故意不做什么。
要多少钱?
不要钱。AGPL-3.0 开源,没有付费版,不用注册账号,链路上也没有我们的服务器 —— 这同时意味着我们没有任何东西可以收你费。跨公网如果需要 TURN 中继,那个得你自己配。
说实话,它有多糙?
是作者自用的工具开源出来的,不是打磨过的成品。命令行启动,没有图形界面,没有安装包,日志和界面文案目前是中文,而且需要先用 Tailscale 之类的方式把两台设备组到一个虚拟内网里。成熟的是音频链路本身 —— 三台 Mac 天天在用。
为什么必须组网?直接连公网 IP 不行吗?
国内家宽基本都在运营商级 NAT 后面,压根没有公网 IP,端口映射和 DDNS 都救不了。而且发送端浏览器要先能访问到那台 Mac 才能建立连接。当前版本没有公网信令服务器,所以靠 Tailscale(免费)把两端拉进同一个虚拟内网最省事 —— 装完各自拿一个固定的 100.x 地址,直接就通了。
我用 ToDesk / UU 远程 / 向日葵,还需要它吗?
要看被控端是什么。被控端是 Windows 就不需要 —— ToDesk 的麦克风映射、微软远程桌面自带的重定向都能干这事,而且免费。 被控端是 Mac 就需要,因为那些功能在 Mac 上都没有。
我自己的声音从本地喇叭放出来了,怎么回事?
远程软件把 Mac 的输入声音又传回来了。UU 远程默认就这样。在远程软件的设置里把声音传输关掉就好 —— 画面和键鼠不受影响。
发送端要装东西吗?
不用。发送端就是个网页。Windows、macOS、Linux、iPad、安卓上的 Chrome、Edge、 Safari、Firefox 都行 —— 包括那些不让你装软件的电脑。
我的声音在路上会经过谁?
浏览器到 Mac 的加密点对点连接,能直连的时候完全不经过第三方。两边网络实在打不通时会退回 TURN 中继 —— 而那个中继是你自己配的。整条链路上没有作者运营的服务器,所以想看也看不到。代码是公开的,可以自己核对。
装的那个虚拟音频设备是什么?
BlackHole,一个 MIT 开源的 macOS 音频驱动。RelayMic 引导你用 Homebrew 装它的官方包,不捆绑分发,卸载也干净。正是它让 Mac 上任何软件都能把 RelayMic 当成一个普通输入设备。
iPhone 和 Mac 就在同一个屋里,也要用它吗?
不用。苹果的「连续互通麦克风」免费就能让旁边的 iPhone 当 Mac 的麦克风。 RelayMic 解决的是距离问题:不同楼、不同城市、不同国家。
延迟到底多大?
大概就是一通电话。直连的话是网络往返再加 150ms 缓冲。适合说话、语音输入、开会;不适合录音时监听自己的声音。