本章节将以whisper-medium模型为例,为您介绍该模型的端侧运行流程。
此流程适用于量化后模型直接上板运行的场景,请您先阅读 端侧运行准备 章节做好端侧运行准备并了解模型和示例的对应关系。
whisper-medium仅支持16kHz采样率的单通道音频,且单次识别的最大音频长度为30秒。
在oellm_runtime目录中,whisper-medium使用到的文件和文件夹如下所示:
端侧运行配置文件whisper_config.json可配置参数及说明:
| 参数名称 | 参数说明 | 可选/必选 |
|---|---|---|
model_dir | 参数描述:板端模型存放的文件夹路径 参数类型: string | 必选 |
encode_model_file | 参数描述:encode模型文件名 参数类型: string | 必选 |
decode_model_file | 参数描述:decode模型文件名 参数类型: string | 必选 |
encode_bpu_core | 参数描述:encode模型使用的bpu核,设定多个值时按照[0,1,2,3]填写参数类型: [int] | 必选 |
decode_bpu_core | 参数描述:decode模型使用的bpu核,设定多个值时按照[0,1,2,3]填写参数类型: [int] | 必选 |
vocabulary_path | 参数描述:Tokenizer配置文件路径 参数类型: string | 必选 |
language | 参数描述:识别的语言类型 参数类型: string取值范围: zh:中文,en:英文默认配置: zh | 可选 |
参考配置示例:
示例提供一键运行脚本run_whisper.sh,运行指令参考:
该脚本内容如下:
可执行文件的参数信息:
测试用例0.wav的运行结果:
whisper_demo可直接读取本地音频文件,支持mp3、wav、flac等常见格式,程序会使用essentia的MonoLoader方法,以16khz重采样,并按照float32(-1.0~1.0)的一维vector数组格式,通过xlm_feed_audio_online接口送给ASR模型做推理识别。xlm_feed_audio_online支持送入最大30秒的音频数据,模型推理前会丢弃超时部分并抛出警告。int16_t,则需要先处理成float32格式,通常除以32768并做类型转换即可。