8.2 ¥µ¥¦¥ó¥É¥«¡¼¥É¤ÎÀßÄê

´ó¹Æ: Moses Moore. ºÆ¹½À®: Marc Fonvieille.

8.2.1 ¥·¥¹¥Æ¥à¤òÀßÄꤹ¤ë

ÀßÄê¤ò¤Ï¤¸¤á¤ëÁ°¤Ë¡¢¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë¥«¡¼¥É¤Î¥â¥Ç¥ë¡¢ ¤½¤Î¥«¡¼¥É¤¬»ÈÍѤ·¤Æ¤¤¤ë¥Á¥Ã¥×¡¢¤½¤·¤Æ PCI, ISA ¤É¤Á¤é¤Î¥«¡¼¥É¤Ê¤Î¤«¤ò³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤Ï PCI ¤ª¤è¤Ó ISA ¤ÎξÊý¤Î¥«¡¼¥É¤ËÉý¹­¤¯Âбþ¤·¤Æ¤¤¤Þ¤¹¡£ »ÈÍѤ·¤Æ¤¤¤ë¥«¡¼¥É¤¬Âбþ¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È ¤ÎÂбþ¥ª¡¼¥Ç¥£¥ª¥Ç¥Ð¥¤¥¹¤Î°ìÍ÷¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È¤Ë¤Ï¡¢ ¥«¡¼¥É¤ËÂФ·¤Æ¤É¤Î¥É¥é¥¤¥Ð¤òÍøÍѤ¹¤ì¤Ð¤è¤¤¤«¤Ë¤Ä¤¤¤Æ¤â¸ÀµÚ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¥µ¥¦¥ó¥É¥Ç¥Ð¥¤¥¹¤ò»È¤¦¤¿¤á¤Ë¡¢ ŬÀڤʥǥХ¤¥¹¥É¥é¥¤¥Ð¤òÆÉ¤ß¹þ¤Þ¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£ ¤³¤ì¤Ë¤ÏÆó¤Ä¤ÎÊýË¡¤Î¤É¤Á¤é¤«¤Ç¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ ¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï kldload(8) ¤ò»È¤Ã¤Æ¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤òñ¤ËÆÉ¤ß¹þ¤à¤³¤È¤Ç¤¹¡£ ¼¡¤Î¥³¥Þ¥ó¥É¤Ç¼Â¸½¤Ç¤­¤Þ¤¹¡£

# kldload snd_emu10k1

¤Þ¤¿¤Ï /boot/loader.conf ¥Õ¥¡¥¤¥ë¤Ë¤³¤Î¤è¤¦¤ÊŬÀڤʹԤò²Ã¤¨¤Æ¼Â¸½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

snd_emu10k1_load="YES"

°Ê¾å¤Ï Creative SoundBlaster® Live! ¥µ¥¦¥ó¥É¥«¡¼¥É¤ÎÎã¤Ç¤¹¡£ ¾¤ËÍøÍѲÄǽ¤ÊÆÉ¤ß¹þ¤ß²Äǽ¤Ê¥µ¥¦¥ó¥É¥â¥¸¥å¡¼¥ë¤Ï /boot/defaults/loader.conf ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤É¤Î¥É¥é¥¤¥Ð¤òÍøÍѤ¹¤ì¤Ð¤¤¤¤¤«³Î¤«¤Ç¤Ê¤±¤ì¤Ð¡¢ snd_driver ¥â¥¸¥å¡¼¥ë¤òÆÉ¤ß¹þ¤ó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£

# kldload snd_driver

snd_driver ¥â¥¸¥å¡¼¥ë¤Ï¡¢ °ìÈ̤˻ÈÍѤµ¤ì¤ë¥«¡¼¥É¤ËÂбþ¤·¤¿¥É¥é¥¤¥Ð¤ò¤Þ¤È¤á¤Æ°ìÅÙ¤ËÆÉ¤ß¹þ¤à¥á¥¿¥É¥é¥¤¥Ð¤Ç¤¹¡£ ¤³¤Î¥É¥é¥¤¥Ð¤ò»ÈÍѤ¹¤ì¤Ð¡¢Â®¤ä¤«¤ËÀµ¤·¤¤¥É¥é¥¤¥Ð¤òõ¤·½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ /boot/loader.conf ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ ¤¹¤Ù¤Æ¤Î¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤òÆÉ¤ß¹þ¤à¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

snd_driver ¥á¥¿¥É¥é¥¤¥Ð¤ÎÆÉ¤ß¹þ¤ß¸å¤Ë¡¢ ¤É¤Î¥É¥é¥¤¥Ð¤¬¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÁªÂò¤µ¤ì¤¿¤Î¤«¤òÃΤꤿ¤¤¤Î¤Ê¤é cat /dev/sndstat ¥³¥Þ¥ó¥É¤Ç /dev/sndstat ¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£

Æó¤ÄÌܤÎÊýË¡¤Ï¡¢ ¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¥É¥é¥¤¥Ð¤ò¥«¡¼¥Í¥ë¤ØÀÅŪ¤ËÁȤ߹þ¤à¤³¤È¤Ç¤¹¡£ °Ê²¼¤ÎÀá¤Ç¤Ï¡¢¤³¤ÎÊýË¡¤Ç¥Ï¡¼¥É¥¦¥§¥¢¤òÂбþ¤µ¤»¤ëÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£ ¥«¡¼¥Í¥ëºÆ¹½ÃÛ¤Î¾ÜºÙ¤Ï Chapter 9 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

8.2.1.1 ¥µ¥¦¥ó¥É¤ËÂбþ¤·¤¿¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤òÀßÄꤹ¤ë

¤Ï¤¸¤á¤Ë¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥ì¡¼¥à¥ï¡¼¥¯¥É¥é¥¤¥Ð sound(4) ¤ò¥«¡¼¥Í¥ë¤ËÄɲä·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£

device sound

¼¡¤Ë¡¢¥µ¥¦¥ó¥É¥«¡¼¥É¤ËÂбþ¤·¤¿¥É¥é¥¤¥Ð¤òÄɲä·¤Þ¤¹¡£ ¤½¤ì¤Ë¤Ï¡¢¤É¤Î¥É¥é¥¤¥Ð¤¬¥«¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤ë¤«¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ »ÈÍѤ·¤Æ¤¤¤ë¥«¡¼¥É¤ËÂФ¹¤ëÀµ¤·¤¤¥É¥é¥¤¥Ð¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È ¤ÎÂбþ¥ª¡¼¥Ç¥£¥ª¥Ç¥Ð¥¤¥¹¤Î°ìÍ÷¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð¡¢Creative SoundBlaster Live! ¥µ¥¦¥ó¥É¥«¡¼¥É¤Ï snd_emu10k1(4) ¥É¥é¥¤¥Ð¤¬Âбþ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£

device snd_emu10k1

¥É¥é¥¤¥Ð¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤òÆÉ¤ó¤Ç¡¢ Äɲ乤٤­¹½Ê¸¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ Âбþ¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Ë´Ø¤¹¤ë¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Î¶ñÂÎŪ¤Ê¹½Ê¸¤Ï¡¢ /usr/src/sys/conf/NOTES ¤Ë¤â¤¢¤ê¤Þ¤¹¡£

¤¹¤Ù¤Æ¤Î PnP ÈóÂбþ¤Î ISA ¥«¡¼¥É¤ËÅö¤Æ¤Ï¤Þ¤ë¤è¤¦¤Ë¡¢ PnP ÈóÂбþ¤Î ISA ¥µ¥¦¥ó¥É¥«¡¼¥É¤Ç¤Ï¡¢ ¥«¡¼¥Í¥ë¤Ë¥«¡¼¥É¤¬»ÈÍѤ¹¤ë»ñ¸» (IRQ, I/O ¥Ý¡¼¥È¤Ê¤É) ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¤Ï¡¢/boot/device.hints ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¤Ë¡¢loader(8) ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¡¢ÀßÄê¾ðÊó¤ò¥«¡¼¥Í¥ë¤ËÅϤ·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢PnP ÈóÂбþ¤Î¸Å¤¤ Creative SoundBlaster 16 (ISA Àܳ) ¤Ë¤Ï snd_sb16 ¤È¤È¤â¤Ë snd_sbc(4) ¥É¥é¥¤¥Ð¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤Î¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤òÄɲ乤ë¤ÈƱ»þ¤Ë¡¢

device snd_sbc
device snd_sb16

/boot/device.hints ¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¥¨¥ó¥È¥ê¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

¤³¤ÎÎã¤Ç¤Ï¡¢ I/O ¥Ý¡¼¥È¤Ë 0x220 ¤ò¡¢ IRQ ¤Ë 5 ¤ò»ÈÍѤ·¤Þ¤¹¡£

/boot/device.hints ¥Õ¥¡¥¤¥ë¤ËÍѤ¤¤ë¤Ù¤­¹½Ê¸¤Ï¡¢ sound(4) ¥É¥é¥¤¥Ð¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¡¢¤ª¤è¤Ó¡¢ ³Æ¥É¥é¥¤¥Ð¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

½é´üÀßÄê¤Ï°Ê¾å¤ÎÄ̤ê¤Ç¤¹¡£ ¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï¡¢ IRQ ¤ä¤½¤Î¾¤ÎÀßÄê¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤Î¥«¡¼¥É¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢ snd_sbc(4) ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£

8.2.2 ¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¥Æ¥¹¥È

¥«¡¼¥Í¥ë¤òÊѹ¹¤·¤ÆºÆµ¯Æ°¤¹¤ë¤«¡¢É¬ÍפȤʤë¥â¥¸¥å¡¼¥ë¤òÆÉ¤ß¹þ¤à¤È¡¢ ¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡ (dmesg(8)) ¤Ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬Ç§¼±¤µ¤ì¤¿¤³¤È¤¬¼¨¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£

pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>

¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¾õÂ֤ϡ¢/dev/sndstat ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)

¤³¤Î½ÐÎϤϥ·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤Ç¤·¤ç¤¦¡£ pcm ¥Ç¥Ð¥¤¥¹¤¬¤Ê¤±¤ì¤Ð¡¢ º£¤Þ¤Ç¤Î¼ê½ç¤ò¿¶¤êÊ֤äƤߤƤ¯¤À¤µ¤¤¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ò¤â¤¦°ìÅÙ¸«Ä¾¤·¤Æ¡¢ Àµ¤·¤¤¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤òÁªÂò¤·¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Ï Section 8.2.2.1 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

¤¹¤Ù¤Æ¤¦¤Þ¤¯¤¤¤±¤Ð¡¢¥µ¥¦¥ó¥É¥«¡¼¥É¤¬µ¡Ç½¤¹¤ë¤Ç¤·¤ç¤¦¡£ CD-ROM ¤Þ¤¿¤Ï DVD-ROM ¥É¥é¥¤¥Ö¤Î¥ª¡¼¥Ç¥£¥ª½ÐÎÏü»Ò¤¬¥µ¥¦¥ó¥É¥«¡¼¥É¤ÈŬÀÚ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ cdcontrol(1) ¤ò»È¤Ã¤Æ¥É¥é¥¤¥ÖÆâ¤Î CD ¤òºÆÀ¸¤Ç¤­¤Þ¤¹¡£

% cdcontrol -f /dev/acd0 play 1

audio/workman ¤Î¤è¤¦¤Ë¡¢¤è¤ê¤è¤¤¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ MP3 ¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¤òݤ¯¤¿¤á¤Ë audio/mpg123 ¤Î¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£

¼ê¤Ã¼è¤êÁ᤯¥«¡¼¥É¤ò¥Æ¥¹¥È¤¹¤ë¤Ë¤Ï¡¢ /dev/dsp ¥Ç¥Ð¥¤¥¹¤Ë¥Ç¡¼¥¿¤òÁ÷¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

% cat filename > /dev/dsp

¤³¤³¤Ç filename ¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£ ¤³¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¼Â¹Ô¤¹¤ë¤È»¨²»¤¬È¯À¸¤¹¤ë¤Ï¤º¤Ç¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥µ¥¦¥ó¥É¥«¡¼¥É¤¬¼ÂºÝ¤Ëưºî¤·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£

Note: ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É /dev/dsp* ¤Ï¡¢ ɬÍפȤµ¤ì¤ë»þ¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¸ºß¤»¤º¡¢ ls(1) ¤Î½ÐÎϤËɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£

¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¥ß¥­¥µ¥ì¥Ù¥ë¤Ï mixer(8) ¥³¥Þ¥ó¥É¤ÇÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï mixer(8) ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£

8.2.2.1 ¤è¤¯¤¢¤ëÌäÂê

¥¨¥é¡¼ ²ò·èÊýË¡
sb_dspwr(XX) timed out

»ÈÍѤ¹¤ë I/O ¥Ý¡¼¥È¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£

bad irq XX

»ÈÍѤ¹¤ë IRQ ¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥µ¥¦¥ó¥É¥«¡¼¥É¤Î IRQ ¤ÈÀßÄꤷ¤¿ IRQ ¤¬Æ±¤¸¤«¤É¤¦¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£

xxx: gus pcm not attached, out of memory

¥Ç¥Ð¥¤¥¹¤ò»ÈÍѤ¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò³ÎÊݤǤ­¤Þ¤»¤ó¡£

xxx: can't open /dev/dsp!

fstat | grep dsp ¤ò»È¤Ã¤Æ¡¢ ¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥Ç¥Ð¥¤¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«Ä´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ ÃíÌܤ¹¤Ù¤­¥È¥é¥Ö¥ë¥á¡¼¥«¤Ï esound ¤È KDE ¤Î¥µ¥¦¥ó¥Éµ¡Ç½¤Ç¤¹¡£

ºÇ¶á¤Î¥°¥é¥Õ¥£¥Ã¥¯¥«¡¼¥É¤ÎÃæ¤Ë¤Ï¡¢ HDMI ¤äÎà»÷¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍøÍѤ¹¤ë¤¿¤á¡¢ ¥°¥é¥Õ¥£¥Ã¥¯¥«¡¼¥É¼«¿È¤¬¥µ¥¦¥ó¥É¥«¡¼¥É¤ò»ý¤Ä¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥µ¥¦¥ó¥É¥Ç¥Ð¥¤¥¹¤Ë¤Ï¡¢ »þ¤È¤·¤ÆËÜÅö¤Î¥µ¥¦¥ó¥É¥«¡¼¥É¤è¤ê¼ã¤¤Èֹ椬ÉÕ¤±¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¡¢ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢ ¥µ¥¦¥ó¥É¥«¡¼¥É¤ò¥Ç¥Õ¥©¥ë¥È¥×¥ì¥¤¥Ð¥Ã¥¯¥Ç¥Ð¥¤¥¹¤È¤·¤ÆÍøÍѤǤ­¤Þ¤»¤ó¡£ ¤³¤Î¤³¤È¤¬¸¶°ø¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢dmesg ¤ò¼Â¹Ô¤·¤Æ pcm ¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£ °Ê²¼¤Î¤è¤¦¤Ê½ÐÎϤòÆÀ¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£

...
hdac0: HDA Driver Revision: 20100226_0142
hdac1: HDA Driver Revision: 20100226_0142
hdac0: HDA Codec #0: NVidia (Unknown)
hdac0: HDA Codec #1: NVidia (Unknown)
hdac0: HDA Codec #2: NVidia (Unknown)
hdac0: HDA Codec #3: NVidia (Unknown)
pcm0: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 0 nid 1 on hdac0
pcm1: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 1 nid 1 on hdac0
pcm2: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 2 nid 1 on hdac0
pcm3: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
hdac1: HDA Codec #2: Realtek ALC889
pcm4: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1
pcm5: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1
pcm6: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1
pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
...

