web-dev-qa-db-ja.com

ジャックの使い方は? Linuxサウンドはどのように機能しますか?

私は、WindowsのASIOに相当するLinuxだと聞いたので、Jackをセットアップしようとしています。私は楽しみのためにギターを弾き、Ardourで遊んだり、GuitarRigに相当するFOSSを見つけたりするのはクールだと思いました。

しかし、私にはわかりません...まあ、何でも。ジャックの役割がわかりません。私が集めることができるものから、一般的な流れは

[sound hardware][kernel][JACK][ALSA][PulseAudio][Phonon][my headphones]

(KDEを使っているのでフォノンが入ってくると思います。)

矢印の意味はわかりません。 JACK Webサイトには、PulseAudioでJACKを使用する方法を説明する1ページを除いて、基本的にゼロの初心者向けドキュメントが含まれています。

JACKに関係なく、Linuxでサウンドがどのように機能するかを理解していない初心者として、どこで学ぶことができますか?サウンドスタックについて理解したいのですが。しかし、JACKについて私が見つけたすべては その不毛のWikiという2つのジューシーなリンクを含み、JACKサーバーの構成と実行およびシンプルなオーディオチェーンを設定します。どちらも5年間編集されていない "Coming Soon"ページになります)および- 2005年のLinux Journalの記事

多くのことが私を混乱させます。 Linuxがどのサウンドデバイスを認識するかはどうすればわかりますか?オンボードチップ、USBオーディオインターフェイス(M-Audio FastTrack)、マイクを備えたUSBウェブカメラの3つがあります。これらすべてはLinuxによって認識されますか?それらはすべて、特にサウンドデバイスとして登録されますか?各デバイスには、JACK、ALSA、PulseAudioなどの独立したドライバーが必要ですか?デバイスをテストして出力があることを確認する基本的な方法はありますか?ソフトウェアが実際にデバイスを使用しているかどうかを確認するためにデバイスを監視する方法はありますか?

現在、Amarokの音は聞こえますが、YouTubeの音は聞こえません。 Amarokは、オンボードサウンドチップの代わりにUSBFastTrackを介して実行されています。水素が始動を拒否しました。おそらく、JACKまたはAlsaなどの構成が間違っているためです。私はこれらのことの韻や理由を理解する方法がわかりません。

7
leo-the-manic

Linuxサウンドを使って努力した結果、Pulse Audioの自動生成が無効になりました(シャットダウンしても再起動しません)。

autospawn=no~/.Pulse/client.confに追加します。

  • pactl exitで停止
  • pulseaudioで始まります

ライブサウンドなどを行うPAをシャットダウンし、JACKのみを実行します。 PAブリッジはありません。 PAまたはJACK + PAを使用してレイテンシーを十分に下げることはできませんでした。

この記事 は、Phononについても言及している、レイヤーのかなり優れた簡単な紹介を提供しているようです。

あなたはおそらくこれを読んだことがあり、また最新ではありませんが、おそらく理解に近づくでしょう: Linuxミュージックワークフロー:キムカスコンと一緒にMac OS XからUbuntuに切り替える 。見出し "ワークフロー"の上の図に注意してください。 (これはJACK回路図の下にもあります。)リンクも読んでください。一番上にあるものLinuxオーディオの概要ですが、2004年からは、ALSAの概要がすぐにわかります。


私も自分自身に精通していませんが、良いアプローチは学習をさまざまな部分に分割することだと思います。

  1. ALSAについて理解する
  2. JACKを理解する(特にスタジオでの作業をしたいので)。
  3. PulseAudioを理解する

その順序で。 Linuxのサウンドを把握するのに苦労しているのも不思議ではありません。それは歴史とそれがどのように進化してきたかとかなり関係があります。だからこそ、真に理解したいのであれば、その歴史を学ぶのもいいことです。したがって、再び-ALSAは開始するのに適した場所です。 OSSでスニッフィングを行います。そして、あなたの方法を上に向かってください。

mightを機能させるための簡単な方法は、次のとおりです これらのガイドのいずれか

単純に; ALSAはカーネルの一部であり、さまざまなハードウェアの処理方法を知っています。 JACKとPulseAudioは、APIを使用してハードウェアを制御および操作します。 ALSAはサウンドサーバーとして単独で使用することもできます。アプリケーションは、JACK/PA APIを使用してマルチスレッドのサウンド作業を行います。

alsa-info.sh 見つかったスクリプト here を実行すると、システムをすばやく確認できます。

いくつかの接続を示すぼやけたビューの非常に簡略化された図:

 +------------------------------------------------+
 |                   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                           |
|                                                 |
+-------------------------------------------------+
10
Runium