0. 研究背景

Fun-ASR-Nano-2512 是由阿里巴巴旗下的通义实验室开源的语音识别模型,通义实验室之前还开源了 SenseVoiceSmall 和 Paraformer 模型,这篇文章使用三种模型对多种方言,以及真实电话录音进行对比测试,在开源的数据集中评估的结果官方已经给出,这里使用自己的数据测试,不同的数据测试的字错率会不一样,这篇文章结果仅供大家参考,具体以你自己测试的结果为准。同时,还对比测试三种模型的转写速度以及转写时资源占用情况。

1. 推理代码

1.1 Fun-ASR-Nano 的推理代码

# !/usr/bin/env python
# _*_ coding utf-8 _*_
# @Time: 2025/12/15 20:18
# @Author: Luke Ewin
# @Blog: https://blog.lukeewin.top
from model import FunASRNano
import time


def main():
    model_dir = "FunAudioLLM/Fun-ASR-Nano-2512"
    start_model = time.time()
    m, kwargs = FunASRNano.from_pretrained(model=model_dir, device="cuda")
    end_model = time.time()
    load_time_ms = (end_model - start_model) * 1000
    print(f'加载模型Fun-ASR-Nano-2512耗时 {load_time_ms:.2f} 毫秒')
    m.eval()

    while True:
        wav_path = input(f'输入音频路径')
        if wav_path == 'exit':
            break
        start = time.time()
        res = m.inference([wav_path], **kwargs)
        end = time.time()
        inference_time_ms = (end - start) * 1000
        print(f'转写耗时:{inference_time_ms:.2f} 毫秒')
        text = res[0][0]["text"]
        print(text)
        print(50*"-")


if __name__ == "__main__":
    main()

1.2 SenseVoiceSmall 推理代码

# !/usr/bin/env python
# _*_ coding utf-8 _*_
# @Time: 2025/11/8 23:53
# @Author: Luke Ewin
# @Blog: https://blog.lukeewin.top
from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess
import time

model_dir = "iic/SenseVoiceSmall"

start_model = time.time()
model = AutoModel(
    model=model_dir,
    device="cuda",
    disable_update=True,
    disable_log=True,
    disable_pbar=True,
)
end_model = time.time()
load_time_ms = (end_model - start_model) * 1000
print(f'加载模型SenseVoiceSmall耗时 {load_time_ms:.2f} 毫秒')

while True:
    audio = input("请输入要处理的音频:")
    if audio == 'exit':
        exit(0)
    else:
        start = time.time()
        res = model.generate(
            input=audio,
            cache={},
            language="auto",
            use_itn=True,
            batch_size_s=60,
        )
        end = time.time()
        inference_time_ms = (end - start) * 1000
        print(f'转写耗时:{inference_time_ms:.2f} 毫秒')
        text = rich_transcription_postprocess(res[0]["text"])
        print(text)
        print(50*"-")

1.3 Paraformer 推理代码

这里使用的 Paraformer 是 seaco-paraformer

# !/usr/bin/env python
# _*_ coding utf-8 _*_
# @Time: 2025/12/10 21:51
# @Author: Luke Ewin
# @Blog: https://blog.lukeewin.top
from funasr import AutoModel
import time

start_model = time.time()
model = AutoModel(model="paraformer-zh", disable_update=True, disable_log=True, disable_pbar=True, device="cuda")
end_model = time.time()
load_time_ms = (end_model - start_model) * 1000
print(f'加载模型paraformer-zh耗时 {load_time_ms:.2f} 毫秒')

while True:
    wav_path = input(f'输入音频路径')
    if wav_path == 'exit':
        exit(0)
    start = time.time()
    res = model.generate(input=wav_path, batch_size_s=300, hotword='魔搭')
    end = time.time()
    inference_time_ms = (end - start) * 1000
    print(f'转写耗时:{inference_time_ms:.2f} 毫秒')
    print(res)
    print(50*"-")

