0

我正在对 Nao 机器人感知的声音进行一些能量计算。
我正在使用naoqi 2-1-4以下代码片段来显示值:

import time
from naoqi import ALProxy
robotIP = "194.119.214.185"
port = 9559

soundDevice = ALProxy("ALAudioDevice", robotIP, port)
soundDevice.enableEnergyComputation()

try:
    header = 'Left\t\t\t\tRight\t\t\t\tFront\t\t\t\tRear'
    fmt = '{Left:.2f}\t\t\t\t{Right:.2f}\t\t\t\t{Front:.2f}\t\t\t\t{Rear:.2f}'

    while True:
        time.sleep(0.5)
        left  = soundDevice.getLeftMicEnergy()
        right = soundDevice.getRightMicEnergy()
        front = soundDevice.getFrontMicEnergy()
        rear  = soundDevice.getRearMicEnergy()

        print header
        print fmt.format(Left=left,Right=right,
                   Front=front,Rear=rear)

except KeyboardInterrupt:
    print "Stopped by user."

我无法理解这种价值观的本质是什么。
我已经从这个页面查看了这段代码(在底部。是的,我知道它是 c++ 代码,但我找不到更多,我认为这是相同的概念,除了语言)并在评论中发现. 我无法理解这些值是如何可能的(试图以 dB 表示它们,但无论如何它们都没有意义)。有谁知道这些价值观代表什么?我怎样才能将它们与一些“真实”的测量单位联系起来?RMS power

顺便说一下,这里是所有方法的列表。

提前致谢

4

2 回答 2

0

看源码,好像只是每个样本的平方和,然后除以缓冲区的长度,最后平方。

sqrt(sum(each_sample*each_sample)/len(samples))

希望对你有帮助...

于 2017-03-16T02:23:42.397 回答
-1

由于您没有向我们提供您所获得的奇怪值(数字?字母?),我所能做的就是帮助您提供有关计算这些值的另一种方法的链接:NAO 机器人远程音频问题

于 2017-03-08T09:57:20.483 回答