Python 在不同的平台上连接到波浪中

Python 在不同的平台上连接到波浪中,python,windows,linux,language-agnostic,audio,Python,Windows,Linux,Language Agnostic,Audio,我要为我的含糊不清提前道歉,但我在这方面的知识有点有限,所以我不知道必要的“关键词”来明确我的观点/问题。对不起 我想做的是找到一种方法,在输出原始音频数据时,例如,当某个外部应用程序播放音乐时,当数据从麦克风传递到输出设备时,访问原始音频数据,等等。我希望能够实时访问这些数据(无论如何,几乎是实时的),这样我就可以分析/可视化它,等等 我知道,这当然是可能的,因为我很久以前就在Java中这样做了(我想我使用的是Processing和Minim库)。这是在windows中通过在声卡上启用一种“环

我要为我的含糊不清提前道歉,但我在这方面的知识有点有限,所以我不知道必要的“关键词”来明确我的观点/问题。对不起

我想做的是找到一种方法,在输出原始音频数据时,例如,当某个外部应用程序播放音乐时,当数据从麦克风传递到输出设备时,访问原始音频数据,等等。我希望能够实时访问这些数据(无论如何,几乎是实时的),这样我就可以分析/可视化它,等等

我知道,这当然是可能的,因为我很久以前就在Java中这样做了(我想我使用的是Processing和Minim库)。这是在windows中通过在声卡上启用一种“环回”输入设备实现的(我想我的供应商称之为“Wave Out Mix”之类的)。在基于Linux的操作系统下,如何解决同样的问题

我打算在分析/可视化部分使用python,但是如果需要获取原始数据,我可以使用C语言


提前感谢您提供的任何信息。

能否访问“wave out”或“loopback”取决于您的声卡和驱动程序

Linux上的本机声音API称为ALSA。搜索ALSA文档和示例代码,您应该能够从声卡中获取一些代码进行录制,然后希望设置混音器,以便您可以通过“wave out”而不是通过麦克风进行录制

较旧的Linux声音API(/dev/dsp)称为OSS。它稍微简单一点,ALSA模拟了这个API的大部分,但是如果您想完全访问声卡,ALSA是首选的解决方案

你可能想看看——这是一个将音频输出从一个应用程序路由到另一个应用程序输入的系统,采用大链或各种其他配置。有很多兼容的程序,如果你需要的所有东西都支持Jack,那么你会发现它是目前为止最简单的API


最后,这听起来可能很愚蠢,但你可以用一根模拟回环电缆——一个男对男立体声迷你插孔——将它从耳机插孔回环到线路输入插孔,并以这种方式录制“wave out”,不管你有什么声卡。这是一个带有模拟孔的愚蠢的破解,但它确实有效,并且取决于您试图录制的内容,它可能已经足够好了。

好的,谢谢您的提示。我浏览了一下Jack规范,似乎它可能是我需要的东西。但是,我必须强调,一般来说,我不想捕获特定应用程序的输出,而是捕获系统的最终“输出”。我看看能做些什么。很好的模拟线“硬件”黑客P当然,为了测试的目的,我以前也做过。哦,天哪,这似乎变得非常复杂,我花了相当长的时间研究如何启用模拟环回(alsa没有看到它,即使它在windows下看到,不管这意味着什么)。我想我得另找办法了。谢谢你的努力。听到这个消息我很难过;我知道这可能令人沮丧。根据你的目标和预算,也许你可以只买一张10美元的声卡,在Linux下就可以实现这个目的?