LECTURE 1 ¥«¡¼¥Í¥ëÁȤ߹þ¤ß¥µ¥¦¥ó¥Éµ¡Ç½¤ÎÀßÄê

¡û ¤Ï¤¸¤á¤Ë

¤³¤³¤Ç¤Ï¡¢°Ê¹ß¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç»ÈÍѤ¹¤ë API ¤òÄ󶡤·¤Æ¤¤¤ë OSS ( Open Sound System ) ( Àµ¤·¤¯¤Ï OSS/Free ) ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿¸å¡¢¥µ¥¦¥ó¥Éµ¡Ç½¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ´Êñ¤ËÀâÌÀ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡û OSS ( Open Sound System )

Linux® ¤Î¥µ¥¦¥ó¥Éµ¡Ç½¤Ï¡¢Åö½é OSS ( Open Sound System¡¢¾¦ÍÑ ) ¤ÎÈó¾¦ÍÑÈǤǤ¢¤ë OSS/Free ¤¬¥«¡¼¥Í¥ë¤Ë¼è¤ê¤³¤Þ¤ì¤ë·Á¤ÇÄ󶡤µ¤ì¤Þ¤·¤¿¡£¤½¤Î¸å¥«¡¼¥Í¥ë 2.2 ·ÏÎó¤Ë°Ü¹Ô¤¹¤ëºÝ¤Ë¼ã´³»ÅÁȤߤ¬ÊѤï¤Ã¤¿¤è¤¦¤Ç¡¢¿·¤¿¤Ê¥µ¥¦¥ó¥Éµ¡Ç½¤ÎÏÈÁȤߤ¬¹½ÃÛ¤µ¤ì½¾Íè¤Î OSS/Free Ä󶡤Υ⥸¥å¡¼¥ë¤Ï¤½¤ÎÏÈÁȤߤÎÇÛ²¼¤ÇÆ°ºî¤¹¤ëÍͤˤʤê¤Þ¤·¤¿ (¤È»×¤¤¤Þ¤¹ m(__)m )¡£

¤³¤Îή¤ì¤È¤ÏÊ̤ˡ¢ALSA ( Advanced Linux Sound Architecture ) ¤È¸Æ¤Ð¤ì¤ë¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¥·¥¹¥Æ¥à¤¬¤¢¤ê¤Þ¤¹¡£ALSA ¤Ï OSS ¤è¤ê¤â¶¯ÎϤʥµ¥¦¥ó¥É API ¤òºî¤í¤¦¤È¤¤¤¦°Õ¿Þ¤Ç¤¿¤Á¤¢¤¬¤Ã¤¿¥×¥í¥¸¥§¥¯¥È¤Ç¡¢OSS ¤ÎÊý¤ÇÂбþ¤·¤Æ¤¤¤Ê¤¤¥µ¥¦¥ó¥É¥«¡¼¥É¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¢¤Á¤³¤Á¤Î¾ðÊó¤ò¸«¤ë¤È¡¢ALSA ¤ÎÊý¤¬²»¼Á¤¬Îɤ¤¤È¤¤¤¦°Õ¸«¤¬Â¿¿ô¤¦¤«¤¬¤¨¤Þ¤¹¡£¤Ê¤ª¡¢Linux ¥«¡¼¥Í¥ë 2.5.x ¤Ë¤ª¤¤¤Æ ALSA ¤¬¥«¡¼¥Í¥ë¤Ë¥Þ¡¼¥¸¤µ¤ì¤¿ÍͤǤ¹ ( Àµ³Î¤Ë¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤«¤ÏÄ´ºº¤·¤Æ¤¤¤Þ¤»¤ó )¡£

ALSA ¤Ï OSS ¸ß´¹ API ¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤Ç¡¢OSS API ¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥°¤¬²Äǽ¤Ç¤¹¡£

OSS API ¤Ç¤Ï¡¢Ä̾ï¤Î¥­¥ã¥é¥¯¥¿¥Ç¥Ð¥¤¥¹¤ÎÁàºî¤ÈƱÍͤ˥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤òÁàºî¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢open() ¤Ç¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤ò³«¤­¡¢read() ¤ÇÆɤ߽Ф·¡¢write() ¤Ç½ñ¤­½Ð¤·¡¢ioctl() ¤Ç¥Ç¥Ð¥¤¥¹¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£OSS ¤Ç¤Î¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Î¹½À®¤Ï¿Þ 1 ¤ÎÍͤˤʤäƤ¤¤Þ¤¹¡£

