avatar – mocap
Before Becoming an Opera Star
Above is my near perfect rendition of Habanera by Angela Gheorghiu the famed opera singer for Carmen. For reference:
After Becoming a Worldwide Opera Sensation
The more I open my mouth the louder my singing becomes.
I can sing faster or slower as I move away from the microphone.
I also am so in control of my voice that I can change my pitch just by making different shapes with my mouth.
xoxo <333333333
Some of my fans:
In regards to the program I made to genetically alter my voice through code I wish I could have altered the sound in more ways. Unfortunately the processing sound library doesn’t allow you to do too many crazy things to sound and I am unsure how to do it mathematically. That being said I change the pitch, rate, and volume as a real singer would in order to become a ProOperaSuperstar. Thank you. Goodbye.
// derived from the FaceOSCReceiver demo and minim's SineWaveSignal example import oscP5.*; OscP5 oscP5; import processing.sound.*; PFont font; SoundFile file; boolean play; float timeAtLastChange = 0; void setup() { size(512, 200); frameRate(30); oscP5 = new OscP5(this, 8338); oscP5.plug(this, "faceScale", "/pose/scale"); oscP5.plug(this, "posePosition", "/pose/position"); oscP5.plug(this, "mouthSize", "/gesture/mouth/height"); timeAtLastChange = millis(); file = new SoundFile(this, "./operaSong.mp3"); print(file); file.play(); play = true; } void draw() { stroke(0); } public void faceScale(float x) { float freq = map(x, 4, 6, 0.5, 3); file.rate(freq); } public void posePosition(float x, float y) { float pan = map(x, 0, 640, -1, +1); } public void mouthSize(float m){ if(millis() - timeAtLastChange < 200){ return; } timeAtLastChange = millis(); float v = map(m, 1, 11, 0, 1); file.amp(v); } // all other OSC messages end up here void oscEvent(OscMessage m) { if (m.isPlugged() == false) { } } //mouth width: /gesture/mouth/width |