V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nocmt
V2EX  ›  分享创造

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

  •  
  •   nocmt · 3 小时 20 分钟前 · 190 次点击

    👋 背景与痛点

    最近语音输入软件出了好几款,可惜我的电脑没有麦克风,被逼无奈,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 管道:

    1. 采集 (Phone): 手机浏览器调用 MediaRecorder API ,采集 audio/webm;codecs=opus 音频流(支持回声消除/降噪)。
    2. 传输 (Network): 通过 Socket.io 将 Blob 数据块实时发送到电脑端的 Node.js 服务。
    3. 处理 (PC): Node.js 收到数据后,通过 Stream Pipe 喂给 FFmpeg 解码,再管道传输给 SoX
    4. 注入 (Driver): SoX 将 PCM 音频流实时写入到虚拟声卡设备( macOS 下是 BlackHole ,Win 下是 VB-CABLE )。
    5. 应用 (App): Zoom / Discord / Teams 等软件选择虚拟声卡作为输入源,听到声音。

    特别是在 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 !如果有任何问题,也可以在这里反馈。

    3 条回复    2026-01-29 00:29:30 +08:00
    xing7673
        1
    xing7673  
       2 小时 53 分钟前
    有意思
    Exp
        2
    Exp  
       55 分钟前
    大佬一言不合自己造神器,我等渣渣只能想到破财买个 DJI mic mini
    aresyang
        3
    aresyang  
       几秒前
    传语音不如传文字过去, 比如我的工具 MateBot https://github.com/aresbit/MateBot
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1641 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:29 · PVG 00:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.