Fingiendo una actuación humana en midi

Si esta pregunta realmente pertenece aquí o en alguna otra parte de StackExchange, no lo sé. Si el público en general o los administradores quisieran que se trasladara a otro lugar, por supuesto que estaría feliz de cumplir.

Mi pregunta se refiere a la edición manual de un archivo midi (generado por un software de notación) de tal manera que la reproducción imite una interpretación humana en vivo más de cerca que sin edición. Me doy cuenta de que esta es una forma terriblemente ineficiente de hacer las cosas, y que tocar la pieza yo mismo en mi teclado midi sería mucho más fácil. Pero suponiendo que uno realmente quisiera hacerlo de la manera difícil, editando los valores numéricos de todos los parámetros midi de todas las notas uno por uno, ¿cuál sería la forma más inteligente de hacerlo? Para empezar: no encuentro muy convincentes los resultados de los diversos algoritmos de aleatorización/humanización, al menos por sí solos.

Cualquier consejo o truco será apreciado calurosamente.

¡Muchas gracias por sus comentarios o respuestas!

Depende en gran medida del instrumento y del estilo de interpretación que esté intentando reproducir. Por ejemplo, cuando intentas humanizar la batería, tienes que crear una alternancia entre la mano izquierda y la derecha en los rellenos, pero el trabajo con un solo pedal de bombo tiene una sensación diferente según la posición del talón, etc. Básicamente, si sabes cómo tocar el instrumento, debes saber mucho sobre cómo humanizarlo. Si no lo hace, entonces tiene un gran viaje cuesta arriba por delante.
Pregunta bien formulada. En mi opinión, el problema con todos esos "algoritmos de humanización" es que su premisa es completamente defectuosa: la actuación humana no es solo una representación inexacta de la sincronización y la entonación exactamente cuantizadas que normalmente produciría un secuenciador midi. Me gusta verlo al revés: un ráster de tiempo fijo y una cuadrícula de tono fijo de 12 edo son solo aproximaciones inexactas de cómo funciona un buen desempeño humano.

Respuestas (4)

No estoy seguro de que esto realmente responda la pregunta en sí, pero puede proporcionar alguna perspectiva sobre lo que implica la humanización.

El 'problema' con la humanización, a menudo es la suma de los humanos individuales que componen el surco final, incluso si todos fueran realmente el mismo humano, en sí mismo varía con el tiempo.

Las imprecisiones contribuyen a la sensación final de toda la pieza, aunque el tira y afloja entre la precisión y el 'groove' puede cambiar sobre la pieza misma, volviéndose más ajustado a medida que avanza la interpretación.

El ejemplo ilustrativo perfecto, en mi opinión, es 'Superstition' de Stevie Wonder.

Tenga en cuenta que la instrumentación es solo batería, bajo sintético, 2 pistas de clavinet [todas tocadas por Stevie] y 2 pistas de metales.
Los tambores se colocaron primero, como era su método de trabajo habitual. No sé en qué orden se grabaron los demás, pero puedes estar bastante seguro de que el metal fue el último.

Tomado como un todo, tiene que clasificarse entre una de las mejores pistas de ritmo de todos los tiempos (estoy seguro de que ese poco de opinión sería permisible en SE ;-) pero si realmente analizas lo que está haciendo cada instrumento, es todo un poco de desorden

Durante todo el primer verso, nada parece particularmente sincronizado: sí, es un gran riff, pero los clavis entran y salen unos de otros, la batería empuja y tira un poco, pero no al mismo tiempo que los clavis. Para cuando llega el jefe, suenan como si estuvieran de acuerdo en que "el último en terminar compra las cervezas", por lo que están tratando de llegar al final lo más rápido posible.

Los metales continúan en esa línea a lo largo de la pista, pero en realidad, esa aparente prisa realmente une el ritmo y lo impulsa con mucha fuerza.

El segundo verso hace más o menos lo mismo que el primero, pero un poco más estricto: también tu oído comienza a ser más indulgente con los componentes individuales a medida que tu "corazón" realmente comienza a comprender que lo que realmente está sucediendo es realmente algo un poco especial.

En el momento en que llegas al 8 central, estás completamente enganchado, y aunque el clavis se está ajustando a los tambores, los tambores en sí todavía están un poco erráticos en ocasiones, algunos de los rellenos dejan un poco que desear. .. y el latón todavía está en esa carrera hasta el final...