--- ¿Þ 1 ---
001structure.jpg

°Ê²¼¤Ë³Æ¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Î³µÍפòµ­¤·¤Þ¤¹¡£

  • /dev/mixer

    /dev/mixer ¤Ï¡¢ÍÍ¡¹¤ÊÆþ½ÐÎϲ»¸»¤Î¥ì¥Ù¥ë¤ÎÄ´À°¡¢ÆþÎϸ»¤ÎÁªÂò¡¢ÆþÎÏ¿®¹æ¤Î½Å¤Í¹ç¤ï¤»¤ò ¹Ô¤¦¤¿¤á¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Ê£¿ô¤Î¥ß¥­¥µ¡¼¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢/dev/mixer1 °Ê¹ß ¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£

  • /dev/sndstat

    ¤³¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Î¾ðÊó¤ò¿Í´Ö¤¬Æɤߤ䤹¤¤·Á¼°¤Ë¤·¤Æ ½ÐÎϤ¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ê¡¢¥µ¥¦¥ó¥É¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£'cat /dev/sndstat' ¤È¤¹¤ë¤È¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Ë´Ø¤¹¤ë¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£

  • /dev/dsp

    /dev/dsp ¤Ï¡¢PCM ¥Ç¡¼¥¿¤ÎºÆÀ¸¡¢¤ª¤è¤Ó¥¢¥Ê¥í¥°ÆþÎϤò¥µ¥ó¥×¥ê¥ó¥°¤·¤Æ Ï¿²»¤¹¤ë¤¿¤á¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥Ç¥¸¥¿¥ë¥µ¥ó¥×¥ê¥ó¥°ÍѤΥǥХ¤¥¹¤¬Ê£¿ô¸ºß¤¹¤ë¾ì¹ç¤Ï /dev/dsp1 °Ê¹ß¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÆþÎϸ»¤Ï¥Þ¥¤¥¯ÆþÎÏ ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

  • /dev/audio

    /dev/dsp ¤È¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¦¥ó¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤¬°Û¤Ê¤ë¤À¤±¤Ç¡¢Â¾¤ÏÁ´¤¯ /dev/dsp ¤ÈƱ¤¸¤Ç¤¹¡£

  • /dev/sequencer

    ¥µ¥¦¥ó¥É¥«¡¼¥ÉÆâÉô¤Î¥·¥ó¥»¥µ¥¤¥¶¥Ç¥Ð¥¤¥¹¤ä¡¢MIDI ¥Ý¡¼¥È¤ØÀܳ¤µ¤ì¤¿³°Éô¥·¥ó¥»¥µ¥¤¥¶ ¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤òÄ󶡤¹¤ë¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£

  • /dev/midi

    MIDI ¥Ð¥¹¤Ø¤ÎÄã¥ì¥Ù¥ë¤Ê¥¢¥¯¥»¥¹¤ò¹Ô¤¦¤¿¤á¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£


¡û ¥«¡¼¥Í¥ë¤ÎÀßÄꤪ¤è¤Ó¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É

¼ÂºÝ¤Ë²»¤òÌĤ餹¤¿¤á¤Ë¤Ï¡¢¤Þ¤º¥«¡¼¥Í¥ë¤Î¥µ¥¦¥ó¥Éµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°Ê¹ß¤ÎÀâÌÀ¤Ï Linux ¥«¡¼¥Í¥ë 2.2.x ¤òÂоݤȤ·¤Þ¤¹ ( 2.4.x ¤Ç¤âƱÍͤËÀßÄê¤Ç¤­¤Þ¤¹¡£2.5.x ¤Ç ALSA ¤¬¥Þ¡¼¥¸¤µ¤ì¤¿°Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏÄ´¤Ù¤Æ¤Ê¤¤¤Î¤Çʬ¤«¤ê¤Þ¤»¤ó m(__)m )¡£¤Ê¤ª¡¢( ¥«¡¼¥Í¥ë 2.2.x ¡Á 2.4.x ¤Ç ) ALSA ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ç¤â¡¢°Ê²¼¤Î¼ê½ç¤Î 1 ¤Î¤ß¤Ï¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹ ( ALSA ¤Î¥É¥é¥¤¥Ð¤¬ 1 ¤ÇÍ­¸ú¤Ë¤Ê¤ë¥â¥¸¥å¡¼¥ë¤òɬÍפȤ·¤Æ¤¤¤ë )¡£

