Mostrando entradas con la etiqueta radio. Mostrar todas las entradas
Mostrando entradas con la etiqueta radio. Mostrar todas las entradas

jueves, 20 de marzo de 2025

Se lanza GNU/Linux EterTICs 13 Mbojera para radios libres

La Red de Radios Comunitarias y Software Libre presentó la nueva versión de este sistema operativo 100% libre desarrollada específicamente para los medios alternativos de América Latina y el Caribe, destinado a aquellas radios emprendedoras en surcar la senda de la autonomía tecnológica. Se trata de la EterTICs GNU/Linux, en su versión 13 Mbojera.

Bajo la consigna "¡Libera tu radio con la nueva versión de GET13!", la más nueva versión del Linux para radios con software libre se denomina Mbojera. Se trata de un término en lengua Guaraní significa “liberar” o “desbloquear”. 

Desde su versión 8, esta distribución para planta transmisora se basa en Devuan. En esta ocasión en particular se deriva de Devuan 5.0 Daedalus (engendrado a su vez de Debian 12.0 Bookworm). Con una arquitectura “amd64” usa como kernel predeterminado “linux-image-6.1.0-27-amd64”.

El equipo de desarrollo integrado por Javier Obregón y Pablo López expusieron en el III Encuentro de la Red de RCySL las mejoras integradas al Linux que los nuclea. Entre ellas se presenta el cambio de escritorio, abandonando Xfce por la versión liviana LXQt (aún así, se puede instalar otro). Por otro lado, incorpora la sexta versión mejorada del automatizador de planta G-Radio,central desarrollo fruto de Charles Escobar y Pablo López. La interfaz modular del mismo permite conmutar entre los distintos módulos de la herramienta, e incorpora ahora gran parte de las sugerencias realizadas por personal de las emisoras que lo utilizan a diario.

Otra de las noticias más destacadas es la instalación de Pipewire  con soporte para programas que usan JACK, como nuevo servidor de audio predeterminado en reemplazo del anterior Pulseaudio. Pipewire se configura a través de un panel de conexiones virtualizado, de sencilla operatoria, y optimiza la calidad y las funciones de audio al máximo.

Fiel a su estilo de integrar herramental de audio requeridas para operar en planta, junto al automatizador, la botonera propia y la patchera, GET 13 Mbojera actualiza las versiones de los editores de sonido Audacity (3.4) y Ardour (7.3); pone a disposición distintos reproductores como Audacious o VLC; cambia Audio-recorder por la grabadora Reco; y se complementa con herramientas de video como Kdenlive (en reemplazo de Shotcut) y Obs-studio junto a otras gráficas como Inkscape y Gimp

El Listado de paquetes completo se encuentra disponible aquí, mientras que la documentación en castellano se puede consultar desde la Web de GNU/Linux EterTICs.

El sistema requiere al menos unos 2GB de RAM para funcionar (al menos 3GB recomendado). La ISO para trabajar en vivo o instalar puede realizarse aquí.

Contraseñas predeterminadas (¡cambiarlas!):

  • Usuario operador en modo vivo: libre
  • Usuario root en modo vivo: libertad
  • Administrador de Icecast2: hackme

domingo, 31 de julio de 2022

¿Cómo hago radio streaming con butt en Ubuntu?

Ante la injusticia social predominante en la Argentina de mediados de la década de 1940, las radioemisiones se convirtieron en un vector técnico fundamental para el ideario Justicialista. En este aspecto Juan Perón instruye como propalar la doctrina stremeando con el butt, el emisor para radio en Ubuntu.

¡Trabajadores!

Un Movimiento que anhela la grandeza de la Patria y el Bienestar de su Pueblo necesita contar con alguien particularmente comprometido con la acción de Masas, individuo capaz de ejercer la unidad de conducción y acción interpretando la voz del Pueblo.

En esto veremos existe lo que podemos describir como una mancomunión simbiótica. El Conductor interpreta al Pueblo, y para ello ha de tener los oídos bien limpios y la retaguardia mas.

Es que para que nuestra Vanguardia descamisada vaya al frente, debe contar con una retaguardia bien cubierta, y esto se logra por medio de una adecuada propalación de adoctrinamiento.

El uso de la radio y el broadcasting nos ofrece una ventaja singular, al permitirnos propalar a través de este medio técnico un mensaje centralizado. El éter nos ha servido de perillas. En la época de las galenas ya esto era una Realidad Efectiva, y no quiero decirle en la época del transistor, donde incluso en la espesura del monte cualquier paisano puede sintonizar con su Spica.

No hay que tirar ningún viejo por la ventana, pero si bien la radio nos permite emitir el mensaje del Justicialismo por las ondas hertzianas, es también evidente que los medios telemáticos nos permiten un perfeccionamiento al que debemos abrazar para Combatir al Capital.

Es que las redes conmutadas de datos - cualquiera sean sus fórmulas - pueden también convertirse en un vector paquetizado de acción full-duplex capaz de transmitir canales de audio digitalizado (recibiendo respuesta por cualquier otro medio que nos cuadre). Para ello debemos operar con que se llama stream, o secuencias de paquetes de datos, en este caso representantes del sonido.

Esto se hace realidad gracias al sistema GNU que he legado al Pueblo. Entre sus opciones válidas encontramos el servidor Icecast, constitutivo de una excelente plataforma. Asumiendo que contamos con este herramental de planta, podremos disponer de algún cliente compatible con el mismo para realizar la emisión paquetizada en tiempo pseudo-real (realmente atravesado cierto mínimo retraso de contención, denominado período buffer).

