概念介绍

介绍

📌 ASR(Automatic Speech Recognition,自动语音识别)介绍

ASR(Automatic Speech Recognition)是 自动语音识别技术,用于将 语音转换为文本。它广泛应用于 语音助手(Siri、Alexa)、语音输入、字幕生成、会议转录、客服机器人 等领域。

🔹 ASR 的核心流程

ASR 主要包括 语音信号处理、特征提取、声学模型、语言模型 等关键步骤:
1️⃣ 音频输入 🎤
  • 录音设备(麦克风)采集语音信号,并转换为 数字信号(通常是 WAV、MP3、PCM 格式)。
2️⃣ 预处理(降噪、去混响、端点检测)
  • 进行 降噪、回声消除、语音活动检测(VAD),过滤掉无用的噪音和静音部分,提高识别准确率。
3️⃣ 特征提取(MFCC、FBank、Spectrogram) 🎛️
  • 提取 Mel 频率倒谱系数(MFCC)、梅尔滤波器组(FBank)、短时傅里叶变换(STFT) 等语音特征。
4️⃣ 声学模型(Acoustic Model) 🎙️
  • 深度神经网络(DNN)、长短时记忆网络(LSTM)、Transformer 预测 音素(phonemes)或字符(graphemes)
5️⃣ 解码(Decoder) 🔤
  • 结合 语言模型(LM) 进行解码,将预测的音素序列转换为 文本
6️⃣ 后处理(错误修正、标点恢复) 📝
  • 添加标点符号、纠正拼写错误,优化最终的文本输出。

🔹 常见 ASR 模型

📌 1. 传统 ASR(HMM + GMM/DNN)

  • 早期 ASR 使用 隐马尔可夫模型(HMM)+ 高斯混合模型(GMM),结合 统计语言模型(n-gram) 进行语音识别。
  • 代表模型
    • Kaldi(一个开源的 HMM-DNN 混合 ASR 框架)

📌 2. 端到端 ASR(E2E ASR)

现代 ASR 采用 端到端(End-to-End)深度学习 方法,省去了复杂的 HMM 结构,直接从语音波形到文本映射:
模型架构
特点
代表性模型
CTC(Connectionist Temporal Classification)
解决 语音长度与文本不匹配 问题
DeepSpeech 2(Baidu)
Seq2Seq + Attention
适用于短语音识别,适合 口语对话
Listen, Attend and Spell (LAS)
RNN-T(Recurrent Neural Network Transducer)
流式语音识别,适用于 实时 ASR
Google Speech-to-Text
Transformer / Conformer
采用 自注意力机制,处理长序列语音效果好
Whisper(OpenAI)、Wav2Vec 2.0(Meta)

🔹 经典 ASR 开源模型

模型
框架
特点
DeepSpeech
TensorFlow
基于 CTC,支持离线和在线识别
Kaldi
Kaldi
传统 HMM-DNN ASR,适合定制化训练
Wav2Vec 2.0
PyTorch
无监督预训练,适合低资源语种
Whisper
OpenAI
多语言、端到端、强泛化能力
Silero ASR
PyTorch
轻量级、支持 CPU 推理
ESPnet
PyTorch
支持多种 ASR 模型(CTC, Transformer, RNN-T)
Vosk
Kaldi
本地离线 ASR,适用于嵌入式设备

🔹 ASR 在 AGI 里的作用

  • 语音输入:用于语音助手、智能家居、智能客服
  • 多模态交互:结合 NLP 进行语音理解
  • 自动字幕:视频、直播的实时字幕生成
  • 会议转录:自动记录会议内容
  • 辅助翻译:结合机器翻译实现跨语言交流

📌 总结

ASR 是 语音转文字的核心技术,从传统 HMM-GMM 方法发展到 端到端神经网络模型(CTC、Transformer、RNN-T)。
不同的模型适用于不同场景,在 AGI 中,ASR 作为 语音输入层,结合 NLP 可以实现更自然的人机交互! 🚀

xiaozhi-server

配置文件中的ASR

SenseVoiceSmall, sherpa_onnx_local, DoubaoASR简介

1️⃣ SenseVoiceSmall

