问题标签 [portaudio]

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 投票
2 回答
4937 浏览

c++ - Portaudio + Opus 编码/解码音频输入

我正在使用 Portaudio 和 opus 开发 VOIP 客户端。我在一帧中从麦克风中读取 - 使用 Opus 对每一帧进行编码并将其放入列表中 - 从列表中弹出第一个元素并对其进行解码 - 使用 portaudio 读取它

如果我在不编码声音的情况下做同样的事情,效果会很好。但是当我使用 Opus 时,我的声音很糟糕,我听不懂声音(这对 voip 客户端来说很糟糕)

我无法更改必须使用 Opus 的库。采样率为 48000,每个缓冲区的帧数为 480,我尝试了单声道和立体声。

我究竟做错了什么?

0 投票
1 回答
2216 浏览

gcc - 链接/构建 portaudio 静态库

我试图通过在编译portaudio后将“libportaudio.a”放入我的项目中来使用portaudio的静态库(通过执行“./configre && make”然后我将文件放入lib/.libs/)。

由于这是一个 qt 项目,我的 Makefile Lib 行如下所示:

在我的 .pro 中,我有:

但是当我尝试做时,结果是:

在执行 ./configure 以使库可移植或只是在 Makefile 中进行更改时,有什么特别的事情要做吗?

0 投票
2 回答
61252 浏览

c - 在 C 中实现简单的高通和低通滤波器

尝试使用portaudio录制一些数据,然后使用算法过滤器更改录制的语音,然后播放。我已经验证了很多(来自示例),但我对 C 很陌生,我认为在我的过滤器实现中我做了一些愚蠢的事情。

当记录的信号试图通过这些过滤器时,我得到以下错误:

我真的不确定这里发生了什么。有什么想法吗?Free 是从脚本末尾处调用的 terminate here:

0 投票
0 回答
381 浏览

c - 为什么我的流媒体端口“被切断和静态!”

只需在您的系统上分别编译我的两个 .c 文件(https://github.com/Xenland/P2P-Crypt

同时运行 crypt 文件和 p2pcrypt_tool_udp_receive 文件,然后开始对着麦克风说话,你会听到扬声器输出半完整的流——音频断断续续而且是静态的——我想知道如何使缓冲区播放流畅我不确定出了什么问题......你知道这段代码有什么问题吗?

0 投票
2 回答
788 浏览

portaudio - portaudio 视频/音频同步

我使用 ffmpeg 解码视频/音频流并使用 portaudio 播放音频。我遇到了与 portaudio 的同步问题。我有一个像下面这样的功能,

mCousumeBytes 是在 portaudio 回调函数中写入音频设备的字节数。我以为我可以根据字节数得到播放时间。实际上,当我执行使 cpu 忙碌的其他进程(如 open firefox )时,音频会变得断断续续,但回调不会停止,因此 mConsumeBytes 超出预期,并且 getPlaySec 返回的时间大于播放时间。
我不知道这是怎么发生的。欢迎任何建议。谢谢!

0 投票
1 回答
694 浏览

c++ - Portaudio C++ 绑定:在 MemFunCallbackStream 中找不到符号

最近我发现 PortAudio 有 C++ 绑定,所以为了保持良好和面向对象,我正在从普通的 PortAudio C 函数转换为 C++ 绑定。但是,我遇到了回调函数的麻烦。我尝试通过以下方式创建流:

此调用是在 OutputChannel 类的方法中进行的。这个相同的类包含应该作为回调函数的方法,因此我将传递给 MemFunCallbackStream 方法的“this”。但是,在构建时,链接器会给出错误:

我确定 PortAudio 库已加载,因为其他一些(诊断)方法确实有效。什么可能导致此错误?

0 投票
1 回答
1703 浏览

audio-streaming - 如何使用 portAudio 读取声卡输出的音频数据?

我想知道是否可以使用 PortAudio API 读取从声卡到扬声器的数据。查看文档后,我找到了一个示例(http://portaudio.com/docs/v19-doxydocs/paex__record_8c_source.html),他们从麦克风中读取数据。但是,我希望能够捕获来自声卡的音频。有没有办法在 PortAudio 中做到这一点,如果没有,请指出正确的方向。此外,它适用于 Windows、Mac 和 Linux 计算机也很重要,我更喜欢用 C 编写它。

0 投票
10 回答
10915 浏览

python - Pyaudio、portaudio 和 mac 10.7.5

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

返回:

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

返回:

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

感谢任何帮助!

0 投票
1 回答
1987 浏览

audio - 使用 PortAudio 生成正弦波以播放中间 C

我无法在 PortAudio 中生成特定频率,每当我尝试更改频率内部的频率时sin(n * FREQ * 2 * PI / SAMPLE_RATE),频率保持不变,但声音似乎确实在音色上发生了变化,我放在那里的频率值越高,声音就越难看,然而相同的频率。这就是我的patestCallback循环中的内容:

0 投票
1 回答
541 浏览

stream - Directsound流同步

我对 2 个 Directsound 流的同步有疑问。

为了录制和播放声音,我目前使用 Portaudio 打开 2 个 Directsound 流。每次输入缓冲区被填满并且输出缓冲区需要数据时,都会调用 2 个回调函数。

现在这是我的问题...

输入流以 48kHz 采样率运行(@1024 个样本)。输出流以 192kHz 采样率运行(@4096 个样本)。每次输入缓冲区被填满并调用回调时,我都会做一些 DSP,然后将结果转换为 192kHz。输出流获取结果并输出数据。现在这两个流完全不同步了。

我查看了整个 Portaudio API,但找不到将 2 个流锁定在一起的同步选项。

有什么方法可以锁定 2 个 Directsound 流吗?我真的需要 48kHz 输入和 192kHz 输出。

溴,

文森特·布鲁因克。