sábado, 26 de julio de 2008

Un Mac libre, sonoro y creativo

La plataforma Macintosh en su estado actual es una muy buena mezcla entre dos mundos, lo comercial y lo libre. Por el lado de lo comercial, existen una interfaz de usuario y altamente desarrollada, un hardware de primera calidad un respaldo de comunidad de usuarios sólida y un excelente soporte y documentación. En el lado libre tenemos un sistema basado en UNIX, que se caracteriza por su estabilidad y versatilidad, que emparenta a Mac OS X con muchos otros sistemas, entre ellos GNU-Linux y da acceso a herramientas ubicuas y poderosas completamente gratis.


Este artículo contiene una lista de habilidades y software que considero un mínimo necesario para trabajar de manera creativa con audio en un Mac con software libre.


Prerrequisitos

No todas las aplicaciones libres usan el esquema habitual de instalación del Mac OS, en el que uno baja un archivo y lo arrastra o corre un programa instalador. Algunas de ellas vienen de el mundo de las otras variantes de UNIX que usan procedimientos e interfaces diferentes a lo que uno está acostumbrado en el Mac.


Habilidad muy útil, la línea de comando:

El uso de la línea de comando es una valiosa herramienta para el uso del computador y más cuando se trata de trabajar con software de fuente abierta. En Mac OS X puede usarse el emulador de terminal que hay en /Aplicaciones/Utilidades/Terminal o bien se puede usar Xterm bajo X11.


Para aprender a manejar la línea de comando existen bastantes tutoriales en línea, como este, bastante comprensivo, orientado a Linux, pero aplicable al Mac o bien este otro, que habla específicamente de la terminal Mac OS X. En la red, con un par de búsquedas se pueden encontrar muchos más.


Uso de Editores de texto:

Los editores de texto hacen lo que su nombre indica, editar texto. No son un procesador de palabra, sino aplicaciones que editan archivos de texto llano que pueden contener casi cualquier cosa, como código de programación, datos de configuración de un programa o datos de las pistas de un CD, por ejemplo.


Mac OS X incluye un editor llamado TextEdit dentro de la carpeta Aplicaciones, que aparte editar texto enriquecido (crear y modificar archivos .rtf) puede convertirse en un editor de texto llano, fácil de usar y sin pretensiones. Se puede acceder a esto en el menú Formato-->Convertir en texto normal.


Dentro de la línea de comando uno puede encontrar incluidos en Mac OS X varios editores, por ejemplo:

  • Nano: un editor bastante simple, pero práctico para cualquier uso. Se invoca escribiendo 'nano' en la línea de comando.
  • Emacs: Un poderosísimo e hiperconfigurable editor de texto. Al principio no es sencillo de manejar, pero una vez se aprende es muy útil. También existe en varias versiones GUI, como por ejemplo Aquamacs Emacs y el más parecido al original Carbon Emacs
  • Vim: Otro de los clásicos de UNIX, un editor de texto liviano y basado en modos.

Requisitos de software de sistema:

  • Mac OS 10.4.11: Aunque muchas de las aplicaciones mencionadas acá se pueden encontrar y usar bajo distribuciones anteriores del Mac OS X, prefiero cortar en esta, que incluye a GCC4 (colección de compiladores de GNU) .
  • X11: Es el sistema de manejo de ventanas común de los sistemas *NIX. Se requiere para que funcionen algunas de las aplicaciones. Está en los discos de instalación del Mac OS X.

Adicionalmente, para añadir flexibilidad y capacidad para emprender proyectos de mayor envergadura, pueden instalarse:

  • Xcode: Herramientas de desarrollo de software para el Mac OS X. Incluidas en los discos de instalación del Mac OS X.
  • Fink: Es un sistema de distribución y empaque de aplicaciones de otros *NIX. Provee librerías y aplicaciones presentes en otros sistemas operativos. Fink cuenta con muchos programas y utilidades que sirven al interesado en el audio, como codecs y bibliotecas para poder usar y construir software.

Aplicaciones

Aquí estan los paquetes de software que están dedicados específicamente al audio.


