python - 使用 PyAudio 获取运行机速度

标签 python signal-processing hardware pyaudio

我正在尝试通过截取从速度传感器出来的电线来读取手动运行机(York Pacer 2120 - 手动:http://www.yorkfitness.com.au/uploaded/pdf_40Pacer%202120%20Treadmill_5500.pdf)的速度。我通过尽可能多地拆开运行机获得的理解是,速度传感器基本上是一个磁铁,附在一个大圆盘上,大圆盘连接到运行机的皮带上,每次经过线圈时都会产生电流.

从速度传感器引出的电线末端为 3.5 毫米插孔。我将其插入笔记本电脑的麦克风端口,并记录了我高速和低速行走的“声音”。我附上了 Audacity 中分别记录低速和高速波形的图像。

Slow Fast

我的目标是实时测量运行机的速度,以便我可以将其作为输入传递到我的游戏引擎中并控制游戏中角色的速度。我不确定最好的方法是什么,但目前我正在尝试使用 PyAudio 测量 python 中“节拍”之间的距离。

为此,我从另一个问题 ( Detect beat and play (wav) file in a syncronised manner ) 的答案中复制了节拍检测代码,但这给了我一个可用的高水平误报。

有人知道我还能如何从这个信号中获得可用的速度吗?如果您这样做,我们将非常感谢您提供代码示例。除此之外,人们还会如何尝试测量手动运行机的速度呢?我尝试过各种方法,从使用摄像头测量运行机皮带上粘贴的胶带之间的距离,到将鼠标实际粘在运行机上来测量皮带的速度。

声音文件在这里:

这里的大胆项目: https://www.dropbox.com/s/3cjvo3m2ln2ldet/AudacityFiles.zip?dl=0

最佳答案

我可能会看这里Convert multi-channel PyAudio into NumPy array

从音频来看,当信号<0时,您只需要一个简单的触发器,您可以修改回调方法来检测N个样本的振幅何时为正以及何时为负,然后计算每个样本的出现次数第二次检索速度

关于python - 使用 PyAudio 获取运行机速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28746312/

相关文章:

python - 获取 OperationalError : FATAL: sorry, 太多客户端已经在使用 psycopg2

python - 如何使用分组依据并返回具有空值的行

java - 使用 Java 将任何操作系统的全局输入事件映射到另一个输入事件

java - 获取双套接字服务器上的可用线程数

python "string"模块?

c++ - 在 C++ 中将 uint8_t 缓冲区转换为复杂的浮点缓冲区

java - 将语音信号划分为10ms不重叠的窗口

使用 FFTW 计算音频数据的离散傅立叶变换

assembly - 软件看门狗定时器复位 MPC875 CPU 过快

python - 如何在Python中使用re.sub()在一组表达式之前和之后添加空格?