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

PI based Chiptune

Get Adobe Flash player
by Jacky.Riawan 08 Aug 2013
    Embed
/**
 * Copyright Jacky.Riawan ( http://wonderfl.net/user/Jacky.Riawan )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/bt3d
 */

package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import org.si.sion.SiONDriver;
    import org.si.sound.Arpeggiator;
    import org.si.sound.BassSequencer;
    import org.si.sound.ChordPad;
    import org.si.sound.DrumMachine;    
    /**
     * 500 digits of PI decimals
     * http://www.eveandersson.com/pi/digits/
     * @author Jacky Riawan
     */
    public class Main extends Sprite 
    {
        private const PI:String = "31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989";
        public function Main():void 
        {
            var driver:SiONDriver = new SiONDriver();
            driver.play("t314 314 [" + parse() + "]");
            var drum:DrumMachine = new DrumMachine(3, 1, 4, 1, 5, 9);
            drum.play();
            var chordPad:ChordPad = new ChordPad();
            chordPad.voiceMode=ChordPad.OPENED
            chordPad.pattern = parseToArray();
            chordPad.play();
            var arpeggiator:Arpeggiator = new Arpeggiator();
            arpeggiator.pattern = chordPad.pattern;
            arpeggiator.noteLength = Math.PI;
            arpeggiator.gateTime = Math.PI;
            arpeggiator.volume = 0.2;
            arpeggiator.play();
            var bass:BassSequencer = new BassSequencer();
            bass.patternNumber = 1;
            bass.play();
        }
        private function parseToArray():Array {
            return PI.split("");
        }
        private function parse():String {
            var parsed:String = PI;
            parsed = parsed.split("1").join("c");
            parsed = parsed.split("2").join("d");
            parsed = parsed.split("3").join("e");
            parsed = parsed.split("4").join("f");
            parsed = parsed.split("5").join("g");
            parsed = parsed.split("6").join("h");
            parsed = parsed.split("7").join("i");
            parsed = parsed.split("8").join("j");
            parsed = parsed.split("9").join("k");
            parsed = parsed.split("0").join("l");
            for (var i:int = 0; i < parsed.length; i += 10 + Math.random() * 10) {
                parsed = parsed.slice(0, i) + "|" + parsed.slice(i);
            }
            return parsed
        }
    }    
}