AstroColorSound by Joshua Madara, hyperRitual.com Click a button to see the color and hear the tone associated with that sign of the zodiac / import ddf.minim.*; import ddf.minim.signals.*; import controlP5.*; Minim minim; AudioOutput out; SineWave sine; ControlP5 controlP5; public int ndxVal = 0; int[] ndxColor = new int[13]; float[] ndxSound = new float[13]; int buttonColorActive = color(255,0,0); int buttonColorBackground = color(165,165,165); int buttonColorForeground = color(255,255,255); int buttonColorLabel = color(0,0,0); Button stop, aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces; void setup() { size(480, 360); minim = new Minim(this); // get a line out from Minim, default bufferSize is 1024, default sample rate is 44100, bit depth is 16 out = minim.getLineOut(Minim.MONO); // create a sine wave Oscillator, set to 440 Hz, at 0.5 amplitude, sample rate from line out sine = new SineWave(440, 0.5, out.sampleRate()); // add the oscillator to the line out out.addSignal(sine); controlP5 = new ControlP5(this); //define ndxColor values ndxColor[0] = color(0,0,0); // Black (no color) ndxColor[1] = color(255,0,0); // Red ndxColor[2] = color(255,64,0); // Red-Orange ndxColor[3] = color(255,128,0); // Orange ndxColor[4] = color(255,192,0); // Yellow-Orange ndxColor[5] = color(255,255,0); // Yellow ndxColor[6] = color(128,192,0); // Yellow-Green ndxColor[7] = color(0,128,0); // Green ndxColor[8] = color(0,128,128); // Blue-Green ndxColor[9] = color(0,0,255); // Blue ndxColor[10] = color(64,0,192); // Blue-Violet ndxColor[11] = color(128,0,128); // Violet ndxColor[12] = color(192,0,64); // Violet-Red //define ndxSound values ndxSound[0] = 0; // no sound ndxSound[1] = 261.63; // C ndxSound[2] = 277.18; // C# ndxSound[3] = 293.66; // D ndxSound[4] = 311.13; // D# ndxSound[5] = 329.63; // E ndxSound[6] = 349.23; // F ndxSound[7] = 369.99; // F# ndxSound[8] = 392; // G ndxSound[9] = 415.3; // G# ndxSound[10] = 440; // A ndxSound[11] = 466.16; // A# ndxSound[12] = 493.88; // B //add the buttons stop = controlP5.addButton("stop",0,200,290,80,19); stop.setColorActive(buttonColorActive); stop.setColorBackground(buttonColorBackground); stop.setColorForeground(buttonColorForeground); stop.setColorLabel(buttonColorLabel); aries = controlP5.addButton("aries",1,200,270,80,19); aries.setColorActive(buttonColorActive); aries.setColorBackground(buttonColorBackground); aries.setColorForeground(buttonColorForeground); aries.setColorLabel(buttonColorLabel); taurus = controlP5.addButton("taurus",2,200,250,80,19); taurus.setColorActive(buttonColorActive); taurus.setColorBackground(buttonColorBackground); taurus.setColorForeground(buttonColorForeground); taurus.setColorLabel(buttonColorLabel); gemini = controlP5.addButton("gemini",3,200,230,80,19); gemini.setColorActive(buttonColorActive); gemini.setColorBackground(buttonColorBackground); gemini.setColorForeground(buttonColorForeground); gemini.setColorLabel(buttonColorLabel); cancer = controlP5.addButton("cancer",4,200,210,80,19); cancer.setColorActive(buttonColorActive); cancer.setColorBackground(buttonColorBackground); cancer.setColorForeground(buttonColorForeground); cancer.setColorLabel(buttonColorLabel); leo = controlP5.addButton("leo",5,200,190,80,19); leo.setColorActive(buttonColorActive); leo.setColorBackground(buttonColorBackground); leo.setColorForeground(buttonColorForeground); leo.setColorLabel(buttonColorLabel); virgo = controlP5.addButton("virgo",6,200,170,80,19); virgo.setColorActive(buttonColorActive); virgo.setColorBackground(buttonColorBackground); virgo.setColorForeground(buttonColorForeground); virgo.setColorLabel(buttonColorLabel); libra = controlP5.addButton("libra",7,200,150,80,19); libra.setColorActive(buttonColorActive); libra.setColorBackground(buttonColorBackground); libra.setColorForeground(buttonColorForeground); libra.setColorLabel(buttonColorLabel); scorpio = controlP5.addButton("scorpio",8,200,130,80,19); scorpio.setColorActive(buttonColorActive); scorpio.setColorBackground(buttonColorBackground); scorpio.setColorForeground(buttonColorForeground); scorpio.setColorLabel(buttonColorLabel); sagittarius = controlP5.addButton("sagittarius",9,200,110,80,19); sagittarius.setColorActive(buttonColorActive); sagittarius.setColorBackground(buttonColorBackground); sagittarius.setColorForeground(buttonColorForeground); sagittarius.setColorLabel(buttonColorLabel); capricorn = controlP5.addButton("capricorn",10,200,90,80,19); capricorn.setColorActive(buttonColorActive); capricorn.setColorBackground(buttonColorBackground); capricorn.setColorForeground(buttonColorForeground); capricorn.setColorLabel(buttonColorLabel); aquarius = controlP5.addButton("aquarius",11,200,70,80,19); aquarius.setColorActive(buttonColorActive); aquarius.setColorBackground(buttonColorBackground); aquarius.setColorForeground(buttonColorForeground); aquarius.setColorLabel(buttonColorLabel); pisces = controlP5.addButton("pisces",12,200,50,80,19); pisces.setColorActive(buttonColorActive); pisces.setColorBackground(buttonColorBackground); pisces.setColorForeground(buttonColorForeground); pisces.setColorLabel(buttonColorLabel); } void draw() { background(ndxColor[ndxVal]); sine.setFreq(ndxSound[ndxVal]); } /*public void controlEvent(ControlEvent theEvent) { println(theEvent.controller().name()); }
Source code: AstroColorSound
Built with Processing