Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python读取输出声音而非输入_Python_Arduino_Raspberry Pi_Alsa - Fatal编程技术网

Python读取输出声音而非输入

Python读取输出声音而非输入,python,arduino,raspberry-pi,alsa,Python,Arduino,Raspberry Pi,Alsa,关于读取系统声级的最简单方法是什么,有什么线索吗 我正计划用短的led条制作一个均衡器,并将其连接到Arduino或RaspberryPi上。我已经看过很多例子,如何使用输入、麦克风或类似的东西来实现这一点,但对于整体输出来说没有那么多。在这一点上,我不关心程序特定的或系统范围的,当我真正得到读数时,我很高兴。欢迎提供任何建议 --编辑-- 基于,我将PCM_捕获更改为PCM_回放,这导致python说输出/回放上不可能读取 我现在正在尝试创建一个环回设备,想法是通过管道将播放返回到一个单独的捕

关于读取系统声级的最简单方法是什么,有什么线索吗

我正计划用短的led条制作一个均衡器,并将其连接到Arduino或RaspberryPi上。我已经看过很多例子,如何使用输入、麦克风或类似的东西来实现这一点,但对于整体输出来说没有那么多。在这一点上,我不关心程序特定的或系统范围的,当我真正得到读数时,我很高兴。欢迎提供任何建议

--编辑--

基于,我将PCM_捕获更改为PCM_回放,这导致python说输出/回放上不可能读取


我现在正在尝试创建一个环回设备,想法是通过管道将播放返回到一个单独的捕获,然后读取它,但目前为止运气不佳,我不知道这种方式有多整洁。我真的无法想象这是一条路。

几乎任何类型的混音器(软件或硬件)都应该能够将声音输出重新路由到输入。对于Windows,有内置的解决方案,对于Linux,有几种解决方案(我听说过一些好的东西,但我不能证明我自己——中的一些步骤可能会有所帮助)


通过这种方式,您可以将其发送到Python—您已经阅读的麦克风音量读取示例也应该同样有效。

有人使用Python和PulseAudio实现了这一点,请参阅。作者编写了一个脚本,轮询系统范围内的峰值声级,将其输入VU计。他还在Bitbucket上提供了源代码

我已经在Ubuntu上测试过它,它对我来说很有用(虽然只是在命令行中,而不是在交互式Python会话中)。所涉及的一些额外工作是安装一个ctypes PulseAudio包装器,用于与Python接口(源代码中的链接),并可能在脚本中将SINK_名称设置为正确的值


我从博客PulseAudio中收集到的信息非常适合这份工作,但也许有更好的方法。

据我所知,PulseAudio是alsa之上的一个软件层,并非每个发行版都使用pulse,但其中必须使用alsa。由于我希望能够在带有XBMC的RasberyPI上运行它,我认为alsa也是一种方式。请添加更多关于您迄今为止尝试的信息。基于我将PCM_捕获更改为PCM_播放,这导致python说输出/播放上不可能读取。我现在正在尝试创建一个环回设备,想法是通过管道将播放返回到一个单独的捕获,然后读取它,但目前为止运气不佳,我不知道这种方式有多整洁。我真的无法想象这是一种方式。请更新您的问题,而不是在可能的情况下对其进行评论。通过这种方式,新读者可以更容易地分析问题和答案。我已经看过并测试过了,但效果不太好。当我的接收器名就位时,我只得到0。在Ubuntu上安装了一个带有pulseaudio pref程序(paman)的组合设备后,我能够阅读一些东西。奇怪的是,即使有了paman,除了组合设备外,我几乎无法在任何设备上读出声级。我将在不同的设置上尝试,但我还没有时间。如果你想使用PulseAudio,pavumeter显示你正在播放的声音的音量似乎是一个先决条件。你确定你的声音是通过Pulse播放的,而不是直接播放到Alsa或其他什么东西吗?是的,但即使我的系统确实有问题(很可能是),我也可以通过不同的设置访问多个系统来测试这一点