From 7bc3cb871b6e3216cd40c9e4afd5d72f586f1f9c Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Sat, 18 Mar 2023 13:31:07 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=20(<=E6=B5=8B=E8=AF=95>):=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit <修改点详述>测试 固件版本: 测试 是否需要文案翻译: 否 --- .gitignore | 2 +- build.sh | 0 .../zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 build.sh diff --git a/.gitignore b/.gitignore index 6cfb5ab4..9dc9cebc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,5 @@ __pycache__ *.egg-info dist .ipynb_checkpoints/ - +build.sh diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" index d94033d1..414529a4 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" @@ -54,7 +54,7 @@ if __name__ == '__main__': tts.close() # 关闭TTS功能 ``` -## 构造函数 +## 构造函数-wgw ### `audio.TTS` -- Gitee From 5b53feb20b23428488ee299b19a64bee543d6c8a Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Sat, 18 Mar 2023 13:46:03 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=20(<=E5=8A=9F=E8=83=BD=E8=8C=83?= =?UTF-8?q?=E5=9B=B4>):=20<=E4=BF=AE=E6=94=B9=E7=82=B9=E7=AE=80=E8=BF=B0>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit <修改点详述>(可选) 固件版本: N/A 是否需要文案翻译: 是/否 --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9dc9cebc..d982f150 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,3 @@ __pycache__ dist .ipynb_checkpoints/ build.sh - -- Gitee From 64906abd3a1d5e68198e579777c160f8132ceed7 Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Sat, 18 Mar 2023 13:47:39 +0800 Subject: [PATCH 3/6] =?UTF-8?q?<=E6=92=A4=E9=94=80>=20(<=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=8C=83=E5=9B=B4>):=20<=E4=BF=AE=E6=94=B9=E7=82=B9=E7=AE=80?= =?UTF-8?q?=E8=BF=B0>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit <修改点详述>(可选) 固件版本: N/A 是否需要文案翻译: 是/否 --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d982f150..9dc9cebc 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ __pycache__ dist .ipynb_checkpoints/ build.sh + -- Gitee From 3192261c478585eaaa889a88570257151327f45e Mon Sep 17 00:00:00 2001 From: "burols.wang" Date: Wed, 24 May 2023 16:20:57 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=20(sim):=20=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E9=94=99=E5=88=AB=E5=AD=97=EF=BC=8C=E6=A0=87=E7=82=B9=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7=E9=94=99=E8=AF=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 否 --- .../zh/QuecPython\347\261\273\345\272\223/sim.md" | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" index 7ecfb7b7..fac0357e 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" @@ -153,7 +153,7 @@ sim卡状态码,整型值,具体说明如下: | 8 | SIM卡已锁定,等待CHV2密码 | | 9 | SIM卡被阻拦,需要CHV2解锁密码 | | 10 | 由于网络个性化检查失败,SIM卡被锁定 | -| 11 | 由于NCK不正确,SIM卡被阻栏,需要MEP解锁密码 | +| 11 | 由于NCK不正确,SIM卡被阻拦,需要MEP解锁密码 | | 12 | 由于子网络锁个性化检查失败,SIM卡被锁定 | | 13 | 由于错误的NSCK,SIM卡被阻拦,需要MEP解锁密码 | | 14 | 由于服务提供商个性化检查失败,SIM卡被锁定 | @@ -161,7 +161,7 @@ sim卡状态码,整型值,具体说明如下: | 16 | 由于企业个性化检查失败,SIM卡被锁定 | | 17 | 由于CCK不正确,SIM卡被阻止,需要MEP解锁密码 | | 18 | SIM正在初始化,等待完成 | -| 19 | 使用CHV1/CHV2通用PIN码解锁CHV1码,解锁CHV2码进而来解锁PIN被阻拦 | +| 19 | 有以下六种情况会导致此错误返回码。
1、由于CHV1、CHV2、通用的PIN的使用被阻拦,此三种情况。
2、由于使用代码解锁CHV1、CHV2、通用的PIN被阻拦,此三种情况。| | 20 | SIM卡无效 | | 21 | 未知状态 | @@ -179,7 +179,7 @@ sim.enablePin(pin) **参数描述:** -- `pin` - PIN码,字符串类型,一般默认是‘1234’,最大长度不超过15位数字。 +- `pin` - PIN码,字符串类型,一般默认是"1234",最大长度不超过15位数字。 **返回值描述:** @@ -204,7 +204,7 @@ sim.disablePin(pin) **参数描述:** -- `pin` - PIN码,字符串类型,一般默认是‘1234’,最大长度不超过15位数字。 +- `pin` - PIN码,字符串类型,一般默认是"1234",最大长度不超过15位数字。 **返回值描述:** @@ -230,7 +230,7 @@ PIN码验证:用于SIM卡开启PIN码验证后,如果需要启用SIM卡, **参数描述:** -- `pin` - PIN码,字符串类型,一般默认是‘1234’,最大长度不超过15位数字。 +- `pin` - PIN码,字符串类型,一般默认是"1234",最大长度不超过15位数字。 **返回值描述:** -- Gitee From aea3132fef4cb0b6b27500a818bf6aef928e1e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=9B=BD=E4=BC=9F?= Date: Wed, 24 May 2023 11:30:12 +0000 Subject: [PATCH 5/6] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20docs?= =?UTF-8?q?/API=5Freference/zh/QuecPython=E7=B1=BB=E5=BA=93/audio.TTS.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../audio.TTS.md" | 419 ------------------ 1 file changed, 419 deletions(-) delete mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" deleted file mode 100644 index df060b5f..00000000 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/audio.TTS.md" +++ /dev/null @@ -1,419 +0,0 @@ - - -# class TTS - 文本到语音播放 - -该类提供从文本到语音播放功能。 - -> 目前支持型号:EC600N系列、EC800N系列、EC600M-CN(LA、LE)、EC800M-CN(LA、LE、GA)、EC600U-CN系列、EC200U-CN系列。 - -**示例:** - -```python -# -*- coding: UTF-8 -*- -''' -@Description: example for class TTS -@FilePath: example_tts_file.py -''' -import log -from audio import TTS -import utime - - -''' -下面两个全局变量是必须有的,用户可以根据自己的实际项目修改下面两个全局变量的值 -''' -PROJECT_NAME = "QuecPython_TTS_example" -PROJECT_VERSION = "1.0.0" - -# 设置日志输出级别 -log.basicConfig(level=log.INFO) -tts_Log = log.getLogger("TTS") - -#定义回调函数 -def UsrFunc(event): - if event == 2: - print("开始播放") - elif event == 3: - print("停止播放") - elif event == 4: - print("播放完成") - -if __name__ == '__main__': - # 参数1:device (0:听筒,1:耳机,2:喇叭) - tts = TTS(1) - - #注册用户回调函数 - tts.setCallback(UsrFunc) - - # 获取当前播放音量大小 - volume_num = tts.getVolume() - tts_Log.info("Current TTS volume is %d" %volume_num) - - # 设置音量为6 - volume_num = 6 - tts.setVolume(volume_num) - - # 参数1:优先级 (0-4) - # 参数2:打断模式,0表示不允许被打断,1表示允许被打断 - # 参数3:模式 低四位:(1:UNICODE16(Size end conversion) 2:UTF-8 3:UNICODE16(Don't convert)),高四位:wtts_enable,wtts_ul_enable, wtts_dl_enable - # 参数4:数据字符串 (待播放字符串) - tts.play(1, 1, 2, 'QuecPython') # 执行播放 - tts.play(1,1,tts.wtts_enable|tts.wtts_ul_enable|2, '12345') - tts.close() # 关闭TTS功能 -``` - -## 构造函数-wgw - -### `audio.TTS` - -```python -class audio.TTS(device) -``` - -创建TTS对象。 - -**参数描述:** - -- `device` - 输出通道,int类型,0表示听筒,1表示耳机,2表示喇叭。具体模块所支持通道详见下表。 - -**模块输出通道对应表:** - -| 模块型号 | 听筒 | 耳机 | 喇叭 | -| --------------------- | ------ | ------ | ------ | -| EC600N系列 | 支持 | 不支持 | 不支持 | -| EC800N系列 | 支持 | 不支持 | 不支持 | -| EC600M-CN(LA、LE) | 支持 | 不支持 | 不支持 | -| EC800M-CN(LA、LE、GA) | 支持 | 不支持 | 不支持 | -| EG915N | 支持 | 不支持 | 不支持 | -| EG912N | 支持 | 不支持 | 不支持 | -| EG912U | 支持 | 不支持 | 不支持 | -| EC200U系列 | 不支持 | 不支持 | 支持 | -| EC600U-CN系列 | 支持 | 支持 | 支持 | -| EG915U | 支持 | 支持 | 不支持 | - -## 方法 - -### `TTS.close` - -```python -TTS.close() -``` - -该方法用于关闭TTS功能。 - -**返回值描述:** - -`0` 表示关闭成功,`-1`表示关闭失败。 - -### `TTS.play` - -```python -TTS.play(priority, breakin, mode, str) -``` - -该方法用于开始语音播放。点此查看TTS.play方法使用实例。 - -支持优先级0 ~ 4,数字越大优先级越高,每个优先级组可同时最多加入10个播放任务;播放策略说明如下: - -1. 如果当前正在播放任务A,并且允许被打断,此时有高优先级播放任务B,那么会打断当前低优先级播放任务A,直接播放高优先级任务B。 - -2. 如果当前正在播放任务A,并且不允许被打断,此时有高优先级播放任务B,那么B播放任务将会加入到播放队列中合适的位置,等待A播放完成,再依次从队列中按照优先级从高到低播放其他任务。 - -3. 如果当前正在播放任务A,且不允许被打断,此时来了一个同优先级播放任务B,那么B会被加入到该优先级组播放队列队尾,等待A播放完成,再依次从队列中按照优先级从高到低播放其他任务。 - -4. 如果当前正在播放任务A,且允许被打断,此时来了一个同优先级播放任务B,那么会打断当前播放任务A,直接播放任务B。 - -5. 如果当前正在播放任务A,且任务A的优先级组播放队列中已经有几个播放任务存在,且该优先级组播放队列最后一个任务N是允许被打断的,此时如果来了一个同样优先级的播放任务B,那么任务B会直接覆盖掉任务N;也就是说,某个优先级组,只有最后一个元素是允许被打断的,即breakin为1,其他任务都是不允许被打断的。 - -6. 如果当前正在播放任务A,不管任务A是否允许被打断,此时来了一个优先级低于任务A的请求B,那么将B加入到B对应优先级组播放队列。 - -**参数描述:** - -- `priority` - 播放优先级,int类型。支持优先级0 ~ 4,数值越大优先级越高。 -- `breakin` - 打断模式,int类型。0表示不允许被打断,1表示允许被打断。 -- `mode` - 模式,int类型。由低四位和高四位构成,其中低四位是编码模式,高四位是WTTS模式。点此查看TTS模式说明表。 -- `str` - 待播放字符串,string类型。 - -**返回值描述:** - -`0` 表示播放成功; - -`-1`表示播放失败; - -`1` 表示无法立即播放,加入播放队列; - -`-2`表示无法立即播放,且该请求的优先级组队列任务已达上限,无法加入播放队列。 - -**TTS模式说明表:** - -| 模式 | 说明 | -| -------- | ------------------------------------------------------------ | -| 编码模式 | 1 - UNICODE16(UTF-16大端模式)
2 - UTF-8
3 - UNICODE16(UTF-16小端模式) | -| WTTS模式 | 仅600N系列支持VOLTE的版本支持,
wtts_enable - wtts总开关
wtts_ul_enable - wtts上行使能
wtts_dl_enable - wtts下行使能 | - -**TTS.play方法使用实例:** - -- **TTS播放策略实例:** - -```python ->>> import audio ->>> tts = audio.TTS(1) -# case1:正在播放任务A,且A允许被打断,此时任务B到来,且优先级高于任务A,那么A会被打断,直接播放B ->>> tts.play(1, 1, 2, '111') #任务A -0 ->>> tts.play(2, 0, 2, '222') #任务B -0 - -# case2:正在播放任务A,且A不允许被打断,此时任务B到来,且优先级高于任务A,那么B会被加入播放队列,等待A播放完成播放B(假设播放队列之前为空) ->>> tts.play(1, 0, 2, '111') #任务A -0 ->>> tts.play(2, 0, 2, '222') #任务B -1 - -# case3:正在播放任务A,且A允许被打断,此时任务B到来,且优先级和A优先级一样,那么A会被打断,直接播放B ->>> tts.play(2, 1, 2, '222') #任务A -0 ->>> tts.play(2, 0, 2, '333') #任务B -0 - -# case4:正在播放任务A,且A不允许被打断,此时任务B到来,且优先级和A优先级一样,那么B会被加入播放队列,等待A播放完成播放B(假设播放队列之前为空) ->>> tts.play(2, 0, 2, '222') #任务A -0 ->>> tts.play(2, 0, 2, '333') #任务B -1 - -# case5:正在播放A,且A不允许被打断,此时任务B到来,且任务B允许被打断,优先级与A相同,那么任务B会被加入到播放队列中,此时任务C到来,且优先级和A、B相同,此时C会被加入播放队列中,且直接覆盖率任务B,A播放完成下一个播放的是C(假设播放队列之前为空) ->>> tts.play(2, 0, 2, '222') #任务A -0 ->>> tts.play(2, 1, 2, '333') #任务B -1 ->>> tts.play(2, 0, 2, '444') #任务C -1 - -# 播放UTF16BE模式的语音 ->>> tts.play(1,1,1,'6B228FCE4F7F752879FB8FDC901A4FE16A2157573002') -0 - -# 播放UTF16LE模式的语音 ->>> tts.play(1,1,3,'226BCE8F7F4F2875FB79DC8F1A90E14F216A57570230') -0 - -# 支持VOLTE的版本,可以播放tts到远端 ->>> import voiceCall ->>> voiceCall.callStart('1xxxxxxxxxx') -0 - -# 待电话接通后 -# 播放tts语音至通话远端 ->>> tts.play(1,1,tts.wtts_enable|tts.wtts_ul_enable|2, '12345') -0 -``` - -- **TTS播放中文示例:** - - > python文件开头需要加上`# -*- coding: UTF-8 -*-`。 - -```python -# -*- coding: UTF-8 -*- -import audio - -tts = audio.TTS(1) -str1 = '移联万物,志高行远' -tts.play(4, 0, 2, str1) -``` - -- **TTS播放文本标注实例:** - - 如遇TTS播放时不能达到预期的,可以通过文本标注的方式让TTS播放符合预期。 - - 数字播放的方式: - -```python -# 格式:[n*] (*=0/1/2) -# TTS引擎自动决定是以号码形式播放还是以数值的形式播放 ->>> tts.play(1,1,2, '12345') -0 - -# TTS引擎以号码形式播放 ->>> tts.play(1,1,2, '[n1]12345') -0 - -# TTS引擎以数值形式播放 ->>> tts.play(1,1,2, '[n2]12345') -0 -``` - -- **TTS语速设置实例:** - -```python -# 格式:[s*] (*=0 ~ 10) -# TTS引擎以默认语速5播放语音 ->>> tts.play(1,1,2, '12345') -0 - -# TTS引擎以默认语速的一半播放语音 ->>> tts.play(1,1,2, '[s0]12345') -0 - -# TTS引擎以默认语速的2倍语速播放语音 ->>> tts.play(1,1,2, '[s10]12345') -0 -``` - -- **TTS语调设置实例:** - -```python -# 格式:[t*] (*=0 ~ 10) -# TTS引擎以默认语调5播放语音 ->>> tts.play(1,1,2, '12345') -0 - -# TTS引擎以默认语调基频减64Hz播放语音 ->>> tts.play(1,1,2, '[t0]12345') -0 - -# TTS引擎以默认语调基频加128Hz播放语音 ->>> tts.play(1,1,2, '[t10]12345') -0 -``` - -- **汉字指定拼音实例:** - -```python -# 格式:[=*] (*=拼音) -# 汉字:声调用后接一位数字 1 ~ 5 分别表示 阴平、阳平、上声、去声和轻声 5个声调。 ->>> tts.play(1,1,2, '乐[=le4]') -0 - ->>> tts.play(1,1,2, '乐[=yue4]') -0 -``` - - - -### `TTS.stop` - -```python -TTS.stop() -``` - -该方法用于停止TTS播放。 - -**返回值描述:** - -`0` 表示成功,`-1`表示失败。 - -### `TTS.stopAll` - -```python -TTS.stopAll() -``` - -该方法用于停止整个队列的播放。即当前如果正在播放TTS或者音频,并且队列中还有其他待播放内容,调用该方法后,不仅会停止当前播放的内容,还会清除这个队列的内容,不再播放任何内容。如果当前正在播放,且播放队列为空,那么调用该方法效果等同与stop()接口。 - -**返回值描述:** - -`0` 表示成功,`-1`表示失败。 - -### `TTS.setCallback` - -```python -TTS.setCallback(cb) -``` - -该方法用于注册用户的回调函数,用于通知用户TTS播放状态。 - -> 该回调函数中不要进行耗时以及阻塞性的操作,建议只进行简单、耗时短的操作。 - -**参数描述:** - -- `cb` - 用户回调函数,function类型,函数原型: - - ```python - def cb(event): - pass - ``` - - **回调函数参数描述**: - - - `event` - 播放状态,int类型,点此查看回调函数参数event说明表。 - -**返回值描述:** - -`0` 表示成功,`-1`表示失败。 - -**回调函数参数event说明表:** - -| event | 表示状态 | -| ----- | -------- | -| 2 | 开始播放 | -| 3 | 停止播放 | -| 4 | 播放完成 | - -### `TTS.getVolume` - -```python -TTS.getVolume() -``` - -该方法用于获取当前播放音量大小,音量值在区间[0 ~ 9],0表示静音,默认值4。 - -**返回值描述:** - -成功则返回整型音量大小值,`-1`表示失败。 - -### `TTS.setVolume` - -```python -TTS.setVolume(vol) -``` - -该方法用于设置播放音量大小,音量值应在区间[0 ~ 9],0表示静音。 - -**参数描述:** - -- `vol` - 音量大小,int类型,区间[0 ~ 9]。 - -**返回值描述:** - -`0` 表示成功,`-1`表示失败。 - -### `TTS.getSpeed` - -```python -TTS.getSpeed() -``` - -该方法用于获取当前播放速度,速度值在区间[0 ~ 9],值越大,速度越快,默认值4。 - -**返回值描述:** - -成功则返回整型音量大小值,`-1`表示失败。 - -### `TTS.setSpeed` - -```python -TTS.setSpeed(speed) -``` - -该方法用于设置TTS播放速度,速度值应在区间[0 ~ 9]。 - -**参数描述:** - -- `speed` - 速度值,int类型,区间[0 ~ 9]。 - -**返回值描述:** - -`0` 表示成功,`-1`表示失败。 - -### `TTS.getState` - -```python -TTS.getState() -``` - -该方法用于获取TTS状态。 - -**返回值描述:** - -`0` 表示当前无tts播放,`-1`表示当前有tts正在播放。 \ No newline at end of file -- Gitee From a01be55bd6720ddffa055cc6e3ef670cef4f938d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=9B=BD=E4=BC=9F?= Date: Wed, 24 May 2023 11:30:20 +0000 Subject: [PATCH 6/6] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20.git?= =?UTF-8?q?ignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9dc9cebc..00000000 --- a/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -out -build -temp -__pycache__ -*.egg-info -dist -.ipynb_checkpoints/ -build.sh - -- Gitee