Tabla de contenido:

Generador de bucle ambiental Max MSP: 19 pasos
Generador de bucle ambiental Max MSP: 19 pasos

Video: Generador de bucle ambiental Max MSP: 19 pasos

Video: Generador de bucle ambiental Max MSP: 19 pasos
Video: ВСЕ ПЛАГИНЫ ДЛЯ CINEMA 4D | ALL PLUGIN FOR CINEMA 4D | Topowire, Trypogen, Ornatrix... 2024, Noviembre
Anonim

Este es un tutorial sobre cómo empezar a hacer un generador de bucle ambiental en Max MSP.

Este tutorial espera que tenga un conocimiento básico de Max MSP, interfaces DAW y procesamiento de señales. Si desea utilizar el programa diseñado en este tutorial, ¡descárguelo de forma gratuita (pero no para vender ni volver a publicar)!

El programa que diseñaremos tiene DOS partes principales:

1) Un procesador de múltiples señales

2) Un generador de notas semi-aleatorias

El generador de notas se ejecuta lentamente a lo largo de una tecla / escala en patrones semialeatorios, alimentando datos MIDI a un DAW, que a su vez envía el audio de vuelta a Max para que sea procesado.

Aquí hay un enlace al archivo de parche final:

Suministros:

  • Conocimientos básicos de Max MSP y MIDI
  • MSP máx.
  • Interfaz de audio (estamos usando Logic Pro X)
  • Soundflower
  • (Opcional) Algunos buenos complementos de instrumentos de software para su DAW

Paso 1: Configurar Soundflower con Max y su DAW

Configuración de Soundflower con Max y su DAW
Configuración de Soundflower con Max y su DAW
Configuración de Soundflower con Max y su DAW
Configuración de Soundflower con Max y su DAW

Soundflower es un programa que ayuda a enviar audio entre programas en Mac. Usaremos esto para obtener audio de nuestro DAW en Max.

¡Usar Soundflower con tu DAW no podría ser más fácil! Simplemente descargue Soundflower y estará disponible para usar como salida y entrada de audio. Si creamos objetos adc ~ (entrada de audio) y dac ~ (salida de audio), podemos ver que Soundflower 2ch y Soundflower 64ch se convierten en vías de audio utilizables. Usaremos Soundflower 2ch (2 canales) para este programa.

En Max, agregue un interruptor para encender y apagar su entrada, y un control deslizante de ganancia para el volumen, y estará en camino.

En su DAW, en preferencias> audio, verá la entrada de audio y la salida de audio. Usaremos Soundflower 2ch como salida de audio.

Paso 2: decida su ruta de procesamiento de señales

Decida su ruta de procesamiento de señales
Decida su ruta de procesamiento de señales

En términos simples, ¿su audio se distorsionará en un montón de canales diferentes, o todo en una línea recta?

Decidimos utilizar procesamiento de audio paralelo: nuestra señal se distorsionará en varios canales diferentes. Esto nos brinda el beneficio de un audio general más claro y más control para nuestra señal, pero empuja mucho volumen hacia la ganancia maestra, lo que resulta en algunos recortes. Decidimos que valía la pena tener más control con un audio distorsionado, ¡ya que esto creará bucles ambientales de todos modos!

Además, deberá decidir qué efectos desea crear. Aquí demostraremos algunos tipos de efectos si quiere ideas.

Paso 3: agregar una mezcla seca

Adición de una mezcla seca
Adición de una mezcla seca
Adición de una mezcla seca
Adición de una mezcla seca

Primero agregamos una "mezcla seca" para que pudiéramos tener una señal de audio separada y no afectada. Esto se hizo ejecutando la salida adc ~ en un control deslizante de ganancia (con un dial para que sea fácil de ver), en un filtro svf ~ con un dial para ajustar el filtrado de paso bajo, y luego en la ganancia maestra y luego en el dac ~. Tener una mezcla seca puede ser bastante útil, por lo que lo sugerimos si desea que las cosas suenen algo claras y fáciles de probar.

