[分享] ToMic - 把你的手机变成电脑的高质量麦克风 (Win/Mac, 0 App 安装, 低延迟)

查看 8|回复 1
作者:nocmt   
👋 背景与痛点
最近语音输入软件出了好几款,可惜我的电脑没有麦克风,被逼无奈,Vibe Coding 一个用手机浏览器采集音频,通过局域网传给电脑作为麦克风的网页程序。
🎙️ ToMic 是什么?

ToMic 是一个基于 Web 技术的局域网虚拟麦克风工具。
它允许你使用手机浏览器作为电脑的麦克风输入源,通过 Wi-Fi 传输音频,并利用虚拟声卡( BlackHole 或 VB-CABLE )将其注入到系统音频输入中。
核心特性:
  • 0 App 安装:手机端无需下载任何 APP ,扫码/输入 IP 即开即用( Chrome/Safari )。
  • 跨平台支持:完美支持 macOSWindows
  • 低延迟传输:基于 WebSocket + Opus 编码,配合 FFmpeg/SoX 管道处理,延迟极低。

  • 原生级体验
  • macOS: 内置 Swift 监听器,自动管理状态。
  • Windows: 通过注册表监听麦克风占用状态,当你打开 Zoom/Teams 时,手机端自动开始传输,挂断即停(无需手动开关)。
  • HTTPS 安全:局域网自动生成自签名 SSL 证书,解决浏览器录音权限问题。

    🛠️ 技术原理 (The Geeky Part)
    ToMic 的工作流非常直接,就像一条 Unix 管道:
    [ol]
  • 采集 (Phone): 手机浏览器调用 MediaRecorder API ,采集 audio/webm;codecs=opus 音频流(支持回声消除/降噪)。
  • 传输 (Network): 通过 Socket.io 将 Blob 数据块实时发送到电脑端的 Node.js 服务。
  • 处理 (PC): Node.js 收到数据后,通过 Stream Pipe 喂给 FFmpeg 解码,再管道传输给 SoX。
  • 注入 (Driver): SoX 将 PCM 音频流实时写入到虚拟声卡设备( macOS 下是 BlackHole ,Win 下是 VB-CABLE )。
  • 应用 (App): Zoom / Discord / Teams 等软件选择虚拟声卡作为输入源,听到声音。
    [/ol]
    特别是在 Windows 上,为了实现“无感体验”,我写了一个 Python 脚本轮询注册表 CapabilityAccessManager\ConsentStore\microphone,以此来判断是否有应用正在使用麦克风,从而反向控制手机端的推流状态。
    🚀 快速开始
    下载程序:https://github.com/nocmt/toMic/releases
    2. 准备虚拟声卡
  • macOS: 压缩包内置了 BlackHole 安装包,运行即提示安装。
  • Windows: 压缩包内置了 VB-CABLE 安装包,运行即提示安装。

    3. 启动
    ./toMic
    启动后终端会显示一个 HTTPS 地址(如 https://192.168.1.5:23336)。
    4. 连接
    手机连接同一 Wi-Fi ,浏览器访问该地址( https 哈),点击“授权”即可。
    (由于是自签名证书,浏览器会提示不安全,点击“高级 -> 继续访问”即可)
    🔗 项目地址
    GitHub: https://github.com/nocmt/tomic
    目前只是初期版本,欢迎大家试用、Star 或提 PR !如果有任何问题,也可以在这里反馈。

    麦克风, 手机, 音频

  • xing7673   
    有意思
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部