Software de edición de sonido:

  • Audacity: Editor multipista de audio. Relativamente simple y bastante útil.
  • Ardour2: DAW bastante poderosa comparable con muchas de las comerciales. Requiere estas dos aplicaciones para poder funcionar.
  • Jack: Sistema de interconexión de audio de baja latencia. Permite interconectar de audio aplicaciones de manera eficiente y simple.
  • JackPilot: Provee una interfaz gráfica para Jack.
  • Plugins LADSPA: Más que recomendables, casi obligatorios para sacar el máximo provecho de Ardour.
  • Todo lo referente a Ardour y Jack en Mac OS X está aquí.
  • SoundFlower: Extensión del sistema que permite interconectar aplicaciones de audio que no usen Jack (aunque las de Jack también juegan), con hasta 16 canales virtuales. Tiene una interfaz gráfica llamada SoundFlowerBed.

Síntesis de audio:

  • Hydrogen: Máquina de ritmos basada en patrones. Requiere procesadores Intel.
  • SimpleSynth: Una utilidad que permite a cualquier aplicación acceder y hacer sonar los instrumentos MIDI presentes en el sistema como si fueran un sintetizador externo.

Procesamiento de audio:

  • Soundhack: Una excepcional y ya clásica navaja suiza para el audio digital, que permite dividir fácilmente archivos multicanal, convertir entre diferentes formatos PCM.

Programación:

Me atrevo a añadir esta categoría, pues como parte del espíritu de lo libre está el ánimo del hackeo, que incluye crear y adaptar las propias herramientas de trabajo. Exhorto a todos los foniurgos o simplemente curiosos del sonido a que exploren esta categoría

  • Pd: También conocido como Pure Data. Lenguaje de programación gráfico (se conectan cajas en lugar de escribir código). Recomiendo la versión 'Pd-extended', que contiene muchas librerías preinstaladas.
  • Csound: Un clásico de la música por computador. Un lenguaje fácil de aprender para síntesis y procesamiento de sonido. En una publicación anterior de este mismo blog hay un truco para poder correr Csound cómodamente desde la línea de comando.
  • SuperCollider: Un muy flexible y poderoso lenguaje de programación orientado a objetos con énfasis en el sonido y los multimedios. Es ideal para síntesis y procesamiento de audio en tiempo real.
  • Lilypond: Un sistema de tipografía musical bastante poderoso, no comparable con un editor de partituras comercial. Los editores de texto jEdit y Emacs tienen modos especializados para editar archivos de Lilypond.,


Además de esto, mucho del software no-libre incluido con el Mac puede ser de gran utilidad, como por ejemplo las capacidades para conversión de archivos de iTunes y los emuladores de amplificador y efectos en tiempo real de GarageBand, entre muchos otros que están ahí en el Mac listos para ser usados.


Agradezco e invito a comentarios y adiciones de los lectores.


miércoles, 25 de junio de 2008

Añadir variables de entorno en Linux o Mac OS X

Para facilitar el uso del sistema, los sistemas operativos incluyen variables predefinidas, que sirven como atajos para poder acceder a comandos y diapositivos. De no tenerlas, para invocar cada comando deberíamos escribir todas las veces la ruta entera de donde se encuentra el archivo del programa, por ejemplo, si quisieramos crear un nuevo directorio deberíamos decir:

/bin/mkdir mi-direct

...en lugar de

mkdir mi-direct


La instalación en Mac OS X de Csound 5 deja los binarios ejecutables en la carpeta /usr/local/bin, que no está habilitada por defecto dentro de la variable $PATH (la que permite acceder a los comandos), así que hay que añadir esa ruta a la variable para poderlo ejecutar sin invocar toda la ruta.

Para hacer esto, presento un método simple que da acceso inmediato a esa ruta:

1. Abrir la terminal (/Aplicaciones/Utilidades/Terminal) e invocar el editor de texto 'nano' con el archivo de texto que contiene la configuración de las variables. Esto se hace escribiendo:

nano .bash_profile


... y oprimiendo la tecla 'Retorno' o 'Enter'.

Puede copiar y pegar el texto de los comandos, si lo desea.

2. Si está en blanco la ventana de nano es decir, que no hay texto más allá de la ayuda y los avisos, copie las siguientes líneas en la ventana:

PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'

export PATH

3. Después guarde el archivo oprimiendo CTRL+O y salga de nano oprimiendo CTRL+X.

4. Cierre todas las ventanas de la terminal y abra una ventana nueva. En la nueva ventana ya podrá acceder a la ruta añadida.

