ハードウェアサポート:alsa-utilsツールパッケージの使用.


一.alsa-utilsの紹介
ALSAはkernelの音声ドライバです.alsaコアと他のサウンドカードのドライバが含まれています.alsa-utilsはalsaのツールパッケージで、サウンドカードのテストとオーディオ編集のツールが含まれています.
二.alsa-utilsのインストール
1.RPMパッケージ方式
Turbolinux 10.5,11バージョンにはalsa-utilsのrpmパッケージが含まれています.直接インストールできます.
# rpm -ivh alsa-utils-xxx.rpm

2.ソースパッケージ方式
ダウンロード先:
http://www.alsa-project.org/main/index.php/Download

ソースパッケージのインストール方法:
# tar zxvf alsa-utils-1.0.6.tar.gz
# cd alsa-utils-1.0.6
# ./configure
# make install

三.alsa-utilsツールの使用
Alsa-utilsには、次のツールが含まれています.
alsactl, aconnect, alsamixer, amidi, amixer, aplay, aplaymidi, arecord, arecordmidi,
aseqnet, iecset, speaker-test

1.alsactlの使用
alsactlはalsaのサウンドカードの駆動についていくつかの高度な設定を行うために使用する.システムには複数のサウンドカードが搭載されているが,サポートすることもできる.音量制御パネルで調整できないオプションがある場合があり,alsactlを用いて実現することができる.alsactlは指定したサウンドカードのドライバ設定情報をプロファイルに保存するか,指定したサウンドカードのドライバの設定情報をプロファイルから復元することができる.
alsactl  :

       alsactl [options] [store|restore] 

  :

       -h, --help
		      

       -f, --file
		         ,   /etc/asound.state.
              Select   the   configuration   file  to  use.  The  default  is
              /etc/asound.state


       -F, --force
		         .            .


       -d, --debug
		    ,        .

       -v, --version
		  alsactl   .

  :
	/etc/asound.state(   -f     )               .

例:
# rm /etc/asound.state -f
# alsactl store

2.aconnectの使用
aconnectはALSAシーケンサの接続マネージャです.ALSAシーケンサのポートを接続または切断するために使用されます.ポートは任意に定義できます.例えば、aconnectを使用すると、aseqviewによって確立された任意のデバイスポートに接続できます.
コマンド形式:
       aconnect [-d] [-options] sender receiver
       aconnect -i|-o [-options]
       aconnect -x

  :
    
       -d, --disconnect
		    .

       -e, --exclusive
		          .                  .

       -r, --real queue
		        ,             .

    
       -i, --input
		         .

       -o, --output
		         .

       -l, --list
		         .

    
       -x, --removeall
		      .

例:
    64:0 65:0:
           % aconnect 64:0 65:0
        ,       64:0   ,        65:0  .        65:1,
   64:0      ,         2     .
     ,  :
           % aconnect -d 64:0 65:0

                :
           % aconnect External:0 Emu8000:1

  -i         .-o         .
           % aconnect -i
           client 0: ’System’ [type=kernel]
               0 ’Timer           ’
               1 ’Announce        ’
           client 64: ’External MIDI-0’ [type=kernel]
               0 ’MIDI 0-0        ’

    -x          .
           % aconnect -x

3.alsamixerの使用
Alsamixerは端末インタフェースのサウンドカード音量調整器です.図のように:
    :
       alsamixer [options]

  :
       -h, -help
		      .

       -c 
		         .   0.

       -D 
		          .

       -g
		      .

       -s
		       .

   :
	  alsamixer   ,             :

       :
	     n,p	      .

	     +,-	                .

	B,=	          .

	M	      .    ,     .

	  	     .        "  ",           .     
		    .    ";",    "'"        .

	L	    .

       
       PageUp	  5   .

       PageDown	  5   .
	
       End	     0.

	     ,         .
	Q,W,E	    , ,      .

	Z,X,C	    , ,      .

	alt-q,ESC	  .

4.amidiの使用
amidiの役割はALSAのRawMIDIポートを読み書きすることです.amidiはコマンドラインツールで、MIDIデバイスにデータを独占モードで読み書きすることができます.
    :
       amidi options

  :
	-h,-V,-l,-L	      .
	-s,-r,-S,-d	    /    .

       -h, --help
		      .

       -V, --version
		     .

       -l, --list-devices
		      MIDI     .

       -L, --list-rawmidis
		    RawMIDI  .

       -p, --port=name
		      ALSA RawMIDI  .    ,     0   0.

       -s, --send=filename
		          MIDI  .       raw MIDI  (.syx,.mid  ).

       -r, --receive=filename
		 MIDI             .

       -S, --send-hex="..."
		         MIDI  .

       -d, --dump
		 MIDI      ,             .

       -t, --timeout= 
		    ,               ,       .

例:
       amidi -p hw:0 -s my_settings.syx
		  my_settings.syx  MIDI      hw:0.

       amidi -S ’
		  XG       .

       amidi -p virtual -d
		      RawMIDI  ,             .

5.amixerの使用
amixerはコマンドラインのALSAサウンドカード駆動レギュレータツールである.amixerはコマンドラインでALSAのレギュレータを制御し、マルチサウンドカードをサポートする.amixerはパラメータを付けない場合、デフォルトのサウンドカードの設定情報を印刷する.
コマンド形式:
       amixer [-c card] [cmd]

  :
       help         .

       info             .

       scontrols	            .

       scontents	                 .

       set or sset   ...
			       .

       get or sget 
			        .

       controls	          .
		
       contents	            .

       cset   ...
		         .

       cget 	          .

  :
       [-c card]
		       .

       [-D device]
		          .    default.

       -h     Help
		      .

       -q
		    .       .

例:
      # amixer -c 1 sset Line,0 80%,40% unmute cap
	    2    "line"       80%,    40%,    ,   
	     .

      # amixer -c 2 cset numid=34 40%
	   34      40%.

6.arecord,aplayの使用
arecord,aplayはコマンドラインのALSAサウンドカード駆動の録音と再生ツールである.arecordはコマンドラインのALSAサウンドカード駆動の録音プログラムである.多種のファイルフォーマットと複数のサウンドカードをサポートする.aplayはコマンドライン再生ツールであり,多種のファイルフォーマットをサポートする.
コマンド形式:
       arecord [flags] [filename]
       aplay [flags] [filename [filename]] ...

  :
       -h, --help
               .

       --version
                    .

       -l, --list-devices
                           .

       -L, --list-pcms
                  PCM  .

       -D, --device=NAME
		  PCM    .

       -q --quiet
		    .

       -t, --file-type TYPE
		    (voc,wav,raw au).

       -c, --channels=#
		     .

       -f --format=FORMAT
		    .    :S8  U8  S16_LE  S16_BE  U16_LE
              U16_BE  S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE
              FLOAT_LE  FLOAT_BE  FLOAT64_LE  FLOAT64_BE   IEC958_SUBFRAME_LE
              IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM

       -r, --rate=#
		    .

       -d, --duration=#
		      ,    .

       -s, --sleep-min=#
		        .

       -M, --mmap
		mmap .

       -N, --nonblock
		       .

       -B, --buffer-time=#
		      .     .

       -v, --verbose
		  PCM     .

       -I, --separate-channels
		             .

例:
       aplay -c 1 -t raw -r 22050 -f mu_law foobar
	  raw  foobar. 22050Hz,   ,8 ,mu_law  .

       arecord -d 10 -f cd -t wav -D copy foobar.wav
	 CD    foobar.wav  10  .  PCM "copy".

7.aplaymidiの使用
aplaymidiは標準的なMIDIファイルを再生するためのコマンドラインツールであり、1つ以上のALSAポートでMIDIファイルを再生することができる.
コマンド形式:
       aplaymidi -p client:port[,...] [-d delay] midifile ...

  :
       -h, --help
                    .

       -V, --version
                    .

       -l, --list
                           .

       -p, --port=client:port,...
		    .

       -d, --delay=seconds
		  MIDI     ,    .