Pues bien señores, sin duda el Butt es de los ángulos que podemos observar para estos menesteres. Con este curioso nombre, se trata de un emisor que podremos asociar a nuestro escritorio gráfico en Ubuntu, y con el cual podremos transmitir un stream de audio digitalizado hacia un servidor de audio Icecast o Shoutcast.

Lo primero para disponer su acción será configurar la entrada de audio del equipo de cómputo (si no lo tuviésemos hecho ya). Cualquier peronista podrá hacerlo directamente desde el configurador de sonido de sonido del sistema. En el caso de Ubuntu podremos desplegar esta opción desde Sistema / Preferencias / Hardware / Sonido, y en su solapa Entrada podremos escoger el dispositivo de entrada de sonido.

Os recomiendo escoger el "Monitor de Audio Interno estéreo analógico" o similar, que captura todo el audio de nuestra PC y la emitirá. Otra posibilidad es elegir algún conector analógico de audio interno estéreo, como la entrada de línea estéreo o la entrada de micrófono mono) de su placa madre o placa de sonido, y conectar a el micrófonos, reproductores, mesas de mezcla, un celular. En tal caso será importante regular el nivel del volumen de entrada, como lo veremos más adelante.

Naturalmente, si hemos optado por utilizar el servidor de audio JACK (con el cual butt también es compatible), tendemos un ruteo de audio virtualizado mas avanzado con lo cual, podremos configurarle su entrada, pero también podremos utilizar el servidor de audio tradicional.

No bien hayamos cumplido con este paso obvio, en segundo lugar debemos instalar la aplicación de streaming. Esto es simple de hacerlo desde la terminal, abriendo una con Ctrl+Alt+t e ingresando el siguiente comando de organización:

sudo apt update && sudo apt install butt

Una vez instalado este ominoso programa, podremos ejecutarlo desde Aplicaciones / Sonido y Video / butt.

Arrancará y demostrará en el display la indicación "idle" ("en espera").

Para configurar el servidor de emisión manualmente, en la ventana de Butt se hará necesario hacerlo por única vez. Para ello presionamos el botón Settings, lo que desplegará las ventana de configuración. 

En su solapa Main y en su apartado Server, debemos presionar el botón Add para agregar un servidor (podemos tener la cantidad que anhelemos). 

Se desplegará la ventana server, la cual habremos de utilizar para configurar los datos de un servidor de radio en vivo disponible (butt es compatible tanto con servidores de tipo ShoutCast e IceCast).

  • Name: Ingresa el nombre del servidor
  • Type: Elige Shoutcast o Icecast
  • Address: Dispone la URL del servidor
  • Port: Numero del puerto
  • Password: contraseña alfanumérica para el emisor.
  • IceCast mountpoint: Punto de montaje del fichero de stream
  • IceCast User: nombre del usuario

Conforme hayamos ingresados los datos del servidor de streaming remoto, guardamos la misma presionando el botón Save.

Acto seguido debemos compatibilizar las opciones de audio. Escoge la solapa Audio y dispone los datos en el apartado streaming que sean indicados por el propietario del servidor que utilices:

  • Codec: OGG/VORBIS o MP3.
  • Bitrate Escoge la calidad de audio del servidor en kilobytes por segundo

Opcionalmente podrás presionar el botón Advanced… y elegir un tamaño de Buffer (ms) adecuado para tu velocidad de transmisión. Por defecto es de 50, pero si tu velocidad de conexión es muy lenta puede querer elevarlo a 250 o más si la transmisión se entrecorta.

Ya ahora tenemos todos listo para comenzar a stremear por el butt. Para ello presionamos el botón Play.

El display indicará connecting… y una vez establecido en enlace, informará Streaming e indicará el tiempo de emisión.

A partir de este momento podremos utilizar nuestro reproductor de audio favorito para escuchar y emitir música a la vez. Todo lo que oigas en tu computadora será codificado al vuelo y emitido a nuestra radio en vivo. Si en tu equipo utilizas JACK podrás rutear tus dispositivos, utilizar micrófonos para emitir en vivo, etcétera.

Butt mostrará el audio por medio de sus vúmetros en forma de LED. Al respecto debemos tener cuidado de regular el nivel del volúmen entrada para que los niveles más altos de sonido (picos) lleguen únicamente al primer LED ámbar (en lo posible jamás deben llegar al rojo, señal de aturdimiento).

Debemos recordar que en el caso de utilizar el mezclador interno estéreo, todo lo que oigamos en el equipo será emitido por streaming al servidor de audio (probablemente de manera pública). Naturalmente que hemos de ser precavido con lo que emitimos.

El botón Rec nos permitirá utilizarlo como un grabador de audio.

Para detener la emisión, presionamos el botón Stop.

jueves, 13 de septiembre de 2018

¿Cómo puedo sintonizar radios FM desde la consola en Ubuntu?

Vean señores:

Ante un gobierno oligarca que ha chocado la calesita, debemos emprender una lucha de amplio espectro: hemos de darla en todo terreno y en todo lugar. Esto sucede así pues la inoperancia de una camarilla sin Patria ni Bandera ha sumido al Pueblo Argentino en la más abyectas de las pobrezas.

