# [tool] Radio in shell

## koma

Ciao ragazzi, dato che oggi mi annoiavo un po' mi sono fatto uno script per ascoltarmi la radio in shell.

usa mplayer come dipendenza  :Wink: 

La lista delle stazioni radio l'ho presa da qui

Edit 30/10/07: Aggiunta RadioLottaLove

Edit 30/10/07: Aggiunta m2o

Edit 30/10/07: Aggiunte Rete A e DeejayTV

```
#!/bin/bash

#Usa parametri di default per mplayer se messo a 0 usa le impostazioni qui presenti altrimenti quelle di default

np_mplayer_parm="0"

#'video_output_mplayer' Imposta i parametri di visualizzazione di mplayer di default usa xv

#Per visualizzare le stazioni TV in framebuffer usa il driver fbdev o fbdev2

#se non funziona provate uno della lista:

#Driver di output video disponibili:

#        xmga    Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)

#        mga     Matrox G200/G4x0/G550 overlay (/dev/mga_vid)

#        tdfxfb  3Dfx Banshee/Voodoo3/Voodoo5

#        s3fb    S3 Virge over fbdev

#        xv      X11/Xv

#        x11     X11 ( XImage/Shm )

#        xover   General X11 driver for overlay capable video output drivers

#        gl      X11 (OpenGL)

#        gl2     X11 (OpenGL) - multiple textures version

#        dga     DGA ( Direct Graphic Access V2.0 )

#        fbdev   Framebuffer Device

#        fbdev2  Framebuffer Device

#        svga    SVGAlib

#        v4l2    V4L2 MPEG Video Decoder Output

#        xvidix  X11 (VIDIX)

#        cvidix  console VIDIX

#        null    Null video output

#        mpegpes Mpeg-PES file

#        yuv4mpeg        yuv4mpeg output for mjpegtools

#        png     PNG file

#        jpeg    JPEG file

#        gif89a  animated GIF output

video_output_mplayer="xv"

#'audio_output_mplayer' Imposta i parametri audio di mplayer di default usa alsa

# se non funziona provate uno della lista:

# Driver di output audio disponibili:

#        oss     OSS/ioctl audio output

#        alsa    ALSA-0.9.x-1.x audio output

#        arts    aRts audio output

#        mpegpes Mpeg-PES audio output

#        v4l2    V4L2 MPEG Audio Decoder output

#        null    Null audio output

#        pcm     RAW PCM/WAVE file writer audio output

audio_output_mplayer="alsa"

mplayer_parm=" -ao $audio_output_mplayer -vo $video_output_mplayer"

if [ $np_mplayer_parm = "1" ]; then {

mplayer_parm=""

}

fi

ancora="s"

while [ $ancora = "s" ]; do

ancora=""

clear

echo "** Benvenuto in Koma Stream Script 0.1.4-beta **"

echo "Seleziona la radio che vuoi ascoltare:"

echo "1) Radio 105"

echo "2) Radio 24"

echo "3) Radio Deejay"

echo "4) Radio Iitalia (solomusicaitaliana)"

echo "5) Radio Capital"

echo "6) RTL"

echo "7) Radio KissKiss"

echo "8) Radio Subasio"

echo "9) Radio 101"

echo "10) Radio italia Classics"

echo "11) Radio Radicale"

echo "12) Radio Rai1"

echo "13) Radio Rai2"

echo "14) Radio Rai3"

echo "15) Radio Lotta Love"

echo "16) m2o (Musica allo stato puro)"

echo "17) Discoradio (Alza il volume)"

echo "18) Deejay TV"

echo "19) ReteA (All Music)"

echo "20) Esci"   

echo -n "Voglio ascoltare la radio numero: "

read LETTERA

case $LETTERA in

1)

   RADIO="RADIO 105"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://151.1.245.6/1 &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

   ;;

2)

## RADIO 24

   RADIO="RADIO 24"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://62.196.2.90/Radio24 &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

   ;;

3)

## RADIO DEEJAY

   RADIO="RADIO DEEJAY"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://live.mediaserver.kataweb.it/radiodeejay?MSWMext=.asf &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

4)

## RADIO ITALIA SOLOMUSICAITALIANA

   RADIO="RADIO ITALIA SOLOMUSICAITALIANA"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://radioitalia.wm.p1.str3.com/rditaliahq &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

5)

## RADIO CAPITAL

   RADIO="RADIO CAPITAL"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://live.mediaserver.kataweb.it/capital &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

6)

## RTL

   RADIO="RTL"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://151.1.245.36/rtl102.5lq/ &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

7)

## RADIO KISS KISS

   RADIO="KISS KISS NETWORK"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://kisskissnetwork.e20live.com/kisskissnetwork  &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

8)

## RADIO SUBASIO

   RADIO="RADIO SUBASIO"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://onair1.xdevel.com/RadioSubasio &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

9)

## RADIO 101

   RADIO="RADIO R101"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm rtsp://live.r101.it/redundant/r101vr.rm &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

10)

## VIRGIN RADIO ITALIA CLASSICS

   RADIO="VIRGIN RADIO"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm mms://151.1.245.1/24 &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

11)

## RADIO RADICALE

   RADIO="RADIO RADICALE"

   mplayer $mplayer_parm rtsp://video-8.radioradicale.it:554/encoder/live.rm &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

12)

## RADIO RAI UNO

   RADIO="RADIO RAI UNO"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm rtsp://live.media.rai.it/broadcast/radiouno.rm &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

13)

## RADIO RAI DUE

   RADIO="RADIO RAI DUE"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm rtsp://live.media.rai.it/broadcast/radiodue.rm  &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

14)

## RADIO RAI TRE

   RADIO="RADIO RAI DUE"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm rtsp://live.media.rai.it/broadcast/radiotre.rm   &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora   

;;

15)

#RADIOLOTTALOVE

   RADIO="RADIOLOTTALOVE"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://80.86.92.36:8000/radiolottalove &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora

;;

16)

#M2O

   RADIO="m2o Musica allo stato puro"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://live.mediaserver.kataweb.it/m2o &> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora

;;

17)

   RADIO="DiscoRadio (Alza il volume!)"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://217.169.112.13:80/discord?MSWMExt=.asf&> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora

;;

18)

   RADIO="Deejay TV"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://live.mediaserver.kataweb.it/deejaytv&> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora

;;

19)

   RADIO="ReteA (ALL MUSIC)"

   echo 'OK! Eccoti ' $RADIO ', premi invio per uscire'

   mplayer $mplayer_parm http://live.mediaserver.kataweb.it/retea&> /dev/null

   echo -n "Vuoi Ascoltare un'altra stazione? [S/n]"

   read ancora

;;

20)

##ESCI

   echo "Ok esco"

   exit 0

   ;;

esac

## PULISCI LE RISPOSTE

if [ "$ancora" = "S" ]; then {

ancora="s"

}

fi

## SE HA SOLO PREMUTO INVIO PRENDILO COME UN SI

if [ -z  "$ancora" ]; then {

ancora="s"

}

fi

done

```

----------

## riverdragon

Suggerisco di provare anche http://www.radiolottalove.com/

----------

## bandreabis

 *koma wrote:*   

> Ciao ragazzi, dato che oggi mi annoiavo un po' mi sono fatto uno script per ascoltarmi la radio in shell.
> 
> usa mplayer come dipendenza 
> 
> La lista delle stazioni radio l'ho presa da qui
> ...

 

MITICO!!!  :Very Happy: 

----------

## koma

 *riverdragon wrote:*   

> Suggerisco di provare anche http://www.radiolottalove.com/

 

Fatto  :Smile: 

----------

## koma

Aggiunta m2o.

Per chi ama la musica tunzettona.

----------

## bandreabis

 *koma wrote:*   

> Aggiunta m2o.
> 
> Per chi ama la musica tunzettona.

 

Aggiunto DiscoRadio....

----------

## koma

Ecco anche discoradio ReteA e DeejayTV.

Per ora smetto di aggiungere stazioni fate che postare quelle che conoscete/volete e poi le aggiungo  :Smile: .

Comunque farò un bel file di configurazione in /etc/conf.d/KomaRadio/stazioni.conf e /etc/conf.d/player.conf con le stazioni radio e un ~/.KomaRadio/stazioni.conf ed ~/.KomaRadio/player.conf.

In mdo da personalizzare player driver audio stazioni per utente e globali etc etc.

In più l'interfaccia la trasformerò in dialog  :Smile: .

E' un peccato che lo streaming non dica che canzone è in play  :Smile: 

----------

## djinnZ

 *koma wrote:*   

> E' un peccato che lo streaming non dica che canzone è in play 

 

tipica usanza delle radio, e i discografici poi si lamentano che non vendono dischi... e che quei malnati pirati ed hacchèrri scaricano a tutto spiano e non comprano...  :Twisted Evil: 

----------

## koma

Già se mettessereo a video cosa stanno mandando in play uno eviterebbe per una settimana di canticchiare la stessa canzone sperando che qualcuno gli dica ah anche a te piace $canzone di $autore?

Tanto per non dilagare, sto studiandomi gialog kdialog e gtkdialog, in modo da fare un'interfaccia universale per tutti =) ma sono ancora molto indietro se qualcuno li conosce abb bene mi contatti che almeno mi risolvo qualche problemino