make menuconfig¡¢make xconfig ¤Ê¤É¤Ç¥«¡¼¥Í¥ë¤ÎÀßÄê¥á¥Ë¥å¡¼¤ËÆþ¤ê¡¢Sound ¤Ë¤Ä¤¤¤ÆÀßÄꤷ¤Þ¤¹¡£

  1. Sound ¤ò y ¤« m ¤Ë¤¹¤ë¡£
  2. OSS sound modules ¤È¤¤¤¦¹àÌܤޤǤ˼«Ê¬¤¬»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬Â¸ºß¤¹¤ë¤Ê¤é¡¢ ¤½¤Î¹àÌܤò y ¤« m ¤Ë¤·¤Æ½ªÎ»¤¹¤ë¡£
  3. 2 ¤Ç³ºÅö¹àÌܤ¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤é¡¢OSS sound modules ¤ò y ¤« m ¤Ë¤¹¤ë¡£
  4. Additional low level sound drivers ¤Þ¤Ç¤Ë¼«Ê¬¤¬»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬Â¸ºß¤¹¤ë¤Ê¤é¡¢ ¤½¤Î¹àÌܤò y ¤« m ¤Ë¤·¤Æ½ªÎ»¤¹¤ë¡£
  5. Additional low level sound drivers ¤ò y ¤« m ¤Ë¤·¤Æ¡¢¼«Ê¬¤¬»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É ¤ò y ¤« m ¤Ë¤·¤Æ½ªÎ»¤¹¤ë¡£
  6. ¤Þ¤À»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬½Ð¤ÆÍè¤Ê¤«¤Ã¤¿¤é¡¢Linux Sound System ¤Ç¤Ï¤Þ¤ÀÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤¢¤­¤é¤á¤Æ ALSA ¤òƳÆþ¤¹¤ë¡£

°Ê¾å¤òÀßÄꤷ¤¿¤é¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢¤½¤Î¥«¡¼¥Í¥ë¤Ç¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Þ¤¹¡£Á´¤Æ¤Ë¤Ä¤¤¤Æ y ¤òÁªÂò¤·¤¿¾ì¹ç¤Ï¥µ¥¦¥ó¥Éµ¡Ç½¤¬´°Á´¤Ë¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤ë¤¿¤á¡¢µ¯Æ°»þ¤Ë¥µ¥¦¥ó¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤Ï¤º¤Ç¤¹¡£µ¯Æ°Ãæ¤Î¥á¥Ã¥»¡¼¥¸¤Ç³Îǧ¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£

°ìÉô¡¢¤¢¤ë¤¤¤ÏÁ´¤Æ¤ò¥â¥¸¥å¡¼¥ë¤Ë¤·¤¿¾ì¹ç¤Ï¡¢µ¯Æ°¤·¤¿¸å¤Ë¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

Á°½Ò¤Î¼ê½ç¤Î 1 ¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤Ï soundcore.o ¤Ç¤¹¡£¤³¤ì¤ò m ¤Ë¤·¤¿¾ì¹ç¤Ï soundcore.o ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£

insmod soundcore.o

2 ¤Ç»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬Â¸ºß¤·¤¿¾ì¹ç¤Ï¡¢Âбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¡£²¼¤ÎÎã¤Ç¤Ï insmod ¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¥í¡¼¥É»þ¤Ë unresolved symbol ¤Ê¤ó¤È¤«¤¬¤¿¤¯¤µ¤ó½Ð¤ëÍͤǤ¢¤ì¤Ð modprobe ¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤¡£É¬Íפʥ⥸¥å¡¼¥ë¤òÁ´¤Æ¥í¡¼¥É¤·¤Æ¤¯¤ì¤Þ¤¹¡£¤Ê¤ª¡¢2 ¤ÇÁªÂò¤Ç¤­¤ë¥â¥¸¥å¡¼¥ë¤ÏÁ´¤Æ soundcore.o ¤òɬÍפȤ·¤Þ¤¹¡£

