🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 系统内置功能模块说明 >[info] 自美系统已经将语音唤醒、语音合成、语音转文字、设备网关等作为系统级插件提供。 各个模块之间同样是使用消息机制传递信息的。有关消息机制请参考[插件消息机制](http://docs.16302.com/2987119) ## 系统模块目录结构 ```shell /home/用户名/keyicx/server/python/package下的文件列表 ├── AudioPlay.py ├── Awake.py # 语音唤醒 ├── Daemon.py # 守护进程 ├── MqttProxy.py # MQTT代理 ├── Record.py # 录音服务 ├── Screen.py # 屏幕控制 ├── SocketProxy.py # Socket消息进程 ├── SpeechSynthesis.py # 语音合成 ├── VoiceRecognition.py # 语音转文字 └── WebServer.py ``` 语音唤醒、语音合成、录音服务、语音转文字支持源代码二次开发,相关开发遵从`消息规范` ## 调用系统功能 >[info] **★ 调用唤醒** >[danger] 调用唤醒比较特殊,这里使用到一个控制中心专属的类型 `MsgType.Awake` ,这个方法向控制中心发送唤醒请求。 在你的插件程序中添加`self.send(MsgType.Awake, Receiver="ControlCenter", "Data": "")`这段代码即可唤醒设备。 ![](http://qiniucn.16302.com/48cf5259f11ad5cc9cd7a8b8e032b7a5) >[info] **开始录音** 在你的插件程序中添加`self.send(MsgType.Start, Receiver='Record', Data="")`即自动录音并自动录音转文字并在屏幕中显示 ![](http://qiniucn.16302.com/e7172ed36f26ba246a0b4b0da86c3059) >[danger] 建议执行这个方法录音,这个方法调用录音后会把录音后的内容文字发送回调用者,也就是哪个插件调用的录音,就会返回`MsgType.Text`类型的文本到哪个插件的`Text`方法中,通俗的讲就是,谁调用,返回给谁。 >[info] **语音合成** 在你的插件程序中添加`self.send(MsgType.Text, Receiver='SpeechSynthesis', Data="你好啊")` 就会将Data中的内容合成语音并播放。 ![](http://qiniucn.16302.com/060771f88085498ec85225344b534e12) ## 精简的录音与合成方式 >[danger] 不建议使用精简版录音方式,因为不同的业务同时调用这个方法,如果某个业务卡死会导致整个系统崩溃。 > 精简方式录音 `str1 = self.listen()` > 精简方式合成语音 这个方法会将合成内容同时发送到屏幕和语音合成 `self.say(str1)`