mercoledì 10 dicembre 2014

Ascoltare una WebRadio in modalità offline

Il mio amico Antonio ama sentire la musica mentre lavora, ha trovato un canale sul sito di RadioTunes che riesce a fargli compagnia piacevolmente tutta la giornata.
Passa più di un'ora al giorno in macchina e vuole sentire anche lì la sua musica preferita, si è scaricato l'apposita applicazione sul suo telefono cellulare, ma ha scoperto che così finiva prima della fine del mese la banda disponibile per il suo contratto mobile.
Mi ha chiesto aiuto, e io, per quanto capisco che tale aiuto possa sembrare illegale gliel'ho dato, perchè so che "l'illegalità" della soluzione non è a fini di lucro.


Ho trovato un bel software opensource che risolve il suo problema, si chiama Streamripper.
Questo software non è altro che un riproduttore di flussi audio (stream) che al posto di farceli sentire con i dispositivi audio del computer, converte il flusso in file mp3.
E' disponibile per sistemi Windows e  Linux(con estensione .tar.gz). Io lo uso da riga di comando inserendolo in uno script che richiamo volta per volta, ma volendo esiste anche una sui GUI (interfaccia grafica) di cui non ho esplorato le possibilità, vedo che esiste per Win, OSX, Unix e Java (per i sistemi supportati da questa piattaforma).

Nel mio caso ho creato uno script ms-dos che contiene solo questa riga:
streamripper.exe http://pub3.radiotunes.com/radiotunes_smoothjazz -d Musica -p proxy.mio:8080 -o always
Dove:
  • streamripper.exe è il nome dell'eseguile da richiamare, lo script lo eseguo dalla stessa directory dove si trova l'applicazione, di conseguenza non ho dato il path.
  • http://pub3.radiotunes.com/radiotunes_smoothjazz è l'indirizzo http dove andare ad acoltare la musica ... qualcuno si chiederà dove lo ho preso, più avanti lo spiego.
  • -d Musica è il path, creata nella cartella che ospita l'applicativo, dove verrà creata una sottocartella con il nome della WebRadio in cui verrà scaricata la musica in formato MP3.
  • -p proxy.mio:8080 è l'indirizzo del proxy che si dovrà attraversare per andare su internet. Nel caso non esistesse tale problematica si deve omettere. 
  • -o always fà in modo che non vengano creati file duplicati qualora venga trasmesso un brano il cui nome file sia già presente nella cartelladi download.
La seconda voce è quella che mi ha fatto più penare, l'indirizzo dove andare a scaricare la musica, dopo una lunga ricerca ho trovato un elenco di indirizzi compatibili in diversi siti:
  • http://www.radiosure.com/stations/ (quì bisogna cercare la stazione che ci interessa, aprire il dettaglio e prendere il link presente in una delle voci source).
  • https://gist.github.com/yandod/5582430
  • https://www.aimp.ru/forum/index.php?topic=22023.2070;wap2
Utilizzando questa modalità verranno creati tanti file per ogni canzone ascoltata, il nome di ogni singolo file sarà Artista - Titolo del brano.mp3  utilizzando le informazioni passate dal sito dell'emittente.

Sono presenti numerose opzioni che si possono vedere esegurndo, al prompt dei comandi streamripper.exe -h , quelle che mi hanno più incuriosito sono:
  • -a (file) che permette di inserire tutto lo stream in un unico file.
  • -t che non permette di sovrascrivere un file con uno incompleto.
  • -s che non farà creare la sottocartella con il nome della WebRadio, tutti i brani verranno scaricati nella cartella indicata col valore -d.
  • -r che crea un relay del sito che stiamo rippando. Ovvero mentre si rippa la musica con streamripper sarà possibile ascoltare lo stesso sito puntando all'indirizzo http://localhost:8000 con il nostro player abituale. ciò permetterà di risparmiare banda internet e risorse del computer stesso.
  • -l in cui indicare gli eventuali secondi per cui deve durare la connessione al server.
  • -M in cui indicare i MB da scaricare, raggiunta la soglia il programma si fermerà.
Per fermare l'esecuzione del programma si può chiudere la finestra che ospita il programma oppure, da prompt MS-DOS interrompere il tutto con i tasti Ctrl C.

Una volta effettuato il download basta copiare la musica sul supporto che vi torna utile, per Antonio è una pennetta USB, ed inserire il supporto nel dispositivo usato per l'ascolto della musica offline, per Antonio l'autoradio.

Buon ascolto e cercate di fare un uso "legale" della soluzione trovata.