insmod [¼«Ê¬¤¬ÁªÂò¤·¤¿¥«¡¼¥É¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë].o

3 ¤ò m ¤Ë¤·¤¿¾ì¹ç¤Ï¡¢sound.o ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£

insmod sound.o

sound.o ¤Ï¡¢¸µ¡¹ OSS/Free ¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤¿¥µ¥¦¥ó¥É¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ë¤¿¤á¤Î¥â¥¸¥å¡¼¥ë¤ÎÍͤǤ¹¡£¤â¤·¤¯¤Ï¡¢¤³¤ì¤â OSS/Free ¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤¿¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤½¤ÎÊÕÎɤ¯Ê¬¤«¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢4 ¤ÇÁªÂò¤Ç¤­¤ë¥â¥¸¥å¡¼¥ë¤Ï OSS/Free ¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤¿¤â¤Î¤Ç¤¢¤ê¡¢¤½¤ì¤é¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤³¤Î¥â¥¸¥å¡¼¥ë¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢¤³¤Î sound.o ¤Ï soundcore.o ¤ò»ÈÍѤ·¤Þ¤¹¡£

4 ¤Ç»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬Â¸ºß¤·¤¿¾ì¹ç¤Ï¡¢Âбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤³¤ÇÁªÂò¤Ç¤­¤ë¥â¥¸¥å¡¼¥ë¤Ï sound.o ¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢Àè¤Ë sound.o ( + soundcore.o ) ¤ò¥í¡¼¥É¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£¤Þ¤¿Â¾¤Î¥â¥¸¥å¡¼¥ë¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¾ì¹ç¤â¤¢¤ëÍͤʤΤǡ¢¤³¤Á¤é¤Ï modprobe ¤ÇÁȤ߹þ¤àÊý¤¬ÌµÆñ¤«¤â¤·¤ì¤Þ¤»¤ó¡£

5 ¤Ë¤Ä¤¤¤Æ¤Ï soundlow.o ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï OSS/Free ¤Ë´Þ¤Þ¤ì¤Ê¤¤Äã¥ì¥Ù¥ë¤Î¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤ò»È¤¦¾ì¹ç¤ËɬÍ×¤È Help ¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢6 ¤ÇÁªÂò¤·¤¿¥â¥¸¥å¡¼¥ë¤âÊ»¤»¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£

¡û /etc/modules.conf ¤Îµ­½Ò

Á°Àá¤ÇÀâÌÀ¤·¤¿Íͤˤ·¤Æ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¤¬¡¢Ëè²ó¼êÆ°¤Ç¥í¡¼¥É¤¹¤ë¤Î¤ÏÌÌÅݤǤ¹¡£¤Î¤Ç¡¢µ¯Æ°»þ¤Ë¼Â¹Ô¤µ¤ì¤ë¥¹¥¯¥ê¥×¥È ( rc.local ¤Ê¤É ) ¤Ë½èÍý¤òµ­½Ò¤·¤Æ¤ª¤¯¤«¡¢/etc/modules.conf ¤ËɬÍפʻö¹à¤òµ­½Ò¤·¤Æ¤ª¤¯¤³¤È¤Ç¼«Æ°Åª¤Ë¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¤Æ¤¯¤ì¤ëÍͤˤ·¤Þ¤¹¡£¤³¤³¤Ç¤Ï modules.conf ¤Ë²¿¤ò½ñ¤¤¤Æ¤ª¤±¤ÐÎɤ¤¤«¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£

¤Þ¤º¡¢modules.conf ¤Ç¤Ï¤Ê¤¯ conf.modules ¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¡©¤È¤«¡¢¤É¤Ã¤Á¤ËÀßÄꤹ¤ë¤Î¤¬Àµ¤·¤¤¤Î¤«¡©¤È¤«¤¤¤í¤¤¤í°Õ¸«¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤³¤ì¤Ï modutils ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ë¤È¤¤¤¦¤Î¤¬²óÅú¤Ç¤¹¡£

