gpt4 book ai didi

python - Python + Qt 组合能否产生实时频谱分析工具?

转载 作者:行者123 更新时间:2023-11-28 22:06:22 25 4
gpt4 key购买 nike

我想开发一个工具来做以下事情。

  1. 进行现场录音
  2. 生成实时频谱图
  3. 显示时域信号
  4. 输出从光谱分析中提取的几个值

所有这些都必须在录制语音时在窗口中保持更新。

我使用过 numpy。但我对 Qt 和其他 GUI 构建器工具完全陌生。鉴于这种情况,最好的处理方法是什么?在我向他们解释任务后,我的同事推荐了 Qt。如果有人知道更好的工具可以与 python 一起用于此任务,请告诉我。另外,请帮助我了解有关如何捕获实时流并在 Python 中处理它以显示在 GUI 窗口中的技术细节。给了我一些希望的一个链接是 http://www.swharden.com/blog/2010-03-05-realtime-fft-graph-of-audio-wav-file-or-microphone-input-with-python-scipy-and-wckgraph/ .但是理解起来有点困难。可能是一个不太密集的解决方案将帮助我入门。

最佳答案

在 Qt 4.6 中,添加了 QAudioInput API。这为获取音频输入信号提供了跨平台抽象,因此可用于实现第 (1) 点。

至于 (2) 和 (3),Spectrum Analyzer demo哪些随 Qt 一起发布可能会让人感兴趣。

Screenshot of Spectrum Analyzer demo running on Symbian http://labs.trolltech.com/blogs/wp-content/uploads/2010/05/spectrum.png

该实现是用 C++ 而非 Python 实现的,但它可能会用作引用。基本上 (2) 需要的是计算输入信号的快速傅里叶变换。您可能希望使用提供 FFT 实现的库而不是自己编写 - 这就是我在编写演示时采用的方法:)

至于 (3),这在概念上非常简单,但需要一些思考才能获得平滑滚动的波形。查看演示中 Waveform 类中使用的平铺方法以获取一些提示。

我认为 (4) 的意思是:将 FFT 输出中的大量点减少为少量值。这就是演示为了绘制频谱条形图所做的事情。同样,请引用演示代码以了解如何实现频率振幅的合并。

关于python - Python + Qt 组合能否产生实时频谱分析工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com