8.arecordmidiの使用
arecordmidiは、標準的なMIDIファイルを記録するために用いる.arecordmidiは、1つまたは複数のALSAポートから1つの標準的なMIDIファイルを記録することができる.
コマンド形式:
       arecordmidi -p client:port[,...] [options] midifile

  :
       -h,--help
                    .

       -V,--version
                   .

       -l,--list
                         .

       -p,--port=client:port,...
		    .

       -b,--bpm=beats
		  MIDI     ,   120 BPM.

       -f,--fps=frames
		    .

       -s,--split-channels
		               MIDI  .

       -d,--dump
		      ,               

9.aseqnetの使用
ASeqnetはALSAレギュレータのネットワーク接続ツールである.ASeqnetはALSAレギュレータのクライアントプログラムであり、ネットワーク上からイベントパケットを送受信することができる.ネットワーク上にホストAがあり、ホストB.Aはサーバー側であり、Bはクライアントである.ALSAレギュレータシステムは同僚が2つのサービスに運行しなければならない.それからサーバーポートを創立する:
hostA% aseqnet
 sequencer opened: 128:0

HostBで実行:
           hostB% aseqnet hostA
           sequencer opened: 132:0

ホストA:128:0に送信データはホストB:132:0に転送され、その逆も同様である.
コマンド形式:
       aseqnet [remotehost]

  :
       -p port
		  TCP       .

       -s addr
		           .

       -d addr
		           .
       -v
		      .

10.iecsetの使用
IEC 958状態ビットの設定または出力.iecsetは、ALSAのAPIを介してIEC 958(またはS/PDIF)状態ビット情報を設定または出力する小道具である.iecsetを直接実行すると、現在のIEC 958の状態情報が出力される.コマンドフォーマット:
       iecset [options] [cmd arg...]

  :
       -D device
		          .

       -c card
		          .

       -x
		  AESx         .

       -i
		           ,      .

  :
       professional 
		    (true)     (false).

       audio 
		    (true).

       rate 
		    ,  Hz.

       emphasis 
		     .0 = none, 1 = 50/15us, 2 = CCITT.

       lock 
		   .

       sbits 
		   :2 = 20bit, 4 = 24bit, 6 = undefined.

       wordlength 
		    :0  =  No,  2 = 22-18 bit, 4 = 23-19 bit, 5 = 24-20
              bit, 6 = 20-16 bit. 

       category 
		  :  0 0x7f.

       copyright 
		        .

       original 
		    :

例:
    IEC958  .
$ iecset
	Mode: consumer
	Data: audio
	Rate: 44100 Hz
	Copyright: permitted
	Emphasis: none
	Category: general
	Original: 1st generation
	Clock: 1000 ppm

     1    IEC958   .
$ iecset -Dhw:0
	Mode: consumer
	Data: non-audio
	Rate: 44100 Hz
	Copyright: permitted
	Emphasis: none
	Category: general
	Original: 1st generation
	Clock: 1000 ppm

         ,   "   " .
$ iecset pro off audio off
	Mode: consumer
	Data: non-audio
	Rate: 44100 Hz
	Copyright: permitted
	Emphasis: none
	Category: general
	Original: 1st generation
	Clock: 1000 ppm

11.speaker-testの使用
speaker-testはALSA駆動の音声テストツールである.speaker-testは左右のチャネルをそれぞれ個別にテストすることができる.
コマンド形式:
       speaker-test [-options]

  :
       -c | --channels NUM
		      .

       -D | --device NAME
		     PCM   .

       -f | --frequency FREQ
		      .

       --help
		      .

       -b | --buffer TIME
		       .0           .

       -p | --period TIME
		         .

       -r | --rate RATE
		     .

       -t | --test pink|sine|wav
              -t pink	         .
              -t sine	            .
              -t wav	       WAV  .

       -l | --nloops COUNT
		         .

       -w | --wavfile
		        wav  .

       -W | --wavdir
		      wav     .   /usr/share/sounds/alsa.

例:
               
#  speaker-test -Dplug:front -c2

          4    .
#  speaker-test -Dplug:surround40 -c4

         5.1    .
# speaker-test -Dplug:surround51 -c6

       .
# speaker-test -Dplug:surround51 -c6 -s1 -f75