modutils ¤È¤Ï¥«¡¼¥Í¥ë¤È°ì½ï¤Î¾ì½ê¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥×¥í¥°¥é¥à¤Î½¸¤Þ¤ê¤Ç¡¢insmod ¤ä modprobe ¤Ê¤É¤Î¥Ä¡¼¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥«¡¼¥Í¥ë¤¬É¬Íפ˱þ¤¸¤Æ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¶õ´Ö¤Ç modprobe ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î»þ¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î»ØÄê̵¤·¤Ç modprobe ¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤¹¤¬¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Î»ØÄê̵¤·¤Î¾ì¹ç¤Ë»²¾È¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤ¬ modutils 2.3.4 °Ê¹ß¤Ç¤Ï /etc/modules.conf ¤Ç¤¢¤ê¡¢¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï /etc/conf.modules ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡£¤Ê¤ª¡¢modutils ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï /sbin/lsmod --version ¤« /sbin/modprobe -V ¤Ç³Îǧ¤Ç¤­¤Þ¤¹¡£

¼¡¤Ë²¿¤ò½ñ¤±¤ÐÎɤ¤¤«¤Ë¤Ä¤¤¤Æ¡¢ºÇ¤âñ½ã¤Êµ­½ÒÎã¤ò¤ª¸«¤»¤·¤Þ¤¹¡£

  1. soundcore.o ¤ò¥«¡¼¥Í¥ëÁȤ߹þ¤ß¤Ë¤·¤¿¾ì¹ç
      alias sound-slot-0 [»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÂбþ¤·¤¿¥â¥¸¥å¡¼¥ë̾]
    
    
  2. soundcore.o ¤ò¥â¥¸¥å¡¼¥ë¤Ë¤·¤¿¾ì¹ç
      alias char-major-14 [»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÂбþ¤·¤¿¥â¥¸¥å¡¼¥ë̾]
    
    

    ¤â¤·¤¯¤Ï

      alias char-major-14 soundcore
      alias sound-slot-0 [»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÂбþ¤·¤¿¥â¥¸¥å¡¼¥ë̾]
    
    

¾å¤Îµ­½ÒÎã¤Ë¤ª¤¤¤Æ¡¢»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÂбþ¤·¤¿¥â¥¸¥å¡¼¥ë̾¤Ë¤Ï .o ¤òÉÕ¤±¤Þ¤»¤ó¡£

²¿¸Î¤³¤ÎÍͤʵ­½Ò¤ò¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ /dev/dsp ¤Ê¤É¤Î¥µ¥¦¥ó¥ÉÍѥǥХ¤¥¹¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤¿ºÝ¤Ë¥«¡¼¥Í¥ë¤¬¤É¤Î¤è¤¦¤Ë¥â¥¸¥å¡¼¥ë¤òÁȤ߹þ¤à¤«¤È¶¦¤ËÀâÌÀ¤·¤Þ¤¹¡£

¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ /dev/dsp ¤Ê¤É¤Î¥­¥ã¥é¥¯¥¿¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤¿¾ì¹ç¡¢Âбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¤½¤Î¥â¥¸¥å¡¼¥ë¤Ë¥¢¥¯¥»¥¹¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£Á°½Ò¤Î 1 ¤ÎÎã¤Î¾ì¹ç¡¢soundcore.o ¤Ï´û¤Ë¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£soundcore.o ¤Ë½é¤á¤Æ¥¢¥¯¥»¥¹¤·¤¿»þ¤Ë¤Ï¡¢sound-slot-%i ¤È¤¤¤¦Ì¾Á°¤Ç»²¾È¤µ¤ì¤ë¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹ ( %i ¤Ï¥µ¥¦¥ó¥É¥«¡¼¥É¤ÎÈֹ档1ËçÌÜ¤Ï 0¡¢¤½¤ì°Ê¹ß 1, 2, ... ¤È³¤¯ )¡£¤è¤Ã¤Æ¡¢1 ¤ÎÎã¤ÎÍÍ¤Ë sound-slot-%i ¤È¤¤¤¦Ì¾Á°¤ËÂФ·¤Æ»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥«¡¼¥ÉÍѤΥ⥸¥å¡¼¥ë¤ò³ä¤êÅö¤Æ¤Æ¤ª¤±¤ÐÎɤ¤¤Î¤Ç¤¹¡£

