模块简介
市面上的TTS语音模块相对较少,在之前的文章中介绍了常用的UVN6288TTS语音模块:
但是这个语音模块音质相对较差,说话时较为机械而且也不便宜。
下面介绍一款海凌科的TTS语音模块HLK-V40, 和UVN6288比起来音质较好而且支持远程播报。
HLK-V40能够实现串口到网络的数据转换,也能实现把文字转换为语音播放出来。
模块封装及引脚如下图:
模块供电要求:5V, >150mA
模块空载运行电流:150+/-50mA
比如常用到的管脚如下:
SP1/SP2接喇叭
PB1接WIFI指示灯
RX1/TX1接UART控制
模块使用
HLK-V40有两种模式,分别是透传模式和AT模式。
透传模式和AT模式的切换方式如下:
- 通过拉低引脚PB2/ES0(拉低时间在50ms到2S之间)进入AT指令模式,在AT指令模式下模块会将收到的数据当作是AT指令进行处理,发送AT指令可以让模式进入透传模式。
- 通过特殊字符切换工作状态
- 在串口中输入“+++”,模块在收到后会返回字符‘a’。
- 模块返回字符‘a’后,需要在1秒内向模块发送字符‘a’,模块返回字符串“OK”进入指令模式。
在AT指令模式下可以查看和修改串口配置at+uart,默认串口波特率为115200bps
设置模块的SSID和密码,默认SSID为HLK-V40_XXXX,密码为12345678
文字转语音播报命令at+play_text,如下示例:
#define TEST_STRING_DEF "at+play_text=欢迎使用远望创客学堂TTS语音模块\r\n"
UART1_SendString((uint8_t*)TEST_STRING_DEF,strlen((char*)TEST_STRING_DEF));
HAL_GPIO_TogglePin(OnBoardLED_GPIO_Port, OnBoardLED_Pin);
HAL_Delay(10000);
串口助手操作示例:
播放音量设置:at+play_vol
HLK-V40 TTS开发板使用
此语音模块为贴片封装不方便使用,为此特做了一个HLK-V40 TTS开发板,如下图所示:
开发板包含电源指示灯,WIFI联网指示灯,电源电路及背部的喇叭,短路帽可以选择使用板载喇叭或者外接喇叭,这个开发板可以当做一个语音模块来使用,非常方便。可以通过手机或者STM32等单片机控制模块播报语音,具体示范可以参考某站视频。