domingo, 14 de abril de 2019

¿Cómo compilo Ardour 6 en Ubuntu?

Reunido 1973 en la Confederación General del Trabajo, Juan Perón expone sobre el Tercer Mundo unido, e instruye cómo compilar Ardour, el excelente programa profesional para la grabación de audio multipista.


(...)
Hoy yo quisiera tratar un tema que es especialmente importante en los momentos que vivimos, y es esa aparente controversia que parece haberse producido en algunos sectores del peronismo.

Es indudable que en todos los movimientos revolucionarios existen tres clases de enfoques. El de los apresurados, que creen que todo anda despacio y no se hace nada porque no se rompen cosas ni se mata gente. El otro sector está formado por los retardatarios, esos que no quieren que se haga nada, y entonces hacen todo lo posible para que esa revolución no se realice. Entre esos dos extremos perniciosos, existe uno que es el del equilibrio, y que conforma la acción de una política que es el Arte de hacer lo Posible, no ir mas allá ni quedarse más acá, pero hacer lo posible en beneficio de las Masas que son las que más merecen y son por la cual hemos de trabajar todos los Argentinos.

En el mundo también existe esta división. En este momento serían el Imperialismo Yanqui o el Imperialismo Soviético, o un Tercer Mundo. Si esa integración Universal la realizara cualquiera de los imperialismos, la harían en su provecho, no en el provecho de los demás. Solamente la conformación de un Tercer Mundo podría ser una garantía para que la Humanidad pudiese disfrutar de un mundo mejor en el futuro. Pero para eso ese Tercer Mundo debe organizarse y fortalecerse.

Hace ya casi 30 años nosotros, desde aquí, lanzamos la famosa Tercera Posición, que entonces cayó aparentemente en oídos sordos, porque había terminado la guerra mundial y aparentemente no estaba el horno para bollos. Han pasado 30 años desde entonces y hoy, las dos terceras partes del mundo puja por estar en esa Tercera Posición.

Para los peronistas esto no cayó en oídos sordos, porque lo teníamos grabado digitalmente, en calidad HD. Natural, si estaba grabada de forma multipista con una versión de Ardour especialemente compilada en la CGT.

Indudablemente que Ardour es una aplicación excelente para la producción de sonido para sistemas GNU con Linux. Sin embargo sus desarrolladores no distribuyen empaquetada sino versiones anteriores del mismo. Su modelo productivo de software libre implica que si queremos las versiones más actuales y contar con soporte, debemos pagarlas.

Si no deseamos hacer ello, bien podremos abrir una terminal e instalar Ardour 5 a través de los repositorios oficiales de Ubuntu. Para ello ingresamos:

sudo apt update
sudo apt install ardour

Esto es adecuado, pero porqué pagar para tener la versión 6 cuando el Justicialismo nos enseña cómo Compilar para hacer en casa nuestras propias versiones del programa a partir del código fuente de Ardour 6 que está disponible.

Si en vez de utilizar la versión 5 empaquetada queremos compilar nosotros mismos la versión 6, habremos de proceder de una forma específica. Primero debemos instalar las dependencias de programación necesarias para Ardour. Ello lo hacemos con el siguiente comando de organización:
 
sudo apt install libboost-all-dev libasound2-dev libglib2.0-dev glibmm-2.4-dev libsndfile1-dev libcurl4-gnutls-dev liblo-dev libtag1-dev vamp-plugin-sdk librubberband-dev libfftw3-dev libaubio-dev libxml2-dev libcwiid-dev libjack-jackd2-dev jackd qjackctl liblrdf0-dev libsamplerate-dev lv2-dev libserd-dev libsord-dev libsratom-dev liblilv-dev libgtkmm-2.4-dev libarchive-dev git xjadeo;

Acto seguido, descargo su código fuente más actualizado.

cd ~/Descargas/ ;
mkdir ~/Descargas/ardour ;
cd ~/Descargas/ardour ;
git clone git://git.ardour.org/ardour/ardour.git


El código fuente del Ardour se irá descargando (pesa 1,8GB aproximadamente, por lo que puede tardar unos minutos, aunque en mi caso lo hizo sorporendentemente rápido.).

El paso fundamental consiste en compilar:

cd ~/Descargas/ardour/ardour
./waf configure
./waf


La terminal se irá llenando de información pasajera de status durante la compilación.
El sistema quedará compilando a máxima potencia y durará entre 15 o 30 minutos, dependiendo de la velocidad de nuestro microprocesador y la cantidad de nuestra memoria RAM.

Cuando haya terminado, instalamos el paquete con:

sudo ./waf install

Actualización política y doctrinaria: Para instalar Ardour 9.7 en Ubuntu 22.04LTS y superiores debemos ingresar:
sudo apt install libboost-all-dev libasound2-dev libglib2.0-dev glibmm-2.4-dev libsndfile1-dev libcurl4-gnutls-dev liblo-dev libtag1-dev vamp-plugin-sdk librubberband-dev libfftw3-dev libaubio-dev libxml2-dev libcwiid-dev libjack-jackd2-dev jackd qjackctl liblrdf0-dev libsamplerate-dev lv2-dev libserd-dev libsord-dev libsratom-dev liblilv-dev libgtkmm-2.4-dev libarchive-dev git xjadeo python-is-python3 ;
 
Luego descargar el archivo tar.bz2 con el código fuente ingresando a desde https://community.ardour.org/download?architecture=x86_64&type=source y presionando el botón "Ardour 9.7 source code for all platforms". Cuando se haya descargado, lo descomprimimos, configuramos, compilamos e instalamos con:
 
mv ~Descargas/Ardour-9.7.0.tar.bz2 /tmp ;
cd /tmp ;
tar xvjf Ardour-9.7.0.tar.bz2 ;
cd /tmp/Ardour-9.7.0/ ;
./waf configure
sudo ./waf install

Una vez que se haya instalado Ardour 6 (o 9.7.0) en nuestro sistema, agregamos nuestro usuario al grupo audio (naturalmente, reemplazando peron con vuestro propio nombre de usuario):

sudo adduser peron audio

Ya finalizado, reiniciamos el sistema:

sudo reboot


Arrancar Ardour 6
La primera vez que iniciamos Ardour, debemos iniciar el servidor JACK a mano. Para ello abrimos lo abrimos desde Aplicaciones / Sonido y Video / qJackCtl.

qjackctl

Para que inicie, debemos presionar en el botón "Iniciar" y lo minimizamos.

Luego, lanzamos Ardour desde la terminal con:

ardour6

Naturalmente, también podríamos hacerlo desde Aplicaciones / Sonido y Video / Ardour 6, si creamos un lanzador a ardour6.

Como esta es una versión de producción propia, es natural que lo primero que veamos sea una pantalla de advertencia desactivable, que nos informa que es un producto en estado beta (desarrollo).
 A continuación recibiremos la pantalla tradicional de bienvenida.
Los siguientes pasos consisten en configurar Ardour para poder especificar cómo trabajamos. Normalmente se nos pedirá que indiquemos una carpeta de trabajo para el programa. Debemos tener en cuenta que las pistas de audio normalmente ocupan mucho espacio, por lo cual podremos indicar - si lo deseamos - que trabaje en un disco o carpeta específica que separe dicha información de nuestro sistema. Por defecto, Ardour deseará utilizar la carpeta de usuario.

