======================================================================= ALSA¥·¡¼¥±¥ó¥µ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ Copyright (c) 2000 ´ä°æ δ <tiwai@suse.de> ======================================================================= ÀâÌÀ ==== ¤³¤Îʸ½ñ¤Ï¡¤Advanced Linux Sound Architecture(ALSA)¥·¡¼¥±¥ó¥µ¥¤¥ó¥¿¥Õ¥§ ¡¼¥¹¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£ALSA¥·¡¼¥±¥ó¥µ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¤ALSA¥·¡¼¥±¥ó¥µ¤Î ¥³¥¢¤Ètimidity´Ö¤ÇÄÌ¿®¤ò¹Ô¤¤¤Þ¤¹¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¥·¡¼¥±¥ó¥µ¤«¤é¥¤¥Ù¥ó ¥È¤ò¼õ¤±¼è¤ê¡¤(¤Û¤Ü)¥ê¥¢¥ë¡¦¥¿¥¤¥à¤Ç±éÁÕ¤·¤Þ¤¹¡£ Ëܥ⡼¥É¤Ë¤ª¤¤¤Æ¡¤TiMidity¤ÏALSA¾å¤Î¥½¥Õ¥È¥¦¥§¥¢MIDI¥·¥ó¥»¥µ¥¤¥¶¥¨¥ó¥¸ ¥ó¤È¤·¤Æ¡¤½ã¿è¤Ë¥½¥Õ¥È¥¦¥§¥¢¥ê¥¢¥ë¥¿¥¤¥àMIDI¥ì¥ó¥À¤È¤·¤ÆÆ°ºî¤·¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¡¤ALSA¥·¡¼¥±¥ó¥µ¤Î¥³¥¢¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¤Î¤Ç¡¤ ËÜ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥ë¡¼¥Á¥ó¤¬¤¢¤ê¤Þ¤»¤ó¡£ ALSA¥·¡¼¥±¥ó¥µ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ëtimidity¤òµ¯Æ° ¤·¤Æ¤¯¤À¤µ¤¤: % timidity -iA -B2,8 -Os -q0/0 -k0 ¥Õ¥é¥°¥á¥ó¥È¥µ¥¤¥º¤ÏÄ´À°²Äǽ¤Ç¤¹¡£¤è¤ê¾¯¤Ê¤¤¿ô¤Û¤É¥ê¥¢¥ë¥¿¥¤¥à¥ì¥¹¥Ý¥ó ¥¹¤¬Îɤ¯¤Ê¤ê¤Þ¤¹¡£¤½¤·¤Æ¡¤timidity¤Ï¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¿·¥Ý¡¼¥ÈÈÖ¹æ(²¼µ¤Î 128:0¤ª¤è¤Ó128:1)¤òɽ¼¨¤·¤Þ¤¹¡£ --------------------------------------- % timidity -iA -B2,8 -Os -q0/0 -k0 TiMidity starting in ALSA server mode Opening sequencer port 128:0 128:1 --------------------------------------- ¤³¤ì¤é¤Î¥Ý¡¼¥È¤Ï¾¤Î¥·¡¼¥±¥ó¥µ¥Ý¡¼¥È¤ÈÀܳ¤¹¤ë¤Ç¤¤Þ¤¹¡£Î㤨¤Ð¡¤pmidi¤ò ·Ðͳ¤·¤ÆMIDI¥Õ¥¡¥¤¥ë¤ò±éÁÕ¤¹¤ë(¤Ê¤ó¤Æ²á¾ê¤Ê:-)¤Ë¤Ï¡¤ % pmidi -p128:0 foo.mid MIDI¥Õ¥¡¥¤¥ë¤¬2¤Ä¤Î¥Ý¡¼¥È¤òɬÍפȤ¹¤ë¾ì¹ç¤Ï¡¤¤³¤Î¤è¤¦¤ËÀܳ¤·¤Þ¤¹: % pmidi -p128:0,128:1 bar.mid ³°Éô¤ÎMIDI¥¡¼¥Ü¡¼¥É¤«¤éÀܳ¤¹¤ë¤Ë¤Ï¡¤¤³¤ó¤Ê¶ñ¹ç¤Ë¤Ê¤ê¤Þ¤¹: % aconnect 64:0 128:0 ¥¤¥ó¥¹¥È¡¼¥ë ============ --enable-alsaseq¤È--enable-audio=alsa¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æconfigure¤·¤Æ¤¯ ¤À¤µ¤¤¡£¤â¤Á¤í¤ó¡¤Â¾¤Î¥ª¡¼¥Ç¥£¥ª¥Ç¥Ð¥¤¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤âÄɲä·¤ÆÁª¤Ù ¤Þ¤¹¡£ ¤è¤êÎɤ¤¥ê¥¢¥ë¥¿¥¤¥à¥ì¥¹¥Ý¥ó¥¹¤òÆÀ¤ë¤Ë¤Ï¡¤timidity¤òroot¤È¤·¤Æ¼Â¹Ô¤¹¤Ù ¤¤Ç¤¹(°Ê²¼¤ò»²¾È)¡£set-UID root¤Ï¡¤¤³¤ì¤ò¼Â¸½¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ç¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ßtimidity¤Î¥Ð¥¤¥Ê¥ê¤Î¥ª¡¼¥Ê¤È¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò¡¤°Ê²¼¤Î¤è ¤¦¤ËÊѹ¹¤¹¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦: # chown root /usr/local/bin/timidity # chmod 4755 /usr/local/bin/timidity ¤³¤ì¤Ë¤è¤Ã¤Æ¡¤¥»¥¥å¥ê¥Æ¥£¡¦¥Û¡¼¥ë¤ò°ú¤µ¯¤³¤¹¤«¤âÃΤì¤Ê¤¤¤³¤È¤Ëµ¤¤ò¤Ä ¤±¤Æ¤¯¤À¤µ¤¤! ¥ê¥¢¥ë¥¿¥¤¥à¥ì¥¹¥Ý¥ó¥¹ ====================== ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¤¥×¥í¥»¥¹¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤òSCHED_FIFO¤Ë¤·¤Æ¡¤¤Ç¤¤ë¤À ¤±¹â¤¤Í¥ÀèÅ٤˥ꥻ¥Ã¥È¤¹¤ë¤³¤È¤ò»î¤ß¤Þ¤¹¡£SCHED_FIFO¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ï¡¤ ¤è¤êÎɤ¤¥ê¥¢¥ë¥¿¥¤¥à¥ì¥¹¥Ý¥ó¥¹¤òÄ褷¤Þ¤¹¡£Î㤨¤Ð¡¤SCHED_FIFO¤ò»ý¤¿¤Ê¤¤ timidity¤Ï¡¤/proc¤¬¥¢¥¯¥»¥¹¤µ¤ì¤ë¤¿¤Ó¤ËÃø¤·¤¤ÅÓÀÚ¤ì¤ò°ú¤µ¯¤³¤¹¤«¤âÃÎ¤ì ¤Þ¤»¤ó¡£ ¤³¤Îµ¡Ç½¤ò͸ú¤Ë¤¹¤ë¤Ë¤Ï¡¤timidity¤òroot¤Çµ¯Æ°¤¹¤ë¤«¡¤set-uid root¤Ç¥¤ ¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤¤Ç¤¹¡£ ¥¤¥ó¥¹¥Ä¥ë¥á¥ó¥È¤Î¥í¡¼¥É ======================== timidity¤Ï¡¤¥×¥í¥°¥é¥à¥Á¥§¥ó¥¸¤Î¥¤¥Ù¥ó¥È¤ò¼õ¿®¤¹¤ë¤¿¤Ó¤Ë¡¤¥¤¥ó¥¹¥Ä¥ë¥á ¥ó¥È¤òưŪ¤Ë¥í¡¼¥É¤·¤Þ¤¹¡£¤È¤¤Ë¤³¤ì¤Ï¡¤ºÆÀ¸Ãæ¤Î¥Ð¥Ã¥Õ¥¡¥¢¥ó¥À¡¼¥é¥ó¤Ë ¤è¤Ã¤Æ¡¤ÅÓÀÚ¤ì¤ò°ú¤µ¯¤³¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¤¤¹¤Ù¤Æ¤ÎͽÌó¤¬ÀÚÃǤµ¤ì¤ë¤È¡¤ timidity¤Ï¥í¡¼¥É¤·¤¿¥¤¥ó¥¹¥Ä¥ë¥á¥ó¥È¤ò¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¤ºÆÀ¸ ½ªÎ»¸å¤â¥í¡¼¥É¤·¤¿¥¤¥ó¥¹¥Ä¥ë¥á¥ó¥È¤ò¤¹¤Ù¤Æ¥¡¼¥×¤¹¤ë¤Ë¤Ï¡¤aconnect¤ò·Ð ͳ¤·¤Ætimidity¥Ý¡¼¥È¤Ë¥À¥ß¡¼¥Ý¡¼¥È(Î㤨¤ÐmidiÆþÎϥݡ¼¥È)¤òÀܳ¤·¤Æ¤ª¤¯ ɬÍפ¬¤¢¤ê¤Þ¤¹: % aconnect 64:0 128:0 ºÆÀ¸¤Î¥ê¥»¥Ã¥È ============== timidity¤ËSIGHUP¥·¥°¥Ê¥ë¤òÁ÷¤ë¤³¤È¤Ë¤è¤ê¡¤ºÆÀ¸Ãæ¤Ë¤¹¤Ù¤Æ¤Î²»¤ò»ß¤á¤ë¤³ ¤È¤¬¤Ç¤¤Þ¤¹¡£Àܳ¤Ï¥ê¥»¥Ã¥È¸å¤â°Ý»ý¤µ¤ì¤Þ¤¹¤¬¡¤¥¤¥Ù¥ó¥È¤Ï¤â¤Ï¤ä½èÍý¤µ ¤ì¤Þ¤»¤ó¡£²»¤òºÆ¤Ó͸ú¤Ë¤¹¤ë¤Ë¤Ï¡¤¥Ý¡¼¥È¤òºÆÀܳ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ »ë³Ð²½ ====== ¤Á¤ç¤Ã¤Ô¤ê¥Õ¥¡¥ó¥·¡¼¤Ç¥Ó¥¸¥å¥¢¥ë¤Ê½ÐÎϤ¬¤ª¹¥¤ß¤Ç¤¢¤ì¤Ð¡¤ÀÛºî¤Î¾®¤µ¤Ê¥× ¥í¥°¥é¥à¡¤aseqview¤ò¤ª»î¤·¤¯¤À¤µ¤¤¡£ % aseqview -p2 & ¤½¤·¤Æ¡¤(aseqview¤Ë¤è¤Ã¤Æ129:0¤È129:1¤¬ºîÀ®¤µ¤ì¤¿¤È²¾Äꤷ¤Æ)timidity¥Ý ¡¼¥È¤Ë2¤Ä¤Î¥Ý¡¼¥È¤òÀܳ¤·¤Æ¤¯¤À¤µ¤¤: % aconnect 129:0 128:0 % aconnect 129:1 128:1 ½ÐÎϤϡ¤128:0,1¤ÎÂå¤ï¤ê¤Ë129:0,1¤ËžÁ÷¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ % pmidi -p129:0,129:1 foo.mid OSS¤È¤Î¸ß´¹À ============= ALSA¥·¡¼¥±¥ó¥µ¾å¤ÎOSS MIDI¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó·Ðͳ¤Çtimidity¤Ë¥¢¥¯¥»¥¹¤¹¤ë ¤³¤È¤â¤Ç¤¤Þ¤¹¡£¥¢¥¯¥»¥¹¤µ¤ì¤ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Î¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¡¤ /proc/asound/seq/oss¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ --------------------------------------- % cat /proc/asound/seq/oss OSS sequencer emulation version 0.1.8 ALSA client number 63 ALSA receiver port 0 ... midi 1: [TiMidity port 0] ALSA port 128:0 capability write / opened none midi 2: [TiMidity port 1] ALSA port 128:1 capability write / opened none --------------------------------------- ¾åµ¤Î¾ì¹ç¤À¤È¡¤MIDI¥Ç¥Ð¥¤¥¹1¤È2¤¬timidity¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤¢¡¤ playmidi¤Ç±éÁÕ¤·¤Æ¤ß¤Þ¤·¤ç¤¦: % playmidi -e -D1 foo.mid ¥Ð¥° ==== ¤¦¤ó¡¤¤¦¤ó¡¤¤¢¤ë¤Ë°ã¤¤¤Ê¤¤¡£¡£ ¥ê¥½¡¼¥¹ ======== - ALSA¥Û¡¼¥à¥Ú¡¼¥¸ http://www.alsa-project.org - »ä¤ÎALSA¥Ï¥Ã¥¯¥Ú¡¼¥¸(aseqview¤ò´Þ¤à) http://members.tripod.de/iwai/alsa.html