早耳(Hayamimi):纯CPU实时多语言语音转文字,离线低延迟的平民级字幕神器

> 早耳(Hayamimi)——一个仅靠CPU即可实现实时多语言语音转文字、带说话人识别与翻译的开源工具,让字幕与会议记录不再依赖GPU或云服务。 --- ### 一、项目定位:打破硬件壁垒的实时语音转文字引擎 在语音识别(ASR)领域,主流方案(如Whisper、DeepSpeech、Kaldi)几乎默认需要NVIDIA GPU或云端API才能获得可用的实时性能。但现实中,大量用户仅有普通办公电脑、老旧笔记本或树莓派等低算力设备,无法享受实时字幕、会议记录、听力辅助等便利。 **早耳(Hayamimi)** 正是为解决这一痛点而生。它由开发者oboroge0创建,是一个**纯CPU运行、实时(流式)多语言语音转文字系统**,同时集成**说话人区分(diarization)** 和**翻译**功能,并提供一个**浏览器仪表盘**用于实时查看字幕和交互。项目名称“早耳”取自日语“早耳(はやみみ)”,意为“灵敏的耳朵”,形象地体现了其快速捕捉语音的能力。 核心特点: - **零GPU依赖**:在普通x86/ARM CPU上即可达到实时或超实时(RTF<1)的转录速度。 - **多语言支持**:基于Whisper系列模型,支持英语、中文、日语、法语、德语等数十种语言。 - **实时流式处理**:采用分块(chunk)处理,边说话边出字幕,延迟低至数百毫秒。 - **说话人标签**:自动区分不同说话人,在字幕中标注角色(如Speaker 0、Speaker 1)。 - **翻译功能**:可将转录文本实时翻译为目标语言(如英译中)。 - **浏览器仪表盘**:提供Web界面,可在局域网内任何设备上查看实时字幕、历史记录和翻译。 - **完全离线**:所有处理均在本地完成,无需连接云端,保护隐私。 --- ### 二、解决什么痛点? 1. **硬件门槛高**:传统ASR方案(如OpenAI Whisper)在CPU上处理长音频时速度极慢,无法实时,而GPU服务器成本高昂。早耳通过优化模型和推理流程,让普通CPU也能流畅运行。 2. **实时性不足**:很多离线工具只能处理完整音频文件,无法做到边说边转。早耳采用流式架构,适用于直播、会议、演讲等场景。 3. **隐私与成本**:云端API(如Google Speech-to-Text)按分钟收费,且音频需上传,存在数据泄露风险。早耳本地运行,一次部署永久免费。 4. **多任务集成**:现有工具往往只做ASR,早耳将ASR、说话人识别、翻译、可视化整合在一个轻量级服务中,减少配置多套工具的麻烦。 --- ### 三、安装与使用:三步上手 #### 1. 环境要求 - Python 3.9+(推荐3.10或3.11) - 操作系统:Windows 10/11、Ubuntu 20.04+、macOS 12+(M1/M2也支持) - CPU:x86_64或ARM64,建议4核以上(2核也能运行但延迟稍高) - 内存:至少4GB(推荐8GB) - 麦克风或音频输入设备(用于实时录制) #### 2. 安装步骤 bash # 克隆仓库 git clone https://github.com/oboroge0/hayamimi.git cd hayamimi # 创建虚拟环境(推荐) python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 下载默认模型(自动下载,也可手动放入models目录) python download_model.py --model small # 可选tiny/base/small/medium #### 3. 启动服务 bash # 启动实时转录服务(默认使用麦克风输入) python hayamimi.py --model small --language en --device cpu # 如果使用文件输入(如测试音频) python hayamimi.py --model small --input audio.mp3 --stream # 启动浏览器仪表盘(默认端口8000) python dashboard.py --port 8000 #### 4. 浏览器查看实时字幕 打开浏览器访问 `http://localhost:8000`,即可看到实时字幕、说话人标签和翻译。若在局域网,可用 `http://<本机IP>:8000` 在手机或平板查看。 **代码示例:使用Python API进行流式转录** python from hayamimi import StreamingASR asr = StreamingASR(model_size="small", language="zh", device="cpu") asr.start() # 开始从麦克风捕获并转录 for event in asr.events(): if event.type == "transcript": print(f"[{event.speaker}] {event.text}") elif event.type == "translation": print(f"翻译: {event.text}") asr.stop() --- ### 四、核心亮点深度解析 #### 1. 流式处理架构 早耳采用**分块(chunk)流式处理**,将音频切成1-2秒的片段,送入模型进行增量解码。与传统的整段音频处理不同,它利用Whisper的**条件解码**特性,通过维护一个内部状态(如上下文缓存),实现低延迟输出。实测在i5-8250U(四核八线程)上,使用`small`模型,RTF(实时率,即处理1秒音频所需时间)约为0.3-0.5,即实时倍率2-3倍,完全满足实时字幕需求。 #### 2. 说话人区分(Diarization) 早耳内置了基于**音频能量和频谱特征**的简单说话人聚类算法(无需额外深度学习模型),在转录同时判断当前语音片段属于哪个说话人,并在字幕中标注。虽然精度不如专业Diarization模型(如pyannote),但胜在轻量、CPU友好,适合会议等两人对谈场景。 #### 3. 多语言与翻译 基于Whisper的多语言能力,早耳支持几乎所有Whisper支持的语言。翻译功能通过**二次解码**实现:在生成原文后,利用一个轻量翻译模型(如M2M100或OPUS-MT)将文本翻译为目标语言。翻译在后台异步进行,不阻塞主转录流程。 #### 4. 浏览器仪表盘 仪表盘采用**WebSocket**与后端通信,实时推送字幕和翻译。界面简洁,支持自动滚动、历史记录保存、多说话人颜色区分。无需安装任何客户端,适合投屏或多人观看。 #### 5. 低资源优化 - 使用**量化**(int8)技术压缩模型,减少内存占用和计算量。 - 支持**线程池**和**CPU指令集优化**(如AVX2)。 - 模型文件可热加载,切换语言无需重启。 --- ### 五、适用场景 - **会议记录**:实时生成带说话人标签的会议纪要,方便参与者回顾。 - **直播字幕**:主播或观众在无GPU的PC上添加实时字幕,提升无障碍体验。 - **课堂辅助**:学生用笔记本实时转录课程内容,并翻译成母语。 - **媒体后期**:快速生成视频初稿字幕,减少手动打轴时间。 - **隐私敏感场景**:如医疗咨询、法律会谈,本地处理避免录音外泄。 - **嵌入式/边缘设备**:在树莓派4或Jetson Nano(无GPU)上部署,用于智能家居语音交互。 --- ### 六、同类项目对比 | 项目 | 硬件要求 | 实时性 | 说话人识别 | 翻译 | 浏览器界面 | 离线 | 备注 | |------|---------|--------|------------|------|------------|------|------| | **早耳** | CPU | 是 | 内置 | 是 | 是 | 是 | 轻量,一体化 | | OpenAI Whisper (官方API) | 云端 | 否(需后处理) | 无 | 无 | 无 | 否 | 需付费,延迟高 | | faster-whisper | CPU/GPU | 部分(需自行实现流式) | 无 | 无 | 无 | 是 | 重,需搭配VAD和Diarization | | Vosk | CPU | 是 | 无 | 无 | 无 | 是 | 语言支持有限,准确率一般 | | Google Speech-to-Text | 云端 | 是 | 有(付费) | 有 | 无 | 否 | 价格高,数据外传 | | NVIDIA Riva | GPU | 是 | 有 | 有 | 无 | 是 | 需专业GPU,部署复杂 | | whisper.cpp | CPU | 部分 | 无 | 无 | 无 | 是 | 适合嵌入式,但缺少流式API | **早耳的优势**:唯一一个在纯CPU上实现“实时+多语言+说话人+翻译+WebUI”的全栈方案,且安装简单,开箱即用。缺点:说话人识别精度不如专业模型,翻译质量一般(适合理解大意),模型大小限制了大词汇量场景的准确率。 --- ### 七、项目评价与展望 早耳是一个**极具实用价值**的开源项目,它打破了“实时语音识别必须依赖GPU”的魔咒,让普通用户也能享受AI带来的便利。项目代码结构清晰,模块化设计(ASR、Diarization、Translation、WebUI)便于扩展,文档齐全(英文README,附有中文说明)。 目前项目Stars数302,处于早期阶段,但社区活跃,作者持续更新。未来若增加以下功能将更具吸引力: - 支持更多说话人(目前最多4人) - 提供API接口(供其他程序调用) - 集成更精准的Diarization模型(如pyannote)作为可选项 - 支持更多硬件加速(如OpenVINO、CoreML) --- ### 八、总结 对于需要实时字幕、会议记录、翻译辅助,且没有高性能GPU的个人开发者、教育工作者或小型团队,**早耳**是一个不可多得的宝藏项目。它用极低的资源成本实现了接近云服务的体验,且完全离线,保护隐私。如果你正在寻找一个可定制的本地语音转文字方案,不妨试试早耳。 **项目链接**: [https://github.com/oboroge0/hayamimi](https://github.com/oboroge0/hayamimi)
查看工具