----------

## koma

Ho creato un nuovo programma per la radio che funziona però solo con la grafica, a breve mergerò i due progetti in modo da avere le interfacce di vario tipo, cioè kdialog  dialog e gtkdialog (quindi kde gnome e bash) in un unico script  :Smile: 

per ora questo thread è OUTDATED

----------

## randomaze

 *koma wrote:*   

> per ora questo thread è OUTDATED

 

Se vuoi lo chiudo....  :Wink: 

----------

## quantumwire

 *randomaze wrote:*   

>  *koma wrote:*   per ora questo thread è OUTDATED 
> 
> Se vuoi lo chiudo.... 

 

Calma ragazzi prima di chiudere questo thread... gli script 'gui less' sono sempre i migliori   :Wink: 

Ecco come registrare uno streaming audio su file wav:

mplayer rtsp://live.media.rai.it/broadcast/radiotre.rm -ao pcm:file=mystream.wav -vc dummy -vo null

... e poi comprimerlo:

oggenc mystream.wav -o mystream.ogg

Implementare anche questa feature nel tuo scriptino non sarebbe male... magari ragionandoci sopra un

pochino per vedere come poterlo integrare in modo semplice.

----------

## hujuice

 *koma wrote:*   

> per ora questo thread è OUTDATED

 

OUTDATED un tubo!   :Very Happy: 

Lo sai come funziona il software: puoi anche andare a demolire i server di forums.gentoo.org, ma ormai me lo sono copiato.

koma hai avuto un'idea semplice e geniale. L'interfaccia grafica piace a tanti, ma tanti (ad esempio io) hanno l'idea che per *sentire* non serve vedere.  :Cool: 

http://somafm.com/

Ora lo chmod + e lo provo.

Ideuzza: mettere la lista delle radio in un file di configurazione esterno? In XML o CSV o in un formato semplice da spolpare...

Di nuovo complimenti per l'idea.

HUjuice

----------

## koma

In realtà L'altra versione di simpleradio (dovrò cambiargli nome perchè questo è registrato in 12 paesi differenti) Usa una tripla interfaccia.

Una in qt una in gtk e una in dialog(shell+ncurses).

Mi sono un po' perso ultimamente e non lo sto sviluppando (nache perchè sono pieno fin sopra la testa di lavoro)

Però so che c'è molta molta gente che lo sta usando (me lo sono ritrovato su altri forum  :Very Happy:  e ciò mi rende orgoglione).

La lista lui la fetcha da /etc/simpleradio/lista.rd .

Cioò non toglie che posso mettere un'opzione che faccia un wget da www.etilico.it  :Smile: .

Appena ritrovo il tempo di prenderlo in mano lo faccio grazie del consiglio  :Smile: 

PS si cercano sviluppatori ovviamente  :Wink: 

----------

## hujuice

Huhuhu,

koma, ho dovuto notare il nome del tuo dominio per capre "koma"  :Cool: 

 *koma wrote:*   

> La lista lui la fetcha da /etc/simpleradio/lista.rd

 

Ecco, pensavo a qualcosa del genere. In fondo quelle sono le tue radio, ma io ho le mie, il noto Pinco Pallino ne ha altre ancora e non oso immaginare le scelte dei nostri omologhi del Bangla Desh o del Botswana. Ergo: l'utente ascoltatore deve poter scrivere la sua lista delle radio.

Il programma poi le numera e le elenca.

In fondo servono solo URL e nome, quindi la lista potrebbe essere un file in cui ogni riga è una radio e, nella riga, tutto quello che c'è prima del primo spazio è URL e dopo è nome.

Va a finire se è più chiaro se scrivo una specie di espressione regolare:

```
/([^\s])\s(.*)/
```

Così sarebbe facilissima da scrivere anche per i più duri di zucca e facile anche da parsare.

Io sono una schiappa a scrivere in bash e in più sono pigro e per giunta non ho mai tempo, altrimenti ti aiuterei   :Very Happy:   :Very Happy:   :Confused:   :Laughing:   :Embarassed:   :Rolling Eyes:   :Cool: 

(Però un giorno potresti anche convincermi)

Intanto uso il tuo script, quello del topic d'apertura. Radio Secret Agent è la 21 (poi metterò le altre).

Ciaociao,

HUjuice

PS: meglio ancora sarebbe se il programma finisse in /usr/bin/simpleradio e se le radio fossero in ~/.simpleradio per ogni utente.

----------

## koma

Se cerchi in questo forum trovi il thread simplearadio  :Smile:  che è l'evoluzione di questo script con file esterni e grafica

----------

## lucapost

che figata la radio in shell! peccato che son poche le radio supportate...

----------

