El concepto de programación
¡Qué tal hispasonicos!
Han pasado años desde la última vez que tuve tiempo para sentarme a escribir algo, y todo gracias al hecho de que mi vida ha dado giros y giros, subidas y bajadas, y ahora me encuentro a una cuarta parte de terminar la ingeniería en audio. Afortunadamente acabo de terminar con mi novia, y ahora tengo el suficiente tiempo para comentar algo que siento que es clave al momento de zafarse del confort que ofrecen los VST y los DAW para adentrarse al obscuro y tortuoso mundo de la síntesis y la programación.
Ahora que Max ha tomado cierto auge gracias a integrarse con Live y el DIY se vende con promesas de sabiduría infinita, me he topado con gente que me pregunta "¿qué es lo que estás estudiando? ¡Quiero empezar a programar mis propios sintes!" o "quiero hacer música experimental, ponerle micros de contacto a mi gato y procesarlo en tiempo real adentro de mi compu, ¿qué software me recomiendas?" o "quiero hacer arte sonoro y necesito un programador en Pd, que sepa utilizar Java y C++ para que mida la temperatura del cuarto y así entonces dispare una serie de estaciones de radio a mi iPod para espacializar blablablabla..."
Antes de contestar todo esto, hay que hacerse preguntas clave y meditar un poco sobre lo que la tecnología representa para nosotros y que papel juega dentro del proceso creativo.
Como no soy un ser poderoso e omnipresente y no sé lo que cada persona está pensando, y somos post-modernos y sabemos que la realidad es subjetiva, partamos de 2 premisas importantes que creo se pueden aplicar a todas las personas que puedan estar pensando en divorciarse de los VSTs y DAWs:
- La tecnología no sirve para facilitarnos la vida. Si vienes de software comercial y has decidido enfrentarte a un lenguaje de programación, ya sea visual o de texto, hazle caso a ese sudor en la frente y esa opresión leve en el pecho que sientes al buscar en Google lo que más se adapte a tus necesidades, porque estás a punto de adentrarte en un mundo en el que nada esta dado y la computadora es como esa guitarra que compraste a los 12 años y te diste cuenta de que, efectivamente, no sonarías como Steve Vai por el simple hecho de conectarla a tu amplificador. Y es aquí donde inserto la comparación de una computadora con un instrumento, porque después de 4 años de estar rascándole a esto de la programación de audio me doy cuenta de que programar es un arte al igual que tocar un instrumento musical: hay que estudiar, hay que ser constante y hay que saber tus ABCs, lo cual me lleva a la segunda premisa.
- La programación es cultura. Esto, aunque parezca un anuncio barato de turismo, es otro factor clave al que hay que enfrentarse a la hora de hacer las cosas uno mismo. Programar implica no solo saber como funciona un lenguaje, su sintaxis, la complejidad, el tiempo que te llevará estudiarlo, sus puntos fuertes y sus debilidades. Un ejemplo de esto es Processing: un lenguaje fácil de entender, los resultados son instantáneos, no es necesario saber programar para empezar a usarlo, está bien documentado, se pueden hacer cosas muy interesantes muy rápido, es un lenguaje orientado a objetos lo cual lo hace un poco más flexible que OpenFrameworks o Cinder, pero no es tan rápido ni tan poderoso como estos últimos dos que, aunque no usan OOP, son para un nivel más clavado en programación. Lo mismo sucede con lenguajes de programación para audio: comparando Max con Supercollider, ambos son lenguajes de programación orientado a objetos, solo que uno es visual y el otro es de texto, ambos son capaces de programarse en tiempo real, pero salido de la caja SuperCollider suena mejor que Max... (en fin, ustedes me entienden). Lo que tienen que saber es que esto es tan solo el principio, ya que el conocer el lenguaje de programación no garantiza los resultados, al igual que soltar dinero en lugar de utilizar un lenguaje open source. Es necesario conocer la teoría que irá detrás de la programación, en el caso de audio es necesario saber síntesis, armonía, DSP, composición, si se quiere utilizar hardware pues es un montón de teoría más, para entonces, una vez que estemos familiarizados con el paradigma que ofrece cada lenguaje, podamos empezar a crear nuestras propias herramientas, nuestros sistemas y al final nuestras obras musicales. Pero esto solo se logra basandose en un conocimiento previo que consiste en contestar "Cómo funciona" para entonces saber "Cómo programarlo".
Dicho esto, estaré iniciando una serie de posts exclusivos para Hispasonic, en los que me estaré adentrando en el lenguaje de programación visual Max para tratar aspectos de síntesis, interconexión con OSC, sensores y finalmente conceptos de composición algorítmica.
Soy consciente de que todo esto no es necesario para hacer una obra, pero ciertamente espero divertirme como chango y en el camino exponer técnicas que los lleven a ustedes lectores a nuevas ideas, porque al fin de cuentas se trata de crear, no de convertirnos en ingenieros, ¿no es así?
Nos estamos viendo.
¡Experimenten!