全部产品

千里传音服务使用说明

更新时间:2021-04-27 11:18:34

概述

“千里传音”服务,是阿里云IoT针对带有语音播报能力的AIoT设备,提供的一个云端一体的解决方案。为播报提醒类设备应用提供从播报语料合成,语料管理,语料推送到设备,播报设备管理等完善功能,配合集成了端侧播报能力的HaaS设备,帮助用户高效完成播报类设备应的开发和长期运行。

“千里传音”服务以项目为单位来帮助客户组织应用和管理设备,以便客户面向不同的用户来管理设备语料更新,以及批量或单个设备语料推送。同时,“千里传音”服务为客户应用提供云端API,通过传入语料组合逻辑,及设备ID,就可以完成对端设备播报的调用,简单省事。借助阿里云IoT平台提供的高并发设备通信能力,帮助客户无忧完成大规模设备部署和长期高可用运行。

image.png

千里传音服务框图

千里传音服务提供能力

  • 项目管理

客户通过项目形式管理不同应用场景中的设备和语料。

  • 智能语料生成

通过人工智能算法帮助客户快速完成文字到固定播报语料的生成,支持wav和mp3格式输出。

  • 语料组合播报

通过远程命令,告知特定设备将本地语料以特定顺序组合后播报,并支持加入动态数字内容。

  • 动态语料合成

支持用户通过API生成动态播报语料,推送到端侧播报。此类语料设备端采用在线播放的形式,将不固化到设备中。

  • 语料空中推送

为客户提供语料空中推送到单个和项目中全量设备的能力,实现设备端固化语料的更新。使设备播报语音内容变得可以运营。

  • 云端API

为客户提供平台能力对应API,以实现上述播报能力的云端控制。

千里传音服务使用步骤

image.png

云端平台使用

您可以通过连接直接访问千里传音产品,或通过阿里云IoT平台->企业物联网平台->控制台->相关产品->AliOSThings设备服务可以进入“千里传音”产品界面。

image.png

创建项目

进入千里传音服务控制台后,可以看到相关管理页面,用户可以在此创建不同的项目以区分设备对应的不同场景或交付项目。

image.png

在项目创建过程中,需要输入项目名称,并对项目进行简单描述,以便后期维护。

image.png

在完成项目创建后,系统将帮助用户创建一个与项目名相同的产品,以便后续加入设备。同时,如果用户希望为设备增加千里传音以外的能力,也可以直接到物联网平台的设备管理界面中,为设备添加物模型能力。

在项目列表中,点击需要配置的项目,可以对项目内容进行配置管理。

语料配置

image.png

创建语料

点击“创建语料”按钮,进行语料创建

image.png

  • 语料标识:将作为生成语料的文件名,以及后续组合播报时的语料组合索引。建议按照播报内容的拼音首字母编写,如:“银行到账”可将语料标识定义为“YHDZ”。

  • 语料内容:需要播报的语料内容。

  • 语音场景:千里传音服务为用户提供了5个场景下的45种不同语音合成能力,用户可以根据场景需求,选择对应的语音进行语料合成。

创建语料

  • 播报速度:选择播报语速。

  • 播报音量:选择语料的默认音量。

  • 试听:试听按钮用于用户对配置的语料进行试听,从而进行参数调整。

管理语料

编辑语料

通过重新输入播报内容选择播报参数,修改语料内容。

image.png

说明

编辑后语料将被改写,在再次下载或推送前,可能会存在相同语料标识云/端内容不一致。

语料试听

用于确认语料播报内容,点击后,会将对应语料播报一次。

下载

下载对应的语料文件。

推送到设备

选择“推送到设备”,可以将当前语料更新到指定设备或项目中全部设备。

image.png

无论是推送到单个设备还是全量设备,系统都会创建一个推送任务,具体的任务完成情况,可以在“推送任务看板”Tab中查看。

批量下载

在通过复选框选择多个语料后,“批量下载”按钮将变为有效。点击“批量下载”按钮,会将选中的语料打包下载。下载后的得到的语料文件名,将会和创建语料时定义的“语料标识”相同,请勿修改文件名。

批量推送

在通过复选框选择多个语料后,“批量推送”按钮将变为有效。点击“批量推送”按钮,可以将选中的语料批量推送至单个或项目中全部设备中。

设备管理

在完成语料构建和管理后,需要在项目中创建设备,以便最终用户的播报应用可以将命令发送到设备端,完成整个播报链路。点击“设备管理”标签,将进入设备管理界面。

image.png

设备创建可以有单个创建和批量创建两种方式。

点击“创建设备”会打开创建单个设备弹窗,并要求用户输入设备相关信息。

image.png

  • DeviceName:英文字符组成的设备名称,设备名称在项目中不可重复。

  • 备注名称:为了便于用户区分设备,给设备赋予的别名。

点击“批量添加”会打开批量创建设备弹窗。

image.png

  • 添加方式

    • 自动生成:指系统将为用户自动生成DeviceName。

    • 批量上传:需要用户通过.csv文件上传自定义的DeviceName。

  • 设备数量:需要批量添加的设备个数。

云端API调用

API列表

API名称:

SpeechByCombination

组合播报调用

请求参数

名称

类型

是否必选

示例值

描述