Es posible que te hayamos llamado un poco la atención allí: ejecutaremos todos nuestros efectos en filtros svf ~ separados para tener diales de tono para cada canal de señal. Esto facilita la limpieza del espacio de audio cuando un efecto en particular tiene una frecuencia demasiado alta. Hicimos todos nuestros filtros de paso bajo svf ~ (conectándolos a la salida de paso bajo), para que corten progresivamente las frecuencias altas bajando el dial. Sin embargo, svf ~ también tiene filtros de paso de banda (frecuencia selectiva), paso alto (eliminar bajos) y otros filtros útiles. Experimente para ver lo que le gusta y necesita, ¡o incluso use varios filtros!

Paso 4: Cambio de tono con un Pitchshifter

Cambio de tono con un Pitchshifter
Cambio de tono con un Pitchshifter
Cambio de tono con un Pitchshifter
Cambio de tono con un Pitchshifter

Para un pitchshifter simple y fácil de usar, copie el código del pitchshifter de la guía de ayuda de pitchshifter en Max. Nuestro código es muy similar, pero elimina características como deslizamiento y múltiples configuraciones de calidad de audio para reducir el desorden. Ejecutar su audio en esto (desde adc ~ para sonido paralelo, o desde la mezcla seca para sonido en serie) le permite usar un dial para ajustar el nivel de cambio de tono.

Al igual que con la mezcla seca, agregamos un control deslizante de ganancia y un objeto svf ~ para permitir el control de volumen y la configuración del ecualizador.

Paso 5: ¡DISTORSIÓN

¡DISTORSIÓN!
¡DISTORSIÓN!
¡DISTORSIÓN!
¡DISTORSIÓN!
¡DISTORSIÓN!
¡DISTORSIÓN!

Usar el objeto overdrive ~ es la forma más sencilla de agregar distorsión. Puede ejecutar eso en un control deslizante de ganancia y un filtro y terminarlo. Sin embargo, lo dimos un par de pasos más. En primer lugar, ejecutamos las rutas de audio izquierda y derecha en objetos ~ de cambio de fase separados; estos colocan las rutas de audio izquierda y derecha fuera de fase, "engrosando" el audio como lo haría un pedal de coro.

Además, enviamos el audio resultante a un objeto ~ en cascada con un gráfico de filtro adjunto. Esto le permite distorsionar el audio más o menos en ciertas frecuencias y con tantas bandas de filtro como desee. Nuestro filtergraph de distorsión se modeló a partir de la distorsión de un pedal Boss HM-2 Heavy Metal de los años 80.

En este punto, también comenzamos a agregar objetos omx.peaklim ~ después de efectos especialmente ruidosos; este objeto limita la señal de audio que lo atraviesa como lo haría un compresor, lo que facilita evitar que la ruta de audio final se corte.

Paso 6: El poder del dron

El poder del dron
El poder del dron
El poder del dron
El poder del dron

También sentimos la necesidad de agregar una frecuencia de "zumbido" a nuestro parche. Si bien esto podría haberse logrado con un objeto de ciclo para crear un oscilador simple, no habría sido muy adaptable a los cambios de volumen o frecuencia en el audio original. Por lo tanto, usamos un filtro svf ~ para crear una ruta de audio ultra resonante. Al ejecutar el audio en un filtro svf ~ y establecer la resonancia en 1, creamos una frecuencia de zumbido que se mueve hacia adentro y hacia afuera como lo hace nuestra ruta de audio, y luego se puede ajustar para el volumen, el tono y la frecuencia. El ajuste del dial adjunto ajustará la frecuencia de zumbido.

Paso 7: Entrar en Bizarre: Ring Modulation

Entrando en lo Bizarre: Ring Modulation
Entrando en lo Bizarre: Ring Modulation
Entrando en lo Bizarre: Ring Modulation
Entrando en lo Bizarre: Ring Modulation

Ahora, continuamos añadiendo modulación en anillo. Este efecto divertido y genial es extremadamente simple de hacer y muy incomprendido porque suena … un poco raro. Esto se logra conectando un dial a un objeto * ~ en la entrada derecha, y en la entrada izquierda conectando nuestro dial. Llevamos esto un paso más allá: cuando nuestro modulador de anillo está completamente hacia abajo, una puerta cierra su señal numérica y, por lo tanto, la señal de modulador de anillo se corta por completo. Además, también se puede alternar para enviar a otro * objeto que reduce la frecuencia en una cantidad específica. De esta manera, podemos tener un mod de timbre de tipo trémolo "fino" y un modulación de timbre que suena extraño y más rápido. Al igual que los otros efectos, esto se ejecutó en un control deslizante de ganancia y un filtro svf ~.

