|
7| 7
|
[K10教程] 【花雕动手做】行空板K10实验之调用语音合成TTS天黑点灯 |
![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好 ![]() |
![]() 知识点:行空板 K10 离线语音合成(TTS)介绍 1、底层方案 依托 ESP-SR 语音套件内置esp-tts轻量化离线语音合成引擎,无需 WiFi 联网,文字本地实时转人声,依托板载喇叭直接发声。 2、功能能力 仅支持中文汉字、数字、常用标点朗读;内置小新、小乐两种人声音色;提供 0–5 级语速调节;支持短句、长文本流式合成播放,自带停顿逻辑。 3、硬件配套 板载集成扬声器,无需外接音频设备;共用芯片 PSRAM 内存资源,与离线语音识别 ASR 存在内存抢占冲突,二者无法同时运行,同时初始化会内存报错、设备反复重启。 4、资源占用 单独运行 TTS 仅占用约 3MB PSRAM,程序运行稳定;若搭配屏幕、传感器,内存余量会进一步缩减,不建议叠加 AI 视觉模型。 5、开发形式 Mind + 提供图形化语音合成积木,底层封装规避指针崩溃问题;也可调用playText.h底层库手写代码,仅推荐纯播报场景使用。 6、适用场景 设备状态语音播报、文字朗读、交互提示、温湿度 / 数字信息语音输出;适合不需要语音指令识别、仅单向发声的项目。 7、短板 无英文朗读能力;人声存在轻微机械拼接感,自然度弱于云端 TTS;无法和离线语音识别共存,有双向语音交互需求只能选用联网在线语音方案。 ![]() |
|
【花雕动手做】行空板 K10 系列实验之人工智能调用语音合成 TTS 天黑点灯 实验开源代码 |
|
代码解读 一、整体项目功能 这是行空板 K10 智能光控灯光项目: 利用板载环境光传感器实时检测亮度。 当环境光线变暗(传感器数值<50),RGB 白光自动点亮,屏幕弹出提示文字,喇叭通过离线语音合成说出:天黑点灯; 保持 2 秒后自动关灯、清空屏幕,循环持续检测光照。 全程使用本地离线 TTS 语音,不需要连接 WiFi。 二、分段代码解析 1. 头文件与对象定义 #include "asr.h":语音库,同时包含离线语音识别 + 文字转语音(TTS 播报)。 #include "unihiker_k10.h":行空板硬件总库,封装屏幕、环境光传感器、RGB 彩灯、音频喇叭。 k10:主控硬件实例,操作所有板载外设。 asr:语音功能实例,用来实现文字朗读。 screen_dir=2:设置屏幕为正向显示。 2. setup () 上电初始化(只运行一次) k10.begin():初始化主板底层硬件,开启传感器、音频、屏幕总线。 asr.asrInit(...):启动语音引擎 CONTINUOUS:持续语音识别模式 CN_MODE:中文模式 6000:音频缓存时长 6 秒 while(asr._asrState == 0):程序阻塞等待,直到语音模型加载完毕,防止语音未就绪就调用播报。 asr.setAsrSpeed(2):设置朗读语速,档位 0~5,2 为正常语速。 后续代码:初始化显示屏,创建绘图画布,把屏幕底色设置为纯黑色。 重要隐患:这里开启了持续语音识别功能,会占用大量内存,和 TTS 合成一起运行极易造成内存溢出,开发板反复重启崩溃。 3. loop () 主循环(无限反复执行) 在画布上打印两行标题文字; updateCanvas():将文字刷新显示到液晶屏; 延时 1 秒。 k10.readALS():读取板载环境光传感器数值。光线越暗,数值越小。 判断条件:亮度小于 50,判定为天黑。 条件成立:RGB 灯全开白光,屏幕输出提示文字。 asr.speak("天黑点灯"):调用离线语音合成,喇叭读出这句话。 灯光和文字保持 2 秒。 关闭所有 RGB 彩灯; 清空画布上所有文字; 刷新黑屏画面,进入下一轮循环检测。 三、代码优点 硬件调用简洁,直接调用板载环境光传感器,不需要外接模块; 语音为本地离线播报,不用联网; 逻辑清晰:光线判断→亮灯→文字提示→语音播报→延时关灯。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed