语音识别操作流程

  1. 使用音频软件或手机录制语音指令音频文件
  2. 执行语音格式转换及声道合并代码块
  3. 导入ASR工具包及相关工具类
  4. 加载模型,指定语音路径,进行语音识别

录制语音文件

可以通过PC端录音软件或者手机录制语音文件,文件类型需统一转换为wav格式,合并为单声道

  • 通过录音软件Audacity录制
  • 通过手机录制的mp3或m4a格式的音频需要转成wav格式可执行以下转换代码:
import os,sys # 导入操作系统相关模块
folder = 'audiofiles/' # 定义文件夹
from pydub import AudioSegment # 从pydub音频工具库中导入AudioSegment工具类
formats_to_convert = ['.m4a','.mp3'] # 定义需要被转换的语音文件格式
for (dirpath, dirnames, filenames) in os.walk("audiofiles/"):# 从指定文件夹中遍历文件夹路径、名称、及文件名
    for filename in filenames: #遍历所有音频文件
        if filename.endswith(tuple(formats_to_convert)):# 判断如果音频文件后缀是以m4a或者mp3结尾的
            filepath = dirpath + '/' + filename # 定义音频文件完整的路径包含文件名
            (path, file_extension) = os.path.splitext(filepath) # 将文件路径进行切分
            file_extension_final = file_extension.replace('.', '') # 用空来替换“.”,拿到干净的MP3或者m4a字符
            try:
                track = AudioSegment.from_file(filepath,file_extension_final) # 调用AudioSegment工具类中的from_file函数进行语音处理
                wav_filename = filename.replace(file_extension_final, 'wav')# 将mp3/m4a后缀替换成wav后缀
                wav_path = dirpath + '/' + wav_filename#重新组成音频路径
                print('CONVERTING: ' + str(filepath))
                file_handle = track.export(wav_path, format='wav')#将格式转换后的音频文件进行导出
#                 os.remove(filepath)
            except:
                print("ERROR CONVERTING " + str(filepath))           

合并为单声道文件

将转化好的wav格式的音频文件合并为nemo可识别的单声道语音文件,可执行以下代码块:

from pydub import AudioSegment
sound = AudioSegment.from_wav("audiofiles/Bob.wav")
sound = sound.set_channels(1)
sound.export("audiofiles/Bob_mono.wav", format="wav")

导入nemo工具包及asr工具类

import numba
import nemo
import nemo.collections.asr as nemo_asr
# nemo.__version__
# nemo_asr.models.EncDecCTCModel.list_available_models()

加载Quartznet中文版预训练模型

quartznet =
nemo_asr.models.EncDecCTCModel.from_pretrained(model_name="QuartzNet15x5Base-En")

测试模型识别效果

quartznet.transcribe(paths2audio_files=["audiofiles/Bob_mono.wav"])

1

进阶内容

(注:内容来源于NVADA的讲座)2
3

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