【问题标题】:How do I read the audio output on my PC in Python?如何在 Python 中读取 PC 上的音频输出?
【发布时间】:2020-01-22 20:28:49
【问题描述】:

我想做一个频谱分析仪,它不听麦克风,而是听 PC 输出的声音。例如,我可以在 YouTube 旁边打开分析器,启动分析器,然后在 YouTube 中播放视频。分析仪将显示 YouTube 视频的频谱。这将如何实现?

我查看了几个如何制作分析麦克风输入的频谱分析仪的示例,但我没有找到任何可以读取 PC 输出音频的东西。

Windows 10 家庭版 在 Visual Studio 2019 下安装 Python 3.7.5

【问题讨论】:

  • 我建议安装类似VB-CABLE 的东西,它会给你一个虚拟音频设备,你可以像普通麦克风一样从中读取。
  • @Michael Mior,谢谢你的建议!我会调查的。
  • 不,我以前看过其中的几个。在这种特殊情况下,我认为 VB-Cable 解决方案是我的选择。

标签: python audio


【解决方案1】:

标准 _portaudio.pyd 模块不允许读取输出音频流。相反,应该开发一个带有环回 WASapi 的 portaudio 模块。 您可以在图像中看到项目(框图)

当然,读取 PC 输出音频流时,将显示通过耳机/扬声器播放的任何声音的频谱。音频源(媒体播放器、网络浏览器等无关)

我用 Python 设计并制作了一个完整的 10 LED 条形频谱分析仪。而不是使用 nunmpy 库(太大且无法仅获取 FFT),而是创建了一个 python pyd 模块(仅 27KB)来获取 FFT 并将整个音频频谱拆分为频段。

此外,为了读取输出音频,创建了一个环回 WASapi portaudio pyd 模块。可以在图片看到项目(框图)

刚刚在我的 YouTube 频道上添加了一个教程视频:how to design and make a very smart Python Spectrum Analyzer 10 Led Bar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2019-10-10
    • 2016-01-06
    • 2018-01-18
    相关资源
    最近更新 更多