Paso 8: Retraso y degradación de la señal… Degrado… Deg… D…

Retraso y degradación de la señal … Degrado … Deg … D …
Retraso y degradación de la señal … Degrado … Deg … D …
Retraso y degradación de la señal … Degrado … Deg … D …
Retraso y degradación de la señal … Degrado … Deg … D …

Aquí estamos creando un retardo con control de tiempo, un dial de retroalimentación, un dial de tono y degradación de la muestra. Esto nos permite imitar un retardo analógico haciendo que la señal sea más silenciosa y distorsionada progresivamente. Para hacer esto, usamos objetos tapin ~ y tapout ~ conectados. Escribimos 5000 después de tapin ~ para asegurarnos de que tenga 5000 ms de tiempo de memoria. Agregar un objeto degradado nos permite destruir progresivamente la señal. Luego, ejecutamos audio desde adc ~ a nuestro objeto de degradación ~, a tapin ~, a tapout ~, y simultáneamente de nuevo a degradado ~ desde a * ~ y fuera de * ~ a nuestro control de ganancia. Hacer esto nos permite adjuntar un dial para ajustar el volumen del retardo volviendo a sí mismo y tener una señal retardada proveniente del objeto * ~ a nuestras salidas. Además, colocar el objeto degradado antes de tapin ~ nos permite agregar más y más reducción de muestra a medida que la señal se retrasa. Consulte nuestra imagen y código para obtener una visión clara de cómo se hizo todo esto.

Paso 9: Reverberación estilo ladrillo Belton

Reverberación estilo ladrillo Belton
Reverberación estilo ladrillo Belton
Reverberación estilo ladrillo Belton
Reverberación estilo ladrillo Belton

Una reverberación de ladrillo belton se refiere a una reverberación equipada con un chip Accu-Bell BTDR Digi-log diseñado por Brian Neunaber de Neunaber Effects. Este chip permite reverberaciones de resorte simples usando líneas de retardo en cascada. Para emular esto, hemos codificado otro retraso, con un dial para ajustar el tiempo y la retroalimentación. El tiempo nunca cruzará los 100 ms y la retroalimentación está limitada al 80%. ¡Este simple retardo proporciona un sencillo sonido de reverberación de muelles! Hacia un control de tono y ganancia una vez más.

Paso 10: Trémolo estéreo aleatorio

Trémolo estéreo aleatorio
Trémolo estéreo aleatorio
Trémolo estéreo aleatorio
Trémolo estéreo aleatorio

¡Nuestro efecto de señal final! Aquí hemos creado el mismo código utilizado antes para el modulador de anillo, con un par de giros: la profundidad del trémolo es aleatoria y hay un trémolo para el canal izquierdo y derecho. Además, configuramos esta unidad en serie, de modo que ahora todos los efectos vengan antes, de modo que cada señal sea efectuada por los trémolos.

Para hacer esto, imitamos el código de mod de anillo de antes, con algunos cambios: la señal ahora corre hacia dos puertas que se abren cuando la otra está cerrada. Esto permite que la señal se vea afectada o no infectada, en lugar de verse afectada o solo apagada. Esto se hizo con el objeto! -. Nuestro dial se encuentra con un objeto rand ~, luego * ~ y un + ~, y luego a otro * ~ en la entrada derecha y el audio en la izquierda. Aquí tenemos un trémolo aleatorio que se enciende cuando el dial está hacia arriba y hacia abajo cuando está apagado.

Esto no necesita un control de ganancia o control de tono, por lo que simplemente va directamente al objeto dac ~.

Paso 11: ¡Osciloscopía

¡Osciloscopía!
¡Osciloscopía!
¡Osciloscopía!
¡Osciloscopía!

Por último, agregamos un objeto de alcance ~ conectado a la salida de audio del control de ganancia maestro. ¡También agregamos un dial para ajustar su sensibilidad!

Paso 12: Presentación del módulo de procesamiento de señales

Presentación del módulo de procesamiento de señales
Presentación del módulo de procesamiento de señales

