ASR语音识别模型对比实验报告

💡 核心亮点

通过多轮实验,对比 Whisper 多模型(tiny/base/small/medium)与阿里云 paraformer-v1 的语音识别效果,希望能找到速度与准确度的最佳平衡点。


📋 实验信息

项目 内容
实验日期 2026-05-17
测试音频 asr_test_.wav
音频特点 前部分有较大的背景噪音
实验环境 本地笔记本电脑 Docker 容器(ThinkPad T14p Gen 1,CPU)
实验结论 阿里云 ASR 准确度更高,Whisper 速度更快

📝 实验记录

第1次实验:Whisper medium vs 阿里云 paraformer-v1

第1次实验补充:Whisper tiny vs 阿里云 paraformer-v1

第2次实验:Whisper 多模型对比

第3次实验:Whisper 多模型对比(复测)

第4次实验:Whisper 多模型对比(代码修复后)


📝 每次记录

第1次实验:Whisper medium vs 阿里云 paraformer-v1

第1次实验补充:Whisper tiny vs 阿里云 paraformer-v1

第2次实验:Whisper 多模型对比

第3次实验:Whisper 多模型对比(复测)

第4次实验:Whisper 多模型对比(代码修复后)


📊 第1次实验结果:Whisper vs 阿里云

识别速度对比

模型 参数量 识别耗时 相对速度
Whisper tiny 39M 0.47 秒 最快
Whisper medium 769M 5.77 秒 基准
paraformer-v1 - 7.43 秒 最慢

识别结果对比

Whisper tiny

你好你是谁啊?能不能听到我的声音

Whisper medium

您好,您是誰呀?能不能聽到我的聲音?

paraformer-v1

开始。你好,你是谁呀?能不能听到我的声音?

准确度分析

维度 Whisper tiny Whisper medium paraformer-v1
噪音处理 ⭐⭐ ✅ 优秀 ✅ 优秀
简体中文 ⚠️ 简体中文 ⚠️ 部分繁体 ✅ 准确简体
标点符号 ⚠️ 缺少标点 ⚠️ 逗号为主 ✅ 规范标点
整体准确度 ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

🔧 测试代码

Whisper tiny 测试

import whisper
import time

model = whisper.load_model("tiny")
start_time = time.time()

result = model.transcribe(
    "/app/static/audio/asr_test_.wav",
    language='zh',
    fp16=False,
    verbose=False
)

duration = time.time() - start_time
print(f"耗时: {duration:.2f} 秒")
print(f"结果: {result['text']}")

Whisper medium 测试

import whisper
import time

model = whisper.load_model("medium")
start_time = time.time()

result = model.transcribe(
    "/app/static/audio/asr_test_.wav",
    language='zh',
    fp16=False,
    verbose=False
)

duration = time.time() - start_time
print(f"耗时: {duration:.2f} 秒")
print(f"结果: {result['text']}")

阿里云 ASR 测试

import requests
import time

url = 'https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription'

headers = {
    'Authorization': f'Bearer sk-7****268c699****e9b56075',  # 已脱敏
    'Content-Type': 'application/json',
    'X-DashScope-Async': 'enable'
}

payload = {
    'model': 'paraformer-v1',
    'input': {
        'file_urls': ['https://www.byp.com.cn/static/audio/asr_test_.wav']
    },
    'parameters': {
        'format': 'wav',
        'sample_rate': 16000
    }
}

start_time = time.time()
response = requests.post(url, json=payload, headers=headers)
# ... 轮询任务状态 ...
duration = time.time() - start_time

📈 实验结论

速度对比

模型 识别耗时 相对阿里云
Whisper tiny 0.47 秒 快 5.32 秒(11倍)
Whisper medium 5.77 秒 快 1.66 秒
paraformer-v1 7.43 秒 基准

准确度对比

阿里云 paraformer-v1 优势: - ✅ 简体中文识别准确 - ✅ 标点符号使用规范 - ✅ 适合正式场景

Whisper tiny 特点: - ✅ 速度极快(0.47秒) - ⚠️ 缺少标点符号 - ⚠️ 抗噪能力一般

Whisper medium 特点: - ⚠️ 输出包含繁体字 - ✅ 噪音环境表现良好 - ✅ 本地部署,无需网络

综合建议

选择阿里云 paraformer-v1 的理由: 1. 准确度最高(简体中文、标点规范) 2. 不占用服务器CPU资源 3. 适合低配服务器 4. 适合正式场景