... pero para entonces ya no te importa!
La pista gana, tu cerebro analítico pierde y estás atrapado en el momento.

Emocionante descripción. Me recuerda a una grabación de cuarteto de cuerda que escuché una vez en la radio. En cualquier otra actuación, su entonación me habría hecho retorcerme, pero hicieron que todo fuera tan emocionante, ¡no me importó!

Si desea la mejor recompensa por el menor esfuerzo, comenzaría con la pista de tempo. Averigua cómo se debe "frasear" la música a nivel de pulsos individuales en el compás, o incluso subdivisiones de pulsos. A menudo, la misma sensación o ritmo rítmico se aplicará a muchas frases similares, una vez que lo haya encontrado. Cambiar el tempo en alrededor de un 5 % en ritmos individuales a menudo no te golpea entre los oídos, pero rompe la precisión inhumana.

A veces, "estirar" una nota al doble de su longitud nominal todavía suena como si se estuviera tocando "a tiempo". Otras veces, un pequeño cambio sobresale como un pulgar dolorido. ¡La percepción humana no coincide con los instrumentos de medición científicos!

Al menos para mis oídos, tienes un ritmo repetido como 3 notas negras seguidas de 2 corcheas, el ritmo solo suena "a tiempo" cuando las corcheas están en un tempo ligeramente más rápido que las negras. Tus oídos y tu estilo de música pueden diferir, por supuesto, y no necesariamente querrás que suene "exactamente a tiempo".

Agregar "humanización" aleatoria generada por computadora (realizada empujando el comienzo y el final de las notas en relación con los tiempos) además de ese tipo de ajuste rítmico parece funcionar mejor que agregarlo a un ritmo matemáticamente preciso.

Sospecho que los jugadores humanos inconscientemente también trabajan de esta manera. Una vez escuché a un director de coro comentar que si tomabas 30 buenos cantantes que nunca habían trabajado juntos para formar un coro, comenzabas con 30 ideas diferentes sobre lo que era "en el tiempo", y solo tenías que esperar hasta que hubieran escuchado. entre sí durante el tiempo suficiente para llegar a algún tipo de compromiso entre ellos. Solo después de que llegaron a ese punto, podrías comenzar a dirigir la actuación, en lugar de simplemente marcar el tiempo.

El principal problema con las partes simplemente programadas y luego "humanizadas"/aleatorizadas no es la naturaleza de las variaciones en sí, sino el hecho de que las partes no construyen su variación a partir de otras, ni los errores previos afectan el tiempo posterior. Todavía mejor que un ritmo directo, pero tienes que ceñirte a cantidades muy pequeñas o se vuelve muy notorio.

¿Ha intentado aplicar un swing/groove común junto con el aleatorizador? Usar solo unas pocas versiones ligeramente modificadas del mismo ritmo y ajustar tanto la cantidad que se aplica en cada parte (tanto el tiempo como la velocidad) junto con la cantidad de variación aleatoria debería llevarlo bastante lejos. Para la pregunta específica "editar los valores numéricos de todos los parámetros midi de todas las notas uno por uno, ¿cuál sería la forma más inteligente de hacerlo?" esta es definitivamente la respuesta, ya que te permite editar el tiempo de tus partes sin ajustar cada nota individualmente.

Sin embargo, hay algunas opciones geniales para llevar las cosas más lejos, con mucho, la mejor herramienta que conozco es el conjunto "Group Humanizer" de James Holden de Max para dispositivos Live. Se basa en un documento, Sincronización en ritmos musicales humanos y sistemas complejos que interactúan entre sí , que básicamente brinda las mismas respuestas que ha obtenido pero con mucha ciencia.

Mostramos que la sincronización rítmica entre individuos (tanto músicos como legos) exhibe una memoria a largo plazo de los intervalos entre latidos del compañero hasta varios minutos, para lo cual se sugiere una explicación en un modelo estocástico fisiológicamente motivado para MICS. El modelo MICS sugiere que el acoplamiento sin escala de los dos sujetos surge principalmente a través de la adaptación a las desviaciones entre sus latidos.

Básicamente, el dispositivo permite que una parte sea el maestro y hasta 10 esclavos lo siguen. Está hecho para uso en vivo, pero obviamente se puede usar para este tipo de cosas de muchas maneras diferentes. Cita de Holden:

