Película de acción

.

La impro de esta semana terminó sonando como una película de acción o algo así. Aquí se las comparto. Saludos y bonita semana!

PARTITURA

SONY DSC

/*
Película de acción accidental
Copyright (C) 2015 Cristian Bañuelos
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
*/
MIDIClient.init;
~mid = MIDIOut(2);
(
~arms = Array.new(1000);
~t=Tonalidad(0,"m");
~listaAcordes = Array.new(100);
~acord = Array.new(1000);
~listaAcordes.add(~t.getArmonia3(0).notasArmonia+24);
~listaAcordes.add(~t.getArmonia3(4).notasArmonia+24);
~listaAcordes.add(~t.getArmonia3(2).notasArmonia+24);
~listaAcordes.add(~t.getArmonia7(5).notasArmonia+24);
~listaAcordes.add(~t.getArmonia3(0).notasArmonia+24);
// Hacer concatenación de arpegios
~arms.add(~listaAcordes[0]+12);
~listaAcordes.collect({|acorde, idx|
4.do({arg i;// octavas
var ac =(acorde[1..acorde.size]+12)+(12*(i));
acorde.postln;
if(0.8.coin,{
~arms.add(acorde)
},{
~arms.add(ac)
});
});
1.do({arg i;
var ac =(~listaAcordes[idx][1..~acord.size]+36)+(12*(i));
~arms.add(ac)
});
});
~arms=~arms.flatten;
~arms=~arms.add(~arms.reverse[1..~arms.size]).flatten;
2.do({~arms=~arms.add(~arms[1..~arms.size]).flatten;});
~arms2=Array.new(1000);
~arms.collect({|nota, idx|
~arms2.add([nota, nota+[0,5,12].choose]);
});
// Violin
~notasV = ~arms2;
~dursV = ([0.25]).stutter(3000);
~ampV =Pbrown(0.6, 1.0, 0.1, inf).asStream.nextN(10000);
// Piano
~notasP = ~arms2;
~dursP = ([0.25]).stutter(3000);
~ampP = Pbrown(0.7, 1.0, 0.1, inf).asStream.nextN(10000);
//Esto que sea la entrada de una funcion
~notasTotales=[~notasP,~notasV];
~dursTotales=[~dursP,~dursV];
~ampsTotales=[~ampP,~ampV];

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s