TEXTURA
Generador aleatorio de eventos sonoros
2006 - Ivan Fernandez y Pablo Gomez
Descripción
textura genera un conjunto de eventos sonoros cuyos parámetros pueden ser controlados mediante distribuciones probabilísticas.
No hay limitaciones en cuanto a la cantidad de eventos ni al solapamiento de los mismos. El límite, en este caso es el de la máquina.
Los parámetros de cada evento son estáticos, es decir no varían durante la existencia del mismo. Por lo tanto la variación es global, lo que lleva a pensar en textura como emulación de un tipo de síntesis granular.
Descripcion del programa (pdf)
Entorno por defecto
Dado que textura es aún una versión de prueba, algunos datos están por defecto.
- La frecuencia de muestreo es 44100.
- El número de canales es 2.
- El tipo de audio creado es .wav de 16 bits.
- Los parámetros de cada evento no se pueden modificar durante su existencia, como tampoco se puede variar globalmente los rangos de generación.
- La forma de generación es aleatoria para cada parámetro de un evento
Entrada
La entrada es a través de la línea de comandos y debe seguir el siguiente orden, separando cada valor por un espacio.
- Duración total de la obra en segundos. Como se verá más adelante, éste valor no es necesariamente exacto, debido a que será modificado por textura.
- Valores mínimo y máximo de los comienzos en segundos. Los valores se toman como una diferencia de ataque entre los eventos.
- Valores mínimo y máximo de las duraciones en segundos.
- Valores mínimo y máximo de las amplitudes. Pueden ser cualquier valor, textura normalizará el archivo.
- Valores mínimo y máximo de las frecuncias en Hz.
- Valores mínimo y máximo de los paneos. Los valores deben estar entre 0 y 1, siendo 0 el canal derecho y 1 el izquierdo.
Salida
La salida es un archivo de audio con los eventos generados.
Ejemplos
Algunos ejemplos de ejecucion de textura (se incluye el audio comprimido).
textura 50 .2 .3 3.5 5 2 9 10 1500 .0 1 salida1.wav
salida1.mp3 -
salida1.ogg
textura 50 .7 1.7 1.5 2.5 2 9 100 500 0 1 salida2.wav
salida2.mp3 -
salida2.ogg
textura 50 2.7 3.5 2 3.2 2 9 100 500 0 1 salida3.wav
salida3.mp3 -
salida3.ogg
Archivos usados
- textura.c -- contiene la función main() y las que procesan los eventos.
- es.h -- funciones de entrada del usuario, de apertura de archivos de audio y asignación de memoria para sndlib.
- defs.h -- contiene todas las definiciones de tipos y macros usadas tanto para la generación de los datos como para la síntesis del audio.
- eventos.h -- se definen las funciones necesarias para generar el conjunto de eventos.
- audio.h -- funciones que se usan para la síntesis del audio, como por ejemplo la generación de una onda periódica.
Debemos incluir también varios archivos de sndlib
Los cuales usan los siguiente archivos
- sndlib.h
- sndlib-strings.h
Aplicación
El código completo de la aplicación puede bajarse directamente desde aqui.
textura.zip
El ejecutable para Windows y para Linux pueden bajarse desde aqui.
textura.exe (Windows)
textura (Linux)
Indice
- Un pantallazo y el main
- Definiciones
- Entrada y salida de los datos
- Entrada y salida del audio
- Crear los eventos
- Sintetizar los eventos