【吼蛙】Vibe了一个 Mac 听写转文字LLM后处理的App (新增选中文本一键处理)

链接::frog: 吼蛙 https://hoah.app/

:frog: 是干什么的:

  • 以下流程一键完成:
      1. 第一步本地语音 → 文字。
      2. 第二步API call 把文字 → AI 润色 / 后处理。
      3. 处理过的文字自动进当前的输入框和剪贴板。本地保存录音和转写的历史记录。
    • 简而言之就是把 ChatGPT / Cursor 的语音输入体验提升,并且带到所有的文字输入框中。

  • 新增了如下流程(语音无关版:
    • 第一步选中文字
    • 第二步应用快捷键触发不同的 AI Action, 比如 润色,语法,翻译等
    • 第三步自动替换掉选中的文字

:yanjing: 为什么要自己做(vibe) 一个:

  1. 很多同类产品需要付费,看广告,或者收集数据。我觉得这个功能不值得付费,我需要一个自备 apikey 的免费,干净的版本。
  2. 开源干净的项目,比如著名的 https://handy.computer/ 不能实现 API 后处理这一步。我说话比较磕吧,原始的转录文字很难直接用,需要LLM进行后处理。而且我对语法也不是很注意,需要LLM自动纠正语法。
  3. 目前没找到任何项目默认就是多语言混合语音转写。虽然底层都是用whisper的变种,模型能理解多语言混合输入,但是输出往往被统一成单一的语言。上面流行的 handy 就是。
  4. 预设了一些 LLM 后处理的 prompts ,也支持你微调和新增自己的 prompts 。比如翻译模式可以让你翻译去到任何语言,比如Hindi, :dog_face:,Klingon等。我现在Slack 和讲 Hindi 的同事发 Hindi, 和讲 Telugu的发Telugu。
  5. 因为彻底的干净,所以也可以安装在工作电脑上。如果不开启AI后处理,就和一个计算器没有区别。针对特定的公司,目前为:banana::dog_face:家都专门做了bedrock和gemini的支持。

我发现暂时没有人 vibe 一个对非拉丁语族友好,免费,干净,而且还有AI后处理的项目,于是决定vibe 一个。我后面意外的发现翻译功能其实非常实用,有兴趣的可以体验一下。

我自己的观察是,我的朋友们本来就有这个需求的用了就很沉迷,没有这个需求的就不理解为什么要 speech to text.

:nerd_face: 我的一些使用场景:

  • 一遍泡澡一边嘴炮vibe coding
  • 使用高情商模式嘴炮处理ticket 把骂他们SB变成LP拉满的回复
  • 偷偷翻译讲小语种的同事的悄悄话
  • 新年给同事发ta的母语祝福

其他 Q & A

  1. 为什么多此一举搞语音转文字?打字不是更快。
    1. Mac上的语音输入事实上提升了大脑的 output rate。你在切换视图甚至玩手机的时候都不影响你张嘴说进行输出。纯打字的话,你的输出会经常性的被迫中断(比如切换网页)。
  2. 为什么需要一个app专心只做这一件事?
    1. 因为每个app(比如vscode, cursor, antigravitiy) 都搞一个自己的听写下载一遍模型,我觉得完全不合理。而且很多都不会照顾到非母语者的体验。考虑到 App 的体积,一般也不会给你用满血的 whisper。
  3. API KEY 也要钱啊
    1. 因为只做文字后处理,所以token消耗很少。高强度也用不了一两分钱每天。
    2. 白嫖一个GROQ或者Cerebras的 API KEY,每个月的免费额度足够日常使用了。

比主要竞品独特的地方:

  1. Typeless https://www.typeless.com/
    1. 收费产品一票否决,无法用于工作电脑。GPT才20刀一个月,凭什么12刀一个月。
    2. 主要服务于英文玩家,不是默认中英文混输。
    3. 没有癫狂的翻译模式。
    4. 是否离线可用存疑?
  2. Wispr flow https://wisprflow.ai/
    1. 收费一票否决,无法用于工作电脑。GPT才20刀一个月,凭什么12刀一个月。
    2. 主要服务于英文玩家,不是默认中英文混输。
    3. 没有癫狂的翻译模式。
    4. 是否离线可用存疑?
  3. Handy https://handy.computer/
    1. 没有 LLM 后处理的功能。
  4. LazyTyper https://lazytyper.com/
    1. 只有一种 polish 模式。不能新增和切换多种模式(比如不同程度的 polish)。
    2. 参数调节的选择过多。比如需要自己设置temperature。在我看来这是非常奇怪的用户体验。
    3. 不确定他是否后面会用来盈利。他50多MB的安装包(对比HoAh ~10MB),在我看来可能装了一些用户不太需要的东西。

如果有大佬觉得好用,感觉帮助到你解决了一些痛点。我最近在找工,求个内推 :joy:

一些比较重大的更新:

  • 增加了ollama 作为 AI Action 的选项。这样可以全流程纯本地化了。但是我个人不太推荐,除非断网环境。因为小模型的能力较差,本地的latency比较高。

  • 添加了云端流式听写 (ElevenLabs, OpenAI, Amazon Transcribe)。我个人体验还是用 ElevenLabs 的质量和延迟效果最好。很容易理解云端streaming会更贵,我仍然觉得大多数情况本地whisper+Groq AI Action就够用了。

63 个赞

最近也想vibe个类似的,实时转写mac内声音成字幕,提供大模型优化和翻译;

btw: lz用的是啥工作流?

1 个赞

语音转文字是本地的 whisper 我尝试搞成 streaming 但是发现这样要么太贵了要么太耗电影响macbook 续航。(主要还是准确率下降了很多

1 个赞

不知道zoom和腾讯会议里的实时转写是怎么做的,我感觉准确率还可以接受,毕竟就是要面对不同口音或者语言实时理解一下用,mac本地的那个实时字幕准确率和他们比差多了

1 个赞

:frog:  

你懂的 :yanjing:

1 个赞

其实就是你说的,需求不同。你说的这种场景可以用小模型(100多MB) 粗略翻译一下大意即可,不需要追求极致的准确性。这里的需求是,作为输出辅助,准确率必须要高,甚至可以牺牲latency。不然输出需要经常性的手动介入纠错的话,对效率提升就无了。

5 个赞

确实是zszs

1 个赞

前排自己占个坑预留一下 Demo 的位置。

published to mac appstore ? the github dmg is not signed, right ?

The dmg is signed and notarized by Apple. I installed it on my work laptop :banana:.

1 个赞

Is there an approval software list in your company ? :eyes: I can try it in my personal laptop but abs can’t do it in work mac

So if you don’t enable the AI action, it works just like local software, making no internet request.

可以给llm提供context么?比如放在一个workdir里让它能知道我在说哪些class name之类的

我一开始是有类似的功能,比如读取当前app的一些信息(比如直接做一个截图),但是需要向用户申请更多的权限。

原型也跑通了,但是这些行为让这个app看起来非常可疑。我觉得不太值得,就删掉没有继续了。

1 个赞

make sense,加了不就成了某司 copilot 了 :troll:

也许可以加一个类似 Skill/init 的模块让 llm 可以读。把是否挂载的控制权留给用户?语音转文字对我来说一大痛点是有很多 abbrev 没办法正确理解

1 个赞

这个我看到很多流行的做法是加一个用户的自定义字典,然后全部喂给LLM。付费的 whspr flow 好像就是这么做的。我感觉这似乎不是很好的解,用户体验也没有提升太多。

我的办法是遇到abbrev就一个一个拼出来 :joy:

1 个赞

我之前做了一个类似的玩具 区别是可以跨平台 还有一些其他小众的奇怪feature :yaoming:

请问这个whisper模型是从哪里下载的 hugging face吗
可以允许用户自己加载或者设置目录吗
本地已经下载好几份了 每个App都要下载一份 :troll:

:yanjing:只能再下一份了 你这是高玩的需求 绝大多数人应该会卡在api key 这一步
:banana:还有印度哥们page我让我教他安装 给我气坏了

一直也想vibe一个类似的,楼主这个能识别语音文件中的不同的人吗?我之前看到一个魔改的whisper模型可以简单的识别,但是效果不大好我就放弃了。