Si no quedan más medios, tal vez debemos imponernos la acción violenta, mas esta ha de ser el último de los recursos que debemos imponer. En tanto lo más importante es la conducción a nivel táctico-estratégico de la política.

Con poco hemos de hacer mucho, uniendo en la conflagración que imagino a la columna vertebral del movimiento, la Confederación General del Trabajo, con el resto de las fuerzas sociales encolumnadas con un objetivo unificador: la Liberación de la Patria y de su software.
 Como reza el viejo adagio español, "a caballo regalado no hay que mirarle el diente". Esto, que tan cierto es en la vida, tiene un correlato informático que no podemos soslayar.

Ciertos equipos de hardware portan en sí varias características extras que pueden asombrarnos, y que raramente utilizamos. Como buenos peronistas, podremos emplear estas características a fin de utilizarlas como agente multiplicador en la lucha.

Por ejemplo, las conspicuas plaquetas sintonizadoras de TV se consiguen por chirolas, además de recibir programación analógica de TV y mostrarla en pantalla, y la mayoría de ellas cuentan adicionalmente con la útil capacidad para sintonizar radios de frecuencia modulada.

En los sistemas GNU con Linux, esto normalmente implica configurar varias cosas (como ya he explicado). Si todo está bien, deberíamos tener acceso al sintonizador mediante el dispositivo de sistema /dev/radio0. Muchos de estos tienen una salida de audio normalizada que podremos conectar - mediante un cable de audio con fichas miniplug estéreo - a la entrada de línea estéreo de nuestra placa de sonido. A su vez, las sintonizadoras cuentan con una entrada de videocable coaxial, y también una de antena VHF-FM, con la cual podremos sintonizar radios analógicas con excelente recepción.

Si tenemos ya instalada y configurada la placa sintonizadora en nuestro sistema, podremos hacernos con un sencillo programa para programar estaciones y sintonizarlas FM desde nuestra terminal.

Ya he explicado cómo usar pradio, un programa peronista. Sin embargo, en este caso utilizaremos un paquete peronista ya prearmado, el radio.

Radio, un simple software planteado en ncurses y liberado bajo licencia GPLv3. Para instalar el programa sintonizador de radio propiamente dicho. Esto se hace fácilmente desde la consola con:

sudo apt install radio

Luego de ingresar nuestra contraseña, se descargará el paquete de radio. Acto seguido, debemos proceder a hacer un escaneo de la banda de FM a fin de encontrar las radios memorizadas (como en cualquier equipo de radio FM digital que se precie). Para ello ingresamos el siguiente comando:

cd ~
radio -i > ~/.radio

Esto hará el escaneo, y lo guardará en un fichero oculto llamado ".radio", que el programa utilizará como listado de estaciones. Normalmente, el archivo contiene las estaciones de radio, su frecuencia y el nombre genérico de estación.

Si queremos especificar el nombre de las estaciones, podremos hacerlo editándolas a mano. Para ello podríamos utilizar el editor GNU Nano. Por ejemplo:

nano ~.radio

El contenido deberá ser algo como:

[Stations]
1:87900000=Radio UBA
1:88300000=FMLatinos
1:90300000=FM Delta
1:91100000=Radio Si
1:91500000=Radio Sol
1:92100000=Radio Red
1:93300000=Bitbox
1:93900000=Palermo
1:94300000=Disney
1:95100000=Metro
1:95900000=RockandPop
1:96700000=Radio Clasica
1:97100000=Provincia
1:97500000=Vale
1:98300000=Mega
1:98700000=NacionalFolklorica
1:99100000=Cadena3
1:99900000=LaCien
1:101500000=Pop
1:101600000=Blue
1:102300000=Aspen
1:103800000=OndaSur
1:105500000=FMHit
1:104900000=RQP
1:106300000=Millenium


Luego debemos editar las entradas "scan-x" y cambiarlos por el nombre de estación correcta.

Para lanzar el programa, ahora usamos simplemente:

radio

El programa arrancará con varias ventanas, de forma similar a cualquier radio FM digital. En la pantalla azul nos indica la frecuencia y la calidad de señal (en asteriscos). También nos indica si la señal es estéreo o mono (normalmente alcanza el nivel estéreo en la frecuencia correcta).

