首页 > 媒体中心 > 行研论文 > Pepper 2.9 平板麦克风语音识别的实现

Pepper 2.9 平板麦克风语音识别的实现

1. 安装 Android Studio 开发软件

根据计算机操作系统安装相应的 Android Studio 开发软件。

注意:对于当前平板的 Android 版本,可以使用最新的安装包,但为了更好地适应 Pepper SDK 的开发,建议使用 Android Studio 的 Bumblebee 版本。

2. SDK 集成指南

2.1 SpeechDemo 运行步骤

软银机器人已经打包了 SpeechDemo 应用程序。下载此 Android 项目并导入。它包含一个简单且可执行的演示程序。

图1.png

下载 SDK 后,将其解压到相应的路径。以 Android Studio 集成开发工具为例,建议直接在真实设备上进行测试。

 

方法 1(导入项目):

打开 Android Studio,在菜单栏选择文件 --> 新建 --> 导入项目,使用在线服务功能选择导入 SpeechDemo,如下所示:

图2.png

图3.png

导入成功后,直接在 Android Studio 中运行导入的 Speechdemo。生成的 apk 可以直接安装在相应的 Pepper 机器人上,如下图所示:

图4.png

如果在编译时出现错误 "ERROR: 未找到插件 'com.android.application'",请在您的 build.gradle 文件中添加以下代码。 

"""

       buildscript {

                repositories {

                          google()

                          jcenter()

                }

         dependencies {

                  //Please change the version number according to your own gradle plugin version number

                   classpath 'com.android.tools.build:gradle:3.4.0'

                   // NOTE: Do not place your application dependencies here; they belong

                   // in the individual module build.gradle files

                }

}     

"""

 

方法 2(模块导入):

打开 Android Studio,转到菜单栏文件 --> 新建 --> 导入模块,选择当前解压的 SDK 路径,并使用在线服务功能选择导入 SpeechDemo。导入成功后,运行同步编译。如果编译正确,您可以连接手机,打开 Pepper 端的 USB 开发调试模式,并直接在 Android Studio 中运行导入的 Speechdemo。生成的 apk 可以直接安装在相应的手机上。


2.2 项目集成步骤

2.2.1 SDK 包描述

《Android SDK 目录结构概述》

  • manifests

    • android configuration application permission file

  • sample:

    • related online capability demo (voice dictation IatDemo)

  • assets:

    • SDK related resource configuration file

  • Libs:

    • dynamic library and jar package

  • res:

    • UI file and related layout file xml

  • readme description (must read)

  • release version description

·         manifestsandroid 配置应用程序权限文件

·         sample相关在线功能演示(语音听写 IatDemo)

·         assetsSDK 相关资源配置文件

·         Libs动态库和 jar 包

·         resUI 文件和相关布局文件 xml

·         readme 描述(必须阅读)

·         发布版本描述

 

2.2.2 导入 SDK

将 Android SDK 压缩包中的 libs 目录下的所有子文件复制到 Android 项目的 libs 目录中。如下图所示:

图5.png

注意:

1. arm 版本已淘汰。arm 架构推荐使用 armeabi-v7a。

2. 如果需要将应用程序推送到设备,请将与设备 cpu 指令集相对应的 libmsc.so 推送到 /system/lib。

3. 要集成到项目中,需要将 sdk 中 Demo/src/main/ 下的文件复制到项目的 main 中。以 AS 为例,需要在项目的 main 文件夹中创建 Jnilibs 并将 libmsc.so 复制到其中。

4. msc.jar 需要复制到项目 libs 中,并右键点击 jar 添加为库。

5. sdk 下的 main/assets/ 文件夹有自己的 UI 页面(iflytek 文件夹)和其他相关服务资源文件(语法文件、音频示例、词汇表)。当使用内置 UI 界面时,可以将 assets/iflytek 文件复制到项目中;

 

2.2.3 添加用户权限

在项目的 AndroidManifest.xml 文件中添加以下权限


"""

<!--Connect to the network, used to execute cloud voice capabilities -->

<uses-permission android:name="android.permission.INTERNET"/>

<!--Get the permission to use the mobile phone recorder. This permission is required for dictation, recognition, and semantic understanding -->

<uses-permission android:name="android.permission.RECORD_AUDIO"/>

<!--Read network information status -->

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<!--Get the current wifi status -->

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<!--Allow the program to change the network connection status -->

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

<!--Read mobile phone information permission -->

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<!--Read contacts permission, this permission is required to upload contacts -->

<uses-permission android:name="android.permission.READ_CONTACTS"/>

<!--External storage write permission, this permission is required to build the syntax -->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!--External storage read permission, this permission is required to build the syntax -->

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<!--Configuration permissions, used to record application configuration information -->

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

<!--Mobile phone location information is used to provide location for semantic functions and provide more accurate services-->

<!--Location information is sensitive information, and you can turn off the location request through Setting.setLocationEnable(false) -->

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<!--If you need to use face recognition, you also need to add: camera permissions, which are required for taking photos -->

 

<uses-permission android:name="android.permission.CAMERA" />

"""

注意:如果您在打包或生成 APK 时需要混淆,请在 proguard.cfg 中添加以下代码:


"""

-keep class com.iflytek.**{*;}

-keepattributes Signature

"""


2.2.4 初始化

初始化意味着创建一个语音配置对象。只有在初始化之后,您才能使用 MSC 的各种服务。建议将初始化放在程序入口(例如应用程序和活动的 onCreate 方法)中。初始化代码如下:

"""

// Replace "12345678" with the APPID you applied for, application address: http://www.xfyun.cn

// Do not add any empty characters or escape characters between "=" and appid

SpeechUtility.createUtility(context, SpeechConstant.APPID +"=12345678");

"""

相关推荐

快人一步了解软银及机器人产品信息

想了解更多?

联系我们以获得更多产品资讯

首页 / 媒体中心 / 行研论文 / Pepper 2.9 平板麦克风语音识别的实现