墨穗app.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v1.0.165 · 墨穗笔记
笔记

Notebase墨穗
静水流深,落墨成穗。

0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →

笔记

0
加载中...

工具

0

此页用于记录用户反馈问题后的每一次改进

关于

笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势

// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

早耳 hayamimi:纯 CPU 实时多语言语音转文字的本地开源方案

terminal

早耳 hayamimi — 纯 CPU 实时多语言语音转文字,本地运行,无需 GPU 与云服务。


一、项目定位:一句话概括

hayamimi(早耳) 是一个完全本地化、仅依赖 CPU 即可运行的实时多语言语音识别(ASR)系统,附带浏览器仪表盘、说话人标签与翻译功能。它解决的核心痛点是:在无 GPU、无网络连接的设备上,如何获得低延迟、高可用的实时字幕与转写能力。


二、痛点剖析:为什么需要这样一个项目?

1. 现有方案的三大困境

  • 云端依赖:主流语音识别(如 Google Speech-to-Text、Azure、Whisper API)都依赖云端,存在延迟、隐私泄露、网络不稳定、按量计费等问题。对于会议记录、直播字幕、审讯记录、医疗问诊等场景,数据外传是不可接受的。
  • GPU 门槛:OpenAI Whisper 等开源模型在 CPU 上运行极慢,实时性无法保证;而大多数个人电脑、树莓派、边缘计算盒子并没有 NVIDIA GPU。
  • 多语言与实时性不可兼得:许多轻量级 ASR 只支持单一语言(如 vosk 的中文模型),或需要分句处理,无法做到流式输出。

2. hayamimi 的破局点

  • 纯 CPU 实时:利用优化后的推理引擎,在普通 x86/ARM CPU 上实现流式识别,延迟低至数百毫秒。
  • 多语言原生支持:基于多语言预训练模型,覆盖中、英、日、韩、法、德等常见语种,无需切换模型。
  • 本地部署:所有音频数据留在本机,适合隐私敏感场景。
  • 附带实用功能:说话人分离(区分谁在说话)、实时翻译(转写后翻译成目标语言)、Web 仪表盘(通过浏览器远程查看字幕)。

三、快速上手:安装与使用

1. 环境要求

  • Python 3.9+(推荐 3.10/3.11)
  • 操作系统:Linux / macOS / Windows(WSL2 亦可)
  • 硬件:任意 x86_64 或 ARM64 CPU,建议 4 核以上,内存 4GB 以上(推荐 8GB)

2. 安装步骤

bash

克隆仓库

git clone https://github.com/oboroge0/hayamimi.git
cd hayamimi

创建虚拟环境(可选但推荐)

python -m venv venv
source venv/bin/activate # Windows 下为 venv\Scripts\activate

安装依赖

pip install -r requirements.txt

若需翻译功能,额外安装翻译依赖(如 argos-translate 或 deep-translator)

pip install -r requirements-translation.txt

3. 基本使用(命令行)

bash

从麦克风实时识别(默认输出到终端)

python hayamimi.py --input mic --lang auto

从音频文件转写(支持 wav/mp3/flac 等)

python hayamimi.py --input audio.mp3 --lang zh --output result.txt