Y ahora podremos usar AvPág o RePág para subir o bajar entre las estaciones. También podremos usar de 1 a 9 para las memorias 1/9 que hayamos guardado en el fichero .radio. Flecha Arriba y Flecha Abajo nos permiten subir o bajar la frecuencia (normalmente en variaciones de 0.05 Mhz. Podremos emudecer la radio con m (solamente la radio). La tecla x nos permite salir del programa sin apagar la radio, en tanto que Esc, q o e nos permiten apagar la radio y salir. La tecla h nos permite ver los comandos.

Debemos saber que para regular el volumen de la radio FM, muchas veces debemos hacerlo desde algún programa que actúe sobre el volumen de entrada en línea estéreo de nuestra placa de sonido, pues el sintonizador radio carece de control directo de volumen.

Para ello podremos utilizar en la terminal el clásico Alsamixer. Se trata de un programa de control de volumen para los múltiples canales y dispositivos de audio que domina nuestro sistema. Tras ejecutarlo, debemos desplazarnos entre los distintos canales y opciones de audio analógico con la tecla Flecha del Cursor Derecha, hasta que encontremos y seleccionemos la opción Loopback. Esta normalmente estará desactivada ("Disabled"). Debemos activarla poniéndola en "Enabled" ("Activada"). Para ello presionamos Flecha del Cursor Abajo. Una vez activada, tendremos retorno de audio.
El valor Master indica el volumen general, y los siguientes detallan los canales individuales. Headphones son los auriculares, Speaker es la salida trasera normal, Bass Speaker el subwoofer, PCM es la salida digital, y Line es la entrada en línea estéreo (normalmente con una ficha de color celeste). Debemos asegurarnos de contar con el volumen de línea en un valor elevado (por ejemplo, directamente 100%). Algunos equipos particulares tienen la posibilidad de ajustar también pre-amplificador de línea estéreo ("Line Boost") o de micrófono monoaural ("Mic Boost"), el cual puede regularse para incrementar mucho la ganancia de la señal de audio (o sea, su volumen). Normalmente deberíamos escuchar bien el sonido sin necesidad de usar este pre-amplificador, pero en el caso de ser necesario, podríamos subirlo un poco como os indico a continuación:. Debemos asegurarnos que la opción Line no esté enmudecida. Para ello debemos posicionarnos en el indicador Line y asegurarnos que el indicador inferior indice "00" ("activo") y no "MM" (enmudecido). Ello lo hacemos posicionándonos en Line y presionando m.

viernes, 12 de septiembre de 2014

¿Cómo sintonizo radios online desde la Terminal en Ubuntu?

¡Trabajadores!

He explicado que la Radio es fundamental, por facilidad de acceso y por multiplicidad de medios, para la propalación de la Doctrina del Justicialismo. En ello hemos sido claros y constantes.

Yo mismo he divulgado mi mensaje a las ondas hertzianas desde mi Escritorio, a través de la LRA, Radio Nacional. Esto es porque la cadena de transmisión así lo permite desde un punto de vista técnico, y la comodidad lo hace realidad desde la funcionalidad.

Si esto es factible de hacerse en Ubuntu, mucho más sencillo será entonces recibir dichas ondas de radio en nuestro Escritorio. Ya he explicado numerosas veces como hacerlo, por ejemplo, con RadioTray.


Indudablemente la Interfaz de Línea de Comandos permite comandar todo tipeando las órdenes que necesitemos de forma local, y también de manera remota. Por ello favorezco su uso siempre que sea posible, en cuenta de que la misma nos permitirá la agilidad que todo Conductor requiere para el Movimiento.

¿Pero qué sucede si queremos recibir streaming de audio desde nuestra Consola Terminal?

Han de saber que los legendarios reproductores mplayer o VLC son capaces de ejecutarse en la consola y de sintonizar una emisora sin demasiado trámite. Pero a veces los mismos no representan la opción más práctica: existirán situaciones donde podría ser necesario sintonizar otras radios rápidamente, o donde no querramos tener un programa activo que nos moleste. O bien puede suceder que ni siquiera guardemos en nuestra mente la irrecordable dirección URL de la emisora a sintonizar.

En todo ello ha pensado el descamisado Gabriel Artigue, para que podamos afrontar toda esta problemática con un script sencillo y una interfaz a la que ha maquinado usando el potente generador Dialog. Este script al que me he dado la libertad de llamar pradio por Perón Radio, no involucra instalar más programa que el VLC, al cual empleará como motor de sintonía.

Normalmente el VLC ya viene instalado en la mayoría de las distribuciones, pero si así no lo fuese, lo podremos cargar en nuestro sistema abriendo una Terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt-get install vlc

Acto seguido, editamos el archivo del script. Lo podremos hacer con el editor peronista GNU Nano en nuestra carpeta de Usuario:

nano ~/pradio.sh

Se abrirá Nano con un archivo en blanco llamado pradio.sh. Simplemente copiamos y pegamos dentro del Nano el código fuente de Perón Radio:

#!/bin/bash
# Original: radio.sh, de Gabriel Artigue
# Traducido y alterado como pradio (Perón radio)
# para no confundir con el paquete radio, y modificar estaciones.

: ${DIALOG=dialog}
: ${DIALOG_REPRODUCIR=0}
: ${DIALOG_CANCELAR=1}
: ${DIALOG_HELP=2}
: ${DIALOG_EXTRA=3}
: ${DIALOG_ITEM_HELP=4}
: ${DIALOG_ESC=255}

tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15


$DIALOG --clear --title "Perón Radio" "$@" \
        --menu "Elija una emisora:" 20 50 17 \
        "1" "LRA AM870 Radio Nacional" \
        "2" "Radio de las Madres" \
        "3" "AM Concepto" \
        "4" "FM Del Plata" \
        "5"  "Radio Nacional Rock" \
        "6"  "BBC" \
        "7"  "Beethoven Radio" \
        "8"  "Cadena Ser" \
        "9"  "Cope" \
        "10"  "CX6 Clásica" \
        "11"  "ProFM Clasica" \
        "12"  "Radio 5" \
        "13"  "Radio France Classical" \
        "14" "Radio France Internationale" \
        "15" "M80" \
        "16" "Radio Pais" \
        "17" "Radio Reloj" \
        "18" "Radio Sport" \
        "19" "RDP" \
        "20" "Radio Cadena ECO AM1220" \
        "21" "RNE Clásica" \
        "22" "Vocea Basarabiei" \
        "23" "RAI Italia" \
        "24" "Golden Radio Italia" \
        "25" "Italia Radio Salemi" \
        "26" "R101 Anni '80" \
        "27" "Gammagioiosa Golden Hits" \
        "28" "Virgin Rock 70" \
        "29" "Radyo Metropol Turkey" \
        "30" "KNBA - A Signal of Change" \
        "31" "VOA News Now" \
        "32" "KUHF Houston Texas" \
        "33" "WGN Chicago Illinois" \
        "34" "RTÉ Radio 1 Ireland" \
        "35" "Shannonside FM Longford Ireland" \
        "36" "Radio El Mundo" \
        "37" "Voice of Russia - English" \
        "38" "Vostok FM - Moscow" \
        "39" "NHK en Español" \
        "40" "Prima Radio Napoli" \
        "41" "La Zurda - Uruguay" \
        "42" "Big B Radio - Asian Music" 2> $tempfile

retval=$?

case $retval in
$DIALOG_REPRODUCIR)
clear
echo Procediendo a cargar la emisora elegida...
echo De no reproducir el audio vuelva a ejecutar Perón Radio
echo y elija otra emisora o seleccione Cancel para detener la radio.

case `cat $tempfile` in
1) station="http://www.alsolnet.com/stream/sc_rad1/listen.pls";;
2) station="http://200.68.81.65:8000/am530";;
3) station="http://190.220.149.204:1267";;
4) station="http://69.4.236.136:7920/listen.pls";;
5) station="http://www.alsolnet.com/stream/sc_rad39/listen.pls";;
6) station="http://www.bbc.co.uk/radio/listen/live/r1_aaclca.pls";;
7) station="http://yp.shoutcast.com/sbin/tunein-station.pls?id=99179295";;
8) station="http://playerservices.streamtheworld.com/pls/CADENASER.pls";;
9) station="http://www.listenlive.eu/cadenacope.m3u";;
10) station="http://yp.shoutcast.com/sbin/tunein-station.pls?id=103397";;
11) station="http://stream.profm.ro:8082/clasic.mp3.m3u";;
12) station="http://radio5.rtve.stream.flumotion.com/rtve/radio5.mp3.m3u";;
13) station="http://players.creacast.com/creacast/accent4/playlist.pls";;
14) station="http://www.tv-radio.com/station/france_inter_mp3/france_inter_mp3-128k.m3u";;
15) station="http://194.169.201.177:8085/liveM80.mp3";;
16) station="http://www.efluw.net:3131/listen.pls?sid=1";;
17) station="http://media.enet.cu/radioreloj";;
18) station="http://69.4.236.136:7914/";;
19) station="mms://195.245.168.21/rdpi";;
20) station="http://200.108.115.38:2123/listen.pls";;
21) station="http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u";;
22) station="http://yp.shoutcast.com/sbin/tunein-station.pls?id=1658540";;
23) station="http://www.listenlive.eu/rai8.m3u";;
24) station="http://www.goldenradio.it/listen.m3u";;
25) station="http://players.fluidstream.net/easy4trafic.pls";;
26) station="http://players.creacast.com/creacast/r101_thema1/playlist.pls";;
27) station="http://www.gammagioiosa.net/goldenhits.m3u";;
28) station="http://shoutcast.unitedradio.it:1119/listen.pls";;
29) station="http://radyometropol.radyolarburada.com:5544/listen.pls";;
30) station="http://pubint.ic.llnwd.net/stream/pubint_knba";;
31) station="http://www.voanews.com/wm/live/newsnow.asx";;
32) station="http://129.7.48.199/KUHF-HD1-128K.m3u";;
33) station="http://provisioning.streamtheworld.com/pls/WGNAM.pls";;
34) station="http://www.listenlive.eu/rte1.m3u";;
35) station="http://radiokerry.mp3.miisolutions.net:8050/radiokerry/shannonside_128kMP3_website.m3u";;
36) station="http://radiostream.elmundoradio.com:8332/;stream/1";;
37) station="http://engserver.streamr.ru:8020/eng.m3u";;
38) station="http://www.listenlive.eu/vostockfm.m3u";;
39) station="http://www3.nhk.or.jp/rj/podcast/mp3/spanish.mp3";;
40) station="http://www.kemoniastreaming2.net:8010/";;
41) station="http://usa2.fastcast4u.com:3470/listen.pls";;
42) station="http://50.7.173.162:8089/listen.pls";;
esac
;;

$DIALOG_CANCELAR)
     pkill vlc
     clear
echo Cerrando Perón Radio y reproducción detenida.
     exit 0;;

esac

pkill vlc
exec >/dev/null 2>&1
vlc -Idummy $station &!
exec >/dev/tty

exec pradio.sh
clear

Una vez que hayamos pegado el contenido, lo guardamos con Ctrl+o y salimos de Nano con Ctrl+x.

Para que funcione adecuadamente, habremos de asignarle a este archivo un  permiso de ejecución. Lo haremos con:

sudo chmod +x pradio.sh

...y ahora simplemente nos quedará el script armado para cuando queramos ejecutarlo. En Linux los scripts pueden darse inicio fácilmente anteponiendo punto barra ("./") delante del nombre del script. El comando tomaría entonces la  forma siguiente:

./pradio.sh

Al lanzarse Perón Radio, sin burocracia alguna nos mostrará una lista con las opciones de sintonía. Al elegir una con las flechas del cursor y presionar el botón Ok, se saldrá del script y se cargará el stream sin más trámite que mostrarnos una notificación.