2. 测试环境

CPU GPU 内存 硬盘
Intel® Xeon® Platinum 8470Q NVIDIA RTX 5090 90GB 80GB
25内核 32GB显存

3. 方言识别测试

这里测试客家话,四川话,莆田话这三种方言的识别情况。

3.1 客家话

标注文本:

音频名 音频内容 音频时长
hakka_a 你好,大家好,欢饮大家来到我的视频频道 00:00:09.96
hakka_b 你吃饭了吗?今晚你吃什么菜呢? 00:00:08.48
hakka_test 现在我来测试一下语音识别,看看识别的怎么样? 00:00:08.66

paraformer 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
hakka_a 你 以 后 太 敢 后 我 眼 太 敢 来 到 然 后 的 心 频 很 痛 1660.61 毫秒 1590MiB 3GB
hakka_b 女 sydlijama 你 said mila china 124.12 毫秒 1590MiB 3GB
hakka_test 上 来 了 克 斯 汉 tae sept 怎 么 样 126.03 毫秒 1590MiB 3GB

可以看到转写的结果很不理想,全都是错误的。

SenseVoiceSmall 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
hakka_a 如何太假呵稳人太假来到我的视频平托。 1050.31 毫秒 1578MiB 1.2GB
hakka_b 儿式花靓忙点呀儿式乜牙菜呢? 62.43 毫秒 1578MiB 1.2GB
hakka_test 地下奶来测试一下二唔识劈替替食劈的怎么样。 61.10 毫秒 1578MiB 1.2GB

Fun-ASR-Nano 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
hakka_a 而后,泰甲后,阮用泰甲来到了的视频频道。 872.05 毫秒 3886MiB 3.3GB
hakka_b 儿识巴厘木,竟也儿识抹牙菜呢。 361.80 毫秒 3886MiB 3.3GB
hakka_test 接下来来测试一下语音识别,睇睇识别得怎么样? 319.23 毫秒 3886MiB 3.3GB

3.2 四川话

标注文本:

音频名 音频内容 音频时长
sichuan_segment_017 不想搞它了甩在这儿洗了不开等它搁那哦 00:00:04.63
sichuan_segment_032 你又不是找不到我找不到 00:00:03.20
sichuan_segment_001 我认为我老爸是一个非常有主意的人为啥子这么说呢 00:00:04.97
sichuan_segment_040 事情是这样子的我们这个厨房呢它属于农村厨房 00:00:03.33
sichuan_segment_042 它就会飘到这个灶台上面为了防止这个灰尘呢 00:00:03.63
sichuan_segment_079 我老爸的主意他还多得很他还想把我们这个厕所加猪圈拆了 00:00:04.60

Paraformer 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
sichuan_segment_017 想 搞 头 了 乖 着 了 洗 了 不 开 那 可 能 哦 1238.11 毫秒 1590MiB 3GB
sichuan_segment_032 你 又 不 找 不 到 给 我 找 不 到 113.02 毫秒 1590MiB 3GB
sichuan_segment_001 我 认 为 我 老 汉 儿 是 一 个 非 常 有 主 意 的 人 为 啥 子 这 么 说 嘞 104.00 毫秒 1590MiB 3GB
sichuan_segment_040 之 前 是 这 样 子 的 我 们 这 个 厨 房 呢 它 属 于 农 村 厨 房 88.34 毫秒 1590MiB 3GB
sichuan_segment_042 它 就 会 飘 到 那 个 灶 台 上 面 为 了 防 止 这 个 灰 尘 呢 92.38 毫秒 1590MiB 3GB
sichuan_segment_079 老 汉 的 主 意 他 还 多 得 很 他 还 想 把 我 们 这 个 厕 所 加 猪 间 拆 了 107.24 毫秒 1590MiB 3GB

