网站手机app开发,白帽seo,建云购网站吗,网站优化垂直化好还是扁平化好一、介绍一下SenseVoiceSmall
1、什么是SenseVoiceSmall
SenseVoice是多语言音频理解模型#xff0c;支持语音识别、语种识别、语音情感识别、声学事件检测、逆文本正则化等能力#xff0c;采用工业级数十万小时的标注音频进行模型训练#xff0c;保证了模型的通用识别效果…一、介绍一下SenseVoiceSmall1、什么是SenseVoiceSmallSenseVoice是多语言音频理解模型支持语音识别、语种识别、语音情感识别、声学事件检测、逆文本正则化等能力采用工业级数十万小时的标注音频进行模型训练保证了模型的通用识别效果。模型可以被应用于中文、粤语、英语、日语、韩语音频识别并输出带有情感和事件的富文本转写结果。2、怎么下载模型权重SenseVoice 魔搭社区https://www.modelscope.cn/models/iic/SenseVoiceSmall/summarypip install modelscope modelscope download --model iic/SenseVoiceSmall --local_dir ./SenseVoiceSmall二、介绍一下FunASR推理框架1、什么是FunASRFunASR 是由阿里巴巴达摩院推出的一个开源端到端语音识别工具包致力于在学术研究与工业应用之间架起桥梁。它支持语音识别ASR、语音活动检测VAD、标点恢复、语言模型、说话人验证、说话人分离、多说话人语音识别等多种功能并提供丰富的预训练模型和便捷的部署方式非常适合研究者和开发者使用。2、使用音频文件来进行语音识别# 导入FunASR的自动模型类 from funasr import AutoModel # 导入后处理工具用于美化转写结果 from funasr.utils.postprocess_utils import rich_transcription_postprocess # 指定预训练模型路径 model_dir /root/workspace/models/SenseVoiceSamll # 初始化AutoModel实例加载SenseVoice模型及相关配置 model AutoModel( modelmodel_dir, # 模型路径 trust_remote_codeTrue, # 允许加载远程代码 remote_code/root/workspace/SenseVoice/model.py, # 远程模型定义文件 vad_modelfsmn-vad, # 使用FSMN-VAD进行语音活动检测 vad_kwargs{max_single_segment_time: 30000}, # VAD最大分段时长30秒 devicecuda:0, # 使用第一块GPU ) # 对指定音频文件进行语音识别示例为中文音频 res model.generate( inputf{model.model_path}/example/zh.mp3, # 输入音频文件路径 cache{}, # 初始缓存为空 languageauto, # 自动检测语言也可手动指定zh,en,yue,ja,ko,nospeech use_itnTrue, # 启用逆文本规范化ITN batch_size_s60, # 每批处理60秒音频 merge_vadTrue, # 合并VAD分段结果 merge_length_s15, # 合并后每段最长15秒 ) # 使用rich_transcription_postprocess美化转写文本 text rich_transcription_postprocess(res[0][text]) # 打印最终转写结果 print(text)3、使用麦克风收音实时语音识别你要先安装souddevice库pip install sounddevice如果你在Linux系统下sounddevice 依赖系统级的 PortAudio 动态库 libportaudio.so 可以执行下面的代码来解决# 解决方法一使用 Conda 安装 PortAudio conda install -c conda-forge portaudio # 解决方法二使用系统包管理器安装 sudo apt-get update sudo apt-get install -y portaudio19-dev libportaudio2 # 最后重新安装一下 Python 包 pip install -U sounddevice然后下面我给出了一个示例代码# 导入音频输入库 import sounddevice as sd # 导入数值计算库 import numpy as np # 导入深度学习框架 import torch # 从 funasr 库导入自动语音识别模型 from funasr import AutoModel # 初始化 SenseVoice 模型指定模型路径、VAD 模型及参数并启用 CUDA model AutoModel( model/root/workspace/models/SenseVoiceSamll, # 模型权重路径 trust_remote_codeTrue, # 允许加载远程代码 remote_code/root/workspace/SenseVoice/model.py, # 远程模型定义文件 vad_modelfsmn-vad, # 语音活动检测模型 vad_kwargs{max_single_segment_time: 30000}, # VAD 单段最大时长 30 秒 devicecuda:0, # 使用第一块 GPU ) # 初始化缓存字典用于模型推理时保存中间状态 state {} # 定义采样率 16 kHz sr 16000 # 定义每次处理的块时长为 2 秒 block_s 2 # 计算每块对应的采样点数 block_size sr * block_s # 定义音频输入回调函数每次采集到一块数据时自动调用 def callback(indata, frames, time_info, status): # 提取单声道音频数据并复制一份避免只读问题 audio indata[:, 0].copy() # 将 numpy 数组转换为 PyTorch 张量并转为 float32 类型 t torch.from_numpy(audio).float() # 使用模型进行语音识别推理 res model.generate( input[t], # 输入音频张量 cachestate, # 传入缓存状态 languageauto, # 自动检测语言 use_itnTrue, # 启用文本正则化 batch_size_sblock_s, # 每批处理时长 merge_vadTrue, # 合并 VAD 分段 merge_length_s5, # 合并最大长度 5 秒 ) # 提取识别结果中的文本 text res[0][text] # 打印识别到的文本 print(text) # 创建音频输入流指定采样率、通道数、数据类型、块大小及回调函数 with sd.InputStream(sampleratesr, channels1, dtypefloat32, blocksizeblock_size, callbackcallback): # 让程序持续运行 60 秒期间持续监听麦克风输入 sd.sleep(60_000)