在 Pepper 机器人上录制声音时出错 [英] Error when recording sound on Pepper robot

查看:54
本文介绍了在 Pepper 机器人上录制声音时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望我的 Pepper 机器人使用 startMicrophonesRecording() 录制一段音频.在 NAOqi v2.5 中,它需要四个参数(路径、类型、赫兹和麦克风).试图运行

I want my Pepper robot to record a piece of audio using startMicrophonesRecording(). In NAOqi v2.5 it takes four arguments (path, type, hertz and microphones). Trying to run

AD.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav","wav",16000,(0,0,1,0))

但是我收到错误消息

RuntimeError: Arguments types did not match for startMicrophonesRecording (resolved to '(ssi(iiii))'): 
Candidate: 
  startMicrophonesRecording::(s) (1)

似乎 startMicrophonesRecording() 只需要一个参数.我可以在过去的版本中看到 过去只将文件路径作为参数的函数,所以也许 Python 正在查看过去版本的 NAOqi 模块?

It seems that startMicrophonesRecording() only wants one argument. I can see in past versions of the function that it used to only take the file path as an argument, so maybe Python is looking at a past version of NAOqi for the modules?

我尝试将 PYTHONPATH 设置为 C:\Users\\\pynaoqi-python2.7-2.5.5.5-win32-vs2013\lib 使用本教程,但我仍然遇到同样的错误.

I have tried setting PYTHONPATH to C:\Users\<user>\<path>\pynaoqi-python2.7-2.5.5.5-win32-vs2013\lib using this tutorial, but I still get the same error.

对我能做什么有什么想法吗?

Any ideas as to what I can do?

Windows 10 上的 Python 2.7.

Python 2.7 on Windows 10.

推荐答案

您是否尝试过一个论点?

Did you try with one argument?

NAOqi v2.5 链接你命名,指的是 ALAudioRecorder 和 C++.旧版本"指的是 Python ALAudioDevice.ALAudioDevice 的 NAOqi v2.5 Python API 描述为 此处.

The NAOqi v2.5 Link you named, refers to ALAudioRecorder and C++. The "old Version" refers to Python ALAudioDevice. An NAOqi v2.5 Python API for ALAudioDevice is described here.

对我来说,这些 python 代码片段工作正常:

For me these python snippets works fine:

ALAudioDevice:

import naoqi
from naoqi import ALProxy
AD = ALProxy("ALAudioDevice", "pepper.local", 9559)
AD.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav")
AD.stopMicrophonesRecording()

ALAudioRecorder:

import naoqi
from naoqi import ALProxy
AR = ALProxy("ALAudioRecorder", "pepper.local", 9559)
AR.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav","wav",16000,[0,0,1,0])
AR.stopMicrophonesRecording()

这篇关于在 Pepper 机器人上录制声音时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