El programa es bien sencillo: no nos permitirá modificar el volumen (para ello debemos usar el comando alsamixer u algún otro software libre de control de audio). Tampoco nos mostrará ningún logotipo, banner publicitario, ni noticias molestas a las que son adeptas las radios.

Si quisiéramos cesar la reproducción de la emisora, debemos ejecutar nuevamente el script y esta vez elegir el botón Cancel (podremos hacerlo presionando Tab o la Flecha de Cursor Derecho y luego seleccionarlo con Enter.
La obvia y sencilla programación que ha aplicado Gabriel Artigue nos permite  alterar nuestras emisoras preferidas simplemente agregándolas con el formato indicado en el archivo, o reemplazar alguna de las existentes reprogramando el código existente (sin alterar las comillas, tildes y demás).

El programa corre en cualquier consola de texto, aunque claramente prefiere las de las terminales color.

jueves, 19 de septiembre de 2013

¿Cómo capturo radio paquetes sin contar con receptor en Ubuntu?

Juan Perón era un hábil técnico en el arte de la Radioescucha y radioafición. En su despacho en Casa Rosada contó con un equipo Haemann-Söndig, y durante su exilio en Puerta de Hierro tuvo un Yaesu. En este caso, diserta sobre cómo recibir y demodular radio packets a través de Ubuntu, y sin receptor de radio.

¡Trabajadores!

Es indisputable que en los últimos doscientos años, la técnica ha avanzado más que en los mil años precedentes. Desde el último rincón perdido en el monte,  un paisano puede hoy recibir las noticias del mundo en su transístor, y ello ha esclarecido a las masas, que ya no desean el sacrificio impuesto sobre sus espaldas para el disfrute de una oligarquía sin Patria ni Bandera.

Por ello instalé en Casa Rosada un emisor de radio valvular, ideal para mantenerme comunicado con quien quisiera y, llegado el caso, poder pronunciar discursos desde allí.
Actualmente, en mi tiempo libre durante el aparente ostracismo de Puerta de Hierro, escucho los noticiosos a través de mi radio transistor Lamp 8, la cual funciona en onda corta, media y larga, en amplitud modulada.
Esto me ha generado un pasatiempo que comparte pasión científica y lúdica: la radioafición. Consiste en utilizar la radiotécnica para receptar y emitir ondas hertzianas en las bandas del espectro radioeléctrico reguladas y licenciadas para los usuarios hogareños o comerciales.

Desarrollo Históricos
Ya nadie ignora que en los tiempos de Marconi con suerte se transmitía alguna información pulsada ("telegrafía sin hilos") o sonido modulado (voz hablada), pero con el advenimiento de la técnica fue posible comunicar al éter paquetes de datos binarios, siguiendo diferentes protocolos de transmisión por aire.

Esta tecnología de transmisión de radio packets permite modular y demodular información digital a sonido, de manera tal de comunicarnos a través del éter, constituyendo lo que llamamos "radioenlace". Así lograremos tráficos de hasta 300 baudios por segundo para la onda corta de alcance global usando protocolo AX25. Nadie será tan iluso de pretender que estos radioenlaces califican como "banda ancha", pero son suficientes para mantener conversaciones de texto (relay chat), transmitir líneas o páginas de información, etc, y con mucha paciencia, enviar otro tipo de archivos. Todo ello con independencia de las infraestructuras de comunicación mundial.

Tradicionalmente para las transmisiones se utilizan radiomodems (TNC). Estos dispositivos pueden ser aparatos stand-alone u operar vinculados - por cable serial o USB - a una terminal informatizada (incluyendo a Linux, por supuesto).

El TNC se encarga de modular y demodular, pero para hacer frente a la inherente “suciedad” del éter radioeléctrico - interferencias, ruidos, señales pisadas, etc - se requiere del análisis de la onda portadora, y usar generalmente más instrumentos (osciloscopio, amplificadores, atenuadores, pasabandas, ecualizadores, altavoces, etc).

En la medida que la informática fue avanzando, fue posible que el proceso de modulado y demodulado pueda realizarse en una simple PC munida del software adecuado, pero hoy ya es posible realizar las demás tareas de análisis y procesado de señal.
 
Radio Packets en Linux

Desde el punto de vista del software libre en un sistema GNU con Linux, podemos utilizar Fldigi, programa GPLv3 pensado para realizar esta función de mesa de radioaficionado: de contar con un receptor y un emisor de radio, se los puede conectar a la placa de audio del sistema y enviar radio packets a través de él.

Pero no todo lo que reluce es oro. Si bien cualquiera con receptor puede recibir señales de audio o radio packets, no cualquiera puede irradiar (emitir) en onda corta: esto es así pues el espacio radioeléctrico no es infinito, y se encuentra regulado. Todas las naciones de la tierra tienen asignado con una porción de espectro, por lo cual no podremos irradiar si no contamos con una licencia habilitante de radioaficionado  extendida por el organismo competente.


¿Pero qué sucede si además de no disponer de una licencia de radioaficionado para irradiar con un radiotransmisor, siquiera contamos con un receptor? Vean señores, el Peronismo ha pensado en todo. Hoy podremos suplir o emular todo esto por software y la buena voluntad de los hombres que trabajan. Existen proyectos científicos que capturan bandas el espectro radioeléctrico y lo ponen a disposición de todos en internet en forma de stream de audio.


La web www.websdr.org por ejemplo, lista unos 66 servidores de este tipo. Mediante la aplicación incorporada en esta web, podremos “sintonizador” virtualmente el espectro radioeléctrico, lo que nos permitirá receptar y oír. Con este vericueto justicialista, podremos reingresar ese sonido a nuestro sistema GNU/Linux y usando el software Fldigi, al menos decodificar los radio packets contenidos en el sonido.

Configuración de Audio:
Indudablemente para hacer esto una realidad efectiva, hemos de poder grabar y reproducir audio en nuestra PC, o más específicamente, hacerle llegar el audio de radio al programa para que lo analice.

Quien sepa grabar y direccionar audio no tendrá dificultades, pero quien carezca de este conocimiento, también será ayudado por este viejo soldado, Conductor del Justicialismo.

La opción más sencilla es conectar un simple cable estéreo miniplug macho a miniplug macho de 3,5mm desde la salida de audio de equipo (normalizada con su color verde) a la entrada estéreo Line In (normalizada de color azul).

Habrá quienes sostengan que esta solución no es peronista, pues en ciertos casos es dable direccionar "por software" la salida de audio para capturar lo que oímos... A ellos les diré que este método tan conveniente no siempre es efectivo: en primer lugar no siempre está disponible en nuestra distribución o en nuestro hardware de manera sencilla, y por lo demás hacerlo así significará que otros sonidos del sistema también serán direccionados al programa Fldigi, con lo cual evidentemente se producirán errores de decodificación.

Por otro lado, conectar un cable de audio de la manera antes descripta nos permitirá una muy útil monitorización del audio recibido por medio de la salida frontal de auriculares, si la tuviésemos. Con ello podremos darle ingreso de sonido al Fldigi, y también escucharlo por los auriculares (naturalmente, para ello hay que desactivar la opción de "automute" de los auriculares, invocando en la consola Terminal el peronista alsamixer, por ejemplo).


Ahora configuraremos el software del audio de nuestro sistema GNU. Vamos a Sistema / Preferencias / Sonido y desplegamos el cuadro de diálogo de Preferencias de Sonido. En la solapa "Entrada" indicamos Audio Interno Analog Estéreo, o la opción que corresponda a su hardware específico. Indicaremos que usaremos "Line In" con fines de dispositivo de Entrada (para grabarlo).

Es importante regular el volúmen de entrada de audio para lograr un nivel adecuado sin saturación, recortes o clipping (para ello necesitaremos tener el stream de audio reproduciéndose para verlo en el "vúmetro" o barra de volúmen, pero a modo de regla general os digo que en mi caso, con un 50% de volúmen de entrada suele ser aceptable). Dejaremos este cuadro de diálogo del sonido abierto, pues será útil para regular el volúmen de la señal posterioremente.


Sintonizar el audio usando un servidor de streaming de espacio radioeléctrico
Ahora nos conectaremos a internet para recibir el audio del espectro. Buscamos alguno de la web www.webscr.org. En particular, prefiero la web del emisor de la Universidad de Twente en los Países Bajos, pues barre el espectro desde los 0 hasta los 20.160 kilohertzios.


La tecnología de streaming de radioespectro a través de la web nos permite como usuarios sintonizar diferentes porciones del espectro, aplicar filtros pasabajos y pasaaltos para ecualizar la señal, aislar ruidos, etc, y todo a través de una aplicación web HTML5 o Java. Esta será la materia prima para encontrar paquetes y poder decodificarlos (y porqué no, para sintonizar radio en audio puro también).

Si tenemos auriculares conectados, ya podremos escuchar el streaming en forma de audio (ruido o señal dependiendo de la sintonía).

Cómo sintonizar el audio:
Para sintonizar una banda particular, podremos presionar acercarnos o alejarnos en el espectro (con los botones Max Out / Zoom Out o Zoom In / Max In). Conviene acercarnos con la función de zoom, pues el espectro es muy ancho y de lo contrario no podremos ver bien los streams de sonido en la cascada.

Debemos hacer clic sobre la banda de frecuencia en el sector negro de la gŕafica espectral, o escribirla en el cuadro Frequency de la página de internet. Con ello veremos que se traza una línea de color amarillo y un indicador (también amarillo) del ancho de banda receptado. Podremos sintonizar varias bandas de frecuencia a la vez, como se ilustra en el ejemplo:

Es útil conocer que los radioaficionados utilizan preponderantemente frecuencias que van en los 3.000, 7.000, 10.000, 14.000, 18.000, 21.000, 24.000 y 28.000 kilohertzios.

Filtrado
En la misma página debemos elegir un filtro de atenuación (botones AM, AM-Nrw, FM, FM-Nrw, LSB, LSB-Nrw,  USB, USB-Nrw, etc). Las pautas al respecto son las siguientes:
  • Por debajo de los 10.700 kilohertzios se emplea por convención un filtro pasabajos "LSB" (Banda Lateral Inferior). En algunos casos se puede filtrar con LSB-Narrow (banda lateral inferior de espectro angosto). 
  • Por encima de los 10.700 kilohertzios se debe usar filtro pasaaltos "USB" (Banda Lateral Superior). En algunos casos, se puede filtrar con LSB-Narrow (banda lateral superior de espectro angosto).
  • Para comunicaciones de voz comerciales, se usa banda AM o AM-Nrw. 
  • Antiguamente en algunos casos se usaba BLI (Banda Lateral Independiente) pero esto ha caido en desuso. En algunas transmisiones de voz directa se usa VSB, el filtrado de Banda Lateral Vestigial). Actualmente se pueden transmitir paquetes con estas modulaciones, pero es raro.

Instalar y Configurar Fldigi
Para comenzar a decodificar paquetes con Fldigi, debemos instalar, ejecutar, configurar, y utilizar este software libre de manera efectiva.

Podremos instalar Fldigi podremos desde el Centro de Software de Ubuntu, o hacerlo a través de una PPA. Para ello debemos abrir una terminal con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:

sudo add-apt-repository ppa:kamalmostafa/fldigi
sudo apt-get update
sudo apt-get install fldigi


Para ejecutar el programa debemos ir a Aplicaciones / Radio-aficionados / Fldigi. La primera vez que iniciemos el programa, surgirá un asistente de configuración:

Como primera medida opcional debemos agregar nuestros datos de radioaficiionado, incluyendo la licencia (si la tuviésemos). No es necesario hacerlo en este caso, pues siquiera contamos con un equipo receptor ni con un emisor licenciado.
En segundo lugar se nos permitirá configurar el dispositivo de entrada y de salida (en este caso la placa de sonido) a través de la cual se emulará el radiomódem. Lo configuramos desde la solapa "Devices". Al emplear la salida de altavoces como salida de audio, y la entrada en línea estéreo como entrada del mismo, tildamos PortAudio. Conforme lo hagamos, podremos escoger el dispositivo de audio para grabar en el campo Capture y el dispositivo de audio para reproducir en el campo Playback. Naturalmente, se listarán los dispositivos de audio que tengamos en el equipo (por ejemplo, la placa de sonido integrada HDA Intel ALC892).

