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();
}
}
}