Terminamos esta sección dándole a nuestro código algo de estilo en el modo de presentación. Simplemente agregue diales individuales y cuadros de comentarios al modo de presentación, ¡y estará listo para comenzar! Le dimos a la nuestra un toque extra con cajas de colores y varias decisiones de diseño artístico y de fuentes. Además, el diseño se basó en diseños de pedales de guitarra: diales en filas y secciones etiquetadas para hacer que la ruta de la señal sea fácil de entender. ¡Diviértete con esta parte!

Paso 13: Sección 2: el generador de acordes

Ahora tenemos un procesador de señal en pleno funcionamiento en Max, solo necesitamos algo de audio para alimentarlo. Al usar Soundflower, podemos enrutar todo el sonido que se emite a través del procesador de señal, ¡siempre que la fuente sea su computadora!

Sin embargo, para crear nuestros propios bucles ambientales, tendremos que hacer otro parche de Max. Gracias al poder de MIDI, el parche terminado servirá efectivamente como un controlador MIDI novedoso para su DAW, enviando notas directamente a él permitiéndole usar cualquier instrumento de su elección o diseño. A diferencia de un controlador MIDI externo, con la potencia de max podemos crear un controlador MIDI que puede tocar solo, lo que le permite modularlo con el procesador de señal con facilidad.

Para la generación de notas únicas, usaremos un arpegiador para generar tríadas, y más adelante veremos cómo armar un algoritmo que permitirá al arpegiador saltar entre acordes.

Paso 14: Obtención de notas para alimentar el arpegiador

Obtención de notas para alimentar el arpegiador
Obtención de notas para alimentar el arpegiador
Obtención de notas para alimentar el arpegiador
Obtención de notas para alimentar el arpegiador

Antes de que podamos armar un arpegiador, debemos ser capaces de generar los acordes para que pueda secuenciarse. En MIDI, cada nota en el teclado corresponde a un número, siendo el C medio 60. Afortunadamente, los números son secuenciales, por lo que aplicando algo de teoría musical, podemos generar los intervalos correctos que corresponden a varias firmas de teclas.

Las firmas de clave que use dependen de usted, sin embargo, también puede seguir las 4 firmas de clave que seleccionamos. Más adelante, agregaremos a esta parte del código para permitirle recorrer las firmas de las teclas por sí solo, por lo que seleccionamos séptimas mayores, menores, séptimas mayores y menores para ayudar a preservar la tonalidad a medida que el programa recorre los acordes.

Con referencia a la primera imagen, la mayor parte de esta sección es solo la matemática que corresponde a los intervalos de estas teclas. Comenzando con el cuadro más a la izquierda etiquetado como '60', esa es la raíz. Siempre que cambie la raíz, los intervalos cambiarán correspondientemente según la clave actual. Por ejemplo, si se selecciona la tonalidad mayor, los intervalos correspondientes son 4 y 7. A continuación, se ejecutan a través de los cuadros +0, que agregarán ese intervalo a la nota fundamental y le proporcionarán las 3 notas para hacer un acorde mayor, desde cualquier raíz!

Paso 15: Arpegiando esos acordes

Arpegiando esos acordes
Arpegiando esos acordes
Arpegiando esos acordes
Arpegiando esos acordes
Arpegiando esos acordes
Arpegiando esos acordes

Consulte la foto de arriba para ver el código del arpegiador. El objeto contador y los cuadros de objeto 0, 1 y 2 adjuntos le permitirán controlar la dirección del arpegiador desde Arriba, Abajo y Arriba-Abajo.

Como se muestra arriba, el generador de intervalos que acabamos de armar se enruta a los cuadros 'int', por lo que a medida que se ejecutan el contador y los cuadros de selección, pasará por el acorde del otro fragmento de código. ¡Esto luego pasa por el cuadro 'makenote' y 'noteout' para finalmente convertir estos números MIDI en sonido!

Tome nota del objeto 'puerto "de Max 1"' que está conectado al cuadro 'noteout', ya que esto es lo que le permite enviar la información MIDI desde Max a su DAW.

El objeto 'metro' determina cuánto tiempo hay entre cada intervalo en milisegundos. Lo tengo por defecto en 500ms, y si sigues el código adjunto, usando el objeto deslizante puedes ajustar cuántos milisegundos hay entre cada intervalo