Action

String

SpeechByCombination

系统规定参数。取值:SpeechByCombination。

IotId

String

Q7uOhVRdZRRlDnTLv****00100

要调用组合播报服务的设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。

(说明,如果传入该参数,则无需传入ProductKey和DeviceName。IotId作为设备唯一标识符,和ProductKey与DeviceName组合是一一对应的关系。 如果您同时传入IotId和ProductKey与DeviceName组合,则以IotId为准。)

ProductKey

String

a1BwAGV****

要调用组合播报服务的设备所隶属的产品ProductKey。(说明,如果传入该参数,需同时传入DeviceName。)

DeviceName

String

test

要调用组合播报服务的设备所隶属的产品DeviceName。( 说明,如果传入该参数,需同时传入ProductKey。)

CombinationList.N

String

"ZFBDZ"

组合播报内容标识符组合,一种是语料标识(可从语料管理控制台界面获取,语料需提前成功推送到设备),另一种是设备支持的动态合成内容。 (说明,设备支持的动态合成内容目前有两种如下:

金额,格式为"{$xxx}",xxx为具体的金额数,如"{$1000}"则设备会播报"一千";

数字:格式为"{Nxxx}",xxx将被拆开播逐个数字播报)

返回数据

名称

类型

示例值

描述

Code

String

iot.system.SystemException

调用失败时,返回的错误码。请参考错误码列表

ErrorMessage

String

An internal error occurred. Try again later.

调用失败时,返回的出错信息。

RequestId

String

671D0F8F-FDC7-4B12-93FA-336C079C965A

阿里云为该请求生成的唯一标识符。

Success

Boolean

true

是否调用成功。true表示调用成功,false表示调用失败。

错误码列表

Code

ErrorMessage

错误描述

iot.system.SystemException

An internal error occurred. Try again later.

系统异常。请稍后重试。

iot.devicespeech.InvalidDevice

invalid device to speech

无效的设备。

iot.devicespeech.DeviceNotActived

device not actived

设备未激活。

iot.devicespeech.DeviceOffline

device is offline

设备离线。

iot.speechsolution.ProjectHasStopped

project has stopped

项目已停用。

iot.devicespeech.ProjectNotFound

project not found

未找到设备所属的项目。

调用示例

组合播报调用示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=SpeechByCombination
&CombinationList.1=ZFBDZ
&CombinationList.2={$123}
&ProductKey=a1BwAGV****
&DeviceName=test
&<公共请求参数>

返回示例

{
    "RequestId":"671D0F8F-FDC7-4B12-93FA-336C079C965A",
    "ErrorMessage":"An internal error occurred. Try again later.",
    "Code":"iot.system.SystemException",
    "Success":"true"
}

在线API调用测试

在线API调试地址,点击尝试。

image.png

完成参数配置后,点击“发起调用”,即可将组合播报命令发送至设备端。

通过SDK调用

通过SDK进行API调用的开发将更加简单快捷,下载SDK参考

设备端接入使用

使用HaaS硬件完成服务接入

1.下载HaaS600Kit千里传音示例代码

关于HaaS600Kit,您可以在HAAS 600 kit使用文档中了解如何使用。

示例代码文件列表:

├── app.js -------------------------------------------- 应用代码
├── app.json ------------------------------------------ 应用配置
├── linkspeech.js ------------------------------------- 应用代码
└── resource ------------------------------------------ 预置音频文件目录
    ├── connected.wav --------------------------------- 服务连接成功提示音
    ├── poweron.wav   --------------------------------- 应用启动提示音
    ├── SYS_TONE_0.wav -------------------------------- 数字0
    ├── SYS_TONE_1.wav -------------------------------- 数字1
    ├── SYS_TONE_2.wav -------------------------------- 数字2
    ├── SYS_TONE_3.wav -------------------------------- 数字3
    ├── SYS_TONE_4.wav -------------------------------- 数字4
    ├── SYS_TONE_5.wav -------------------------------- 数字5
    ├── SYS_TONE_6.wav -------------------------------- 数字6
    ├── SYS_TONE_7.wav -------------------------------- 数字7
    ├── SYS_TONE_8.wav -------------------------------- 数字8
    ├── SYS_TONE_9.wav -------------------------------- 数字9
    ├── SYS_TONE_dian.wav ----------------------------- 点
    ├── SYS_TONE_liang.wav ---------------------------- 两
    ├── SYS_TONE_MEASURE_WORD_bai.wav --------- 百
    ├── SYS_TONE_MEASURE_WORD_qian.wav -------- 千
    ├── SYS_TONE_MEASURE_WORD_shi.wav ---------- 十
    ├── SYS_TONE_MEASURE_WORD_wan.wav --------- 万
    ├── SYS_TONE_MEASURE_WORD_yi.wav ----------- 亿
    ├── SYS_TONE_yao.wav ----------------------------- 幺
    └── yuan.wav -------------------------------------- 元

2. 在千里传音服务控制台创建好设备以后,将三元组填入app.js中的三元组变量中

const productkey = ''; //your productkey
const devicename = ''; //your devicename
const devicesecret = ''; //your devicesecret

3. 将示例代码推送到开发板上运行,服务连接成功后,即可使用语料推送、语音播报等服务。