讯飞AIUI智能机器人3---来和机器互动吧(语音技术综合应用)

简介: 讯飞AIUI智能机器人3---来和机器互动吧(语音技术综合应用)

简介

通过 AIUI 的配置及调用,开发一个关于语音合成的智能应用, 让学生了解语音合成技术如何在机器人上使用,同时对语音合成技术的使用途 径和步骤进行详细讲解。最后完成语音的合成。

🍓🍓1、了解 AIUI 开放平台账号申请、应用创建及配置;

🍓🍓2、掌握使用开发套件完成机器人智能应用的开发与调试;

🍓🍓3、掌握语音合成能力接口的调用开发。

内容

🍓🍓1、语音合成技术,将文本内容合成为自然语音,并通过设备发声;

🍓🍓2、语音识别技术,将自然语音通过转写引擎识别为文本内容;

🍓🍓3、语义理解技术,对自然语言文本的理解,识别其具体表达的意思。

步骤

步骤 1:AIUI 开放平台应用添加及设置image.pngimage.png

步骤 2:项目工程搭建及能力包导入image.png

步骤 3:项目 AIUI 能力导入及配置

在完成了工程项目的搭建后,我们需要在项目工程中集成 AIUI 能力,具体 步骤如下:

💥💥1、 首先,导入配置文件,将 aiui.cfg 文件导入到应用工程目录:src/main/assets/cfg/ (该文件示例工程同目录中可获取)。

💥💥2、修改 aiui.cfg 文件中的配置信息,具体如下image.png修改代码中*标识的位置,主要包括 appid,appkey,scene(场景),将 AIUI 平台创建的应用相关信息填入。 同时需要在 AndroidManifest.xml 中完成权限申请image.png

步骤 4:功能代码开发

💥💥1、当应用接收到语音“你是谁”时,通过语音合成文本“我是小途,很高兴 为您服务。”进行回答;

💥💥2、 当应用接收到语音“你会干什么”时,通过语音合成文本“我可以陪你聊 天,为你解答问题,还可以给你唱歌哦。”进行回答。

💥💥3、首先,在的应用工程 MainActivity.java 文件的 onCreate 方法中进行 AIUI 的 能力初始化,并在文件中添加 AIUI 的回调方法;修改页面布局文件,添加一个 ID 为 txtArea 的 TextView 文本控件。


部分代码:

基础功能初始化:


private void init() {
    StarLogAbility.getInstance().initAbility(this);
    //基础能力初始化
    StarCommonAbility.getInstance().initAbility(this,
            RobotType.TYPE_TEACHING, new StarCommonAbility.onResultCallback() {
                @Override
                public void onResult(boolean isSuccess, String hardCode) {
                    if (isSuccess) {
                        //硬件和业务状态初始化
                        switch (hardCode) {
                            case PartCode.HARDWARE_PARTCODE.CODE_EMOJI:
                                //设置初始表情
                                EmojiHelper.doEmojiBase();
                                break;
                            case PartCode.HARDWARE_PARTCODE.CODE_GPIO:
                                //默认加载的时候,将拾音方向设置为默认正前方的0度。
                                GPIOHelper.getInstance().setMainMic(0);
                                break;
                            case PartCode.HARDWARE_PARTCODE.CODE_CENTER_LIGHT:
                                //关闭腹部灯带
                                CenterLightHelper.takeCenterLightOff();
                                break;
                            default:
                                break;
                        }
                    }
                }
            });
}

🎂🎂重写回答(待合成)预料库:

@Override
public void onAiuiResponse(String semantic) {
    Log.i("test", "test:" + semantic);
    if (TextUtils.isEmpty(semantic)) {
        return;
    }
    try {
        JSONObject object = new JSONObject(semantic);
        if (null == object) {
            return;
        }
        JSONObject intentObject = object.optJSONObject("intent");
        if (null == intentObject) {
            return;
        }
        final TextView txtArea = (TextView) findViewById(R.id.txtArea);
        if (intentObject.has("text")) {
            String txt = intentObject.getString("text");
            if (TextUtils.equals(txt, "你是谁")) {
                txtArea.setText("我是小途,很高兴为您服务。");
                SpeechHelper.getInstance().speak("我是小途,很高兴为您服务。");
            } else if (TextUtils.equals(txt, "你会干什么")) {
                txtArea.setText("我可以陪你聊天,为你解答问题,还可以给你唱歌哦。陶士雯,CSDN博主");
                SpeechHelper.getInstance().speak("我可以陪你聊天,为你解答问题,还可以给你唱歌哦。", new TTS.OnSpeakCallback() {
                    @Override
                    public void onSpeak(String s) {
                        //需要在主线程中进行界面元素的修改
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                txtArea.setText("您好,请问有什么可以帮您?");
                            }
                        });
                    }
                });
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

步骤 5:应用权限申请

跟以前在安装 APP 的是就申请了权限不同,Google 在 API 23,也就 Android6.0 之后加入了动态权限。对于一些敏感的权限,决定权交还给了用户, 不再是强制申请了。因为这个原因,如果 APP 需要支持 Android6.0 以上的系 统,就需要进行一下适配,否则 APP 就会崩溃。除了进入设置手动开启权限,还有两种方式让应用获得权限:动态权限申请、 平台签名。本次实验我们采用动态权限申请的方式获得权限。image.png

步骤6:实验结果

首先套件机器接受你输入的语音,然后在事先准备好的问答库中找到问题,找不到问题默认不输出语音。在语音输出的同时界面上也会有相应的文字输出。image.pngimage.png





目录
相关文章
|
14天前
|
人工智能 自然语言处理 算法
具身智能高校实训解决方案 ----从AI大模型+机器人到通用具身智能
在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。高校作为培养未来科技人才的摇篮,需要紧跟这一前沿趋势,开展具身智能实训课程。通过将 AI 大模型与具备 3D 视觉的机器人相结合,为学生搭建一个实践平台。
167 64
|
22天前
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
175 3
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
15天前
|
机器人 API 数据安全/隐私保护
AppFlow:支持飞书机器人调用百炼应用
本文介绍了如何创建并配置飞书应用及机器人,包括登录飞书开发者后台创建应用、添加应用能力和API权限,以及通过AppFlow连接流集成阿里云百炼服务,最后详细说明了如何将机器人添加到飞书群组中实现互动。
|
17天前
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
24 4
|
20天前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
40 0
|
24天前
|
机器人 人机交互 语音技术
智能电销机器人源码部署安装好后怎么运行
销售打电销,其中90%电销都是无效的,都是不接,不要等被浪费了这些的精力,都属于忙于筛选意向客户,大量的人工时间都耗费在此了。那么,有这种新型的科技产品,能为你替代这些基本的工作,能为你提升10倍的电销效果。人们都在关心智能语音客服机器人如何高效率工作的问题,今天就为大家简单的介绍下:1、智能筛选系统:电销机器人目前已经达到一个真人式的专家级的销售沟通水平,可以跟客户沟通,筛选意向,记录语音和文字通话记录,快速帮助电销企业筛选意向客户,大大的节约了筛选时间成本和人工成本。2、高速运转:在工作效率上,人工电销员,肯定跟不上智能语音机器人,机器人自动拨出电话,跟客户交谈。电话机
94 0
|
7月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
145 3
|
28天前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
97 9
|
2月前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
76 2
|
4月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
224 60