TinyTTS -神经模块,使照片说话
扫描二维码
随时随地手机看文章
当我们翻看老照片时,我们的脑海里充满了各种声音——厨房里的笑声,火车站的嗡嗡声,有人说“记得吗?”我们建造这个项目是为了让那些声音回归,而不仅仅是活在记忆中。现在一张图片就能说明一切——简短而温暖的短语,比如你爱的人又在那里了。
它开始于一个家庭故事讲述者:一些童年的照片,几句关于有趣的时刻-按下播放,和框架说话,完全离线。然后就有了“谈论地点”的想法:打开一张旅行快照,听到一个故事的低语——就好像这个城市本身告诉你下一步要去哪里
所有这些都完全在设备上运行——没有云,没有延迟。语音是在框架内的TinyTTS模块上生成的。你是导演:控制节奏、停顿和顺序——或者只是让故事展开。公式很简单:照片+文字→语音。就是这样。剩下的就是情感了。
我们不只是分享一个教程——我们给你一个模板,为你自己的故事:家庭,博物馆,旅游,教育。添加几行,按下播放键,当框架开始说话时,表盘就会亮起来。它第一次说话的时候,真的感觉像变魔术一样。
快速开始-准备演示
准备好立即启动的二进制文件。
你需要
•TinyTTS套件(Elecrow或Tindie) -具有嵌入式神经TTS的MCU模块
•CrowPanel Advanced (Elecrow) (ESP32-S3显示控制器)
•扬声器-连接到TinyTTS音频输出
1.通过USB/Serial连接CrowPanel (ESP32-S3)到您的计算机。将面板的功能选择开关设置为“WM(0,1)”(UART1-OUT模式)。
暂时不要连接tinyTTS模块。
2.刷新固件。
选项A -使用预构建映像:在固件/中,选择Binaries_album /用于相册场景,或者Binaries_travel /用于旅行场景。
使用提供的Flash(参见firmware/flash_tool.md)进行Flash。
选项B -从源代码构建:安装ESP-IDF v5.4,克隆repo,选择components/ui/scenario_build.h中的场景,然后运行:
3.闪烁后:用4针电缆将tinyTTS模块连接到CrowPanel (UART0↔UART1-OUT)。将tinyTTS的音频输出(3.5毫米插孔)连接到扬声器或耳机。
4.运行演示:
屏幕上显示一张照片卡。
按播放-卡文本是由tinyTTS说。
按“→”-下一张牌出现(循环列表)。
它是如何工作的
大多数“会说话”的项目都是从云端传输音频。这一个显示了真正的设备上的TTS -真正的语音,完全产生在一个微控制器上。
CrowPanel处理UI、SD读取、模式切换和UART传输。
TinyTTS通过UART接收线路,生成语音,完成信号。
数据流程:CrowPanel (UART)→TinyTTS→Speaker
•CrowPanel读取图像和文本文件。
•文本通过UART发送到TinyTTS。
•TinyTTS生成语音。
•音频输出从TinyTTS进入扬声器。
•一切都完全脱机运行。
制作你自己的专辑——例子:第三
(根据《添加场景指南》)
1. 创建场景文件夹
在存储库根目录下,添加:
每个场景必须遵循命名约定:小写场景名称= third。
2. 在代码中启用场景
只有一个场景可以设置为1。
3. 增加资产
将.bin图像(RAW格式)放置在inesppiffs_root /assets_third/中。
您可以使用SquareLine Studio或LVGL图像转换器(颜色格式:真彩色(RGB565),输出:二进制)生成它们。
4. 添加文字和视觉效果
文本:创建components/ui/ builtin_texts_thirdc -定义kThirdTexts[]数组与您的文本字符串。
视觉:创建components/ui/third/ visuals_thirdc -将每个文本映射到图像(从img_third_*.c导入)。
例子:
5. 更新CMakeLists.txt
将新块添加到components/ui/CMakeLists.txt中:
6. 构建和Flash
清理、构建和刷新:
期望的日志输出:
接下来是什么
同样的设置可以演变成博物馆指南、教育工具包、会说话的玩具或家庭展示——所有这些都可以完全离线运行。
没有互联网,没有延迟,没有云依赖-只有本地语音和逻辑,你可以适应任何讲故事的场景。
今天就开始创作你的谈话相册的第一章。Flash ready demo,加载5张照片和5条短线,按Play。
剩下的故事——你会在路上发现的。
本文编译自hackster.io





