问题标签 [jack]

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 回答
2862 浏览

audio - Gstreamer:从视频(flv)中提取音频,重新采样率和管道到流式接收器 - 无法重新采样到流式

我正在使用 gstreamer 从视频中提取音频并将音频重新采样为不同的采样率。我的管道适用于文件到文件的对话,但我无法正确设置流式传输案例以将其链接到插孔接口:

文件到文件(效果很好):

gst-launch-0.10 filesrc location=/data/Opinion.flv !播放器!音频/MPEG!解码器!音频转换!音频/x-raw-int,通道=1!音频重采样!音频/x-raw-int,速率=16000,深度=16!波浪!文件接收器位置=./recordingOut2.wav

要流式传输的文件(不起作用):

gst-launch-0.10 filesrc location=/data/Opinion.flv !播放器!音频/MPEG!解码器!音频转换!音频/x-raw-int,通道=1!音频重采样!音频/x-raw-int,速率=16000,深度=16!插孔音频接收器

警告:错误的管道:无法将 audioresample0 链接到 jackaudiosink0

以下管道运行,但输出的采样率错误:

gst-launch-0.10 filesrc location=/data/Opinion.flv !播放器!音频/MPEG!解码器!音频转换!音频重采样!插孔音频接收器

你有什么发现我做错了吗?

可以重新采样音频并通过管道传输到流输出吗?

我已经四处寻找,但没有找到任何相关的解决方案。您的任何见解/指针将不胜感激!

0 投票
1 回答
274 浏览

audio - 杰克作为主要音频驱动程序?

我遇到的第一个问题是,一旦我在我的计算机上使用了任何有声音的东西(网页、媒体播放器等)——杰克在我重新启动之前将不再启动。简而言之,如果我不知道如何使用我的 DAW 而不每次都重新启动,我就必须回到 Windows。

此外,有没有办法通过 Jack 路由 Pulse,让 Jack 成为音频之神?或者更好的是,我可以摆脱 Pulse 并将 Jack 用于所有音频吗?

我知道这不是一个简单的问题,但任何帮助或指导将不胜感激。

0 投票
1 回答
6419 浏览

android - 在Android上无需电缆即可将扬声器输出到麦克风输入?

我想在不使用任何物理电缆的情况下将扬声器输出连接到 Android 手机上的麦克风输入。这样的路由应该对所有应用程序都是透明的。有了这个功能,我可以设计一堆有趣的应用程序,例如测量 voip 通话的往返延迟,自动回复来电等。

一些类似的问题可以在这里找到:

通话的背景音乐

将音频流输出到麦克风

Android 上目前似乎没有解决方案,但是在 Linux 上运行的工具 JACK 是最重要的。有人可以为我提供一些脚本或代码来创建一个在 Linux 上实现这一点(扬声器-> 麦克风)的 JACK 客户端吗?将 JACK 服务器和客户端移植到 Android 有多难?

谢谢!

0 投票
1 回答
2392 浏览

python - 使用 Python 3 捕获 192 kHz 音频

我需要使用 Python 3 为一些生物声学实验捕获 192 kHz 音频。我有硬件、一个 Sound Devices USBPre 2 声卡、一个具有良好频率响应曲线的麦克风,最高可达 100 kHz,并且我启用了我的操作系统(ubuntu 13.04)以 192 kHz 从这张卡中采样。

我试过用 PyAudio 录音。它似乎可以工作,并且会给我一个采样率为 192 kHz 的 wav 文件。但是,当我查看频谱时,没有高于 24 kHz 的功率,这表明 PyAudio 并没有真正在 192 kHz 处捕获,而是在 48 kHz 处捕获。然而,当我使用 Audacity 和来自 JACK 的输入进行录音时,我得到了一个不错的录音,其功率高达 96kHz。所以,我的印象是 PyAudio 实际上并没有对 192 kHz 的声音进行采样,即使它应该能够采样。如何解决这个问题?

我启动 JACK 时没有错误:

初始化 PyAudio(没有任何真正的错误(据我所知)):

打开 PyAudio 流:

我有频谱图的图像,以防有人想验证我的解释,即 PyAudio 没有在 192 kHz 捕获(但 Audacity 可以):

使用 PyAudio 捕获的声音频谱图 使用 PyAudio 捕获的声音频谱图

使用 Audacity 捕获的声音频谱图 使用 Audacity 捕获的声音频谱图

