FreeBSD で音楽を聞く方法



掲載1996年11月10日


FreeBSDでもWindowsのように音楽を演奏させる事ができます。ここでは、幅広く使わ れている SoundBlaster16 の設定方法を説明します。SoundBlaster 以外でも方法は 同じですので、参考にして下さい。

  1. まず、調べる事。

    SoundBlaster が IRQ などの資源をどのくらい使っているかを調べて下さい。普通は 説明書などに記載されているはずです。 もし、Windows95 などと共存していると簡単に調べる事ができます。今回は、 Windows95 を使って調べたいと思います。各種設定を行えるコントロールパネル のなかにシステムという、項目があると思います。 そのシステムのデバイスマネージャーで使っているサウンドのプロパティをみて 下さい。I/OポートアドレスやIRQやDMAの値が分ると思います。この値を全てメモして 下さい。

  2. カーネルの再コンパイル

    1. 再コンパイルの準備

      /usr/src の下に sys というディレクトリがあるでしょうか? sys はカーネルの 再コンパイルに必要なディレクトリですので、/stand/sysinstall などでインストール して下さい。

    2. 設定ファイルへ追加

      /usr/src/sys/i386/conf の下に自分のマシンの設定ファイルを用意します。GENERIC を コピーして使うのが一般的です。既に用意してある場合はそのファイルをコピーして 使ってください。
      このファイルに何を追加するかは同じディレクトリにある、LINT というファイルを 参考にします。このファイルには使用できるほぼ全ての設定が書いてあります。
      この LINT を利用して sound 関連の1部を取って来ます。利用するのは

      controller      snd0 
      device sb0      at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
      device sbxvi0   at isa? drq 5
      device sbmidi0  at isa? port 0x330
      device opl0     at isa? port 0x38a
      
      の5行です。 ここで、先程しらべた I/OポートアドレスやIRQと比べて下さい。ちなみに私のマシン での場合は、I/Oアドレスの 330番台を SCSI に取られているので
      I/Oアドレス  0220-022F
      I/Oアドレス  0300-0301
      I/Oアドレス  0388-038B
      IRQ          05
      DMA          01
      DMA          05
      
      となっています。、上の設定を利用して、
      controller      snd0
      device sb0      at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
      device sbxvi0   at isa? drq 5
      device sbmidi0  at isa? port 0x300
      device opl0     at isa? port 0x388 conflicts
      
      とゆうよう書き換え5行加えました。

    3. カーネルの再コンパイル

      今度は実際に自分の設定ファイルを使ってカーネルを作り直して下さい。
      # config 設定ファイル
      # cd ../../compile/設定ファイル
      # make depend
      # make 
      

    4. そのカーネルを指定してリブート

      それではできた kernel を / に別の名前でコピーして reboot してみて下さい。 Boot: と出て来たら新しい kernel の名前を指定してあげて下さい。それで でうまく起動したら、dmesg コマンドで本当に認識しているか確認してみて下さい。

  3. デバイスの作成

    たとえ、SoundBlaster が認識されてもこのままでは音がでません。そこで、音を出力 するデバイスを作ってあげなくてはいけません。/dev にデバイスが全て置いてあり ますがそこに、MAKEDEV というシェルスクリプトがあります。これを実行すると、 さまざまなデバイスを作る事ができます。今回は SoundBlaster16 ですので、
    # cd /dev
    # ./MAKEDEV snd
    
    として下さい。これはサウンド関連のデバイスを作るという事です。

  4. 音楽を聞こう

    UNIX の代表的なサウンドファイルは .au で終るものです。まず、それを聞いてみたい と思います。このファイルは、
    # cat test.au > /dev/audio 
    
    このように、デバイスに直接流し込んでやる事で聞く事ができます。その他には、 CD を演奏した音楽を聞いたり、playmidi などで MIDI 形式のものを聞いたり、 sox を利用する事で、 .wav の拡張子がつくファイルを .au に直して聞いたりする事 ができます。

AKIYAMA Home Page FreeBSDについて AWAホームページ


akiyama@web-sanin.co.jp