音频播放接口
KUAVO Humanoid SDK 提供了全面的音频播放接口,支持播放音频文件、文本转语音等功能。本文档详细介绍这些接口的使用方法。
使用说明
使用本接口前需要在上位机执行下面操作(不管上位机型号均要执行):
在<kuavo_ros_application>/src/kuavo_speech_synthesis
目录下执行下面操作
sudo su && ./install.sh
- 由于离线模型较大,下载过程可能需要 10~20 分钟,请耐心等待,安装部署完成后会有绿色文字的成功提醒。
上位机为NX或AGX:
pip install --upgrade soundfile librosa scipy
pip install sherpa-onnx
到<kuavo_ros_application>
目录下执行下面操作
catkin build kuavo_speech_synthesis
source devel/setup.bash
roslaunch kuavo_speech_synthesis speech_synthesis.launch
上位机为SWNUC12WSKI70000(即不是NX或AGX)
到<kuavo_ros_application>
目录下执行下面操作
catkin build kuavo_speech_synthesis
source devel/setup.bash
roslaunch kuavo_speech_synthesis speech_synthesis.launch
接口说明
KuavoRobotAudio
KuavoRobotAudio
类提供了控制机器人音频播放的接口。
方法接口
函数名 | play_audio |
---|---|
函数原型 | bool play_audio(str file_name, int volume = 100, float speed = 1.0) |
功能概述 | 播放指定的音频文件。 |
参数 | file_name: 音频文件名 volume: 音量大小,范围[0, 100],默认100 speed: 播放速度,默认1.0 |
返回值 | true: 播放请求发送成功 false: 播放请求发送失败 |
备注 | 1. 音频文件需要预先放置在机器人系统中 2. 音量会自动限制在有效范围内 |
函数名 | stop_music |
---|---|
函数原型 | bool stop_music() |
功能概述 | 停止当前正在播放的音频。 |
参数 | 无 |
返回值 | true: 停止请求发送成功 false: 停止请求发送失败 |
备注 | 无 |
函数名 | text_to_speech |
---|---|
函数原型 | bool text_to_speech(str text, float volume = 0.5) |
功能概述 | 将文本转换为语音并播放。 |
参数 | text: 要播放的文本内容 volume: 音量大小,范围[0.0, 1.0],默认0.5 |
返回值 | true: 播放请求发送成功 false: 播放请求发送失败 |
备注 | 1. 支持中文文本转语音 2. 音量会自动限制在有效范围内 |
示例代码
参考SDK示例代码:
音频播放:<kuavo-ros-opensource>/src/kuavo_humanoid_websocket_sdk/examples/atomic_skills/audio_play.py
演示如何通过SDK控制机器人播放音频文件和文本转语音。
示例代码展示了以下主要功能:
播放音频文件:
kuavo_robot = KuavoRobotAudio()
kuavo_robot.play_audio("2_抱拳.wav") # 播放指定音频文件
time.sleep(3) # 等待播放完成文本转语音:
kuavo_robot.text_to_speech("你好,世界") # 播放文本转语音
time.sleep(3) # 等待播放完成停止播放:
kuavo_robot.stop_music() # 停止当前播放
注意事项:
- 播放音频文件前确保文件已存在于机器人系统中
- 可以通过volume参数调整音量大小
- 播放文本转语音时建议等待一段时间确保播放完成
- 使用stop_music()可以随时停止当前播放