【发布时间】:2019-02-14 17:24:57
【问题描述】:
我有一段 python 脚本,它通过一个连续循环 (~5Hz) 从连接到我的 PC 的一组传感器中获取数据,就像接近传感器一样。
我想使用 python 以连续的方式将此传感器数据转换为音频输出。也就是说:当我的传感器循环运行时,我想生成并播放 连续 正弦音频声音,其频率由传感器输出调制(例如,更高的传感器值 = 更高的频率)。这是我想要的那种输出(当然没有 GUI:http://www.szynalski.com/tone-generator/)
我查看了很多可用的软件包(pyDub、pyAudio、Winsound),但似乎都解决了一部分难题,无论是信号生成、保存还是播放,但我似乎无法找出如何将它们结合起来。
- 可以执行频率调制并将不同频率链接在一起然后保存它们,如何实时播放它们而不堵塞我的传感器
- 可以使用 WinSound 播放线程音频 -> 但如何实时更新频率?
或者这不是使用 python 继续前进的可行路线,我是否应该编写一个脚本,将传感器数据输入另一种对音频更友好的语言?
谢谢。
【问题讨论】:
-
您对传感器数据的接收率是多少?如果摄入“太快”,您可能会遇到一个问题,虽然可以调节频率,但较短的持续时间意味着您将听不到它。
-
最小可听持续时间与频率成正比。 (例如,较低的频率可能需要长达 1 秒,而较高的频率则少于此)。否则,你最终会听到咔哒声。如果你可以限制数据的接收,那么可以通过一些方法来实现。
-
@Anil_M 在给定频率的情况下,如何计算最小可听持续时间?有没有可以用来预测的公式?
-
大约是 1/ (freq (Hz)) 。有关更多详细信息,请参阅此链接。 sound.stackexchange.com/questions/28163/…
-
如果您的数据摄入量是每个样本
标签: python audio frequency modulation