SenseVoiceSmall 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
sichuan_segment_017 洗了不开那可能哦。 1068.64 毫秒 1578MiB 1.3GB
sichuan_segment_032 你又找不到我找不到。 49.76 毫秒 1578MiB 1.3GB
sichuan_segment_001 我认为我老汉儿是一个非常有主意的人,为啥子这么说呢? 50.26 毫秒 1578MiB 1.3GB
sichuan_segment_040 之前是这样子的,我们这个厨房呢,它属于农村厨房。 46.75 毫秒 1578MiB 1.3GB
sichuan_segment_042 它就会飘到那个灶台上面。为了防止这个灰尘呢。 61.86 毫秒 1578MiB 1.3GB
sichuan_segment_079 老汉儿的主意他还多得很,他还想把我们这个厕所加租件拆了。 67.45 毫秒 1578MiB 1.3GB

Fun-ASR-Nano 测试结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
sichuan_segment_017 想搞头啊,拐得了啊,洗了不开,那可能啊。 715.69 毫秒 3882MiB 3.1GB
sichuan_segment_032 我又不找不到,我找不到。 201.04 毫秒 3882MiB 3.1GB
sichuan_segment_001 我认为我老汉儿是一个非常有主意的人,为啥子这么说呢? 373.36 毫秒 3882MiB 3.1GB
sichuan_segment_040 事情是这样子的,我们这个厨房呢,它属于农村厨房。 368.32 毫秒 3882MiB 3.1GB
sichuan_segment_042 它就会飘到那个灶台上面,为了防止这个灰尘呢。 349.89 毫秒 3882MiB 3.1GB
sichuan_segment_079 我老汉儿的主意他还多得很,他还想把我们这个厕所加猪圈拆了。 477.61 毫秒 3882MiB 3.1GB

3.3 莆田话

标注:

音频名 音频内容 音频时长
putian_xiao_2 上午好,你今天忙不忙呀? 00:00:04.59
putian_xiao_3 嗨,这么巧碰到你啦! 00:00:04.65

Paraformer 转写结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
putian_xiao_2 哦 吼 the 今 我 on 不 on 啊 1267.43 毫秒 1590MiB 3GB
putian_xiao_3 哎 这 杂 叫 碰 到 的 99.52 毫秒 1590MiB 3GB

SenseVoiceSmall 转写结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
putian_xiao_2 哦吼,汝今晚红毋旺啊。 1059.76 毫秒 1578MiB 1.3GB
putian_xiao_3 唉,即系左只碰够嘟。 50.68 毫秒 1578MiB 1.3GB

Fun-ASR-Nano 转写结果如下:

音频名 转写结果 转写耗时 显存占用 内存占用
putian_xiao_2 好好啊,汝今晚安毋安啊? 597.70 毫秒 3880MiB 3.1GB
putian_xiao_3 诶即作者有碰到著。 230.47 毫秒 3880MiB 3.1GB

4. 带噪音的录音转写测试

Paraformer 模型转写:

音频名 音频时长 标注文本 转写结果 转写耗时 显存占用 内存占用
telephone_1 00:00:06.64 最近这块资金有需要了解咨询的吗?最近,最近,(后面我也听不清) 您 这 块 最 近 有 需 要 了 解 事 情 的 吗 啊 最 近 最 近 是 有 需 要 你 不 是 那 个 哪 哪 边 的 嗯 1250.00 毫秒 1590MiB 3GB
telephone_2 00:00:04.42 嗯,嗯,时间蛮长的,你平时有时间开票交税吗? 啊 啊 是 这 样 蛮 长 的 嗯 平 时 有 开 票 交 税 吗 96.50 毫秒 1590MiB 3GB
telephone_short 00:00:20.10 你好,12306有什么可以帮您。欸,你好,我要咨询一下 你 好 幺 二 三 零 六 请 问 什 么 可 以 帮 您 哎 你 好 我 要 咨 询 下 196.79 毫秒 1590MiB 3GB
telephone_long 00:11:16.86 哦 对 登 话 是 企 个 企 业 营 户 证 不 我 我 我 我 办 办 办 在 企 业 业 户 营 办 户 户 户 不 我 我 我 话 现 在 企 办 的 账 话… 5804.39 毫秒 1592MiB 3GB