Luego Ardour nos preguntará el método de monitoreo que queremos. Esto se refiere a cómo se producirá el retorno del audio durante el mismo proceso de grabación. Este retorno de audio suele ser útil como referencia o simplemente como canal de retorno. Si tenemos un dispositivo externo de grabación (dispositivo de audio externo con canal de monitoreo), o directamente una consola de mezcla, podremos destinar tal tarea a tales dispositivos. En cambio, por defecto Ardour asume el rol de monitorización por sí mismo (esto es lo más común si sólo disponemos de una placa de sonido común integrada en nuestro sistema). Esto podremos alterarlo también dentro del programa si cambiamos de opinión.
El siguiente paso consiste en especificar cómo operará la monitorización. Por defecto se asume un empleo simplificado, donde utilizamos el bus Master directamente conectado virtualmente a nuestros altavoces. Sin embargo, podríamos escoger un uso más profesional, y prever un bus intermedio de salida para monitorización de mastering, para prueba de efectos, etc, sin que ellos alteren la mezcla. Esto podremos cambiarlo dentro del programa más adelante si cambiamos de opinión.
Con esto ya habremos preconfigurado el programa de forma inicial.
Las siguientes son las ventanas típicas de arranque de Ardour.

Adour siempre inicia proponiéndonos el armado de la sesión de grabación.

Los más expertos podrían querer armar desde cero su propio setup de estudio usando la plantilla vacía "Empty Template", pero para los no iniciados siempre es más fácil escoger "Recording Session". Esta plantilla asigna automáticamente de forma genérica nuestras entradas de audio reales a las virtuales de Ardour, y las salidas de audio virtuales de Ardour a nuestras salidas reales de nuestra placa de sonido (para sacarlo por los altavoces, auriculares, etc).

De esta manera tendremos una cadena de audio típica:

Entradas de audio - > Ardour para producción: (edición, efectos, mezcla) -> Bus/es de Monitoreo (opcional/es) -> Salidas de Audio producido.

Naturalmente, debemos indicarle un nombre a la sesión. Cuando presionamos Abrir se abrirá Ardour para trabajar.

El asistente de la plantilla nos solicitará crear una cantidad de pistas acorde, normalmente dos.
La vista estándar del programa la activamos presionando en el botón Editor. Para comenzar a grabar, debemos armarlas presionando el botón R de la pista para armarla (si no lo estuviese), y luego presionamos el botón REC y PLAY, como si de un viejo grabador a Casette se tratara. La grabación puede ser en una sola pista o en varias simultáneamente (si nuestro hardware lo permite). Asimismo podremos activar un metrónomo ruteable (el cual podría oírse  sólo a través de la salida de auriculares y no en los altavoces, a fin de usarlo de referencia rítmica para un músico).
Si presionamos el botón Mixer, nos aparecerá la mesa mezcladora, que nos permite configurar el volúmen, los efectos de cada una de ellas, etc.

Si vamos a Session / Propieties, podremos establecer las propiedades que atañen a la sesión en la que estamos actualmente. Normalmente en la categoría Media podremos especificar el tipo de archivos que se utilizarán. Por defecto vienen configurados los superpesados archivos WAVE, con una resolución de 32 bits en coma flotante (limitados a 4GB de espacio). Este formato de alta resolución asegura la máxima calidad de nuestro sistema de grabación bajo GNU. También podríamos querer utilizar FLAC de 16 bits (con compresión sin pérdida), que representan mayor uso de CPU pero consumo de disco sensiblemente menor.
Una vez que arranque Ardour, conviene ir a Edit / Preferences y en la categoría General, tildar la opción Try to Auto-launch MIDI/Audio Engine. Esto hará que el servidor JACK se encienda automáticamente cuando abrimos Ardour, y nos ahorrará tener que QJackCtl nosotros mismos.
En la ventana Apariencia, también contaremos con la barra "font scalling", donde pondremos aumentar un poco el tamaño de las letras en pantalla.
Naturalmente, contaremos con un completo manual de Ardour.

Cómo reparo GRUB con EFI en Ubuntu?

¡Trabajadores!

Desde los tiempos del Primer Peronismo he explicado cómo recuperar GRUB con el DVD de Ubuntu. Este procedimiento nos servirá para las instalaciones típicas, con viejo arranque desde el BIOS.

Sin embargo, de un tiempo a esta parte el efectivo arrancador GRUB ha debido afrontar la aparición del sistema de arranque firmado, llamado EFI o UEFI, que está presente en los equipos de más moderna factura.

UEFI/EFI es un arrancador compuesto, que es más complejo que el sistema convencional de arranque. GRUB puede utilizarlo, haciendo contacto desde lo que sería la UEFI que reside en la placa madre de nuestro sistema hasta una partición especial dentro del disco rígido que contiene el arrancador EFI. En el caso de Ubuntu 18.04LTS, esta partición tiene unos 512MiB de espacio y va formateada en FAT32 para máxima compatibilidad. Allí se deposita el arrancador en el punto de montaje /boot/sh, y luego en el resto de las particiones de sistema (si existen) continuarán en siguientes particiones, normalmente dentro del misma unidad de disco, o eventualmente en otras (según lo hayamos configurado especialmente).

Si hubiese habido una falla con GRUB o la partición EFI, y el sistema se niega a arrancar desde el disco rígido, podremos recuperarla, siempre y cuando no eliminemos las particiones de manera alguna.

Para ello utilizamos el DVD arrancable de Ubuntu, o un pendrive preparado con la ISO de Ubuntu (idealmente la misma versión que la utilizada para instalar la versión). La arrancamos y elegimos "Probar Ubuntu sin Instalar".

Una vez iniciado el escritorio Live, debemos identificar las particiones del disco. Para ello conviene utilizar gParted, que está incluido en el Ubuntu Live. Debemos prestar especial atención a la identificación de discos, pues la misma describe como /dev/sdx a la unidad de disco, /dev/sdxx es la partición donde se encuentra la EFI, y /dev/sdxxx es la partición de sistema.
Por ejemplo, en una instalación típica de Ubuntu 18.04LTS, en un único disco rígido, el disco podría ser /dev/sda, la partición EFI /dev/sda1 y la partición de sistema /dev/sda2. Sin embargo, debemos prestar atención pues la misma podría variar en otras condiciones, y es importante tomar nota de las identificaciones correctas.

Si lo deseamos hacer desde la terminal, abrimos una con Ctrl+Alt+T e ingresamos:

sudo fdisk -l

Una vez identificadas las particiones EFI y de sistema, debemos montarlas.

Ello lo haremos desde la terminal por medio de los comandos necesarios. Primero montamos la partición de sistema, usamos:

sudo mount /dev/sdxxx /mnt

Luego montamos la partición EFI:

sudo mount /dev/sdxx /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done


Luego nos damos de alta como administrador en la partición de sistema recién montada:

sudo chroot /mnt


Confome estemos logueados como Root, tendremos al alcance nuestro disco rígido. Ahora debemos reinstalar la parte de GRUB que va en el disco. Ello se hace con:

grub-install /dev/sdX


...y lo actualizaremos con:


