AkaMed looping v.4, script para Ableton Live

#1 por medrano el 24/07/2014
Hola,

os presento AkaMed Looping v.4. Abajo os muestro un par de vídeos por si quereis ver de que va la cosa antes de perderos leyendo. Resumiendo, esto sirve para poder hacer live looping con multiples secciones (o partes de la canción), en Ableton Live.

Este es un sistema que permite realizar sobregrabación (audiooverdub u overdubbing) entre parejas de pistas, en Ableton Live.
Se puede crear una red virtual de bancos de loopers, pudiento establecer, en tiempo real, distintas secciones de una misma canción. Esto lo más creativo del sistema y lo que distingue a este sistema de otros. Esta disposición se puede conseguir de otras maneras, pero no en tiempo real y con las posibilidades extra que el uso de Ableton Live nos ofrece.También se pueden conseguir resultados distintos con otros setups en Ableton Live, pero este es el que he desarrollado según mis deseos y necesidades.

Lo más básico que quiero, es grabar algo y reproducirlo. Y cuando lo desee, quiero poder grabar encima de lo grabado anteriormente, mientras escucho lo anterior y sin que se borre, es decir, ir añadirendo capas (layers) de grabaciones a esa grabación.

El plugin Looper de Ableton Live nos permite ir añadiendo capas a una grabación, que en gran parte es lo que pretendo, pero lo que no me permite automatizar dicho plugin es la tarea de "Drag me!", para guardarme automaticamente las distintos capas. Otra característica que deseaba, y Looper no ofrece, es la multiplicación automática. Esto es que, segun vamos grabando, la longitud global de un loop será la de la grabación de mayor duración hasta el momento.

No he encontrado la manera de hacer lo que pretendo con una sola pista. Si alguien lo consigue, que aporte ideas, por favor.

La primera versión de este proyecto, la programé totalmente en BMT (Bomes MIDI Translator). Fue una pasada comprobar que habia conseguido hacer casi todo lo que necesitaba.
Entonces me di cuenta de que BMT no era la manera, porque me limitaba en la cantidad de loopers y bancos. BMT es genial y lo utilizo como base de mis distintas configuraciones del sistema.
Después, conocí ClyphX y le añadí un script en Python. Aunque con alguna pequeña limitación en cuanto a latencia y estabilidad, todavía conseguia prácticamente casi todo lo pretendido.
Para los que no conozcais ClyphX, os recomiendo investigar un poco, se pueden conseguir resultados muy interesantes para automatizar tareas por medio de triggers o dummy clips.

En esta versión nueva versión he prescindido totalmente de ClyphX y ahora es un controlador independiente, con lo cual, reduzco consumo de CPU y de RAM, aparte de que a la hora de depurar, es todo mas sencillo. Ahora las acciones se disparan por medio de notas MIDI repartidas entre las distintas octavas de un canal MIDI.



DESCRIPCIÓN DEL SISTEMA



Este es un nuevo sistema diseñado para la creación de música en directo a partir de secuencias grabadas en tiempo real.
Cada secuencia se graba en una unidad llamada "looper". Se pueden crear múltiples secuencias para así añadir distintos instrumentos o sonidos, y que suenen, sincronizados, al mismo tiempo . El tempo global de la canción a crear lo podemos definir a partir de la duración de la primera secuencia, si así lo deseamos.
Hasta aquí no hay diferencia con algunas unidades hardware, en el mercado podemos encontrar diversos modelos que realizan lo descrito anteriormente.
El problema, musicalmente hablando, de estas unidades, es que estamos limitados a la secuencia global de acordes. Es decir, aunque tengamos una unidad hardware de 4 loopers, no podemos cambiar de secuencia de acordes de una manera sencilla.
El avance real de este nuevo sistema radica en la utilización de un sistema de bancos.
Se pueden crear multiples bancos,. Cada banco contendrá el mismo número de loopers que hayamos definido previamente. Por ejemplo, podemos tener 4 bancos de 8 loopers cada uno, lo cual nos permite poder utilizar 4 bancos para crear distintas secciones de un mismo tema, y 8 loopers para grabar diversos instrumentos.
Pongamos el ejemplo de una canción que contiene los siguientes acordes:

Todo el rato C / F / G

Esa canción se podría interpretar facilmente con cualquier unidad de looping, pues sus acordes se repiten siempre en el mismo orden.
Pero si queremos interpretar, por ejemplo, una canción que contiene varias partes:

Parte A C / F / G
Parte B F / Am / F / G
Estribillo Dm / Em / Dm / G
Final F / Fm / C7

Con una unidad de looping normal nos resultaría casi imposible llevar a cabo una interpretación.
Con este nuevo sistema podríamos crearlo así:

Parte A C / F / G (BANCO 1)
Parte B F / Am / F / G (BANCO 2)
Estribillo Dm / Em / Dm / G (BANCO 3)
Final F / Fm / C7 (BANCO 4)