¤³¤³¤Ç¡¢¥°¥é¥Õ¥£¥Ã¥¯¥«¡¼¥É (NVidia) ¤Ë¤Ï¡¢¥µ¥¦¥ó¥É¥«¡¼¥É (Realtek ALC889) ¤è¤ê¼ã¤¤Èֹ椬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¥µ¥¦¥ó¥É¥«¡¼¥É¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥×¥ì¥¤¥Ð¥Ã¥¯¥Ç¥Ð¥¤¥¹¤È¤·¤ÆÍøÍѤ¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë hw.snd.default_unit ¤ò¥×¥ì¥¤¥Ð¥Ã¥¯¤Ç»ÈÍѤ¹¤ë¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

# sysctl hw.snd.default_unit=n

¤³¤³¤Ç¡¢n ¤Ï»ÈÍѤ¹¤ë¥µ¥¦¥ó¥É¥Ç¥Ð¥¤¥¹¤ÎÈÖ¹æ¤Ç¤¹¡£ ¤³¤ÎÎã¤Ç¤Ï 4 ¤Ç¤¹¡£ /etc/sysctl.conf ¤Ë°Ê²¼¤Î¹Ô¤òÆþ¤ì¤ë¤È¡¢ ¾ï¤ËÀßÄê¤ÎÊѹ¹¤¬È¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

hw.snd.default_unit=4

8.2.3 Ê£¿ô²»¸»¤ÎÍøÍÑ

´ó¹Æ: Munish Chopra.

ÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤Î¥µ¥¦¥ó¥É¥Ç¥Ð¥¤¥¹¤Î¶¦ÍѤËÂбþ¤·¤Æ¤¤¤Ê¤¤»þ¡¢ esound ¤Þ¤¿¤Ï artsd ¤Î¤è¤¦¤Ë Ʊ»þ¤ËºÆÀ¸¤¹¤ë¤³¤È¤Î¤Ç¤­¤ë²»¸»¤òÊ£¿ô¼ÂÁõ¤·¤Æ¤¤¤ë¤³¤È¤Ï¡¢ ¿¤¯¤Î¾ì¹ç˾¤Þ¤·¤¤¤³¤È¤Ç¤¹¡£

FreeBSD ¤Ç¤Ï¡¢ ²¾ÁÛ¥µ¥¦¥ó¥É¥Á¥ã¥Í¥ë ¤ò»È¤Ã¤Æ¤³¤ì¤ò¼Â¸½¤Ç¤­¡¢sysctl(8) ¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£ ²¾ÁÛ¥Á¥ã¥Í¥ë¤Ï¥«¡¼¥Í¥ëÆâ¤Ç¥µ¥¦¥ó¥É¤ò¹çÀ®¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¥µ¥¦¥ó¥É¥«¡¼¥É¤ÎºÆÀ¸¤ò¿½Å²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

²¾ÁÛ¥Á¥ã¥Í¥ë¤Î¿ô¤ò·è¤á¤ë¤Î¤Ë»°¤Ä¤Î sysctl ÊÑ¿ô¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ root ¥æ¡¼¥¶¤Ç°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4