update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y luego reiniciamos el sistema (se nos solicitará retirar el DVD o Pendrive de Ubuntu, y el equipo debería reiniciar correctamente desde el disco rígido con EFI, como lo hacía normalmente.


Editar errores de GRUB

Puede haber sucedido que hayamos cometido errores en la configuración de GRUB. Si tal fuese el caso y tuviésemos que editarlo que editarlo, lo haremos con:

mount /dev/sdxxx /mnt
chroot /mnt

Una vez montado el sistema de archivo del disco, lo editamos con:

nano /etc/default/grub

...y revisamos que todo esté correcto.


Si no tuviésemos la referencia del archivo de configuración de GRUB, econtraremos una muestra en /usr/share/grub/default/grub

Recrear la partición EFI para GRUB
Si por alguna causa catastrófica hubiésemos perdido la partición EFI, es fácil hacerla de nuevo.

Podemos usar fdisk o gParted para crear una nueva partición GPT con el tipo "EFI partition (1)", idealmente al principio del disco. Acto seguido la formateamos con:

sudo mkfs.msdos /dev/sdx

...luego la montamos con:

sudo mount /dev/sdXX /mnt/boot/efi

...y seguimos montando el resto del sistema, como en el caso anterior.

sudo mount /dev/sdXXX /mnt
sudo grub-install /dev/sdx


Recuperar la EFI cuando tenemos nuestro sistemas de archivos repartido en distintos discos rígidos
Indudablemente que si al instalar el sistema operativo se repartió el sistema de archivos largo de diferentes particiones (la carpeta raíz "/" en un disco y la carpetas /home, /tmp y /var en otro), la tarea de recuperación de la EFI será algo más desafiante.

En tal caso tenemos que proceder a averiguar y tomar adecuada nota de qué identificador de discos y en qué particiones está cada componente del sistema de archivos (lo averiguamos con sudo fdisk -l).

Ejemplo:
Suponiendo que tenemos dos discos, y que nuestro sistema de archivos está estructurado de la siguiente manera:

Disco de estado sólido de arranque y sistema /dev/sda:
Partición /dev/sda1 -> particion EFI
Partición /dev/sda2 -> carpeta "/" del sistema

Disco rígido de trabajo /dev/sdb:
Partición /dev/sdb1 -> carpeta /home
Partición /dev/sdb2 -> carpeta /tmp
Partición /dev/sdb3 -> carpeta /var,

En tal caso, si deseamos recuperar la partición EFI en este sistema de archivos dividido entre dos discos, deberíamos ingresar los siguientes comandos:


sudo mount /dev/sda2 /mnt
sudo mount /dev/sdb1 /mnt/home

sudo mount /dev/sdb2 /mnt/tmp
sudo mount /dev/sdb3 /mnt/var
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda



update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y reiniciamos el sistema.


Copiar la EFI a la UEFI de la placa madre

Este ejemplo puede resultar útil cuando cambiamos de disco rígido, o bien cambiamos de placa madre en el equipo. En tal caso la placa madre no podrá encontrar la ruta de UEFI (no tiene que ver aún con el arrancador GRUB. Para resolver este problema deberemos copiar EFI a la memoria UEFI de la placa madre.
  • Si nuestro disco es reconocido como /dev/sda (lo cual suele ser típico en computadoras portátiles o nettops, ya que llevan un único disco), el comando será:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu

  • En cambio, si el disco es otro (en caso de instalaciones en sistemas con varios discos), habremos de adaptar el idenfiticador del disco /dev/sdX para que quede así:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N

¿Cómo cambio la frecuencia de muestreo de PulseAudio en Ubuntu?

Reunido en la sede Central de la CGT y frente a 178 gremios Conferederados, Juan Perón determinó la conducta que debían tener los trabajadores y explica cómo cambiar la frecuencia de muestreo del audio en Ubuntu.

¡Trabajadores!

Yo sé que aquellas instrucciones que os he grabado en cintas magnetofónicas, no cayeron en oídos sordos.
Indudablemente que desde hace más de 18 años sabemos que nuestro sistema es capaz de operar sonido de manera libre. Esto ha sido así gracias a la encomiable labor de los trabajadores, que han realizado un adecuado servidor de audio llamado ALSA, y también un adecuadamente provisto herramental que nos permite hacer una sana utilización del mismo, el PulseAudio.

De esta manera, los sistemas operativos GNU con Linux están capacitados para las tareas típicas de reproducción o registro sonoro.

¿Cómo se ha logrado esto? Siempre he dicho que los problemas difíciles han de desgranarse en muchos problemas fáciles, dables de ser atacados con procesos de solución simple. La virtud en tal caso es la concatenación de la simpleza para resolver todo.

Esto - que se replica en todos los órdenes de la vida - también puede replicarse en el audio digital. En esencia la computadora registra los sonidos a través de la señal eléctrica de un micrófono, y analiza y convierte dichos valores voltaicos en datos binarios unívocos. Gracias a la codificación de los pulsos modulados (PCM), la computadora es capaz de distinguir la altura de los tonos, siempre que se la registre con una resolución de referencia lo suficientemente apta para censar las variaciones tímbricas, y se lo haga con una frecuencia de muestreo lo suficientemente elevada como para suplir el registro del oído humano, que es lo que nos interesa. Esta técnica justicialista se llama "muestreo", o sampling.
Como nuestro oído - en sus mejores momentos - es capaz de registrar vibraciones que van entre 30 Hertzios y hasta los 20.000 Hertzios, las fluctuaciones eléctricas equivalentes ha de registrarse al menos con el doble de dicha frecuencia a fin de lograr una reproducción de alta fidelidad.

Naturalmente que esto ha sido estipulado por los capitostes de la industria. Hoy en día todo hijo de vecino puede utilizar el estándar industrial para captura y reproducción sónica, que consiste en una tasa de 16 bits de resolución, y de unos 44.100 Hertzios de frecuencia de muestreo ("Sampling Rate"). Esto a su vez se realiza en dos canales, "uno para cada oreja", con la idea de lograr sonido estéreofónico.


Ello es adecuado para la gran mayoría de las aplicaciones normales en audio. Sin embargo, la tecnología de la fidelidad de sonido ha avanzado, y nos permite hoy superar por ciertos márgenes dichos valores. De manera tal que se ha hecho popular también el estándar de los 48.000 hertzios en el manejo de audio. Es bueno recordar que esta frecuencia es actualmente la nativa en las trasmisiones digitales de audio, incluyendo la popular HDMI).

En tal caso, podríamos querer saber qué calidad utiliza nuestro hardware de sonido, y podríamos querer incrementarla hasta los 48 Khz. En ocasiones existe hardware de avanzada especialmente pensado para la alta definición, que puede utilizar mayores velocidades de muestreo, incluyendo 88.200 Hz, 96.000 Hz, 176400 y 192000 Khz.

Ahora bien, para hacer un guiso de liebre, lo primero es cazar la liebre. Para cambiar la frecuencia de muestreo en el sistema operativo, lo primero es saber cuál es la que se estamos usando. Ello lo podremos hacer abriendo una terminal con Ctrl+Alt+T e ingresando:

pacmd list-sinks | grep 'sample spec'

Esto nos detallará el tipo de algoritmo, la cantidad de canales utilizados, y la frecuencia actual. Por ejemplo en mi caso indica:


sample spec: s16le 2ch 44100Hz

Esto  crípticamente nos refiere que nuestro hardware de audio está empleando una frecuencia de muestreo de 44,1 KHz, a dos canales estéreo, con una resolución de 16 bits en modalidad de orden de byte "Little Endian" .

Como habrán comprendido tal es el estándar adecuado para una calidad de audio digital muy buena, similar a la de un CD de música. Por otro lado, reduce la carga del hardware de audio, consumo de memoria, y ocupación de nuestra CPU. El orden de byte en tanto depende de nuestra CPU, y normalmente es Little Endian; si tenemos dudas podemos ingresar en la terminal:

 lscpu | grep 'byte'

...
para que nos lo informe).

Esta configuración de audio es muy popular, y la que se utiliza por defecto pues todas las placas de sonido integradas o no funcionan con ella, y la música distribuida en plataformas digitales utiliza esta tipología. Debemos considerarla como el mínimo común denominador del audio..

Pero en ciertas condiciones (como por ejemplo el audio de alta definición, la existencia de hardware que lo permite, etc), podríamos querer aumentar la frecuencia de muestreo de reproducción. La mejora de calidad suele ser imperceptible para el oído humano, pero en ciertas condiciones nuestro hardware de audio podría funcionar mejor en su frecuencia de muestreo nativa. Normalmente esto es así con la mayoría del hardware de audio aparecido desde el año 2010 en adelante.

Para hacer el cambio en Ubuntu y aumentar la frecuencia de muestre, debemos modificar a mano el archivo del servidor de sonido. A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos:

sudo nano /etc/pulse/daemon.conf