选择 Whisper tiny 的场景: 1. 音频质量高、无背景噪音 2. 对速度要求极高(11倍于阿里云) 3. 对准确度要求不高 4. 本地部署,无需网络

选择 Whisper medium 的场景: 1. 音频有背景噪音 2. 对准确度要求较高 3. 有充足计算资源 4. 对隐私要求极高(数据不出本地)


📊 第2次实验结果:Whisper 多模型对比

识别速度对比

模型 参数量 识别耗时 相对速度 状态
Whisper tiny 39M 0.91 秒 最快 ✅ 最快
Whisper base 74M 7.31 秒 最慢 ✅
Whisper small 244M 1.83 秒 较快 ✅
Whisper medium 769M 5.61 秒 中等 ✅

识别结果对比

Whisper tiny

你好你是谁啊?能不能听到我的声音

Whisper base

好的這刻人在間 Eat你好你 JI你是誰呀能不能聽到我的聲音

Whisper small

你好你是誰啊能不能聽到我的聲音

Whisper medium

您好,您是誰呀?能不能聽到我的聲音?

准确度分析

维度 tiny base small medium
噪音处理 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
简体中文 ⚠️ ⚠️ ⚠️ ⚠️
标点符号 ⚠️ ⚠️ ⚠️ ⚠️
整体准确度 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

实验结论

速度排序(从快到慢): 1. Whisper tiny:0.91 秒 2. Whisper small:1.83 秒 3. Whisper medium:5.61 秒 4. Whisper base:7.31 秒

推荐选择: - 最快:Whisper tiny(0.91 秒) - 最准确:Whisper medium(抗噪最强) - 平衡之选:Whisper small(速度与准确度兼顾)

场景建议:


📊 第3次实验结果:Whisper 多模型复测

识别速度对比

模型 参数量 识别耗时 相对速度 状态
Whisper tiny 39M 0.79 秒 最快 ✅ 最快
Whisper base 74M 9.95 秒 最慢 ✅
Whisper small 244M 1.89 秒 较快 ✅
Whisper medium 769M 5.72 秒 中等 ✅

识别结果对比

Whisper tiny

你好你是谁啊?能不能听到我的声音

Whisper base

如果找好朋友我可以到內幕各位 joining our our clothing lovers請拒👊心祝贊您午安你好你是誰呀能不能聽到我的聲音孤兒糟糕eks ст Read Know My War

Whisper small

你好你是誰啊能不能聽到我的聲音

Whisper medium

您好,您是誰呀?能不能聽到我的聲音?

准确度分析

维度 tiny base small medium
噪音处理 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
简体中文 ⚠️ ⚠️ ⚠️ ⚠️
标点符号 ⚠️ ⚠️ ⚠️ ⚠️
整体准确度 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

两次实验对比分析

指标 第2次实验 第3次实验 差异
tiny 耗时 0.91 秒 0.79 秒 -0.12 秒(正常波动)
base 耗时 7.31 秒 9.95 秒 +2.64 秒(异常)
small 耗时 1.83 秒 1.89 秒 +0.06 秒(正常波动)
medium 耗时 5.61 秒 5.72 秒 +0.11 秒(正常波动)

base 模型问题分析:

  1. 耗时异常:第3次实验 base 耗时 9.95 秒,比第2次的 7.31 秒慢了 2.64 秒
  2. 识别质量差:base 模型产生了大量乱码和无关内容(英文、emoji、俄文等)
  3. 抗噪能力弱:base 模型对前导噪音的处理能力明显不足

为什么 base 表现不稳定?

结论:


📊 第4次实验结果:代码修复后的复测

识别速度对比

模型 参数量 识别耗时 相对速度 状态
Whisper tiny 39M 0.48 秒 最快 ✅ 最快
Whisper base 74M 7.92 秒 最慢 ✅
Whisper small 244M 1.82 秒 较快 ✅
Whisper medium 769M 5.50 秒 中等 ✅

识别结果对比

Whisper tiny

你好你是谁啊?能不能听到我的声音

Whisper base

黑髮小小演悸 – 女人你好 你是…誰啊能不能聽到我的聲音

Whisper small

你好你是誰啊能不能聽到我的聲音

Whisper medium

您好,您是誰呀?能不能聽到我的聲音?

准确度分析

维度 tiny base small medium
噪音处理 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
简体中文 ⚠️ ⚠️ ⚠️ ⚠️
标点符号 ⚠️ ⚠️ ⚠️ ⚠️
整体准确度 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

