Eliminar notas MIDI duplicadas

XaviTP
#1 por XaviTP el 27/07/2007
Pues eso, me he dado cuenta que en una secuencia MIDI hay varias notas duplicadas. ¿Existe alguna función para eliminarlas todas de un tirón, o hay que localizarlas y eliminarlas una a una manualmente?. He buscado y rebuscado por la ayuda y los menús y no doy con ella.

De antemano muchas gracias por la ayuda.
Subir
Fredo
#2 por Fredo el 27/07/2007
Todo depende de que programa uses.

Cuando uso Cakewalk ProAudio selecciono (en el Rollo de Pianola) el segmento que deseo verificar, y le aplico una macro ".cal" que me hice, la cual elimina duplicados y "notas escondidas".

En otros programas hay otros modos de hacerlo!
Subir
XaviTP
#3 por XaviTP el 28/07/2007
Me refería al Sonar 6. Hasta ahora usaba Logic y en el menú ya existía la función MIDI-Eliminar duplicados y era sencillísimo. Por lo que veo en Sonar 6 hay que utilizar una macro CAL que creo que no está implementada de serie ¿verdad?.
Subir
Chocoloco
#4 por Chocoloco el 07/08/2007
Creo que había uno que se llamaba "undupe" o algo así. No será dificil de hallar en la red .

Saludos ..
Subir
Manubaixo
#5 por Manubaixo el 07/08/2007
Chocoloco escribió:
Creo que había uno que se llamaba "undupe" o algo así. No será dificil de hallar en la red .

Saludos ..


Xasto!!

http://www.hexachord.net/cal/
y buscas el CAL "Undupe"
Subir
XaviTP
#6 por XaviTP el 09/08/2007
Muchas gracias voy a buscarla y lo pruebo.
Subir
XaviTP
#7 por XaviTP el 09/08/2007
Encontrada macro undupe.cal, probada y perfecto. Muchísimas gracias.
Subir
Monigote
#8 por Monigote el 23/08/2007
Acabo de bajar el undupe.cal.

Qué útil.

Yo grabo con una batería digital y es una lata porque con la vibración aparecen muchas notas repetidas.

De pasadita, me dan algún dato de cómo borrar todos los eventos que, por ejemplo, tengan una velocidad menor a 10? Por lo mismo que explicaba arriba.

Saludos!
Subir
Fredo
#9 por Fredo el 23/08/2007
Graba los siguiente como "KillShortNotes.cal" u otro nombre significativo, y entonces seleccionas el Grupo de NOtas que deseas tratar, y les aplicas ese CAL.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; KillShortNotes.cal
;
(do
(int count 0)
(forEachEvent
(do
(if (== Event.Kind NOTE)
(if (< Note.Dur 10)
(do
(delete)
(++ count)
)
) ; Fin de < Note.Dur 10
) ; Fin de == Event.Kind NOTE
)
) ;forEachEvent
(pause count " Notas Eliminadas")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;

Debiera funcionar, y de paso ves como funcionan los CAL!
Subir
Monigote
#10 por Monigote el 24/08/2007
Te pasaste... un millón de gracias
Subir
Monigote
#11 por Monigote el 07/09/2007
Pucha....
Pego el código y lo guardo como KILL.CAL, pero me tira un error desde la primera línea.

Por favor... si alguien sabe como hacer un programita que borre los eventos que tienen velocity menor a x que postee cómo.

Gracias
Subir
Fredo
#12 por Fredo el 07/09/2007
Ese que puse funciona.

Lo malo que al copiarlo se ha "desformateado" y perdió la indentación.

Aquí va la versión indentada, tal como debiera haber estado desde el mismo inicio!
[code]

; KillShortNotes.cal
;
(do
(int count 0)
(forEachEvent
(do
(if (== Event.Kind NOTE)
(if (< Note.Dur 10)
(do
(delete)
(++ count)
)
) ; Fin de < Note.Dur 10
) ; Fin de == Event.Kind NOTE
)
) ;forEachEvent
(pause count " Notas Eliminadas")
)
[/code]

En algunas versiones de Cake es crítico eso del espacio en el comienzo de cada línea de CAL. :-(
Subir
Monigote
#13 por Monigote el 07/09/2007
Muchas gracias... no tenía idea que que la identación era tan importante... pensaba que sólo era de ayuda para ordenar las ideas de los programadores.

Mañana lo pruebo!

saludos!
Subir
Hilos similares
Respuesta rápida

Regístrate o para poder postear en este hilo