如何使用 PyAudio 以 192 000 个样本/秒的速度录制声音?也欢迎提出使用 Python 3 捕获声音的其他方法的建议。

0 投票
1 回答
1486 浏览

audio - mplayer 输出 4 个音频通道到插孔

我正在努力让 mplayer 重现 4 音频通道 wav 文件。

我创建了一个 4chn 音频文件。想要 mplayer 播放器,并将其输出到插孔。问题是我只能进入插孔 2 mplayer 频道。

如果我做:

mplayer 播放并响应:

而jack只有以下输出:

所以似乎 mplayer 将输入文件识别为 4ch 但在 AO: [jack] only 2ch 出现

如果我对 ecasound 进行同样的尝试:

在 Jack ecasoud 中出现 4 个输出

你知道我做错了什么吗?我正在运行 Debian (Jessy) 和 mplayer 1.1-4.7

非常感谢

0 投票
1 回答
806 浏览

audio - Liquidsoap + JACK 延迟

如何最小化 Liquidsoap 的处理延迟?

我写了一个非常简单的 Liquidsoap 脚本来测试延迟:

当我将端口与音乐播放器 (mpd) 和声卡连接时,音乐播放开始和停止大约有 0.5 秒的延迟。我将 JACK 缓冲区大小设置为 1024,因此延迟应该约为 0.02 秒。当我将 mpd 直接连接到声卡时,延迟并不明显,因此肯定是 Liquidsoap 的问题。

我是否缺少任何配置选项,当设置为默认值时会导致不需要的缓冲?我为输入和输出尝试了各种 clock_safe 值,但它们什么也没做。

0 投票
1 回答
1290 浏览

linux - 没有千斤顶服务器的超级对撞机

我的项目中的一项要求是减少嵌入式系统上的运行时占用空间。它看起来jackd在 Linux 上是必需的,并且看起来它目前是一个硬依赖,它不能libasound直接使用,是真的吗?很高兴听到有人jackd在嵌入式设备上使用并总结其资源使用情况。虽然,我打算使用具有相对足够内存的 BeagleBone,但我宁愿将它留给更长的延迟线,而不是运行jackd.

0 投票
0 回答
187 浏览

c - 具有多个输出的插孔音频程序在连接时会产生巨大的 CPU 负载

我正在使用插孔创建一个音乐软件,它有多个输出 (16)。在我的程序(许多合成器、采样器等)中运行完整的 dsp 进程时,cpu 负载有点高,但没有什么问题。这是当插孔客户端的输出未连接或直接连接到声卡输出时。

因此,当我启动 Ardor 并打开空模板(没有插件或任何东西)时,cpu 负载保持在 5% (使用顶部监控),直到我将程序的输出连接到 Ardor 输入。在那之后,Ardor cpu 使用率跃升至 80-95% 并导致一切都变慢到无法使用,即使我的 prog 没有处理太多任何东西。这没有任何意义,因为具有相同或更高数量的插孔输出的 puredata 实例不会导致类似的 cpu 负载到 ardor(空的甚至充满插件)。

在我的程序中,所有输出都在同一个插孔回调函数中处理,这是 multiout 的正确方法吗?什么可能导致这个cpu峰值?我在 linux 测试机上使用 rt 内核,我的程序的 gui 是用 SDL 绘制的。

它开始成为一个非常酷的程序,但是这个问题使它有点无法使用。

0 投票
0 回答
80 浏览

macos - 在沙盒 Mac 应用程序中使用 jack os x

在 App Store 上发布的 Mac OS X 应用程序中,我希望能够使用Jack OS X音频设备作为输入,但该设备未出现在 portaudio 返回的列表中。在控制台中检查日志时,我看到:

31/01/2014 10:11:35.000 内核 [0]:沙盒:MyApp(xxx) 拒绝网络出站 /private/tmp/jack_default_501_0

是否有一些额外的权限我应该添加到我的entitlements文件中才能正确访问此设备?在未启用沙箱的情况下使用测试我的应用程序时,此设备会正确显示/工作。

0 投票
1 回答
322 浏览

c - how can i list input devices using jack in C

I'm trying to write an audio application in C. for now I support pulseaudio and alsa, now it's time to support jack.

I want to be able to retrieve input devices in jack in order to choose one, connect to it and record the audio from that device.

what I didn't manage to understand is how to get the list of record and playback devices available in jack.

any ideas regarding the issue would be greatly appreciated.