¾åµ­¤ÎÎã¤Ç¤Ï»Í¤Ä¤Î²¾ÁÛ¥Á¥ã¥Í¥ë¤òÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤ÏÄ̾ïÍøÍѤ¹¤ë¾å¤Ç½½Ê¬¼ÂÍÑŪ¤Ê¿ô¤Ç¤¹¡£ dev.pcm.0.play.vchans=4 ¤È dev.pcm.0.rec.vchans=4 ¤Ï¡¢ pcm0 ¤¬ºÆÀ¸¤äÏ¿²»¤Î¤¿¤á¤Ë»ý¤Ã¤Æ¤¤¤ë²¾ÁÛ¥Á¥ã¥Í¥ë¤Î¿ô¤Ç¡¢ °ìÅ٥ǥХ¤¥¹¤¬¼è¤êÉÕ¤±¤é¤ì¤ë¤ÈÀßÄê¤Ç¤­¤Þ¤¹¡£ hw.snd.maxautovchans ¤Ï¡¢ kldload(8) ¤òÍѤ¤¤ÆÇ§¼±¤µ¤ì¤¿¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤Î²¾ÁÛ¥Á¥ã¥Í¥ë¿ô¤Ç¤¹¡£ pcm ¥â¥¸¥å¡¼¥ë¤Ï¥Ï¡¼¥É¥¦¥§¥¢¥É¥é¥¤¥Ð¤È¤ÏÆÈΩ¤·¤ÆÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢ ¸å¤Ç¤É¤ó¤Ê¤Ë¥Ç¥Ð¥¤¥¹¤òǧ¼±¤·¤Æ¤â hw.snd.maxautovchans ¤Ï²¾ÁÛ¥Á¥ã¥Í¥ë¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ ¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï pcm(4) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

Note: ¥Ç¥Ð¥¤¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤­¤Ë ²¾ÁÛ¥Á¥ã¥ó¥Í¥ë¤Î¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤Þ¤º¡¢¥ß¥å¡¼¥¸¥Ã¥¯¥×¥ì¡¼¥ä¤ä¥µ¥¦¥ó¥É¥Ç¡¼¥â¥ó¤È¤¤¤Ã¤¿ ¥Ç¥Ð¥¤¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£

/dev/dsp0 ¤òɬÍפȤ¹¤ë¥×¥í¥°¥é¥à¤¬°Õ¼±¤·¤Ê¤¯¤Æ¤â¡¢ ŬÀÚ¤Ê pcm ¥Ç¥Ð¥¤¥¹¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£

8.2.4 ¥ß¥­¥µ¥Á¥ã¥Í¥ë¤Î½é´üÃͤòÀßÄꤹ¤ë

´ó¹Æ: Josef El-Rayes.

³Æ¥ß¥­¥µ¥Á¥ã¥Í¥ë¤Î½é´üÃÍ¤Ï pcm(4) ¥É¥é¥¤¥Ð¤Î¥½¡¼¥¹¤Ë¥Ï¡¼¥É¥³¡¼¥Ç¥£¥ó¥°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ µ¯Æ°»þ¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤¿Ãͤò¥ß¥­¥µ¤ËÀßÄꤹ¤ë ¤µ¤Þ¤¶¤Þ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥Ç¡¼¥â¥ó¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ¤¢¤Þ¤ê¤è¤¤²ò·èÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ŬÀÚ¤ÊÃͤò /boot/device.hints ¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¥É¥é¥¤¥Ð¥ì¥Ù¥ë¤Ç¥ß¥­¥µ¤Î½é´üÃͤòÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤Þ¤¹¡£

hint.pcm.0.vol="50"

¤³¤ÎÎã¤Ç¤Ï¡¢pcm(4) ¤¬ÆÉ¤ß¹þ¤Þ¤ì¤¿¤ÈƱ»þ¤Ë¡¢ ¥Ü¥ê¥å¡¼¥à¥Á¥ã¥Í¥ë¤Î½é´üÃͤò 50 ¤ËÀßÄꤷ¤Þ¤¹¡£

ËÜʸ½ñ¡¢¤ª¤è¤Ó¾¤Îʸ½ñ¤Ï ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£

FreeBSD ¤Ë´Ø¤¹¤ë¼ÁÌ䤬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È ¤òÆÉ¤ó¤À¾å¤Ç <questions@FreeBSD.org> ¤Þ¤Ç (±Ñ¸ì¤Ç) Ï¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
ËÜʸ½ñ¤Ë´Ø¤¹¤ë¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï¡¢<doc@FreeBSD.org> ¤Þ¤ÇÅŻҥ᡼¥ë¤ò (±Ñ¸ì¤Ç) Á÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£