Ahora, utilizando el modelo propuesto en la investigación de Holger Hennig, he desarrollado un conjunto de dispositivos Max for Live que pueden inyectar una sincronización realista en múltiples partes generadas por computadora, como si estuvieran siendo tocadas por músicos que tocan juntos. Incluso puede escuchar la entrada de un músico real (por ejemplo, el baterista de jazz que toca conmigo en mis shows en vivo) y responder a sus errores de sincronización de manera natural.

Aquí hay un artículo que trata el tema, enlaces al dispositivo y un video que lo muestra en acción. En mi opinión, una pieza musical un tanto cuestionable, pero definitivamente muestra qué herramienta tan increíble es esta. Incluso puede configurarlo para empujar y tirar del tempo maestro de Ableton con la deriva.

Para las personas que no están interesadas en Ableton, supongo que los parches podrían adaptarse para el uso independiente de Max/MSP, aunque no sé si eso se ha hecho.

Añadir imperfección, variación. Piense en qué dinámicas se están implementando demasiado perfectamente y juegue con ellas. Los dos más importantes son el tiempo y la amplitud, pero también puedes jugar con el timbre y cualquier otra cosa que tu sistema pueda manejar.

Comience con el tiempo. Establezca algunas notas para comenzar un poco antes o un poco más tarde de lo que deberían. Juzga de oído. Para una sensación más estricta, puede dejar los tiempos sin cambios y jugar con los tiempos altos y otras notas que no caen en un tiempo. Haz lo mismo con la longitud de las notas.

Puede extraer el tiempo de una actuación y aplicarlo a otra usando herramientas como Ableton Live, así que también puede intentarlo.

Ahora juega con el volumen de cada nota. Todas las notas que tienen la misma velocidad no suenan humanas, así que dales un poco de aleatorización dentro de un rango (dependiendo de la dinámica que estés buscando).

Y así. Lo mismo se aplica a cualquier dinámica que puedas poner en tus manos. Varianza, algo de aleatoriedad pero dentro de un rango (quizás el rango es la habilidad de nuestro ejecutante emulado). Por ejemplo, al hacer esto en percusiones, aplicar variación a la madera es muy efectivo porque sonarán diferentes dependiendo de dónde golpees la percusión, y ni siquiera el percusionista más hábil del mundo toca exactamente el mismo lugar cada vez.

Me doy cuenta de que esta es una forma terriblemente ineficiente de hacer las cosas, y que tocar la pieza yo mismo en mi teclado midi sería mucho más fácil. Pero suponiendo que uno realmente quisiera hacerlo de la manera difícil, editando los valores numéricos de todos los parámetros midi de todas las notas uno por uno, ¿cuál sería la forma más inteligente de hacerlo? Para empezar: no encuentro muy convincentes los resultados de los diversos algoritmos de aleatorización/humanización, al menos por sí solos.

Esos algoritmos están implementando la varianza a la que me refiero. Hacen lo que sugerí, pero automáticamente. Tal vez no los esté afinando y/o entendiendo correctamente. Tal vez espera demasiado de ellos, la mecánica y la acústica involucradas en una interpretación musical humana son muy complejas, y todavía (al menos que yo sepa) no es posible emular con precisión al 100% a un jugador humano.

¡Muchas gracias por su respuesta rápida pero completa! Para que quede claro, mi objetivo no es emular a un jugador humano con un 100 % de precisión (que es, como dices, imposible), sino hacer que mi pieza parezca un poco más real.
@KimFierens Esculpí esta respuesta con eso en mente. La parte del 100% fue profundizar más en el tema, para no dar a entender que estás buscando una emulación perfecta.
Tampoco quise decir que lo estabas insinuando. :-) Dos pequeñas preguntas de seguimiento, si no tiene objeciones: ¿tiene algún consejo general (sujeto a muchas excepciones, por supuesto) sobre cómo se debe distribuir la dinámica dentro de una frase? Lo mismo con (cambio de) tempo. Mi obra es lírica y romántica, por cierto, así que necesito mucha expresión.
Eso depende. Diferentes enfoques dan diferentes resultados. Puedes distribuirlo todo al azar, o puedes diseñar valores muy específicos para cada nota individualmente como si estuvieras diseñando la interpretación (lo que eres). Además, no estás cambiando el tempo, estás cambiando la posición de las notas en el tiempo. Es una distinción importante.
Un pequeño truco es que si hay una nota que quieres que tenga énfasis, además de subir un poco el volumen, puedes alargarla un poco.