场景与痛点
技术选型
语音服务商能力POC
Funasr开源项目
图片引用自:funasr
语音转写技术解析
图片引用自:funasr
搭建ASR服务-核心代码示例
实时语音转文本--系统交互流程
语音转文字--示例代码
#fastapi实现离线语音转写接口@app.post('/api/v1/asr')asyncdefturn_audio_to_text(file:UploadFile,lang:Annotated[Language,Form(description="语言类型")]='auto'):#生成格式化文件file_path=awaitconvert_audio(file)try:importlibrosaimportnumpyasnp#加载文件audio_data,_=librosa.load(file_path,sr=16000,mono=True)print(f'file_path:{file_path}')#确保音频数据是float32类型audio_data=audio_data.astype(np.float32)#语音文件转写文本text=model.generate(input=audio_data,language=lang,use_itn=True,batch_size_s=60,merge_vad=True)result_txt=clean_result_label(text[0]['text'])#获取音频元数据try:info=torchaudio.info(file_path)metadata={"sample_rate":info.sample_rate,"num_channels":info.num_channels,"num_frames":info.num_frames,"duration":info.num_frames/info.sample_rateifinfo.sample_rate>0else0,"encoding":str(info.encoding)ifhasattr(info,'encoding')elseNone,"bits_per_sample":info.bits_per_sampleifhasattr(info,'bits_per_sample')elseNone}exceptExceptionasmeta_error:#错误处理...finally:#删除临时文件os.remove(file_path)多语言支持
{"mode":"offline","wav_name":"wav_name","wav_format":"pcm","is_speaking":true,"hotwords":"{}","itn":true,"svs_lang":"zh"}底层模型能力
企业级应用-服务容器化
难点1:语音模型预下载-耗时过长
RUNpython-mfunasr.download.runtime_sdk_download_tool--typeonnx--quantizeTrue--model-nameiic/SenseVoiceSmall-onnx--model_revisionv2.0.5--export-dir/workspace/models
难点2:启动脚本缺少模型版本参数
AI中台-语音服务平台
end
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |