— Escucha lo nuevo —
Killingviolin es una pieza de música contemporánea para violín y medios electrónicos que hace uso de un control de wii para modificar el sonido del violín.
Un control Wiimote captura el movimiento del brazo derecho del violinista, un micrófono captura el sonido del violín, ambos datos son digitalizados y enviados a una computadora que procesa dicha información dentro del software SuperCollider, en dónde se han programado tres sintetizadores que modifican el sonido del violín por el movimiento que hace el violinista al tocar el mismo.
“El movimiento transforma el sonido, sonido que es creado por el movimiento, movimiento que transforma al sonido, un ciclo que sólo hay una forma de romper: Killingviolin
Esta pieza forma parte del repertorio de música académica electrónica mexicana del siglo XXI y fue creada por encargo del violinista Israel Torres Araiza. No existe partitura de esta pieza, consiste en una improvisación guiada, sin embargo, tiene una duración exacta de 8 minutos indicada mediante un video-contador colocado frente al instrumentista.
También te puede interesar Arte multimedia: “Distorsión” para voz y video
Música contemporánea para violín que explora las posibilidades de la captura de movimiento y la transformación de sonidos tradicionales y técnicas extendidas del instrumento; convierte al instrumentista en un cyborg con una prótesis que se alimenta de él.
Este es el video del estreno de Killingviolin realizado en el Auditorio Blas Galindo del Centro Nacional de las Artes en la Ciudad de México, el 9 de septiembre de 2008.
Killingviolin para violín y medios electrónicos:
Suscríbete, nuevos videos cada semana
Música contemporánea para violín y medios electrónicos: Killingviolin Code
Usando el Controlador Wiimote en supercollider para hacer música experimental el audio es capturado por un micrófono y procesado en supercollider. Mediante dos seguidores de Pitch y un proceso FFT. Los acelerómetros X,Y,Z del Wiimote controlan ciertos parámetros como filtros, Shift Delay
// Inicializar s = Server.default.boot; b = Buffer.alloc(s,2048,1); // Wiimote libreria de Pete Moss s = Server.local.boot; Wiimote.start(s); s.sendMsg(\cmd, \wiimoteStart); // Entra de Audio >> Live Canal 1 ( SynthDef("help-AudioIn",{ arg out=0; Out.ar(0, AudioIn.ar(1) ) }).play(s); ) // Seguidor de Pith >>> Live canal 3-4 // BOTON B ( SynthDef("Ojetini",{ var in, amp, freq, hasFreq, out; //in = AudioIn.ar(1, 0.5); in = AudioIn.ar(1, 0.7*WiimoteB.kr()); amp = Amplitude.kr(in, 0.05, 0.05); # freq, hasFreq = Pitch.kr(in, ampThreshold: 0.02, median: 7); out = Mix.new( Resonz.ar( // Frecuencia de los Osciladores //Saw.ar(freq * [0.59+0.328.rand,1.3+0.298.rand,2.7+0.354.rand]*WiimoteZ.kr(0.005, 5.7, 1, 0.9), amp), Saw.ar(freq * [0.97, 1.497, 2.135]*2.rand, amp), // Frecuena del Filtro WiimoteY.kr(100, 9500, 1, 0.9), amp, 1 ) ); 2.do({ out = AllpassC.ar(out, 0.9 , WiimoteZ.kr(0.0001, 0.5, 1, 0.9), 0.5) }); Out.ar(0, Rotate2.ar( out, out, WiimoteX.kr(1, -1, 0, 0.9))) }).play(s); ) out = AllpassN.ar(out, 0.9 , WiimoteX.kr(0.001, 0.5, 1, 1), 0.9*WiimoteA.kr()) out = AllpassL.ar(out, 0.040, [0.040.rand,0.040.rand], 1*WiimoteA()) // Seguidor 2 >> Live Canal // BOTON A ( SynthDef("Griton",{ var in, amp, freq, hasFreq, out; //in = AudioIn.ar(1, 1.1); in = AudioIn.ar(1, 1*WiimoteA.kr()); // Usar esta linea para apagar o encender con Boton A amp = Amplitude.kr(in, 0.05, 0.05); # freq, hasFreq = Pitch.kr(in, ampThreshold: 0.02, median: 7); out = Mix.new( Resonz.ar( VarSaw.ar(freq * [0.5,1,2]* WiimoteX.kr(0.5, 2.0, 1, 0.9), WiiMotion.kr(), WiimoteZ.kr(2.1, 0.2, 1, 0.9), amp), WiimoteY.kr(8500, 150, 1, 0.9), amp, 1 ) ); 6.do({ out = AllpassN.ar(out, 0.040, [0.040.rand,0.040.rand], 2) }); Out.ar(0,out) }).play(s); ) // Stretch Pitch >> Live Canal 5-6 ( SynthDef("XXX", { arg out=0, bufnum=0; var in, chain, outs; in = AudioIn.ar(1,0.5); chain = FFT(bufnum, in); chain = PV_MagShift(chain, WiimoteZ.kr(0.025, 50, 1, 1), WiimoteY.kr(0.0025, 50, 1, 1) );  outs = 0.5 * IFFT(chain) ; Out.ar(0, Rotate2.ar(outs, outs, WiimoteX.kr(-1, 1, 0, 0.9) )); }).play(s); ) ///////// }).play(s,[\out, 1, \bufnum, b.bufnum]); /////////////FIN DEL CODIGO/////////////