问题描述
我正在尝试从机器人辣椒中录制音频文件并将其存储在我的本地机器上,我尝试使用这两种方法:
这里我将 NAOqi 与 ALAudioDevice 和 ALAudioRecorder 一起使用,但我没有得到任何输出,代码退出时没有错误:
import naoqi
import qi
from naoqi import ALProxy
from time import sleep
ROBOT_IP = '192.168.0.169'
ROBOT_PORT = 9559
# sound = ALProxy("ALAudioDevice",ROBOT_IP,ROBOT_PORT)
sound = ALProxy("ALAudioRecorder",ROBOT_PORT)
# sound.startMicrophonesRecording("/tmp/pepper/test.wav")
sound.startMicrophonesRecording("/tmp/pepper/test.wav","wav",16000,[0,1,0])
sleep(3)
sound.stopMicrophonesRecording()
但在这里我使用 qi 做了同样的事情,我也像这样尝试了 ALAudioDevice 和 ALAudioRecorder:
import naoqi
import qi
from naoqi import ALProxy
from time import sleep
ROBOT_IP = '192.168.0.169'
ROBOT_PORT = 9559
session = qi.Session()
connection_url = "tcp://" + ROBOT_IP + ":" + str(ROBOT_PORT)
session.connect(connection_url)
sound = session.service("ALAudioDevice")
# sound = session.service("ALAudioRecorder")
sound.startMicrophonesRecording("/tmp/pepper/test.wav")
# sound.startMicrophonesRecording("/tmp/pepper/test.wav",0])
sleep(3)
tts.stopMicrophonesRecording()
这是输出,但我仍然没有得到任何录制的音频。
[W] 1615812775.715142 775 qi.path.sdklayout:未创建应用程序,尝试推断路径
[W] 1615812776.325653 10499 qitype.signal:断开连接:未找到 SignalLink 0 的订阅。
[W] 1615812776.325654 2819 qitype.signal:断开连接:未找到 SignalLink 13 订阅。
我将不胜感激任何帮助或资源来获取所需的录制音频并将其保存在我的本地机器上。
解决方法
ALAudioRecorder 在机器人上生成一个声音文件。
要收集它,您必须使用 scp
。在您的情况下,将文件放在您的下载文件夹中:
scp nao@ROBOT_IP:/tmp/pepper/test.wav ~/Downloads/test.wav
还有一个选择:你可以get the sound buffers directly。
您看到的日志与您的问题无关,这只是框架的一些污染。