【问题标题】:Error when recording sound on Pepper robot在 Pepper 机器人上录制声音时出错
【发布时间】:2019-06-17 02:29:14
【问题描述】:

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

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() 只需要一个参数。我可以在 past versions 的函数中看到它过去只将文件路径作为参数,所以 Python 可能正在为模块寻找过去版本的 NAOqi?

我尝试使用this tutorialPYTHONPATH 设置为C:\Users\<user>\<path>\pynaoqi-python2.7-2.5.5.5-win32-vs2013\lib,但我仍然遇到同样的错误。

关于我能做什么的任何想法?

Windows 10 上的 Python 2.7。

【问题讨论】:

    标签: python python-2.7 nao-robot pepper


    【解决方案1】:

    你尝试过一个论点吗?

    您命名的NAOqi v2.5 Link 指的是ALAudioRecorder 和C++。 “旧版本”是指 Python ALAudioDeviceALAudioDevice 的 NAOqi v2.5 Python API 描述为here

    对我来说,这些 python sn-ps 工作正常:

    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()
    

    【讨论】:

      【解决方案2】:

      您选择麦克风的语法看起来有误。 使用括号 [] 代替括号 ():

          rec = self.session().service("ALAudioRecorder")
          rec.startMicrophonesRecording(fname, 'wav', 16000, [0,0,1,0])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-29
        • 2021-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多