試験運用中なLinux備忘録

2007/09/07

alsamixerとamixer、GUIのミキサー

「alsa-utils」パッケージに含まれるalsamixeramixerは、ともに端末から音量調整を行うものだが、全く使い方が異なる。

alsamixer

起動

端末上で、GUIのミキサーのような感覚で使える。端末から

$ alsamixer

とする他、ランチャやデスクトップ環境のコマンド実行機能で

gnome-terminal -e alsamixer

のように、X端末の-eオプションに付けて起動する方法もある。xtermmltermでも-eが使える。

主な操作方法

<,のように、Shiftキーなしで押しても機能する。また、ヘルプに載っていないキー操作もある。

alsamixerの主な操作
キー機能
Esc終了
?もしくはF1ヘルプを表示
/もしくはF2/proc/以下にある、ALSA関連の情報を表示
Tab表示項目(再生/録音/両方)を切り替える
Enterヘルプなどの情報を開いているときに、これを閉じる
Space録音のオン(CAPTUR)・オフ(------)切り替え
M消音切り替え(左右両方)
<>消音切り替え(それぞれ左と右のみ)
(上矢印)ボリュームを上げる(左右両方)
(下矢印)ボリュームを下げる(左右両方)
(左矢印)と(右矢印)項目の移動
QEボリュームを上げる(それぞれ左と右のみ)
ZCボリュームを下げる(それぞれ左と右のみ)

左右で異なる音量が指定できる場所では、「100<>100」のように、左右に分けて表示され、そうでない場合は、数字が1つだけ表示される。

mltermで罫線が点線の豆腐?になる場合

milkjfフォントを使用する」の設定で(screenを使わずに)使用していると、

f:id:kakurasan:20070907205409p:image

のように罫線の一部が点線の豆腐になってしまうことがある。

f:id:kakurasan:20070907204918p:image

上のように、カーネル設定を「make menuconfig」で行っても同様になる。これを回避するには下の設定をする。

ファイル名: ~/.mlterm/main

# DEC_SPECIAL フォントの罫線文字のグリフを動的に合成
compose_dec_special_font = true

設定後は下のようになる。

f:id:kakurasan:20070907205408p:image

f:id:kakurasan:20070907204916p:image

amixer

amixerは、ミキサー設定を非対話(処理中にユーザからの操作を受けない形)で実行する。その特性上、使い方は分かりにくいが、自動化がしやすい。

項目

引数なしで実行させると、下のように項目の一覧が表示される。

$ amixer
Simple mixer control 'Headphone',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [off]
  Front Right: Playback [off]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 176 [69%] [-15.80dB]
  Front Right: Playback 176 [69%] [-15.80dB]
Simple mixer control 'Front',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [0.00dB] [on]
  Front Right: Playback 31 [100%] [0.00dB] [on]
(以下略)

「Capabilities」の値は、コントロールの形式で、「pvolume pswitch」のように複数あるものも存在する。例として、「Front」の項目は、ボリュームコントロールと消音(ミュート)切り替えという形で、複数のコントロールが存在する。

  • pvolume: 再生/ボリューム値
  • pswitch: 再生/オン・オフの切り替え
  • cvolume: 録音/ボリューム値
  • cswitch: 録音/オン・オフの切り替え
  • enum: 複数の項目から選択(取り込み元の選択など)

現在の設定値は、

  Front Left: Playback 31 [100%] [0.00dB] [on]
  Front Right: Playback 31 [100%] [0.00dB] [on]

のような表示の部分で、値が31(=100%=0.00dB)で、ミュートされていない(on)状態であることが分かる。

有効な値の範囲は

  Limits: Playback 0 - 255

「Limits」の行に表示され、上の場合、0から255までの256段階が指定できる。

値の指定

値をセットする書式は

$ amixer (-c [カード番号]) set [コントロール] [値]

となる。値については、生の値だけでなく、パーセント表記やdB表記も使用できる。消音設定の場合は「on(unmute)」「off(mute)」が指定できる。

$ amixer set Front off     - Frontをミュート
$ amixer set Front on 80%  - Frontのミュートを解除して80%の音量にする
$ amixer set PCM 200       - PCMの音量を「200」にする

amixerのマニュアルページの中にも例があるので、参考に。

自動化の例

cronを使用して、指定時刻に音量を下げる例。

$ crontab -e

で設定の編集を開始し、

0 22 * * * amixer set Front 50\%

という設定をすると、22時0分にFrontのボリュームを(最大音量に対して)50%にする。「%」記号は特別な意味を持つため、「\」を付ける。もし、複数の音量を続けて変更したいのであれば、シェルスクリプトに一連の処理を書いて実行属性を付け、cronに実行させるコマンドの部分にスクリプトの場所を指定する。

GUIのミキサー

デスクトップ環境にある音量設定は、どのデスクトップ環境のものもALSAに対応していて、音量調整ができる。その他、GKrellMプラグイン(Gentoo/Debian/Ubuntuのいずれも「gkrellm-volume」パッケージになっていて、URLはhttp://gkrellm.luon.net/volume.php)でもALSAの音量を調整できる。場所もとらず、手軽に音量変更ができるので便利。

関連記事:

まとめドキュメント:

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

(C) 2007-2015 kakurasan
本ウェブログの表示につきましては、横幅1,000ピクセル以上を推奨します。
Connection: close