Hay una estación de trabajo de música de código abierto, llamada Frinika, y puede crear una secuencia de comandos en Javascript. (Insertar/eliminar notas, cambiar los efectos midi como rueda de tono, etc.) Puede importar/exportar archivos midi regulares, por lo que funcionará con bucles Afrutados o cualquier otra cosa que tenga.
// Insert New
song.newLane("MyMidiLane", type("Midi"));
lane = song.getLane("MyMidiLane");
part = lane.newPart(time("10.0:000"), time("4.0:000"));
part.insertNote(note("c#3"), time("11.2:000"), time("2:0"), 120);
part.insertNote(note("f3"), time("11.3:000"), time("1:0"), 100);
part.insertNote(note("g#3"), time("11.3:000"), time("1:0"), 100);
part.insertNote(note("b3"), time("11.3:000"), time("0:64"), 100);
part.removeNote(note("f3"), time("11.3:000"));
part = song.newLane("MyTextLane",
type("Text")).newPart(time("24.0:000"), time("10.0:000"));
part.text = "This is the test text to be inserted.";
part.lane.parts[0].remove(); // remove initially inserted text-part
Otro ejemplo de lectura/notas cambiantes:
lane = song.getLane("MyMidiLane");
// a lane has a fixed instrument assigned
lane.parts[0].notes[0].duration=64
lane.parts[0].notes[1].duration=32
lane.parts[0].notes[1].startTick=120
// Parts are blocks of notes that you can drag around together in the Frinika GUI.
// They're like patterns in trackers.
for (i in lane.parts[0].notes){
println("i: "+i+", n: "+noteName(lane.parts[0].notes[i].note));
println("i: "+i+", dur: "+lane.parts[0].notes[i].duration);
println("i: "+i+", startT: "+lane.parts[0].notes[i].startTick);
}
http://frinika.appspot.com/ Cuenta con un lanzador de Java Webstart así, por lo que ni siquiera tiene que instalar .
También solía agrupar la documentación de Javadoc, pero por alguna razón sus últimas descargas no incluyen eso. Es una pena, porque es donde están documentados los enlaces de Javascript. Entonces, ahora tiene para explorar la fuente o construir el Javadoc usted mismo. (Tiene algunos ejemplos incorporados que se puede acceder desde la ventana de secuencias de comandos, usted debe comprobar a cabo primero Mi primer ejemplo es de allí..)
Aquí es el SourceFile donde encontrará los documentos de Javascript:
frinika Javascript doc/source
Pero también hay otras opciones. También puede consultar mingus, que es una biblioteca de Python para la teoría de la música y el manejo de archivos midi. Requiere Fluidsynth, y las aplicaciones de demostración también requieren GamePython, por lo que es un poco más complicado de configurar que Frinika.
P.S .: Frinika tiene un error en particular: al arrastrar notas vecinas, algunas pueden no sonar la longitud correcta.Puede ayudarlo transponiendo adelante y atrás las notas consecutivas (bastante rápido en la vista de piano roll), o arrastrando la parte que contiene las notas adelante y atrás. Reiniciar Frinika también ayudará, pero esa es la manera más lenta. Por lo tanto, este error no afectará a los archivos guardados, ni a la exportación midi.
alguna idea de cómo configurar esto. Estoy usando FL Studio 7 y parece que no puede encontrar ninguna opción de hacerlo recibir Midi de cualquiera de mis programas VB o Python que parecen ir directamente al sintetizador de Windows GM. – interstar
Supongo que estás usando Vista, que acabo de enterar que ya no tiene el mapeador MIDI. Increíble, otra razón oculta por la cual Vista es tan horrible. Ver mi edición para un enlace para tratar el problema. – MusiGenesis
sí ... sin MidiMapper chupa – interstar