Una vez creadas las distintas partes, podemos hacer que suene cada una de ellas cuando queramos, ir alternando entre ellas, añadir instrumentos cuando lo deseemos, pararlos, borrar la última grabación de un instrumento, etc.



COMPORTAMIENTO DEL SISTEMA

El sistema se basa en la utilizacion de multiples loopers.
Cada looper está compuesto por 2 pistas de audio o MIDI, llamadas "LPxa" y "LPxb", donde "x" es el numero de looper, y ambas pistas forman parte de un grupo llamado "LPx", para un manejo más práctico de cara al ruteo del audio. Por lo tanto, para cada looper, tendrá que crear 2 pistas de audio, o midi, y enrutarlas para que la pista LPxa grabe lo que LPxb reproduce...y viceversa. Esto puede ser realizado utilizando pistas de envio y retorno.
Es recomendable observar detenidamente el enrutamiento de las pistas en el proyecto del sistema para entender mejor el encaminamiento del audio.
Cuando un nuevo proyecto es abierto, el sistema buscará todas las pistas llamadas "LP1a" y "LP1b", "LP2a" y "LP2b", "LP3a" y "LP4b"...etc.
Puede añadir todas las pistas que Live le permita, pero el sistema solamente reconocerá hasta un máximo de 12 loopers (LP1a, LP1b.......LP12a, LP12b) y 12 bancos. Si necesita más, por favor, contacte con el programador.
Tras crear un proyecto con todas las pistas deseadas, guardelo y vuelva a abrirlo para que el sistema lo detecte.
Puede encontrar una lista con las notas midi asignadas a las distintas funciones en el archivo 'Vars.py'. Puede editar el archivo y guardarlo. Ableton Live actualizará sus cambios la próxima vez que abrá el proyecto o reinicie el programa.
El proyecto está definido, por defecto, por 4 bancos de 8 loopers cada uno, creando una red virtual que puede imaginar como columnas de loopers y lineas de bancos.
El tamaño de los bancos es el resultado de la división del numero total de escenas por el numero de bancos. Así, por ejemplo, si tenemos 24 escenas en Live, como tenemos 4 bancos por defecto, entonces cada banco estará compuesto por 6 lineas (escenas), por ejemplo:


Screenshot%20(31).png



El banco 1 comenzará en la escena 1 y acabará en la escena 6
El banco 2 comenzará en la escena 7 y acabará en la escena 12
El banco 3 comenzará en la escena 13 y acabará en la escena 18
El banco 4 comenzará en la escena 19 y acabará en la escena 24

Una vez creado el proyecto, puede añadir clips para dispararlos, aunque no hayan sido grabados en un looper, sin necesidad de cerrar el proyecto y volver a abrirlo. Deberá añadirlos, preferentemente, en el primer clip del looper deseado (LPxa) en el banco que desee utilizarlo.





ACCIONES DEL SISTEMA


El sistema está preparado para trabajar con hasta un máximo de 12 bancos y 12 loopers, porque cada grupo de acciones está repartido en distintas octavas MIDI (ej. OCTAVA1=UNDOs, OCTAVA2=STOPs, etc.).
Este límite se puede aumentar si se requiere, pero está definido así para una mayor comodidad en el mapeo midi de las funciones.
El archivo 'Vars.py' contiene diferentes variables (como el número de bancos y el canal MIDI) y acciones (cada una asignada nota MIDI).

Las acciones no son muchas. Debajo de la mayoría de acciones hay una siempre una lógica de funcionamiento, dependiendo de las condiciones, del estado de cada banco y/o looper.

A nivel de funcionamiento interno, lo que ocurre es que al pulsar el botón o pedal MIDI asignado a una acción, al mandar el evento MIDI correspondiente a Ableton Live, por el canal MIDI del dispositivo MIDI asignado a AkaMed Control SUrface, el sistema empieza a ejecutar la acción solicitada.

A continuación, estas son las diferentes variables y acciones que puede modificar (editando el archivo 'Vars.py'):


BANCOS = x Define el número total de bancos que serán utilizados en el proyecto.

MIDI_CHANNEL = x Define el canal MIDI que usará el sistema.

AUTO_OVERDUB = x (midi note) Grabación contínua con cada pulsación, en el loooper actual.

STOP_ALL = x (midi note) Detiene todos los loopers.

PLAY_ALL = x (midi note) Reproduce todos los loopers del banco actual.

BANK_X = x (midi note) Selecciona el banco "X"

La lógica del sistema se ha optimizado para facilitar al máximo la creación de música en directo de la manera más fluida posible.
Una de las funciones más prácticas es la del cambio de banco.
Por ejemplo, estamos grabando la parte A (banco 1) de una guitarra en el looper número 1 y queremos grabar a continuación la parte B (banco 2). Simplemente con seleccionar el banco 2, el sistema automáticamente dejará de grabar la parte A en el banco 1 y comenzará la grabacion de la parte B en el banco 2.
De esta forma, podemos grabar todas las partes de la canción seguidas una detrás de otra.
Cuando todas las partes están grabadas, entonces podemos comenzar a reproducir los distintos bancos en el orden que deseemos.
A partir de aquí, solo queda ir añadiendo instrumentos en otros loopers, pudiendo usar esa misma función del mismo modo, siempre que el looper que queremos grabar no haya sido utilizado previamente, pues en dicho caso, al cambiar de banco, simplemente lo reproducirá.