📌 SenseVoiceSmall 可能是一个小型轻量化的语音识别模型,适用于 低功耗设备、嵌入式系统、边缘计算 等场景。
🔹 特点
  • 轻量级,适合 本地部署资源受限设备
  • 可能使用 Transformer 或 Conformer 架构
  • 适合 离线识别、物联网(IoT)、智能家居
🔹 适用场景
  • 语音命令识别(如智能助手)
  • 低功耗设备上的 ASR
  • 边缘计算,如 ESP32、树莓派、嵌入式设备

2️⃣ sherpa_onnx_local

📌 Sherpa-ONNX 是由 k2-fsa 团队开发的 端到端 ASR 解决方案,基于 ONNX,适合 本地运行
🔹 特点
  • 轻量化 ASR 方案,不依赖服务器,可本地推理
  • ONNX 格式,适用于 跨平台(Python、C++) 部署
  • 低延迟,适用于 实时语音识别
🔹 适用场景
  • 本地语音识别(离线 ASR),不依赖云端
  • 嵌入式设备、边缘计算,如 Android、树莓派
  • 私有化部署,保证数据隐私
📌 安装 & 使用(Python):

3️⃣ DoubaoASR(豆包 ASR)

📌 DoubaoASR(豆包语音识别) 可能是 字节跳动(TikTok 母公司)推出的 ASR 模型,适用于中文语音识别。
🔹 特点
  • 适合中文语音识别,优化 普通话、方言
  • 可能采用 Transformer/Conformer 结构
  • 适用于智能客服、语音输入
  • 可能支持 云端 & 本地 运行
🔹 适用场景
  • 智能客服(机器人、语音输入法)
  • 字幕生成(短视频、直播字幕)
  • 会议转录(语音转文字)

🔹 总结

模型
特点
适用场景
SenseVoiceSmall
轻量级,适用于嵌入式
IoT、离线语音命令
sherpa_onnx_local
ONNX 格式,低延迟
本地 ASR、私有化部署
DoubaoASR
适用于中文
语音助手、字幕、会议转录
如果你需要 本地 ASR 部署sherpa_onnx_local 可能是最佳选择!
如果你想做 中文语音识别DoubaoASR 可能更合适。 🚀

加载方式

  1. 采用工厂模式创建
  1. 动态加载对应的ASR的Provider模块

音频格式: OPUS

科普
OPUS 音频格式 是一种高效、低延迟的音频编码格式,适用于 VoIP、视频会议、流媒体和游戏语音 等场景。

📌 OPUS 简介

  • 编码方式:混合 CELT(低延迟变换编码)SILK(线性预测编码)
  • 自适应比特率:支持 6 kbps - 510 kbps,根据网络情况自动调整
  • 低延迟:最低可达 5 ms(适合实时语音通信)
  • 高音质:可以同时处理 窄带(8kHz)到全频带(48kHz)
  • 开源 & 免费:由 IETF 标准化,开源(libopus)

📌 OPUS 适用场景

场景
特点
🎤 VoIP(语音通话)
Skype、Zoom、WhatsApp 语音
🎮 游戏语音
Discord、TeamSpeak
🎥 流媒体
YouTube、Twitch
📻 在线广播
低延迟、高音质

📌 OPUS 转换 & 处理

🔹 FFmpeg 处理 OPUS

1️⃣ OPUS 转 MP3 / WAV
2️⃣ MP3 / WAV 转 OPUS

🔹 Python 处理 OPUS

安装 pydub(需要 ffmpeg)
转换 OPUS

📌 结论

  • OPUS 适合高质量、低延迟的音频应用(VoIP、游戏、流媒体)。
  • 支持自适应比特率,适应不同网络环境
  • 可以用 FFmpeg、Python(pydub)处理 OPUS 文件
🚀 如果你要做 AGI 语音处理,OPUS 是一个不错的选择!
Loading...
leiax00
leiax00
让每一天都有意义🍚
最新发布
异地组网-zerotier
2025-4-10
apt/snap常用操作
2025-4-7
ubuntu操作备忘录
2025-4-1
git常用操作
2025-4-1
小智聊天机器人使用记录
2025-3-31
k8s/docker常用操作
2025-3-26
公告