python– 从音频脉冲中获取二进制数据

python– 从音频脉冲中获取二进制数据,第1张

概述我有红外传感器,它有TRS connector,我可以将我的遥控器信号录制成音频.现在我想用电视遥控器控制我的电脑,但我不知道如何将音频输入与预先录制的音频进行比较.但在我意识到这些音频波只包含某种数据(二进制)后,我可以将它们变成二进制或十六进制,因此比较容易得多.波浪看起来像这样:还有这个:这些是“OK”按钮的记录,有时在右声道上也有一些冲动,我不知道为

我有红外传感器,它有TRS connector,我可以将我的遥控器信号录制成音频.
现在我想用电视遥控器控制我的电脑,但我不知道如何将音频输入与预先录制的音频进行比较.但在我意识到这些音频波只包含某种数据(二进制)后,我可以将它们变成二进制或十六进制,因此比较容易得多.

波浪看起来像这样:

还有这个:

这些是“OK”按钮的记录,有时在右声道上也有一些冲动,我不知道为什么,似乎传感器中的连接可能会损坏.
好吧,无论如何,这无关紧要

我需要帮助python程序读取这些脉冲并将这些转换为二进制,实时从音频输入(麦克风).
我知道这听起来像“为我而做,而我喜欢我的生活”,但我没有声音转换/阅读的经验……我一直在寻找用于录制和阅读音频的python示例,但没有成功.最佳答案如果您可以放弃实时要求,这很容易:只需将数据保存为.wav文件,然后使用Python的wave module进行读取.

这是一个如何在Python中读取wav文件的示例,

import wavew = wave.open("myfile.wav","rb")binary_data = w.readframes(w.getnframes())w.close()

它可以实时完成,但它更难,但仍然不是很难.对于实时,我使用PyAudio,一个好的开始将是跟随演示中的示例.在这些中,您基本上打开一个流并一次读取小块,如果您想要任何交互性,则需要在一个线程中执行此 *** 作.

(另请注意,声卡将过滤您的音频输入,因此您所看到的并不是真正的输入信号.特别是,我认为遥控器通常具有大约40KHz的载波频率,这比人类高听到,所以我怀疑声卡在这个范围内工作得很好,尽管它们可能足够取决于你想做什么.)

总结

以上是内存溢出为你收集整理的python – 从音频脉冲中获取二进制数据全部内容,希望文章能够帮你解决python – 从音频脉冲中获取二进制数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1205854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存