使用ModelScope社区搭建一个录音情感识别小应用

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 本文介绍通过ModelScope来完成“语音情绪识别”这一应用,该应用使用两个模型:● 语音转文本(ASR):paraformer模型● 文本情绪识别:达摩院StructBERT中文情感分类模型

操作步骤

参考快速开始

环境准备

为了更快的体验产品,这里选择了使用ModelScope提供的远程环境,即Notebook进行开发,更加便捷。


模型调试:语音转文本

参考:https://modelscope.cn/#/models/damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflow1/summary

准备语音文件:

  • 只支持wav格式,如果你没有这个格式的文件,请下载格式转换器一类的工具
  • 将wav文件上传至notebook

  • 输入下列代码
frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksinference_16k_pipline=pipeline(
task=Tasks.auto_speech_recognition,
model='damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflow1')
rec_result=inference_16k_pipline(audio_in='xigua2.wav')
print(rec_result)
  • 注意文件的路径,使用相对路径。


模型调试:文本情感分析

参考:https://modelscope.cn/#/models/damo/nlp_structbert_sentiment-classification_chinese-base/summary

直接输入代码

frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTaskssemantic_cls=pipeline(Tasks.sentiment_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')
semantic_cls(input=rec_result["text"])  # 注意,这是上一步语音识别的结果

上面的代码直接引用了第一步语音识别的结果,如果你想单独测试,可以直接给文本输入,例如:

semantic_cls(input="我爱中国")


至此,我们已经在代码层面完成了两个模型的调试和串联,并实现了“语音情绪识别”这一功能。下面,我们通过一个web ui将该功能封装起来,形成一个小的app。

引入web ui

安装gradio:pip install gradio

frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksimportgradioasgrasr=pipeline(
task=Tasks.auto_speech_recognition,
model='damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflow1')
classifier=pipeline(Tasks.sentiment_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')
defspeech_to_text(speech):
text=asr(speech)["text"]
returntextdeftext_to_sentiment(text):
returnclassifier(text)
demo=gr.Blocks()
withdemo:
audio_file=gr.Audio(type="filepath")
text=gr.Textbox()
label=gr.Textbox()
b1=gr.Button("Recognize Speech")
b2=gr.Button("Classify Sentiment")
b1.click(speech_to_text, inputs=audio_file, outputs=text)
b2.click(text_to_sentiment, inputs=text, outputs=text)
demo.launch(share="true")

至此,我们就搭建了一个支持语音识别+文本情绪识别的小应用。

image.png

体验优化建议

  • 文档:
  • 文档中给出的链接不能点击右键开新的窗口,只能在一个页面上切换。
  • 文档本身自带滚动条,与浏览器本身的滚动条重复,屏幕中能看到两套水平和垂直的滚动条,例如:

  • 所有的网页都没有标题,窗口开多了之后就分不清楚哪个是干嘛的了。如下图所示

  • 文档自身目录缺失,对于“快速开始”这样很长的文章,无法按需跳转到目标章节,只能一点点滚动页面。
  • 帮助文档中没有给出进入notebook的方法


相关文章
|
2月前
|
人工智能 自然语言处理 搜索推荐
魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
【2月更文挑战第9天】魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
132 3
|
3月前
ModelScope中huggingface的创空间spaces下gradio应用能获取user id或者uuid吗?
ModelScope中huggingface的创空间spaces下gradio应用能获取user id或者uuid吗?【1月更文挑战第4天】【1月更文挑战第17篇】
50 1
|
3月前
使用ModelScope FunASR官网的体验链接进行10M录音文件的识别
你在使用ModelScope FunASR官网的体验链接进行10M录音文件的识别时,遇到了无法识别的问题【1月更文挑战第8篇】
55 1
|
3月前
要将ModelScope的应用检测模型转换为ONNX格式或RKNN格式
要将ModelScope的应用检测模型转换为ONNX格式或RKNN格式
94 1
|
4月前
|
人工智能 Ubuntu Linux
linux配置魔搭社区modelscope时的whl下载中断问题和解决方案
本文提供了断点续传和手动安装两个方案。
112 3
|
4月前
|
计算机视觉
在ModelScope中,如果您使用图像分类模型进行推理并返回识别的坐标位置
在ModelScope中,如果您使用图像分类模型进行推理并返回识别的坐标位置
120 3
|
4月前
|
数据可视化 测试技术 API
Modelscope Agent实操(三):将API注册为tool,成为smart API,方便社区开发者调用
大家通过写python代码的方式来定制自己的tool,进一步扩展Agent的能力。
|
5月前
|
人工智能 API 云计算
飞天技术观|ModelScope:共建模型生态,以模型自由加速AI应用创新
基于「模型即服务」,即MaaS(ModelasaService)的理念,ModelScope通过不断降低模型应用门槛,让AI更普惠,帮助开发者在ModelScope上能够低成本、高效地使用模型,并建立起良好的模型生态和开发者生态。
407 0
|
7月前
|
人工智能 API 算法框架/工具
课时1:ModelScope社区Library技术架构介绍
课时1:ModelScope社区Library技术架构介绍
388 0
|
9月前
|
人工智能 达摩院 自然语言处理
达摩院联合高德发布业界首个多模态地理文本预训练模型MGeo,并在ModelScope社区开源!
达摩院联合高德发布业界首个多模态地理文本预训练模型MGeo,并在ModelScope社区开源!