¼¡¤Ë 2 ¤ÎÎã¤ÎÍͤ˥ǥХ¤¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤¬¥í¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥«¡¼¥Í¥ë¤ÏÂоݤΥǥХ¤¥¹¥Õ¥¡¥¤¥ë¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤ò»ØÄꤷ¤Æ modprobe ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥á¥¸¥ã¡¼ÈÖ¹æ¤È¤Ï¥Ç¥Ð¥¤¥¹¤ò¶èÊ̤¹¤ë¤¿¤á¤ÎÈÖ¹æ¤Ç¤¢¤ê¡¢/dev/dsp ¤Ê¤É¤Î¥µ¥¦¥ó¥ÉÍѥǥХ¤¥¹¥Õ¥¡¥¤¥ë¤ÏÄ̾ï 14 ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î»þ modprobe ¤Î°ú¿ô¤Ë¤Ï char-major-14 ¤È¤¤¤¦Ê¸»úÎ󤬻ØÄꤵ¤ì¤Þ¤¹¡£¤è¤Ã¤Æ¡¢char-major-14 ¤È¤¤¤¦Ì¾Á°¤ËÂФ·¤Æ»ÈÍѤ¹¤ë¥â¥¸¥å¡¼¥ë¤ò³ä¤êÅö¤Æ¤Æ¤ª¤±¤ÐÎɤ¤¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£

1 ¤ÎÎã¤ÎÀâÌÀ¤ò¹Í¤¨¤ë¤È¡¢2 ¤ÎÎã¤Î¾ì¹ç¤Ï¸å¼Ô¤ÎÊý¤¬ÀµÅö¤Ê½ñ¤­Êý¤À¤ÈËͤϻפ¤¤Þ¤¹¤¬¡¢Á°¼Ô¤ÎÍͤ˽ñ¤¯¤ÈɬÍפʥ⥸¥å¡¼¥ë¤¬½ç¼¡ÁȤ߹þ¤Þ¤ì¤ë¤¿¤á¤½¤ì¤Ï¤½¤ì¤ÇÌäÂê¤Ï̵¤¤¤È»×¤¤¤Þ¤¹¡£¤Á¤Ê¤ß¤Ë modutils 2.3.5 °Ê¹ß¤Ç¤Ï char-major-14 ¤ËÂФ·¤Æ¥Ç¥Õ¥©¥ë¥È¤Ç soundcore ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤½¤Î¹Ô¤Ï¾Êά¤Ç¤­¤Þ¤¹¡£modutils 2.3.5 °ÊÁ°¤Ç¤Ï char-major-14 ¤ËÂФ·¤Æ sound ¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢sound.o ¤¬ soundcore.o ¤ò»ÈÍѤ¹¤ë¤¿¤á soundcore.o ¤â¼«Æ°Åª¤Ë¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£

½ñ¤¤¤Æ¤ß¤Æµ¤ÉÕ¤­¤Þ¤·¤¿¤¬¡¢·ë¶É soundcore ¤ÎÀßÄê¤Ï¾Êά¤Ç¤­¤ë¤Î¤Ç¤¹¤Í¡£¡£¡£(¾Ð)

°Ê¾å¤ÎÀßÄê¤Ë¤è¤Ã¤Æ´ðËÜŪ¤Ë¤Ï¥µ¥¦¥ó¥É¤ò»ÈÍѤǤ­¤ë¤Ï¤º¤Ê¤Î¤Ç¤¹¤¬¡¢¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤Æ¤Ï /dev/dsp ¤ÏÍ­¸ú¤Ë¤Ê¤ë¤±¤É /dev/mixer ¤ÏÍ­¸ú¤Ë¤Ê¤é¤Ê¤¤¤È¤«¡¢/dev/midi ¤Ï»È¤¨¤Ê¤¤¤È¤¤¤Ã¤¿º¹°Û¤¬À¸¤¸¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥É¥é¥¤¥Ð¤¬Á´¤¯Âбþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤ò½ü¤±¤Ð¡¢°Ê²¼¤ÎÍͤˤ·¤ÆľÀÜ»ØÄꤹ¤ì¤Ð»ÈÍѤǤ­¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£

