Il Blog di Fabrizio Mondo

Archive for March, 2007

Streamripper, scendiamo nel dettaglio

March 26, 2007 11:32 pm

Engines
Trentatreesimo articolo dedicato alle web radio.

Abbiamo parlato a lungo di Streamripper, sia introducendolo, che parlandone per Ambiente Windows e per ambiente Linux. Abbiamo anche minimamente discusso, di come sia utile per ottenere mp3 rapidamente.

Vediamo di scendere un pò nei dettagli tecnici.

Cominciamo esaminando il manuale di Streamripper per linux, in alcune sue parti, tramite il semplice comando: man streamripper.

DESCRIPTION
Streamripper records shoutcast and icecast compatible streams. It uses
meta data within a shoutcast stream to determine the beginning and end
of each song, and stores the songs on your hard disk as individual mp3
files. In addition, streamripper includes a relay server for listening
to the station while you are recording

Streamripper registra Flussi in streaming di Shoutcast ed Icecast. Usa metadata trasmessi insieme al flusso per determinare inizio e fine di ciascuna canzone, e salva le canzoni sul tuo hard disk come mp3 separati. In aggiunta, Streamripper permette di creare un relay per l’ascolto della stazione che stai registrando.

SPLITPOINT DETECTION
Streamripper automatically splits tracks based on detection of a silent
near the meta interval where the track changes. However, this method is
imperfect, and sometimes the track splitting occurs is too early or too
late. These options will fine tune the track splitting capabilities
for streams that use cross-fading, which causes streamripper’s auto‐
matic silence detection routine to fail.

Various –xs flags can be used to add an offset for streams that have a
meta interval that comes too early or too late, to add extra padding to
the beginning and end of each song, and to decide where the length of
the search window and silence window.

Streamripper effettua il taglio tra un file ed un altro, quando incontra un attimo “silente”, ovvero un momento in cui non c’è effettivamente alcun suono. Se non lo trova fa quello che può, ovviamente DOPO l’invio dei metadati per il cambio di canzone.
Questo “periodo” in cui si cerca il punto di silenzio è chiamato “search window“. Questa finestra, specialmente se
ci si trova in casi di crossfading tra i brani, può essere allungata a piacimento.

DEFAULT SPLITTING
The default spitting algorithm is used when no silent point can be
found. Suppose you have a meta-int with track change information at
the time “mi” (see figure below).

If the xs_offset is positive, the track separation point “ts” is later
the “mi” point. If xs_offset is negative, “ts” is earlier than “mi”.
Once “ts” is determined, a user-defined “prepad” and “postpad” are used
to determine where the next track begins “ntb”, and where the previous
track ends “pte”. The interval between “ntb” and “pte” will be copied
to both songs.

Splitting mode

Cosa succede quindi se non si trova il “silent point”?

Si supponga di avere delle meta informazioni di cambio, al tempo MI (guardate la figura di sopra).
Se l’offset XS è positivo (XS_offset setta il tempo della search window, e può essere positivo per tagli in avanti, e negativo per tagli all’indietro) il separatore TS della canzone è DOPO il tempo MI. Se xs_offset è negativo, il viceversa.
Una volta determinato questo istante TS (che ricordo, è dato da: Metadata + Offset) un “Prepad” e “Postpad” sono impostati, e tutto quello che sta compreso traPrepad e Postpad sarà copiato in ENTRAMBE le canzoni.

SILENCE SEPARATION
Splitting based on silence separation is similar to default splitting,
only slightly more complex. Again, suppose you have a meta-int with
track change information at the time “mi” (see figure below).

A search window “search_win” is determined by the xs_offset, pre_sw,
and post_sw field. The beginning of the search window is at: mi +
xs_offset - pre_sw and the end of the search window is at: mi + xs_off‐
set + post_sw.

La separazione basata sui silenzi è simile alla separazione standard, solo un pò più complessa. Ancora, supponiamo che al tempo mi ci sia il cambio di canzone con metadati connessi.

Una finestra di ricerca denominata “search_win” viene determinata dai campi xs_offset, pre_sw e post_sw. Questa finestra comincia all’istante mi + xs_offset - pre_sw e termina all’istante mi + xs_offset + post_sw

