Hace algún tiempo comencé a aprender sobre ingeniería de sonido, nunca he tenido destreza suficiente para interpretar mis propias composiciones musicales pero eso no me desanimó, muchos artistas plásticos usan las computadoras como medio de expresión.
¿ porque no delegar la interpretación de un pieza que solo existe en mi mente a una computadora y hacerla real?.
Es interesante, mientras más trabajas una pieza más desea llegar a la perfección, es algo sumamente laborioso pero sigues haciéndolo solo por la satisfacción de escuchar una pieza interpretada perfectamente.
Primero llevo todo a partitura en un software hecho para esto, permitiéndome hacer pruebas y nuevas combinaciones, cambiar un instrumento por otro hasta conseguir el ideal entre más de 200 instrumentos.
Luego exporto cada una de las pistas separando las por instrumento a formato MIDI, uno por uno los tracks pasan por un Sampler que los transforman en versiones más realistas usando instrumentos reales pre grabados. Generalmente puedo hacer variaciones con los samplers y las comparo entré sí, la mejor de ellas las transformo en formato WAV al doble de la calidad de CD.
Ahora de la música paso a la ingeniería de sonido.
Coloco cada uno de los archivos WAV sobre un sofware multitrack, y los escucho finalmente todos juntos, Wow! que diferencia con el MIDI, parece casi real, pero falta un montón de detalles importantes aún: Tengo instrumentos puros, pero no se puede desprender el sonido de un ambiente donde evolucionan.
El sonido se dispersa en forma de esfera en el aire chocando contra todo lo que encuentra, en cada colisión se absorbe parte de la energía y otra parte es reflejada causando un echo tenue copia del sonido original retrasado unos mili segundos a veces con armónicos de más o de menos, en fin, el ambiente produce un sonido nuevo en respuesta al sonido original.
Esto me lleva a usar algo totalmente distinto: La transformada rápida de Fourier.
Es impresionante, Fourier estaba tratando de medir la dispersión de la temperatura en el tiempo sobre una barra de cobre, ¿Para que? ¿Que estaría pensando? Algún otro invento necesitaba de este paso previo, de un problema de termodinámica pasó a la Serie de Fourier que es de gran importancia para el análisis de señales, funciones periódicas que se pueden descomponer en términos más simples como senos y cosenos.
Ahora bien, ¿Que tiene que ver con el sonido? -Todo, es imposible simular con exactitud un ambiente dentro de una computadora con tan solo algunos pocos parámetros, y necesito transformar el sonido artificial en real.
Un músico se llevaría su instrumento a una catedral e interpretaría virtuosamente su obra mientras se graba el sonido irrepetible de ese momento, de ese lugar, de su emisión, de su virtuosismos. Pero yo solo tengo un mundo virtual, alrededor de 1Gbyte de instrumentos pre grabados, la capacidad de un ordenador de interpretar más de 100 instrumentos distintos a la vez, y algo de conocimientos de física.
El último paso es simple, se emite un sonido puro dentro de la catedral, digamos un La (A440) este se dispersa por la catedral causando un nuevo sonido La' transformación del primero.
En términos simples: proceso(La)= La'
Y tengo la impresión qué proceso podría definirse como proceso(onda) = onda * La'/La
Donde * es la multiplicación de cada muestra.
En Matlab se puede usar un wav como un vector, luego les cuento si tenia razón o si encontré alguna otra manera de re-crear el ambiente.
Una idea conduce a otra y a otra ... no para.
Estaba usando un ETL llamado Kettle, tiene varios tipos de entradas y salidas, todos se ven como una tabla de base de datos, donde las entradas se convierten en salidas mediante una transformación o varias, todo se conecta, se transforma, pero siempre se usa el misma estructura de datos.
Esta idea me conduce a otra, si en el ETL se puede por que no en un patrón MVC. Seria una forma genérica, un modelo que se re-usaria siempre.
Me gusta trabajar con MVC, y por fin tengo una manera de generar un Model que se puede conectar a cualquier View,el Model podría ser originalmente una hoja de excell, un generador, un archivo de texto, un script o una base da datos, pero siempre accedería al Model con exactamente los mismo métodos. Una forma homogenia !!
De hecho ODBC lo hace, se puede leer un texto, o una hoja de excell como si fuera una base de datos con comando SQL.
Me explicaré mejor sobre MVC luego...
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario