Datos puros


Pure Data ( Pd ) es un lenguaje de programación visual desarrollado por Miller Puckette en la década de 1990 para crear música interactiva por computadora y obras multimedia . Si bien Puckette es el autor principal del programa, Pd es un proyecto de código abierto con una gran base de desarrolladores trabajando en nuevas extensiones. Se publica bajo BSD-3-Cláusula . Se ejecuta en Linux , MacOS , iOS , Android y Windows . Existen puertos para FreeBSD e IRIX .

Pd es muy similar en alcance y diseño al programa Max original de Puckette , desarrollado mientras estaba en IRCAM , y hasta cierto punto es interoperable con Max/MSP, el predecesor comercial del lenguaje Max. Pueden discutirse colectivamente como miembros de la familia de lenguajes Patcher [2] .

Con la adición de Graphics Environment for Multimedia (GEM) externo y externos diseñados para trabajar con él (como Pure Data Packet / PiDiP para Linux, Mac OS X ), framestein para Windows, GridFlow (como procesamiento de matriz n-dimensional, para Linux, Mac OS X , Windows), es posible crear y manipular video, gráficos OpenGL , imágenes, etc., en tiempo real con amplias posibilidades de interactividad con audio, sensores externos, etc.

Pd está diseñado de forma nativa para permitir la colaboración en vivo a través de redes o Internet, lo que permite a los músicos conectados a través de LAN o incluso en diferentes partes del mundo crear música juntos en tiempo real. Pd utiliza FUDI como protocolo de red.

Pure Data y Max son ejemplos de lenguajes de programación de flujo de datos . Los lenguajes de flujo de datos modelan un programa como un gráfico dirigido de los datos que fluyen entre operaciones. En Pure Data y Max, las funciones u "objetos" están vinculados o "parcheados" en un entorno gráfico que modela el flujo del control y el audio. Sin embargo, a diferencia de la versión original de Max, Pd siempre se diseñó para controlar la velocidad y el procesamiento de audio en la unidad central de procesamiento (CPU) del host, en lugar de descargar la síntesis de sonido y el procesamiento de la señal en una placa de procesador de señal digital (DSP) ( como el Ariel ISPWque se usó para Max/FTS). El código Pd constituye la base de las extensiones MSP de David Zicarelli al lenguaje Max para realizar el procesamiento de audio por software. [3]

Al igual que Max, Pd tiene una base de código modular de elementos externos u objetos que se utilizan como bloques de construcción para los programas escritos en el software. Esto hace que el programa sea arbitrariamente extensible a través de una API pública y alienta a los desarrolladores a agregar sus propias rutinas de control y audio en el lenguaje de programación C , o con la ayuda de otros externos, en Python , Scheme , Lua , Tcl ., y muchos otros. Sin embargo, Pd también es un lenguaje de programación. Las unidades de código modulares y reutilizables escritas de forma nativa en Pd, llamadas "parches" o "abstracciones", se utilizan como programas independientes y se comparten libremente entre la comunidad de usuarios de Pd, y no se requiere ninguna otra habilidad de programación para usar Pd de manera efectiva.


Objetos de datos puros. Las cadenas de texto a la derecha de los cuadros son comentarios.
Partitura para Solitude de Hans-Christoph Steiner , creada usando las estructuras de datos de Pd.