5. Si instaló Csound previamente pruebe escribiendo:

csound


Si sale una lista de comandos y opciones, ya está funcionando. Puede usar Csound, sus utilidades y cualquier programa que esté almacenado en /usr/local/bin.

jueves, 3 de abril de 2008

dyne:bolic, un LiveCD para multimedios

En esta oportunidad reseñaré una distribución de GNU-Linux que no es noticia nueva, pero cuyas implicaciones positivas para la educación en medios electrónicos son bastante notables y daré algunas instrucciones elementales para empezar a explorar dentro de ella.

Contexto

En una institución de educación superior -sea técnica o universitaria- en una materia en la que se deba trabajar con computadores, la elección del software puede ser un factor que determine el rendimiento y la fluidez de la clase, no sólo por la calidad de la pieza de software sino por la accesibilidad de esta a los alumnos y para la institución.

Hay aplicaciones con muchísimas prestaciones que son estándares de la industria, pero algunas de ellas tienen la limitación de el precio de la licencia para su acceso. En países desarrollados suele ser común la existencia de versiones educativas de precio reducido o versiones especiales para la educación sin todas las características de la versión completa. Por ejemplo, en un entorno como esos una cifra como US$411 -el precio de la licencia académica de Max-MSP-Jitter- puede ser algo viable, incluso para un estudiante con poder adquisitivo limitado.

En un país en vías de desarrollo como el nuestro, en el que la cifra mencionada arriba está cercana al equivalente a dos salarios mínimos mensuales, un esquema así resulta altamente excluyente para la gran parte de los estudiantes, incluso en universidades cuya población tiende a ser de los estratos más económicamente privilegiados.

El escoger un paquete propietario de software frente a uno de software libre obliga en, el peor de los casos, a sólo poder poner en práctica los conocimientos de clase en el momento en el que esté disponible un computador con el software instalado en el salón o laboratorio de la institución donde se da la clase. Esto tiene el riesgo de que el tiempo para trabajo individual se reduce, junto con la posibilidad de profundizar en los contenidos y el uso de la herramienta en diferentes situaciones. La reacción inmediata -y completamente legítima- de alguien proactivo será buscar e instalar una versión no-autorizada o 'pirata' para poder trabajar por su cuenta, cosa que generalmente no es bien vista ni por las instituciones ni por las casas productoras de software.

El software libre, que es el que que no pone trabas a su distribución, uso, estudio o modificación, anula estas barreras y posibilita una mejor apropiación del medio a utilizar.

¿Qué es dyne:bolic?

dyne:bolic (con la minúscula y los dos puntos en la mitad) es una distribución de GNU-Linux que viene en medio vivo, es decir que se puede arrancar desde un medio removible, como un CD, DVD o memoria USB sin necesidad de instalar en un medio estático como un disco duro. Tiene unos requisitos mínimos de hardware bastante modestos, pero como muchas veces, un buen procesador y más de 512MB de memoria RAM pueden hacer el trabajo muchísimo más fácil.

Descarga y grabación

Este sistema operativo y sus aplicaciones libre y se pueden obtener como un archivo de imagen de disco .iso desde la página de la distribución.

Arranque del sistema

Lo primero es cerciorarse de que el sistema esté habilitado para arrancar desde el CD-ROM o DVD-ROM. En caso de no ser así, se puede acceder a la utilidad de configuración del BIOS. Esto se hace presionando [F2] en el momento de encender el computador, antes de que se cargue el sistema operativo. Después de hacer el ajuste, se reinicia el aparato con el disco recién quemado puesto en la unidad de disco.

Al arrancar el sistema, aparece un saludo, en el que da varias opciones de ayuda que se pueden invocar con las teclas de función. Para ver las opciones de configuración de vídeo, se oprime [F3] y se muestran varios modos, que corresponden a pares de resolución (pixeles) por profundidad de color. A cada par corresponde un número de tres cifras y uno debe buscar el que corresponda al monitor que se tenga. Por ejemplo, si tengo un monitor LCD de 17 pulgadas, cuya resolución es de 1280 x 1024, debo escoger el modo 794. Para arrancar con ese modo de vídeo, escribiría ante el prompt que dice 'boot:'

linux vga=794

... y presiono [ENTER].

Ahí comenzará el arranque del sistema operativo, que puede tomar algunos minutos.

