¹Ìµð :: À½¾Ç

/ dev / music¿¡ Perl ÀÎÅÍÆäÀ̽º
Áö±Ý ´Ù¿î·Îµå

¹Ìµð :: À½¾Ç ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • Perl Artistic License
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Seth David Johnson
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://search.cpan.org/~sethj/

¹Ìµð :: À½¾Ç ű×


¹Ìµð :: À½¾Ç ¼³¸í

/ dev / music¿¡ ´ëÇÑ Perl ÀÎÅÍÆäÀ̽º MIDI :: À½¾ÇÀº / dev / music¿¡ ´ëÇÑ ³ôÀº ¼öÁØÀÇ Perl ÀÎÅÍÆäÀ̽ºÀ̸ç Open Sound System V.3.8 ÀÌ»óÀÌ Áö¿øÇÏ´Â ¸ðµç * NIX ½Ã½ºÅÛ¿¡¼­ ±â´ÉÇϵµ·Ï ¼³°èµÇ¾ú½À´Ï´Ù. ³»ºÎ ¹× ¿ÜºÎ MIDI ÀåÄ¡¸¦ ÅëÇØ Ç÷¹ÀÌ ¹éÀÌ Áö¿øµË´Ï´Ù. ¿ÜºÎ ÀåÄ¡¿¡¼­ À̺¥Æ®ÀÇ "³ìÈ­". MIDI :: À½¾ÇÀ» ¼³°è ÇÒ ¶§ÀÇ Ãß°¡ ¸ñÇ¥´Â ´ÙÀ½°ú °°½À´Ï´Ù. 1. MIDI ÇÁ·Î±×·¡¸ÓÀÇ ¸ñÀûÀÇ 99 %¸¦ ¸¸Á·½ÃÅ°´Â µ¥ ÇÊ¿äÇÑ ¸î °¡Áö ¹æ¹ýÀ¸·Î API¸¦ Á¦°øÇÕ´Ï´Ù. 2. ÀϹÝÀûÀÎ À̺¥Æ® »ç¾çÀ» ÅëÇØ Sean M. BurkeÀÇ MIDI-Perl Suite¿Í ½±°Ô ÅëÇÕ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç MIDI :: Music : 1. MIDI ÆÄÀÏÀ» Àç»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. 2. MIDI :: À̺¥Æ® ¼³¸í¼­¿¡¼­ ¼³¸íÇÑ´ë·Î À̺¥Æ® ±¸Á¶·Î Á¤ÀÇ µÈ À̺¥Æ® ±¸Á¶·Î Á¤ÀÇ µÈ ÀÏ·ÃÀÇ À̺¥Æ®¸¦ Àç»ýÇÕ´Ï´Ù. 3. ¿ÜºÎ ÀåÄ¡¿¡¼­ ½Ã¸®Áî À̺¥Æ®¸¦ ÀÐÀ¸½Ê½Ã¿À. ÀÌ·¯ÇÑ À̺¥Æ®´Â ¿¡¼­¿Í µ¿ÀÏÇÑ À¯ÇüÀÇ À̺¥Æ® ±¸Á¶·Î ¹ÝȯµË´Ï´Ù. MIDI :: MUSICÀº ¾ö°ÝÇÑ Å×½ºÆ®¿¡¼­ "Realtime"½Åµð»çÀÌÀú ÀÎÅÍÆäÀ̽º°¡ ¾Æ´Ï¶ó´Â °ÍÀ» ±â¾ïÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. :) ¿ÀÈ÷·Á ÀÏ·ÃÀÇ À̺¥Æ®°¡ ÁÖ±âÀûÀ¸·Î Ç÷¯½ÃµÇ´Â ³»ºÎ ¹öÆÛ (¾î·µç Àç»ý °ü·Ã ¹æ¹ý)¿¡ ±â·ÏµË´Ï´Ù. "PlayEvents"ÇÔ¼ö´Â ¿¹¸¦ µé¾î ¹Ýȯ µÈ ÀÌÈÄ·Î ¿À·£ ½Ã°£ÀÌ °É¸± ¼ö ÀÖÁö¸¸ »ç¿ëÀÚ´Â °è¼Ó Àç»ýµÇ´Â ¸Þ¸ð¸¦ °è¼Ó µè°í ÀÖ½À´Ï´Ù .FWIW : readEvents () ¸Þ¼­µå´Â È®½ÇÇÏÁö¸¸ ¿ÜºÎ¿¡¼­ µ¥ÀÌÅÍ Çؼ®¿¡ °ü·ÃµÈ ½Ã°£Àº ºü¸¨´Ï´Ù. ½Åµð»çÀÌÀú¸¦ °í·ÁÇؾßÇÕ´Ï´Ù. À̹ø¿¡´Â ¹°·Ð °¡°øÀ» ¼öÇàÇÏ´Â ±â°èÀÇ ¼Óµµ µîÀÇ ¾î¶² ¸Þ½ÃÁöÀÇ ¼Óµµ¸¦ ó¸®ÇÏ´Â µ¥ ´Þ·ÁÀÖ´Â ¸Þ½ÃÁö°¡ ¾ó¸¶³ª ¸¹Àº ¸Þ½ÃÁö°¡ 󸮵ǴÂÁö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. MY $ MM = »õ·Î¿î MIDI :: À½¾Ç; # ù ¹ø° »ç¿ë °¡´ÉÇÑ ÀåÄ¡ $ mm-> playmidifile ( 'foo.mid')À» ÅëÇØ midi ÆÄÀÏÀ» Àç»ýÇϽʽÿÀ. DIS $ MM-> ERRSTR; ¶Ç´Â : MIDI :: À½¾Ç »ç¿ë; fcntlÀ» »ç¿ëÇϽʽÿÀ; MY $ MM = »õ·Î¿î MIDI :: À½¾Ç; # $ mm-> init ( 'mode'=> o_wryly, 'timebase'=> 96, 'tempo'=> 60, 'timeDig'=> ,)¸¦ ÀÛ¼ºÇϱâÀ§ÇÑ ÀåÄ¡ ÃʱâÈ­ || || DIS $ mm-> errstr; # c-major chord $ mm-> playEvents (, , , , , , , , ,]) || DIS $ mm-> errstr; $ mm-> dumpbuf; $ mm-> ´Ý±â; ¶Ç´Â : MIDI :: À½¾Ç »ç¿ë; MIDI¸¦ »ç¿ëÇϽʽÿÀ; fcntlÀ» »ç¿ëÇϽʽÿÀ; MY $ OPUS = MIDI :: OPUS-> NEW (); MY $ TRACK = MIDI :: TRACK -> new (); MY $ MM = NEW MIDI :: À½¾Ç ( 'ÅÛÆ÷'=> 120, #ÀÌ ¸Å°³ º¯¼ö '½Ç½Ã°£'=> 1, # Àü´Þ µÉ ¼ö ÀÖ½À´Ï´Ù). # constructor #´Â ¿ÜºÎ ÀåÄ¡¿¡¼­ # ÀϺΠMIDI µ¥ÀÌÅ͸¦ ±â·ÏÇÕ´Ï´Ù .. $ mm-> init ( 'mode'=> o_rdonly) || DIS $ mm-> errstr; (;;) {> my $ event_struct = $ mm-> readevents; (@ $ track-> event_r}, @ $ event_struct)À» ´©¸£½Ê½Ã¿À (Á¤ÀÇ µÈ $ event_struct); } $ mm-> ´Ý±â; $ OPUS-> Æ®·¢ ($ Æ®·¢); $ opus-> write_to_file ( 'bar.mid'); ¿ä±¸ »çÇ× : ¡¤ Perl.


¹Ìµð :: À½¾Ç °ü·Ã ¼ÒÇÁÆ®¿þ¾î