Advanced Linux Sound Architecture (ALSA)

ALSAについて

Advanced Linux Sound Architecture (ALSA)を参照。

ALSAのミキサー設定

ALSA用ミキサー

ALSAサウンドシステム用のミキサーで、デバイスの全ミキサー項目が操作できる。ALSA(用ミキサー)に対応したプログラムでのみ操作できる。

デスクトップ環境付属のミキサーツールや各種メディアプレーヤなどの多くはこれに対応している。

各種サウンドデーモン(サウンドサーバ)を使用する場合も、ALSAのデバイスを用いる場合はこのミキサー値が音量や外部入力の動作に影響する。

端末ではalsa-utilsパッケージのalsamixerでユーザインターフェースを用いたミキサー操作ができる他、amixerコマンドでは非対話的にミキサー項目の値を変更したり表示したりできる。

関連セクション

OSS互換ミキサー

ALSA用ミキサーに対応していないOSSミキサー対応プログラム向けのOSS互換ミキサー機能で、対応するALSA用ミキサー上のミキサー項目の値と連動する。ALSA用ミキサーの全てのミキサー項目には対応していない。

snd-mixer-ossモジュールがこの機能を提供するが、ディストリによっては無効になっている(例:Ubuntu)。

alsamixer

ALSA用ミキサーのミキサー項目をユーザインターフェース(TUI)上で操作するための端末向けツール。alsa-utilsパッケージに含まれる。

例33 端末シェルからの起動例

$ alsamixer

例34 GNOME端末の中でalsamixerを起動するためのランチャ項目のコマンド行の例

gnome-terminal -e alsamixer

[ヒント]ヒント

デスクトップ環境などによっては、端末の中で実行するようにするチェックを入れることでalsamixerの入力のみで動作するようになる場合もある。

表24 alsamixerの主な操作

キー機能
EscもしくはF10終了
?もしくはF1ヘルプ(操作一覧)を表示
/もしくはF2ALSA関連のシステム情報(/proc/asound/以下)を表示・Escで一覧から戻る
Tab(順番)もしくはF3からF5(個別)表示項目(再生/録音/全て)を切り替える
F6サウンドカードの選択
Enterヘルプなどの情報を開いているときに、これを閉じる
Space録音のオン・オフ切り替え
M消音切り替え(左右両方)
<>消音切り替え(それぞれ左と右のみ)
(上矢印)ボリュームを上げる(左右両方)
(下矢印)ボリュームを下げる(左右両方)
(左矢印)と(右矢印)項目の移動
QEボリュームを上げる(それぞれ左と右のみ)
ZCボリュームを下げる(それぞれ左と右のみ)

[ヒント]ヒント

操作に迷ったらF1を押すとよい。

録音の対象(入力ソース)は録音もしくは全てを表示した状態でInput Sourceを切り替える。

MIDI信号のキャプチャ

arecordmidiコマンドをカーネルのsnd-seq-dummyモジュール(仮想MIDIデバイスのMidi Through)もしくはASeqViewと共に用いることでALSA MIDI対応アプリケーションのMIDI信号をキャプチャしてファイルに書き出すことができる。

Wine上のMIDIアプリケーションでもキャプチャが行える場合はあるが、MIDIマッパー設定を用いるアプリケーションであればレジストリ設定が必要。MIDIアプリケーションの中にはMicrosoft Synthesizerを用いるものもあるが、これは構造上キャプチャできない。

例35 MIDIマッパー使用WinアプリでMidi Throughを用いる場合のレジストリ設定例

[任意]ファイル名: midimapper-sndseqdummy.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap]
"AutoScheme"=dword:00000000
"ConfigureCount"=dword:00000004
"CurrentInstrument"="Midi Through Port-0"
"CurrentScheme"=""
"DriverList"=""
"UseScheme"=dword:00000000

例36 MIDIマッパー使用WinアプリでASeqViewを用いる場合のレジストリ設定例

[任意]ファイル名: midimapper-aseqview.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap]
"AutoScheme"=dword:00000000
"ConfigureCount"=dword:00000004
"CurrentInstrument"="MIDI Viewer - Viewer Port 0"
"CurrentScheme"=""
"DriverList"=""
"UseScheme"=dword:00000000

関連セクション

OSSアプリケーションのPCM音声をALSAサウンドシステムに出力する

[ヒント]ヒント

2008-2010年から後のディストリであればPulseAudioがALSAサウンドシステムに統合されているため、aossの代わりにpadspを用いる。また、その場合は下に記述する設定などは動作に影響しない。

alsa-ossパッケージのaossを用いると、ALSAのOSS互換機能を用いずにOSSアプリケーションのPCM音声をALSAサウンドシステムに出力することができる。

これを用いた場合のALSAサウンドシステム上のPCM音声の出力先は以下の優先順位で決められる。

  1. 環境変数ALSA_OSS_PCM_DEVICEが定義されていればこれを用いる(失敗したら次へ)

  2. /dev/dsp[番号]の数字に応じたALSAのPCM名dsp[番号](/dev/dspへの出力はdsp0となる)を使用(失敗したら次へ)

  3. 上記が利用できなかった場合はALSA既定の出力先(PCM名default)を使用

例37 alsa-ossの/dev/dsp,/dev/dsp0に対応する出力先に関する設定例(カード0を出力先とするdmixモジュールを使用)

[一部]ファイル名: [ホームディレクトリ]/.asoundrc

pcm.dsp0
{
  type plug
  slave.pcm
  {
    type softvol
    slave.pcm "dmix:0"
    control.name "PCM Playback Volume"
    control.card 0
  }
}
[ヒント]ヒント

slave.pcmの値を書き換えることで出力先のPCM名を変更できる。カード番号を変える場合は上の0の部分を変更する。


PulseAudioモジュール

ALSAのPCMデバイス(つまり入力元や出力先)としてPulseAudioのサウンドシステムを用いるためのプラグイン(モジュール)が存在する。2008-2010年頃、多くのディストリにおいてPulseAudioが統合される際にALSA対応アプリケーションが標準でPulseAudioを用いるようにするために用いられており、WineでもALSAへの出力としてこのモジュールからPulseAudioへオーディオが出力される。

モジュールのファイルは/usr/[lib,lib32,lib64,lib/[アーキテクチャ]など]/alsa-lib/libasound_module_pcm_pulse.soで、ディストリの統合に関する設定は/usr/share/alsa/以下のファイル群によって行われる。この中で、type pulseなPCMの定義が既定のPCM(pcm.!default)やPulseAudio用のPCM(名前はpulseなど)として記述される。

関連セクション