Si pulsa BANK mientras está grabando, el sistema continuará grabando en el banco seleccionado, y en el mismo número de looper que estaba grabando anteriormente, pero sólo si el looper del banco seleccionado está vacio. Si el looper del banco seleccionado está usado, en lugar de comenzar la grabación, comenzará la reproduccion.
Si pulsa BANK mientras está reproduciendo, y el banco seleccionado esta vacio en su totalidad, el sistema esperará hasta que selecione un looper con el que comenzar la grabación.
Si pulsa BANK mientras está reproduciendo algún looper, y el banco seleccionado ha sido utilizado, el sistema reproducirá todos los loopers del banco seleccionado.



FLASH_X= x (midi note) Ejecuta la accion "FLASH" en el looper "X"

Esta es la acción principal. Si pulsa una vez el botón, el sistema comenzará a grabar el looper "x" en el banco que estemos utilizando. Si pulsa de nuevo el botón, comenzará a reproducir lo que ha sido grabado.
Si pulsa FLASH de nuevo en un looper diferente, durante la grabación, automáticamente dejará de grabar y comenzará a reproducir lo grabado, y comenzará a grabar en el looper seleccionado (x).



Screenshot%20(32).png



UNDO_X= x (midi note) Elimina el último clip activo en el looper" x"


STOP_X= x (midi note) Detiene el looper "x"


AUTOOVERDUB_X= x (midi note) Grabación contínua en el último looper utilizado

Cada vez que lo pulse, grabará un nuevo clip y el clip grabado anteriormente comenzará a reproducirse.

Con la funcion overdub podemos añadir capas seguidas una de otra, sin dejar de reproducir ni de grabar, siendo siempre la duración del último loop que haya sido grabado. Esto se consigue de la siguiente forma:
Por ejemplo, estamos grabando una voz, que dura 2 compases.

1 2 /......... (Voz 1)

Pulsamos overdub y dicho loop de 2 compases comienza a repetirse indefinidamente, mientras que otro loop comienza a grabar al mismo tiempo. Añadimos otra voz que dura 4 compases.

1 2 / 1 2 /.........(Voz 1)
1 2 3 4/ .........(Voz 2)
Volvemos a pulsar overdub y comenzará a sonar un bucle de 4 compases (2 veces la primera voz de 2 compases y a su vez,1 vez la voz de 4 compases) y a su vez, sigue grabando, en este caso vamos a grabar una nueva voz durante, por ejemplo, 16 compases. Para finalizar el overdub pulsamos el boton "Flash" de dicho looper y tendremos un loop de 16 compases formado por 3 voces.

1 2 / 1 2 / 1 2 / 1 2 / 1 2 / 1 2 / 1 2 / 1 2 /.....(Voz 1)
1 2 3 4 / 1 2 3 4 / 1 2 3 4 / 1 2 3 4 /.....(Voz 2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16/.....(Voz 3)



Esto es todo de momento...

Para descargar el sistema, junto con una plantilla de Ableton Live y de BMT, debeis registraros en www.audiolooping.com y mandarme un mensaje para que os active la cuenta para poder descargarlo.

Os dejo un par de vídeos, uno de demostración (subtitulos integrados) y otro en la práctica (hay que activar los subtitulos en youtube). Hay más videos en mi canal de youtube.
Muchas gracias por vuestro tiempo y un cordial saludo para todos!



http://www.hispasonic.com/index.php?controller=track&action=play_radio_user&username=medrano

Subir
2
mod
#2 por Carlos R el 24/07/2014
Interesantisimo, muchas gracias por compartir!!
Subir
#3 por rod_zero el 24/07/2014
Muy interesante, muchas gracias!
Subir
#5 por MariGimënez el 17/01/2015
Hola, estoy buscando hacer algo parecido a lo del chaval ese, pero tengo una duda y por ahí uds pueden resolverla.
Tengo el ableton, la placa externa, la guitarra, el mic y las ganas porsupollo. Ahora, supongamos que quiero loopear y seguir tocando, osea que no tengo las manos libres (no uso pedaleras). Podría utilizar un switchfoot, no es así? Osea, en ese caso sería la acción que está cumpliendo la pedalera... no? :juas:

GRAAAAAAAcias
Subir
#6 por medrano el 17/01/2015
Hola Mari

la función de la pedalera es esa que dices, es un control remoto para los pies. Si quisieras, en lugar de pedales, podrias usar un teclado controlador, unos pads, etc. pero en ese caso necesitarías las manos :)

http://www.hispasonic.com/index.php?controller=track&action=play_radio_user&username=medrano

Subir
Respuesta rápida

Regístrate o para poder postear en este hilo