If there is a silent interval of length “silence_win” within the
“search_win”, the center of “silence_win” is selected as the track sep‐
aration point “ts”.

Once “ts” is determined, a user-defined “prepad” and “postpad” are used
to determine where the next track begins “ntb”, and where the previous
track ends “pte”. The interval between “ntb” and “pte” will be copied
to both songs.

Se c’è un momento di silenzio di grandezza “silence_win” insieme alla finestra di ricerca il punto centrale del momento di silenzio è selezionato come separatore di traccia.

Una volta determinato il punto TS (track separator) i campi prepad e postpad, sono utilizzati per selezionare quali parti verranno copiate in entrambe le canzoni.

Silence

Come utilizzare StreamRipper su Linux

March 25, 2007 7:27 pm


Trentaduesimo articolo dedicato alle web radio.

Abbiamo parlato di come utilizzare Streamripper su Windows, senza scendere troppo nel particolare e soprattutto senza discutere il funzionamento a basso livello, che verrà studiato nel dettaglio in un altra guida.

Per utilizzare Streamripper potete scaricare il codice sorgente, oppure, se usate una debian-based, scaricare il pacchetto streamripper direttamente dai repository di apt.

Il programma ha un suo manuale che potete evocare da terminale, semplicemente scrivendo man streamripper.
Non ha interfaccia grafica, ma è strettamente legato a streamtuner, che la GUI invece ce l’ha. Da Streamtuner, è possibile cliccare sul tasto RECORD che invoca il seguente comando:

x-terminal-emulator -e streamripper %q -d /directory/dove/salverete/gli/stream -r -q

Che come potete notare altro non è che l’evocazione di Streamripper su un terminale.
Inutile commentare tutte le decine di switch che possiede Streamripper, se avete problemi con un singolo switch, commentate pure.

La forma normale per l’utilizzo di streamripper è ovviamente:

streamripper URL:porta

Come utilizzare StreamRipper su Windows

March 23, 2007 1:20 pm

good guy
Trentunesimo articolo dedicato alle web radio.

Come abbiamo filosoficamente introdotto tramite nel post precedente, è possibile ottenere velocemente dei file mp3, sfruttando le centinaia di migliaia di web radio esistenti. Abbiamo pure sommariamente spiegato come è possibile creare dei canali MOLTO veloci di condivisione files tra una persona ed un altra. Molto più veloci di qualsiasi Programma P2P o di qualsiasi programma di file sharing.

Ma adesso vediamo di scendere nei dettagli tecnici. Studieremo StreamRipper su Windows.

Il mio consiglio, è di utilizzare StreamRipper come Plug-in per Winamp, esattamente come si faceva per il programma DSP.

Innanzitutto scarichiamo il programma da qui:

A questo punto installiamolo. Il plug-in si carica cliccando su Options -> Preferences, quindi scegliendo la categoria GENERAL PURPOSE -> Streamripper.

Nella Taskbar troveremo un simbolo: SR. Clicchiamo due volte e si aprirà questa immagine:

Streamripper

Il messaggio che vedete all’interno, sicuramente non ci sarà, ma comparirà qualora ascoltaste un qualsiasi stream.
Clicchiamo quindi su START, e comincerà il ripping del flusso audio. Otterremo questa schermata:

Streamripper

Vediamo prima come configurarlo.

Streamripper

Questa schermata permette di impostare queste funzioni:

  • Autoriconnessione in caso di caduta del segnale
  • Creazione di un relay
  • Quantità massima di byte da scaricare
  • Impostazione di un proxy
  • Impostazione Nome macchina locale
Streamripper

In questa schermata si possono effettuare altre configurazioni:

  • Definizione della Directory in cui salvare gli mp3
  • Possibilità di separare il flusso in più file
  • Possibilità di impostare i tag ID3 nei vari mp3
Streamripper

In questa schermata invece impostiamo:

  • Settaggio dei nomi dei file
Streamripper

Ultima schermata che considereremo, permette di impostare le skin.
Le altre schermate non hanno dettagli che ci interessano, almeno per il momento.

Questo articolo verrà completato nei prossimi giorni, sostanzialmente per ora va bene. Se ci sono richieste su configurazioni particolari, commentate liberamente.