四次实验对比分析

base 模型耗时对比

实验次数 耗时 代码版本 改进情况
第2次 7.31 秒 原始版本(重复加载) -
第3次 9.95 秒 原始版本(重复加载) ❌ 恶化 +2.64 秒
第4次 7.92 秒 修复版本(模型缓存) ⚠️ 略好于第3次,但仍慢

base 模型识别质量对比

实验次数 识别结果 质量问题
第2次 好的這刻人在間 Eat你好你 JI你是誰呀能不能聽到我的聲音 有乱码,但主要内容正确
第3次 如果找好朋友我可以到內幕各位 joining our our clothing lovers請拒👊心祝贊您午安你好你是誰呀能不能聽到我的聲音孤兒糟糕eks ст Read Know My War 大量乱码(英文、emoji、俄文)
第4次 黑髮小小演悸 – 女人你好 你是…誰啊能不能聽到我的聲音 有乱码,但比第3次好

代码修复效果分析

✅ 修复效果: 1. 耗时有所改善:从 9.95 秒降低到 7.92 秒(改善 2.03 秒) 2. 识别质量有所改善:乱码减少,比第3次实验好 3. 模型缓存生效:避免了重复加载导致的不稳定

❌ 但问题依然存在: 1. base 仍然是最慢的模型:7.92 秒,比 medium(5.50 秒)还慢 2. 识别质量仍然不理想:仍有乱码("黑髮小小演悸 – 女人") 3. 抗噪能力依然弱:无法有效过滤前导噪音

最终结论

代码修复确实有改善,但 base 模型的根本问题不在代码,而在模型本身:

  1. 参数量尴尬:74M 参数,不够理解复杂上下文
  2. 抗噪能力弱:无法有效区分噪音和语音
  3. 性价比低:速度不如 tiny,准确度不如 small/medium

最终推荐: - ❌ 不推荐 base:无论代码如何优化,模型本身能力有限 - ✅ 推荐 tiny:高质量音频、追求速度(0.48 秒) - ✅ 推荐 small:平衡之选(1.82 秒,准确度可接受) - ✅ 推荐 medium:有噪音环境(5.50 秒,准确度最高)


🔧 附录:安装过程原始记录

模型预下载记录

============================================================
📥 预下载所有模型...
============================================================

🔧 检查/下载: Whisper tiny...
100%|█████████████████████████████████████| 72.1M/72.1M [00:35<00:00, 2.14MiB/s]
✅ tiny 模型已就绪

🔧 检查/下载: Whisper base...
✅ base 模型已就绪(已缓存)

🔧 检查/下载: Whisper small...
 55%|█████████████████████▎                 | 252M/461M [02:18<01:36, 2.27MiB/s]

注:以上是正常家用网速,最大可达 3-4MiB/s


📋 第5次实验计划:阿里云服务器真实场景测试

测试目的

验证 Whisper tiny 在阿里云服务器上的实际表现,决定是否替换当前阿里云ASR方案。

测试环境

测试内容

  1. 识别速度对比
  2. Whisper tiny 在阿里云服务器的识别耗时
  3. 与笔记本测试的差异

  4. 真实聊天场景测试

  5. 安静环境下的识别准确度
  6. 有噪音环境下的识别准确度
  7. 不同语速、口音的适应性

  8. 并发性能测试

  9. 单用户场景
  10. 多用户同时说话场景
  11. CPU负载监控

  12. 资源占用监控

  13. 内存占用(预计200MB)
  14. CPU占用(识别时)
  15. 硬盘占用(75MB)

预期结果

Whisper tiny 优势: - 识别速度:预计 0.3-0.5 秒(比阿里云快10倍以上) - 无需网络请求 - 无API调用费用

潜在问题: - 准确度可能不如阿里云 - 缺少标点符号 - 噪音环境表现待验证

决策标准

采用 Whisper tiny 的条件: 1. 识别速度 < 1秒 2. 安静环境准确度 > 90% 3. CPU占用可接受 4. 用户反馈良好

保持阿里云ASR的条件: 1. Whisper tiny 准确度不达标 2. 噪音环境表现差 3. 并发场景CPU瓶颈

实施步骤

  1. 在阿里云服务器安装 Whisper
  2. 部署 tiny 模型
  3. 修改 Ping 模块语音识别代码
  4. 真实聊天场景测试
  5. 收集用户反馈
  6. 做出最终决策

📝 实验完成:2026-05-17
🔄 实验者:AI Assistant

相关笔记