当前位置: 首页 > news >正文

基于ASRPRO的语音对话

 目录

效果展示

前置准备

环境配置

工程分析

识别词

添加播放语音

语音替换


    最近在研究一个小项目,我打算加入语音对话来提高体验度,在上篇文章的基础上趁热打铁便有了这篇文章。

        在本文中,我将介绍如何基于ASRPRO搭建一个简单的语音对话工程。

效果展示

        下面的链接是我初步制作的内容,目前还在改进中。我这里使用的是另一种音频转换发方式,比本文介绍的方法损失的音质较多,请大家自行甄别是否使用ASRPRO。

(PS:语音素材是我自己录制游戏音频剪的,有需求的可以评论区讲一下。)

基于ASRPro做的一个小语音对话助手_哔哩哔哩_bilibili

前置准备

        在开始之前,我们需要做以下准备:

1.安装天问Block,我这里使用的软件版本是2025夏季正式版。

(这是ASRPRO的编程软件,图形化编程,超简单)

2.准备好我们需要的语音。(语音建议大家先做好备份,防止意外丢失)

环境配置

        天问Block安装好之后,我们需要注册一个账号,因为没有账号的话是不允许我们生成语音模型的。

        在设备处,我们选ASRPRO。

        在 项目 下可以选择新建或打开已有工程,这里我随便起一个名字abc,直接保存在桌面上。这时,我们应该会看到工具自动生成的代码。

        然后我们在左侧点击 添加扩展 安装了叫做 播放语音ID 的库。

        除了软件默认的这些图形模块,官方还提供了海量的官方扩展库可用户自己设计的库。通过这个模块我们就可以在逻辑判断的语句体里播放对应的语音。

工程分析

        下图为我前面那个演示的工程,我将通过对这个工程的讲解让大家能上手使用语音识别模块。

        我们先看左边的上电初始化,开头有一个播报音设置,官方提供了很多声音供我们使用,在这个模块还可以修改声音的语速和音量,但是如果我们把全部语音替换掉的话,其实也没什么用,不用管它。

        此外默认情况下还会有上电播放的欢迎词和提示进入休眠状态的退出语音,我这里用不上所以去掉了。

识别词

        往下,我们看到添加识别词这里。识别词就是我们说的话,当模块识别到这个辞职后就会触发相应的逻辑。

唤醒词:当模块检测到该词之后,模块才会对命令词有反应。

命令词:除了在检测到唤醒词之后才能被识别,其他同唤醒词。

        当检测到识别词之后,模块可以回应我们一个语音,在默认状态下该语音就是我们在回复语音输入框内输入的话。我们可以不设置识别词的回复语音,同样识别词的语音也可以被替换,替换方式会在后面讲。

        最后是识别标识ID,它就是我们识别词的标号,应用在后面的逻辑判断里面,比如检测到标识ID为0时,让某个引脚输出高电平。

添加播放语音

        下一部分就是添加语音。同样,在不替换音频的情况下模块会默认播放我们输入的文字。后面的播放ID也是这段语音的标识,也是用于逻辑执行里面。

注意!!!识别词的ID不能和播放语音的ID重复!!!

        在上电初始化里我们还可以进行一些引脚和其他功能的初始化,我这里暂时没有使用那么多功能,所以没有加进来。

        现在让我们看一下右边的一大坨。首先是退出时间,注意,这个退出时间是从最后一个识别词被识别到开始算的。在我现在使用的这个软件版本里,我们可以选择是模块永远不休眠。

        我在这里使用的都是if判断,都是如果识别到某个识别ID,然后播放对应的语音。

        到这里为止,我们的逻辑就写好了,接下来就是替换语音了。

语音替换

         首先,我们需要点击生成模型,生成所有语音,之后在 更多->一键替换语音 处打开如下图界面。

        大家可以看到,左边就是我们可以替换的音频。右边的文件是我添加的,软件支持wav等文件格式,大家不需要担心音频文件太大会导致内存溢出,所有音频文件会通过软件的音频转换功能进行压缩转换,我工程里使用的13条共10M大小的语音经过转换大小为1M,但是音质肯定会有损伤。我使用的模块自带2M的内存,对于一些小功能还是完全够用的。如果你的语音文件很多,可以买一个内存模块连到与语音识别模块上面。

        大家看编号为0的那条语音,这个就是唤醒词的回复语音。10001和10002为欢迎和退出语音,所以为空。

        替换时大家点击替换按键,选择要换上的音频文件即可,最后一键替换就能完成。

        最后连接语音识别模块,点击2M编译下载,等待下载完成我们就能体验我们的成果啦。

http://www.dtcms.com/a/442258.html

相关文章:

  • 女人与狗做网站天津重型网站建设风格
  • 拼图小游戏开发日记 | Day3(已完结)
  • Go 1.25 新特性:正式支持 Git 仓库子目录作为 Go 模块
  • 鸿蒙NEXT Remote Communication Kit:打破设备壁垒,构筑无缝协同体验
  • 那些网站建设的好杭州建站程序
  • 做团购网站企业网站设计调查问卷
  • 基于 RoBERTa + 多策略优化的中文商品名细粒度分类
  • 做翻译兼职的网站是哪个特色的网站建设
  • 山西建设银行招聘网站crm系统的销售管理功能包括
  • 如何在C#中配置ONNX Runtime以确保准确性和目标框位置的正确性?
  • PiscCode使用YOLO识别超大分辨率高清视图实践
  • 力扣2200. 找出数组中的所有 K 近邻下标
  • 文化馆网站建设情况在微信上做彩票网站有哪些
  • 网站301怎么做企业法治建设工作计划
  • list模拟实现(简单版)【C++】
  • 烟台网站建设哪家好呢维护一个网站需要多少钱
  • 什么网站做视频最赚钱wordpress无法使用ajax
  • 对接MCP服务之sse/streamable-http模式
  • springMVC中/*与/**匹配的区别
  • 如何快速学习一个网络协议?
  • 从安装到上手实战——Docker 基础命令全解析
  • 虚拟机怎么做网站昆明seo技术培训
  • 免费dede企业网站模板wordpress qa
  • autodl 安装modelscope OCR 模型 dots_ocr 笔记心得
  • Linux中文件目录结构介绍以及对目录的操作
  • 大庆建设工程交易中心网站唐山建设信息网站
  • 第8章:扩展边界:技术之外的视野(2)
  • Java面向对象练习:Person类继承与排序
  • Day04_刷题niuke20251005
  • 四个字网站 域名网站开发项目进度表