跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

树莓派 5 结合 Whisper 与 EdgeTTS 构建全离线语音助手

在树莓派 5 上构建全离线语音助手的方案。相比 Vosk,Whisper 模型在中文识别准确率上有显著提升,并支持热词增强功能。通过缓存 EdgeTTS 生成的语音文件,实现了自然度较高的离线语音合成。实测显示 Whisper 在树莓派 5 上的响应速度可达毫秒级,适合智能家居控制场景。文章提供了 Python 代码示例及优化建议。

FrontendX发布于 2026/4/5更新于 2026/7/2447 浏览

1. 为什么选择 Whisper 替代 Vosk?

我之前用 Vosk 做离线语音识别确实挺方便的,特别是那个 40MB 的小模型中文件,在树莓派 5 上几乎瞬间就能响应。但用久了发现一个问题:中文识别准确率还是不够理想,特别是当我说得稍微快一点或者带点口音的时候,它经常会听错。

后来我试了 OpenAI 的 Whisper,虽然模型大了不少(我用的 base 版本大约 150MB),但识别准确率真的提升很明显。最重要的是,Whisper 支持热词增强功能,这对智能家居控制特别有用!我可以把'开灯'、'关风扇'这些指令设为热词,识别准确率直接拉满。

实测下来,Whisper 在树莓派 5 上的响应速度依然能保持在毫秒级。我用 Python 写了个简单的测试脚本:

import whisper
import time

model = whisper.load_model("base")
start = time.time()
result = model.transcribe("test_audio.wav")
end = time.time()
print(f"识别结果:{result['text']}")
print(f"耗时:{(end - start) * 1000:.2f}ms")

测试了 10 次 3 秒的音频,平均识别时间在 800ms 左右,最快的一次只用了 620ms。这个速度对于语音控制来说完全足够了,毕竟人说完话还要稍微停顿一下呢。

2. EdgeTTS:让离线语音更自然

之前的方案用的是 pyttsx3 + espeak,那个机械音真的是一言难尽...我家孩子老说听起来像'机器人感冒了'。后来发现了 EdgeTTS,虽然它原本是在线服务,但我们可以把语音缓存下来实现离线使用!

EdgeTTS 最大的优势是声音自然度,用的是微软的语音合成技术,支持多种中文声音选择。我特别喜欢'zh-CN-XiaoxiaoNeural'这个声音,很接近真人发音。

缓存语音的方法很简单:

from edge_tts import Communicate
import asyncio
import os

async def cache_tts(text, voice, filename):
    if os.path.exists(filename):
        return # 已经缓存过了
    communicate = Communicate(text, voice)
    await communicate.save(filename)

# 预先缓存常用语音
common_commands = [
    ("好的,灯已打开", "zh-CN-XiaoxiaoNeural", "light_on.mp3"),
    (, , ),
    (, , )
]
 text, voice, filename  common_commands:
    asyncio.run(cache_tts(text, voice, filename))
"正在关闭风扇"
"zh-CN-XiaoxiaoNeural"
"fan_off.mp3"
"系统启动完毕"
"zh-CN-XiaoxiaoNeural"
"system_ready.mp3"
for
in

目录

  1. 1. 为什么选择 Whisper 替代 Vosk?
  2. 2. EdgeTTS:让离线语音更自然
  3. 预先缓存常用语音
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 SpringBoot 和 EMQX 的物联网设备双向通讯方案
  • 从零搭建 AI 系统权限控制系统
  • MongoDB 数据备份与恢复实战指南
  • 并查集数据结构详解与实战应用
  • 宇树机器人 SDK2 开发指南:从环境搭建到 Demo 测试
  • 英伟达与 GitHub 免费获取大模型 API Key 实战指南
  • 常用正则表达式速查
  • 使用 cpolar 远程部署 Open-Lovable 实现网页克隆
  • Ubuntu 24.04 Server 系统安装及配置指南
  • C++ STL List 容器使用指南及底层模拟实现
  • SpringBoot + Docker 实现微服务容器多节点负载均衡
  • 数据结构核心:KMP 算法、Trie 树与并查集详解
  • 前端多版本发布零 404 部署方案详解
  • Stable Diffusion 风格测试实操笔记
  • 异步编程实战:构建高性能 Python 网络应用
  • Slack 机器人集成:基于 InstructPix2Pix 的快速修图协作方案
  • Stable Diffusion WebUI 云端部署实战指南
  • Elasticsearch 核心概念、Kibana 测试与 C++ 客户端封装
  • WinSCP 下载安装与服务器连接配置指南
  • Llama-3.2-3B 代码审查实战:基于 Java 面试题的评估体系

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online