跳到主要内容

音频播放接口

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控制机器人播放音频文件和文本转语音。

示例代码展示了以下主要功能:

  1. 播放音频文件:

    kuavo_robot = KuavoRobotAudio()
    kuavo_robot.play_audio("2_抱拳.wav") # 播放指定音频文件
    time.sleep(3) # 等待播放完成
  2. 文本转语音:

    kuavo_robot.text_to_speech("你好,世界")  # 播放文本转语音
    time.sleep(3) # 等待播放完成
  3. 停止播放:

    kuavo_robot.stop_music()  # 停止当前播放

注意事项:

  • 播放音频文件前确保文件已存在于机器人系统中
  • 可以通过volume参数调整音量大小
  • 播放文本转语音时建议等待一段时间确保播放完成
  • 使用stop_music()可以随时停止当前播放