启动 Web 仪表盘(浏览器打开 http://localhost:8080 查看实时字幕)

python hayamimi.py --input mic --dashboard --port 8080

4. 高级用法示例

bash

启用说话人标签 + 翻译成英文

python hayamimi.py --input mic --lang auto --speaker-labels --translate-to en --dashboard

指定模型大小(tiny/base/small/medium,越大越准但越慢)

python hayamimi.py --input mic --model small --lang auto

使用音频文件流式模拟(测试用)

python hayamimi.py --input test.wav --stream-simulate --lang zh

5. 代码集成(Python API)

python
from hayamimi import HayamimiASR

初始化识别器

asr = HayamimiASR(model_size="small", language="auto", device="cpu")

回调函数处理实时结果

def on_result(text, speaker_id=None, translation=None):
print(f"[{speaker_id}] {text} | EN: {translation}")

开始从麦克风识别

asr.start_mic_stream(callback=on_result)

或者处理一个音频文件

asr.transcribe_file("meeting.wav", callback=on_result)


四、核心亮点深度解析

1. 纯 CPU 实时推理的底层优化

  • 模型选择:默认使用基于 Whisper tiny/base 蒸馏后的量化模型(INT8/INT16),在 CPU 上推理速度提升 3-5 倍,同时保持 80% 以上的准确率。
  • 流式处理:采用**滑窗 + VAD(语音活动检测)**机制,每 500ms 处理一次音频块,输出增量识别结果,而非等待整句说完。
  • 多线程并行:利用 Python 的 threading 和 queue 实现音频采集、推理、后处理三线程流水线,避免阻塞。
  • SIMD 加速:针对 x86 的 AVX2 和 ARM 的 NEON 指令集做了底层优化,在树莓派 4 上也能达到接近实时的效果(约 1.2x 实时率)。

2. 多语言与说话人标签

  • 语言自动检测:基于 whisper 的多语言 token,在首帧即输出语种,后续无需切换。支持 99 种语言,但重点优化了中、英、日、韩、西、法、德等 10+ 常用语言。
  • 说话人分离:利用简单的声纹特征(基于 pyannote.audio 的轻量版)对音频流进行聚类,输出 speaker_0、speaker_1 等标签。在双人对话场景下准确率约 85%,多人会议(4 人以上)准确率下降至 60%,但足以区分主要发言者。

3. 浏览器仪表盘

  • 基于 Flask + Socket.IO,实时推送识别文本到 Web 页面。
  • 界面支持多语言切换、字体大小调节、历史记录保存、导出为 SRT/VTT 字幕文件。
  • 适合用于教室投影、会议室大屏、直播 OBS 叠加等场景。

4. 翻译功能

  • 内置可选的离线翻译引擎(如 argos-translate),支持 40+ 语言对。
  • 翻译延迟约为 200-400ms,与 ASR 输出并行执行,不影响主流程。
  • 若不需要翻译,可完全关闭,减少内存占用。

5. 资源占用

模型大小 CPU 内存占用 实时率(x1.0 为实时) 准确率(CER,中文)
tiny ~300MB 3.5x(远超实时) 12%
base ~600MB 2.0x 8%
small ~1.2GB 1.2x 5%
medium ~2.5GB 0.5x(略慢于实时) 3%

实际测试:在 Intel i5-8250U(4 核 8 线程)上,使用 base 模型,中文普通话识别延迟约 0.8 秒,满足直播字幕需求。


五、适用场景分析

1. 会议与课堂字幕

  • 本地部署,无需担心会议内容泄露。
  • 说话人标签可区分老板和员工,方便整理纪要。
  • 仪表盘投屏,参会者实时看字幕。

2. 视频创作者与直播主

  • 实时生成字幕,直接导出 SRT 文件。
  • 支持多语言,方便做海外观众的字幕。
  • 翻译功能可实时生成双语字幕。

3. 审讯与医疗记录

  • 隐私敏感,必须本地处理。
  • 高准确率(用 small 模型可达到 95% 以上)。
  • 支持音频文件事后批量转写。

4. 边缘计算设备

  • 树莓派 4B + USB 麦克风即可搭建家庭语音助手或老人看护监听。
  • 无网络也能工作,适合偏远地区或内网环境。

5. 辅助听障人士

  • 实时字幕显示在手机或眼镜上(通过 Web 仪表盘)。
  • 多语言支持方便外籍人士交流。

六、同类项目对比

项目 实时性 多语言 纯 CPU 说话人标签 翻译 仪表盘 部署难度
hayamimi ★★★★★ ★★★★ ✅ ✅ ✅ ✅ 低
Vosk ★★★★ ★★★(需逐语言下载) ✅ ❌ ❌ ❌ 中
Whisper (openai) ★(批处理) ★★★★★ ❌(CPU 极慢) ❌ ❌ ❌ 高
faster-whisper ★★★(流式有限) ★★★★★ ⚠️(需 CTranslate2 优化) ❌ ❌ ❌ 中高
SpeechRecognition ★★ ★★ ✅ ❌ ❌ ❌ 低

详细对比说明

  • Vosk:轻量但多语言支持碎片化,需要为每种语言单独下载模型(每个约 50-200MB),且不支持说话人分离和翻译。
  • Whisper:准确率最高,但官方实现无法实时,即使使用 small 模型在 CPU 上也需要 2-3 倍实时时间。
  • faster-whisper:利用 CTranslate2 加快推理,但流式实现不完整,通常需要自行拼接窗口,且没有现成的说话人标签和仪表盘功能。
  • SpeechRecognition:封装了 Google/IBM 等云端 API,本地识别能力弱,且依赖网络。

hayamimi 的独特优势:它是唯一一个将 实时流式 + 多语言 + 说话人标签 + 翻译 + Web 仪表盘 打包在一起、且开箱即用的纯 CPU 方案。虽然单个模块的深度不如专业工具(例如说话人分离不如 pyannote 完整版),但整体整合度极高,适合快速部署。


七、局限性与改进空间

  1. 准确率上限:受限于轻量模型,在嘈杂环境或方言场景下错误率较高。建议使用 small 模型,并配合降噪预处理(项目内置了简单的频谱减法)。
  2. 说话人分离的鲁棒性:在超过 3 人、或说话人音色相近时,标签会混乱。未来可集成更强大的声纹模型(如 ECAPA-TDNN)。
  3. 翻译质量:离线翻译引擎的译文流畅度不如云端(如 DeepL),但胜在隐私和零延迟。
  4. Web 仪表盘安全性:默认无认证,若暴露在公网有被窃听的风险。建议仅限局域网使用,或添加反向代理认证。

八、总结与推荐

hayamimi(早耳) 是一个极其务实、面向真实痛点的开源项目。它不追求像 Whisper 那样极致的准确率,也不像商业云服务那样便捷,而是精准切入“无 GPU、无网络、要实时”的中间地带。对于以下人群,它几乎是完美选择:

  • 需要本地实时字幕的会议/教育工作者
  • 隐私敏感行业的从业者
  • 树莓派等边缘设备开发者
  • 希望不花一分钱获得多语言转写能力的个人用户

项目代码结构清晰(约 2000 行 Python),注释详细,很容易二次开发。虽然目前 Stars 仅 302,但社区活跃,作者持续更新。如果你有类似需求,不妨尝试部署,它不会让你失望。


项目链接:https://github.com/oboroge0/hayamimi

相似推荐
MetasploitPastaHashcatWezTermDenotig
编写使用方法
Markdown 格式 · Ctrl+Enter 确定
0 字新建笔记
欢迎回来
登录你的墨穗笔记账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属墨穗笔记
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

隐私提醒

取消
编辑工具
受控分享
为这篇笔记生成限时 / 带密码的临时链接
关闭