一般的に、コンピュータの音はどのように機能し、どのようなツールがありますか? [閉鎖]

一般的に、コンピュータの音はどのように機能し、どのようなツールがありますか? [閉鎖]

私はLinuxでサウンドがどのように機能するかを数日間インターネットで検索してきましたが、まだ良い基本記事やチュートリアルを見つけることができません。私が実際に探しているのは、どの用語が存在するのか、そしてどのようなツール(bashスクリプトを生成するためのターミナルツール)を使ってサウンドを設定できるのかということです。私は似たようなものを探しています:

  • サウンドカードとは何ですか?
  • チャンネルとは何ですか?
  • 私にはどんなツールがありますか?
  • サウンド出力のためにどのような修正ができますか?
  • ...

答え1

サウンドカードは、オーディオジャックまたはその他の入力規格で信号を受信および送信するために使用されるカードです(時々チップよりわずかに大きい)。統合サウンドカードは、オーディオ入出力デバイスを接続するために使用されます。 CPUを使用して入力信号を処理した後、コンピュータの音声出力を録音ソフトウェアに転送し、コンピュータの音声出力をスピーカーに転送する前に処理します。

専用サウンドカードには通常、独自の専用サウンドプロセッサがあり、CPUに頼る必要はありません。

少なくともLinuxサウンドドライバでは、チャンネルはターゲットにしている特定のスピーカーを表します(例:5.1スピーカーには各スピーカーに1つ、サブウーファーに1つ、合計6つのチャンネルがあります。これを理解するために5.1スピーカー設定があるとします)仮定しましょう。スピーカーテスト -c6 -t wav一度に1つずつ、対応するチャンネルにサウンドを出力するすべてのスピーカーを読みます。ステレオまたは2.1スピーカー以外のものを手動で設定しない限り、これについてあまり知る必要はありません。

持っているツールはdistroに大きく依存します。 alsa タグを付けたので、 alsa 用のツール (インストールした場合、インストールしていない場合 distro のソフトウェアリポジトリにパッケージが明らかにあるはずです) 次のコマンドにアクセスミキサーアフラスピーカーテストそしてアルサミキサー(正直、私が使ったことはこれだけです。)グラフィックミキサーがあるかもしれませんが、デスクトップ環境とディストリビューションの間にはかなりの違いがあります。パルスオーディオも使用すると、状況がより複雑になります。 Pulseaudioは常にalsaのようなカーネルサウンドドライバの上で動作し、単独では動作しません。

alsa(主にOSS / Open Sound Software)の代替案がありますが、これについては詳しく説明しません。

alsaの設定には3つの主要ファイルがあります。通常、システム全体にわたる alsa 構成ファイルがあります。/etc/asound.conf、各ユーザーのインストールファイルは、次のように各ユーザーのホームディレクトリにあります。~/.asoundrc(これらのファイルはデフォルトでは存在しません。ただし、alsaをpulseaudioを使用するようにリダイレクトする目的でのみasound.confが存在することがあります(pulseaudioを使用している場合)。)3番目のファイルはカーネルmodprobeファイルです。次の場所にあります。/etc/modprobe.d/名前は必要に応じて指定できます。私は主にalsa.confを使用します。ここでは、インストールされているが使用しようとしないデバイス用のオーディオドライバをブラックリストに追加する重要なタスクを実行できます(デフォルトのデバイス選択プロセス中のエラーの可能性を最小限に抑えるために、ドライバをアンインストールすることをお勧めします)。 alsaはindexというコマンドを使用してサウンドデバイスを読み取ります(index = 0がデフォルトのデバイスで、index = 1が後ろにソートされます)。また、これらのデバイスが正しく動作するようにオプションを有効にすることもできます。必須サウンド機器(通常はノートブック、特にスタイリッシュな2.1サウンドシステムを搭載したノートブックで見つかります)

まだ一つあります。usr/share/alsa/alsa.confファイル(または同様のもの)がありますが、使用したことはありません。

alsaを構成するために使用するデフォルトの構成ファイルは、おそらくユーザーバインディングファイルです。.asoundrc、これはユーザーが最もやっていることです。

どのような修正ができるかについては...イコライザーの適用からサウンドのアップグレード(多くの場合、2チャンネルのサウンドがすべてのスピーカーに出力されます)とデフォルトの出力デバイスの変更に進むことができます。また、新しいオーディオ出力用に別の設定や別のサウンドデバイスを使用するように作成することができます。その後、必要に応じて使用する特定のプログラムを設定できます(pulseaudioの主な目的の1つは、ほとんどを自動化することです)。最も使用可能なツールは次のとおりです。アルサミキサー(ボリューム制御のためのコマンドラインミキサー、各チャンネルのボリューム構成もサポートします)

私はこれらすべての操作にasoundrcを使用していますが、pulseaudioがある場合は、提供されているGUI設定ツール(pavucontrolなど)を使用するか、可能であれば完全に削除する方が良いでしょう。 Pulseaudioは、サウンド(出力と入力)にかなりの待ち時間を追加し、いくつかのプログラムで問題を引き起こす可能性があります(特にffmpegを使用してスクリーンショットを撮ろうとすると最も顕著です)。

PulseaudioもOSSも私の専門分野ではなく、どちらも使用しません。 「alsa ドライバーにどのような修正を加えることができますか?」より大きな質問は、「どのような修正を行いますか?」です。通常、これを行う方法があります(ロータリーかどうか)。 ALSAは非常に設定可能です。 ALSA自体はカーネルの一部であり、本質的にサウンドカードドライバインタフェースとコンパイルです。 alsa以外のものを特別に使用したいディストリビューションがなければalsaがありますが、pulseaudioがインストールされている場合は試してはいけません。設定はalsaを使用します直接(pulseaudioを使用した対話)Google検索を使用してpulseaudioに関する情報を簡単に見つけることができます。

また、後で参考にするために、以下を探すことをお勧めします。アーチスウィキこのような答えを探しているなら、あらゆる種類のLinuxソフトウェアに関する情報のソースとして認識されています。

最後に興味深いのは、dmixingという小さな機能があるということです。詳しくは説明しませんが、この機能を使用すると、複数のソースからサウンドを出力できます(たとえば、通常は2つのソースを再生できません)。 Linuxではサウンドがすぐに始まります。)この機能はすべてのデバイスに対してpulseaudioでデフォルトで有効になっており、これが最初にpulseaudioが作成された理由の1つです。ただし、alsaの場合、dmixingはデフォルトでステレオデバイスに対してのみ有効になります。つまり、サウンド設定が2つ以上のチャンネルを使用している場合は、手動でdmixingを適用する必要があります。これを行う方法を知りたい場合は、私にコメントを送信してください。 。

Pulse AudioにはJACKと呼ばれる代替サウンドサーバーソフトウェアがあります。気になる方のために申し上げると、パルスオーディオの遅延問題はありません。しかし、私はそれを使ったことがありません。 (私はpure alsaを直接使用する傾向がありますが、これが私に最適です。)

ご質問は多少広範囲ですが、最善を尽くして回答いたしました。何の問題もありますか?

関連情報