我正在尝试设置 Jack,因为我听说它的 Linux 相当于 Windows 上的 ASIO。我弹吉他是为了好玩,并认为与 Ardor 一起弹奏或找到与 Guitar Rig 等效的 FOSS 会很酷。
但是我不明白......好吧,任何事情。我不明白杰克在做什么。据我所知,一般流程是
[sound hardware]
→ [kernel]
→ [JACK]
→ [ALSA]
→ [PulseAudio]
→ [Phonon]
→[my headphones]
(Phonon 进来是因为我使用 KDE。我想。)
我实际上不知道箭头代表什么。除了描述如何将 JACK 与 PulseAudio 一起使用的一页之外,JACK 网站基本上包含面向用户的零起点文档。
作为一个初学者,不管 JACK,都不了解 Linux 中的声音是如何工作的,我可以去哪里学习?我想了解声音堆栈。但对于 JACK,我所能找到的只是它的贫瘠 Wiki(包括两个名为配置和运行 JACK 服务器和设置简单音频链的多汁链接,它们都是尚未编辑的“即将推出”页面五年内)和2005 年的Linux Journal 文章。
许多事情让我感到困惑。如何判断 Linux 识别哪些声音设备?我有三个:一个板载芯片、一个 USB 音频接口(一个 M-Audio FastTrack)和一个带有麦克风的 USB 网络摄像头。所有这些东西都能被 Linux 识别吗?它们是否都专门注册为声音设备?是否每个设备都必须有独立的 JACK、ALSA、PulseAudio 等驱动程序?有没有一种基本的方法可以测试我的设备以确保它有输出?有没有办法监控我的设备,看看软件是否真的在使用它们?
现在 Amarok 的声音是可以听到的,但 Youtube 的声音不是。Amarok 也通过我的 USB FastTrack 而不是我的板载声音芯片运行。Hydrogen 拒绝启动,大概是因为我有 JACK 或 Alsa 或配置错误的东西。我不知道如何找出这些事情的押韵或原因。
Run*_*ium 10
在我对 Linux 声音的努力中,我最终禁用了 Pulse Audio 的自动生成(因此它在关闭时不会重新启动):
添加autospawn=no
到~/.pulse/client.conf
.
pactl exit
pulseaudio
做现场声音的东西或类似的东西我关闭了 PA 并只运行 JACK。没有 PA 桥接器。我从未使用 PA 或 JACK+PA 令人满意地降低延迟。
这篇文章似乎对层进行了相当好的和快速的介绍,其中还提到了Phonon
.
您可能已经阅读了这篇文章,并且也不是最新的,但可能会让您更接近于理解:Linux 音乐工作流程:使用 Kim Cascone 从 Mac OS X 切换到 Ubuntu。请注意上面标题为“工作流程”的图表。(您也可以在JACK Schematic diagram下找到该链接。)还可以阅读链接,例如顶部的Linux 音频介绍,即使从 2004 年开始,它也可以让您快速了解 ALSA。
虽然我自己都不熟悉,但我相信一个很好的方法是将学习分成不同的部分。
以该顺序。难怪人们很难掌握 Linux 的声音。这与历史以及它的演变方式有很大关系。这也是为什么要真正了解它,了解它的历史是一件好事。因此再次 - ALSA 是一个很好的起点。对 OSS 进行一些嗅探。并按照自己的方式工作。
以快捷的方式可能会得到它的工作是跟踪这两种指南。
简单地;ALSA 是内核的一部分,知道如何处理各种硬件。JACK 和 Pulse Audio 使用 API 来控制硬件并与之交互。ALSA 也可以单独用作声音服务器。应用程序使用 JACK/PA API 来执行多线程声音工作。
通过运行此处的alsa-info.sh
脚本可以快速查看您的系统。
显示一些连接的模糊视图的非常简化的图表:
+------------------------------------------------+
| SOUNDCARD |
|------------------------------------------------| _____ __
| ___________ | / \/ \
| | ADC | <---- analog in --[o---7 :===========|==|==|=[';]
| -----|----- | \____7 \__/
| __________ AMP | |
| | MIXER |----+------o |
| +---|---+-- AMP_____|______ | _______
| | | DAC | ---> analog out -[o------[ o o o ] ? ? ? ? ? ?
| | +----------+ | | |
| | | | (o) |
| -- -+---^-- --v-- -- -- --^-- --v-- --+-- | | |
| CONTROLS | | ((0)) |
| | |_______|
| |
+------------------------------||----------------+
||
ADC: Analog to digital ||
DAC: Digital to analog |- udev trigged and mounted
_______________________________||________________
| |
| KERNEL |
|¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ -|-|-|-|- ¨ ¨ ¨ ¨ ¨|
| |
| ALSA API <--> [Device Drivers] |
| ^ | module-alsa-card +--------|--
| | | | |
+---------|--|---------------------------| Memory Buffer I/O
: | v | |
| +----|---|--
| JACK ------------ PULSE AUDIO --------------+ |
| sinks | |--
| * hardware-access-points * hardware-sink | | Uses ALSA API for HW I/O
| * virtual-devices * mediaplayer-sink | | Mixing, Control etc.
| * recorder-sink | |
| * ... | |--
| | |
|-----------------|------|--------------------|---|
| APPLICATIONS -----------------+ |
|-------------------------------------------------|
| |
| Software based mixing |
| |
+-------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8856 次 |
最近记录: |