SenseVoiceSmall 模型转写:

音频名 音频时长 标注文本 转写结果 转写耗时 显存占用 内存占用
telephone_1 00:00:06.64 最近这块资金有需要了解咨询的吗?最近,最近,(后面我也听不清) 最近这块最近有需要了解事情的吗最近最近是有需啊,你不是那个哪哪辆吗啊。😊 1043.98 毫秒 1578MiB 1.2GB
telephone_2 00:00:04.42 嗯,嗯,时间蛮长的,你平时有时间开票交税吗? 啊哦是这样蛮长的。嗯,平时有开票交税吗?😊 53.67 毫秒 1578MiB 1.2GB
telephone_short 00:00:20.10 你好,12306有什么可以帮您。欸,你好,我要咨询一下 你好,12366,请问什么可以帮您哎,你好,我要咨询下。 70.44 毫秒 1578MiB 1.2GB
telephone_long 00:11:16.86 个公税务业执照个工商个记了没有税务的问题的直接描述个工户务搞不懂个发票用需有个搜功能个能有个申请代的是企业业务还是自然业务呢录电子税务的登录是企业业务是自然业务呢登录营业执照户中心户中心户中心去过后有个份换接个工企企业开了个子。😊 2304.22 毫秒 1578MiB 1.2GB

Fun-ASR-Nano 模型转写:

音频名 音频时长 标注文本 转写结果 转写耗时 显存占用 内存占用
telephone_1 00:00:06.64 最近这块资金有需要了解咨询的吗?最近,最近,(后面我也听不清) 最近这块最近有需要了解事情的吗?最近最近是有需要,你不是那个哪哪边呢? 828.42 毫秒 3894MiB 3.1GB
telephone_2 00:00:04.42 嗯,嗯,时间蛮长的,你平时有时间开票交税吗? 啊啊,时间蛮长的。嗯,平时有开票交税吗? 402.94 毫秒 3894MiB 3.1GB
telephone_short 00:00:20.10 你好,12306有什么可以帮您。欸,你好,我要咨询一下 你好,幺二三零六,请问什么可以帮您?哎,你好,我想咨询一下。 485.07 毫秒 3894MiB 3.1GB
telephone_long 00:11:16.86 ,等。等,等,等。等。等,等,等。等,等。等。等,等,等。等。等。等,等。等,等,等,等。等。等。等,等。等。等。等,等,等。等,等,等,等,等,等。等,等,等。等。等,等,等,等,多。等,多,等。多 11641.66 毫秒 27460MiB 3.1GB

这里发现一个问题,当输入长音频的时候,比如上面输入了11分钟多的音频,这个 Fun-ASR-Nano 的显存会涨很多,并且转写结束之后,不会恢复到之前的显存占用大小。并且这个输出的结果是完成不对的,如果使用的是 SenseVoiceSmall 则会进行截断,不会出现完全错误的结果,如果使用的 Paraformer 就会出现大量的重叠字。

image-20251218055003533

5. 总结

准确率(由高到低排序) 转写速度(由快到慢排序) 资源占用(由多到少排序)
Fun-ASR-Nano SenseVoiceSmall Fun-ASR-Nano
SenseVoiceSmall Fun-ASR-Nano Paraformer
Paraformer Paraformer SenseVoiceSmall

6. 其它

Paraformer、SenseVoiceSmall、Fun-ASR-Nano 深度对比测试演示视频可以点击这观看。

基于 205 小时四川话数据集训练的 Paraformer 模型,可点击这里获取。

基于 2231 条客家话数据集训练的 SenseVoiceSmall 模型,可点击这里获取。

Q.E.D.


热爱生活,热爱程序