|
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)模块 实验开源代码 |
|
代码解读 一、头文件与全局对象区 行空板内置语音库,同时包含离线语音识别 ASR + 离线语音合成 TTS两套功能,asr对象既能收音识别指令,也能调用speak()文字播报。 行空板 K10 整机硬件驱动库,统一管理屏幕、喇叭、RGB、总线等全部外设。 硬件总控实例,所有屏幕、灯光操作都依靠这个对象。 语音功能实例,负责初始化语音模块、调节语速、文字朗读。 屏幕旋转参数,2 是默认正向显示,可修改 1/2/3/4 切换横竖屏、翻转画面。 二、setup () 上电初始化函数(仅上电运行 1 次) 逐行逻辑: 初始化主板底层硬件,打开 I2S 音频、SPI 屏幕总线、供电电路。 启动语音底层引擎: CONTINUOUS:持续收音模式(语音识别功能开启); CN_MODE:中文模式; 6000:音频缓存 6000 毫秒。 阻塞等待语音模块加载完成:_asrState=0代表未就绪,每 100ms 循环检测,语音模型加载完毕才跳出循环。 设置语音合成播报语速,范围 0~5,数字越大读得越快,2 为标准中等速度。 按照设定方向初始化 LCD 屏幕驱动。 创建绘图缓冲区(画布),所有文字、图形先画在缓存里,再统一刷新到屏幕。 设置画布背景纯白色。 canvasText(文字, 行号, 颜色) 在指定行数绘制文字: 第 4 行红色:行空板 K10 系列实验; 第 6 行蓝色:语音合成。 把画布缓存内容刷新到实体屏幕,不执行该函数,文字不会显示。 三、loop () 无限循环主逻辑(上电初始化后持续循环) 四、单次循环完整流程: asr.speak("行空板K10系列实验"); 调用离线 TTS 语音合成,喇叭读出括号内中文,阻塞执行,朗读完成才会执行下一行代码。 在屏幕第 8 行输出黑色文字,标记当前朗读内容。 刷新屏幕显示文字。 delay(5000) 阻塞等待 5 秒。 语音播报数字123456789。 屏幕第 10 行深绿色文字提示当前朗读数字。 刷新屏幕,阻塞等待 4 秒,随后进入下一轮循环。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed