问题标签 [pyaudio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7297 浏览

python - 如何在 Mac OS X 10.7 上的 virtualenv 中安装 PyAudio

我试过了

它不起作用。我得到以下信息:

0 投票
1 回答
1610 浏览

python - time.sleep() 期间的 PyAudio 行为

我试图理解我在 PyAudio 中看到的东西。我正在尝试采集 200 毫秒的音频样本,等待几秒钟,然后再采集三个 200 毫秒的音频样本。考虑这段代码:

如果我“按原样”运行(即time.sleep()注释掉),我会得到这个,这是有道理的:

如果我然后取消注释 time.sleep() 行以在第一次和第二次录制之间添加一秒钟的延迟,我会得到:

请注意,虽然第一个和第二个记录之间的时间戳有 1 秒的延迟,但记录 2 和 3 之间根本没有延迟,它们似乎是在零时间内拍摄的(尽管它们实际上包含 200 毫秒数据)。录制 4 似乎需要 200 毫秒才能完成,但与录制 2 和 3 同时开始。

如果我替换time.sleep(1)record(1)(而不是保存/使用 1 秒记录中的数据),则程序的行为与我预期的一样:

因此,即使在 期间time.sleep(1),某处的缓冲区仍在被馈送音频,并且当我在睡眠后调用记录函数时,它会从该缓冲区中获取音频,这不是我想要的音频。我需要睡眠后的音频,而不是在睡眠期间。有人可以帮助我了解 PyAudio 与那里的任何缓冲区的交互,有没有办法更好地知道我的音频是在什么时候被实际捕获的?

0 投票
10 回答
10915 浏览

python - Pyaudio、portaudio 和 mac 10.7.5

我无法正确安装 pyaudio。我为该项目设置了一个 virtualenv。我首先尝试安装portaudio:

返回:

我认为这意味着它运行良好。然后我尝试了:

返回:

第一个警告有问题吗?我有点惊讶它说 portaudio.h 没有文件或目录。我必须做一些特别的事情来启用我的端口音频 macport 安装吗?

感谢任何帮助!

0 投票
1 回答
2102 浏览

python - PyAudio ErrNo 输入溢出 -9981

我遇到了与用户相同的错误

Python,使用 Pyaudio 以 16000Hz 录制错误音频

错误与下图中相同(行号除外):

这个链接

在我写这篇文章时,我在这个链接中找到了我的问题的解决方案。解决方案是将比特率提高到 48000。但我已经在 44100 “被批准”了

有谁知道为什么我在 44100 被批准并且溢出但它在 48000 工作正常?(我也被批准了48000)。

通常我是那种得到解决方案并继续前进的人,但这一次,我觉得我需要知道。感谢您的时间。

0 投票
2 回答
6204 浏览

python - PyAudio 不起作用并在 ubuntu 上中断声音

好的,所以我pyaudio从包python-pyaudio中安装apt-get,现在当我导入和调用时如下:

它吐出那些错误消息。经过一番研究,我发现了这个问题:

PyAudio 工作,但每次都吐出错误消息

在答案中提到它们只是警告

但对我来说,音频实际上不起作用破坏了我系统上的音频,使声音小程序显示所有空白并且没有音频输出工作

前:

后:

这是我可以解决的问题吗?

0 投票
1 回答
726 浏览

python - 音频设备名称中的特殊字符:Pyaudio

我目前面临一个难题。我需要在法语 Windows 环境中使用 Pyaudio,并且音频设备的名称默认包含éè

这是出现特殊字符时出现的错误:

如果我可以访问代码,这将不是问题(我猜我需要在字符串链前面添加一个 u"...")。

问题是我查看了 Pyaudio 代码,导致错误的方法在 pyd 文件(_portaudio.pyd)中定义,因此,我无法修改它!

我试图下载 _portaudio 来自己编译它,但我发现的发行版是用 C 编码的,而且相当繁重(我不知道关于 C 的第一件事)。也许我可以在那里做点什么,但我不知道确切的地点和方式。

我也可以通过仅注释获取音频设备名称的行来解决此问题,但是如果没有向用户显示其名称,则要识别特定的音频输入要困难得多。

编辑 :

这是整个过程:我从 pyaudio 调用该函数:

这将引导我进入调用该方法的 pyaudio 模块:

device_info 是 _portaudio.pyd 中定义的对象。由于特定音频设备的名称包含“é”或“è”(谢谢 windows),并且 _portaudio.pyd 未编码以处理这些字符。它返回错误:

0 投票
2 回答
11257 浏览

python - 使用 pyaudio 中的任何其他值作为速率/格式/块给我错误:[Errno Input overflowed] -9981

操作系统:Mac OSX 10.7.5 Python:Python 2.7.3(自制软件) pyaudio:0.2.7 portaudio:19.20111121(homebrew - portaudio)

以下脚本输出以下内容并显示我遇到的问题:

以上输出如下:

0 投票
2 回答
7018 浏览

python - 播放从 url 检索到的声音的内容?

我正在从以下位置检索声音:

http://translate.google.com/translate_tts

并将其写入 WAV 文件,当我双击该文件时,声音播放正常,但是当我使用 python 中的 WAVE 模块打开它时,它给了我这个错误:

wave.Error:文件不以 RIFF id 开头

我想知道是否有办法打开这个文件,或者是否可以在不写之前播放声音。

以下是相关代码:

读取这个文件的代码是:

提前致谢!我正在使用 Python 3 顺便说一句。

0 投票
2 回答
2135 浏览

python - 使用带有 ASIO 支持的 portaudio 构建 pyaudio

我在 win32 上运行 Python 2.7.3 [MSC v.1500 32 位(英特尔)]。

我需要构建支持 ASIO 的 portaudio 并将其绑定到 pyaudio 以在 Windows 7 下使用它。基本上我想从 python 访问 ASIO 驱动程序,我发现这是方法。我正在关注 pyaudio 网页http://people.csail.mit.edu/hubert/pyaudio/的手册。该手册相当过时,gcc 不再支持 -mno-cygwin 标志。我做了什么:

  1. 从他们的网页下载 PyAudio-0.2.7
  2. 下载稳定的 portaudio-v19 http://www.portaudio.com/download.html
  3. 从手册中删除了“-mno-cygwin”选项并编译了 portaudio(gcc 版本 4.5.3)
  4. 编辑 C:\Python27\Lib\distutils\cygwinccompiler.py 并从文件中删除“-mno-cygwin”标志。
  5. 我运行了建议的 pyaudio 编译,但出现 gcc 错误

    /li>

我假设 portaudio 编译失败。我认为提到的 libportaudio.a 是一个 linux 文件。你能说出出了什么问题吗?

0 投票
2 回答
4268 浏览

python - 从 .exe 在 AMD64 上安装 pyaudio

我想在我的 Windows 8 x64 机器上安装 pyaudio。我安装了 Python 2.7 x64。从源代码构建对我来说不是一种选择,无论如何我已经看到它对其他人来说失败了。来自http://www.lfd.uci.edu/~gohlke/pythonlibs/的 Python 2.7 x64 .exe不工作。有没有其他的安装方式?还有其他地方可以下载吗?谢谢!