Básicos de la interfaz de usuario

El sistema de archivos


miércoles, 13 de febrero de 2008

Configurar una tarjeta Nvidia en Fedora

Estas instrucciones son una ayuda para instalar y poder correr muchas cosas necesarias (OpenGL) e innecesarias (Beryl) con una tarjeta de vídeo Nvidia en Linux. Se recomienda imprimir en papel estas instrucciones o tenerlas a la mano en un computador cercano.

Estas instrucciones y el script escrito para facilitar las cosas fueron hechas con base en la información encontrada aquí.

Contexto

De navidad decidí hacerme un regalo para mejorar la calidad del sonido en mi computador: una tarjeta de vídeo. Sí, de vídeo. Las interrupciones y la latencia se reducen debido a que hay un procesador dedicado al vídeo y el audio puede reclamar para si más recursos.

GNU-Linux en sus cientos de distribuciones puede ser un gran sistema operativo, pero la diversidad tiene sus problemas: La configuración tiende a no ser tan fácil como en otros contextos. Por eso, nosotros los geeks hemos desarrollado la instalación de software y hardware como pretexto para socializar, adoptando varias personalidades y relacionarnos a través de ellas. Para la muestra un botón.

0. Obtención de los drivers y preparación del entorno.
Aunque existe alguna probabilidad de que Linux funcione sin instalar los drivers, recomiendo hacer estos pasos previos para evitar decepciones. Antes de instalar el hardware, haga lo siguiente:

0.1 Obtenga de esta dirección los drivers de la tarjeta para el sistema y arquitectura correspondientes a su configuración.

0.2 Cree una carpeta nueva en su carpeta de usuario en la que pueda guardar los materiales (los va a necesitar cuando mejore el Kernel). Puede llamarla 'Nvidia', por ejemplo

$ mkdir Nvidia

0.3 Mueva lo recién bajado a esa carpeta, por ejemplo:

$ mv ~/Desktop/NVIDIA-Linux-x86-169.07.pkg1.run ~/Nvidia/

...suponiendo que ese sea el nombre y que se haya descargado el archivo en el escritorio.

0.4 Baje este script y guárdelo en la misma carpeta. (Redistribuible, mejorable, siempre con crédito al autor).

0.4.1 Modifique los permisos del script para volverlo ejecutable:

$ chmod 755 nvsh.sh

0.5 Obtenga los encabezados de desarrollo del Kernel para compilar el módulo de Nvidia contra cada nuevo Kernel. Puede hacerse con el gestor de paquetes (Pirut, et al.) o bien por la línea de comando:

$ su
# yum install kernel-devel

0.6 Instalar la tarjeta de vídeo en el equipo. Siga las instrucciones provistas.

1. Instalación de los drivers
Esta parte se hace Ya instalado el hardware, reinicie el equipo. El servidor X tratará de arrancar.
  • Dígale que NO quiere ver la salida del servidor X.
  • Dígale que NO quiere que trate de configurar el xorg.conf.
  • Haga todo lo que lo lleve a no estar en modo gráfico, sino texto.
1.1 Inicie sesión con su nombre de usuario y entre a la carpeta Nvidia:

$ cd Nvidia

1.2 Cambie a superusuario y ejecute el script que bajó hace un momento

# ./nvsh.sh

1.3 Al arrancar la utilidad de configuración y esta empezar a preguntar dígale:
  • Que NO baje un nuevo módulo.
  • Que SI compile uno nuevo
  • Que SI le permita modificar el archivo /etc/X11/xorg.conf
1.4 Sea paciente y espere un momento.

2. Uso del servidor X con la tarjeta Nvidia
Al finalizar el script, debe arrancar el modo gráfico verá un logo de Nvidia. Si eso pasa, todo funcionó a la perfección. Si no arranca el modo gráfico teclee para arrancarlo:

# /sbin/telinit 5

Disfrute su modo gráfico acelerado.

Aclaración importante: Estas instrucciones y el software son dadas a la comunidad con muy buena intención pero sin garantía alguna. El autor no responde por problemas de cualquier índole relacionados con el mal uso de las instrucciones o el software. Estas instrucciones pueden ser usadas, distribuidas, corregidas, ampliadas y adaptadas para cualquier propósito razonable sin implicar ninguna responsabilidad por parte del autor.