Se abrirá el editor GNU Nano con el archivo de configuración de Pulseaudio. En este archivo de configuración se interpretan los caracteres ";" como "comentarios", de manera tal que todo lo que esté escrito tras ellos no será tenido en cuenta por el servidor, y nos sirve como ejemplo.

Por ello, al final del archivo, buscamos la sección:

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right


...y la modificamos para que quede así:

# Modificado por Perón 
default-sample-format = s16le
default-sample-rate = 48000
alternate-sample-rate = 44100 
; default-sample-channels = 2
; default-channel-map = front-left,front-right


No os recomiendo alterar nada más. Llegado el caso, nos conviene saber que default-sample-format Nos permite especificar el formato de muestreoa utilizar por el servidor ALSA. En la arquitectura Intel o AMD conviene utilizar sólo las terminadas en "le", que sirver para procesadores tipología Little Endian. Las opciones que existen son u8, s16le (16 bits "Less Endian", que viene por defecto. Hay que evitar las "be" en este caso. Las opciones posibles son s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be, float32le, float32be, ulaw, alaw.

El recomendado es s16le, pero en ciertos caso podríamos querer aumentar a s32le, con un mayor consumo de CPU y memoria RAM.


La documentación oficial (en inglés) del sistema ALSA está aquí. Una vez terminada la edición, guardamos el archivo con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

También podríamos querer editar un archivo personalizado de usuario ~/.asoundrc, que especificará las configuraciones de usuario.

Lo haremos con:

nano ~/.asoundrc

...y le pegamos el texto:

# ~/.asoundrc
# archivo de configuración de sonido específico para el usuario xxxx
pcm.!default {
type rate
slave {
pcm "plughw:0,0"
# frecuencia de muestreo que queremos, puede ser 44100, 48000.
rate 48000
}
}

Lo guardamos con Ctrl+o y abandonamos el editor con Ctrl+x.

Para que todo este andamiaje social del sonido surta efecto, hemos de reiniciar nuestro sistema con:

sudo reboot

Una vez iniciado el sistema operativo, podríamos comprobar los cambios nuevamente con:

pacmd list-sinks | grep 'sample spec'

sample spec: s16le 2ch 48000Hz

jueves, 11 de abril de 2019

¿Como instalo efectos e instrumentos VST y LV2 en Ubuntu?

Los discursos de Juan Perón constituian una amalgama de percusión y color Justicialista. En uno de sus discursos frente a Plaza de Mayo, explicó como instalar con facilidad y al unísono desde la terminal un excelente paquete de plugins de audio LV2 y VST para Ubuntu.

¡Trabajadores!

Siempre he dicho que llevo en mis oídos la más maravillosa música, que es aquella generada a través de Software Libre.

El Movimiento Obrero se ha encargado de producir herramientas de excelencia para editar y componer música en una computadora libre, pero también es cierto que por más libres que sean las aplicaciones, no podemos programarlas desde un primer momento para que hagan todas.

La filosofía de nuestras organziaciones es bien clara: "para un software peronista no puede haber nada mejor que otro software peronista". Es por tal motivo que los programas libres pueden mancomunarse junto a otros libres, y atresar una unidad indisoluble e infinita. Esta cooperación que nos inspira puede llevarse a los programas de audio, para que sus cadenas de señal de audio pase de ser buena, a ser la mejor.

(Ovación).

No es secreto para nadie que estas grandes aplicaciones para la grabación de digital de audio (llamados en la jerga "DAW"), responden a la misma premisa. Ellas pueden albergar paquetes de efectos o instrumentos virtuales creados por otros procesos, y al cual están encadenados. De esta manera podemos encadenar un generador de sonido a un rack de efectos, como si de un carísimo estudio profesional se tratara. Ya he explicado en la Confederación General del Trabajo cómo instalar Qtractor, pero también existen otras como Ardour, LMMS, etc.

Pues bien, estos racks de efectos virtuales pueden tomar distintos calificativos. Los hay LV2, los hay LADSPA, los hay DSSI, los hay VST, pero todos trabajan en GNU con Linux. Sin duda LV2 es el más potente y nativo bajo Linux, pero también son muy comunes los VST, muchas veces privativos y pensados para otras plataformas de la ogniminiosa oligarquía.

¿Qué sucede si queremos utilizar LV2 o VST en Ubuntu? Lo lógico es que tengamos que descargarlos e instalarlos, y en ocasiones también compilarlos para lograr nuestro cometido. Esta tarea no es moco de pavo para el neófito, por lo que muchas veces el Pueblo requiere una mano con eso. Por tal motivo os indicaré de forma sencilla cómo instalar un buen conjunto de plugins, compilado por los compañeros del Proyecto DISTRHO.

El Proyecto DISTRHO se encarga de empaquetar o en ciertos casos, compilar distintos racks de efectos libres, y los portan al formato VST o LV2 a fin de poder utilizarlos de manera sencilla en Ubuntu. Podremos descargar un minipaquete pack de ellos directamente desde la terminal. Este comprende tres plugins simplones. Entre ellos contaremos con un ecualizador gráfico de tres bandas 3-Band EQ, un separador de bandas 3-Band Splitter, y un delay estéreo, el Ping Pong Pan, que nos puede servir en mezclas hip-hop.
Sin embargo, el resto de los paquetes portados son los que aportan excelencia. Entre ellos tendremos al Artican Audio se presenta con dos plugins, entre ellos The Pilgrim 2, un filtro resonante con corte de frecuencia.
Dexed es un excelente instrumento virtual, ahora en formato LV2 y VST, capaz de simular con varios motores gráficos a los clásicos Yamaha DX7 de 6 operadores, los primeros sintetizadores digitales programabales y fundamentales en los 80s. De este ya he hablado en detalle para instalarlo como standalone, pues puede recibir volcados de memoria originales de tales sintetizadores para utilizarlo como patches del mismo.
El JuceOPL es un instrumento virtual en VST y LV2, que emplea una emulación de chip de sonido Yamaha OPL3 como los que venían en las clásicas placas de sonido AdLib y SoundBlaster.
Luftikus es un rack de ecualización para de cinco bandas, pensado para dar una tonalildad y calidez analógica simulada a nuestras mezclas. Es adecuado para el mástering.
Mverb es un rack de reverberación que nos da un sonido noventoso, es programable para distintas bandas de frecuencia, e incorpora un pre-amplificador de ganancia simulado y un amplificador final. Es ideal para ponerlo al final de la cadena de audio de una pista, pues es muy liviano.
El Obdx es un instrumento sintetizador virtual, que viene en formato LV2 y también el viejo VST. Se encarga de proporcionarnos un sonido inspirado en los clásicos y raros sintetizadores aditivos de tres osciladores de la marca Oberheim, como el OB-X, el OB-XA, OB-8, etc.
Pitched Delay es un efecto de retraso capaz de someter la onda de entrada a una deformación sónica octavada, para lograr distintos efectos de rebote musical en su eco digital. Lo podremos programar con distantas cantidades de pasos, tiempos del retraso, y generar sonidos secos o húmedos para el staccatto reverberado/corificado.
 Refine es un filtro de salida con analizador gráfico, cuya misión es modificar ciertos aspectos de la mezcla, entre ellos la calidez, la espacialización y el punch de la misma. Trabaja mejor como filtro limitador de salida con una ecualización paramétrica suave, ideal para la masterización.
Stereo Source Separator es precisamente un separador de fase estéreo para las señales de origen, por lo cual conviene utilizarlo en pistas estéreo individuales. Consta con dos filtros separadores de bandas (pasabajo y pasalto).

El kit de plugins TAL cuentan con varios racks VST y LV2, entre ellos tres reverbs, el TAL Dub-3, un filtro dinámico (TAL Filter II), y el deformador TAL Vocorder. Uno de los más conocidos sintetizadores libres es el viejo Synth1 NoiseMaker.

Mi favorita es el sencillo rack reverberador TAL-Reverb, que propone un eco bien cálido y ochentoso, excelente cuando la combinamos con el sintetizador Dexed "a seco", o el mucho más limitado JuceOPL.
El sintetizador VEX es un sintetizador substractivo de 3 osciladores y disparador de samples, tal vez una mezcla de los sintetizadores PCM sintetizados tipo Korg. Posee una gran variedad de ondas para sus tonos principales. Cada uno de los tres osciladores es completamente autónomo (el botón rojo activa el banco de oscilación respectivo). Cada banco tiene su propio ajuste de octavador, desafinación, ajuste de fase, sección de filtros con generador de envolvente, capacidad de filtrado pasabajo/pasalto, secciones LFO, canalizado de efectos para sus secciones de reverberación, coro y retraso. A su vez, cada oscilador cuenta con un arpegiador de 16 compases (lo abrimos haciendo clic en el botón azul). Este arpegiador puede regularse en velocidad y sincronismo cromático.

Wolfpetinger es un instrumento sintetizador substractivo polifónico con antialiasing, que funciona como plugin LV2.
Otro instrumento virtual excelente en LV2 es el sintetizador Odin2. Se trata de un sintetizador aditivo polifónico a 24 notas, con un ruteo de señal reminiscente del  Korg-35 provisto con el rack de filtros Moog-Ladder.

Primero Abrimos una terminal con Ctrl+Alt+T. Siempre como primera medida conviene instalar el paquete de plugins de audio oficial de Ubuntu Sturidio.

sudo apt install ubuntustudio-audio-plugins

Nuestro sistema nos pedirá nuestra contraseña de Conductor, y descargará una muy buena colección. Por otro lado, armará de forma automática toda la estructura de sistema para albergar más y nuevos plugins, lo cual facilita mucho la instalación de lo demás. Conforme esté sea una realidad efectiva, podremos descargar e instalar las versiones de 64 bits de todos los plugins del proyecto DISTRHO. Para ello en la terminal ingresamos el siguiente bloque de Comandos de Organización.

Nota: En caso de que contemos con una arquitectura de 32 bits, debemos reemplazar en los siguientes comandos "64" por "32". Para ello podríamos simplemente usar la función "reemplazar" de cualquier editor de texto.

cd ~/Descargas/ ;
mkdir plugins/ ;
cd ~/Descargas/plugins/ ;
echo "Descargando paquetes de plugins" ;
wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/distrho-mini-series-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/arctican-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/dexed-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/drowaudio-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/juce-opl-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/luftikus-linux64.tar.xz ;
wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/mverb-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/obxd-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/pitcheddelay-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/refine-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/stereosourceseparation-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/tal-plugins-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/vex-linux64.tar.xz ;
wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/wolpertinger-linux64.tar.xz ;
wget wget https://www.thewavewarden.com/assets/Odin_2.2-4.deb ;

echo "Descomprimiendo plugins..." ;
cd ~/Descargas/plugins/ ;
tar -xJf distrho-mini-series-linux64.tar.xz ;
tar -xJf arctican-plugins-linux64.tar.xz ;
tar -xJf dexed-linux64.tar.xz ;
tar -xJf drowaudio-plugins-linux64.tar.xz ;
tar -xJf juce-opl-linux64.tar.xz ;
tar -xJf luftikus-linux64.tar.xz ;
tar -xJf mverb-linux64.tar.xz ;
tar -xJf obxd-linux64.tar.xz ;
tar -xJf pitcheddelay-linux64.tar.xz ;
tar -xJf refine-linux64.tar.xz ;
tar -xJf stereosourceseparation-linux64.tar.xz ;
tar -xJf tal-plugins-linux64.tar.xz ;
tar -xJf vex-linux64.tar.xz ;
tar -xJf wolpertinger-linux64.tar.xz ;

echo "Instalando Odin..." ;
cd ~/Descargas/plugins/ ;
sudo dpkg -i Odin_2.2-4.deb

echo "Moviendo plugins minis..." ;
cd ~/Descargas/plugins/distrho-mini-series-linux64/ ;
sudo mv 3BandEQ-vst.so /usr/lib/vst/ ;
sudo mv 3BandSplitter-vst.so /usr/lib/vst/ ;
sudo mv PingPongPan-vst.so /usr/lib/vst/ ;
sudo mv 3BandEQ.lv2/ /usr/lib/lv2/ ;
sudo mv 3BandSplitter.lv2/ /usr/lib/lv2/ ;
sudo mv PingPongPan.lv2/ /usr/lib/lv2/ ;
sudo mv 3BandEQ-ladspa.so /usr/lib/ladspa/ ;
sudo mv 3BandSplitter-ladspa.so /usr/lib/ladspa/ ;
sudo mv PingPongPan-ladspa.so /usr/lib/ladspa/ ;
sudo mv *.so /usr/lib/dssi/
sudo mv 3BandEQ-dssi/ /usr/lib/dssi/ ;
sudo mv 3BandSplitter-dssi/ /usr/lib/dssi/ ;
sudo mv PingPongPan-dssi/ /usr/lib/dssi/ ;

echo "Instalando Arctican..." ;
cd ~/Descargas/plugins/arctican-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv TheFunction.lv2/  /usr/lib/lv2/ ;
sudo mv ThePilgrim.lv2/ /usr/lib/lv2/ ;

echo "Instalando Plugins de Drowaudio..." ;
cd ~/Descargas/plugins/drowaudio-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv drowaudio-distortion.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-flanger.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-tremolo.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-distortionshaper.lv2/ /usr/lib/lv2/ ;
sudo mv drowaudio-reverb.lv2/ /usr/lib/lv2/ ;
cd -

echo "Instalando Juce OPL..." ;
cd ~/Descargas/plugins/juce-opl-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv JuceOPL.lv2/ /usr/lib/lv2/ ;
cd ~/Descargas/plugins/ ;

echo "Instalando Luftikus..." ;
cd ~/Descargas/plugins/luftikus-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Luftikus.lv2/ /usr/lib/lv2/ ;

echo "Instalando MVerb..." ;
cd ~/Descargas/plugins/mverb-linux64/ ;
sudo mv MVerb-vst.so /usr/lib/vst/ ;
sudo mv MVerb.lv2/ /usr/lib/lv2/ ;
sudo mv MVerb-dssi/ /usr/lib/dssi/ ;
sudo mv MVerb-dssi.so /usr/lib/dssi/ ;
sudo mv MVerb-ladspa.so /usr/lib/ladspa/ ;

echo "Instalando OBDX..." ;
cd ~/Descargas/plugins/obxd-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Obxd.lv2/ /usr/lib/lv2/ ;

echo "Instalando Pitched Delay..." ;
cd ~/Descargas/plugins/pitcheddelay-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv PitchedDelay.lv2/ /usr/lib/lv2/ ;

echo "Instalando Refine Plugin" ;
cd ~/Descargas/plugins/refine-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv ReFine.lv2/ /usr/lib/lv2/ ;

echo "Instalando Stereo Source Separation" ;
cd ~/Descargas/plugins/stereosourceseparation-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv StereoSourceSeparation.lv2/ /usr/lib/lv2/ ;

echo "Instalando Plugins TAL..." ;
cd ~/Descargas/plugins/tal-plugins-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv TAL-Dub-3.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Filter-2.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Filter.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-NoiseMaker.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb-2.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb-3.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Reverb.lv2/ /usr/lib/lv2/ ;
sudo mv TAL-Vocoder-2.lv2/ /usr/lib/lv2/ ;

echo "Instalando VEX" ;
cd ~/Descargas/plugins/vex-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Vex.lv2/ /usr/lib/lv2/ ;
echo "Descargando patches de VEX..." ;
mkdir ~/.lv2/ ;
cd ~/.lv2/ ;
wget http://linuxsynths.com/VexPatchesDemos/VexPatches01.tar.gz ;
wget http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz ;
tar xvzf VexPatches01.tar.gz ;
tar xvzf VexPatches02.tar.gz ;

echo "Instalando Wolpertinger..." ;
cd ~/Descargas/plugins/wolpertinger-linux64/ ;
sudo mv *.so /usr/lib/vst/ ;
sudo mv Wolpertinger.lv2/ /usr/lib/lv2/ ;
cd ~/Descargas/plugins/ ;

echo "Instalando dexed..." ;
cd ~/Descargas/plugins/dexed-linux64/ ;
sudo mv Dexed.lv2/ /usr/lib/lv2/ ;
cd ~


Una vez instalado los plugins, ya no necesitaremos sus archivos de base, los cuales podremos borrar con:

cd ~/Descargas/plugins/ ;
rm *.tar.xz ;
cd ~/Descargas ;
rm -r /plugins/ ;

miércoles, 10 de abril de 2019

¿Cómo instalo los sintetizadores virtuales AmSynth y Helm en Ubuntu?

En la nota del semanario Primera Plana de abril de 1971, Juan Perón expone sobre el mediocre manejo económico que la oligarquía vendepatria había hecho del país, y explica a calzón quitado sobre cómo compilar, instalar y utilizar cabalmente los sintetizadores virtuales Amsynth y Helm en Ubuntu.

 (...)
Entretanto, el Fondo Monetario Internacional, del cual se han hecho socios estos..., que es el que realmente gobierna, le empieza a cerrar el crédito a la República Argentina en todas partes. Cuando el país está casi en cesación de pagos, le presentan el problema a Ongania y él no tiene más remedio aceptar lo que le impone el Fondo Monetario Internacional: "Al ministro se lo ponemos nosotros".  Entonces ellos sacan de una de sus compañías del monopolio yanqui, a un empleado y se lo ponen de Ministro de Economía. Eso era Krieger Vasena, un empleado de ellos. ¿Qué es lo primero que hace Krieger Vasena cuando llega allí? No encuentra nada más peregrino que devaluar el peso de 120 por dólar a 350.  A renglón seguido los yanquis se compran todo por moneditas.

Fíjese usted que se compran más de cien empresas industriales, es decir, todas las empresas de punta. La industria que nosotros habíamos creado se la compran por chirolitas. A renglón seguido comienzan a comprar tierras, toda la zona uranífera de Mendoza...

Están tomando las fuentes de riqueza del país, porque ahí es donde lo toman al país. De manera que esto obedece a un plan que se está realizando. Yo lo conozco perfectamente bien, porque cuando yo llegué en 1946, al gobierno le pasaba lo mismo. Sólo que todavía no habían penetrado tanto los yanquis. Pero todos los servicios públicos pertenecían a los norteamericanos o a los ingleses. Todos los transportes de nuestra exportación estaban en manos de los ingleses o de los norteamericanos.  El sistema bancario era un sistema bancario para ellos. La deuda externa era de 3.500 millones de dólares y por amortización e intereses de eso, y por servicios financieros de las empresas extranjeras, nosotros pagábamos de 1.200 millones anuales. Es decir, que el pueblo argentino estaba trabajando para pagarles sus trampas.

 ¿Qué hicimos nosotros? Cuando yo llegué allí, lo primero que hicimos fue una ley bancaria que no permitiese la evasión. El sistema financiero internacional es un sistema de vasos comunicantes. Sólo que nosotros no teníamos una llave para cerrar y evitar que se lo llevaran afuera. Hicimos la llave, que fue la Reforma Bancaria: evitar que nos descapitalizaran a través de los bancos. Cuando cerramos ese agujero, nos dimos cuenta que a través de la exportación nos llevaban la mitad de las divisas, porque exportaba Bunge y Born, como ahora. Y como Bunge y Born es una compañía inglesa internacional, vendía la filial de Buenos Aires a la filial de Pakistán, por ejemplo.  Indudablemente que ellos facturaban la mitad de lo que habían vendido, si habían exportado por mil millones de pesos, traían 400 o 500 millones; el resto se lo tragaban y el país se iba quedando sin divisas.

Cuando vimos eso, hicimos la Ley de Cambios. Estableció un control ajustado a la exportación, ya no pudieron tragar por allí. ¿Sabe cómo nos birlaban después? Hacían contrabando de exportación. Hicimos el IAPI, que acabó con toda esa exacción. Cuando ordenamos la construcción de la marina mercante, ya eso también quedó en el país.

Es decir, había un colador a través del cual se escapaba todo el producto del trabajo argentino. Cuando se taparon los agujeros, se empezó a juntar plata. ¡En 1947 nosotros no sabíamos qué hacer con la plata! Vean cómo nos robarían, que con 2.000 mil millones de dólares que nosotros teníamos que pagar en el 46 y parte del 47—mil millones cada año — compramos todos los servicios públicos, hicimos una marina mercante y entonces los servicios financieros que antes eran de 1.200 doscientos millones, bajaron a 90 por año. Indudablemente, cuando tuvimos todo ese dinero, poner en marcha un país que está detenido es como poner en marcha una empresa: se hace a base de inversión.

Entonces lanzamos una inversión en masa. Y el país se puso en marcha con el Primer Plan Quinquenal: 76.000 obras. Inmediatamente dieron ocupación a los  800.000 desocupados. El salario empezó a subir, porque en vez licitar su trabajo, ¡los buenos operarios lo remataban!

Indudablemente que con esa masa monetaria, también pudimos adquirir un excelente sintetizador virtual para Ubuntu, el Amsynth. Ya he explicado como instalar en Ubuntu instrumentos virtuales tipo VST, como el TripleCheese, Zebralette, o  Podolski. En tal inspiración, Amsynth constituye un muy completo y adecuado instrumento virtual capaz de modelar un sintetizador analógico. Es posible utilizarse solo, o como plug-in asociado a otro programa de grabación. Como plug-in es altamente versátil pues opera bajo la moderna arquitectura libre LV2, pero también como instrumento DSSI o VST.

Este sintetizador virtual nos permiten simular de forma sencilla y modular varios de los instrumentos analógicos  de fórmula sustractivos clásica. En particular, replica de forma digital una circuitería productiva analógica inspirada en gran parte en la del Roland Juno-60, y en cierta medida en la del Moog Mini-moog D.


El sonido resultante de su cadena de audio virtual encaja perfectamente en cualquier mezcla de hip-hop de la vieja escuela o del revival actual.

En concordancia como solucionamos los problemas de la economía en el 46, también tendremos que avanzar paso a paso para hacer funcionar Amsymth en nuestro sistema GNU con Linux. Lo primero es abrir una terminal con Ctrl+Alt+T e instalarnos las dependencias:

sudo apt update ;
sudo apt-get install git autoconf git automake libtool pkg-config libgtk2.0-dev libjack-jackd2-dev libasound2-dev liblash-compat-dev dssi-dev liblo-dev libsndfile-dev intltool pandoc autopoint
vkeybd vmpk ;

Tras introducir nuestra contraseña de Conductor, se descargarán las dependencias de software. Acto seguido descargaremos el código fuente del programa y lo compilaremos. A tal fin ingresamos en la terminal la siguiente ristra de comandos (naturalmente, seguido de Enter):

cd ~/Descargas/ ;
git clone https://github.com/amsynth/amsynth.git ;
cd amsynth ;
./autogen.sh ;
./configure ;
make ;
sudo make install ;


Conforme el programa se haya instalado correctamente, podremos ejecutar su versión Stand-Alone desde el menú Aplicaciones / Sonido y Video / amsynth.

En el caso de querer utilizar sus versiones Plugin VST o LV2, habremos de hactivarlos desde un programa host, normalmente usando un programa de grabación como por ejemplo Qtractor.

No bien arranque, la ventana principal de Amsynth nos presentará la mayoría de las opciones del programa.

Amsynth es un sintetizador de modelado substrativo fácil de utilizar. Pulsando el botón Play podremos enviar al sintetizador sonar una nota test (normalmente un Do en la 4 octava, o C4) y debería sonar. Tendremos también al alcance un octavador, en tanto que el botón Stop oficia de "Panic Button", a fin de detener todo mensaje MIDI que reciba o sonido que emita el sintetizador.

Amsynth ya debería funcionará adecuadamente. Para hacer música con él, debemos suministrarle notas a través de un instrumento (real o virtual) o un programa secuenciador de notas.

Como opción básica, si no contamos con un controlador MIDI, podremos utilizar uno software de piano virtual. Estos nos permiten tocar las notas y transmitirlas al amsynth. Tenemos dos, y activaremos uno de estos pianos virtuales directamente desde el mismo programa. Por ejemplo, desde el menú Util / Virtual Keyboards / Virtual Keyboard (vkeybd) lanzamos el teclado virtual vkeybd.
Al activar el vkeybd se conectará automáticamente al amsyth nos servirá para disparar las notas. Debemos usar las teclas de nuestro teclado o el ratón a tal fin. En este piano tenemos un octavador independiente para subir o bajar octavas, y deslizadores opcionales para controlar la rueda de modulación y la de pitch bend (esta vuelve a la posición neutral en el piano con el botón Pitch Clear).

Operando el Sintetizador de sonidos
Vean señores, en la parte superior contaremos con un selector de bancos de memoria (capaces de albergar 127 tonos cada uno) y de otro para elegir los patches (tonos) individualmente. De esta manera podremos guardar parámetros de los sonidos que nos resulten más interesantes. Asimismo, ya contaremos con varias librería de sonidos ya prearmados para empezar a tocar.

El sintetizador virtual consta de modos de teclado monofónico o polifónico, y nos permite opcionalmente tratar el legato/portamento de teclas (para afectar su transición tonal.

Desde el punto del modelado de sonidos, Amsynth consta de dos bancos de oscilación nomenclados OSC1 y OSC2, capaces de formar ondas portadoras de tipo sinusoidales, cuadradas, o ruido. A estas portadoras las podremos modelar a través de un generador de envolventes ADSR simple (con los clásicos parámetros Ataque, Decaída, Sostenimiento y Suelta de las teclas del sintetizador). A su vez, podremos mezclar la preeminencia de ambos osciladores con el control OSC MIX.

La siguiente etapa por donde pasan la resultante será la de filtrado y amplificación. El filtro resonante puede ser programado entre los 12dB (como en el minimoog) y los 24dB (como en el Juno-60) y puede modificarse en su respuestas de frecuencia para cumplir funciones de pasabajo, pasa-alto, pasabanda o filtro muesca.

Un tercer oscilador es un operador de baja frecuencia, el LFO. Este se usa como etapa final para la modulación de la señal portadora filtrada.

Finalmente, como etapa de efectos, contamos con distorsión y reverberación.

Conectando un controlador MIDI a amsytn
Indudablemente Amsynth es un instrumento virtual que es mucho más fácil de trabajar y tocar si contamos con un teclado o controlador MIDI propiamente dicho. A tal fin podremos destinar cualquier instrumento dotado de MIDI que tengamos, siempre y cuando lo conectemos antes de abrir amsynth.

Normalmente el controlador MIDI o los instrumentos MIDI conectados a un adaptador MIDI a USB se asignarán automáticamente. Si no, podremos configurarlos a mano desde el menú Config / Audio & MIDI. El procedimiento consiste en asignar a nuestro controlador MIDI, como dispositivo de entrada, de manera que amsynth reciba las notas del piano.

Amsynth responde bien a las ordenes de sensibilidad MIDI (a la fuerza y rapidez con que se presionan las teclas), lo cual nos permite lograr sonidos mas expresivos.  Por otro lado, si utilizamos un controlador MIDI, podremos asignar las perillas de Amsynth a distintos controles de nuestro controladores MIDI. Esta funcionalidad es muy cómoda y está extendida en los instrumentos virtuales más modernos. Para programar una perilla debemos hacer clic sobre ella con el botón derecho del ratón sobre el control a asignar, y elegir la opción Assign MIDI Controller, luego en nuestro controlador MIDI movemos la perilla, deslizador o rueda que queramos memorizarle. De esta manera, la perilla en la pantalla reaccionará conforme movamos el control asignado en el teclado. Muy útil y versátil.

Amsynth con JACK
Desde el menú Config / Audio & MIDI podremos configurar estos aspectos del sonido. Normalmente opera con el servidor de sonido ALSA a 44100 Hertzios de velocidad de muestreo. Con ello lograremos una calidad de CD interesante para un  uso básico. Si necesitamos mayor resolución de muestreo digital podríamos utilizar 48000 Hz o superior, por ejemplo para producir música.

Como es usual, si usamos amsynth el servidor de sonido JACK, lograremos configuraciones profesionales de audio, pero debemos configurar el conexionado virtual utilizando por ejemplo la aplicación QjackCtl.

En ella presionamos el botón "Conexiones" para conectar la salida de audio y de MIDI.  Normalmente la salida de audio de amsynth bajo JACK se conecta automáticamente a los altavoces del sistema, pero nada impide que la redirijamos a la entrada de nuestro programa de grabación favorito. En tanto en la solapa MIDI, hemos de conectar virtualmente nuestro controlador MIDI (ya sea uno real o el Virtual MIDI Piano Keybaord, el VMPK), a la entrada MIDI IN de amsynth.


El VMPK es similar al vkeybd, pero está capacitado para operar bajo JACK de forma nativa (y también podemos cargarle Soundfonts a fin de utilizarlo como selector de bancos de instrumentos).

De esta forma, los teclados virtuales en JACK nos permitirán ingresar notas tanto al sintetizador amsynth como a otros programas que requieran datos MIDI (por ejemplo, programas de grabación como Qtractor o sintetizadores virtuales de SoundFonts como Qsynth).


Nota: Una vez que el programa se haya sido instalado correctamente, ya no necesitaremos conservar el código fuente, por lo que opcionalmente podríamos borrarlo desde la terminal con:

cd ~/Descargas/ ;
rm -r amsynth/ ;

Sintetizador virtual Helm
Se trata de un moderno sintetizador virtual con tres módulos generadores. Consta de un banco principal de dos osciladores modificables gemelos, un sub-oscilador de baja frecuencia también configurable (LFO), y un generador de ruido blanco.

A las clásicas formas de onda de cuadrado, triángulo, sinusoide, ods dientes de sierra, se suman varias ondas pirámide y de pasos.

Para instalar el paquete debemos ingresar los comandos que correspondan a la arquitectura de nuestro sistema operativo.

Si utilizamos Ubuntu de 64 bits debemos ingresar en la terminal los siguientes Comandos de Organización:

cd /tmp ;
wget https://tytel.org/static/dist/helm_0.9.0_amd64_r.deb ;
sudo dpkg -i helm_0.9.0_amd64_r.deb ;


...en cambio, si utilizamos Ubuntu de 32 bits, debemos ingresar:

cd /tmp ;
wget https://tytel.org/static/dist/helm_0.9.0_i386_r.deb ;
sudo dpkg helm_0.9.0_i386_r.deb ;


Para ejecutar el sintetizador Helm, lo hacemos desde Aplicaciones / Sonido y Video / Helm.

Al inicio notaremos que ya cuenta ya con un teclado virtual que podremos utilizar directamente para hacerlo sonar usando nuestro teclado, sin necesidad de utilizar un teclado virtual VMKP.  Sin embargo, su uso con un controlador MIDI o asociado a un secuenciador nos da grandes ventajas, máxime cuando consideramos la capacidad MIDI Learn, que nos permite asignar los potes a nuestro controlador MIDI. Si hacemos doble clic sobre ellos podremos retornarlos a su valor por defecto.

Podremos encontrar su manual aquí.
 
Naturalmente, si queremos un sintetizador virtual de potencia, lo encontraremos en forma de plugin LV2: Odin2. Se trata de un sintetizador polifónico a 24 notas, con un sonido algo reminiscente al Korg-35 pasado por el rack de filtros Moog-Ladder.

Para instalarlo ingresamos en la terminal:

cd /tmp/
wget wget https://www.thewavewarden.com/assets/Odin_2.2-4.deb ;
sudo dpkg -i Odin_2.2-4.deb

Podremos encontrar su manual aquí.

jueves, 4 de abril de 2019

¿Como establezco un corrector ortográfico en GNU Nano en Ubuntu?

La famosa epístola que Juan Perón envió subrepticiamente desde la isla Martín García a su amigo el Teniente Coronel Mercante, parece solicitar una renuncia a su rol de conducción, pero entrelíneas no hace mas que reafirmarlo y explicar cómo activar el corrector de ortografía y los colores al conocido editor de texto  GNU Nano en Ubuntu.

Isla de Martín García, 13 de octubre 1945.
Sr. Tte.Cnl. D. Domingo Mercante
Bs.As.

Mi querido Mercante.

Ya estoy instalado aquí, incomunicado, a pesar de la palabra de honor que me dieron en su presencia. El Independencia me condujo y cuando llegué aquí supe lo que vale la palabra de honor de los hombres.

Sin embargo yo tengo lo que ellos no tienen, un amigo fiel y una mujer que me quiere y yo adoro. Mando mas que ellos porque actúo en muchos corazones humildes.

Desde que me "encanaron" no hago mas que pensar en la que que puede producirse si los obreros se proponen parar en contra de lo que les pedí. No le pido que venga porque no lo dejarán que me vean, tal es la prohibición según me han comunicado acá.

Le he escrito al General Farrell pidiéndole que me acelere al plazo mínimo el retiro del Ejército que solicité y le ruego que usted me haga la gauchada de ocuparse de ello a fin de terminal de una vez con eso. Si el General Farrell se ocupa puede salir inmediatamente. Yo le saqué en el día el del TnCnl Ducó.

Usted no va a hacer nada de eso de llamar a los obreros, de alzar el primer y segundo cinturón industrial, ni va a hacer que se vengan a pedir por Perón. Tampoco es necesaario que vaya con Evita a picarlo a Cipriano Reyes, ya que no hace falta que salgan millones de obreros a copar la Plaza de Mayo. Necesito que me asista para levantar todo el campamento e irme a la Patagonia.

Los hombres leales saben entender que una retirada fingida es un ataque...

No cabe duda que todo trabajador argentino requiere para si todos los beneficios sociales que nos otorga una Justicia Social que está en todos los corazones, entre ellos el uso de colores y el del revisor ortográfico en castellano (aspell-es), que se solicita en Nano mediante Ctrl+t.

Sin embargo, con la configuración básica que trae el Nano por defecto que tengo aquí en Martín García, me indica que el corrector ortográfico no está disponible, devolviendo el siguiente error: "Comprobación de ortografía fallida: Error al invocar "Spell""

Vea amigo Mercante, esto se debe a que la configuración básica de Nano en Ubuntu no contempla ni el corrector ortográfico ni el uso de colores, así como tampoco el reordenado de palabras en líneas siguientes (función "nowrap")...

Si anhelamos estas características, lo primero es instalar el componente de corrección ortográfica en castellano, y luego configurar Nano para que nuestro usuario de sistema tenga acceso a ellos. Dicha configuración se elabora - como es procedente en GNU - modificando un simple archivo de texto que especifica las opciones de configuración del programa.

Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos,

sudo apt update
sudo apt install nano aspell-es


Conforme hayamos instalado la paquetería requerida, deberíamos configurar el editor Nano. Ello se hace modificando el archivo oculto ~/.nanorc. Podremos encontrar una versión comentada para todos los usuarios del sistema en /etc/nanorc, a la cual podremos echar un vistazo si queremos configuraciones especiales. Copiaremos dicho archivo a nuestro directorio de usuario con:

cp /etc/nanorc ~/.nanorc

Luego editaremos la copia del archivo localizado en nuestro directorio, mediante:

nano ~/.nanorc

Si se abre un fichero de configuración de Nano. Las líneas que inician con "#" son comentarios y son ignorados por el programa Nano. Debemos entonces asegurarnos de eliminar el "#" delante de la línea # set speller "aspell -x -c"" de manera que quede set speller "aspell -x -c".

También podríamos querer eliminar los "#" de las siguientes líneas:



# Configuración de Nano Peronista:
set atblanks
set historylog
set locking
# set mouse

set backup
set nowarp
set punct "!.?"
set smarthome
set smooth
set softwrap
set speller "aspell -x -c"
set suspend
set trimblanks

include "/usr/share/nano/*.nanorc"


...En tanto, para lograr que Nano utilice colores en lugar de su clásica pantalla monocromática, debemos eliminar los # en las siguientes líneas:


# Eliminar los numerales de Las siguientes líneas para tener colores en Nano
set titlecolor brightwhite,blue
set statuscolor brightwhite,red
set selectedcolor black,green
set numbercolor cyan
set keycolor brightcyan
set functioncolor brightyellow


Estas últimas líneas son autoexplicativas y configuran los distintos colores para el editor, específicamente en su barra de título, barra de status, texto seleccionado, etc. Podremos editar la paleta de 8 colores en inglés (black, white, brightwhite, red, brightred, green, brightgreen, blue, yellow, brightyellow, magenta, cyan, brightcyan).

Finalmente cuando tenemos el fichero .nanorc listo según anhelamos, guardamos el archivo con Ctrl+o y salimos con Ctrl+x.

De esta manera la próxima vez que iniciemos Nano lograremos contar con el corrector ortográfico al presionar Ctrl+t. El mismo analizará el documento y buscará los errores en el diccionario en castellano, proponiéndonos reemplazar posibles yerros mediante los números, ingnorarlos ("i"), ingnorarlos todos ("I"), o agregarlos al diccionario..


Es importante notar que también podremos agregarle los números de conteo de líneas si eliminamos el "#" en la variable "set linenumbers" del archivo .nanorc. Estos conteos de líneas es útil en programación o en el caso de la realización de borradores.

Si por algún motivo quisiéramos retornar Nano a su estado anterior, simplemente borraremos el archivo de configuración actual y restituimos la versión vieja de /etc/nanorc con:

rm ~/.nanorc
cp /etc/nanorc ~/.nanorc

Usted bien sabe que a la gorra de general la adornan los laureles, sino también las palmas. Esto significa que la gloria no ha de conseguirse por acción de los dioses, sino por el accionar de hombre de pies en la tierra.

Normalmente en Ubuntu, Nano está capacitado para expandir el uso de colores en las letras a fin de destacar la estructura de sintaxis de una miríada de leguajes de programación diferentes, facilitando la comprensión visual.

Si deseáramos expandir esta funcionalidad de Nano a nivel usuario, podríamos hacerlo descargando una serie de definiciones en un directorio oculto ~/.nano. Para ello ingresamos:

cd ~
git clone https://github.com/scopatz/nanorc.git
mv ~/nanorc/ ~/.nano/

mv ~/.nano/etc-hosts.nanorc ~/.nano/.etc-nanorc.reemplazo ;
cat ~/.nano/nanorc >> ~/.nanorc ;