笔记
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 实时多语言语音转文字的本地开源方案
早耳 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 完整版),但整体整合度极高,适合快速部署。
七、局限性与改进空间
- 准确率上限:受限于轻量模型,在嘈杂环境或方言场景下错误率较高。建议使用
small模型,并配合降噪预处理(项目内置了简单的频谱减法)。 - 说话人分离的鲁棒性:在超过 3 人、或说话人音色相近时,标签会混乱。未来可集成更强大的声纹模型(如 ECAPA-TDNN)。
- 翻译质量:离线翻译引擎的译文流畅度不如云端(如 DeepL),但胜在隐私和零延迟。
- Web 仪表盘安全性:默认无认证,若暴露在公网有被窃听的风险。建议仅限局域网使用,或添加反向代理认证。
八、总结与推荐
hayamimi(早耳) 是一个极其务实、面向真实痛点的开源项目。它不追求像 Whisper 那样极致的准确率,也不像商业云服务那样便捷,而是精准切入“无 GPU、无网络、要实时”的中间地带。对于以下人群,它几乎是完美选择:
- 需要本地实时字幕的会议/教育工作者
- 隐私敏感行业的从业者
- 树莓派等边缘设备开发者
- 希望不花一分钱获得多语言转写能力的个人用户
项目代码结构清晰(约 2000 行 Python),注释详细,很容易二次开发。虽然目前 Stars 仅 302,但社区活跃,作者持续更新。如果你有类似需求,不妨尝试部署,它不会让你失望。