alias sound-service-0-0 [/dev/mixer     ÍѤΥ⥸¥å¡¼¥ë̾]
alias sound-service-0-1 [/dev/sequencer ÍѤΥ⥸¥å¡¼¥ë̾]
alias sound-service-0-2 [/dev/midi      ÍѤΥ⥸¥å¡¼¥ë̾]
alias sound-service-0-3 [/dev/dsp       ÍѤΥ⥸¥å¡¼¥ë̾]
alias sound-service-0-6 [/dev/sndstat   ÍѤΥ⥸¥å¡¼¥ë̾]

sound-service-%i-%n ¤Ï¡¢soundcore.o ¤¬ sound-slot-%i ¤ËÂбþ¤·¤¿¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¤¿¸å¤Ë³¤±¤Æ¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£%i ¤Ï¥µ¥¦¥ó¥É¥«¡¼¥ÉÈÖ¹æ ( 1 ËçÌÜ¤Ï 0¡¢2 ËçÌÜ¤Ï 1¡¢... )¡¢%n ¤Ï¥µ¥¦¥ó¥Éµ¡Ç½¤ÎÊ̤òɽ¤¹ÈÖ¹æ¤Ç¤¹¡£%i ¤¬ 0 ¤Î¾ì¹ç¤Ï¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Î¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤Ë¤Ê¤ê¤Þ¤¹¡£%i ¤¬ 0 ¤Ç̵¤¤¾ì¹ç¤Ï¡¢%i ¤È¥µ¥¦¥ó¥Éµ¡Ç½ÈÖ¹æ¤ÎÁȤËÂбþ¤·¤¿ÃͤˤʤäƤ¤¤Þ¤¹ ( ¶ñÂÎŪ¤ÊÃͤλ»½Ð¤Ë¤Ä¤¤¤Æ¤ÏÄ´¤Ù¤Æ¤¤¤Þ¤»¤ó )¡£¤Þ¤¿¡¢»ÈÍѤ¹¤ë¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÂбþ¤·¤Æ¤¤¤ë¥µ¥¦¥ó¥Éµ¡Ç½¤¬°Û¤Ê¤ê¤Þ¤¹¡£

¤Ê¤ª¡¢¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤Æ¤Ï¥ª¥×¥·¥ç¥óÃͤòÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð ISA ¤Î¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ê¤É¤Ë¤Ï¡¢¥Ù¡¼¥¹ IO ¥Ý¡¼¥È¤Ê¤É¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥óÃͤò»ØÄꤹ¤ëÎã¤È¤·¤Æ¡¢ISA ¤Î SoundBlaster ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Îµ­½ÒÎã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£

alias sound-slot-0 sb
options sb io=0x220 irq=7 dma=1 dma16=5 mpu_io=0x330

insmod ¤Ê¤É¤ÇľÀÜ¥í¡¼¥É¤¹¤ë¾ì¹ç¤Ï¡¢/sbin/insmod sb io=0x220 irq= ... ¤ÎÍͤ˻ØÄꤷ¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄê¤Ç¤­¤ëÊÑ¿ô¤Ë²¿¤¬¤¢¤ë¤Î¤«¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤É¤¦¤¤¤¦Ãͤò»ØÄꤹ¤ì¤ÐÎɤ¤¤Î¤«¤Ë¤Ä¤¤¤Æ¤Ï¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¼¡Âè¤Ë¤Ê¤ë¤Î¤Ç¡¢¤³¤³¤Ç¤ÏÀâÌÀ¤·¤­¤ì¤Þ¤»¤ó¡£¸Ä¡¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¥µ¥¦¥ó¥É¥«¡¼¥É̾¤Ê¤É¤Ç¸¡º÷¤¹¤ë¤Ê¤É¤·¤ÆÄ´¤Ù¤Æ¤ß¤Æ²¼¤µ¤¤¡£