In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

SiON練習その8 昔作った曲のコードとメロディをMMLで再生実験

昔フリーソフトのサクラでつくった曲のコードとメロディ部分をMMLで再生できるか実験してみました
う~ん、変な音だ。。。 やっぱ素直にmp3読み込みほうがいいんかな?
参考URL
曲をMP3にしてYoutubeに投稿したもの http://www.youtube.com/watch?v=cOqKQm9B9eQ&feature=player_embedded
サクラ用に作成したMMLファイル http://oretaikan.atukan.com/Creation/musicOfOrgan.mml
SiOPM MML reference (version 0.6.0)
http://mmltalks.appspot.com/document/siopm_mml_ref_05.html
MML編集・再生作業中に非常に便利だったEditor
SiON MML Edtor 2
http://wonderfl.net/c/yMPL
/**
 * Copyright siouxcitizen ( http://wonderfl.net/user/siouxcitizen )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/2Fbr
 */

// forked from siouxcitizen's SiON練習その6 その他音源でコード表現、できてる???
//昔フリーソフトのサクラでつくった曲のコードとメロディ部分をMMLで再生できるか実験してみました
//う~ん、変な音だ。。。 やっぱ素直にmp3読み込みほうがいいんかな?
//
//参考URL
//曲をMP3にしてYoutubeに投稿したもの http://www.youtube.com/watch?v=cOqKQm9B9eQ&feature=player_embedded
//サクラ用に作成したMMLファイル http://oretaikan.atukan.com/Creation/musicOfOrgan.mml
//
//SiOPM MML reference (version 0.6.0)
//http://mmltalks.appspot.com/document/siopm_mml_ref_05.html
//
//MML編集・再生作業中に非常に便利だったEditor
//SiON MML Edtor 2
//http://wonderfl.net/c/yMPL
package {
    import flash.display.Sprite;
    import org.si.sion.*;
    import com.bit101.components.*;
    import flash.events.MouseEvent;
    public class SiONRensyu extends Sprite {
        public var driver:SiONDriver = new SiONDriver();
        public var mainMelody:SiONData;
        function SiONRensyu() {
            var mml:String = "t200;";
            //音色定義(%5, @4 = 三角波)
            //コード進行
            mml += "%5@4l4q3 d^^^ e^^^ f^^^  f^^^     c^^^  d^^^ e^^^ f^^^     g^^^ a^^^  b^^^    d^^^  e^^^ f^^^  f^^^;";
            mml += "%5@4l4q3 f^^^ g^^^ a^^^  a^^^     e^^^  f^^^ g^^^ a^^^     b^^^ <c^^^ d^^^    >f^^^ g^^^ a^^^  a^^^;";
            mml += "%5@4l4q3 a^^^ b^^^ <c^^^ c^^^     >g^^^ a^^^ b^^^ <c^^^    d^^^ e^^^  f^^^    >a^^^ b^^^ <c^^^ c^^^;";
        	    //音色定義(%5, @1 = ノコギリ波)
        	    //メロディその1
            mml += "%5@1l4q1 r^c^e^^^d^afa^^^bg^e^b^^f^a^cac^d^c^e^^^d^ada^^^be^g^b^^f^a^cac^d^c^e^cef^a^fcac;";
        	    //音色定義(%5, @5 = 矩形波)
        	    //メロディその2
            mml += "%5@5l8q2s2 d^^a^^egegb^^^r^cacac^^^cacac^^^r^c^e^^^d^afa^^^bg^e^b^^f^a^cac^r^g^bga^a^ce^^^^a^ce^^^^g^afg^^^^d^^a^^egegb^^^r^cacac^^^cacac^^^   d^^a^^egegb^^^r^cacac^^cbcbdc^^^   d^^a^^egegb^^^rda^da^^re^gb^^^;";
        	    mainMelody = driver.compile(mml);
        	    new PushButton(this, 10, 20, "play", mml_play);
        	    new PushButton(this, 150, 20, "stop", mml_stop);
        }        
        private function mml_play(e:MouseEvent):void{
			driver.play(mainMelody);
        }
		private function mml_stop(e:MouseEvent):void{
			driver.stop();
		}
    }
}