Si todo va bien, en el programa debería comenzar a graficar en el espectógrafo el sonido en forma de "cascada" recibido desde la aplicación web de sintonía. Idealmente, deberíamos recibir sólo señal (ilustrados en amarillo con picos en rojo) sobre una portadora nulo (fondo de color azul o negro). Esto responde a la intensidad de la señal.

Si recibimos todo amarillo, significa que la señal está saturada y su volúmen es muy alto. En tal caso podremos bajar el volúmen o ganancia de la entrada Line In en el ya mencionado cuadro Propiedades de Sonido del sistema GNU/Linux.

Protocolos de radio packets
Además de los filtros de atenuación, existen diferentes "Modo de Operación" (o protocolos "Op Mode").


Entre ellos existen diferencias técnicas en cuanto a cómo se modulan los paquetes, pero en la práctica los diferencia el sonido caracteristico que hace cada uno. A muchos les resultarán familiares en los clásicos "chirridos" y "chisporroteos" y la "lluvia" del módem telefónico, y la "estática" de la portadora. En condiciones de dificultad en la transmisión o cuando no deseamos oir esos sonidos molestos, se usará el gráfico espectrográfico de cascada para evaluar de qué tipo de modo tiene la banda recibida. Podremos aprender sobre las apariencias de las señales y sus caracteristicas de codificados, pero aquí algunos ejemplos gráficos para identificar los modos de operación:

Usualmente, en las bandas de paquetes de datos se transmiten empleando el protocolo PSK (modulación por desplazamiento de fase), con diferentes variantes de acuerdo al ancho de banda. Se suele emplear BPSK-31 y BPSK-63. La diferencia entre ellos radica en el ancho de banda empleado y el ancho que ocupa su onda en el espectógrafo.

Usar Fldigi para demodular radio packets
Para que el programa funcione adecuadamente debemos escoger el protocolo correspondiente para decodificar los radiopaquetes. Si somos duchos podremos identificarlo por su sonido característico, o por la forma con el gráfico espectrográfico provisto.

Para cambiar el Modo de Operación de Fldigi vamos al menú Op Mode y escogemos el que haga falta, normalmente PSK / BPSK-31 o PSK / BPSK-63, (u otro si el ancho de banda fuese mayor).

En el gráfico de cascada se verán ilustrados los streams. Para comenzar a decodificar uno en particular, debemos hacer clic sobre la banda espectral que deseemos. Tras unos instantes, si tal banda tuviese tuviese información, veremos que se mostrará en el "vúmetro" inferior como una barra vertical verde oscilante, y se comenzará a mostrar en la pantalla. En el monitor se comenzará a escribir los radio packets recibidos:
En condiciones de interferencia o ruido, Fldigi suele ser bastante robusto para seguir demodulando paquetes. Las condiciones de mala recepción suelen verse espectralmente como una gran pared de ruido amarillo. Si tal es el caso, conviene disminuir el volúmen de la entrada o regularlo para que el fondo sea azul. También podremos regular el nivel de filtrado desde el programa, ajustando el filtro de señal con el deslizador vertical correspondiente (el llamado "Squelch level").
Las transmisiones buenas suelen caracterizarse por información entendible, o códigos internacionales (CQ, QSL, etc), y letras que identifican al emisor. Si el programa no capta bien, puede demodular basura (información ininteligible).
Por ejemplo, aquí sintonizamos desde la web una emisión de radio packets originada en Roma en la banda de los 7.037,25 kilohertzios, en BPSK-31. Naturalmente, por la convención mencionada lo filtramos con un pasabajos LSB.