当前位置:   article > 正文

FunASR语音识别快速上手指南

funasr

语音识别技术在人工智能领域扮演着至关重要的角色,它使得人机交互更加自然和便捷。FunASR,作为阿里巴巴开源的一款基础语音识别工具包,旨在弥合学术研究与实际应用之间的技术鸿沟。它不仅提供了强大的功能,如非自回归端到端的语音识别、语音端点检测、标点恢复等,还通过持续的优化和更新,推动了语音识别技术的创新与进步。

FunASR的核心优势

强大的功能集

FunASR集成了多种功能,包括但不限于:

  • 语音识别(ASR):支持多种预训练模型的推理和微调,提供高精度和高效能。
  • 语音端点检测(VAD):自动检测语音片段的开始和结束,提高识别效率。
  • 标点恢复:为识别结果添加标点符号,提升可读性。
  • 语言模型:优化识别结果,适应不同语境。
  • 说话人验证与分离:确认说话人身份,分离多说话人语音。
  • 多人对话语音识别:在复杂语音环境中精准识别。

持续的优化与更新

FunASR团队持续关注学术研究的最新进展,将研究成果转化为实际应用,不断优化模型性能,如引入Qwen-Audio、Qwen-Audio-Chat等大规模模型,以及Whisper-large-v3模型,支持多语言识别和翻译。

多样化的服务

FunASR提供了中文和英文的离线文件转写服务,以及中文实时语音听写服务。这些服务持续进行性能优化,提升VAD处理、内存占用和模型性能。

容易部署的软件包

FunASR的社区软件包支持Windows平台,包含中文和英文离线文件转写服务以及中文实时听写服务,简化了部署流程。

开源模型仓库

FunASR开源了大量在工业数据上预训练的模型,如Paraformer-zh、Paraformer-zh-streaming、Paraformer-en、Conformer-en等,方便用户在ModelScope和Huggingface模型仓库中自由使用。

快速入门指南

  1. 安装FunASR:

    pip3 install -U funasr
    
    • 1
  2. 从源代码安装:

    git clone https://github.com/alibaba/FunASR.git
    cd FunASR
    pip3 install -e .
    
    • 1
    • 2
    • 3
  3. 使用Paraformer-zh模型进行非实时语音识别:

    from funasr import AutoModel
    model = AutoModel(model="paraformer-zh",  vad_model="fsmn-vad", punc_model="ct-punc", 
                   # spk_model="cam++"
                   )
    res = model.generate(input=f"{model.model_path}/example/asr_example.wav", 
             batch_size_s=300, 
             hotword='魔搭')
    print(res)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  4. 使用Paraformer-zh-streaming模型进行实时语音识别:

    from funasr import AutoModel
    
    model = AutoModel(model="paraformer-zh-streaming")
    chunk_size = [0, 10, 5]
    encoder_chunk_look_back = 4
    decoder_chunk_look_back = 1
    
    import soundfile
    import os
    wav_file = os.path.join(model.model_path, "example/asr_example.wav")
    speech, sample_rate = soundfile.read(wav_file)
    chunk_stride = chunk_size[1] * 960 # 600ms
    cache = {}
    total_chunk_num = int(len((speech)-1)/chunk_stride+1)
    for i in range(total_chunk_num):
        speech_chunk = speech[i*chunk_stride:(i+1)*chunk_stride]
        is_final = i == total_chunk_num - 1
        res = model.generate(input=speech_chunk, cache=cache, is_final=is_final, chunk_size=chunk_size,encoder_chunk_look_back=encoder_chunk_look_back, decoder_chunk_look_back=decoder_chunk_look_back)
        print(res)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

结语

FunASR以其全面的功能、易用性和持续的更新,为语音识别的研究和应用提供了有力支持。无论是进行学术研究,还是在实际项目中应用,FunASR都是一个值得深入研究和使用的工具包。如需获取更多帮助或交流,欢迎访问FunASR的GitHub页面或加入钉钉群、微信群。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/996472
推荐阅读
相关标签
  

闽ICP备14008679号