[开源] 迫于学外语的需求,搓了个 Mac 实时字幕翻译工具 v2s - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
franklioxygen
V2EX    分享创造

[开源] 迫于学外语的需求,搓了个 Mac 实时字幕翻译工具 v2s

  •  
  •   franklioxygen 3 月 25 日 1131 次点击

    好久不见迫于体了 最近搓了一个 macOS 菜单栏小工具 v2s (voice to subtitle),功能很简单:实时把语音转成双语字幕,悬浮在屏幕最上方。

    开会、看直播、刷 YouTube 的时候,选一个音频源(麦克风或者任意 App ),选好语言,点 Start ,就会出现一个字幕条,上面一行翻译,下面一行原文

    纯本地运行,语音识别用的 Apple Speech ,翻译用的 Apple Translation ,不过网络不联网

    需要 macOS 26+

    https://github.com/franklioxygen/v2s

    欢迎试用,提 issue 或者 PR 都欢迎。

    第 1 条附言    3 月 26 日
    又一个很酷的东西没提,字幕窗口右上角有个按键,点击后可以在另一个窗口显示文本格式的字幕历史,可以切换语言,Apple AI 总结,当然还可以复制


    https://github.com/franklioxygen/v2s/issues/3#issuecomment-4127624567
    16 条回复    2026-04-05 06:34:37 +08:00
    me876
        1
    me876  
       3 月 25 日   1
    试用了一下,功能非常棒,已 star 。
    Chicagoake
        2
    Chicagoake  
       3 月 25 日
    羡慕 macOS26
    franklioxygen
        3
    franklioxygen  
    OP
       3 月 25 日 via iPhone
    @me876 哈哈谢谢!还要继续优化

    @Chicagoake 高贵的果粉必需随时保持最新系统
    zyxk
        4
    zyxk  
       3 月 25 日
    试过了,很不错, 能否可以设置隐藏输入或者目标语言, 输入语言和字幕语言相同时,会显示两个,应该自动隐藏一个
    zyxk
        5
    zyxk  
       3 月 25 日
    用了一会后, 不显示翻译了, 只显示原文, 停止再开始也没有, 重启 app 后正常了
    overstar
        6
    overstar  
       3 月 25 日
    @zyxk 市面上开源闭源的这类型软件都有这个毛病,不知道什么鸟情况,严重影响我学习外语
    voicevlan
        7
    voicevlan  
       3 月 25 日
    非常不错的功能,
    galenzhao
        8
    galenzhao  
       3 月 25 日
    good ,有没有想法 port 到 win ,
    没有的话我抄一下思路,看看能不能搞个 win 的。
    galenzhao
        9
    galenzhao  
       3 月 26 日
    mac 一直都扔办公室,家里都是 win
    franklioxygen
        10
    franklioxygen  
    OP
       3 月 26 日
    @zyxk 感谢建议!刚刚加了选择双语或者单一字幕功能。第二个问题好像是说的话一长就有这个现象,正在调整中。。

    @overstar 确实,似乎是 API 的断句缺陷


    @voicevlan 感谢!


    @galenzhao 没有这个打算,欢迎复刻 win 可能需要用一些其他开源包做识别
    galenzhao
        11
    galenzhao  
       3 月 26 日
    是,win 下复刻需要一堆 3rd 实现,
    还是 apple 全家桶方便,

    我刚试下了,mac 的自带模型相当可以啊,识别准确率 还有延迟,
    zyxk
        12
    zyxk  
       3 月 26 日
    感谢大佬, 再提一点小建议

    听演讲或 blog 或 b 站随便一个评测, 可能是说话停顿比较短,很容易形成一个超长的句子,字幕会溢出显示区域;
    另外能否可以设置字体颜色, 因为一般网页背景都是白色的,白字看不清
    franklioxygen
        13
    franklioxygen  
    OP
       3 月 26 日
    @galenzhao 现在的能力还没充分利用神经引擎,以后有望变得更强


    @zyxk 感谢反馈!长句的问题我会后续更新。从快捷菜单左下角的齿轮可以进入高级菜单,字体颜色都可以在高级设置里选择,还可以给字体加描边
    zyxk
        14
    zyxk  
       3 月 26 日   1
    @franklioxygen #13 谢谢,才注意到这个齿轮图标,长句识别比较麻烦或者有些本身就是长句时,应该先优化一下显示, 保证最后输出内容显示在屏幕内。
    galenzhao
        15
    galenzhao  
       3 天前
    @franklioxygen 周末有空,试试 port 了一下。目前是用的 win11 自带的 recognition ,外加 model 翻译。
    算是个 poc ,功能跑通了。https://github.com/galenzhao/v2s-win
    franklioxygen
        16
    franklioxygen  
    OP
       3 天前
    @zyxk 已经在前面一个版本修复了,感谢建议!

    @galenzhao 恭喜恭喜,老哥行动力强啊!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3512 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 12:12 PVG 20:12 LAX 05:12 JFK 08:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86