Paso 16: El 'Mezclador de claves'

El 'Key Jumbler'
El 'Key Jumbler'

En la imagen de arriba se muestra el fragmento de código que permitirá que el programa recorra automáticamente las firmas de las teclas, lo que le permite crear acordes espontáneos a medida que selecciona diferentes notas fundamentales.

El objeto 'seleccionar' funciona de manera muy similar al de la sección del arpegiador, sin embargo, en lugar de una secuencia específica, estamos usando el cuadro 'urna' para alternar aleatoriamente entre las teclas. Lo que hace que el cuadro 'urna' sea diferente de 'aleatorio' es que no repetirá un número hasta que haya pasado por todo el rango, lo que a su vez nos proporciona una distribución uniforme de los saltos entre las diferentes teclas.

Paso 17: Hacer que la magia suceda con la generación autónoma de notas

Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas
Haciendo que la magia suceda con la generación autónoma de notas

Este fragmento de código es lo que hace que este parche pueda ejecutarse de forma autónoma. Si nos remitimos al generador de acordes desde el principio de esta sección, cambiar la nota fundamental completará automáticamente los siguientes intervalos, ¡así que podemos usarlo para generar progresiones de acordes únicas!

El elemento clave aquí es el "itable", o el cuadrado grande con los pequeños rectángulos azules adentro. Al adjuntar esto al parámetro metro desde el arpegiador (el cuadro establecido en 500), podemos controlar el punto exacto en la secuencia del arpegiador en el que cambia el acorde. Dado que el arpegiador se ejecuta en conjuntos de 3, el tamaño del itable se establece en 12, para tener en cuenta 4 ciclos, y el rango se establece en 2, con 2 sirviendo como 'no' y 1 sirviendo como 'sí' para si o para no cambiar el acorde. Con la secuencia en el código principal, el arpegiador pasaría a una tríada, luego se generaría un nuevo acorde y pasaría por esa tríada, y así sucesivamente.

Los cuadros 'aleatorios' determinan qué tan lejos está la nueva raíz de la original, actualmente la tengo configurada para que pueda subir o bajar media octava.

En la imagen completa del código, visto a la izquierda, el cuadro de número 67 en la parte inferior está adjunto al cuadro de número raíz del generador de acordes, por lo que cualquier número que termine siendo generado a partir del itable y su algoritmo adjunto irá al acorde. generador, y luego en el arpegiador donde tocará el acorde recién seleccionado. El cuadro de número 67 que se encuentra arriba que se encuentra en el cuadro '+0' está adjunto al objeto de piano que se muestra arriba, que también está adjunto al cuadro de número raíz del generador de acordes. Esto es para que cuando el algoritmo de este fragmento de código genere un número, también se seleccione en el piano para que active esa nota para que se reproduzca.

En el código final, esta sección aparece dos veces, con la única diferencia de itable. Consulte la tabla adjunta por separado para saber cómo hacer que se genere un nuevo acorde después de que el arpegiador repita una secuencia 4 veces.

Paso 18: Toques finales

Últimos retoques
Últimos retoques

¡Ahora debería tener un arpegiador completamente funcional! Sin embargo, si desea agregar un poco más de control, el fragmento de código que se muestra arriba le permitirá controlar la duración de las notas que se están reproduciendo, por lo que puede obtener notas largas perfectas para un bucle ambiental lento y zumbante.

También se adjunta un objeto 'detener', que es particularmente útil cuando está ejecutando Max a través de un DAW. En el caso de que Max comience a tener problemas para comunicar los datos MIDI, puede anularlos y detenerlos sin cerrar por completo Max o su DAW.

Paso 19: Resumiendo todo

Envolviéndolo todo
Envolviéndolo todo

El programa ahora está funcionalmente completo, todo lo que queda por hacer es organizar todo en modo de presentación. No hay una solución única para esto, depende completamente de lo que desee poder controlar desde un nivel de superficie.

Mi selección cubre lo esencial de todo lo que quiero poder modular fácilmente, para que pueda agregarlo o quitarlo como mejor le parezca.

¡Todo lo que queda por hacer ahora es familiarizarse con estos dos parches y comenzar a crear algo de música!

¡Disfrutar!

Recomendado: