FAUST

De Wikipedia, la enciclopedia libre
FAUST
Desarrollador(es)
GRAME
http://faust.grame.fr
Información general
Paradigma Funcional
Apareció en 2002
Influido por C C++
Licencia GNU General Public License



FAUST (Functional Audio Stream) es un lenguaje de programación dedicado funcional, diseñado para aplicaciones de procesamiento de señales de audio en diferentes formas, como bibliotecas de software, complementos de audio o software . Este lenguaje ha sido desarrollado por GRAME desde el año 2002, la principal implementación es software libre bajo licencia GPLv 2 [1]​ .

Un programa en FAUST se traduce como un procesador de señal, es decir una función matemática que transforma una señal de entrada en una señal de salida.

Faust Play Ground es una aplicación web en línea que permite ensamblar fácilmente programas escritos en Faust con una interfaz gráfica. Puede exportar a diferentes plataformas compatibles con FAUST y crear complementos [2]​ .

Descripción general[editar]

El modelo de programación FAUST combina el enfoque de una programación funcional con una sintaxis basada del diagrama de bloques .

Un programa escrito en FAUST no hace una descripción de un o grupo de sonidos sino que realiza un procesamiento de la señal de audio digital . El programa de base esta organizado como un conjunto de definiciones, incluyendo al menos la definición de la palabra clave process, equivalente a main en C, que opera con los datos de entrada.

Ejemplos[editar]

El primer ejemplo describe una función que genera un "silencio".

codificado diagrama función
process = 0;

El segundo ejemplo copia la señal de entrada a la salida. Utiliza el carácter _ que es la función identidad. :

codificado diagrama función
process = _;

la suma de las dos señales de entrada se realiza mediante el carácter + :

codificado diagrama función
process = +;

Mayormente los signos de FAUST se parecen a su equivalente en C para números, pero se aplican a señales. Por ejemplo, la indicación sin aplica la función C sin a cada muestra de la señal de entrada. :

código diagrama función
process = sin;

Algunos son específicos de FAUST, como el operador de retardo @ que retrasa la señal de entrada una cierta cantidad de tiempo, en este ejemplo, 10 muestras. :

código diagrama función
process = _ @ 10;

Generación de aplicaciones musicales.[editar]

A partir de archivos de arquitectura de software específicos, un programa FAUST puede generar código informático para una amplia diversidad de plataformas de software y formatos de complementos . Estos archivos de arquitectura se definen como contenedores y describen las interacciones entre el host del software y la GUI . En 2015 se gestionan más de 10 arquitecturas, con posibilidad de crear nuevas.

Archivos de arquitectura disponibles para FAUST
Nombre del archivo Nombre de la arquitectura Tipo de arquitectura
alsa-gtk.cpp ALSA + GTK solicitud
alsa-qt.cpp ALSA+ Qt4 solicitud
android.cpp Androide solicitud
au.cpp Unidad de audio Plug-in
ca-qt.cpp Audio central + Qt4 solicitud
ios-coreaudio.cpp iOS para iPhone y iPad



</br>
solicitud
jack-gtk.cpp JACK + GTK solicitud
jack-qt.cpp JACK + QT4 solicitud
ladspa.cpp LADSPA plug-in
max-msp.cpp Máx/MSP plug-in
pd.cpp Pure data plug-in
q.cpp lenguaje q plug-in
supercollider.cpp Super Collider plug-in
vst.cpp VST plug-in
vsti-mono.cpp Instrumento monofónico VST plug-in
vsti-poly.cpp Instrumento polifónico VST plug-in

Apéndices[editar]

Referencias[editar]

Bibliografía[editar]

Artículos relacionados[editar]

Artículos externos[editar]