Professional Documents
Culture Documents
Fabrizio Mondo
CREARE E GESTIRE UNA WEBRADIO PROFESSIONALE
© 2014 by Dario Flaccovio Editore s.r.l.
www.darioflaccovio.it
Il nodo S è il computer che trasmette, detto server, mentre i nodi C sono i computer o gli
apparecchi che ricevono il flusso, chiamati client.
Il server è la “radice” dell’albero, mentre i client sono le “foglie”. L’altezza dell’albero è
1, come precedentemente detto.
Il numero massimo di “foglie” della radice, ovvero di client che possono ascoltare la radio
è dato (teoricamente) dalla seguente formula:
♦i nodi R sono dei client, ma sono anche dei relay, ovvero dei ripetitori di segnale ai quali
si appoggiano altri client;
♦i nodi C sono client che non svolgono il ruolo di ripetitori.
Si noti che ogni client è promuovibile a relay, ma vi possono essere relay a cui nessuno si
è connesso.
Questi alberi hanno altezza pari al massimo numero di relay che si devono attraversare
prima di arrivare alla fonte del segnale, più uno. Questa configurazione, se da un lato
diminuisce la domanda di banda imposta al server, distribuendola anche ai relay, d’altra
parte aumenta in funzione logaritmica il ritardo di propagazione. Il computer A trasmette
al computer B che ripete a sua volta al computer C che ripete a sua volta al computer D,
ovvero:
A > B > C > D
In questo caso il ritardo di propagazione vale 4 volte il ritardo di propagazione di una
trasmissione diretta. Il buon senso ci ricorda, in ogni caso, che la situazione lineare di cui
sopra non ha nessuna utilità pratica. Se, invece, si ipotizza che la radice e tutti i suoi relay
abbiano al massimo due ascoltatori, che possono a loro volta fare da relay, allora si crea un
albero binario, ed il ritardo di propagazione stavolta sarebbe sottostimato da
log2x
Con x che rappresenta il numero di ascoltatori contemporaneamente connessi. La base del
logaritmo dipende dal numero di ascoltatori che può servire ciascun relay. Se questo
numero aumenta, aumenterà la base del logaritmo e, di conseguenza, diminuirà il numero
di relay che dovrà attraversare un client per sentire il flusso audio.
Se si riesce a distribuire bene il numero di computer che fungono da relay con il numero di
client che richiedono il flusso, allora il ritardo di propagazione crescerà in funzione del
logaritmo del numero dei client contemporaneamente connessi alla radio.
1.4. Web radio a fonte multipla
Una web radio a fonte multipla, a differenza di una a fonte singola, prevede che i client
possano ricevere il flusso da più fonti contemporaneamente.
A prima vista l’immagine potrà sembrare un grafo ciclico connesso; in realtà non è affatto
ciclico, in quanto è orientato. I client non rimandano nulla ai relay, quindi non è possibile
che un relay invii qualcosa ad un altro relay tramite un client. Questa situazione è la
migliore in tutti i campi, ed è di fatto lo schema del peer to peer.
Se invece ci si limita a scaricare senza condividere si ha solo la qualifica di client, o dead
end. Questo schema multi-connesso è una buona soluzione al problema banda, in quanto si
effettua una partizione del carico nel maggior numero di computer possibili. La soluzione
prevista è però parecchio complessa da implementare in pratica, se non impossibile.
Si supponga di essere un semplice client, che vuole sentire una web radio che ha
implementato lo schema a fonte multipla. La radio permette l’ascolto passando attraverso
4 relay, perché sono tutti occupati ai livelli superiori. Il ritardo è quindi pari a 4.
Ad un certo punto, si libera uno “spazio” su un relay al livello 2, utilizzabile
dall’ascoltatore. Adesso però arriveranno parti dello stesso flusso, sfasate tra loro di una
certa quantità di tempo che è data dalla differenza dei ritardi.
Anche se fosse possibile segmentare il flusso non si potrebbe non essere vincolati dai
diversi ritardi qualora si volesse ottenere fluidità d’ascolto e il minimo ritardo possibile.
Purtroppo, non è nemmeno possibile usufruire di più relay sullo stesso livello, perché i
ritardi di propagazione non dipendono soltanto dal livello, ma anche da molti altri fattori.
2. Codifica Audio
Uno dei processi fondamentali che si instaurano durante la trasmissione radiofonica sul
web è l’encoding. La codifica è quel passaggio che consente di trasformare un segnale di
un tipo in un segnale di un altro tipo che presenta determinate caratteristiche. Il caso più
frequente è la conversione da un segnale analogico, quale può essere il suono di un disco
in vinile, ad un segnale digitale, quale può essere un MP3.
Negli studi radiofonici assistiamo alla convivenza temporale di segnali aventi
caratteristiche differenti, quali la musica (che solitamente è già in formato digitale, ma non
è detto a priori) e la stessa voce dello speaker. L’encoder non fa altro che convertire e
campionare questi segnali eterogenei in un segnale ben definito. Il segnale risultante può
essere di diverse tipologie, a secondo che la campionatura venga effettuata da un tipo di
algoritmo piuttosto che da un altro o se alla campionatura venga o meno associata una
compressione.
Esistono quindi una infinità di codifiche audio; non tutte sono di largo utilizzo per la
trasmissione su Internet di flussi audio, ma sicuramente è comodo conoscerle.
I codec audio si dividono in tre macrocategorie: non compressi, compressi con perdite
(lossy) e compressi senza perdite (lossless).
Tra i codec non compressi, i più famosi sono WAV e AIFF; tra i compressi senza perdite
troviamo FLAC e ALE, mentre tra i compressi con perdite si ha MP3, AAC e Vorbis.
Qualsiasi codifica audio, a prescindere dalla categoria, ha delle caratteristiche che
consentono di calcolare la grandezza in byte del file risultante. Tale grandezza è calcolata
in base alla seguente regola
C × Ca × Ris × T
dove C sta per numero canali (grandezza adimensionale), Ca sta per frequenza di
campionamento (si misura in Hertz), Ris sta per Risoluzione del Campione (si misura in
byte) e T sta per durata (si misura in secondi).
La grandezza di un file WAV, in stereo, a 44100 Hz di frequenza di campionamento a 16
bit, della durata di un minuto è quindi pari a
2 × 44100 s – 1 × 16 bit × 60 sec = 84672000 bit
che corrispondono a 10584000 byte, ovvero poco più di 10 MB.
Un minuto di musica codificata in formato WAV richiede quindi dieci megabyte: un valore
eccessivamente alto per qualsiasi trasmissione, perché corrisponderebbe ad una
trasmissione alla velocità di 1378 kbps, più di dieci volte lo standard del bitrate di una
comune web radio.
Ecco perché sono intervenute attività di compressione a corredo della codifica. La
maggior parte delle codifiche lossy tende ad eliminare le frequenze dei suoni impercettibili
all’orecchio umano, concentrandosi quindi sulla banda di suoni che va dai 16 ai 20000
Hertz. Oltre a ciò, MP3 ed altre codifiche applicano algoritmi che filtrano il segnale
originale, eliminando suoni a loro volta coperti da suoni più forti e che il nostro orecchio
non potrebbe correttamente percepire. L’utilizzo di strumenti matematici quali la
trasformata di Fourier o la codifica di Huffman consentono di diminuire ulteriormente la
grandezza del file finale, che risulta abbattuto anche del 90% rispetto all’originale file
WAV.
La codifica lossy è però irreversibile, al contrario di quanto non lo sia la lossless. Un file
MP3 non potrà mai essere ricondotto al file WAV originale e meno ancora al reale segnale
analogico.
2.1. Come funziona MP3
MP3 è l’acronimo di MPEG 1 layer 3. MPEG è a sua volta l’acronimo di Moving Picture
Experts Group, il nome ufficiale di una commissione formata dall’International Standards
Organization (ISO) e dalla commissione Internazionale Elettrotecnica (IEC) per
sviluppare standard internazionali per un encoding efficiente di video ed audio ad alta
qualità.
La differenza tra MP3 e la classica codifica PCM vista precedentemente consiste nella
tipologia di compressione e di rimozione dei suoni che non vengono percepiti
correttamente dall’orecchio umano.
La psicoacustica è la branca dell’acustica che studia la percezione del suono da parte
dell’uomo. Si è scoperto, ad esempio, che raddoppiare l’ampiezza di un suono non è
automaticamente correlato alla sensazione di un suono forte il doppio. La natura umana
prevede che alcune fasce di frequenze tra quelle udibili siano maggiormente considerate
rispetto ad altre che sono ai margini dell’intervallo, principalmente per una questione di
probabilità d’ascolto e di interesse.
Sfruttare la limitatezza del nostro apparato uditivo ha permesso la creazione non soltanto
di MP3, ma in generale di tutti gli algoritmi di codifica lossy.
Il perceptual coding di MP3 si occupa esattamente di codificare digitalmente non per
come esso è, come fa PCM, ma per come esso suona, permettendo di diminuire anche del
90% il peso finale del file codificato. Ci si deve chiedere quindi cosa MP3 tolga dal file
PCM originario. Per rispondere a questa domanda occorre introdurre i concetti di
irrilevanza e di ridondanza.
Un dato è ridondante se è possibile rimuoverlo dal file audio senza grosse perdite di
qualità. L’esempio più classico è il limite di Nyquist.
Se stiamo campionando il segnale a 44100 hertz, il nostro limite di Nyquist, secondo il
teorema del campionamento di Nyquist-Shannon, è di 22050 hertz, per cui tutto quel
suono che è oltre questa frequenza non verrà contemplato e, anche se lo fosse, non sarebbe
correttamente interpretato dall’uomo: per cui viene semplicemente rimosso.
Un dato è invece irrilevante se viene mascherato dall’orecchio umano con un altro suono.
È il caso di suoni aventi stessa forma d’onda di un altro suono, ma con ampiezza
raddoppiata. Essi saranno mascherati dal suono ad ampiezza più alta. Il mascheramento
attribuisce ai suoni irrilevanti un numero di bit inferiore rispetto ai suoni dominanti,
creando una distorsione che però risulta confinata e non percettibile all’orecchio umano.
Il primo passaggio del processo di codifica comporta prendere diverse piccole sezioni del
file PCM e processarle con quello che viene chiamato “filtro analitico”. Lo standard
MPEG 1 non specifica esattamente come questo filtro debba essere costruito, ma solo cosa
dovrebbe fare. MP3 tipicamente attua una serie di algoritmi matematici quali la
trasformata veloce di Fourier o la trasformata discreta del coseno per fare questa
suddivisione. Ogni sezione viene quindi divisa in 32 sottobande, che rappresentano
differenti parti dello spettro di frequenza del segnale PCM originario.
Una qualsiasi sezione di un file PCM contiene una miscela di differenti suoni più o meno
predominanti. Dividendo in sottobande, MP3 è in grado di ordinare differenti suoni in
base al contenuto in frequenza e dare un ordine di priorità in base al modello
psicoacustico.
Il passaggio successivo del processo è la ricostruzione delle sottobande all’interno di
frame. L’encoder esamina il contenuto di questi frame e cerca di determinare dove
avvenga un mascheramento (sia nel dominio della frequenza sia in quello del tempo) e
dove possano essere distorti senza particolari problemi per il suono finale. L’encoder
calcola il valore di “Mask to noise” di ciascun frame e usa questa informazione nel
passaggio finale del processo, l’allocazione dei bit.
Durante l’allocazione dei bit l’encoder decide, in base alla priorità definita
precedentemente, come spartire la torta. La torta è composta da un numero di bit pari al
bitrate che si è imposto al file. Un bitrate di 128kbps fornirà una torta di 128000 bit per
ogni secondo del brano.
L’ultimo processo è la codifica di Huffmann, che consente di mappare le informazioni in
“simboli”. I simboli più presenti all’interno del file saranno codificati con un numero di bit
più piccolo, che va ingrandendosi in base alla minore presenza del simbolo nel brano.
Quando la codifica è terminata vengono salvati tutti i frame, con alcuni byte dovuti agli
header. Una volta salvati i frame viene creato il file MP3. Il file risultante può essere letto
da un player, che deve limitarsi a ricostruire un segnale analogico partendo dai bit allocati
ai vari frame; è un lavoro molto meno pesante rispetto a quello fatto dall’encoder, il che
giustifica anche l’esistenza di tantissimi player MP3 diversi, ma molti meno encoder.
2.1.1. Anatomia di un MP3
Un file MP3 è così strutturato:
♦frame 1
♦frame 2
♦frame N
HEADER DI UN FRAME
Ogni MP3 è segmentato in milioni di frame, ciascuno contenente dati audio per una
frazione di secondo. All’inizio di ogni frame c’è l’header, che contiene 32 bit di metadati
relativi al frame stesso.
Tabella 2.1. Contenuto dell’header di un frame
Id Scopo N. di bit
A Blocco di sincronizzazione 11
B Versione di MPEG 2
C Layer di MPEG 2
D Bit di controllo 1
E Indice del bitrate (esiste una tabella adatta alla versione di MPEG utilizzata) 4
K Copyright 1
L Originale/Copia 1
BLOCCO DI SINCRONIZZAZIONE
11 di questi 32 bit sono chiamati “blocco di sincronizzazione”. Questo blocco consente il
cosiddetto seeking, ovvero consente ai player di cercare e fermarsi in un determinato
frame, identificandolo come tale. Un player non può però, sulla base di soli 11 bits,
determinare se un file è un MP3 valido, per cui occorrerà valutarne altri nel file o vederne
una sequenza.
VERSIONE E PROTEZIONE
Dopo il blocco di sincronizzazione ci sono i bit dedicati alla versione e alla protezione. Se
il bit di protezione non è settato, una checksum di 16 bit verrà messa prima dell’inizio del
blocco di dati audio del frame.
BITRATE E FREQUENZA
Il campo bitrate definisce il bitrate del frame, che può non essere costante per tutti i frame
del brano (come nel caso della codifica VBR). Segue subito il blocco frequenza di
campionamento che dipende dalla versione di MPEG in uso.
PADDING
Il bit di padding serve ad allineare i frame che abbiano discrepanze tra di loro. Se un frame
è di X byte ed un altro di X-1 il bit di padding serve a compensare la loro diversità.
CANALI SETTATI E MODALITÀ
Il campo modalità indica se il frame è mono o stereo e permette di settare le opzioni della
modalità stereo, joint stereo o mono. I bit successivi servono a fornire maggiori
informazioni nel caso in cui si sia scelta la modalità joint stereo.
COPYRIGHT E PRIVACY
Il bit di copyright indica che è illegale copiare l’MP3 al quale il frame appartiene mentre il
bit di privacy può essere usato da specifiche applicazioni per causare delle azioni.
ENFASI
Il campo enfasi è usato come flag in caso che il corrispondente bit sia stato settato nel file
originario. È un bit ormai in disuso.
TAG ID3
I tag ID3 (identify an MP3) possono essere inseriti all’inizio oppure alla fine del file MP3
che devono identificare. Contengono al loro interno informazioni sull’artista, sul titolo, sul
copyright e i termini di utilizzo, un’immagine che può essere visualizzata sul player e
commenti.
Attualmente ci sono due varianti di ID3: la versione 1 e la versione 2. La differenza tra le
due versioni risiede soltanto nella quantità di informazioni memorizzabili. I tag ID3
versione 2 compaiono molto più spesso all’inizio che non al la fine del file. Il motivo è
presto detto: quando un MP3 viene trasmesso, il player deve sapere in anticipo il
contenuto del file che sta eseguendo per fornire le informazioni all’ascoltatore.
JOINT STEREO
In modalità joint stereo i due canali, il destro ed il sinistro, non sono indipendenti come ci
si potrebbe immaginare: in realtà sono realizzati in modo che uno sia la somma dei due
canali, mentre l’altro ne sia la differenza. Un decodificatore che riceve due canali in joint
stereo può comunque ricostruire i due canali senza perdite grazie a questa relazione
matematica:
detto A il canale somma (X + Y) e B il canale differenza (X Y)
il canale X è pari alla semisomma di A e B
il canale Y è pari alla semidifferenza tra A e B.
Questa modalità è l’unica che consente un ascolto accettabile in mono di un canale
originariamente stereo. La modalità tradizionale stereo, se ascoltata in mono, non farebbe
altro che far ascoltare metà del patrimonio del brano.
Il joint stereo è consigliabile però soltanto a bassi bitrate; a bitrate alti, data la forte
possibilità di errore, è sempre consigliabile la codifica stereo tradizionale che non è
comunque obbligata a dare il 50% dei bit ad entrambi i canali ma può oscillare in base alle
varie situazioni.
FILTRO PASSA-BASSO
Il filtro passa-basso è uno degli strumenti utilizzati per diminuire il bitrate del file MP3.
Come precedentemente detto, le frequenze al di sopra dei 18 mila hertz non sono
perfettamente udibili da parte del nostro apparato uditivo e quindi possono essere
eliminate.
Il filtro passa-basso esegue esattamente questa operazione:
♦a 128 kbps si usa un filtro passa-basso a 17500 hz;
♦ai bitrate più alti e con il VBR alta qualità si utilizza un filtro passa-basso a 20 khz.
I FRAME MP3
Il frame è l’equivalente del fotogramma video e contiene una parte di suono.
Normalmente, il frame dura qualche centesimo di secondo, portando il numero di frame al
secondo a circa 40, indipendentemente dal bitrate. L’encoder può decidere di utilizzare
frame a durata più bassa e, se è necessario, codificare meglio le informazioni contenute
nel brano originario.
2.2. Come funziona WMA
WMA è il più comune codec audio della Microsoft. La sigla WMA, teoricamente, non si
riferirebbe soltanto a questo codec ma commercialmente si fa un riferimento diretto ad
esso. La prima versione di questo codec fu rilasciata nel 1999 come WMA 1.
WMA è un codec a perdita di informazione basato sulla psicoacustica. Similarmente a
quanto effettuato da altri codec come MP3, si cerca di eliminare le informazioni non
udibili correttamente dall’uomo.
Fondamentalmente, la codifica WMA si basa sulla trasformata discreta del coseno
modificata, in modo molto simile a quanto fatto dai codec AAC o Vorbis. Il flusso di
WMA è composto da superframe, ciascuno contenente uno o più frame contenenti a loro
volta 2048 campioni.
Ciascun frame contiene un numero dei blocchi lunghi 128, 256, 512, 1024, o 2048
campioni dopo la trasformazione nel dominio della frequenza tramite la trasformata. Nel
dominio della frequenza, i campioni si mascherano e si riquantizzano. Successivamente, i
campioni sono scomposti in due parti chiamate coefficiente ed esponente e codificati
indipendentemente tramite la codifica di Huffman. Le informazioni stereo sono
normalmente codificate in middle/side, che è poi la modalità joint.
Ai bassi bitrate, le coppie di linee spettrali ed una forma di codifica del rumore possono
essere utilizzate per migliorare la qualità di codifica. Come per AAC e Vorbis, WMA
sfrutta le mancanze dello standard MP3. I tre formati hanno finito per essere disegnati in
modo molto simile: sono ad esempio tre codec di pura trasformazione. L’implementazione
della trasformata discreta del coseno modificata, usata nel codec WMA, è essenzialmente
un superinsieme delle specifiche di Ogg e AAC, al punto che le routine di WMA possono
essere usate per decodificare AAC e Vorbis in modo praticamente perfetto. Tuttavia, la
quantizzazione e la codifica stereo dei tre codec sono molto diverse tra loro.
Un vero tratto distintivo del formato WMA è il suo originale uso di 5 differenti grandezze
dei blocchi, a differenza di MP3, AAC e Vorbis che si limitano a due sole grandezze.
WMA Pro estende le cinque grandezze portandole a 6 per le codifiche con una frequenza
di campionamento compresa tra 88200 e 96000 hertz.
Anche WMA ha il suo formato di tagging per inserire all’interno del file informazioni
aggiuntive su artista, titolo, album, ecc.
2.3. Come funziona Vorbis
Vorbis è un formato di codifica audio open source sviluppato principalmente da
Christopher Montgomery, fondatore della Xiph.Org Foundation, che lo porta dalla prima
alpha release del settembre 1998 al rilascio ufficiale della versione 1.0 avvenuto nel luglio
2002. Vorbis permette di campionare segnali da 8000 a 192000 volte al secondo e con una
vasta gamma di modalità (monaurale, polifonia, stereo, quadrifonia, 5.1 e fino a 255 canali
discreti).
Dato un segnale stereo campionato a 44100 hertz, l’encoder Vorbis produce un output che
può andare da 45 a 500 kbit al secondo, in base alla qualità scelta. Vorbis concretizza un
ragionamento diverso rispetto a molti altri codec fratelli. Essendo un algoritmo VBR, la
Xiph.Org, piuttosto che considerare la qualità del segnale sulla base del numero di bit per
secondo, raccomanda di considerare la qualità tramite la nomenclatura q. Il primo encoder
aveva una gamma di qualità che andavano da q0 a q10, per numeri interi.
Successivamente, è stato inserito un valore q – 1 corrispondente a circa 45 kbit per
secondo.
Il codec Vorbis non è quindi in grado di garantire che un segnale sia, neanche mediamente,
ad un numero preciso di bit per secondo, anche perché i pacchetti in cui è scomposto il
flusso in ingresso non hanno né grandezza massima, né minima, né prefissata.
2.3.1. Dentro l’algoritmo
Vorbis è un codec monolitico e adattativo basato sulla trasformata discreta del coseno
modificata. La trasformata viene utilizzata per mutare il suono dal dominio del tempo al
dominio della frequenza. I dati nel dominio della frequenza sono scomposti in rumore di
fondo e componenti residui, quindi quantizzati e codificati utilizzando un algoritmo
apposito. La decompressione effettua gli stessi passaggi al contrario. L’approccio
utilizzato dall’algoritmo non permette una buona qualità a bitrate bassi: si sente come un
riverbero o un suono ovattato.
2.3.2. Il bitrate peeling
Il formato Vorbis supporta il bitrate peeling per ridurre il bitrate del file codificato. Il
bitrate peeling è la capacità di un codec di utilizzare lo stesso file a bitrate più bassi senza
decodificarlo e ricodificarlo nuovamente. Nonostante sia una possibilità del codec, la
qualità è nettamente più bassa rispetto ad una ricodifica. Questa differenza di qualità nasce
dal fatto che il codec non attribuisce un’importanza relativa ai dati, e quindi il peeling ha il
non facile compito di capire cosa è importante e cosa no, senza potere ricodificare.
2.3.3. I container di Vorbis
Uno degli errori più frequenti parlando di Vorbis è collegarlo immediatamente ad Ogg.
Ogg è un contenitore che può ospitare al suo interno diversi codec, come ad esempio nel
caso di Ogg Theora. Similarmente, Vorbis può essere incapsulato in altri formati di
contenitore (uno su tutti: Matroska) ma può anche essere il payload di un formato RTP
(real time protocol).
2.3.4. I metadata
I metadata di Vorbis, chiamati “commenti”, sono simili a i tag ID3 di MP3. I metadata
sono memorizzati in un vettore di stringhe ad 8 bit, di lunghezza arbitraria. Il vettore è
contenuto all’interno dell’header del secondo pacchetto che comincia un flusso Vorbis. Le
stringhe sono codificate come UTF-8.
Le stringhe sono implementate nella forma [TAG]=[VALORE], ad esempio “ARTIST=La
mia band”. I tag sono case-insensitive.
Come nell’attuale versione di ID3, gli utenti e gli encoder possono inserire tag di qualsiasi
tipo coerente con il flusso. Ad esempio, un encoder può utilizzare più tag per il genere.
2.4. Come funziona AAC
AAC è l’acronimo di Advanced Audio Coding. Creato dal consorzio MPEG, in origine
veniva chiamato anche MPEG-2 NBC (Not Backward Compatible) in quanto non retro-
compatibile con i formati già esistenti.
Tra le caratteristiche principali, AAC:
♦gestisce frequenze di campionamento da 8 a 96 kHz;
AAC funziona in modo molto simile ad MP3. I blocchi sono stati migliorati, aggiunte
nuove funzioni in modo da rendere migliore la codifica a bassi bitrate.
AAC utilizza una codifica a tasso variabile; un file codificato con questo codec ha una
qualità migliore rispetto a MP3, a parità di bitrate.
Il codec non è dotato di metadati nativi: si utilizzano i tag ID3 di MP3.
2.4.1. Streaming
AAC nasce per lo streaming. Lo streaming audio è spesso veicolato dal protocollo di
trasporto TCP; tuttavia, ritrasmettere dati non è conveniente per applicazioni audio,
motivo per cui, a differenza di MP3 che implementa soltanto il CRC (controllo a
ridondanza ciclica), AAC implementa diversi meccanismi di controllo degli errori:
♦error concealment: CRC rileva gli errori che poi vengono corretti tramite la ricostruzione
delle parti mancanti, con metodi di approssimazione o aggiunta di parti silenti;
♦error resilience: irrobustisce il codec;
♦error protection: suddivide il flusso in varie parti e, applicando bit di controllo, consente
di proteggere ulteriormente da errori sui bit.
2.5. Come funziona FLAC
Il codec FLAC è uno dei più importanti codec open source senza perdita utilizzati a livello
mondiale.
FLAC permette di avere file compressi fino anche al 40, 50% rispetto al PCM originario,
mantenendo tutti i dati del file originario, esattamente come avviene con i formati ZIP o
RAR, che sono palesemente lossless.
2.5.1. Passaggi di funzionamento
SUDDIVISIONE IN BLOCCHI
L’input viene diviso in più parti contigue, anche variabili in grandezza.
COMPATTAMENTO DEL FLUSSO MULTICANALE
In questo step l’encoder FLAC si occupa di calcolare, nel caso di input stereo e surround,
la media dei canali e la loro differenza. Il segnale a qualità migliore viene passato al
processo successivo.
PREDIZIONE
Partendo dal primo blocco avviene la previsione di quale possa essere il successivo con
degli algoritmi matematici che tentano di ricostruire il segnale. In questo caso verranno
codificati solo i parametri, dato che gli algoritmi matematici devono essere presenti sia
sull’encoder che sul decoder.
CODIFICA RESIDUA
La codifica residua permette a FLAC di essere effettivamente un codec lossless. Si
codifica senza perdita tutta la parte di segnale che si differenzia dalla ricostruzione
matematica di predizione e viene incorporata nel file finale. Il guadagno si ha sul fatto che
il segnale residuo, proprio per la scrematura matematica, sarà minore in byte rispetto al
corrispettivo PCM.
3. Shoutcast
Shoutcast è un programma proprietario, prodotto dalla NullSoft (acquisita da AOL nel
1999) che consente lo streaming audio su Internet; si tratta, quindi, di un server di
streaming, tra i più utilizzati al mondo anche per la sua disponibilità verso molti sistemi
operativi (Windows, FreeBSD, Gnu/Linux tra questi). Per studiare meglio il software
esamineremo due versioni dello stesso, in ambiente Windows. La prima versione
esaminata è la 1.9; la seconda, la 2.0.
3.1. Versione 1.9
La versione 1.9 presenta una GUI (Graphic User Interface) che consente una rapida
visione e un rapido accesso alle opzioni settabili.
La barra dei menu ha le seguenti opzioni:
♦kill server: uccide il server, non rendendolo più funzionante;
♦hide monitor: pone in background il server (sparisce dalla barra delle applicazioni, ma
non viene chiuso);
♦edit log: permette di controllare e modificare il file log, con tutto quello che è successo al
server da quando è stato aperto;
♦edit
config: permette di settare le configurazioni del server. È, questa, la parte più
importante da conoscere.
Figura 3.1. Finestra iniziale della GUI del server Shoutcast 1.9.7
Queste due righe indicano che è stato caricato con successo il file di configurazione.
[main] initializing (usermax:32 portbase:8000)…
Questa riga identifica che la radio può avere massimo 32 ascoltatori e occupa la porta
8000.
[main] No ban file found (sc_serv.ban)
[main] No rip file found (sc_serv.rip)
Queste due righe mostrano che non sono presenti i file ban e rip, due file utili per settaggi
avanzati e non strettamente inerenti la trasmissione.
[main] opening source socket
[main] source thread starting
[main] opening client socket
[source]listening for connection on port 8001
[main] Client Stream thread [0] starting
[main] client main thread starting
Queste righe mostrano che il server si è posto in ricezione del flusso audio da inviare in
streaming: a questo punto è pronto per effettuare la diffusione della radio che vi si
collegherà.
3.1.1. Il file di configurazione
Cliccando su edit config si aprirà un editor di testo che consente di modificare le
impostazioni del file sc_serv.ini, il file che fornisce le direttive al server Shoutcast.
Tutto il testo preceduto da un punto e virgola è un commento; il testo che non lo è
rappresenta quindi una impostazione modificabile.
; MaxUser. The maximum number of simultaneous listeners allowed.
; Compute a reasonable value for your available upstream bandwidth (i.e. if
; you have 256kbps upload DSL, and want to broadcast at 24kbps, you would
; choose 256kbps/24kbps=10 maximum listeners.) Setting this value higher
; only wastes RAM and screws up your broadcast when more people connect
; than you can support.
MaxUser=32
L’impostazione password permette di settare una password di sicurezza, che deve essere
riproposta all’interno di un encoder che voglia connettersi al server. Non è obbligatorio
cambiarla, anche se deve essere obbligatoriamente settata.
; PortBase. This is the IP port number your server will run on. The
; value, and the value + 1 must be available. If you get a fatal error when
; the DNAS is setting up a socket on startup, make sure nothing else on the
; machine is running on the same port (telnet localhost portnumber — if you
; get connection refused then you’re clear to use that port). Ports < 1024 are not allowed.
Portbase=8000
L’impostazione LogFile permette di settare il nome del file contenente tutti le risposte del
server ai vari eventi che possono verificarsi (ad esempio l’ingresso di un nuovo
ascoltatore).
; RealTime displays a status line that is updated every second
; with the latest information on the current stream (*nix and win32
; console systems only)
RealTime=1
L’opzione ScreenLog consente di stampare o non stampare a video il log del server, ma
eventualmente solo su file. Utile per server che operano in background.
; ShowLastSongs specifies how many songs to list in the /played.html
; page. The default is 10. Acceptable entries are 1 to 20.
ShowLastSongs=10
L’opzione TchLog permette di inserire all’interno dei log anche i contatti ricevuti
periodicamente dalle directory delle yellow pages.
; WebLog decides whether or not hits to http:// on this DNAS will
; be logged. Most people leave this off because the DSP plug-in
; uses http:// calls to update titles and get the listener count,
; which takes up a lot of log space eventually. If you want to
; see people making hits on your admin.cgi or index pages, turn
; this back on. Note that this setting does NOT affect XML stats
; counters for hits to http:// pages.
; Default is no.
; WebLog=no
L’opzione WebLog permette invece di inserire all’interno del file di log anche i contatti
ricevuti dall’interfaccia web, che possono però creare un quantitativo di dati ingente
all’interno del file di log stesso.
; W3CEnable turns on W3C Logging. W3C logs contain httpd-like accounts
; of every track played for every listener, including byte counts those listeners
; took. This data can be parsed with tools like Analog and WebTrends, or given
; to third parties like Arbitron and Measurecast for their reporting systems.
; Default is Yes (enabled).
W3CEnable=Yes
L’opzione W3CEnable consente di tracciare il numero di byte ricevuti da ciascun
ascoltatore, i brani che ha ascoltato ed altri dati che risulteranno poi trattabili per
statistiche.
; W3CLog describes the name of the logfile for W3C logging. Default logfile is
; sc_w3c.log, in the same directory wherever the DNAS gets started from.
W3CLog=sc_w3c.log
L’opzione W3CLog permette di dare un nome al file di log contenente i dati creati tramite
l’opzione W3CEnable.
La terza sezione del file di configurazione riguarda i settaggi di rete, utili per la
connettività del server con il resto del mondo.
; SrcIP, the interface to listen for source connections on (or to make relay
; connections on if relaying). Can and usually will be ANY or 127.0.0.1
; (Making it 127.0.0.1 will keep other machines from being able to
; broadcast using your Shoutcast server)
SrcIP=ANY
L’opzione DestIP è utile esclusivamente per le macchine che possiedono più schede di
rete, in quanto permette di scegliere l’IP al quale il server sarà disponibile.
; Yport, port to connect to yp.Shoutcast.com on. For people behind caching
; webproxies, change this to the alternate port (666 is what it might be,
; check www.Shoutcast.com if you have problems). Otherwise, leave this at 80.
; We’re actively working on re-opening port 666, but as of release the only
; working port is port 80.
Yport=80
L’opzione Yport indica al server attraverso quale porta contattare il sito yp.Shoutcast.com,
che altro non è che il sito delle pagine gialle di Shoutcast.
; NameLookups. Specify 1 to perform reverse DNS on connections.
; This option may increase the time it takes to connect to your
; server if your DNS server is slow. Default is 0 (off).
NameLookups=0
Se il server Shoutcast sul quale si sta lavorando deve essere adibito a relay (ripetitore) di
un altro server Shoutcast (ad esempio per aumentare il numero di ascoltatori
potenzialmente disponibili), allora l’opzione RelayPort deve contenere la porta del server
da ritrasmettere e l’opzione RelayServer il suo indirizzo IP. Dopo le opzioni di rete, la
quarta sezione riguarda le opzioni di amministrazione.
; AdminPassword. This password (if specified) changes the
; behavior of Password to be a broadcast-only password, and
; limits HTTP administration tasks to the password specified
; here. The broadcaster, with the password above, can still
; log in and view connected users, but only the AdminPassword
; will grant the right to kick, ban, and specify reserve hosts.
; The default is undefined (Password allows control for both
; source and admin)
; AdminPassword=adminpass
L’opzione AutoDumpUsers permette di disconnettere dal server tutti gli ascoltatori, nel
caso in cui la sorgente non fosse più in collegamento con il server.
; AutoDumpSourceTime specifies how long, in seconds, the source stream is
; allowed to be idle before the server disconnects it. 0 will let the source
; stream idle indefinately before disconnecting. The default is 30.
AutoDumpSourceTime=30
L’opzione TitleFormat consente di visualizzare, all’interno dei player degli ascoltatori, una
stringa organizzata come meglio si reputi; ad esempio, inserendo sempre il nome della
radio piuttosto che i titoli che variano canzone dopo canzone, oppure un ibrido tra le due
cose, come nell’esempio di default. [%s] indica il titolo del brano corrente. Funziona solo
con server non in modalità relay.
; URLFormat specifies a format string for what URL is sent to the listener.
; Behaves like TitleFormat (see above).
; The default is no format string.
; URLFormat=http://www.server.com/redirect.cgi?URL=%s
L’opzione PublicServer può forzare il server ad essere pubblico, privato o basarsi sulle
impostazioni dettate dall’encoder che invia il flusso della sorgente.
; AllowRelay determines whether or not other Shoutcast servers will be
; permitted to relay this server. The default is Yes.
AllowRelay=Yes
L’opzione AllowRelay consente o non consente ad altri server Shoutcast di diventare relay
di questo server.
; AllowPublicRelay, when set to No, will tell any relaying servers not
; to list the server in the Shoutcast directory (non-public), provided
; the relaying server’s Public flag is set to default. The default is
; Yes.
AllowPublicRelay=Yes
L’opzione AllowPublicRelay obbliga, nel caso in cui sia impostata su NO, i server che
fungono da relay a non elencare l’emittente all’interno delle directory Shoutcast.
; MetaInterval specifies how often, in bytes, metadata sent.
; You should really leave this at the default of 8192, but the option is
; provided anyway.
MetaInterval=8192
MetaInterval permette di settare, in byte, l’intervallo di invio dei metadati del protocollo
ICY.
; ListenerTimer is a value in minutes of maximum permitted time for
; a connected listener. If someone is connected for longer than this
; amount of time, in minutes, they are disconnected. When undefined,
; there is no limit defined. Default is undefined.
; ListenerTimer=600
Tramite l’opzione Unique è possibile definire un set di caratteri (ad esempio un path) che
possa essere richiamato utilizzando il carattere [$]. L’opzione è comoda da utilizzare se un
singolo IP contiene molti server Shoutcast con opzioni simili tra loro.
; Include: instructs the sc_serv to read from the named configuration file,
; *at the point of insertion of the Include statement*, and process as though
; the included file was part of itself. Note that all configuration parameters
; in the DNAS config file are processed first to last, so if an item is defined
; twice in a configuration, the last item to process will be the one that takes
; effect. For this reason, it’s usually a good idea to use the Includes first
; in a config file.
; example:
; Include=/usr/local/Shoutcast/common.conf
; Default is not applicable.
Nel caso di una macchina multiprocessore, il server Shoutcast alloca un thread per ciascun
processore disponibile sul sistema e distribuisce gli ascoltatori sui vari thread. Se per un
qualsiasi motivo non si volesse utilizzare qualcuno dei processori, si può indicare ciò
nell’opzione CpuCount.
; Sleep defines the granularity of the client threads for sending data.
; DNAS 1.7.0, per client thread, will send up to 1,024 bytes of data
; per socket (or less depending on the window available), and then
; sleep for the provided duration before repeating the whole process.
; Note that making this value smaller will vastly increase CPU usage on
; your machine. Increasing reduces CPU, but increasing this value too far
; will cause skips. The value which seems most optimal for 128kbps
; streaming is 833 (833 microseconds per client poll) on our test labs.
; We wouldn’t recommend setting it any lower than 100, or any higher than
; 1,024. If you have a slower machine, set this number lower to fix
; skips.
; Default value is 833.
; Sleep=833
L’opzione Sleep controlla la frequenza in millisecondi con cui un thread si attiva, per
ciascun client. Il valore di default, calcolato per uno streaming a 128 kbps è di 833 msec.
Alzare tale valore riduce il carico sulla CPU dovuto al context switching, ma può causare
skipping del flusso.
Abbassare il valore aumenta di molto il carico dovuto al cambio di contesto. Settare valori
inferiori a 100 o superiori a 1024 è fortemente sconsigliato dai produttori del software.
; CleanXML strips some whitespace and linefeeds from XML output which
; confuses some (poorly written) XML parsers. If you get XML rendering errors,
; try turning this on. Default is No (off).
; CleanXML=No
L’opzione CleanXML toglie alcuni caratteri dai file XML prodotti che possono confondere
alcuni parser XML scritti in modo non corretto o particolarmente datati.
3.1.2. L’interfaccia web di Shoutcast 1.9.7
Il server Shoutcast, al suo avvio, crea una pagina web raggiungibile all’indirizzo IP della
macchina e alla porta impostata sul file di configurazione contenente dei dati forniti dalla
sorgente collegata ed un pannello di amministrazione. All’interno di questo pannello di
amministrazione troviamo cinque sezioni differenti: Status, Song History, Listen, Stream
URL ed Admin Login.
STATUS
Status è la pagina principale. Contiene informazioni sull’emittente, sul numero di
ascoltatori attualmente connessi, sul picco di ascolti e sul tipo di contenuti trasmessi.
SONG HISTORY
Song History è l’elenco delle ultime canzoni trasmesse dalla radio (la lunghezza di tale
pagina dipende dal valore di ShowLastSongs).
LISTEN
Listen è un link ad un file PLS che consente di ascoltare la radio.
STREAM URL
Stream URL è un link impostabile che normalmente rimanda alla home del sito della
radio.
ADMIN LOGIN
Admin Login è il link che porta alla pagina di amministrazione degli ascoltatori. In questa
pagina si ha la possibilità di disconnettere utenti, riservarli e controllare il tempo di
connessione. In basso a destra si trova l’elenco delle impostazioni settate ed
eventualmente i loro valori.
L’area di amministrazione è una pagina simile alla precedente ma con molte più opzioni,
come visibile in figura 3.3.
In alto ci sono dei link ad alcune sottosezioni:
♦listeners: permette di vedere quanti ascoltatori ci sono in un determinato momento ed è la
pagina iniziale. Troviamo all’interno le seguenti righe:
Log file: C:\Programmi\Shoutcast\sc_serv.log
Configuration file: C:\Programmi\Shoutcast\sc_serv.ini
Name lookups are off/on
Intro file is disabled/enabled
Backup file is disabled/enabled
Auto client disconnects are disabled/enabled
Source idle timeouts are $number_of_seconds
Incoming interface: ip:porta Outgoing interface: ip’s:porta
Get XML Stats: [Yes]
Reset XML Stats: [Yes
Queste righe identificano il file di log, il file di configurazione, se è attivata la visione
dei nomi o solo quella degli indirizzi IP, se esiste un file di intro, se esiste un file di
backup, se sono impostate le disconnessioni automatiche dei client in caso di
disconnessione della sorgente, qual è il timeout di riconnessione, quali siano le
interfacce di entrata e di uscita e la possibilità di resettare o di visualizzare l’XML
che permette di conoscere dati sulla radio;
♦tail logfile: visualizza la fine del file di log;
♦ban list: visualizza la lista degli IP bannati e permette di bannare un IP o una intera
sottorete /24;
♦reserve ip list: visualizza gli IP che hanno accesso garantito e permette di inserirne uno;
♦logout: esce dalla sezione di amministrazione.
♦una sorgente (che può essere il Transcoder oppure Winamp plus Source DSP plug-in)
♦contenuti da trasmettere.
♦Windows 64-bit
♦Linux 64-bit
♦BSD 8.x
♦Mac OS X (Intel).
La versione adatta a ciascun sistema operativo è disponibile sul sito del produttore del
software. Occorre prestare molta attenzione alla versione del software corretta per la
macchina in uso. Se è possibile installare un software a 32 bit su una macchina a 64, non è
vero il contrario.
Il protocollo HTTP ed il protocollo ICY non tengono in considerazione il sistema
operativo, per cui non ha importanza se il server e la sorgente (che può essere il transcoder
oppure no) risiedono su due sistemi operativi diversi. Per iniziare correttamente l’utilizzo
del server Shoutcast 2, bisogna settare per prima cosa il file di esempio
sc_serv_simple.conf. L’esempio fornito consente (una volta personalizzato) di creare una
semplice configurazione per il server che contiene le basilari impostazioni necessarie per
permettere al server stesso di lavorare correttamente. Tutto questo sarà reso più chiaro
proseguendo la trattazione. L’unica cosa mancante all’interno di questo file di esempio è
l’authhash, valore richiesto per consentire ad un flusso audio di essere disponibile
all’interno delle Shoutcast Radio Directory.
Oltre al file getting started esistono degli altri file di configurazione, che possono o
addirittura devono essere settati, pur essendo d’esempio.
Tra questi:
♦sc_serv_basic mostra come gestire uno stream multiplo;
♦sc_serv_public mostra come rendere pubblico un server partendo dal file sc_serv_basic;
In base al sistema operativo, il server va lanciato in due modi differenti. Supponiamo che
il file di configurazione settato sia sc_serv_simple.conf:
♦gli utenti Windows lanceranno sc_serv.exe sc_serv_simple.conf;
Il comando resta uguale anche nel caso in cui il file di configurazione abbia un nome
diverso o un path diverso rispetto a quello di sc_serv.
Se dalla consolle del server si nota un problema, la prima cosa da appurare è che tale
problema abbia una E all’inizio del messaggio d’errore.
Normalmente i messaggi d’errore sono molto espliciti e contengono le informazioni per
comprenderne la tipologia. I forum di supporto del software sono in ogni caso risorse utili
per il troubleshooting.
3.2.1. SC_SERV_BASIC.CONF
; NOTE: for any relative paths specified are relative to
; sc_serv and not to where the conf file is being stored
Ogni riferimento relativo ha come base la cartella dove si trova sc_serv e non quella dove
si trova il file di configurazione.
; here we will setup where the log and other related files
; will be stored. make sure that these folders exist else
; sc_serv will throw an error and will close itself down.
; we will make the logs save to the sc_serv2 directory
logfile=logs\sc_serv.log
w3clog=logs\sc_w3c.log
banfile=control\sc_serv.ban
ripfile=control\sc_serv.rip
In questa impostazione vengono settati il log file ed altri file. Occorre assicurarsi che le
sottocartelle eventualmente impostate siano esistenti o il server di streaming restituirà un
errore.
; for testing we will make the server only work locally
; (i.e. localhost / 127.0.0.1) though if this is left out
; or set to publicserver=always then we attempt to make a
; connection to the YP for listing - do not forget to add
; in a ‘streamauthhash’ value for any public streams made
;publicserver=never
L’impostazione portbase identifica la porta base per lo streaming. Se non viene impostato
alcun valore (come avviene di default) allora la porta base risulterà essere la 8000.
; password used by sc_trans or the Winamp dsp plug-in
; NOTE: remember to change this to something else
password=testing
Password di amministrazione.
; now we will specify the details of the stream we’re going
; to serve which can be done as follows
streamid=1
streampath=/test.aac
; or
; it can be done like this which is how it needs to be done
; if you are going to provide multiple streams from sc_serv
;streamid_1=1
;streampath_1=/test.aac
;streamid_2=2
;streampath_2=/test2.aac
Si possono specificare i dettagli dello stream che si sta trasmettendo utilizzando le opzioni
streamid e streampath; oppure, nel caso in cui il server di streaming debba fornire più di
un flusso contemporaneamente, tali flussi si possono numerare progressivamente.
3.2.2. SC_SERV_DEBUG
In questo file sono presenti tutte le opzioni di logging per debug di un server Shoutcast,
che possono aiutare in funzione del corretto settaggio del proprio server. Questo file può
essere inserito all’interno del file di configurazione attraverso l’opzione include.
; enable or disable the different debug loggging options as
; required for any issues you are trying to investigate.
; you can disable an entry by adding a comma (;) infront of
; the configuration entry
httpstyledebug=1
microserverdebug=1
relaydebug=1
relayShoutcastdebug=1
relayuvoxdebug=1
rtmpclientdebug=1
Shoutcast1clientdebug=1
Shoutcast2clientdebug=1
Shoutcastsourcedebug=1
statsdebug=1
streamdatadebug=1
threadrunnerdebug=1
uvox2sourcedebug=1
webclientdebug=1
yp1debug=1
yp2debug=1
Si possono includere o rimuovere le opzioni volute al fine di avere o non avere una particolare funzionalità.
Le opzioni possono essere commentate anteponendo un punto e virgola.
3.2.3. SC_SERV_PUBLIC
; due to the way configuration files work we can replace an
; existing value like ‘publicserver’ with a newer value so
; the following will force any sources to be public which
; allows us to then connect and be listed on the YP
publicserver=always
Publicserver può essere impostato anche qui in modo che venga sovrascritto qualsiasi
valore precedentemente impostato.
; as we are going to connect to the YP then we need to fill
; in the required options so we can authenticate to the YP2
; see sc_serv.txt - section 3.0 for details on getting this
;
; make sure that you completely replace the string
; <enter_your_auth_key_here> with the authorisation key you
; obtained when registering the stream for the Shoutcast YP
; e.g. if you auth hash key is 12345 then the line would be
; streamauthhash=12345
streamauthhash=<enter_your_auth_key_here>
In questa opzione si deve inserire il valore della chiave fornita da Shoutcast al momento
della registrazione dell’emittente al servizio di listing delle pagine gialle.
3.2.4. SC_SERV_RELAY
; assuming there is only one other stream defined then we
; create a second stream configuration for our relay where
; you will need to ensure the values entered are correct
; for the source the stream is coming from and so you can
; authenticate to the YP2 if making this a public system
;
; note: you can change the stream id as appropriate to you
streamid_2=2
streampath_2=/relay
streamrelayURL=http://<full_URL_of_relay_including_port>
streamauthhash_2=<enter_your_auth_key_here>
Si può creare uno stream come relay di un altro dandogli un adeguato stream ID, che può
andare da 1 a 9. Configuriamo anche l’URL e l’hash del relay insieme al path.
; to have more control on the handling of relays then the
; following options from sc_serv2.txt - section 4.0.10 to
; control use of relays or if the relay is set to a public
; state when the server is connected to the YP2
; allowrelay=0
; allowpublicrelay=0
Le opzioni allow permettono al server di streaming di avere o non avere relay (privati e
pubblici).
3.2.5. Transcoder
Il transcoder fornito come software a corredo del server Shoutcast necessita di una licenza
per la trasmissione MP3. Nel caso di AAC+, invece, se si è già acquistata una licenza non
sarà necessario comprarne un’altra. Una volta ottenuta la chiave, sarà necessario
aggiungere chiave e nome all’interno delle opzioni unlockkeyname e unlockkeycode
all’interno del file di configurazione del transcoder.
I file di configurazione del transcoder sono i seguenti, divisi per contesto:
♦sc_trans_basic: mostra le impostazioni basilari;
Figura 3.4. Finestra degli stati degli output del plug-in DSP
STATUS
Status mostra le informazioni correnti sulla sorgente, in particolare sulla sua connettività o
altri messaggi d’errore come password incorretta etc.
AUTO CONNECT
Auto Connect è un’opzione di connessione automatica del plug-in ogni volta che la
sorgente viene attivata.
CONNECT / ABORT / DISCONNECT / KILLBUTTON
L’opzione connect/abort/disconnect/killbutton consente di iniziare una connessione, di
interromperne una in corso o disconnettere una connessione attiva. Se “Autoconnect” è
settato, allora il plug-in riattiverà automaticamente la connessione interrotta.
ADDRESS
Address indica l’indirizzo del server al quale connettersi. Per esempio, se il server o il
transcoder si trovano sulla stessa macchina della sorgente, localhost può essere un valore
ammesso; altrimenti, va inserito l’esatto IP della macchina al quale il DSP tenterà di
connettersi.
PORT
Questa è la porta TCP relativa all’indirizzo del server al quale connettersi. Deve
corrispondere al parametro portbase o serverport, rispettivamente del server Shoutcast o
del transcoder.
STREAMID
StreamID è l’identificativo utilizzato per far riconoscere la sorgente al server quando si
utilizza un server Shoutcast 2. Deve corrispondere all’impostazione streamid oppure ad
uvoxstreamid per il transcoder. L’opzione è disabilitata se viene utilizzata la modalità use
Shoutcast v1 mode (for legacy servers).
USERID
Identificativo utente utilizzato in base al tipo di connessione che il plug-in deve creare. Ad
esempio, il valore del parametro djlogin. L’opzione è disabilitata se viene utilizzata la
modalità use Shoutcast v1 mode (for legacy servers).
PASSWORD
La password è richiesta per l’accesso al server (se impostata). Deve corrispondere al
valore dell’opzione omonima nei file di configurazione di Shoutcast oppure all’opzione
uvoxauth del transcoder.
AUTOMATIC RECONNECTION ON
L’opzione automatic reconnection on permetterà al plug-in di riconnetttere la sorgente
qualora ci fossero delle disconnessioni.
ON TIMEOUT
On timeout indica il numero di secondi che deve attendere il plug-in prima di procedere al
tentativo di riconnessione.
USE SHOUTCAST V1 MODE (FOR LEGACY SERVERS)
L’opzione use Shoutcast v1 mode consente di scegliere la tipologia di sorgente che il plug-
in tenterà di creare. Scegliendo l’opzione, il plug-in creerà una sorgente compatibile con
un server Shoutcast 1 o, in alternativa, con Shoutcast 2. Il comportamento standard è volto
ad un utilizzo di Shoutcast 2. Utilizzare la modalità sbagliata può causare problemi di
connessione. Ad esempio, se si utilizza un flusso Shoutcast 2 con un server Shoutcast 1 il
risultato sarà il vedere il messaggio “Cipher response received”. Se il plug-in si accorge di
questa incongruenza, mostrerà nell’area status il messaggio “Cipher response received.
Try enabling Shoutcast v1 mode”.
Figura 3.7. Finestra di avviso per l’utilizzo non corretto del plug-in
NAME
Name indica il nome da utilizzare per questa sorgente.
URL
URL è l’indirizzo dello stream che consente agli utenti di ottenere maggiori informazioni
(normalmente è il sito della radio).
GENRE
Genre imposta il genere musicale della sorgente ed è utile per catego-rizzare il flusso se
questo flusso deve essere elencato nelle yellow pages. Il genere viene selezionato dal
menu. Non è possibile settare un genere diverso da quelli elencati.
MENU GENERI
Il menu Generi contiene una lista di generi musicali e sottogeneri autorizzati ad essere
inseriti all’interno delle directory di Shoutcast.
AIM / ICQ / IRC
Si possono specificare alcune informazioni di contatto per gli ascoltatori. Questo campo è
disponibile soltanto per la versione 1 del server Shoutcast.
TRACKTITLE
L’opzione tracktitle permette di utilizzare le informazioni tratte dai titoli dei brani di
Winamp oppure di specificare informazioni sulla canzone corrente e sulla successiva, che
sono inviate con i metadati quando si clicca sul comando send update. Il comando send
update è abilitato quando viene fatta una modifica al titolo, in qualsiasi modo.
SEND NEXT TRACK TITLES TO THE SERVER (IF AVAILABLE)
L’opzione send next track titles to the server consente di inviare il titolo del prossimo
brano in modalità Shoutcast 2.
Figura 3.9. Avviso inerente la pubblicazione della stazione sulle pagine gialle
ENCODER TAB
Il tab encoder permette di specificare quale encoder vada utilizzato per creare il flusso
audio dalla sorgente. I seguenti encoder sono disponibili all’installazione del plug-in:
♦MP3 (audio/mpeg)
♦AAC (audio/aacp).
Figura 3.10. Schermate di configurazione dell’encoder
♦clear log file on logging startup: da scegliere se si vuole che il log si resetti ad ogni avvio
del plug-in;
♦ignore ‘sent x bytes’ status messages: da selezionare se si vuole evitare di inserire nel file
di log i messaggi “sent x bytes”;
♦open log file: aprirà il log file tramite il programma associato ai file di estensione .log;
♦enable next track logging: abilita la creazione di un log file delle prossime canzoni da
riprodurre tramite Winamp.
SAVE REPORT AS XML INSTEAD OF PLAIN TEXT
Si può impostare come file di log non un file di testo ma un file xml. Il file xml conterrà il
percorso del file ed il titolo con entrambi i campi identificati dall’attributo seq.
Il logging del brano successivo è abilitato soltanto quando il plug-in determina che è
cambiato il brano.
3.2.7. Input configuration Tab
INPUT DEVICE
L’opzione input device permette di scegliere se utilizzare Winamp o la scheda audio (la
linea di ingresso) come sorgente per lo stream che il plug-in crea. In base alla scelta
possono essere settate opzioni aggiuntive.
INPUT LEVELS
Mostra i livelli di volume dei due canali audio. In questo modo si può comprendere
l’andamento del volume e intervenire in caso di problematiche.
INPUT SETTINGS
Quando viene selezionato il soundcard input, questa opzione permette di controllare la
frequenza di campionamento.
3.2.8. Soundcard mixer control Tab
CHOOSE MICROPHONE
L’opzione choose microphone permette di scegliere quale dei microfoni rilevati dal
sistema operativo si vuole utilizzare.
REFRESH BUTTON
Il comando Refresh permette di aggiornare la lista delle periferiche disponibili su Vista o
Windows 7. L’opzione si rivela utile quando si connette un dispositivo e si vuole
cominciare ad utilizzarlo.
OPEN MIXER
Questa opzione permette di aprire il mixer di Windows, per poter settare volumi o
impostazioni inerenti la scheda audio.
MUSIC LEVEL
Controlla il livello dell’output di Winamp.
BG LEVEL
Controlla il livello di background, ovvero il tappeto musicale che rimane quando si preme
il comando push to talk.
MIC LEVEL
Controlla il livello del microfono quando si preme il comando push to talk.
FADE TIME
L’opzione fade time setta il tempo di fading tra la modalità di trasmissione musicale e la
modalità vocale, che si abilita tramite il comando push to talk.
CAPTURE DEVICE FADE TIME
L’opzione è la stessa di fade time, ma è valida per il dispositivo utilizzato per la sezione
vocale.
PUSH TO TALK
Quando il comando push to talk viene premuto il microfono selezionato diventa attivo
come sorgente del flusso di tutti gli output attualmente attivi.
LOCK
Quando il comando lock viene premuto si blocca il push to talk in modo da non doverlo
tenere premuto per funzionare.
ARROW BUTTON
Il comando arrow mostra un menu con l’opzione enable ‘push to talk’ on startup,
permettendo a questa modalità di essere ri-abilitata quando il plug-in comincia a lavorare.
Può essere utile quando il plug-in si spegne per evitare che il volume ritorni ai livelli
normali; in presenza della funzione push to talk è disabilitata.
3.3. Modalità operative DSP con Winamp
3.3.1. Connessione diretta di Winamp a Shoutcast Server v1
Connection Tab:
♦Address: localhost (oppure l’indirizzo IP del server se non si trova sulla stessa macchina);
♦StreamID: 1 (oppure il valore settato per ‘streamid’ di questa particolare connessione con
il server);
♦UserID: può essere lasciato vuoto;
Yellow pages tab: qui si possono inserire i dettagli richiesti all’identificazione del flusso
audio e all’indicizazzione all’interno delle directory di Shoutcast.
3.3.2. Connessione diretta di Winamp a Shoutcast Server v2
Connection Tab:
♦Address: localhost (oppure l’indirizzo IP del server se non si trova sulla stessa macchina);
♦StreamID: 1 (oppure il valore settato per ‘streamid’ di questa particolare connessione con
il server);
♦UserID: può essere lasciato vuoto;
♦Use Shoutcast v1 mode (for legacy servers): non deve essere selezionato.
Yellow pages tab: qui si possono inserire i dettagli richiesti all’identificazione del flusso
audio e all’indicizazzione all’interno delle directory di Shoutcast.
Make this server public (Recommended): questa opzione dipende dal valore di
‘publicserver’ nel file di configurazione del server Shoutcast.
3.3.3. Connessione sorgente DJ tramite transcoder in un Shoutcast Server 1
Connection Tab:
♦Address: localhost (oppure l’indirizzo IP del server se non si trova sulla stessa macchina);
Yellow pages tab: qui si possono inserire i dettagli richiesti all’identificazione del flusso
audio e all’indicizazzione all’interno delle directory di Shoutcast.
Make this server public (Recommended): questa opzione dipende dal valore di
‘publicserver’ nel file di configurazione del server Shoutcast.
3.3.4. Connessione sorgente DJ tramite transcoder in un Shoutcast Server 2
Connection Tab:
♦Address: localhost (oppure l’indirizzo IP del server se non si trova sulla stessa macchina);
♦Stream ID: si può lasciare il valore di default (‘1’) perché il transcoder ignora questo
valore; verrà probabilmente utilizzato per versioni future;
♦User ID: dj (oppure il valore settato per ‘djlogin’ per il corrispondente DJ account della
configurazione del transcoder);
♦Password: noise (oppure il valore settato per ‘djpassword’ per il corrispondente DJ
account della configurazione del transcoder);
♦Use Shoutcast v1 mode (for legacy servers): non deve essere selezionato.
Yellow pages tab: qui si possono inserire i dettagli richiesti all’identificazione del flusso
audio e all’indicizzazione all’interno delle directory di Shoutcast.
Make this server public (Recommended): questa opzione dipende dal valore di
‘publicserver’ nel file di configurazione del server Shoutcast.
3.4. Configuration builder
A corredo dei software e dei file necessari al funzionamento di Shoutcast è presente una
pagina web chiamata configuration builder, contenuta all’interno dell’omonima cartella.
Questa pagina web crea un file di configurazione in modo visuale tramite i moduli
all’interno della pagina.
Lo strumento è molto utile soprattutto per coloro che mostrano difficoltà nell’editare
opzioni direttamente sui file di testo. La pagina opera correttamente se il file prodotto ha
dati corretti e se il file risultante è correttamente passato al server Shoutcast, nella
modalità già vista.
Onde evitare possibili problematiche di sicurezza dovute alla presenza di pagine web in
locale sono presenti su Internet diverse pagine che consentono di creare il file di
configurazione tramite il configuration builder.
♦sc_serv
♦sc_serv.conf.
♦Successivamente si creeranno altri due file, quando verrà usato per la prima volta il
server:
♦sc_serv.log
♦sc_w3c.log.
Il file readme.txt, oltre a descrivere le modifiche del programma nelle varie versioni,
spiega sommariamente come si installa Shoutcast su Linux, quali sono i requisiti minimi
di sistema, le peculiarità della versione per Windows e quelle della versione per Linux.
Il file sc_serv è l’applicazione da richiamare per il funzionamento del server Shoutcast.
Il file sc_serv.conf è il file di configurazione del server.
La cartella contenente l’encoder Shoutcast sarà composta da 5 file:
♦example.lst
♦sc_trans.conf
♦sc_trans_Linux.
Gli altri due file sono encoder per altri sistemi operativi:
♦sc_trans_freebsd
♦sc_trans_macosx.
Il file example.lst è un file lista di esempio. Un file lista per Shoutcast è un file che
contiene dei riferimenti assoluti a dei file MP3, ed è l’unico strumento che può decidere
cosa trasmettere.
Il file sc_trans_Linux è l’applicazione da richiamare per il funzionamento dell’encoder
Shoutcast.
Il file sc_trans.conf è il file di configurazione dell’encoder.
Per fare partire il server, basta aprire un terminale e posizionarsi nella cartella in cui si
trova il server Shoutcast digitando semplicemente ./sc_serv.
Il terminale restituirà questi messaggi:
[Shoutcast] DNAS/Linux v1.9.7 (Jun 23 2006) starting up…
[main] pid: 20433
[main] loaded config from sc_serv.conf
[main] initializing (usermax:32 portbase:8000)…
[main] No ban file found (sc_serv.ban)
[main] No rip file found (sc_serv.rip)
[main] opening source socket
[main] source thread starting
[main] opening client socket
[main] Client Stream thread [0] starting
[main] client main thread starting
listening for connection on port 8001
connected from 127.0.0.1
icy-name:Radio LOL ; icy-genre:genres go here
icy-pub:1 ; icy-br:80 ; icy-URL:http://mygayson.com
icy-irc:Shoutcast ; icy-icq: ; icy-aim:AIMHandle
[main] SIGWINCH; Reloaded Config File
[dest: 207.200.98.4] starting stream (UID: 0)[L: 1]{A: Shoutcast Directory Tester}(P: 0)
[dest: 207.200.98.4] connection closed (0 seconds) (UID: 0)[L: 0]{Bytes: 126078}(P: 0)
[yp_add] yp.Shoutcast.com gave error ()
Il che ricorda moltissimo la finestra del server Shoutcast per sistemi Windows. In più,
rispetto alle schermate di default del server per Windows, vediamo il PID (Process
Identifier) e la gestione dei SIG, ovvero dei segnali che possono essere inviati al server. Il
server tenta numerose volte di collegarsi al Directory tester, non riuscendoci. Questo
succede perché il server è si aperto, ma non c’è nessuna sorgente che trasmetta qualcosa.
Dopo avere inizializzato il server, apriamo l’encoder.
Per farlo basta andare all’interno della cartella contenente l’encoder, e digitare
./sc_trans_Linux. Ottenendo così un risultato non molto incoraggiante, un loop di quello
che sembra essere un errore:
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
[MAIN] Error opening /home/sctrans/content/test_2.MP3, skipped
C’è da premettere che, in questo file, ogni riga che comincia con un punto e virgola è un
commento. Detto ciò, questa prima parte è una presentazione ed un avviso della possibilità
di manipolare più file di configurazione.
; MaxUser. The maximum number of simultaneous listeners allowed.
; Compute a reasonable value for your available upstream bandwidth (i.e. if
; you have 256kbps upload DSL, and want to broadcast at 24kbps, you would
; choose 256kbps/24kbps=10 maximum listeners.) Setting this value higher
; only wastes RAM and screws up your broadcast when more people connect
; than you can support.
MaxUser=32
In questa sezione si setta il nome del file di log. Non mettendo nessun nome in ambiente
*nix non si avrà file di log, mentre non settando una directory si avrà il posizionamento
nella directory corrente.
; RealTime displays a status line that is updated every second
; with the latest information on the current stream (*nix and win32
; console systems only)
RealTime=1
Settando ad 1 questa impostazione si avrà una “status line” con le informazioni sullo
stream in corso, aggiornata ogni secondo. Comoda, sempre utilizzata, ma consuma. Si può
disattivarla impostando 0.
; ScreenLog controls whether logging is printed to the screen or not
; on *nix and win32 console systems. It is useful to disable this when
; running servers in background without their own terminals. Default is 1
ScreenLog=1
Impostazioni di sicurezza in caso di server esterni; disabilita il controllo dei log dallo
schermo, nel pannello di amministrazione avanzato.
; ShowLastSongs specifies how many songs to list in the /played.html
Setta il numero di canzoni che si vedranno nella dietrologia della radio. Ovvero nel file
http://ip:numeroporta/played.html. Si possono settare da 1 a 20 canzoni al massimo.
; TchLog decides whether or not the DNAS logfile should track yp
; directory touches. Adds and removes still appear regardless of
; this setting.
; Default is yes
; TchLog=yes
Come si può vedere, questa opzione è commentata. Essa permette di eliminare nei file di
log i TOUCH che si hanno periodicamente dal server delle pagine gialle di Shoutcast. Se i
file log sono molto lunghi, in caso di trasmissioni continuate può essere comodo togliere
informazioni inutili.
; WebLog decides whether or not hits to http:// on this DNAS will
; be logged. Most people leave this off because the DSP plug-in
; uses http:// calls to update titles and get the listener count,
; which takes up a lot of log space eventually. If you want to
; see people making hits on your admin.cgi or index pages, turn
; this back on. Note that this setting does NOT affect XML stats
; counters for hits to http:// pages.
; Default is no.
; WebLog=no
Anche questa opzione è commentata. Weblog permette di visualizzare nei log anche chi
accede al pannello di amministrazione. È un’opzione disattivata di default. Se si desidera
un controllo maggiore basta abilitarla, ma i log aumenteranno notevolmente di volume.
; W3CEnable turns on W3C Logging. W3C logs contain httpd-like accounts
; of every track played for every listener, including byte counts those listeners
; took. This data can be parsed with tools like Analog and WebTrends, or given
; to third parties like Arbitron and Measurecast for their reporting systems.
; Default is Yes (enabled).
W3CEnable=Yes
Questa opzione abilita il logging W3C, ovvero un log che tiene conto delle canzoni
ascoltate da ciascun ascoltatore, dei byte trasmessi e di altre info, tutte ovviamente in un
formato http-like. È settato a yes di default.
; W3CLog describes the name of the logfile for W3C logging. Default logfile is
; sc_w3c.log, in the same directory wherever the DNAS gets started from.
W3CLog=sc_w3c.log
Questa opzione seleziona l’IP che può trasmettere dal vostro server. Di default è ANY:
ovvero, tutti possono utilizzare il vostro server per streammare. Se viene settato 127.0.0.1
verrà mantenuta la possibilità per tutti di effettuare streaming dal server. Settare un IP
particolare permette di avere una sola fonte possibile di streaming.
; DestIP, IP to listen for clients on (and to contact yp.Shoutcast.com)
; can and usually will be be ANY. If your machine has multiple IP addresses,
; set this to the one you want it to be accessed by.
DestIP=ANY
Al contrario di quello che si crede, questa opzione non permette di selezionare quali client
possono ascoltare, ma seleziona quale IP sarà raggiungibile connettendosi a quel server.
Solitamente si setta ad ANY proprio perché così si ha la possibilità di connettersi a
qualsiasi macchina utilizzi il server. Settarne uno per avere maggiore sicurezza.
; Yport, port to connect to yp.Shoutcast.com on. For people behind caching
; webproxies, change this to the alternate port (666 is what it might be,
; check www.Shoutcast.com if you have problems). Otherwise, leave this at 80.
; We’re actively working on re-opening port 666, but as of release the only
; working port is port 80.
Yport=80
Opzione che indica attraverso quale porta deve connettersi il server per avere contatti con
il sito delle pagine gialle. Attualmente è disponibile soltanto la porta 80.
; NameLookups. Specify 1 to perform reverse DNS on connections.
; This option may increase the time it takes to connect to your
; server if your DNS server is slow. Default is 0 (off).
NameLookups=0
Queste impostazioni sono da decommentare nel caso in cui si voglia fare da relay per
un’altra radio, altrimenti sono da lasciare commentate.
; AdminPassword. This password (if specified) changes the
; behavior of Password to be a broadcast-only password, and
; limits HTTP administration tasks to the password specified
; here. The broadcaster, with the password above, can still
; log in and view connected users, but only the AdminPassword
; will grant the right to kick, ban, and specify reserve hosts.
; The default is undefined (Password allows control for both
; source and admin)
; AdminPassword=adminpass
Questa impostazione permette di creare una password di amministrazione che dia una
maggiore sicurezza a chi deve svolgere attività di ban e di reserve IP nel pannello di
amministrazione avanzato. È commentata (e quindi disabilitata) di default.
; AutoDumpUsers controls whether listeners are disconnected if the source
; stream disconnects. The default is 0.
AutoDumpUsers=0
L’opzione disconnette tutti gli ascoltatori dal server se la sorgente non invia più il flusso
audio. È disattivata di default.
; AutoDumpSourceTime specifies how long, in seconds, the source stream is
; allowed to be idle before the server disconnects it. 0 will let the source
; stream idle indefinately before disconnecting. The default is 30.
AutoDumpSourceTime=30
È una delle opzioni paracadute per tutte le radio che intendano avere un unico server e
molte sorgenti interscambiabili. Questa opzione permette di settare un file di backup con
le stesse modalità del file di intro prima spiegato; al contrario di quello, questo file verrà
trasmesso solo quando la sorgente si disconnette dal server, e viene ripetuto più volte
finché non si ha di nuovo una sorgente. Utilissima opzione se il file MP3 ha un testo del
tipo: “Attendere prego…ci stiamo riconnettendo alla radio”.
; TitleFormat specifies a format string for what title is sent to the listener.
; For example, a string of ‘Justin Radio’ forces the title ‘Justin Radio’ even
; when the source changes the title. You can use up to one ‘%s’ in the string
; which lets you contain the title from the source. For example, if your
; TitleFormat is ‘Justin Radio: %s’, and the source plug-in’s title is
; ‘Billy plays the blues’, then the net title is
; ‘Justin Radio: Billy plays the blues’. Note: only works on non-relay servers.
; The default is no format string.
; TitleFormat=Justin Radio: %s
Questa opzione permette di modellare il formato titoli visualizzato nei player a proprio
piacimento.
; URLFormat specifies a format string for what URL is sent to the listener.
; Behaves like TitleFormat (see above).
; The default is no format string.
; URLFormat=http://www.server.com/redirect.cgi?URL=%s
Opzione che permette di avere o non avere relay per la propria radio.
; AllowPublicRelay, when set to No, will tell any relaying servers not
; to list the server in the Shoutcast directory (non-public), provided
; the relaying server’s Public flag is set to default. The default is
; Yes.
; AllowPublicRelay=Yes; to list the server in the Shoutcast directory (non-public), provided
; the relaying server’s Public flag is set to default. The default is
; Yes.
AllowPublicRelay=Yes
Il programma encoder non fa altro che convertire (codificare) MP3 ai fini di ottenere un
flusso audio ad una frequenza e ad un bitrate settabile, in modo che possa essere
indirizzato ad un server (Shoutcast).
; sc_trans accepts the following signals:
; HUP – flush logfiles (close and reopen) — will make console logging stop
; WINCH – jump to next song
; USR1 – reload playlist off disk (will not interrupt current playing stream)
; USR2 – toggle shuffle on/off
; TERM – normal sc_trans shutdown (clean).
In questa opzione si setta il file che fungerà da playlist. In questo caso, example.lst.
; ServerIP/ServerPort are the target server to send to
ServerIP=myserver.com
ServerPort=8000
Queste opzioni rappresentano l’indirizzo del server da utilizzare. Settare ServerIP con
l’indirizzo IP del server e in ServerPort il numero della porta.
; Password is the password on the sc_serv you’re sending to.
Password=changeme
Oltre che per manifestare la simpatia dei produttori del software, queste opzioni sono utili
per la personalizzazione della vostra radio. Tutto quello che si scrive per le tre opzioni sarà
visibile all’interno del pannello di amministrazione.
; Logfile optionally denotes a text file to log sc_trans to. a kill -HUP
; will force a close and re-open of this file (but will also cease logging to
; the console)
LogFile=sc_trans.log
Modalità random? Si = 1 No = 0.
; Bitrate/SampleRate/Channels recommended values:
; 8kbps 8000/11025/1
; 16kbps 16000/11025/1
; 24kbps 24000/22050/1
; 32kbps 32000/22050/1
; 64kbps mono 64000/44100/1
; 64kbps stereo 64000/22050/2
; 96kbps stereo 96000/44100/2
; 128kbps stere0 128000/44100/2
Bitrate=80000
SampleRate=44100
Channels=1
; Quality is from 1-10. 1 is best, 10 is fastest.
Quality=1
Scegliere se usare (1) o non usare (0) i tag ID3 dei brani MP3 in playlist. Di default no.
; Public determines whether or not this station will show up in the directory
Public=1
Opzione specchio della make this server public su Windows. Se si vuole essere visibili
sulle pagine gialle di Shoutcast basta settare 1. Altrimenti, 0. Di default acceso.
; Put stuff here for user interaction (AOL IM, ICQ, IRC)
AIM=AIMHandle
ICQ=
IRC=Shoutcast
Settare al posto delle opzioni predefinite degli account AIM, ICQ e il canale IRC di
riferimento. Se queste non ci sono il campo può essere lasciato vuoto.
3.5.3. Example.lst
# the playlist contains one line per song file you wish to stream. the paths
# should be absolute.
Ogni file MP3 deve essere espresso da una sola riga all’interno della lista, e il suo
riferimento deve essere assoluto.
# if shuffle is off, the songs will play in order.
Su Linux si può specificare come elemento della playlist direttamente la scheda audio.
Questo permette di utilizzare il server Linux con qualsiasi programma audio, o di
utilizzare strumenti esterni collegati alla line in.
# the playlist ignores the first valid line. Don’t ask why.
# Your playlist must have at least 2 entries. if you only want to stream one file
# over and over again, then list it twice, including DSP sources.
Il file lista ignora la prima riga utile. Questo non è vero se è impostata la modalità shuffle,
ma in caso contrario rappresenta un problema. Per ovviare, basta scrivere due volte in lista
la prima canzone.
# the following 2 lines are sample playlist lines. you should replace them with
# actual MP3 files, being sure to adhere to all the content guidelines set forth in
# the .conf file!
Le due linee dopo queste direttive indicano i file di prova che si trovano ad esempio.
4. Icecast
Icecast è un server di streaming realizzato da Xiph.Org Foundation e rilasciato con licenza
GNU General Public License. Icecast supporta i formati Vorbis e Theora usando il
protocollo HTTP e i formati MP3, AAC e NSV con il protocollo ICY di Shoutcast.
Le piattaforme supportate da Icecast sono:
♦Linux
♦FreeBSD
♦OpenBSD
♦Solaris
♦Windows NT
♦Windows 2000
♦Windows XP.
4.1.1. Icecast.xml
<hostname> - Ip o nome DNS dell’host su cui risiede il server.
<source-password> - password di autenticazione della sorgente
<admin-password> - password di autenticazione all’interfaccia amministrativa
<listen-socket> indica la porta su cui riceve il server.
<logdir> - directory dove verranno posizionati i file di log.
<webroot> - directory per i contenuti non di amministrazione
<adminroot> - directory per i file xslt di amministrazione.
Nella maggior parte dei casi non è necessario cambiare le impostazioni delle cartelle
adminroot e webroot, perché vengono lette soltanto da Icecast, ma Icecast ha la necessità
di creare file nella cartella di log, per cui si può volere settare una particolare cartella.
Una volta modificato il file di configurazione, su Unix il server può essere fatto partire
con il comando Icecast -c /path/to/Icecast.xml.
Se non ci sono messaggi d’errore, allora è utile controllare il file error.log per vedere il
messaggio “server started” che apparirà similarmente così:
[2003-10-31 13:04:49] INFO main/main.c Icecast 2.3.0 server started
♦Authentication
♦Relay settings
♦Logging
♦Security.
4.1.3. Limiti
<limits>
<clients>100</clients>
<sources>2</sources>
<queue-size>102400</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65536</burst-size>
</limits>
4.1.4. Autenticazione
<authentication>
<source-password>hackme</source-password>
<relay-user>relay</relay-user>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
♦Questa sezione contiene tutte le impostazioni per la visualizzazione del flusso all’interno
delle directory di Icecast2. Ci possono essere più copie della sezione directory per
inserimenti contemporanei in più directory.
♦Yp-URL-timeout: rappresenta il massimo valore in secondi che il server Icecast2 aspetterà
prima di chiudere il telefono in faccia ad un server directory che non risponde;
♦Yp-URL: è l’URL del server directory che Icecast tenterà di contattare.
♦Hostname: è il nome del server che fornisce il servizio. Normalmente è un indirizzo IP,
che deve essere accessibile; per cui, meglio evitare di usare localhost;
♦location: indica la posizione geografica del server di streaming;
Questo esempio è il più semplice possibile, estendibile con altri campi, quali ad esempio
<bind-address> per indicare l’indirizzo d’ascolto del server. Il settaggio di questo campo,
essendo non particolarmente utile nella grande maggioranza dei casi, genera spesso molta
confusione. Si può aggiungere anche il campo <ssl>, un flag che informa che il server
utilizzerà una connessione sicura, ad esempio per l’accesso all’interfaccia di
amministrazione.
L’esempio successivo mostra un’estensione della definizione della socket per il
funzionamento delle sorgenti basate su shoutcast. Ci sono due problematiche da risolvere
per le sorgenti shoutcast: la prima è il mountpoint e la seconda è la necessità della seconda
porta (la porta di controllo). Per fare ciò, basta settare dei campi aggiuntivi alla socket.
<listen-socket>
<port>8000</port>
<shoutcast-mount>/live.MP3</shoutcast-mount>
</listen-socket>
Come specificato prima, la porta settata viene allocata, ma questa volta la presenza del tag
<shoutcast-mount> implica la creazione di una seconda socket della quale il numero di
porta è un numero più grande rispetto alla porta definita. Ciò informa Icecast sui
mountpoint che saranno disponibili alle sorgenti shoutcast. Con questo approccio è
possibile permettere a più sorgenti shoutcast di connettersi allo stesso momento.
<shoutcast-mount>/live.nsv</shoutcast-mount>
<!— You may have multiple <listen-socket> elements —>
<listen-socket>
<port>8000</port>
</listen-socket>
<listen-socket>
<port>8001</port>
<shoutcast-compat>1</shoutcast-compat>
</listen-socket>
Possono essere configurate più socket per permettere al server Icecast di rispondere a
richieste su più interfacce di rete e su più porte.
Se non viene specificato un bind address per una particolare socket, allora si utilizzeranno
tutte le interfacce disponibili, compresa IPV6, se presente. Per la maggior parte degli
utenti queste opzioni non rappresentano comunque un interesse.
♦Port: indica la porta TCP utilizzata;
♦bind-address: indica un IP opzionale che può essere usato per indicare una specifica
scheda di rete. Se non viene compilato il campo, tutte le interfacce verranno considerate
al momento della connessione di un client;
♦shoutcast-mount: indica un mountpoint opzionale settabile per essere usato quando un
client shoutcast-compatibile vuole connettersi. La definizione standard è /stream ma può
essere modificata aggiungendo eventualmente anche un’estensione. Definire questo
campo all’interno di una listen-socket permette ad Icecast di capire che questa porta e la
porta seguente devono essere si utilizzano per i client shoutcast-compatibili. Questo
approccio è alternativo allo shoutcast-compat che definisce implicitamente una seconda
socket e permette di specificare socket multiple usando differenti mountpoint per le
sorgenti shoutcast.
♦Shoutcast-mount, se fuori da un gruppo di comandi listen-socket, rappresenta il settaggio
globale del mountpoint da utilizzare;
♦shoutcast-compat: è un flag opzionale che indica quale porta opererà in modalità
shoutcast compatibile. A causa delle grandi differenze tra i protocolli di connessione
delle sorgenti, se si vuole utilizzare uno degli shoutcast dj tools, serve configurare
almeno uno socket come shoutcast compatibile. Quando una socket è settata in questa
modalità, solo sorgenti shoutcast sono abilitate a collegarsi a questa porta. Gli ascoltatori
possono connettersi a tutte le porte definite che non abbiano questo flag. Inoltre, per una
corretta compatibilità con i DSP, si deve definire una socket che abbia come numero
porta un numero meno rispetto alla porta definita come shoutcast-compat. Questo
significa che se si definisce la porta 8001 come shoutcast-compat, allora occorrerà
definire la porta 8000 e questa non potrà essere definita come shoutcast-compat.
4.1.8. Ripetitori
Questa sezione contiene le impostazioni per il relay.
I relay sono implementati usando un sistema pull dove il server che riceve il segnale si
connette al server principale come se fosse un ascoltatore. Ci sono due modalità di
relaying, master server relay oppure specific mountpoint relay.
MASTER RELAY
Un relay master server è supportato soltanto tra server Icecast2 e viene usato per rilanciare
un certo numero di mountpoint da un server Icecast 2 remoto.
<master-server>127.0.0.1</master-server>
<master-server-port>8001</master-server-port>
<master-update-interval>120</master-update-interval>
<master-username>relay</master-username>
<master-password>hackme</master-password>
<relays-on-demand>0</relays-on-demand>
♦username: valore opzionale che imposterà l’username che una sorgente deve usare per
connettersi usando questo mountpoint. Non occorre settare questo valore, tranne nei casi
in cui non si sia sicuri che la sorgente possa essere configurata per inviare un username
diverso da “source”. Se questo valore non è presente, allora l’username è proprio
“source”;
♦password: valore opzionale che setter la password che una sorgente dovrà usare per
connettersi utilizzando questo mountpoint;
♦max-listeners: valore opzionale che setter il numero massimo di ascoltatori che possono
stare contemporaneamente in ascolto;
♦max-listener-duration: valore opzionale che setter la durata massima di una singola
connessione da parte di un ascoltatore. Il componente Auth può sovrascrivere questo
valore;
♦dump-file: valore opzionale che setterà un file dump dello stream che utilizza questo
mountpoint;
♦intro: valore opzionale che specificherà il file che verrà trasmesso ai nuovi ascoltatori al
momento della connessione ma prima della trasmissione del reale flusso audio. Occorre
essere certi che il formato del file matchi esattamente il formato dello stream. Il file
specificato viene caricato all’interno della webroot prima di essere aperto;
♦fallback-mount: questo valore opzionale specifica un mountpoint d’appoggio al quale i
client verranno reindirizzati qualora la sorgente si disconnetta o non trasmetta nel
momento in cui un ascoltatore si connette. Solo un mountpoint opzionale può essere
inserito all’interno di ciascun mountpoint e deve fare riferimento ad un mountpoint
presente sullo stesso server e che trasmetta con lo stesso formato di streaming. Se i
client non possono essere reindirizzati ad un altro mountpoint a causa della mancanza
del parametro fallback-mount, oppure perché il mountpoint d’appoggio non è
disponibile, allora verranno disconnessi. Nel caso in cui un mountpoint d’appoggio
avesse a sua volta un mountpoint d’appoggio si potrebbe configurare un percorso a
cascata, che può avvenire senza problemi e non ha limiti di profondità. Un mountpoint
d’appoggio può indicare un file che è localizzato all’interno della webroot. Questa
opzione è utile per mandare in onda un file preregistrato in caso di problemi con il flusso
audio. Il file si ripeterà finché l’ascoltatore non si disconnette o lo stream torna attivo e
riprende l’ascoltatore. Per convenzione, il formato del file deve coincidere con il
formato dello stream. La mancata coincidenza delle due cose può causare dei problemi
di trasmissione. Da notare che il file d’appoggio non ha una durata massima; per cui, va
posta attenzione alla sua ritrasmissione. I file d’appoggio sono comodi su server slave
ma non su server master, perché impostare un file del genere su un master server
potrebbe consumare un quantitativo di banda spropositato e causare potenziali
disconnessioni;
♦fallback-override: quando viene abilitata, questa opzione permette ad una sorgente o ad
un relay di riportare gli ascoltatori di questo mountpoint all’ascolto della sorgente dal
mountpoint d’appoggio;
♦fallback-when-full: quando questa opzione viene impostata ad 1, si causerà che i nuovi
ascoltatori vengano reindirizzati al mountpoint d’appoggio quando il numero massimo
di ascoltatori viene raggiunto o superato;
♦no-yp (deprecated): questa opzione, obsoleta, previene che il mountpoint si pubblicizzi
sulle pagine gialle del servizio. Il valore di default è 0 così la pubblicizzazione sulle
pagine gialle può avvenire, ma chiaramente si può volerlo impedire. L’opzione è
sostituita da <public>;
♦charset: i formati non OGG, come MP3, spesso non hanno un set di caratteri definito
all’interno dei metadati inviati insieme al flusso. I produttori del software da sempre
hanno assunto che UTF8 sia il set predefinito per la sua compatibilità con molte lingue
tuttavia molte sorgenti assumono come set di caratteri Latin1 o lasciano come seti di
caratteri qualsiasi set definito dalla sorgente. Questa differenza causa un problema ai
server di directory, per cui i produttori adesso assumono Latin1 per gli stream non OGG.
Si può però specificare un set di caratteri diverso tramite questa opzione. Le sorgenti
possono anche specificare un set di caratteri come parametro, se lo desiderano;
♦public: il valore predefinito per questa impostazione è – 1, indicando che deve essere la
sorgente ad indicare se questo mountpoint debba pubblicizzarsi o meno. Impostando 0,
si evita a priori di pubblicizzarsi, mentre impostando 1 si forzerà il server a farlo. Se si
forza la pubblicizzazione si può avere la necessità di inserire dei dati aggiuntivi dato che
il server delle pagine gialle può rifiutare di pubblicizzare un’emittente se da questa
emittente riceve dati troppo esigui;
♦stream-name: settare questa opzione imporrà il nome dell’emittente o del flusso anche se
la sorgente ne specifica uno, anche diverso;
♦stream-description: settare questa opzione imporrà la descrizione dell’emittente o del
flusso anche se la sorgente ne specifica una, anche diversa;
♦stream-URL: settare questa opzione imporrà il nome del sito collegato all’emittente o al
flusso anche se la sorgente ne specifica uno, anche diverso;
♦genre: settare questa opzione imporrà il genere dell’emittente o del flusso anche se la
sorgente ne specifica uno, anche diverso;
♦bitrate: settare questa opzione imporrà il bitrate dell’emittente o del flusso anche se la
sorgente ne specifica uno, anche diverso. Il valore deve essere espresso in Kbps;
♦type: settare questa opzione imporrà il mime type dell’emittente o del flusso anche se la
sorgente ne specifica uno, anche diverso;
♦subtype: settare questa opzione imporrà il sottotipo dell’emittente o del flusso anche se la
sorgente ne specifica uno, anche diverso. Utile ad esempio nel caso di Vorbis/theora,
dove theora è il sottotipo;
♦burst-size: questa opzione permette di definire un burst-size che sovrascrive il valore
principale definito nell’area limits. Questo valore deve essere impostato in bytes;
♦MP3-metadata-interval: questa opzione specifica l’intervallo in bytes che deve
intercorrere tra un invio di metadata e il successive nel caso di stream compatibili con
shoutcast. Si applica soltanto ai nuovi ascoltatori che si connettono a questo mountpoint
e non nel caso in cui questo mountpoint funga in realtà da mountpoint d’appoggio. Il
valore predefinito è il valore del server oppure quello passato da un relay;
♦hidden: abilitando questa opzione si previene che il mountpoint venga mostrato sulle
pagine XSL. Un esempio classico è quando un relay locale viene configurato e non si
vuole fare vedere la sorgente del relay locale;
♦authentication: questa opzione specifica che il mountpoint richiederà l’autenticazione
degli ascoltatori. Attualmente, viene solo supportato uno schema di autenticazione
basato su un file. Gli utenti e le password criptate sono inserite all’interno di questo file,
separate da [:]. Tutte le richieste per questo mountpoint richiederanno l’inserimento di
user e password. Questi valori saranno passati in chiaro via HTTP (ad esempio:
http://user:password@stream:port/mountpoint.ogg). Gli user e le password autorizzate si
modificano tramite l’interfaccia di amministrazione. Un mountpoint configurato con
autenticazione mostrerà una chiave rossa accanto al nome del mountpoint sulle pagine di
amministrazione;
♦on-connect: l’opzione on-connect lancia un programma al momento della connessione
della sorgente. Viene passato un parametro (il nome del mountpoint attivato). Lo stream
non attende che lo script termini l’esecuzione. Questa opzione non è disponibile su
Win32;
♦on-disconnect: l’opzione on-connect lancia un programma al momento della
disconnessione della sorgente. Viene passato un parametro (il nome del mountpoint
disattivato). Lo stream non attende che lo script termini l’esecuzione. Questa opzione
non è disponibile su Win32.
4.2. Impostazioni di percorso
<paths>
<basedir>./</basedir>
<logdir>./logs</logdir>
<pidfile>./Icecast.pid</pidfile>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<allow-ip>/path/to/ip_allowlist</allow-ip>
<deny-ip>/path_to_ip_denylist</deny-ip>
<alias source=“/foo” dest=“/bar”/>
</paths>
Questa sezione contiene i percorsi usati in vari ambiti con Icecat. Tutti i percorsi, tranne
gli alias, non devono terminare con un ‘/’:
♦basedir: questo percorso è utilizzato in abbinamento all’opzione chroot e specifica la
directory di base che è di pertinenza di chroot quando il server viene avviato. Questa
opzione non è implementata per Win32;
♦logdir: questo percorso specifica la directory di base per il logging. Sia il file error.log
che il file access.log saranno creati relativamente a questa directory;
♦pidfile: questo percorso specifica il file da scrivere all’avvio e da rimuovere allo
spegnimento. Il file contiene il process ID del processo Icecast. Può essere usato e letto
per inviare segnali;
♦webroot: questo percorso specifica la directory di base usata per tutte le richieste a file
statici. Questa directory può contenere tutte le tipologie di file standard (inclusi MP3 e
file ogg). Ad esempio se la webroot è settata come /var/share/Icecast2, ed arriva una
richiesta per il file http://server:port/MP3/stuff.mp, allora verrà fornito il file con
percorso /var/share/Icecast2/MP3/stuff.MP3;
♦adminroot: questo percorso specifica la directory di base per tutte le richieste di
amministrazione. In particolare, questa opzione è usata per mantenere gli script XSLT
usati per l’interfaccia web di amministrazione. La directory di amministrazione inclusa
nella distribuzione contiene questi file;
♦allow-ip: se specificata, questa opzione specifica la posizione di un file che contiene una
lista di indirizzi IP che saranno sempre autorizzati a connettersi ad Icecast. Questo può
essere utile nei casi in cui un server master funga esclusivamente da sorgente per dei
server slave. Il formato di questo file è semplice, un IP per riga;
♦deny-ip: se specificata, questa opzione specifica la posizione di un file che contiene una
lista di indirizzi IP che saranno sempre rigettati dal server. Si tratta di una impostazione
di sicurezza. Il format del file è sempre un IP per riga;
♦alias
source=“/foo” dest=“/bar”: gli alias sono usati per creare un modo di avere
mountpoint multipli che si riferiscono ad uno stesso mountpoint.
4.3. Diario di bordo
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<playlistlog>playlist.log</playlistlog>
<loglevel>4</loglevel>
<!— 4 Debug, 3 Info, 2 Warn, 1 Error —>
</logging>
♦loglevel = 1 – Error.
Questa sezione contiene impostazioni di configurazione che possono essere usate per
migliorare la sicurezza di Icecast. Queste opzioni non sono supportate su Win32:
♦chroot: indicatore che specifica se verrà fatto un chroot() quando il server inizia a
funzionare. Il percorso è specificato dalla configurazione di <basedir>;
♦changeowner: questa sezione indica l’user ed il gruppo che amministrano il processo
Icecast quando parte. Questa opzione deve essere impostata con un valido user del
sistema.
4.5. Interfaccia di amministrazione di Icecast 2
Questa sezione contiene informazioni inerenti l’interfaccia di amministrazione di Icecast.
Attraverso questa interfaccia l’utente può modificare moltissime impostazioni del server.
Si possono visualizzare statistiche, trasferire ascoltatori da un mountpoint ad un altro,
disconnettere sorgenti, disconnettere ascoltatori e molte altre attività.
Ciascuna di queste funzioni richiede l’autenticazione http tramite un’appropriata coppia
username e password. Per funzioni specifiche di un mountpoint, si possono usare i campi
<admin-username> e <admin-password> specificati nel file di configurazione di Icecast,
oppure specificati per quel mountpoint.
Per le funzioni generali non legate ad un singolo mountpoint, si devono utilizzare le
credenziali di amministrazione.
4.5.1. Funzioni di amministrazione specifiche per mountpoint
Queste impostazioni di amministrazione sono specifiche per un mountpoint. Ciascuna di
esse richiede che venga specificato un mountpoint come input.
METADATA UPDATE
Questa funzione fornisce l’abilità ad una sorgente o ad una fonte esterna di aggiornare i
metadata per un particolare mountpoint.
http://192.168.1.10:8000/admin/metadata?mount=/
mystream&mode=updinfo&song=ACDC+Back+In+Black
FALLBACK UPDATE
La funzione fallback update fornisce ad una sorgente o ad una fonte esterna l’abilità di
modificare il fallback mountpoint per un mountpoint in particolare.
http://192.168.1.10:8000/admin/fallbacks?mount=/mystream.
ogg&fallback=/myfallback.ogg
LIST CLIENTS
La funzione list clients restituisce una lista dei client attualmente connessi ad uno
specifico mountpoint. I risultati sono forniti in XML.
http://192.168.1.10:8000/admin/listclients?mount=/mystream.ogg
KILL SOURCE
La funzione kill source fornisce la possibilità di disconnettere un particolare mountpoint
dal server. Il mountpoint disconnesso viene specificato tramite la variabile mount.
http://192.168.1.10:8000/admin/killsource?mount=/mystream.ogg
♦public: opzione che indica se il mountpoint corrente è visibile alle pagine gialle di Icecast
(settato dalla sorgente);
♦type: tipologia del flusso.
In questo esempio, la configurazione è settata nel server che ritrasmetterà (slave server). Il
server master in questo caso non deve essere configurato (ed attualmente è ignaro
dell’esistenza del relay). Quando viene fatto partire il server slave, si connetterà al master
localizzato all’indirizzo 192.168.1.11:8001 e comincerà a ritrasmettere tutti i mountpoint
connessi al master server.
Inoltre, ogni master-update-interval (in questo caso 120 secondi), il server slave
interrogherà il master server per vedere se si è connesso qualche nuovo mountpoint e, nel
caso in cui ciò avvenga, verrà ritrasmesso anche quello. I nomi dei mountpoint sul server
slave saranno identici a quelli del server master.
4.7.3. Creare un relay single-broadcast
Nel caso del single-broadcast non è necessario che il server master sia un server Icecast2.
I server supportati per un relaying single broadcast sono Shoutcast, Icecast 1.x e
chiaramente Icecast2. La seguente configurazione è usata come esempio:
<relay>
<server>192.168.1.11</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
In questo esempio la configurazione è settata all’interno del server slave, che ritrasmette il
flusso. Il server master in questo caso non necessita di essere configurato ed è anche
inconscio del relaying.
Quando viene fatto partire, il server slave si connetterà al master localizzato all’indirizzo
192.168.1.11:8001 e comincerà a ritrasmettere solo il mountpoint specificato (nel nostro
caso /example.ogg).
Usando questa tipologia di relay, l’utente può sovrascrivere il nome del mountpoint locale
e cambiarlo a suo piacimento.
Inoltre, se il server master è un server Shoutcast, allora il <mount> deve essere specificato
come “/”. Se si vuole che lo stream proveniente da Shoutcast abbia in sé anche i metadata
(dato che Shoutcast li incorpora nel flusso) allora va settato ad 1 il campo <relay-
shoutcast-metadata>.
4.8. Directory delle pagine gialle di Icecast 2
In generale, nel mondo della radiofonia web, le pagine gialle sono una lista di flussi audio
in trasmissione. Icecast2 ha le sue pagine gialle personali raggiungibili all’indirizzo
http://dir.xiph.org. Attualmente i flussi di un server Icecast2 possono essere listati soltanto
all’interno di directory compatibili con il server Icecast2. Questo implica che non è
possibile inserire un flusso di Icecast2 all’interno delle pagine gialle di Shoutcast. Nel file
di configurazione di Icecast2 sono attualmente presenti tutti i server di pagine gialle
disponibili. Inserire il proprio flusso all’interno delle pagine gialle è fattibile tramite una
combinazione di impostazioni nel file di configurazione di Icecast ed anche all’interno
della sorgente.
4.8.1. Configurare Icecast2 per il supporto pagine gialle
Per prima cosa, Icecast deve essere stato compilato con il supporto alle pagine gialle.
Questo avviene di default se la libreria libcURL è installata. Se libcURL non viene trovata
all’interno del sistema al momento della compilazione, allora non ci sarà supporto alle
pagine gialle. Se il supporto alle pagine gialle è presente, la seguente configurazione
permetterà il controllo delle impostazioni di directory.
<directory>
<yp-URL-timeout>15</yp-URL-timeout>
<yp-URL>http://dir.xiph.org/cgi-bin/yp-cgi</yp-URL>
</directory>
Possono essere inserite più porzioni simili di XML per effettuare inserimenti del flusso
all’interno di più di un gruppo di pagine gialle.
4.8.2. Configurazione per il supporto pagine gialle
La sezione per la configurazione per il supporto pagine gialle è spesso inserita all’interno
della documentazione delle sorgenti. Più specificatamente, la sorgente ha bisogno di
settare l’header HTTP ice-public:1 al momento della connessione per abilitare la
visualizzazione del flusso sulle pagine gialle. Se un mountpoint è inserito all’interno delle
pagine gialle, si potranno vedere alcune statistiche addizionali come il last-touch, o la
canzone corrente.
4.9. Autenticazione dell’ascoltatore Icecast 2
L’autenticazione dell’ascoltatore è un’opzione di Icecast che consente di rendere sicuro un
mountpoint, in modo tale che per ascoltare si debba passare un test di verifica. Con questa
opzione è possibile creare una semplice radio pay-per-play, con user e password, oppure
un filtraggio in base alla connessione dell’ascoltatore. Questa sezione mostra le
impostazioni basilari di questo componente.
Per definire l’autenticazione dell’ascoltatore, un gruppo di tag sono specificati all’interno
del gruppo <mount>, relativamente al mountpoint. Questo implica che l’autenticazione si
può applicare sia ai master server che agli slave.
I meccanismi di autenticazione applicabili sono i seguenti:
♦HTPASSWD: si cerca un particolare file per verificare il matching di username e
password;
♦URL: richiesta via web per il matching di user e password.
Per supportare l’autenticazione degli ascoltatori si devono creare almeno i campi <mount-
name> e <authentication>. Il mount-name è il nome del mountpoint che verrà utilizzato
per connettere la sorgente, mentre authentication configura il tipo di autenticazione
Icecast2 da utilizzare. Attualmente è implementata soltanto una tipologia di htpasswd.
Presto ne verranno aggiunte altre. Ciascun autenticatore ha un numero variabile di opzioni
richieste; queste sono specificate come nell’esempio.
L’autenticatore htpasswd richiede alcuni parametri. Il primo, filename, specifica il nome
del file da utilizzare per immagazzinare gli utenti e le password. Si noti che questo file non
esiste e probabilmente non esisterà finche non viene settato. Icecast ha un supporto nativo
per il management degli user e delle password tramite l’interfaccia web di
amministrazione. La seconda opzione, allow_duplicate_users, se settata a 0, impedirà
connessioni multiple utilizzando lo stesso username. Settare questa opzione ad 1
permetterà connessioni multiple con lo stesso username su un dato mountpoint. Non c’è
un modo per specificare un numero massimo di connessioni per lo stesso username sullo
stesso mountpoint.
Icecast supporta l’utilizzo di flussi che richiedono l’autenticazione dell’ascoltatore ed altri
che non lo richiedono. Soltanto i mountpoint che sono inseriti all’interno del file di
configurazione possono essere impostati per l’autenticazione dell’ascoltatore.
4.9.2. Configurazione di user e password
Una volta che le opportune righe sono state inserite all’interno del file di configurazione,
si deve connettere la sorgente (utilizzando il mountpoint inserito nel file di
configurazione). Per configurare user e password per questo flusso si deve usare
l’interfaccia web di amministrazione, raggiungibile dall’indirizzo
http://server:ip/admin/stats.xsl. Se tutto è configurato correttamente comparirà una finestra
simile a quella indicata nella figura 4.1.
Questa finestra mostra tutti gli user configurati per questo mountpoint. Aggiungere user è
semplice: basta inserire user e password nei campi e cliccare su “Add New User”. Gli
username devono essere univoci e non ci sono restrizioni sulle password. Si possono
cancellare utenti cliccando sul link di cancellazione accanto a ciascun utente.
4.10. Conclusioni
Gli utenti effettuano il login tramite un form realizzato dagli sviluppatori per lo scopo. La
pagina raggiungibile all’indirizzo http://server:port/auth.xsl contiene un form che gli utenti
possono utilizzare per loggarsi.
Questa pagina restituirà un file m3u con username e password e, nella maggior parte dei
casi, questo file verrà aperto dal media player adatto all’ascolto della radio.
4.10.1. URL
Autenticare ascoltatori tramite il metodo URL implica che Icecast invii richieste ad un
server web e controlli gli header di risposta quando un ascoltatore si connette. Se un certo
header ritorna indietro, allora l’ascoltatore è autorizzato all’ascolto; altrimenti viene
inviato un errore all’utente. L’URL specificato invocherà alcuni script del server web per
eseguire qualsiasi operazione richiesta.
Tutto quello che è richiesto al linguaggio di scripting è che l’informazione POST possa
essere gestita e gli header di risposta possano tornare indietro. Viene utilizzata la libreria
libcURL per le richieste, in modo che le connessioni https possano essere possibili;
bisogna tuttavia fare attenzione all’overhead aggiuntivo.
L’useragent inviato in ciascuna richiesta della libcURL rappresenterà la versione di
Icecast. L’header in risposta dipenderà dall’accettazione o meno dell’ascoltatore. In caso
di rifiuto, un header di risposta del tipo:
Icecast-auth-message: motivo verrà restituito per l’inserimento nei logfile.
MOUNT_REMOVE
L’indirizzo mount_remove informa l’auth server che un flusso ha smesso di funzionare.
Non sono passate informazioni dell’ascoltatore, esattamente come mount_add:
action=mount_remove&mount=/live&server=myserver.com&port= 8000
Questa sintassi è simile all’opzione add; la differenza consiste nella durata, che viene
passata riflettendo il numero di secondi di connessione del client che sta andando via.
AUTH_HEADER
L’header di risposta che ci si attende venga restituito quando si deve autorizzare
l’autenticazione può essere indicato con auth_header.
L’impostazione di default è Icecast-auth-user: 1 ma può essere variato a piacimento; ad
esempio, HTTP 200 OK.
TIMELIMIT_HEADER
Gli ascoltatori possono avere imposto un tempo limite di ascolto e, se l’header
timelimit_header viene restituito con una figura (che rappresenta i secondi), allora
indicherà per quanto tempo ancora si resterà connessi.
Non si è a conoscenza di una lista esaustiva di player che supportino l’autenticazione
dell’ascoltatore. Gli sviluppatori usano un’autenticazione standard HTTP ed in generale
molti player la supportano. Winamp e Foobar2000 supportano questa modalità di
autenticazione su Windows ed XMMS fa lo stesso su Unix. Winamp ed XMMS
supportano anche il passaggio di parametri; altri player potrebbero farlo a loro volta.
4.11. Documentazione specifica per Win32
La versione per Windows di Icecast2 non è altro che un semplice framework attorno al
cuore del server Icecast2. La versione per Windows a 32 bit di Icecast2 usa direttamente
l’eseguibile di Icecast ed una interfaccia grafica. La maggior parte delle peculiarità di
Icecast2 è disponibile all’interno della versione per Windows. Un’assenza notevole è il
supporto IPV6.
4.11.1. Server status tab
Il tab server status contiene informazioni inerenti le statistiche complessive per l’intero
server. Ci sono due tipi di statistiche su Icecast2: a livello di sorgente e le statistiche
globali. Le statistiche globali sono statistiche cumulative di tutte le sorgenti offerte dal
server. Le statistiche a livello di sorgente sono invece statistiche che si riferiscono ad una
singola sorgente connessa al server.
Esempio di statistiche globali:
♦il numero di sorgenti connesse
Il tab server status contiene le informazioni sulle statistiche globali del server. Si possono
inoltre aggiungere a questo tab statistiche specifiche di sorgente. L’intento degli
sviluppatori è quello di fornire una visione d’insieme di quello che succede al server.
4.11.2. Aggiungere statistiche alla finestra
Qualsiasi statistica contenuta all’interno del tab server status può essere visualizzata come
titolo della finestra di Icecast2. Questo è un altro meccanismo per vedere le attività sul
server. Per abilitare questa opzione, fare click col tasto destro su qualsiasi statistica
all’interno del tab, come mostrato nella figura 4.4.
Le differenze tra le tre tipologie riguardano sia la persona (fisica o giuridica) che registra
l’apposito contratto, che i costi e le regole da seguire.
5.1. Art. 1 – Definizioni
Ai fini di questa Licenza valgono le seguenti definizioni:
a) Per “Webcasting” si intende sia la diffusione di servizi originali, che la ridiffusione on line non in simultanea
dei programmi di soggetti esercenti l’attività di emittenti radiofoniche o televisive via etere, via filo, via cavo o
via satellite, senza che il Licenziatario consenta la riproduzione dei file su alcun apparecchio di riproduzione. Agli
utenti è reso possibile ascoltare tali diffusioni in tempo reale e solo in via temporanea.
La frase “senza che il licenziatario consenta la riproduzione dei file su alcun apparecchio
di riproduzione” si presta a diverse interpretazioni. Probabilmente la SIAE intende
comunicare che il Licenziatario deve solo fare ascoltare la web radio dal sito Internet
indicato e non da web autoradio oppure da dispositivi mobili; tuttavia, questo è
particolarmente complesso da garantire.
b) Per “Web Radio” si intende il sito o la sezione di portale o di sito che mette a disposizione dell’utente in
modalità streaming, le opere musicali ai soli fini di una programmazione predefinita, senza possibilità per l’utente
stesso di richiedere l’ascolto di una determinata opera o di una successione di opere a sua scelta e senza possibilità
di interagire in alcun modo con le programmazioni offerte. Qualora i contenuti e l’eventuale parte grafica della
Web Radio siano accessibili in modo simultaneo ed inalterato attraverso apparecchi mobili ovvero attraverso
un’applicazione che abilita all’ascolto della Web Radio, tali ulteriori utilizzazioni si intendono comprese in questa
definizione.
La SIAE identifica la web radio con un sito, ma in realtà una web radio non lo è. “Web
radio” è una tecnologia che sfrutta i siti Internet per la promozione e l’ascolto, ma può
anche essere ascoltata direttamente dal server di streaming e non necessariamente tramite
il browser; ciononostante la SIAE considera imprescindibile la web radio dal sito Internet.
Ovviamente è presente una differenza tra streaming e contenuti on demand.
c) Per “Web Radio Aziendale” si intende la Web Radio o il Sito in cui il player è collocato, di cui è titolare un
soggetto, che non sia operatore della comunicazione e in particolare un operatore di radiodiffusione o di
comunicazione elettronica, che promuove beni o servizi relativi alla sua attività commerciale o professionale.
Se si suppone che ogni ascoltatore della web radio passi dal sito Internet collegato, il
numero delle pagine viste diventa un fattore importante; normalmente non si tratta di un
dato affidabile perché esistono web radio con migliaia di ascoltatori che non passano dal
sito di riferimento ma che ascoltano la radio direttamente dal server di streaming.
g) Per “Pagineviste al mese” (“PAVM”) si intende il numero medio di Pagine Web del Sito visitate dagli utenti nel
corso di un mese.
h) Per “Subscription models” si intendono i modelli di business che prevedono il pagamento da parte degli utenti
finali di un canone di abbonamento (anche sotto forma di carte a scalare prepagate, quote associative, contributi di
qualsiasi genere o simili) per usufruire in tutto o in parte del Servizio di Pagina Web all’interno del Sito.
Si tratta della definizione di premium area o di sezione del sito visitabile solo previo
pagamento in qualsivoglia forma.
i) Per “Introiti Lordi Annui” si intendono, al netto dell’IVA, le seguenti entrate del Licenziatario:
I) i corrispettivi pagati dall’utente finale per l’accesso o la fruizione della Web Radio;
Questa definizione vale nel caso di web radio con contenuti a pagamento.
) i corrispettivi percepiti dal Licenziatario, direttamente od indirettamente attraverso altra persona fisica o
II
giuridica, per la presenza di pubblicità di qualsiasi genere nella Web Radio e nel Sito in cui il player è collocato;
In base a quanto scritto, gli introiti pubblicitari per servizi come il pay per click
costituiscono una rendita per il titolare del sito che può impedire l’inserimento di una web
radio all’interno di una categoria economicamente più vantaggiosa.
) i corrispettivi percepiti dal Licenziatario a fronte di un contratto di sponsorizzazione per la cui esecuzione degli
III
Se si baratta un oggetto per un jingle audio all’interno della web radio, tale oggetto verrà
valutato come introito.
VI) i compensi di qualsiasi genere versati da terzi al Licenziatario per consentire a determinate categorie di utenti
finali di accedere gratuitamente alla Web Radio, ivi comprese le apposite applicazioni scaricabili su telefoni
mobili o altri apparecchi di ricezione e/o riproduzione;
Nel caso in cui si volesse guadagnare creando una app a pagamento per fare ascoltare la
web radio tramite smartphone, questi introiti non permetteranno di stipulare un contratto
di licenza amatoriale.
VII )ogni altro compenso derivante da, o collegato alle opere musicali presenti nella Web Radio, non rientrante nelle
precedenti tipologie, anche sotto forma di revenue sharing o condivisione di ricavi con soggetti terzi fornitori di
servizi (quali servizi di televoto, messaggistica a pagamento, numeri telefonici tariffati, servizi interattivi).
In realtà, una web radio non contiene gli MP3 trasmessi all’interno del sito che dovrebbe
ospitare la pagina web di pertinenza della radio. La definizione di link è corretta, ma non
si tratta certo di una struttura molto comune di web radio. Anche se la web radio fosse
browser driven, il sito che ospita i file può essere un sito come spreaker dal quale parte il
flusso per la web radio definita dal contratto, che ha come punto di aggregazione il sito
indicato.
p) Per “Sito Web” o “Sito” si intende il sito sul World Wide Web registrato con un nome di dominio, raggiungibile
attraverso il protocollo http e accessibile attraverso un indirizzo IP ed un URL (Uniform Resource Locator).
Si possono utilizzare le opere tutelate dalla SIAE, ma soltanto per il sito Internet indicato
nel modulo da compilare.
5.3. Art. 3 – Diritti Concessi
3.1 Con questa Licenza, in base ai poteri di amministrazione che le sono stati conferiti dai suoi associati e
mandanti, la SIAE autorizza in via non esclusiva il Licenziatario, alle condizioni e con i limiti di seguito
specificati, a:
a) registrare, direttamente o avvalendosi dell’attività di terzi, le opere appartenenti al repertorio musicale
amministrato dalla SIAE;
b) riprodurre, tramite caricamento dei relativi file all’interno di una banca dati digitale, gestita dal Licenziatario o
da terzi, le registrazioni e le riproduzioni delle opere di cui sopra (c.d. uploading) ad uso esclusivo della Web
Radio oggetto di questa Licenza;
c) mettere tali opere a disposizione del pubblico, in modalità webcasting audio (flusso continuo) per il solo uso
privato e personale in maniera che ciascun utente possa avervi accesso dal luogo e nel momento scelti
individualmente (diritto di comunicazione).
Attenzione al comma C dell’articolo 3 comma 1: è molto importante.
Si tratta di uso privato e personale. Sono quindi escluse tutte le web radio cosiddette In-
Store che hanno una licenza a parte.
3.2 La presente Licenza non consente la fornitura di servizi musicali personalizzati customerizzati e simili, né
l’inserimento di avvisi e pubblicità targettizzati in funzione di pubblici esercizi quali, a titolo di esempio non
esaustivo, supermercati, gallerie commerciali, alberghi, negozi, istituti bancari, stazioni ferroviarie, scali
aeroportuali, fiere e mostre. Non sono inclusi inoltre i servizi resi a pagamento o gratuitamente a favore di attività
commerciali o imprenditoriali (c.d. Business to Business). Per lo svolgimento di questi servizi dovrà essere
richiesto alla SIAE altro tipo di licenza, che sarà rilasciata a condizioni diverse da quelle previste dalla presente.
Quanto sopra riportato non fa che confermare che sono escluse le web radio In-Store.
3.3 La presente Licenza è limitata alla Web Radio indicata nell’apposito Riepilogo di Richiesta di Licenza e non
copre la comunicazione e la messa a disposizione del pubblico delle opere a mezzo di link a tale Sito si effettua da
parte di altri siti, i cui titolari dovranno ottenere a tal fine una distinta e specifica licenza della SIAE.
Supponiamo che un titolare di un sito Internet voglia fare ascoltare dal suo sito una web
radio a lui particolarmente cara. Per farlo deve pagare una licenza AWR, anche se la web
radio non è sua e la web radio ne sta pagando una a sua volta.
3.4 In assenza di preventivi accordi formalizzati per iscritto con la SIAE, è espressamente vietato per il
Licenziatario trasferire o cedere a terzi, sotto qualsiasi forma, uno qualsiasi dei diritti acquisiti o delle obbligazioni
assunte con questa Licenza. Qualora il Licenziatario non rispetti tale divieto il contratto di Licenza si intenderà
risolto, previa comunicazione della SIAE espressa nei termini di legge.
Si può utilizzare qualsiasi brano tutelato dalla SIAE nel momento della validità della
licenza.
4.2 Nel repertorio della SIAE rientrano anche le opere create o pubblicate durante il periodo di validità di questa
Licenza e le opere degli autori per le quali la SIAE, a seguito di contratti di rappresentanza sottoscritti con società
d’autori straniere o di accordi raggiunti con altri aventi diritto, ha ricevuto il mandato di provvedere
all’amministrazione dei diritti oggetto di questa Licenza. L’elenco delle società d’autori straniere che alla data
della sottoscrizione di questa Licenza hanno concluso contratti di rappresentanza con la SIAE è consultabile nel
sito della SIAE all’indirizzo http://www.siae.it/rapporti.asp#doc. A fini di mera consultazione, secondo termini e
condizioni ivi previsti, è altresì disponibile nel sito stesso la ricerca di opere musicali presenti nell’archivio della
SIAE.
Anche moltissimi brani stranieri sono utilizzabili, perché le società come SIAE in Italia,
SGAE in Spagna o RIAA in America, sono “consorelle”; pagarne una equivale a pagare le
altre.
4.3 Salvo quanto previsto al successivo art. 7 (Riserva degli aventi diritto), la SIAE conferma di essere nella
condizione di rilasciare questa Licenza e di ricevere i relativi pagamenti per conto dei suoi associati e mandanti.
Qualora il Licenziatario informi la SIAE di aver ricevuto da un terzo una contestazione sull’utilizzo di opere
oggetto della Licenza, la SIAE si adopererà per assistere il Licenziatario nella soluzione del caso.
Qualora si vogliano leggere questi articoli, si può consultare la legge sul diritto d’autore.
6.2 È escluso dal campo di applicazione di questa Licenza e resta nella piena disponibilità dei suoi titolari ed
espressamente riservato il diritto di elaborazione di cui all’art.18 della L.D.A. Non sono quindi consentiti gli
adattamenti, le traduzioni e qualsiasi modifica delle opere musicali, compresa quella delle sole parole, che non
siano stati espressamente autorizzati dai titolari dei diritti.
Per le web radio vige il principio secondo il quale gli autori dei brani che si è autorizzati a
trasmettere possono decidere in qualsivoglia momento di impedire la trasmissione dei loro
brani alle web radio; in questo caso bisogna rendersene conto autonomamente.
7.2 Analogamente, qualora la SIAE riceva disdetta di accordi di rappresentanza o di agenzia relativi a repertori
controllati da titolari di diritti non suoi associati e/o amministrati da società di autori straniere, la SIAE
comunicherà al Licenziatario l’esclusione del repertorio, indicandone la decorrenza conformemente alla disdetta
ricevuta.
Il tempo per escludere l’autore o i brani dal repertorio trasmesso è quantificato in cinque
giorni.
5.8. Art. 8 – Limiti della licenza
8.1 Qualsiasi diritto o modalità di utilizzo delle opere amministrate dalla SIAE diversi da quelli previsti dall’art. 3
di questa Licenza sono espressamente esclusi. In particolare restano escluse da questa Licenza, e sono soggette ad
apposita, distinta autorizzazione preventiva della SIAE, le seguenti attività:
Niente che non sia il canale web radio; è soprattutto escluso il mobile.
8.2 Questa Licenza non consente l’ulteriore comunicazione al pubblico e/o distribuzione delle opere a terzi, in
qualsiasi forma e modo, da parte degli utenti finali.
La SIAE ricorda che l’oggetto della licenza non riguarda altro che il canale unico web
radio. +
8.3 Il Licenziatario si impegna a chiarire negli spazi visivi della Web Radio, e comunque con modalità adeguate,
in modo facilmente accessibile al pubblico, che la diffusione è destinata al solo uso privato e personale e che è
vietato qualsiasi diverso atto di utilizzazione delle opere (reimmissione in rete, comunicazione al pubblico,
pubblica esecuzione, riproduzione in copie, prestito, noleggio, condivisione con terzi).
Occorre fare notare all’utenza che la web radio si può ascoltare esclusivamente in modo
privato.
8.4 Non sono compresi tra i diritti d’autore oggetto di questa Licenza quelli non amministrati dalla SIAE per i
quali il Licenziatario è tenuto ad ottenere preventivamente l’autorizzazione dei rispettivi titolari.
La SIAE tutela solo i suoi associati. Questo è il motivo per cui chi non trasmette musica
tutelata dalla SIAE non è tenuto ad alcun pagamento.
8.5 Non sono compresi nell’oggetto di questa Licenza, in quanto non affidati alla tutela della SIAE, i diritti
connessi all’esercizio del diritto di autore, ed in particolare quelli specificamente indicati qui di seguito e
spettanti:
Questo ambito riguarda altre società, come ad esempio la Società Consortile Fonografici.
b) agli artisti interpreti o esecutori per l’utilizzazione delle loro prestazioni artistiche, rese dal vivo o fissate su
disco o su altri apparecchi analoghi riproduttori di suoni o di voci (articoli 73 e 73 bis e da 80 a 85 bis L.D.A.);
Pagare non significa aver la totale copertura per la violazione dei diritti dei danti causa.
5.9. Art. 9 – Utilizzazioni pubblicitarie
Fermo quanto previsto dal precedente art. 8 di questa Licenza, il Licenziatario è tenuto ad ottenere direttamente il
preventivo espresso consenso degli aventi diritto, autori ed editori, per qualsiasi uso delle opere a fini pubblicitari,
ed in particolare per il loro inserimento in spot pubblicitari o per l’abbinamento o l’associazione permanente tra
opere musicali e immagini fisse o in movimento con contenuto pubblicitario o tra una determinata composizione e
un determinato messaggio o campagna promozionale o pubblicitaria (c.d. diritto di sincronizzazione). Sono
esclusi dall’obbligo del preventivo consenso i messaggi di utilità sociale. Senza la specifica autorizzazione degli
aventi diritto, autori ed editori, non è pertanto consentita l’utilizzazione delle opere musicali nel contesto di
campagne pubblicitarie, si effettua anche su altri media, per la promozione della Web Radio.
Non si può fare pubblicità per terzi o per la web radio utilizzando opere dell’ingegno
anche tutelate dalla SIAE stessa in modo automatico. Occorre chiedere direttamente il
permesso agli autori.
5.10. Art. 10 – Inizio, cessazione, variazione di attività. Menzioni e informazioni
obbligatorie
10.1 Il Licenziatario si impegna a comunicare alla SIAE tempestivamente, comunque non oltre 30 giorni, ogni
eventuale modifica e variazione sopravvenuta utile ai fini della categoria della Web Radio e tutte le altre
informazioni rilevanti per la determinazione dei compensi ai sensi della presente Licenza. In caso di omessa
comunicazione della variazione, per tutta la durata dell’omissione il Licenziatario è tenuto a pagare la tariffa più
alta tra quella dovuta ai sensi della precedente dichiarazione e quella effettivamente applicabile a seguito della
comunicazione o dell’accertamento della variazione. Sono altresì applicabili le penali previste dall’art. 16 della
presente Licenza.
Se la web radio varia alcuni parametri (ad esempio esce dai canoni della web radio
istituzionale e deve essere catalogata come commerciale, oppure il sito cambia URL) lo si
deve comunicare tempestivamente.
10.2 Qualora il Licenziatario decida di cessare il Servizio anticipatamente, rispetto alla scadenza prevista dall’art.
20 della presente Licenza, ne darà comunicazione scritta alla SIAE a mezzo e-mail con avviso di ricevimento a
webradio.multimedia@siae.it. Dalla data di ricevimento questa Licenza cesserà di avere efficacia e, in tal caso, il
Licenziatario dovrà cessare ogni utilizzo delle opere oggetto di questa Licenza al più tardi alla scadenza del
periodo tariffario in corso. In mancanza di tale comunicazione, il Licenziatario sarà tenuto alla corresponsione dei
compensi trimestrali previsti da questa Licenza fino alla data dell’effettiva comunicazione alla SIAE, la cui
efficacia non potrà avere valore retroattivo. Resta inteso che le somme versate dal Licenziatario con riferimento
all’intero periodo di validità della Licenza, potranno essere definitivamente acquisite dalla SIAE a titolo di
indennizzo per l’anticipato recesso.
Non pubblicare sulla homepage del sito della radio il numero di licenza implica
un’inadempienza contrattuale.
5.11. Art. 11 – Link tra il sito del Licenziatario e i siti di terzi
11.1 La Licenza è concessa esclusivamente per la Web Radio del Licenziatario.
11.2 Questa Licenza copre i materiali provenienti da siti di terzi, mediante link o in qualsiasi altro modo, soltanto
a condizione che detti siti siano oggetto di una separata licenza.
Sebbene risulti un punto controverso, la SIAE richiede di controllare le fonti terze, che
sono coperte solo se titolari di una separata licenza.
11.3 In caso di Link della Web Radio a siti privi di separata licenza, il Licenziatario risponderà in solido con i
titolari di tali siti degli obblighi relativi all’uso di opere del Repertorio della SIAE.
Come espresso prima, la SIAE richiede un controllo d’utilizzo da parte di terzi della web
radio, equiparandola ad un sito Internet.
11.4 Il Licenziatario riconosce espressamente che per l’uso di opere musicali diffuse dalla sua Web Radio da parte
di siti di terzi, mediante Link o in qualsiasi altro modo, quale ad esempio un player incorporato a mezzo di una
qualsiasi forma di embedding, pop up, finestra di apertura automatica o simili, deve essere ottenuta dai terzi
un’apposita e distinta licenza della SIAE. Il Licenziatario si impegna a indicare esplicitamente tale obbligo ai
terzi.
Si conferma la necessità di informare l’utenza che per l’autonoma diffusione della web
radio di terze parti serva una licenza AWR.
11.5 La responsabilità solidale eventualmente derivante dall’inadempimento degli obblighi di cui ai commi
precedenti è esclusa solo a condizione che il Licenziatario non sia intervenuto nella selezione delle opere, non sia
a conoscenza dell’illiceità del sito altrui, non abbia ottenuto dall’operazione alcun beneficio economico o
commerciale diretto o indiretto e rimuova il Link da o verso il sito non munito di licenza entro 48 ore dalla
richiesta scritta in tal senso da parte della SIAE.
I link in entrata e in uscita con terze parti non vincolate da un contratto con SIAE devono
essere rimossi, se richiesto, in 48 ore.
5.12. Art. 12 – Utilizzazione di altri repertori tutelati dalla SIAE
12.1 Il Licenziatario si impegna a richiedere alla SIAE le autorizzazioni necessarie in tutti i casi in cui intenda
utilizzare anche opere appartenenti al repertorio delle altre Sezioni della Società (Lirica, DOR, OLAF). Le opere
comprese nei repertori delle Sezioni Lirica, Dor e Olaf sono indicate nel Regolamento Generale della SIAE,
pubblicato nel sito www.siae.it.
La licenza non prevede l’utilizzo di brani di sezioni della società come Lirica, DOR o
OLAF (ad esempio la Sezione OLAF amministra i diritti relativi alle opere letterarie)
quindi, soltanto audio.
5.13. Art. 13 – Tipologie di Web Radio e calcolo dei compensi
13.1 Il Licenziatario corrisponderà come corrispettivo per l’utilizzazione del Repertorio della SIAE i compensi
determinati in percentuale sugli Introiti Lordi annui della Web Radio, individuati a norma dell’art. 1 della Licenza
e nella misura indicata nelle sottostanti tabelle:
A scanso di equivoci, la SIAE precisa che chiunque può creare una web radio
commerciale e rientra nella suddetta categoria, tranne nei casi in cui si verifichino le
condizioni espresse dalle altre tipologie di web radio. Nei casi di web radio aziendali, si
passa automaticamente al commerciale anche senza introiti. Ricordiamo inoltre che le web
radio In-Store non si possono costituire tramite questa licenza ma con una licenza
apposita.
I costi sono quelli espressi in figura 5.11.
Le web radio commerciali vanno aperte solo nel caso in cui esse ricavino (da diverse
possibili fonti di reddito, sia dal sito sia dal flusso audio o da sponsorizzazioni) più di
3000 euro annui. Si parla infatti di introiti lordi. Se questa quota non viene raggiunta, si è
obbligati alla licenza di web radio commerciale solo se ad aprirla è un’azienda. Le
aliquote sono molto chiare. Ci si devono porre due domande per quantificare il costo
trimestrale:
1) quantità di musica trasmessa dalla web radio nelle 24 ore, se più o meno del 25% o più
o meno del 75%;
2) numero di visualizzazioni del sito.
Se, ad esempio, si tratta di una web radio commerciale che trasmette molta musica e non
ha 100mila visualizzazioni mensili, pagherà il 7% di aliquota sugli introiti dichiarati, ed in
ogni caso mai meno di 500 euro ogni 3 mesi, ovvero minimo 2000 euro annui + IVA
Il Licenziatario si impegna a comunicare alla SIAE gli Introiti Lordi annui della Web Radio con il modulo
Allegato n. 1. Tali Introiti potranno essere accertati dalla SIAE in base ai dati del bilancio consuntivo o della
dichiarazione IVA o ad altra idonea documentazione contabile.
È fatta salva in ogni caso l’applicazione di un compenso minimo trimestrale determinato con i criteri di cui alla
precedente tabella. Tale compenso, da versare anticipatamente con cadenza trimestrale, è considerato quale
acconto delle maggiori somme eventualmente dovute applicando le aliquote percentuali.
Le web radio commerciali devono presentare una specie di dichiarazione dei redditi in cui
indicano i loro introiti e versano un conguaglio nel caso in cui l’aliquota sia superiore alla
quota minima garantita prestabilita dai parametri.
5.13.2. Web radio istituzionali e/o comunitarie
Sono inserite in questa categoria tariffaria le Web Radio di istituzioni pubbliche ed enti
locali e le Web Radio appartenenti ad associazioni riconosciute o non riconosciute,
fondazioni e ONLUS, caratterizzate dall’assenza dello scopo di lucro e dall’essere
espressione di particolari istanze culturali, etniche, politiche e religiose.
Non è necessario che l’associazione sia iscritta alla camera di commercio per potere
stipulare un contratto AWR istituzionale.
I costi sono riportati nella figura 5.22.
Figura 5.2. Tabella dei prezzi per web radio istituzionali
Si passa da un minimo (poche visite, poca musica nelle 24 ore) di 660 euro + IVA annui
fino ad un massimo di 1500 euro + IVA annui (molte visite, molta musica).
5.13.3. Web radio personali
Sono inserite in questa categoria tariffaria le Web Radio a carattere amatoriale presenti in Siti che appartengono a
persone fisiche, privi di introiti diretti o indiretti e di qualsiasi finalità commerciale, anche indiretta. In particolare,
non è qualificabile come Web Radio personale un Sito web che abbia link, redirect o reindirizzamenti a servizi
commerciali o a promozioni di qualsiasi genere o che sia riferibile o accessorio rispetto a marchi, brand,
operazioni o attività estranee o collaterali alla web radio stessa.
♦nessun tipo di introito riscontrabile sul sito (niente payperclick, payperlink) o sul flusso
audio (niente rotazioni pubblicitarie).
Se la radio rientra in questa tipologia si pagheranno 400 euro + IVA annui in un’unica
soluzione anticipata.
13.2 Qualora la licenza non venga richiesta prima dell’inizio dell’attività, sarà comunque dovuto il compenso per
l’intero periodo di attività precedente alla sottoscrizione o il maggior periodo risultante dai controlli effettuati,
nonché un compenso supplementare pari al 20% dell’importo così calcolato.
13.3 Resta inteso che, se a seguito di controlli effettuati dalla SIAE, l’attività svolta o gli Introiti Lordi annui
conseguiti dal Licenziatario non risultino conformi a quanto dichiarato, il Licenziatario è tenuto a corrispondere i
compensi dovuti in base alle tariffe della SIAE effettivamente applicabili.
5.14. Art. 14 – Estensione della Licenza all’offerta degli stessi contenuti su Social
Network (sperimentale)
Qualora intenda offrire a titolo gratuito gli stessi o parte degli stessi contenuti presenti nel Sito o Servizio oggetto
di questa Licenza, attraverso un Social Network aperto al pubblico o accessibile agli Utenti anche mediante una
qualsiasi forma di iscrizione o registrazione, il Licenziatario, a parità della modalità del servizio offerto, in
aggiunta ai compensi determinati ai sensi del precedente art. 13, corrisponderà per ciascun Social Network al
quale il Servizio è esteso i minimi di compenso applicabili sulla base dell’art. 13 abbattuti del 70%.
I trimestri (o l’anno) si pagano anticipati. Le date sono gennaio, aprile, luglio, ottobre. Gli
eventuali conguagli risultanti dall’allegato 1 (dichiarazione dei redditi) si pagano il 31
luglio in un’unica soluzione.
15.3 A richiesta della SIAE il Licenziatario fornirà copia dei suoi bilanci consuntivi o delle dichiarazioni IVA.
Qualora non risultino dovuti importi a titolo di conguaglio, i compensi minimi vengono incamerati a titolo
definitivo.
Non ci sono frazionamenti nei pagamenti nemmeno per il primo anno, a meno che la
licenza non sia stata stipulata dopo il primo luglio, in tal caso per il primo anno si pagherà
la metà del normalmente dovuto.
5.16. Art. 16 – Penali
16.1. In caso di ritardato pagamento entro il 60° giorno dalle scadenze previste dall’art. 15 di questa Licenza, la
SIAE potrà applicare una penale convenzionalmente determinata nella misura del 10% dell’importo totale dei
pagamenti dovuti, contabilizzato sulla base del periodo di riferimento. Per i pagamenti effettuati oltre il 60°
giorno, ai sensi e per gli effetti del D.Lgs. 9 ottobre 2002, n. 231, in favore della SIAE saranno applicati interessi
moratori sull’importo dovuto per diritti e non corrisposto entro i termini previsti.
In caso di pagamento tardivo la mora è di due tipi: del 10% entro i primi due mesi,
interessi moratori dopo i primi due mesi.
16.2. Il Licenziatario sarà tenuto, altresì, al risarcimento dell’eventuale maggior danno derivante dal prolungarsi
del ritardo, salvo in ogni caso il diritto della SIAE alla risoluzione del rapporto per colpa del Licenziatario ai sensi
dell’art.1453 del Codice Civile. In tal caso l’ulteriore utilizzazione del repertorio SIAE sarà ritenuta illecita agli
effetti degli articoli 171 e seguenti della Legge 22 aprile 1941 n. 633, in quanto effettuata in assenza di
autorizzazione.
Le penali vengono considerate anche nel caso in cui si inizi l’attività di trasmissione di
brani coperti dal diritto d’autore prima della stipula del contratto.
5.17. Art. 17 – Report
17.1 Il Licenziatario si obbliga a fornire annualmente alla SIAE, entro e non oltre il 31 gennaio di ciascun anno,
resoconti (report) analitici contenenti obbligatoriamente i dati relativi a titoli, compositori, autori, artisti interpreti
o esecutori delle opere musicali si utilizzano nel corso dell’anno.
Viene fatto obbligo comunicare alla SIAE un report dei brani effettivamente trasmessi. in
modo che i proventi vengano redistribuiti equamente tra gli aventi diritto.
17.2 I report devono essere forniti utilizzando l’apposita pagina del sito della SIAE, https://online.siae.it, ove è
messo a disposizione anche il formato per la presentazione dei dati.
Sul sito c’è un modulo per il report.
5.18. Art. 18 – Controlli della SIAE
18.1. Fermo quanto previsto dalla L.D.A. per le ipotesi di violazioni della legge medesima, il Licenziatario
riconosce alla SIAE la piena facoltà di verificare l’esattezza, la completezza e la veridicità delle dichiarazioni rese
e dei dati forniti dal medesimo in adempimento degli obblighi previsti dal presente contratto e di controllare, con
tutte le tecnologie e in tutti i modi idonei, tutti i dati e tutte le operazioni riguardanti gli utilizzi che rientrano
nell’oggetto di questa Licenza nonché di verificare ogni informazione utile a definire l’ammontare dei compensi
dovuti alla SIAE.
La radio può essere controllata anche nei due anni successivi alla chiusura del contratto.
18.3 Le operazioni di cui al presente articolo saranno si effettua durante il normale orario di lavoro del
Licenziatario e con preavviso di almeno 5 giorni lavorativi.
Tutto quello che viene scritto nell’articolo 18 viene effettuato in orario lavorativo del
Licenziatario.
18.4 Il Licenziatario è tenuto a consentire al personale di ruolo della SIAE, a professionisti e/o a società di
revisione da essa incaricati, di effettuare l’attività di controllo di cui al presente articolo senza limitazioni o
restrizioni di sorta, consentendo ai soggetti sopra elencati l’accesso, anche attraverso mezzi informatici (compresa
l’installazione di appositi software di controllo) alle documentazioni contabili e fiscali, ivi compreso il partitario
delle fatture rilasciate ai clienti e le fatture acquisti e vendite, oltreché ai dati relativi alle entrate ed alle
transazioni avvenute per la fornitura delle opere musicali, su qualunque supporto cartaceo e/o informatico o di
altra natura e in qualsiasi luogo le suddette documentazioni si trovino, compreso presso i soggetti che forniscano o
abbiano fornito servizi di hosting o altri servizi relativi al Sito.
Si deve consentire alla SIAE di svolgere il suo lavoro per controllare i documenti fiscali,
compresi i documenti che forniscono i servizi di hosting.
18.5 Il Licenziatario riconosce alla SIAE il diritto di trarre estratti e di far copia, anche informatica, di tutti i dati
ed i documenti, su qualsivoglia supporto cartaceo e/o informatico o di altra natura essi si trovino, pertinenti alle
utilizzazioni del repertorio amministrato dalla SIAE.
In caso di notifica di pagamento non congruo si può contestare la notifica stessa entro 15
giorni; altrimenti, passati questi 15 giorni, il termine di pagamento è di 5 giorni.
18.7 Qualora i mancati pagamenti imputabili al Licenziatario siano superiori al 5% degli importi da esso
corrisposti per il periodo di conto preso in esame, le spese del controllo saranno poste interamente a carico del
Licenziatario. La relativa fattura dovrà essere saldata entro 5 giorni dalla sua emissione.
Se un terzo individuo invia dei file tutelati, questo terzo individuo deve avere un’apposita
licenza; il tipo di licenza non è tuttavia specificato.
19.2 Il Licenziatario si impegna a fornire annualmente su richiesta della SIAE l’elenco dei soggetti terzi dai quali
ha ricevuto file contenenti opere musicali in conformità al comma precedente.
Oltre ad avere questa licenza, si deve comunicare alla SIAE chi fornisce i brani. Per la
stragrande maggioranza delle web radio amatoriali questo avviene tramite file sharing.
5.20. Art. 20 – Termini di validità
20.1 La Licenza entra in vigore alla data del pagamento del compenso dovuto ed ha validità fino al 31 dicembre
dell’anno in corso.
La SIAE comunica 45 giorni prima della scadenza del contratto eventuali nuove tariffe.
5.21. Art. 21 – Risoluzione del contratto di Licenza
21.1 Nel caso in cui il Licenziatario venga meno ad una qualsiasi delle obbligazioni di cui agli articoli 7, 13, 14,
15, 16 e 18 sopra citati, la SIAE ha la facoltà di risolvere il contratto di Licenza, ai sensi dell’art. 1456 del Codice
Civile, previa notifica delle contestazioni, da effettuare a mezzo lettera raccomandata con avviso di ricevimento.
Senza pregiudizio di ogni diritto al risarcimento di eventuali danni o all’esperimento degli ulteriori rimedi previsti
dalla legge, la risoluzione del contratto di Licenza ha effetto dopo che saranno trascorsi 15 giorni dalla formale
messa in mora inviata con le modalità sopra specificate, qualora entro tale termine il Licenziatario non si conformi
a quanto richiesto.
Nei casi in cui il Licenziatario sia una società, se la stessa viene liquidata la SIAE ha il
diritto di recedere dal contratto.
21.3 Nel caso di risoluzione o di recesso, il Licenziatario è tenuto a cessare immediatamente ogni utilizzo delle
opere, che a partire dalla data di efficacia della risoluzione o del recesso sarà considerato illecito agli effetti degli
articoli 171 e ss. della Legge 22 aprile 1941 n. 633, in quanto effettuato in assenza di autorizzazione. Resta inteso
che le somme versate alla SIAE saranno definitivamente acquisite a titolo di indennizzo e le somme
eventualmente dovute saranno immediatamente esigibili, con riserva di quanto dovuto per danni ed interessi.
♦save configuration: forza SAM a salvare la sua corrente configurazione su un file. Questo
è molto utile nel caso in cui si effettuino molti cambiamenti frequentemente, ed ha la
funzione di backup nel caso in cui ci sia un qualsivoglia errore o crash;
♦hide: nasconde l’interfaccia di SAM. Puoi ripristinare la visione dell’interfaccia facendo
doppio click sull’icona nella traybar;
♦exit: chiude SAM.
♦next: questo comando carica la canzone successiva nel deck, se necessario, e inizia a
riprodurla;
♦fade to next: questo comando salterà agli ultimi secondi della canzone, effettuando il fade
alla successiva;
♦DJ mode: ci sono tre modalità operative. Auto DJ, play only queue e manual DJ. Attivare
l’auto recovery comporterà che SAM automaticamente caricherà e riprodurrà una
canzone se SAM è in pausa o viene stoppato per un qualsivoglia motivo;
♦mute studio: istantaneamente zittisce SAM.
♦restore: è il comando inverso rispetto a close all. Riporta le finestre alla condizione
precedente;
♦desktop:
6.4.1. Deck
I deck A e B sono le principali finestre di gestione audio di SAM Broadcaster. Le finestre
hanno più di un player disponibile per molte funzioni avanzate (come il crossfading e il
cueing alla canzone successiva). I deck ausiliari 1 e 2 sono simili, ma con alcune
eccezioni, descritte in seguito.
Figura 6.2. Visualizzazione dei deck di SAM Broadcaster
♦album cover display: cliccando sulla cover dell’album si arriverà all’editor delle
informazioni della canzone;
♦cur: mostra la durata corrente della canzone;
♦intro/outro: sono i cosiddetti cue point. Intro rappresenta il tempo rimanente prima che la
voce della canzone cominci a cantare e lo speaker debba fermarsi; viceversa outro è il
tempo che manca prima che lo speaker possa parlare di nuovo, perché la canzone è
finita;
♦kbps: mostra a quanti kbps è stata codificata la canzone;
♦BPM: mostra i battiti al minuto della canzone (specificato nell’editor delle informazioni
della canzone);
♦control slider: controlla volume, pitch e tempo. Si può scegliere quale controllare
cliccando sui tasti [V], [P] e [T]. Quando il tasto [Air] è premuto, l’audio si sentirà sulla
principale periferica di output. Quando il comando [Cue] è premuto, l’audio si sentirà
sulla periferica di cueing, se abilitata;
♦VU Meter: mostra i correnti livelli di picco dell’audio;
♦play/pause: play/pausa;
♦stop: stop;
♦eject: cancella;
♦c’è un comando aggiuntivo: [Loop]. La funzione loop riprenderà la canzone da capo ogni
volta che finisce. Ideale per sottofondi durante lunghi periodi di parlato.
Nota: tutti i file trasmessi nei canali ausiliari non compariranno nell’history.
6.7. Playlist
La playlist permette una facile modalità di interfaccia alla categorizzazione, gestione e
ricerca della musica. La comprensione delle potenzialità delle categorie di SAM è cruciale
per un uso congruo della regia.
♦aggiungi file
♦rimuovi file
♦cerca
♦aggiorna
♦barra di stato.
Playlist control: si può cliccare sul tasto [^] proprio accanto al testo delle categorie per
nascondere o mostrare la finestra delle categorie stesse.
La finestra delle categorie contiene una “visione ad albero” di tutte le categorie
disponibili. È possibile cliccare in qualsiasi nodo nell’albero per aprire il nodo e mostrare i
suoi contenuti all’interno della finestra delle tracce di categoria.
Si può creare una nuova categoria cliccando con il tasto destro su una categoria padre e
scegliendo new dal menu contestuale. Quindi scrivere il nuovo nome di categoria e
premere [ENTER] per salvare il cambiamento. Il nome di categoria deve essere unico o le
modifiche non verranno applicate.
Si può cancellare una categoria similmente, facendo click con il tasto destro sulla
categoria e scegliendo l’opzione delete dal menu contestuale.
Attenzione: questo cancellerà la categoria e tutte le sottocategorie al suo interno.
Si può rinominare qualsiasi categoria scegliendo l’opzione rename dal menu contestuale.
Il comando add dal menu contestuale permette di:
♦aggiungere file
♦aggiungere directory
♦aggiungere URL
♦aggiungere playlist.
♦categorie padre: una lista di tutte le categorie figlie sotto al categoria corrente (se la
categoria è una categoria padre radice);
♦categorie raggruppate: una lista di gruppi di categorie sulla sinistra con una lista delle
tracce interne al gruppo sulla destra.
CATEGORIE NORMALI
Molte categorie sono normali. Contengono una lista di canzoni. Se qualche opzione è
disabilitata per una specifica categoria, tali operazioni non sono valide solo per quella
categoria.
COME AGGIUNGERE CANZONI ALLA CATEGORIA
♦Trascinare una traccia o più da tutte le liste di canzoni nella finestra delle tracce e la
canzone verrà aggiunta alla categoria;
♦trascinare file direttamente dalle cartelle;
♦il più verde ([+]) permette di aggiungere file alla categoria. Cliccando direttamente si
aprirà la finestra di ricerca per le canzoni;
♦cliccando sulla freccia verso il basso accanto al [+] verde, è possibile:
-aggiungere file
-aggiungere un’intera cartella
-aggiungere un URL
-aggiungere una playlist alla categoria corrente.
♦il comando ricerca aprirà la finestra di ricerca che permette di localizzare velocemente le
canzoni;
♦il comando refresh ricaricherà le informazioni dal database per essere certi che siano
visualizzate le ultimissime informazioni;
♦cliccare col tasto destro sulla finestra delle tracce per avere una lista con altre operazioni:
♦[F10]: aggiorna;
6.8. Queue
La coda (queue) contiene la lista delle canzoni schedulate per essere trasmesse in una lista
ordinata. Le canzoni vengono trasmesse dall’alto in basso ed una canzone è rimossa dalla
coda nello stesso momento in cui viene trasferita in un deck. La coda permette al regista di
creare in ampio anticipo la sequenza di canzoni.
6.8.1. Queue Display
♦[+]: aggiunge file;
♦save playlist: permette di salvare la coda in un file playlist (*.m3u); il menu a consente di
scegliere tra *.m3u o *.csv;
♦refresh
list: aggiorna la lista delle canzoni in coda; utile se si sono cambiate le
informazioni su un brano dall’editor;
♦put another song in the queue: selezionerà un’altra canzone secondo la logica di
rotazione della playlist e piazzerà la canzone alla fine della coda;
♦play next: riproduce la canzona successiva;
♦artista-titolo;
♦la barra di stato mostra il numero di canzoni in coda e la durata totale dei brani all’interno
della coda.
Nota: se si clicca col tasto destroy all’interno della coda comparirà un menu contestuale
con numerose opzioni.
6.8.2. Aggiungere e rimuovere dalla coda
AGGIUNGERE ALLA CODA
♦Si possono trascinare in coda brani da qualsiasi lista;
♦si può fare una ricerca semplicemente scrivendo all’interno della finestra della coda, e
quindi aggiungere la canzone alla coda stessa.
La freccetta nera accanto al più verde apre un menu a cascata che consente di:
♦aggiungere file
♦aggiungere un URL
♦[F10]: aggiorna;
6.9. History
La finestra History mostra le ultime 200 canzoni trasmesse da SAM. Permette di vedere
facilmente lo storico e quindi evitare di ritrasmettere brani riprodotti recentemente. Si può
trascinare un brano direttamente dallo storico all’interno di una qualsiasi altra lista,
compresa la coda o un deck.
6.9.1. Scorciatoie da tastiera
♦[ENTER]: aggiunge il brano alla fine della coda;
♦status bar: mostra il numero di canzoni all’interno della finestra delle richieste e la durata
totale dei brani. Cliccando col tasto destro si visualizzerà una finestra con molte più
opzioni.
6.10.2. Scorciatoie da tastiera
♦[ENTER]: aggiungi le richieste selezionate alla fine della coda;
6.11. Voice FX
La finestra Voice FX permette agli speaker di parlare sulla musica trasmessa in modo
molto comodo.
♦press to talk: va tenuto premuto per interventi brevi, se rilasciato il microfono si stacca;
♦lock talk: mantiene premuto il comando press to talk. Se viene ripremuto si stacca;
♦music volume slider: permette di settare il livello in decibel della musica, usato in
congiunzione con [Auto];
♦[Auto] sfumatura musica: premendo questo comando si farà in modo che la musica sfumi
ogni volta che si preme il comando press to talk;
♦Mic volume/speed slider: setta il livello in decibel del microfono o la velocità della voce:
-[S] = speed: cambia la velocità dell’audio senza intervenire sull’audio stesso. Questa
è l’unica modalità che funziona con VoiceFX since unlike songs. I dati di VoiceFX
sono in tempo reale;
-[V] = volume: in modalità Soundcard il controllo volume cambierà il volume della
PLAYBACK line: ad esempio, cambierà il volume di quanto si ascolta attraverso la
scheda audio; in modalità Record to pipeline il controllo volume cambierà il volume
del canale VoiceFX. Non avrebbe effetto sul volume della linea di controllo
registrazione.
♦VU meter: esprime a quanti decibel si sta parlando.
6.11.2. Configurazione
Questa finestra si aprirà cliccando sul tasto config all’interno della finestra Voice FX.
MODALITÀ DI REGISTRAZIONE
Le modalità di registrazione si vedono meglio all’interno del menu config >Audio Mixer
Pipeline:
1) none: quando il talk button viene premuto, SAM sfumerà semplicemente la musica (se
è abilitato l’auto fade). Non vengono eseguite altre operazioni;
2) mixer (record to pipeline): i dati audio sono registrati dalla scheda audio e forniti come
input al canale Voice FX. Questa modalità permette di fare processing audio su questo
flusso, come avviene ad esempio per il deck A. Questo significa, inoltre, che si avrà la
possibilità di autoascoltarsi. Se la latenza è abbastanza bassa, l’eco potrebbe essere
tollerabile;
3) soundcard: SAM ritrasmetterà l’audio attraverso la scheda audio. Sebbene anche questa
modalità soffra dell’effetto eco, questo è istantaneo. Questa modalità è usata in
congiunzione con il comando rosso sugli encoder. In questo modo, infatti, si ha la
sicurezza di trasmettere esattamente quello che si ascolta;
4) encoders (record to pipeline, skip output): esattamente come la seconda modalità,
eccetto che l’audio è soltanto mixato all’interno del flusso complessivo prima
dell’encoder. Questo significa che questa modalità salta il mixer principale e l’output,
compresi i suoi equalizzatori, AGC e DSP plugins. Questa modalità non ha eco.
DA TENERE A MENTE
♦I VU meters sono disponibili soltanto nelle modalità 2 e 4;
6.12. Volume
La finestra del volume permette di controllare l’output principale del volume di entrambi i
dispositivi di trasmissione e del dispositivo di cue. Si può anche rendere muto uno o
entrambi i dispositivi. Questo è comodo qualora si vogliano zittire gli speaker quando si
parla al microfono o per rendere SAM silente quando si lavora su qualcosa.
Nota: questo volume non influenza la trasmissione su Internet del flusso audio.
6.13. Sound FX
La finestra Sound Fx permette di riprodurre istantaneamente alcuni effetti sonori o jingle
sopra la voce degli speaker o sopra la musica.
♦comando effetto da 1 a 12: questo è un ordine alfabetico degli effetti sonori presenti in
Content > Sound FX category; premendo il comando verrà riprodotto l’effetto;
♦stop d’emergenza: in qualsiasi momento si può premere il comando STOP al centro di
Sound FX per fermare l’effetto sonoro;
♦volume slider: lo slider permette di variare il volume degli effetti riprodotti. Bisogna
assicurarsi che il volume sia alto a sufficienza per potere essere ascoltato sopra la
musica o il parlato. Si consiglia di settare il volume a +2.8dB, il valore più alto, perché
Sound FX generalmente necessita un volume più alto rispetto alla musica.
6.13.2. Sound FX control
Il primo passaggio da seguire prima di utilizzare Sound FX è caricare gli effetti sonori. Per
farlo, aprire la finestra playlist e visualizzare Content > Sound FX category. Si possono
creare categorie personalizzate all’interno di questa categoria padre o semplicemente
aggiungere gli effetti alla categoria esistente chiamata Sound FX (All).
Una volta fatto ciò, bisogna tornare alla finestra Sound FX e cliccare il menu a discesa
Category per scegliere la categoria di effetti sonori che si vuole caricare all’interno della
finestra.
Una volta caricati gli effetti all’interno, si dovrebbero vedere i comandi da 1 a 12
diventare attivi.
Si può riprodurre istantaneamente un effetto cliccando il comando adeguato e si può
interrompere premendo lo stesso comando.
La maggior parte degli effetti è breve e dovrebbe riprodursi dall’inizio alla fine; se per un
qualsiasi motivo si dovesse inserire un effetto più lungo, questo può essere stoppato
tramite lo stesso comando.
6.14. Fade Control
Il controllo del fading è usato per effettuare il crossfading manuale tra brani e performare
passaggi professionali tra le canzoni.
Infine, occorre notare che il brano precedentemente in onda verrà rimosso nel momento in
cui si rilascia il mouse.
6.14.2. Fading manuale
La tipologia manuale di fading funziona in modo tradizionale, similarmente a quanto
avviene in molti mixer hardware. Questo fader non caricherà nessun brano all’interno dei
deck vuoti, così come non rimuoverà il brano appena suonato.
Spostare lo slider a sinistra comporterà l’abbassamento del volume del deck B.
Spostare lo slider a destra comporterà l’abbassamento del volume del deck A.
Questo fader si può utilizzare, ad esempio, in questo modo. Si supponga che il deck A stia
attualmente riproducendo un brano:
♦muovere lo slider totalmente a sinistra per rendere muto il deck B;
♦save file to directory: sceglie una directory dove salvare i file prodotti con il voice-
tracking.
6.15.2. Voice-tracking: comandi principali
RECORD
Cliccare su record permetterà di registrare una nuova traccia vocale o continuare la
precedente. Lo slider consente di scegliere il punto dal quale ascoltare o continuare a
registrare.
Nota: la massima durata di un voice-track è di 5 minuti.
EDIT
♦New voicetrack: crea una nuova voice-track eliminando la precedente;
♦delete before current position: quando si usa lo slider, si può scegliere un punto dal quale
cancellare tutto il registrato precedente;
♦delete after current position: quando si usa lo slider, si può scegliere un punto a partire
dal quale cancellare tutto il registrato successivo;
♦clear: cancellerà l’attuale traccia vocale;
STORE
♦Quick queue: salverà la voice-track con un nome generico e la piazzerà in coda;
♦store & queue: permette di dare un nome personalizzato alla voice-track e piazzarla in
coda;
♦store only: permette di dare un nome personalizzato alla voice-track.
DESCRIPTION
♦Inserendo una descrizione si darà un titolo alla voice-track in modo che SAM possa
ricercare il file creato.
Nota: la versione attuale del voice-tracking è semplice e registra soltanto quanto viene
inviatogli; quando viene piazzata una voice-track in coda, questa viene trattata come tutte
le altre canzoni.
6.16. StreamAds Control
Prima di configurare lo StreamAds Control è necessario configurare lo StreamAds Server,
come documentato sulla pagina Wikipedia del servizio, raggiungibile al sito:
http://support.spacialaudio.com/wiki/StreamAds.
♦blocked: se la pubblicità verrà passata o meno; si può cambiare questa opzione tramite
click col tasto destro;
♦provider drop-down: si può scegliere quale provider visualizzare. Cliccando col tasto
destro su uno spot si potrà bloccarlo, aggiungerlo alla coda o switchare tra i provider.
VERIFY ADVERTISEMENTS
Controllo manuale utile per verificare se le pubblicità continuano ad essere in rotazione.
FORCE UPDATE
Richiesta manuale al server StreamAds per avere la lista più aggiornata degli spot.
FORCE DOWNLOAD
Se uno spot è pronto per il download verrà scaricato.
L’area download, in basso all’interno del controllo, evidenzierà se uno spot è in download
e fornirà ulteriori informazioni.
6.17. Encoders
Gli encoder convertono il flusso audio PCM in un flusso AAC+, MP3, Windows Media o
di altre tipologie, che può essere trasmesso su Internet. Il processo è lo stesso che avviene
in qualsiasi altro software per la trasmissione su Internet, Winamp su tutti.
6.17.1. Encoders Display
Se si utilizzano più schede audio, questa opzione mostrerà tutte le schede audio, in modo
da poterne scegliere una.
Nota: cliccando col tasto destro su un encoder si otterrà un popup con le stesse opzioni:
♦([+]) add new encoder aprirà la lista degli encoder permettendo di scegliere quale nuovo
encoder creare;
♦configure permette di modificare le configurazioni dell’encoder;
♦il comando blu userà la pipeline audio come fonte diretta del flusso audio da codificare;
♦il comando rosso userà la scheda audio come fonte diretta del flusso audio da codificare;
♦URL
♦popup
♦popupex
♦data
♦updatedata
♦execjava
♦redirect
♦event
♦cue_event
♦uncue_event
♦begin_element_event
♦end_element_event.
In questa trattazione verrà specificata soltanto l’opzione caption, che permette di mostrare
un testo a scelta all’interno del Windows Media Player degli ascoltatori, ammesso che sia
stato abilitato. Questi metadati inviati a real time verranno visualizzati nel momento della
ricezione della porzione di flusso in cui è stato inviato il metadato.
6.17.3. Come aggiungere un encoder
ENCODER SHOUTCAST
Una volta cliccato sul comando [+], scegliere uno dei codec disponibili. Per il server
Shoutcast la scelta è limitata a legacy MP3, MP3, AAC+ e MP3PRO.
♦inserire la porta TCP del server all’interno del campo Server Port;
♦selezionare enable title streaming e assicurarsi che $combine$ sia nel campo sotto enable
title streaming per mostrare i titoli dei brani;
♦cliccare OK.
L’encoder dovrebbe adesso mostrare una scritta simile a Encoded (#), streamed (#)
qualora fosse stato impostato l’autostart; altrimenti occorre farlo partire con il tasto start
da menu contestuale.
Se l’encoder non codifica, verificare i dati appena inseriti.
ENCODER WINDOWS MEDIA
Una volta cliccato sul comando [+], scegliere uno dei codec disponibili. Per il server
Windows Media la scelta è limitata a WMA (v9 advanced).
METODO PUSH
Selezionare il bitrate desiderato.
Stream options tab:
♦il singolo bitrate è impostato di default;
♦inserire l’IP del server di streaming all’interno del campo media server host/IP;
Scripting tab:
♦inserire le informazioni sull’emittente;
♦cliccare OK.
L’encoder dovrebbe adesso mostrare una scritta simile a Encoded (#), streamed (#)
qualora fosse stato impostato l’autostart; altrimenti, occorre farlo partire con il tasto start
da menu contestuale.
Se l’encoder non codifica, verificare i dati appena inseriti.
METODO PULL
Il metodo pull consente a SAM Broadcaster di trasmettere localmente su una porta e
permettere al server di streaming di prelevare il flusso direttamente dal PC trasmittente.
Selezionare il bitrate desiderato
Stream options tab:
♦il singolo bitrate è impostato di default;
Scripting tab:
♦inserire le informazioni sull’emittente;
♦cliccare OK.
♦[+] aggiunge un nuovo relay. Premendo il comando si aprirà una finestra di selezione del
plug-in, che verrà considerata in seguito;
♦configure mostrerà i dettagli del relay selezionato;
♦force update forzerà l’aggiornamento dei relay. Tale aggiornamento può non essere
istantaneo ed è dipendente dal numero di relay presenti;
♦checkbox se selezionata, il relay sarà presente nel grafico statistiche;
♦il quadrato colorato indica il colore del relay nel quadro statistiche;
♦color on graph: indica il colore che avrà questo relay sul grafico delle statistiche;
♦color on graph: il colore che avrà questo relay sul grafico delle statistiche;
♦color on graph: deve contenere il colore che avrà questo relay sul grafico delle
statistiche;
♦private statistic relay: rendere privata questa statistica impedirà di visualizzare le
statistiche della stazione sul sito AudioRealm.
Figura 6.22. Finestra di configurazione del relay di statistiche
♦la linea current indica il totale degli ascoltatori connessi in tutti i relay;
♦ciascun relay ha un suo colore che può essere specificato nella finestra statistic relay.
FTP log mostra le interazioni tra SAM Broadcaster e il sito Internet. Se l’upload non va a
buon fine la causa può essere scoperta vedendo proprio il log.
FTP queue mostra la lista dei file da caricare.
Clear queue cancellerà tutti i file dalla coda, terminando quindi l’upload.
6.20. PAL script
PAL è l’acronimo di Playlist Automation Language. Gli scripts PAL sono mini-programmi
che possono essere eseguiti all’interno di SAM Broadcaster per eseguire praticamente
qualunque operazione. Molte emittenti usano questi script per automatizzare operazioni
quali, ad esempio, il caricamento di un brano ad un orario specifico, oppure per mantenere
la coda con un numero costante di canzone in ogni momento.
PAL è basato sul linguaggio Delphi, che è opportuno conoscere per realizzare script
complessi.
-cercare uno script già esistente in memoria cliccando sull’icona della cartella;
-creare un nuovo file PAL.
♦stop fermerà il PAL script, se attivo. Il PAL script si ferma immediatamente, non alla sua
conclusione.
♦aggiungere un nuovo evento: per aggiungere un nuovo evento è sufficiente cliccare sul
comando [+] e scegliere il tipo di evento;
♦cancellare l’evento selezionato: per rimuovere un evento cliccare sul comando [];
♦modificare
l’evento selezionato: per modificare un evento selezionato, cliccare sul
comando config.
6.22.1. Event Action Tab
♦add file to queue: aggiungi file, categorie e altri elementi alla coda;
Il log degli eventi viene anche salvato su file. In caso di crash del sistema, si può vedere la
causa scatenante all’interno del file Eventlog.log all’interno della directory di installazione
del software.
6.23. Clock
Un orologio viene fornito per permettere a registi e speaker di potere sempre visualizzare
l’orario corrente.
-load default: carica l’ultimo layout che aveva SAM alla precedente chiusura del
software;
-load: carica un layout da file.
♦save:
♦maintenance:
-reset weight balance: eseguire questa opzione ogni volta che si aggiungono brani al
database, se si utilizzano rotazioni basate sul numero di trasmissioni già effettuate
(dette rotazioni pesate). Se non si effettua questa operazione i nuovi brani verranno
trasmessi molto spesso a causa del loro alto peso;
-verify songs: controlla tutte le canzoni all’interno del database e cancella tutti i
riferimenti a brani non più fisicamente esistenti;
-clear history: svuota totalmente la tabella storica. La maggior parte dei broadcasters
ritiene utili questi dati per il reporting, per cui si raccomanda cautela.
♦mass tagger: carica o salva tutti i tag dei brani con un solo click;
♦PAL quick start guide: aprirà la guida in linea per il PAL scripting;
6.27. Toolbars
La toolbar è posizionata subito sotto il menu e permette l’accesso ad alcune funzionalità di
SAM:
1) play: fa partire una canzone nel primo deck disponibile se entrambi i deck sono vuoti;
se uno è in pausa lo farà ripartire;
2) pause: questo comando metterà in pausa il primo deck che incontra. Se entrambi i deck
sono in playing, occorrerà premere il comando due volte per fermarli. Ripremere il
comando pausa farà ripartire il brano;
3) stop: fermerà tutti i deck attivi;
4) next: questo comando caricherà la canzone successiva all’interno di un deck e premerà
play. Premendo shift contemporaneamente a questo comando, la canzone sfumerà;
5) mute: il comando mute azzererà il volume della regia ma non avrà effetti sull’audio
pipeline. Ovvero, gli encoder continueranno a codificare l’audio e gli ascoltatori
continueranno a sentire musica se l’encoder è settato in modalità audio pipeline
(comando blu);
6) esistono tre modalità di lavoro su SAM Broadcaster: Auto DJ, Play Queue e Manual
DJ. Cliccando sul comando si switcherà tra le modalità. Cliccando sul menu a tendina si
potrà scegliere la modalità preferita;
7) desktop A/B/C: cliccando su questi bottoni si cambierà immediatamente piano di lavoro.
Un’adeguata distribuzione delle finestre nei vari desktop consente un agevole lavoro di
regia;
8) config: aprirà la finestra di configurazione;
9) hide: riduce SAM a programma in background;
10) help [?]: questo comando apre la documentazione di SAM;
11) clock: mostra l’ora corrente;
12) viewer statistic panel: mostra in tempo reale il numero di ascoltatori connessi in
rapporto al picco totale da quanto SAM è stato avviato.
6.28. Configurazione di SAM Broadcaster
La finestra di configurazione di SAM permette di modificare molti parametri della regia,
spesso molto utili per la personalizzazione dell’emittente e per la qualità dell’audio, oltre
che per molti servizi aggiuntivi. L’elenco delle voci è il seguente:
♦Member Details
♦Station Details
♦Statistic Relays
♦Crossfading
♦Gap Killer
♦Request Policy
♦General
♦HTML Output
♦StreamAds Providers
♦StreamAds Logic
♦Registration Key.
6.32. Crossfading
La presenza di due deck permette a SAM di effettuare dei crossfading professionali tra i
brani. Il crossfading deve essere tarato in base al target della radio evitando di lasciare le
impostazioni predefinite a meno che lo si reputi non importante.
Il crossfader di SAM possiede un gap killer capace di rimuovere silenzi all’inizio e alla
fine di un brano. Questo è fondamentale per un fading professionale. Il gap killer può
anche non essere variato rispetto alle impostazioni di default e gli stessi produttori del
software sconsigliano di farlo.
6.32.1. Configurazione di base
ENABLE FADE OUT
Enable fade out abilita o disabilita il fading in uscita.
ENABLE FADE IN
Enable fade in abilita o disabilita il fading in entrata.
CURVE
Si possono specificare 4 tipi di curve di fading (in realtà sono 3):
♦default/s-curve: la s-curve crea una cosinusoide che presa come predefinita rappresenta
una soluzione sicura per moltissime necessità di fading;
♦s-curve: parte lentamente, quindi accelera e poi rallenta nuovamente. L’effetto è
gradevole. Graficamente si realizza una S, disegno classico della cosinusoide, da qui il
nome s-curve;
♦exponential: questa curva parte lentamente ma aumenta esponenzialmente e produce un
fading molto veloce alla fine del fading stesso;
♦linear: il fading lineare è la più classica delle modalità di fading e produce una
diminuzione costante del volume del brano sfumato. Rende il meglio quando il brano ha
già di suo un fading lento.
TIME
L’opzione time specifica la durata del fading. Questa impostazione non ha effetto sul fade
out durante i crossfading autodeterminati.
LEVEL
L’opzione level specifica il livello iniziale o finale del volume del fading. Un valore pari al
100% implica che il fading inizierà o finirà al volume minimo. Tutto quello che è diverso
da 100% implicherà che il fading inizierà (se fade in) o terminerà (se fade out) con un
volume leggermente maggiore del minimo.
6.32.2. Configurazione del crossfading
DEFAULT/AUTO DETECT
L’opzione default/auto detect cercherà automaticamente un punto del brano che scende
sotto un certo valore in Db e da quel momento farà partire il fading.
DISABLE CROSSFADING
L’opzione disable disabilita il crossfading. Il brano successivo sarà inserito a tappo.
FIXED POINT
Si può specificare quanti secondi prima della fine del brano si debba far partire l’altro.
FIXED CROSSFADE POINT (TIME)
Funziona in comunione con fixed point. Specifica quanti secondi devono contarsi prima
della fine del brano in fade out, per fare partire il brano in fade in.
CROSSFADE POINT DETECTION
Funziona in comunione con Default/Auto Detect.
TRIGGER AT [XX] DB
Trigger specifica il livello in decibel che l’algoritmo di rilevamento automatico del punto
di crossfading dovrà cercare. Appena il brano scenderà sotto questo valore, partirà il brano
successivo ed il brano in fade out verrà sfumato con un tempo pari al resto del brano, a
meno che non sia specificato diversamente in Min/Max fade time.
MIN/MAX FADE TIME
I valori min/max specificano il minimo e il massimo valore temporale del fading. Se un
fading automatico prevede un fading di 10 secondi ma in realtà il massimo è stato
impostato a 4, il brano verrà fermato 6 secondi prima del suo termine naturale. Se invece il
sistema determina un crossfade point ad 1 solo secondo dalla fine ma il minimo è stato
impostato a 3, allora il fading partirà si a 3 secondi, ma verrà effettivamente realizzato ad
un valore temporale pari a minimo / 2 secondi, ammesso che tale valore sia precedente il
punto automatico di crossfading; altrimenti, al punto automatico stesso.
[X] DO NOT CROSSFADE OR FADE TRACKS [XX] SECONDS OR LESS IN
DURATION
L’opzione do not crossfade or fade annullerà il crossfading di ogni traccia breve, come ad
esempio la pubblicità o gli effeti sonori.
Nota: tutti i contenuti marcati come allow overlay non subiranno fading.
6.33. Gap killer
Il gap killer è usato per rimuovere il silenzio dall’inizio e dalla fine dei brani: questo
assicura che non ci siano intervalli di silenzio (appunto, “gap”) tra i brani. Questa opzione
migliora i fading tra i brani.
Per attivare il gap killer, assicurarsi che enable gap killer sia selezionato.
REMOVE SILENCE FROM BEGINNING OF TRACK
Se l’opzione remove silence from beginning è selezionata, il gap killer rimuoverà ogni
suono sotto il trigger (specificato in decibel) dall’inizio del brano. 0 Db è un valore molto
basso, mentre – 100Db è corrispondente al totale silenzio. – 24Db è il valore
maggiormente consigliato.
REMOVE SILENCE FROM END OF TRACK
Se l’opzione remove silence from end è selezionata, il gap killer rimuoverà ogni suono
sotto il trigger (specificato in decibel) dall’inizio del brano. 0 Db è un valore molto basso,
mentre – 100Db è corrispondente al totale silenzio. – 24Db è il valore maggiormente
consigliato.
DETECT AND IGNORE SPIKES AND BLIPS
Modalità di protezione del gap killer che ignorerà scratch, errori e quanto possa trarre in
inganno il trigger facendo erroneamente rilevare una condizione di silenzio del brano.
TRIGGER END OF SONG IF MORE THAN [XX] SECONDS OF SILENCE
Se il brano contiene un periodo di “quasi silenzio”, come specificato nel campo decibel, la
fine del brano verrà forzata solo se il periodo di silenzio dura più di X secondi. Brani
registrati ad un volume molto basso potranno subire uno skipping non previsto.
Nota: è possibile settare nelle impostazioni del brano un annullamento del gap killer, ma
va fatto brano per brano.
6.34. Playlist Rotation Rules
Qualsiasi regista professionale sa che non è possibile semplicemente caricare brani in
modo casuale. Ciascuna stazione ha un formato che la rende unica e attrae gli ascoltatori.
Figura 6.37. Finestra di gestione delle regole di playlist
I campi di questa finestra sono costruiti per evitare di trasmettere troppo spesso brani di
uno stesso artista o lo stesso brano, per evitare una brutta programmazione e bypassare
eventuali vincoli legali.
DO NOT PLAY THE SAME ALBUM WITHIN [XX] MINUTES
Devono passare almeno [xx] minuti prima che SAM consideri di inserire un brano dello
stesso album in rotazione. Per essere sicuri che questa regola funzioni, ogni brano deve
avere un valore al campo album correttamente inserito.
DO NOT PLAY THE SAME ARTIST WITHIN [XX] MINUTES
Devono passare almeno [xx] minuti prima che SAM consideri di inserire un brano dello
stesso artista in rotazione. Per essere sicuri che questa regola funzioni, ogni brano deve
avere un valore al campo artista correttamente inserito.
DO NOT PLAY THE SAME TITLE WITHIN [XX] MINUTES
Devono passare almeno [xx] minuti prima che SAM consideri di inserire un brano con lo
stesso titolo in rotazione. Stesso titolo vuol dire stesso titolo, non stesso brano. Se la
canzone “Il valzer del moscerino” di Cristina d’Avena è stata trasmessa, non verrà
trasmessa neanche un’eventuale versione remixata da David Guetta.
DO NOT PLAY THE SAME TRACK WITHIN [XX] MINUTES
Devono passare almeno [xx] minuti prima che SAM consideri di inserire lo stesso brano
in rotazione. Il brano deve avere lo stesso SongID.
KEEP [XX] SONGS IN THE QUEUE
Se questo valore è maggiore di zero, SAM controllerà la coda ogni cinque secondi e se ci
sono meno di [xx] canzoni ne inserirà un’altra in coda, usando la logica di rotazione della
playlist.
USE GHOST QUEUE
SAM metterà in una cache la prossima canzone per permettere di caricare il brano più
velocemente. Si guadagna in velocità perché SAM non deve applicare regole logiche al
momento della partenza del brano. Si consiglia fortemente di utilizzare questa opzione.
CACHE QUEUE COUNT
Il cache queue count migliorerà le performance di SAM non dovendo effettuare una query
al database ogni volta che si voglia verificare se la coda è vuota. Questa opzione andrebbe
disabilitata soltanto quando si modifica la coda di SAM tramite script esterni o query del
database; in tutti gli altri casi, mantenere l’opzione.
Tutte le regole precedentemente lette sono applicate globalmente a SAM, comprese le
politiche di richiesta. Non è possibile bypassare le regole in casi specifici per le proprie
esigenze.
6.34.1. Playlist Rotation Logic Modules
SAM nasce con alcuni moduli logici predefiniti per ovviare alle richieste di molti registi.
Tra questi:
♦clockwheel (category rotation) logic module: modalità predefinita e raccomandata di
logica di gestione della playlist. Permette di definire facilmente il formato dell’emittente
selezionando canzoni dalle categorie in un certo ordine usando alcuni metodi di
selezione;
♦weighted playlist rotation logic module: questa modalità di gestione della logica di
rotazione è molto semplice da usare. Si tratta di una semplice politica di rotazione
pesata. Ogni brano parte con un peso di 60. Ogni volta che il brano viene mandato in
onda perde peso, venendo quindi trasmesso sempre meno, perché il sistema preferirà
brani con peso maggiore. I brani possono vedere il proprio peso aumentato su intervento
del regista o su richiesta degli ascoltatori. In ogni caso verranno sempre preferiti brani
nuovi e popolari a brani vecchi e poco graditi;
♦web scripting based logic module: questo modulo farà sì che SAM contatti un sito
Internet ogni volta che deve inserire un brano per la rotazione oppure quando viene
richiesto un brano da un ascoltatore. Web master particolarmente esperti in ASP o PHP
possono considerare questa opzione tra le logiche possibili. Il template PHP fornito con
il software ha un’interfaccia web molto scarna. Si può utilizzare questo template come
base per costruire qualcosa di più complesso.
Politiche più complesse di gestione della rotazione della playlist possono essere create
tramite PAL script.
6.35. Request Policy
SAM permette agli ascoltatori di fare richieste in tempo reale. La regia automatizza
l’intero processo di richieste, dalla sua acquisizione all’inserimento in coda.
Il primo passaggio è quello di abilitare le richieste ciccando su enable requests.
Selezionando leave request in list le richieste verranno bloccate in una lista temporanea e
non inserite in coda finché non si aggiungono alla logica di rotazione manualmente.
Questo previene inserimenti incontrollati, specialmente se l’emittente non è interamente
basata sulle richieste.
Per inserire i brani della lista d’appoggio in coda si possono usare due metodologie.
ROTAZIONE BASATA SULLE CATEGORIE
♦Andare in File > Config > Playlist rotation rules, quindi selezionare Clockwheel
(Category rotation) logic module e premere il comando configure;
♦modificare la rotazione per inserire i brani ad intervalli;
Se uno dei due controlli risulta positivo la richiesta non verrà accolta e verrà mostrato un
errore al richiedente.
Vantaggi:
♦maggiore interazione con gli ascoltatori;
♦gli ascoltatori sapranno se la loro richiesta è stata accolta e se verrà trasmessa a breve.
Svantaggi:
♦molte richieste potrebbero essere scartate per le imposizioni di playlist rotation rules;
♦possono esserci problemi legali perché si potrebbe configurare la web radio come
stazione on demand.
RICHIESTE RITARDATE (DELAY > 0)
Se viene fatta una richiesta, questa verrà aggiunta alla lista richieste, dove rimarrà finché il
brano possa essere aggiunto alla coda. Una richiesta verrà aggiunta in coda solo se:
♦ha subìto un ritardo almeno pari a quanto specificato;
Se le tre condizioni sono soddisfatte, la richiesta verrà aggiunta in coda. Il vantaggio è che
la richiesta non verrà mai (o quasi mai) scartata perché è stata precedentemente richiesta
da un altro ascoltatore o perché è stata trasmessa da poco. Tutte le richieste sono accettate
come valide e inserite all’interno della lista richieste finché non siano pronte da
trasmettere. Nel momento in cui un brano richiesto viene riprodotto verranno rimosse tutte
le altre richieste che hanno brano con ID coincidente. A titolo d’esempio, se il brano
“Eminem – Stan” è stato richiesto 5 volte nell’ultima ora, ci saranno cinque richieste per
questo brano nella lista richieste. Nel momento in cui la prima di queste cinque richieste
viene evasa ed inserita in coda, per le altre richieste non varrebbe più il punto due del
precedente elenco ed esse non verrebbero aggiunte alla coda, venendo scartate
definitivamente nel momento in cui il brano di Eminem venga effettivamente trasmesso.
Vantaggi:
♦pochissime richieste falliranno: in questo modo gli ascoltatori avranno la certezza di
potere ascoltare il brano richiesto;
♦è un metodo burocraticamente più sicuro;
♦possono esserci problemi legali perché si potrebbe configurare la web radio come
stazione on demand.
6.36. General
Nel dettaglio, il processo di output di SAM Broadcaster può essere riassunto in queste
quattro fasi:
1) template d’ingresso
2) tag “cerca e sostituisci” di SAM
3) output della pagina web
4) uploading via FTP.
Il template di ingresso è il file sorgente che contiene alcuni tag che SAM sostituirà con le
opportune occorrenze.
Un esempio di tag è $history.artist$. Questo tag verrà sostituito dal nome dell’artista nella
riga corrente della tabella history. Ad ogni cambiamento o quando vengono generate le
pagine HTML, SAM leggerà il template e cercherà i tag al suo interno. Quando troverà un
tag, verrà sostituito con l’attuale valore del campo richiamato. Il file risultante è quindi
scritto nello specificato file di output. Se lo si desidera, il file di output può essere caricato
su un sito Internet via FTP.
6.37.1. General HTML output
♦Il comando [+] permette di aggiungere una nuova pagina in output;
♦il comando Config permette di modificare i dettagli della pagina selezionata. Cliccando
su questo comando, si aprirà la finestra di opzioni;
♦il comando Config permette di modificare i dettagli della pagina selezionata. Cliccando
su questo comando, si aprirà la finestra di opzioni.
Le pagine di playlist devono essere generate manualmente.
6.37.3. Upload file via FTP
Una volta create le pagine HTML, SAM ha un client FTP interno che può inviare queste
pagine ad un server web. I campi da compilare sono i seguenti:
♦host: IP o alias DNS del server web;
♦user passive FTP mode: abilita la modalità passiva di trasferimento. Questa modalità è
utile se la macchina che gestisce SAM è dietro un server proxy o un firewall;
♦remote web directory (web root): il percorso completo alla directory principale del
webserver;
♦remote picture directory: il percorso completo alla directory del webserver contenente le
cover degli album.
6.38. StreamAds Providers
StreamAds è la tecnologia che consente la gestione della pubblicità all’interno del flusso
audio. Si possono avere un massimo di tre provider pubblicitari e prendere i contenuti da
pubblicizzare da tre diversi punti.
♦provider interface URL: questo indirizzo viene fornito normalmente dal provider
pubblicitario;
♦username: username del provider, se necessario;
In questa finestra si settano le regole di rotazione della pubblicità, per evitare che una di
esse sia trasmessa troppo spesso o che due spot appartenenti alla stessa categoria siano
trasmessi di seguito.
Di seguito, le StreamAds Rotation Rules:
♦maximum variance: la massima tolleranza in secondi di uno spot, oltre il tempo stabilito.
Si consideri a titolo d’esempio uno spot della durata di 35 secondi in uno slot che ne
dura 30. Se la maximum variance è settata a 5 secondi, questo spot verrebbe comunque
trasmesso;
♦minimum wait before spot can play again: quanto tempo bisogna attendere, al minimo,
per riproporre lo stesso spot in trasmissione;
♦minimum separation between categories: quanto tempo bisogna attendere, al minimo, per
riproporre uno spot della stessa categoria in trasmissione. Questo permette, come
precedentemente detto, di evitare di trasmettere spot di prodotti simili, magari
concorrenti;
♦minimum separation between campaigns: quanto tempo bisogna attendere, al minimo,
per riproporre uno spot della stessa campagna. Se per un’azienda sono presenti in
archivio 5 spot, si eviterà in questo modo di trasmetterli a distanza troppo ravvicinata;
♦traffic log rotation logic: le tre opzioni di questo menu a tendina definiscono la logica di
rotazione, che può essere esclusiva, concorrente o a inventario condiviso. Le modalità
esclusiva e concorrente tendono ad isolare ogni provider dall’altro, mentre l’inventario
condiviso permette di scegliere gli spot come se i tre provider fossero in realtà un
provider unico.
6.40. Registration Key
Si possono scegliere dei preset, ovvero delle configurazioni già costruite ed adatte ad
alcuni generi musicali. Ogni player (deck A, deck B, sound FX, gli ausiliari, il voice FX e
l’intero mixer) può avere il suo equalizzatore personalizzato: è sufficiente abilitarlo
tramite il tasto enable.
6.42. AGC (Automatic Gain Control)
L’Automatic Gain Control consente di pulire l’audio all’interno della pipeline per fornire
una migliore qualità.
GATED AGC
Il Gated AGC è usato per normalizzare il volume in modo che l’audio abbia
approssimativamente un volume costante. Il Gated AGC dovrebbe essere usato con il
processore a 5 o a 2 bande perché si limita semplicemente a fornire un migliore flusso
audio per i processori.
STEREO EXPANDER
Lo stereo expander può dare maggiore dimensione all’audio, specialmente se si tratta di
una trasmissione vocale. Questo strumento è utilissimo per il modulo Voice FX.
BASS EQ
L’equalizzatore dei bassi serve ad enfatizzare il suono di bassi e battiti.
5-BAND PROCESSOR
Il processore a cinque bande divide l’audio in 5 fasce di frequenza ed applica un
compressore, un limitatore e un expander a ciascuna banda.
DUAL-BAND PROCESSOR
Il processore a due bande divide l’audio in 2 fasce di frequenza ed applica un
compressore, un limitatore ed un expander a ciascuna banda.
CLIPPER
Il clipper si assicura che il volume audio non ecceda il massimo. Non si tratta di un clipper
molto rigido, ma permette comunque di avere un’ottima qualità nei casi di distorsione.
Bisogna porre attenzione al non processare troppo l’audio. AGC combinati a cascata
possono peggiorare il suono e perdere dettagli del flusso. La stessa raccomandazione va
fatta per la combinazione tra AGC e DSP esterni.
6.43. DSP (Digital Sound Processing)
Dsp è un acronimo per Digital Sound Processing (o processor). I plug-in DSP possono
modificare l’audio e sono spesso applicativi limitatori, installatori di riverbero e
normalizzatori.
Per abilitare un plug-in DSP, basta cliccare la checkbox accanto al plug-in stesso. Per
configurarlo, assicurarsi che il plug-in sia selezionato e cliccare sul comando configure
plugin. I plug-in DSP processano l’audio utilizzando i plug-in in ordine discendente.
6.44. Output
Settare le opzioni correttamente è fondamentale per una buona performance di SAM
Broadcaster. La regia permette di avere una bassa latenza audio, spesso anche più bassa di
15 millisecondi. Ovviamente, la latenza dipende dalla qualità dell’hardware che sta alla
base del software.
♦right channel: l’output principale verrà trasmesso sul canale sinistro, mentre il cue output
verrà mandato sul destro. Questo implica che entrambi i canali saranno forzatamente
canali mono, ma ciò non significa che lo sia la trasmissione;
♦rear channels: l’output principale sarà trasmesso sugli speaker anteriori mentre il cue
output su quelli posteriori. Opzione da attuare per schede audio che supportano almeno
il 5.1. Questa modalità non lavora bene con il driver DirectSound ma funziona bene con
il driver Kernel;
♦seperate sound device (recommended): la modalità migliore per il preascolto è quella che
utilizza schede audio separate.
Cue output driver: esattamente come per l’output principale, si può scegliere il driver da
utilizzare.
Cue device specifies: indica quale scheda audio va utilizzata per il cue output.
6.44.3. Buffer settings
Packets: il numero di buffer audio che il driver di output può memorizzare per assicurare
un audio ininterrotto.
Packet time: durata massima di un singolo pacchetto audio.
Maximum latency: massima latenza audio che ci si può aspettare nella pipeline audio.
Settare una latenza troppo bassa su sistemi che non se lo possono permettere è rischioso e
può causare problemi.
Force mono output: quando viene selezionata questa opzione, tutti gli output stereo
verranno convertiti in mono.
6.45. SAM Shortcut Keys
SAM Broadcaster ha un elenco di scorciatoie da tastiera che rendono il lavoro di un
regista più facile.
6.45.1. Scorciatoie globali
♦[CTRL] + [H]: nasconde SAM
Playlist:
♦[INS]: aggiunge una nuova categoria
♦[F10]: aggiorna
Queue:
♦[ENTER] o doppio click: riproduce il brano successivo
♦[F10]: aggiorna
History:
♦[ENTER]: aggiunge il brano selezionato alla fine della coda
♦[CTRL] + [ENTER]: aggiunge il brano selezionato all’inizio della coda
Request:
♦[ENTER]: aggiunge il brano selezionato alla fine della coda
Voice FX:
♦[SHIFT] + [F11]: blocca il Voice FX per parlare. Premendo [F11] (con o senza [SHIFT])
Voice FX verrà sbloccato;
♦[F11]: Attiva il press to talk. Accende il microfono se necessario.
PAL IDE:
♦[F1]: carica la guida PAL
♦remove: riproduce il brano [x] volte, quindi lo cancella dalla libreria brani, ad esempio da
tutte le categorie;
♦erase: suona il brano [x] volte, quindi rimuove il brano da tutte le categorie e lo rimuove
fisicamente. Also see the Categories under [Special ->Play limit].
6.48. Tab Settings
6.48.1. Cue point
Questa sezione permette di settare i vari cue point:
♦start: il punto dal quale inizierà il brano;
♦custom cue points: si possono settare fino a 10 cue point di un brano in piena libertà.
Questo errore indica che non è stato creato un relay di statistiche per il flusso in streaming
e, qualora fosse stato creato, non vi è settato un IP valido.
6.49.2. Audio Fast Forwarding
Questo errore è spesso causato da un settaggio scorretto della pipeline. Per aprire la
pipeline audio, andare su SAM >Config >Audio pipeline.
CONFIGURAZIONE 1: DECK OUTPUT
Vantaggi:
♦latenza bassa quando si aggiusta il volume ed i settaggi dell’equalizzatore o quando si
mette in pausa;
♦VoiceFX non crea echi se si registra dal microfono.
Svantaggi:
♦mix non ottimale nel crossfading;
Setup:
♦impostare il deck A, deck B e Sound FX sull’output modulo DirectSound;
Svantaggi:
♦latenza alta quando si aggiusta il volume ed i settaggi dell’equalizzatore o quando si
mette in pausa;
♦Voice FX crea echi se si registra dal microfono.
Setup:
♦impostare il deck A, deck B e Sound FX sull’output modulo Silent;
function DoRefresh()
{
var buster = Math.random();
document.location.href = ‘playing.html?buster=‘+buster;
}
//–>
</SCRIPT>
<!—LOOP(history,1,5)—>
<!—LOOP_ROW—>
<tr bgcolor=“$darkrow$”>
<td><font size=“2” color=“#003366”><small>$history.combine$</small></font></td>
<td nowrap width=“1%”>
<p align=“center”><font size=“2” color=“#003366”><a href=“$history.buycd$” target=“_blank”><img
… src=“images/buy.gif” alt=“Buy this CD now!” border=“0”></a></font>
</td>
<td nowrap width=“1%”>
<p align=“center”><font size=“2” color=“#003366”><a href=“$history.website$” target=“_blank”><img
…src=“images/home.gif” alt=“Artist homepage” border=“0”></a></font>
</td>
…………. <td nowrap align=“center” nowrap width=“1%”></td>
<td nowrap><font color=“#003366” size=“2”><small>$history.album$</small></font></td>
<td nowrap>
<p align=“right”><font color=“#003366” size=“2”><small><strong>$history.mmss$</strong></small></font>
</td>
</tr>
<!—LOOP_END—>
</table>
Questa parte di codice mostra informazioni sullo storico dei brani recentemente trasmessi.
</td><td valign=‘top’ align=‘center’>
<!—include(“_top10requests.html”)—>
</td>
<!—include(“_footer.html”)—>
<div align=“center”><center>
<table border=“0” width=“98%” cellspacing=“1” cellpadding=“2”>
<tr bgcolor=“#002E5B”>
<td colspan=“5”>
<p align=“center”><font size=“2”><b><font color=“#FFFFFF” size=“1” face=“Verdana, Arial, Helvetica, sans-
serif”>Song Information</font></b></font>
</td>
</tr>
<tr>
<td colspan=“5”><img src=“images/spacer.gif” width=“15” height=“13”></td>
</tr>
<tr>
<td bgcolor=“EAEAEA” align=“right”><font color=“#333333”
size=“2”>Title<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“eaeaea”><b><font color=“#003366” size=“2”>$song.title$</font></b></td>
<td bgcolor=“eaeaea” align=“right”><font color=“#333333”
size=“2”>BuyCD<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“eaeaea” align=“center”><a href=“$song.buycd$” target=“_blank”><img src=“images/buy.gif”
alt=“Buy this CD now!” border=“0”></td>
<td bgcolor=“EAEAEA”>
<p align=“center”><font color=“#333333” size=“2”>Picture</font>
</td>
</tr>
<tr>
<td bgcolor=“#FFFFFF” align=“right”><font color=“#333333”
size=“2”>Artist<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“#FFFFFF”><b><font color=“#003366” size=“2”>$song.artist$</font></b></td>
<td bgcolor=“#FFFFFF”></td>
<td bgcolor=“#FFFFFF”></td>
<td bgcolor=“#FFFFFF” rowspan=“5” valign=“middle”>
<p align=“center”><a href=“$song.buycd$” target=“_blank”><img
src=“$picture_dir$$song.picture$” alt=“Buy CD!” border=0></a>
</td>
</tr>
<tr>
<td bgcolor=“EAEAEA” align=“right”><font color=“#333333”
size=“2”>Album<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“eaeaea”><b><font color=“#003366” size=“2”>$song.album$</font></b></td>
<td bgcolor=“eaeaea” align=“right”><font color=“#333333” size=“2”>Home<img src=“images/spacer.gif”
width=“15” height=“13”></font></td>
<td bgcolor=“eaeaea” align=“center”><a href=“$song.website$” target=“_blank”><img src=“images/home.gif”
alt=“Artist homepage” border=“0”></a></td>
</tr>
<tr>
<td bgcolor=“#FFFFFF” align=“right”><font color=“#333333”
size=“2”>Year<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“#FFFFFF”><b><font color=“#003366” size=“2”>$song.
albumyear$</font></b></td>
<td bgcolor=“#FFFFFF”><font color=“#333333” size=“2”></font></td>
<td bgcolor=“#FFFFFF”></td>
</tr>
<tr>
<td bgcolor=“EAEAEA” align=“right”><font color=“#333333”
size=“2”>Genre<img src=“images/spacer.gif” width=“15” height=“13”></font></td>
<td bgcolor=“eaeaea”><b><font color=“#003366” size=“2”>$song.genre$</font></b></td>
<td bgcolor=“eaeaea”>
<p align=“right”><font color=“#333333” size=“2”>Request<img src=“images/
spacer.gif” width=“15” height=“13”></font>
</td>
<td bgcolor=“eaeaea” align=“center”><a href=“javascript:request($song.
songID$,’$samhost$’,’$samport$’)”><img src=“images/request.gif”
alt=“Request this song now!” border=“0”></a></td>
</tr>
<tr>
<td colspan=“5”><img src=“images/spacer.gif” width=“15” height=“13”></td>
</tr>
<tr bgcolor=“#002E5B”>
<td align=“right” colspan=“5”>
<p align=“center”><b><font color=“#FFFFFF” size=“1” face=“Verdana, Arial, Helvetica, sans-
serif”>Lyrics</font></b>
</td>
</tr>
<tr bgcolor=“eaeaea”>
<td align=“right” colspan=“5”>
<p align=“left”><font color=“#003366” size=“2”><b>$song.lyrics$</b></font>
</td>
</tr>
<tr>
<td colspan=“5”><img src=“images/spacer.gif” width=“15” height=“13”></td>
</tr>
<tr bgcolor=“#002E5B”>
<td align=“right” colspan=“5”>
<p align=“center”><font color=“#FFFFFF” size=“2”><b><font size=“1” face=“Verdana, Arial, Helvetica, sans-
serif”>Information</font></b></font>
</td>
</tr>
<tr bgcolor=“eaeaea”>
<td align=“right” colspan=“5”>
<p align=“left”><font color=“#003366” size=“2”><b>$song.info$</b></font>
</td>
</tr>
</table>
<!—include(“_footer.html”)—>
♦WriteStr(Value).
Entrambi i comandi accettano una stringa come parametro; l’unica differenza tra i due
comandi è quella che il primo andrà a capo dopo avere stampato la stringa, mentre il
secondo no.
Attenzione: ogni comando termina con un punto e virgola.
var T : Integer;
for T := 1 to 3 do
WriteLn(‘WriteLn ‘+IntToStr(T));
for T := 1 to 3 do
WriteStr(‘WriteStr ‘+IntToStr(T));
Il linguaggio non impone che una variabile abbia un valore di default, anche se è
consigliabile che ci sia. Chi non è nuovo alla programmazione vedrà che le variabili PAL
supportano formati standard come string, integer, float, boolean, variant e datetime. Le
variabili possono essere anche array oppure oggetti.
Ad esempio:
var S : Integer = 0;
PAL.Loop := True;
WriteLn(S);
WriteLn(S);
S := S + 1;
S := 123;
WriteLn(S);
PAL.WaitForTime(‘+00:00:10’);
Ad esempio:
D := Now; {data e orario correnti}
D := Date; {Oggi, a mezzogiorno}
D := Time; {Soltanto l’orario, esclude la data}
D := Now – 1; {Ieri, allo stesso orario}
D := Now + (1/24); {tra un’ora}
PAL fornisce anche un utile strumento per la gestione del tempo.
La funzione si chiama T, ed è una timemask che può esistere in diversi formati.
TEMPO STANDARD: HH:MM:SS.
La maschera deve essere rappresentata in formato 24 ore e contenere tutti i campi, ore,
minuti e secondi.
Ad esempio:
T[‘14:00:00’]
Alcuni esempi:
D := T[‘13:00:00’]; {Le 13:00 di oggi}
D := T[‘+00:00:10’]; {10 secondi da adesso}
D := 1 + T[‘+00:00:10’]; {Domani, dieci secondi da adesso}
Decodificare una data nelle sue parti:
var y,m,d : Integer;
var hh,mm,ss,ms : Integer;
var D : DateTime;
D := Now;
DecodeDate(D,y,m,d);
DecodeTime(D,hh,mm,ss,ms);
Funzione DayofWeek:
if DayOfWeek(Now) = Sunday then {Do stuff};
Il giorno della settimana è memorizzato con valori costanti che possono essere usati. La
domenica vale 1 e il sabato vale 7.
function Now: DateTime;
function Date: DateTime;
function Time: DateTime;
function DateTimeToStr(dt: DateTime):string;
function StrToDateTime(str : String): DateTime;
function DateToStr(Date: DateTime):String;
function StrToDate(Str : String): DateTime;
function TimeToStr(Time : DateTime):String;
function StrToTime(Str : String): DateTime;
function DayOfWeek(dt : DateTime):Integer;
function FormatDateTime(Format : String; dt : DateTime):String;
function IsLeapYear(Year : Integer):Boolean;
function IncMonth(dt : DateTime; nm : Integer):DateTime;
procedure DecodeDate(dt : DateTime; var yy,mm,dd : Integer);
function EncodeDate(yy, mm, dd : Integer):DateTime;
procedure DecodeTime(dt : DateTime; var hh, mm, ss, ms : Integer);
function EncodeTime(hh, mm, ss, ms : Integer):DateTime;
6.52.11. La logica nel PAL
Il linguaggio PAL può utilizzare gli operatori logici esattamente come gli altri linguaggi di
programmazione:
♦= uguale a
♦diverso da
♦AND operatore logico AND, restituisce vero solo se entrambe le espressioni sono vere
♦OR operatore logico OR, restituisce vero se almeno una delle espressioni è vera.
Ad esempio:
Var B : Boolean; …………………………//crea una variabile logica
Var X : Integer = 0;…………………….//tre interi
Var Y : Integer = 1;
Var Z : Integer = 2;
B := X<0; …………………………………………………………..//B è falso
B := X = 0; …………………………………………..//B è vero
B := Z>Y; …………………………………………………………….//B è vero
B := NOT(X > 0); ………………………………..//B è vero
B := (X<0) OR (X=0); ………………………..//B è vero
B := (X<0) AND (X=0); …………………….//B è falso
B := (X<=0);……………………………………….//B è vero
B := NOT B; ……………………………………….//B inverte il suo valore logico precedente
B := (X<>Z); ………………………………………//B è vero
B := (1+1);…………………….. …………………//Operazione non logica, invalida.
In casi più complessi è possibile usare gli IF annidati, per valutare condizioni multiple:
IF (A=1) THEN
BEGIN
{Fai qualcosa}
{Fai qualcos’altro}
END
ELSE IF (A = 2) THEN
{Fai qualcosa}
ELSE
{Fai qualcos’altro};
CASE
Case è un costrutto più utile per scelte multiple:
CASE A OF
1 : begin
………{Do stuff}
………{And some more}
………end;
…2 : {Do stuff};
else {Do other stuff}
END;
CICLI ED ITERAZIONI
La prima iterazione possibile è quella dell’intero script che viene effettuata tramite:
PAL.Loop := True;
Inoltre è chiaramente possibile creare dei cicli all’interno dello script come in qualsiasi
linguaggio di programmazione.
FOR - TO - DO
Il costrutto for – to – do è il classico ciclo for. Indica quante volte deve essere ripetuto il
blocco che va da begin ad end.
var T : Integer;
for T := 0 to 20 do
begin
WriteLn(T);
end;
REPEAT - UNTIL
Il costrutto repeat – until differisce dal for per non avere un numero di iterazioni definito a
priori. Il ciclo terminerà solo quando sarà verificata la condizione until.
T:=0;
repeat
WriteLn(T);
T:=T+1;
until (T > 10);
WHILE – DO
Il costrutto while – do ciclerà un blocco di istruzioni finché la condizione di ingresso nel
ciclo (while) rimane vera. Questo blocco è pericoloso se usato con disinvoltura perché può
creare molto spesso cicli infiniti.
T:=0;
While (T<20) do
begin
WriteLn(T);
T:=T+1;
end;
La gestione del tempo può creare numerosi problemi logici. Il più classico è dato da
questo pezzo di codice:
PAL.Loop := True;
PAL.WaitForTime(‘10:00:00’);
WriteLn(‘Sono le 10 del mattino’);
PAL.WaitForTime(‘20:00:00’);
WriteLn(‘Sono le 8 di sera’);
PAL.WaitForTime(‘23:59:59’);
Se questo script viene eseguito alle 7 del mattino, farà egregiamente il suo lavoro. SAM aspetterà sino alle 10,
quindi scriverà il messaggio, poi aspetterà sino alle 20 e ne scriverà un altro, poi attenderà fino ad un minuto
prima di mezzanotte per ricominciare da capo.
Se invece lo script viene eseguito alle 17, SAM controllerà il primo WaitForTime e si
accorgerà che le 10 sono passate ed immediatamente stamperà il messaggio “Sono le 10
del mattino” senza aspettare ed ovviamente all’orario sbagliato. Da quel momento, però, il
programma funzionerà correttamente.
Un competente sviluppatore PAL deve essere in grado di gestire situazioni come questa.
Un modo per risolvere questo problema può essere dato da questo codice:
PAL.Loop := True;
PAL.WaitForTime(‘10:00:00’);
WriteLn(‘Sono le 10 del mattino’);
PAL.WaitForTime(‘20:00:00’);
WriteLn(‘Sono le 8 di sera’);
PAL.WaitForTime(‘23:59:59’);
Si può notare dal codice che non si aspetta all’interno di un costrutto if, anche perché
questo non è possibile. Gli sviluppatori di SAM hanno comunicato che non è possibile
aspettare all’interno di costrutti if, ma neanche all’interno di costrutti case o di funzioni e
procedure definite dall’utente. Questo perché PAL non nasce per essere eseguito riga per
riga ma per essere considerato come listato da compilare: ecco perché ciò non risulta
essere possibile. Fortunatamente è un problema aggirabile. Si può ad esempio ripetere il
blocco di istruzioni dove necessario, mentre al posto di if o case si può utilizzare il while –
do.
Ad esempio:
IF (A > B) THEN
begin
PAL.WaitForPlayCount(1);
end;
Usare questo stratagemma in modo disinibito è sconsigliato, perché ogni volta che viene
aperta la LockExecution SAM Broadcaster ne risente moltissimo a livello audio e di
encoding.
6.52.15. Gli oggetti
PAL è un linguaggio orientato agli oggetti. Nonostante spesso capiti che questo linguaggio
venga utilizzato come procedurale è opportuno imparare a gestire oggetti e metodi.
Gli oggetti sono simili a delle variabili, ma differentemente da loro possono effettuare
operazioni tramite i metodi e contenere informazioni eterogenee. Alcune proprietà
possono soltanto essere si usa per leggere valori ma non per cambiarli.
ActivePlayer.FadeToNext; ………………//FadeToNext è un metodo
ActivePlayer.Volume := 255; ………..//Volume è una proprietà in lettura
……………… ……………… ……………… ……….//scrittura
WriteLn(ActivePlayer.Duration); .//Duration è una proprietà in sola lettura
L’oggetto Obj può anche essere inizializzato come TObject, ossia l’oggetto generico per
poi subire un casting.
var Obj : TObject;………………//La variabile Obj è inizializzata come TObject;
Obj := ActivePlayer;………….//Obj è adesso il player attivo, cioè quello che sta
……………… ……………… ………….//suonando un brano
if Obj is TPlayer then ………//Se Obj è un Tplayer
TPlayer(Obj).FadeToNext; //Obj che è di fatto un Tplayer, deve subire un
……………… ……………… ………….casting //a Tplayer e quindi subire la procedura
……………… ……………… ………….FadeToNext.
Gli oggetti possono anche essere distrutti facilmente per liberare memoria.
var Lista : TStringList;………//Inizializza una variabile TStringList;
Lista.Free;………………………….//Libera la memoria occupata dalla variabile List.
♦encoder e relay.
Ognuna di queste parti è gestita da PAL tramite oggetti che ne gestiscono le funzioni.
COLLEZIONE DEI BRANI
SAM salva tutto quello che viene suonato all’interno della libreria dei brani. Più
precisamente SAM può riprodurre (e quindi trasmettere) solo brani presenti in libreria. Se
non fosse così, SAM non sarebbe in grado di gestire la playlist e le logiche di selezione
che caratterizzano un’emittente professionale.
IMPORTAZIONE DI FILE NELLA LIBRERIA DI BRANI
I seguenti comandi aggiungono brani all’interno della categoria identificata da CAT:
CAT[‘Categoria’].AddDir(‘c:\music\’, ipBottom);
//Aggiunge una directory
CAT[‘Categoria’].AddFile(‘c:\music\test.MP3’, ipBottom);
//Aggiunge un file
CAT[‘Categoria’].AddList(‘c:\music\playlist.m3u’, ipBottom);
//Aggiunge una playlist
CAT[‘MyCategory’].AddURL(‘http://localhost:8000/test.MP3’, ipBottom);
//Aggiunge un URL
Il secondo parametro, ipbottom, indica che il brano deve essere inserito alla fine della
categoria: questo parametro è maggiormente indicativo in caso di inserimenti all’interno
della coda che non all’interno della categoria; ciononostante, è settabile anche in questo
caso e può essere sia in alto (ipTop) che in basso (ipBottom).
Gli stessi comandi possono essere utilizzati per aggiungere file alla coda:
Queue.AddDir(‘c:\music\’, ipBottom);
Queue.AddFile(‘c:\music\test.MP3’, ipBottom);
Queue.AddList(‘c:\music\playlist.m3u’, ipBottom);
Queue.AddURL(‘http://localhost:8000/test.MP3’, ipBottom);
PAL.Loop := True;
Cat[‘Tracks’].QueueBottom(smLemmingLogic, EnforceRules);
Cat[‘Music (All)’].QueueBottom(smLRPA, EnforceRules);
Cat[‘Hot Hits’].QueueBottom(smLRP, EnforceRules);
PAL.WaitForQueue(0);
Il primo script dovrebbe essere molto chiaro. Si utilizza alla fine il comando
WaitForQueue(0) per aspettare che la coda sia vuota.
//Script PAL numero 2
PAL.Loop := True;
PAL.WaitForPlayCount(5);
Cat[‘MyJingles’].QueueTop(smLRP, NoRules);
PAL.WaitForPlayCount(3);
Cat[‘MyPromos’].QueueTop(smLRP, NoRules);
Cat[‘MyAdz’].QueueTop(smLRP, NoRules);
Il secondo script aspetta che vengano riprodotti cinque brani (con il comando
WaitForPlayCount(5)), quindi inserisce all’inizio della coda un jingle, aspetta che
vengano riprodotti altri tre brani, quindi inserisce in cima alla coda una pubblicità ed un
promo, che ovviamente, visto che sono inseriti in testa, devono essere elencati al contrario.
REGOLE DI PLAYLIST
I brani memorizzati all’interno delle categorie possono essere selezionati in diversi modi,
come prima già visto. Un brano può essere selezionato soltanto se rispetta le regole dettate
dalla logica di playlist. Queste regole mirano a limitare le ripetizioni degli stessi brani in
un periodo di tempo, sia per questioni estetiche che per motivi legali.
Le regole non dovrebbero però essere applicate a jingle, pubblicità e promo. I motivi di
tale esclusioni dovrebbero essere scontati: si tratta di file che devono essere ripetuti
proprio perché richiesto dalla radio o dai clienti, cercando comunque di mantenere una
variabilità.
La variabilità dei jingle si potrebbe risolvere utilizzando la regola smLRP (brano meno
recentemente suonato).
MOTORE AUDIO
Il motore audio è formato da diversi canali audio rappresentati dai player (deck). Il
linguaggio PAL permette di controllare varie componenti del motore audio, il che risulta
utile quando occorre specificare cosa queste parti debbano fare. Il deck A, il deck B,
l’AUX1, l’AUX2, l’AUX3 e il modulo Sound FX sono tutti player, e fanno parte della
classe TPlayer. Voice FX non rientra tra i player perché attraverso questo modulo
dovrebbe soltanto passare la voce.
VISUALIZZARE INFORMAZIONI SU UN BRANO IN ESECUZIONE NEL DECK
A
Lo script seguente visualizza le informazioni del deck A:
var Song : TSongInfo;
Song := DeckA.GetSongInfo;
if Song = nil then
……………WriteLn(‘Non ci sono brani caricati sul deck A’)
else
……………begin
……………WriteLn(‘Artista: ‘+Song[‘artist’]);
……………WriteLn(‘Titlolo ‘+Song[‘title’]);
……………WriteLn(‘Album: ‘+Song[‘album’]);
……………WriteLn(‘Durata: ‘+Song[‘duration’]);
……………end;
Song.Free;
Questo script fondamentalmente non fa altro che verificare se c’è almeno un deck attivo e,
se non ne trova, lancia un allarme.
PAL.Loop := True;
PAL.WaitForTime(‘XX:00:00’);
Queue.AddFile(‘c:\news\news.MP3’,ipTop);
ActivePlayer.FadeToNext;
Lo script appena mostrato, invece, aspetta l’inizio dell’ora successiva, carica le news al
top della coda e sfuma il brano in trasmissione nel player attualmente attivo per
trasmettere le notizie immediatamente.
6.52.18. LinerAdder
INTRODUZIONE
L’esempio del programma LinerAdder è leggermente più complesso, ma particolarmente
indicativo. Inserisce un “liner” ovvero un breve file sonoro (che può essere anche un
effetto o un brand della radio) sopra un brano attualmente in trasmissione, sfruttando un
canale ausiliario.
L’inserimento del liner avviene soltanto se si verificano due condizioni:
♦il brano ha un intro che dura più di x secondi
♦il brano è una canzone, e non un jingle o uno spot.
Per l’utilizzo:
♦bisogna essere certi che siano stati inseriti i tempi di intro all’interno dei brani, tramite il
song information editor;
♦bisogna assicurarsi che l’AUX1 abbia l’Automatic Gain Controller impostato
correttamente.
COSTANTI DEL PROGRAMMA
const MIN_INTRO = 5*1000;
const MIN_WAIT = ‘+00:15:00’;
const LINERS_CATEGORY = ‘Liners’;
Questi comandi creano il prototipo della funzione ExtractIntro, che tramite il comando
forward può essere definita successivamente.
IMPLEMENTAZIONE PRINCIPALE
var Song, Liner : TSongInfo;
Il metodo Eject si applica ad un qualsiasi player e comporta l’immediata rimozione del file
caricato all’interno, anche se è in riproduzione.
Liner := CAT[LINERS_CATEGORY].ChooseSong(smLRP,NoRules);
Se l’accodamento del liner all’interno del player ausiliare non avviene, segnala un altro
errore. A questo punto comincia la parte principale.
while Waiting do
…begin
……………PAL.WaitForPlayCount(1);
……………Song := ActivePlayer.GetSongInfo;
……………if (Song=nil) thenWriteLn(‘Il player attivo non ha informazioni sul
brano?’)
……………else
…………………………begin
………………………………………Intro := ExtractIntro(Song);
………………………………………if(Song[‘songtype’]=‘S’) and (Intro>=MIN_INTRO) then
……………………………………………………begin
…………………………………………………………………Aux1.Play;
…………………………………………………………………Waiting := False;
……………………………………………………end;
………………………………………Song.Free;
………………………………………Song := nil;
…………………………end;
…end;
PAL.WaitForTime(MIN_WAIT);
PAL.Loop := True;
Finché la variabile di appoggio Waiting è vera (ed è stata impostata così all’inizio del
programma) occorre aspettare il prossimo brano, quindi estrarre le informazioni dal brano
del player attivo; se tali informazioni non ci sono allora bisogna segnalarlo; altrimenti si
continua.
All’intero Intro si attribuisce il valore restituito dalla funzione ExtractIntro, non ancora
trattata. Se la tipologia del file Song è S (quindi un brano) e contemporaneamente Intro
(che contiene la durata dell’intro) è maggiore del valore definito per costante, allora si fa
partire il player ausiliare e la variabile Waiting si spegne.
Se non si è nelle condizioni di avviare il liner, allora si libera la variabile Song e la si
imposta a NIL. A questo punto si attende il tempo minimo e il programma ricomincia,
ripristinando Waiting a True.
FUNZIONE EXTRACTINTRO
function ExtractIntro(Song : TSongInfo):Integer;
var
P : Integer;
XFade : String;
♦se il fading esiste estrapola dalla stringa contenente i dati di fading esclusivamente il
tempo di intro e lo converte in un numero;
♦restituisce questo numero, altrimenti restituisce – 1.
Le operazioni Delete possono funzionare in questo modo perché &i= rappresenta il primo
parametro della stringa.
6.52.19. Funzioni di utilità - Curtime
Curtime è un metodo eseguibile su qualsiasi oggetto di tipo Tplayer e permette di sapere
l’attuale tempo in millisecondi di un brano, ovvero quanto è passato dall’inizio del brano
al momento dell’esecuzione della funzione stessa.
Il suo utilizzo è comodo per sapere quanto tempo manca ad un brano per completarsi.
Var Done : Boolean = False;
while not done do
…begin
…if((ActivePlayer.Duration>0) AND ((ActivePlayer.Duration-
ActivePlayer.CurTime)>10000)) then
……………begin
…………………………WriteLn(‘This song will end in 10 seconds!’);
…………………………Done := True;
……………end;
…end;
Il programma valuta se la durata del brano è maggiore di zero e, nel caso in cui la
differenza tra la durata totale del brano e quanto già riprodotto (quindi il tempo rimanente)
sia maggiore di 10 secondi, lo segnala.
6.52.20. Funzioni di utilità – Gestione del volume
Tramite PAL è possibile leggere e modificare il volume di un deck. L’utilità della modifica
automatica dei volumi si nota ad esempio nel passaggio da un brano ad uno spot
pubblicitario.
var Done : Boolean = False;
var Song : TSongInfo;
While not Done do
…begin
…………………………if QueuedPlayer <> nil then
…………………………begin
………………………………………Done := True;
………………………………………Song := QueuedPlayer.GetSongInfo;
………………………………………if (Song<>nil) then
……………………………………………………case song[‘songtype’] of
…………………………………………………………………‘S’ :
QueuedPlayer.Volume := 255;
…………………………………………………………………‘A’,’J’,’P’ :
QueuedPlayer.Volume := 350;
…………………………………………………………………else
QueuedPlayer.Volume := 255;
……………………………………………………end; //case
…………………………end;
…end;
PAL.Loop := True;
PAL.WaitForPlayCount(1);
Il programma estrae le informazioni dal brano accodato al player ed in base alla tipologia
di brano applica un volume diverso, più basso per i brani e più alto per pubblicità, jingle e
promo. 255 è il livello massimo di volume, mentre 360 è un volume con guadagno
aumentato.
6.52.21. Encoder e relay di statistiche
Il linguaggio PAL permette l’accesso anche agli encoder e ai relay di statistiche. Tramite
PAL è possibile stoppare o fare partire encoder, così come inserire script.
RELAY DI STATISTICHE
La classe relay consente di svolgere cinque importanti operazioni:
♦leggere lo stato dei relay
Lo script appena mostrato non fa altro che verificare se almeno un relay è attivo; in quel
caso visualizza ascoltatori, picco e numero massimo di ascoltatori di tutti i relay.
Lo script seguente fa la stessa cosa, utilizzando però un ciclo e considerando ogni relay a
sé stante:
var I : Integer;
PAL.LockExecution;
for I := 0 to Relays.Count-1 do
begin
WriteStr(‘Relay numero ‘); WriteLn(I);
WriteStr(‘—Attività: ‘); WriteLn(Relays[I].Active);
WriteStr(‘—Stato: ‘); WriteLn(Relays[I].Status);
WriteStr(‘—Ascoltatori: ‘); WriteLn(Relays[I].Viewers);
WriteStr(‘—Picco: ‘); WriteLn(Relays[I].Viewers_High);
WriteStr(‘—Bitrate in (kbps): ‘); WriteLn(Relays[I].Bitrate);
WriteStr(‘—Formato: ‘); WriteLn(Relays[I].Format);
WriteLn(‘‘);
end;
PAL.UnlockExecution;
ENCODERS
Ecco un semplice esempio di attivazione e disattivazione di tutti gli encoders:
PAL.Loop := True;
PAL.WaitForTime(‘07:00:00’);
Encoders.StartAll;
PAL.WaitForTime(‘20:00:00’);
Encoders.StopAll;
Si può anche fermare o fare partire un singolo encoder tramite l’indicizzazione, che parte
da zero.
PAL.Loop := True;
PAL.WaitForTime(‘07:00:00’);
Encoders[0].Start;
PAL.WaitForTime(‘20:00:00’);
Encoders[0].Stop;
Sin dalla versione 3.3.2 di SAM Broadcaster è possibile creare un encoder che abbia come
unico scopo quello di archiviare il flusso audio ma non quello di trasmettere. Questa
opzione è molto utile per creare podcast o per semplice consultazione post-trasmissione.
Nello script seguente, encoder0 è l’encoder di trasmissione mentre encoder1 è l’encoder
di archiviazione. L’obiettivo dello script è quello di suddividere l’archiviazione in un file
diverso ogni ora, senza influenzare la trasmissione.
PAL.Loop := True;
PAL.WaitForTime(‘XX:00:00’);
Encoders[1].Stop;
Encoders[1].Start;
Molte emittenti radiofoniche hanno spesso la necessità di condividere un server Shoutcast
con più sorgenti. Sebbene questa non sia la modalità ideale di gestione di una web radio
con sorgenti multiple, accade più spesso di quanto non si creda. Si consiglia sempre di
veicolare tutto da una sorgente centrale, e solo in casi di emergenza fornire autonomia di
trasmissioni alle sorgenti definibili come “di secondo livello”, un po’ come avviene per i
collegamenti dagli stadi nel caso delle radiocronache delle giornate calcistiche. PAL può
automatizzare il processo di kick della sorgente precedente. Ovviamente dovrà essere
presente un encoder MP3 per Shoutcast adeguatamente configurato.
const Shoutcast_password = ‘changeme’;
const Shoutcast_host = ‘localhost’;
const Shoutcast_port = ‘8000’;
Le costanti devono essere adattate al proprio caso e richiedono password, indirizzo IP del
server di streaming e porta.
var URL : String;
URL := ‘http://admin:’+Shoutcast_password+’@’+Shoutcast_
host+’:’+Shoutcast_port+’/admin.cgi?mode=kicksrc’;
WebToFile(‘c:\dummy.txt’,URL);
Encoders.StartAll;
Bannertext_file contiene l’indirizzo assoluto del file che contiene i banner da fare
visualizzare, uno per riga. Change_interval è l’intervallo tra una visualizzazione ed
un’altra.
var CurSong : TSongInfo;
var UpdSong : TSongInfo;
var Banners : TStringList;
var Toggle : Boolean = True;
var LinePos : Integer = 0;
PAL.Loop := True;
UpdSong := TSongInfo.Create;
Banners := TStringList.Create;
Banners.Free;
UpdSong.Free;
Per tutte le righe nel file, bisogna aspettare il tempo tra un cambio e l’altro e alternare la
visualizzazione dei titoli del brano con la riga all’interno del file, tramite la funzione
SongChange.
SAM Broadcaster è uno dei pochi encoder che supporti i tag ID3 versione 2 all’interno dei
flussi MP3; sono pochi i player che supportano i tag MP3 all’interno del flusso di una web
radio, mentre è più semplice considerare i metadati inviabili per un flusso Windows
Media.
Gli script possono essere utilizzati per indicare orari, date o messaggi particolari
all’interno del flusso, così come per sincronizzare pubblicità con immagini. L’esempio
seguente mostra l’ora locale nell’area di Windows media, aggiornando ogni minuto
l’orario.
PAL.Loop := True;
PAL.WaitForTime(‘XX:XX:00’);
Encoders.WriteScript(‘CAPTION’,’The local time is now ‘+TimeToStr(Now));
La funzione WhiteScript accetta due parametri: la chiave (che specifica il tipo di Stream)
ed i dati da inviare.
6.52.22. Tecniche di scripting avanzate
A CONTATTO DIRETTO CON IL DATABASE E LE QUERY SQL
Il linguaggio PAL permette di accedere direttamente al database tramite query SQL.
Bisogna stare più che attenti nel lavorare direttamente con il database perché, sebbene
possa sembrare molto comodo, è anche molto facile commettere errori che possono
compromettere dati o perderli.
Il consiglio non è di certo quello di non lavorare con il database, ma quello di effettuare
backup frequenti o lavorare su un’altra macchina.
Per comprendere al meglio questa sezione del linguaggio PAL occorre avere delle (solide)
basi di SQL, linguaggio che esula dagli scopi di questo testo.
PARAMETRI SQL
Le query SQL sono normalmente formate in questo modo, almeno per quanto riguarda le
select:
SELECT * FROM songlist WHERE (ID = 123) AND (date_played < ‘2005-01-01’)
I valori 123 e ‘2005-01-01’ sono all’interno della query, il che causa l’aggiornamento delle
query stesse, abbastanza complicato. Per risolvere questo problema PAL ha studiato i
parametri SQL che funzionano come delle variabili.
Ad esempio si può scrivere:
var Q : TDataSet;
Q := Query(‘SELECT * FROM songlist WHERE (ID = :ID) AND (date_played < :DatePlayed)’,[123,’2005-01-
01’],True);
TDataSet è un oggetto studiato per contenere i risultati di una query SQL. La funzione
query ha 3 parametri: il primo è la query, il secondo contiene tutti i parametri SQL,
separati da virgole all’interno di parentesi quadre, mentre il terzo parametro è il parametro
readonly. Il parametro readonly, se impostato come true, non permetterà la modifica dei
dati estrapolati dalla query.
I parametri SQL possono a loro volta essere parametrici, come nel caso della data di oggi.
Q := Query(‘SELECT * FROM songlist WHERE (ID = :ID) AND (date_played
< :DatePlayed)’,[123,Now],True);
PAL converte automaticamente il valore del parametro passato all’interno delle parentesi
quadre nel corretto valore che si aspetterebbe la query nel punto in cui quel parametro è
stato richiamato.
COMANDI SQL
Il linguaggio PAL fornisce due comandi principali per manovrare il linguaggio SQL: sono
le funzioni Query e ExecSQL.
ExecSQL si usa per eseguire codice SQL che non restituisce dati. Questa funzione
restituisce il numero di righe che formavano la sottotabella della query.
function Query(Sql: String; Params: array di variabili; ReadOnly: Boolean): TDataSet;
function ExecSQL(SQL: String; Params: array di variabili): Integer;
Il comando query viene invece usato con il comando SELECT che ritorna una sottotabella.
La sottotabella viene incapsulata all’interno di un oggetto TDataSet.
L’esempio seguente utilizza la funzione query per stampare i nomi degli ultimi 10 file
eseguiti e funziona solo con Mysql e postgreSQL per via della dicitura LIMIT 10:
var Q : TDataSet;
Q := Query(‘SELECT filename FROM songlist ORDER BY date_played DESC LIMIT 10’,[],True);
Q.First;
while not Q.EOF do
begin
WriteLn(Q[‘filename’]);
Q.Next;
end;
Dopo avere estratto la sottotabella, la funzione First sposta il puntatore alla prima riga;
quindi si estrae il nome file dalla riga e si va avanti finché la tabella non esaurisce tutte le
righe. Lo script successivo seleziona tutti i brani che iniziano con la lettera A e ne setta il
balance a zero. Notare che la funzione query ha il parametro readonly settato su false.
var Q : TDataSet;
Q := Query(‘SELECT * FROM songlist WHERE title LIKE :title’,[‘A%’],False);
Q.First;
…while not Q.EOF do
…begin
…………..WriteLn(Q[‘filename’]);
…………..Q.Edit;
…………..Q[‘balance’] := 0;
…………..Q.Post;
…………..Q.Next;
end;
La funzione edit pone il TDataSet in modalità editabile, visto che di default non lo è
(meccanismo di sicurezza). La funzione post salva i dati all’interno del database mentre la
funzione next, come precedentemente detto, passa alla riga successiva.
6.52.23. Scaricare file
PAL permette, tramite la funzione WebToFile, di scaricare da Internet file musicali (ma
anche d’altro tipo) e gestirli. Il seguente script scarica un file da Internet, lo salva in locale,
lo accoda e lo manda in onda.
const File_Remote = ‘http://indirizzosito/nomefile.MP3’;
const File_Local = ‘c:\content\nomefile.MP3’;
WebToFile(File_Local,File_Remote);
Queue.AddFile(File_Local,ipTop);
ActivePlayer.FadeToNext;
La funzione WebToFile è un mezzo molto potente. Funziona non soltanto per scaricare
file, ma anche per eseguire operazioni come il kick di una precedente sorgente (come dal
caso visto precedentemente) o, ad esempio, azionare un codice PHP su un sito Internet.
6.52.24. Funzioni per maneggiare i nomi dei file
♦ExtractFileDir: la stringa risultante è una directory che può essere passata come
parametro per molte sltre funzioni, come CreateDir, GetCurrentDir, RemoveDir, o
SetCurrentDir. La stringa è vuota se il file non contiene parti che riconducano a
directory;
♦ExtractFileDrive: questa funzione restituisce esclusivamente il drive (la lettera che
corrisponde all’hard disk, in ambiente Windows) del filename passato come parametro. I
nomi che utilizzano la convenzione UNC (Universal naming convention) vedranno
restituito qualcosa simile a: ‘\nomeserver\nomecomputer’;
♦ExtractFileExt: la funzione restituisce l’estensione da un nome file, comprendendo il
punto;
♦ExtractFilePath: la stringa risultante contiene l’intero percorso del file dato come
parametro tranne il nome e l’estensione;
♦ExtractFileName: estrae nome ed estensione dal parametro fornito.
La seconda parte dello script rimuove tutti i commenti dal file M3U.
T := 0;
while T < List.Count do
…………..begin
…………..if (Trim(List[T])=‘‘) or (List[T][1]=‘#’) then
…………..begin
……………………….WriteLn(‘Cancellazione riga: ‘+List[T]);
……………………….List.Delete(T);
…………..end
…………..else
…………..T := T + 1;
…………..end;
In sostanza, il programma dice: “fin quando ci sono righe nel file controlla se la riga è
vuota o se contiene un [#] come primo carattere. In questo caso rimuovila, altrimenti
lasciala e vai avanti”.
La terza parte dello script stampa a video la lista dei file o dei flussi della playlist e li
aggiunge alla coda.
for T := 0 to List.Count-1 do
…………..begin
…………..WriteLn(List[T]);
…………..Queue.AddFile(List[T],ipBottom);
…………..end;
List.Free;
La funzione values creerà i vari campi del file di configurazione, che avranno il contenuto
del parametro di values come nome e il valore impostato alla funzione.
Il file di configurazione avrà un contenuto di questo tipo:
stazione=FabrizioMondo.com
website=http://www.fabriziomondo.com
genere=Dance,Musica classica
Il ciclo all’interno del programma serve nel caso in cui la ritrasmissione venisse skippata
per mancanza di collegamento o perché la web radio da ritrasmettere è caduta. Questo
ciclo tenterà 20 volte di ripristinare la ritrasmissione, intervallando ogni tentativo con un
brano, finché non arrivi l’orario di ripresa della normale programmazione.
SAM non è in grado di riconoscere i mime types per decidere quale contenuto abbia un
flusso in ingresso. Guarda semplicemente al nome del file. Ogni flusso che termina con
.ogg è un flusso Ogg/Vorbis, mentre ogni URL con protocollo MMS è un flusso WMA.
Si crea la singolare situazione in cui un flusso WMA non viene accettato se indicato con
protocollo HTTP, mentre viene accettato se indicato con protocollo MMS. Tutto il resto
viene considerato flusso MP3.
6.52.27. Maneggiare le categorie
AGGIORNAMENTO TRAMITE LE CARTELLE
È possibile aggiornare il database di SAM Broadcaster in modo molto agevole tramite due
funzioni: la funzione Rescan e la funzione Clear.
Lo script seguente ne mostra un esempio:
PAL.Loop := True;
DIR[‘c:\content\newmusic’].Rescan;
CAT[‘NewMusic’].Clear;
CAT[‘NewMusic’].AddDir(‘c:\content\newmusic’,False,ipBottom);
La funzione Rescan inserisce nella libreria dei brani tutti i file della cartella NewMusic che
non erano precedentemente stati inseriti e rimuove quelli che non esistono più fisicamente
in cartella. È quindi un’operazione d’aggiornamento.
La funzione Clear svuota la categoria NewMusic per poi riempirla nuovamente con il
comando AddDir.
COPIARE CATEGORIE
Il seguente script copia i brani di una categoria all’interno di un’altra categoria cercando di
non arrecare pesantezza al sistema.
const Cat_From = ‘MyCat1’;
const Cat_To = ‘MyCat2’;
var Q : TDataSet;
var T : Integer;
Q := CAT[Cat_From].SongList;
CAT[Cat_To].Clear;
PAL.LockExecution;
Q.First;
…………..while not Q.EOF do
…………..begin
………….. ………….. CAT[Cat_To].AddFile(Q[‘filename’],ipBottom);
………….. ………….. Q.Next;
………….. ………….. if (T mod 10) = 0 then PAL.UnlockExecution;
………….. ………….. if (T mod 10) = 0 then PAL.LockExecution;
…………..T:=T+1;
…………..end;
PAL.UnlockExecution;
Per potere cominciare le trasmissioni, occorre iniziare a creare una playlist. Per crearla, il
metodo più semplice è il drag and drop.
Come si evince dall’immagine, nel riquadro più a sinistra si può selezionare la cartella o i
file di interesse, quindi trasportarli nel riquadro a destra. A questo punto è sufficiente
premere il tasto play per ascoltare.
Zararadio, nella sua versione free, non dispone di un plug-in interno al programma per la
trasmissione sul web: occorre quindi utilizzare un encoder esterno, quale può essere il
plug-in DSP di Winamp.
7.1. Opzioni settabili
Per visionare il menu delle opzioni basta premere il tasto [O]. Si aprirà una finestra
contenente dodici gruppi di opzioni.
7.1.1. Fade
All’interno della sezione fade si trova overlap (in italiano sovrapposizione) che permette
di settare la durata del periodo di chiusura di un brano. È sempre importante prevedere e
valutare un periodo del brano in cui controllare lo stato del volume e preparare il fading.
La seconda sotto-opzione si chiama anch’essa fade. Si può impostare la durata in secondi
del periodo di transizione tra un brano e l’altro. Il valore di default è un buon
compromesso ma, ovviamente, ognuno dovrà valutare le proprie esigenze.
Fade on overlap (in italiano fade in sovrapposizione) indica il fading tra canzoni, mentre
fade on stop indica il fade in chiusura di trasmissione.
End of song detection (rilevatore di fine canzone) permette di verificare “vuoti” all’interno
di un brano musicale. Se all’interno dell’overlap il volume scende sotto un valore in
decibel che si può settare a scelta, Zararadio passerà alla canzone successiva.
7.1.2. Satellite
Satellite permette di settare quale “linea” della scheda audio dovrà fungere da satellite,
ovvero da fonte audio alternativa per il programma. Generalmente è comodo impostare la
line in della scheda audio. Utile solo se si vuole permettere il controllo completo della
stazione a Zararadio, cosa che non è particolarmente consigliabile.
7.1.3. Uscite
L’opzione uscite permette di settare le apparecchiature di uscita. Ci sono tre sottoparti:
1) uscita principale
2) uscita preascolto
3) uscite player ausiliari.
Si può fare una distinzione in base al numero di schede audio che si hanno a disposizione
e al tipo di attività che si vuole svolgere con i canali ausiliari. L’uscita principale permette
di settare la scheda audio che trasmetterà il flusso musicale standard; nell’utilizzo di
Zararadio in bypass con un encoder, questa scheda deve essere la stessa scheda da cui
l’encoder effettuerà lo streaming.
L’uscita preascolto permette di settare la scheda audio dalla quale si potranno sentire in
preascolto i jingle, i promo, ma anche musica, senza che essi siano trasmessi. Se si ha a
disposizione una sola scheda audio si possono fare due cose: impostare la stessa scheda
audio dell’uscita principale, oppure disabilitare il preascolto.
Lo stesso discorso si può fare anche per i canali ausiliari.
7.1.4. Registro
L’opzione registro permette di impostare dei file di log per le trasmissioni. Questo è utile
per eventuali report o semplicemente per monitorare il lavoro di Zararadio. Si possono
impostare i log cliccando su attivare log, e decidere se far riportare i dati solo dalla prima
istanza del programma stesso. Si può impostare anche il percorso dove verranno salvati i
file di log.
Un tipico file di log può essere questo:
LOG………….. ………….. ………….. ………….. ………….. ………….. ………….. ………….. ………….. FILE
========
venerdì 6 giugno 2008
TIME………….. ………….. ………….. ………….. ………….. ………….. ………….. ………….. ……..ACTION
—— ………….. ………….. ………….. ………….. ………….. ………….. ………….. ………….. ………….. ——
13:28:09 start C:\MP3\Robbie Williams – Millenium.MP3
13:29:38 start C:\MP3\Robbie Williams – Eternity.MP3
13:34:34 start C:\MP3\Robbie Williams & Kylie Minogue – Kids.MP3
13:38:03 start C:\MP3\Robbie Williams – Rock DJ.MP3
13:42:15 start C:\MP3\Robbie Williams – Rudebox.MP3
Figura 7.7. Opzione registro
7.1.5. Password
L’opzione password permette di gestire la sicurezza del programma.
Si suddivide in varie sezioni: la prima è current password, dove si dovrà inserire la
password precedentemente impostata, ai fini di potere sbloccare l’inserimento di una
nuova password. Se è la prima volta che la si vuole settare, il secondo step è andare su
attivare protezione e dare il segno di spunta. Bisogna settare due volte la password che si
vuole impostare. L’ultima sezione del sottomenu permette di settare quali opzioni
potranno essere effettuate soltanto da chi sarà a conoscenza della password. Vi sono
presenti:
♦finestra degli eventi
♦attiva/disattiva eventi.
7.1.7. Mixer
Tramite l’opzione mixer si può solo definire il percorso, ovvero la posizione sul disco in
cui si trova l’applicazione che si vuole usare come mixer, al fine di potere regolare i
volumi.
7.1.8. TTH
La finestra explorer permette di settare la cartella root del sistema. Si può scegliere una
cartella ben definita, oppure selezionare tre opzioni: Desktop, Risorse del computer e
Risorse di rete.
Si possono anche scegliere le estensioni dei file gestibili da Zararadio. Per abilitarne una,
basta selezionare la casella corrispondente.
7.1.10. Tags
Tramite l’opzione tags si può impostare la visibilità in playlist dei tag ID3 dei file audio
che verranno trasmessi. Ci sono delle opzioni settabili:
♦ARTI: indica l’artista
Le opzioni generali sono così strutturate: si può impostare un nome alla stazione, scegliere
una lingua e impostare il percorso del file che conterrà il file con il brano corrente. Si
possono inoltre settare diverse altre opzioni:
♦attivare autostart: se abilitata, Zararadio inizia immediatamente a riprodurre la playlist
all’avvio;
♦attiva AGC: se abilitata, imposta l’Automatic Gain Control, il controllo di guadagno;
♦allow opening more than one istance: se abilitata, permette di aprire più Zararadio
contemporaneamente;
♦disable events in secundary istances: se abilitata, nelle istanze secondarie (fork della
prima) non si possono gestire eventi;
♦all’avvio apri l’ultima lista di riproduzione caricata: se abilitata, all’apertura di Zararadio
comparirà l’ultima lista eseguita;
♦conferma chiusura programma: se abilitata, alla chiusura di Zararadio verrà richiesta una
conferma;
♦suona le tracce con doppio click: se abilitata, sarà sufficiente fare doppio click su una
canzone per mandarla on air immediatamente.
8. Windows Media Encoder
Windows Media Encoder è un codificatore audio/video realizzato da Microsoft che può
essere agevolmente utilizzato per creare web radio o altre tipologie di media. Una volta
installato il programma, la prima finestra che si visualizza è quella illustrata nella figura
8.1.
La finestra nella figura 8.3 mostra 9 tab; non è essenziale vederli immediatamente tutti. Il
primo tab è il più importante ed è diviso in due colonne.
Si può rinominare il flusso da Source 1 in quello che si preferisce. Sotto questo campo di
testo si trova Source from; tale impostazione consente di scegliere se effettuare streaming
tramite le periferiche di acquisizione audio/video, o tramite file o in entrambi i modi.
Per effettuare una trasmissione musicale con soli file basta cliccare sul comando apposito,
deselezionando il video se si vuole solo trasmettere musica.
Figura 8.4. Impostazioni della finestra Properties
Cliccare su Start Encoding. Comparirà un level meter per il volume (a sinistra). A destra
in basso, invece, compariranno dei dati inerenti la trasmissione.
Quando il brano finisce, proprio perché non impostato diversamente, comparirà la finestra
illustrata nella figura 8.7.
Questo tab configura la tipologia dello streaming. Nel campo name è possibile modificare
il nome della singola sorgente d’interesse.
Sotto, si ha la triplice ripartizione del flusso:
1) audio
2) video
3) script.
Sopra queste tre caselle si hanno:
1) devices
2) file
3) both.
In base a cosa si sceglie si è in grado di trasmettere live, musica o entrambe le cose.
Cliccando su add si potrà aggiungere un altro flusso che andrà configurato
autonomamente dal precedente. La sezione At end riguarda la gestione dei passaggi tra
sorgenti. Alla fine di ogni sorgente si potrà:
1) stoppare
2) continuare con la sorgente successiva
3) riprendere con la prima sorgente
4) looppare.
8.1.2. Output
Nella finestra compression si può esaminare il bitrate con il quale verrà trasmessa la voce,
la musica o entrambe. Il passo basilare è quello di scegliere la destinazione. Qual è
l’obiettivo?
Nell’elenco destinations si vedono:
♦file download
♦hardware devices
♦web server
♦pocket PC
♦file archive.
Si sceglie (nel caso in questione va lasciato Windows Media server) e si passa ad audio.
In audio si sceglie la qualità desiderata. Se lo si desidera, si può lasciare la modalità
multiple costant bit rate, che permette una scelta di più valori possibili, costanti nel tempo.
Si sceglie quindi una qualità tra quelle disponibili. I valori non sono i “canonici” 128 kbps,
64 kbps e cosi via, ed il motivo è presto detto. Windows Media Encoder aggiunge un
overhead di appena qualche kbps.
Si può scegliere la modalità two-pass (che però è più utile per il video streaming) e settare
anche una compressione temporale.
La compressione temporale risulterà strana a chi ha utilizzato solamente server Shoutcast.
Windows Media server ha un meccanismo che consente di ottimizzare i tempi morti,
tramite l’eliminazione delle pause e il settaggio dell’accelerazione del flusso.
Queste sono le impostazioni basilari; se si clicca su edit comparirà un’altra finestra, come
visibile nella figura 8.11.
Adesso si è in grado di definire un proprio settaggio di codifica. Per farlo, cliccare su new.
La prima riga consentirà di impostare un nome, così come di impostare una descrizione e
scegliere la lingua.
Nella sottosezione Media types, in Audio, si sceglie sia la codifica che la modalità.
Si clicca su add e si sceglie il bitrate che si vuole settare, nei limiti delle possibilità. Il
range va comunque da 4 kbps a 20 Mbps. È bene ricordarsi sempre dell’overhead, quindi
meglio diminuire un po’ le pretese di bitrate che ci si prefigge.
Si può anche valutare il tipo di formato audio preferito e settarlo come meglio si
preferisce.
8.1.4. Attributes
Figura 8.13. Attributes
La finestra plug-ins è divisa in due colonne. Nella colonna sinistra si ha l’elenco dei plug-
in disponibili; a destra, la finestra dei plug-in attivati. Cliccando sul comando register si ha
la possibilità di attivarne degli altri.
I plug-in non sono configurabili se non abilitati. Una volta abilitato un plug-in (ovvero
facendolo passare nella finestra di destra) si potrà cliccare su configure e modificarne i
parametri.Attenzione però: sono richieste competenze non banali, proprie di tecnici audio
di bassa frequenza e non soltanto di registi web radiofonici.
8.1.6. Security
Figura 8.15. Security
Nella finestra security si potranno aggiungere dei DRM all’interno del flusso audio. Qui
entra in gioco la mission della radio. Se l’obiettivo è quello di creare una radio libera per
tutti, senza particolari vincoli, questa trattazione non interessa. Se si clicca su new, si
visualizza una finestra in cui si potranno aggiungere e gestire i profili. Si clicca su add, e
si avrà la possibilità di inserire nome e URL del provider di interesse, oltre ad avere,
ovviamente, la possibilità di scegliere di renderli reperibili a Windows Media Encoder.
Cliccando su find provider si visualizzerà una pagina del sito della Microsoft, in cui si
potrà scegliere quello che interessa di più.
Nella finestra Security si può anche importare un file drm precedentemente creato.
8.1.7. Advanced
Advanced è il tab che permette di settare dei parametri avanzati.
Figura 8.18. Advanced
♦expected FPS indica il numero di frame che ci si aspetta di avere nell’immediato istante
successivo; riguarda lo streaming video;
♦average FPS indica il numero medio di frame per secondo che si ha nell’intero streaming
video;
♦total scripts indica il numero di scripts presenti nel flusso. Come si può vedere, le ultime
impostazioni sono assenti nell’immagine.
La terza sottosezione è output. Questa sottosezione è ulteriormente divisa in archive,
broadcast port e URL:
♦archive indica dove verrà salvato localmente lo streaming in esecuzione;
♦percent complete indica la percentuale totale della durata temporale già trasmessa.
♦CPU load indica il carico di computazione della CPU, un parametro che è sempre
comunque bene avere sott’occhio.
8.2.2. Statistics
Statistics rappresenta i dati inerenti l’audio che va dall’encoder al server, che in questo
caso sono uniti in un unico programma.
La prima sottosezione è audio input. Questa sottosezione è ulteriormente divisa in
sampling rate, channels, samples dropped:
♦sampling rate indica il tasso di campionamento dello stream. Nella figura 8.20 si vedono
48100 campionature al secondo;
♦channels identifica se lo streaming in ingresso è mono oppure stereo. Ovviamente si
distingue in base al numero;
♦sample dropped indica il numero di campioni persi durante la trasmissione.
♦max, current e average bit rate indicano il massimo, il corrente e il medio valore del
bitrate del flusso in uscita.
La terza sottosezione è combined bit rate. Anche in questo caso, niente di nuovo: sono i
valori massimi, medi e correnti dei bitrate comprensivi dei metadati.
8.2.3. Server
♦statistics
♦players connected
Il primo tab è diviso in un’unica sottoparte, chiamata events, che indica al suo interno gli
eventi di cui l’encoder ha tenuto traccia. Tali eventi possono riguardare l’encoder stesso
oppure le sue configurazioni. Sono presenti diverse colonne; la prima da sinistra indica la
data in cui è avvenuto l’evento, la seconda indica l’orario, la terza indica cosa ha subito o
provocato l’evento, la quarta indica il tipo di evento avvenuto.
L’ultimo tab si chiama EDL, dove EDL sta per Edit Decision List.
Usando Windows Media Encoder 9 si possono controllare periferiche come Video Camere
Digitali (DV) direttamente dall’encoder. Questo permette di controllare i tasti di play,
pausa, stop, avanzamento veloce, rewind, seek, eject direttamente dall’encoder. Per
abilitare il controllo periferica, essa deve essere connessa attraverso una porta VIDEO
digitale IEEE 1394 (comunemente detta FIREWIRE).
Tale impostazione permette il controllo dei frame sui contenuti che si vanno a codificare.
Un altro grande vantaggio nell’utilizzo del controllo periferiche è che si può anche creare
un EDL (Edit Decision List, lista di decisioni sull’editing) per permettere di codificare e
organizzare specifiche sezioni del filmato da una o più cassette DV nell’ordine che si
preferisce. Un EDL permette di guadagnare tempo, codificando solo alcune parti della
cassetta a scelta (ad esempio solo l’audio).
Il controllo periferiche permette l’encoding ad una o due vie. Come già detto
precedentemente, la differenza tra encoding a una o a due vie sta nel fatto che la prima
tipologia di codifica si limita a convertire e comprimere il flusso audio/video man mano
che viene incontrato, mentre nel secondo caso il flusso viene prima analizzato e solo
secondariamente codificato e compresso.
L’encoding a due vie può dare una migliore qualità, poiché l’encoder stesso ha maggiori
informazioni disponibili per l’ottimizzazione del bitrate, framerate, dimensione del buffer
e qualità d’immagine basata sulla composizione della scena. Tuttavia, la codifica a due vie
richiede il doppio (o quasi) del tempo, a causa del doppio passaggio. Combinando il
controllo periferica e l’encoding a due vie si può catturare e codificare in un solo
passaggio più di quanto non si faccia catturando prima in un formato non compresso e
dopo codificando tramite la codifica a due vie.
9. IDJC
IDJC (Internet DJ Consolle) è una regia per Gnu/Linux che simula una consolle da DJ a
due piatti più mixer. Le informazioni principali su questa regia si trovano all’indirizzo:
www.onlymeok.nildram.co.uk.
Il programma si trova nei repository delle principali distribuzioni; per cui è sufficiente
installare il programma, se ci si trova su una debian-based, tramite il seguente comando:
apt-get install IDJC
Per prima cosa, si provi ad usare la consolle come semplice player. Per quanto possa
sembrare banale, non sarà cosi facile.
Alcuni problemi di utilizzo nascono da difficoltà di interazione tra il programma e gli MP3
VBR. Convertendo i file da MP3 ad OGG, il problema è facilmente aggirabile.
Aggiungere un brano per ciascun playlist controller cliccando con il tasto destro e
selezionando playlist, scegliendo add file, ottenendo un risultato simile a quanto mostrato
in figura 9.4.
Figura 9.4. Add file
Fare doppio click sulla canzone aggiunta nel playlist controller di sinistra. La canzone
dovrebbe cominciare a essere riprodotta, ma non si dovrebbe sentire ancora nulla. Per
ascoltare la canzone si clicca su listen. I playlist controller funzionano come dei veri e
propri piatti: per cui, se facciamo partire una canzone anche nella playlist di destra e si
clicca su listen si sentiranno le due canzoni contemporaneamente.
9.1. Trasmettere con IDJC
Per trasmettere si clicchi su server, in basso a sinistra, e si visualizzerà l’immagine di
figura 9.5.
X-Chat è una chat basata su IRC. È possibile inviare, tramite la regia, informazioni sui
brani in trasmissione al momento, con latenza settabile e con messaggio personalizzabile.
Si può anche impostare la scrittura di un messaggio automatico a intervalli di tempo, ma
bisogna prestare attenzione, in quanto molti amministratori vietano gli script.
9.2.4. Jack Ports
Mediante Jack Ports si ha la possibilità di settare e impostare i vari jack disponibili. Per
vedere quali siano disponibili sul proprio computer, scrivere in una console: jack_lsp.
9.2.5. Event
È possibile settare a piacimento un comando che permetta di fare qualcosa all’apertura
dell’applicazione, oppure all’apertura del microfono o dell’ausiliare. La X sotto ogni
opzione intende l’evento OnClose();.
Figura 9.10. Event
9.3. TroubleShooting
Se all’avvio del programma si visualizza la finestra indicata nella figura 9.11 non ci si
deve particolarmente preoccupare.
La finestra indica che il player non è in grado di gestire i file FLAC, ma è perfettamente
funzionante.
La finestra indicata nella figura 9.12 vuol dire invece che qualche altro programma sta
usando la scheda audio.
The JACK sound server needs to be running in order to run IDJC: il server JACK deve
essere avviato per far funzionare IDJC.
In order to manually start it try something like:
$ jackd -d alsa -r 44100 -p 2048
Per farlo iniziare automaticamente si può scrivere in un terminale il comando di cui sopra.
If you would like JACK to start automatically when you start IDJC try this:
echo “/usr/bin/jackd -d alsa -r 44100” >~/.jackdrc
If you have already done this it is possible another application or non-JACK sound server is using the sound card.
Possible remedies would be to close the other audio app or configure the sound server to go into suspend mode
after a brief amount of idle time.
Se il problema persiste, esso chiaramente dipende dal fatto che un’altra applicazione sta
usando il server sonoro.
10. Metafile
Un metafile è un file contenente al suo interno delle direttive o dei redirect per la fruizione
di un altro file, con delle indicazioni da passare al programma che apre il file stesso. Si
utilizzano per permettere ai player audio di accedere alle radio su Internet, ma non sono
fondamentali per questo scopo. Di certo si tratta di un comodo strumento da fornire
all’utenza.
10.1. PLS
Un tipico metafile PLS, acronimo di playlist, contiene queste direttive:
[playlist]
numberofentries=1
File1=http://indirizzoip:porta
Title1=Radio XYZ
<entry>
<title>File che verrà eseguito prima dello streaming vero e proprio</title>
<ref href=“http://example.com/announcement.wma” />
<param name=“aParameterName” value=“aParameterValue”/>
</entry>
<entry>
<title>Streaming d’esempio</title>
<ref href=“http://example.com:8080” />
<author>Example.com</author>
<copyright>©2005 Example.com</copyright>
</entry>
</asx>
È sufficiente sostituire il link nel tag REF con l’indirizzo della radio, quindi salvare il file
in estensione .asx e piazzarlo da qualche parte su Internet.
11. SCF
La Società Consortile Fonografici è un ente di tutela dei diritti d’autore dei fonografici,
ovvero di coloro che si occupano della produzione sui supporti dei brani idealizzati dagli
autori veri e propri.
Le web radio sono tenute alla stipula di un contratto con questa società, secondo quanto
espresso dalla legge italiana sul diritto d’autore, e al pagamento di quanto richiesto dal
contratto. SCF mette a disposizione tre diversi contratti di licenza a seconda che si tratti di
web radio commerciale, amatoriale o istituzionale.
Il contratto per web radio commerciale prevede un compenso streaming di € 0,0004 a
minuto di connessione e un compenso archivio pari al 50 % di quanto corrisposto a titolo
di compenso streaming. È previsto un Minimo Garantito annuo di € 1.500,00 e
naturalmente, qualora iniziaste l’attività ad anno iniziato, il Minimo Garantito verrebbe
calcolato solo sui mesi di effettiva attività.
Il contratto per web radio amatoriale prevede che il Licenziatario sia una persona fisica, un
compenso forfettario annuo di € 350,00, nessun obbligo di rendicontazione, un limite di
banda passante di 640 Kbit/sec (punto poi successivamente rimosso) e il divieto di inserire
sul sito banner e sponsorizzazioni.
Il contratto per istituzionale viene proposto nel caso in cui il Licenziatario sia un
Organismo Istituzionale e cioè qualsiasi soggetto che abbia quale oggetto sociale una
attività non commerciale, senza scopo di lucro, che utilizzi il sito (e conseguentemente la
web radio), esclusivamente con la finalità di illustrare la propria attività istituzionale,
senza che tale utilizzo generi alcun beneficio di tipo economico e commerciale sia diretto
che indiretto (es. associazioni, fondazioni, enti locali, soggetti e istituzioni pubbliche,
ONLUS, istituti scolastici ecc.). In questo caso il compenso è di € 750,00 annui senza
limiti di banda e obbligo di rendicontazione.
11.1. Il contratto per web radio amatoriale
CONTRATTO DI LICENZA NAZIONALE PER L’UTILIZZAZIONE DI REGISTRAZIONI FONOGRAFICHE
MEDIANTE WEB RADIO AMATORIALE
tra
SCF Società Consortile Fonografici per azioni., con sede in Via Leone XIII, 14, 20145 Milano, capitale sociale
pari a Euro 500.000 (cinquecentomila) iscritta al Registro delle Imprese presso la camera di commercio di Milano
al n. 6812/2000, Codice fiscale e Partita IVA n. 12925820156 in persona del suo presidente Gianluigi Chiodaroli
(nel seguito “SCF”)
e
Signor_________________, residente in ___________________, Via ____________________, Codice fiscale e
Partita IVA n. ____________________ (nel seguito “il Licenziatario”)
La prima parte è introduttiva. Definisce le parti del contratto: ovvero una società ed una
persona fisica. Occorre compilare le parti che permettono di identificare il Licenziatario.
SCF è una società consortile istituita al fine di esercitare in modo collettivo i diritti di utilizzazione relativi alle
Registrazioni Fonografiche (come infra definite) di titolarità di ogni casa discografica, persona fisica o giuridica,
pubblica o privata che le abbia conferito, o le conferisca in futuro, apposito mandato (nel seguito i “Mandanti”);
SCF agisce pertanto in nome proprio e per conto dei propri Mandanti (come infra definiti).
Definizione della natura di SCF. Si esprime in questa parte, cosa sia SCF e per chi lavori.
Da notare che SCF ha un ordinamento giuridico totalmente differente rispetto alla SIAE,
che non è una società consortile ma un ente di diritto pubblico, a gestione privata.
B Il Licenziatario è una persona fisica (così come in appresso meglio definita) titolare del sito web
www._____________ (nel seguito “il Sito”), tramite il quale, sotto la forma della web radio denominata
“________________”, mette a disposizione del pubblico contenuti musicali; il Licenziatario è pertanto
responsabile editoriale dell’organizzazione e della creazione di tutti i contenuti del Sito.
Premessa alquanto controversa. Non è chiaro se SCF intenda chi offre hosting al sito
oppure chi hosta il server di streaming
D SCF intende concedere in licenza al Licenziatario, che intende acquisirli, alcuni diritti di utilizzazione delle
Registrazioni Fonografiche di titolarità dei Mandanti, per consentire al Licenziatario di metterle a disposizione del
pubblico tramite il Sito ed entro i limiti del territorio (come infra definito).
♦legge sul diritto d’autore: anche questo punto dovrebbe essere chiaro;
♦persona fisica: esattamente come per la SIAE, è fatto divieto di qualsiasi forma
pubblicitaria diretta (all’interno del flusso audio) che indiretta (all’interno del sito) pena
l’inadempienza contrattuale;
♦registrazione fonografica: per essere diretti, è l’attuazione dell’idea. La SIAE tutela l’idea
di un brano, mentre SCF dovrebbe tutelarne la sua realizzazione fisica;
♦repertorio: la definizione è chiara;
♦streaming: la definizione di streaming prevede che non sia possibile registrare tale flusso,
anche se ciò è particolarmente difficile da attuare;
♦territorio: secondo la SCF, la giurisdizione non è soltanto attuata sui server localizzati in
Italia, ma anche sui Licenziatari residenti in Italia e per le web radio a contesto
linguistico italiano.
11.1.2. Art. 2 – Oggetto
Nell’articolo 2 si esplicita l’oggetto del contratto.
2.1 Con il Contratto, SCF, ai sensi dell’art. 72, lett. a) e lett. d) L.d.A. ed a fronte del pagamento dei corrispettivi
meglio indicati al successivo articolo 4, concede in licenza al Licenziatario, che li acquisisce, i diritti, non
esclusivi e non trasferibili, a qualsiasi titolo, a terzi, che seguono:
Si elencano i diritti intrasferibili che vengono concessi alla stipula del contratto.
il diritto di riprodurre, tramite caricamento dei relativi file nel proprio server, le registrazioni Fonografiche facenti
parte del Repertorio, all’esclusivo scopo di esercitare il diritto di cui alla successiva lettera (b) del presente
articolo;
Con questo contratto si possono utilizzare i brani tutelati dalla società consortile.
il diritto di mettere a disposizione del pubblico, attraverso il Sito, le Registrazioni Fonografiche facenti parte del
Repertorio, in maniera tale che ciascuno possa fruirne tramite il Sito – solamente in modalità streaming ed
esclusivamente per uso personale – dal luogo e nel momento scelti individualmente, e senza alcuna possibilità di
riprodurre, registrare o comunque memorizzare i relativi file.
La società consortile conferma di non volere riconoscere l’esistenza dei web stereo o del
relaying.
2.2 Ogni altro diritto o modalità di utilizzazione del Repertorio, diverso da quelli indicati, è espressamente escluso
dalla licenza conferita con il Contratto.
La licenza vincola l’utilizzo dei brani a quanto espresso all’interno del contratto e
nient’altro.
11.1.3. Art. 3 – Modalità di utilizzazione delle registrazioni fonografiche
Nell’articolo 3 si esplicitano le modalità di divulgazione dei brani.
Il Licenziatario si obbliga a:
a) non rendere noto anticipatamente il momento nel quale verranno messe a disposizione del pubblico determinate
Registrazioni Fonografiche, indicandone il titolo, o l’album di appartenenza o il nome dell’artista. La presente
clausola non esclude peraltro la possibilità di segnalare al pubblico che, in un periodo di tempo futuro ma non
specificato, verranno messe a disposizione le registrazioni di un determinato artista;
All’interno delle stesse tre ore non è possibile inserire 3 brani di un album oppure 4 brani
dello stesso artista e non 3 consecutivi.
c) non predisporre le sequenze di Registrazioni Fonografiche in modo tale che esse siano parte:
- di una sequenza già registrata e archiviata di durata inferiore a 5 (cinque) ore;
- o di una sequenza già registrata e archiviata di durata pari o superiore a 5 (cinque) ore, che sia messa a
disposizione del pubblico per più di 2 (due) settimane;
- o di una sequenza, messa a disposizione del pubblico in modalità continua (looped), di durata inferiore a 3 (tre)
ore;
Non si può creare una registrazione che sia parte di una sequenza già registrata che duri
meno di 5 ore, oppure, se maggiore di cinque, non deve essere messa a disposizione per
più di 2 settimane. Si deve anche evitare di mettere in loop sequenze di durata inferiore a 3
ore.
d) non predisporre le sequenze di Registrazioni Fonografiche in modo tale che esse siano parte di un programma,
identificabile, nel quale le Registrazioni Fonografiche siano proposte in un ordine predeterminato, a meno che non
si tratti di una sequenza già registrata e archiviata, o di una sequenza in modalità continua (looped) che sia messa
a disposizione del pubblico:
- più di 3 (tre) volte per un periodo – preannunciato al pubblico – di 2 (due) settimane [nel caso di sequenze di
durata inferiore ad 1 (una) ora];
- più di 4 (quattro) volte per un periodo – preannunciato al pubblico – di 2 (due) settimane [nel caso di sequenze
di durata pari o superiore ad 1 (una) ora];
Occorre impedire che il pubblico sappia a priori che brani ascolterà, a meno che non si
tratti di una sequenza predeterminata. Questa frase ha un senso, ma capirlo è complicato.
In ogni caso, se la sequenza dura meno di un’ora, al massimo 3 volte in 2 settimane; se
dura più di un’ora, lo si può fare anche 4 volte.
e) non utilizzare le Registrazioni Fonografiche, sia da sole che abbinate a immagini visive, in modo tale da
provocare confusione, incertezza, errore o comunque indurre il pubblico ad associare stabilmente gli artisti, o i
titolari dei diritti d’autore, o i titolari dei diritti connessi con il Licenziatario, o un particolare prodotto o servizio
pubblicizzato dal Licenziatario; ovvero ancora in modo tale da indurre il pubblico a ritenere che le attività svolte
dal Licenziatario, diverse dalla mera messa a disposizione delle Registrazioni Fonografiche, siano state
sponsorizzate o approvate dagli artisti, dai titolari dei diritti d’autore, o dai titolari dei diritti connessi al diritto
d’autore relativi alle Registrazioni Fonografiche medesime (c.d. diritto di sincronizzazione);
Supponiamo che una radio abbia un jingle che contraddistingue la stazione. Supponiamo
inoltre che tale jingle sia stato ricavato da una canzone molto famosa. Questa lettera
dell’articolo impedisce o impone ai Licenziatari che si eviti in ogni modo possibile che un
brano o meglio “un’opera dei mandanti” sia associata al Licenziatario piuttosto che
all’artista.
f) adottare ogni più opportuna misura tecnologica – che sia disponibile sul mercato e non comporti costi
irragionevoli – idonea a impedire che:
- l’utente, o ogni altro individuo o entità, possa effettuare la scansione automatica delle sequenze musicali messe a
disposizione dal Licenziatario, sia da sole che insieme a sequenze di altre entità emittenti, al fine di selezionare,
perché venga messa a sua disposizione, una determinata Registrazione Fonografica e che l’utente possa realizzare
riproduzioni delle Registrazioni Fonografiche che non siano strettamente temporanee e strumentali alla loro
fruizione in modalità streaming.
È possibile fare visualizzare dei dati (i cosiddetti metadata) inerenti il brano attualmente in
trasmissione sull’apparecchio che si collega al sito.
non mettere a disposizione mediante il Sito registrazioni illegali, ivi inclusi, a titolo esemplificativo, bootlegs o
Registrazioni Fonografiche la cui utilizzazione in modalità streaming ovvero in qualunque altra modalità a mezzo
Internet non sia ancora stata autorizzata dai Mandanti nel territorio ove il Licenziatario ha sede;
Il prezzo del punto 4.1 è da intendersi senza IVA e tasse di ogni tipo. Il costo scritto verrà
valutato seguendo l’indice Istat dei prezzi al consumo.
11.1.5. Art. 5 – Termini e modalità di pagamento
Nell’articolo 5 si esplicitano i termini e le modalità del pagamento da versare.
Al momento della sottoscrizione del Contratto, SCF provvederà ad emettere la fattura relativa al Compenso
Annuo, di cui al precedente art. 4.1, che il Licenziatario si impegna a corrispondere entro 30 giorni dalla ricezione
della fattura medesima inviata da SCF. Ben s’intenda che, con riferimento al primo anno di durata del Contratto e
qualora la stipula dello stesso sia avvenuta in corso d’anno, il Compenso Annuo dovuto dal Licenziatario sarà pari
alla quota (in dodicesimi) di Compenso Annuo corrispondente ai mesi di effettiva attività.
Per gli anni successivi al primo, in caso di rinnovo del Contratto ai sensi del successivo art. 10, il Licenziatario
corrisponderà a SCF il Compenso Annuo entro il 31 marzo di ciascun anno, previo ricevimento della relativa
fattura emessa da SCF.
SCF invia una fattura che va pagata entro 30 giorni. È possibile avere un compenso pro
mese nel caso in cui il contratto venga stipulato ad anno inoltrato. Per gli anni successivi
al primo, la fattura va pagata entro il 31 marzo dell’anno corrente.
11.1.6. Art. 6 – Controlli
L’articolo 6 tratta dei controlli eseguiti dalla SCF.
In virtù della circostanza che il Compenso, di cui al precedente art. 4, è stato determinato, nella misura ivi
indicata, in ragione dell’appartenenza del Licenziatario alla categoria di Persona Fisica, SCF avrà facoltà di
controllare periodicamente, per tutta la durata del Contratto, direttamente o tramite terzi, la sussistenza delle
caratteristiche, tecniche e non tecniche, della web radio così come dichiarate da Licenziatario. Qualora SCF
avesse a riscontrare differenze tra le effettive caratteristiche della web radio e le caratteristiche dichiarate dal
Licenziatario, SCF avrà facoltà di risolvere il Contratto, in conformità a quanto disposto dal successivo art. 10.
SCF effettua periodicamente dei controlli per verificare la permanenza dei requisiti.
11.1.7. Art. 7 – Ulteriori obblighi del Licenziatario
L’articolo 7 tratta degli obblighi del Licenziatario.
Il Licenziatario si obbliga:
a) ad acquisire esclusivamente supporti originali recanti le Registrazioni Fonografiche del Repertorio, o i relativi
file, procurandosi i predetti materiali presso rivenditori autorizzati dai Mandanti di SCF ovvero, con particolare
riferimento ai file, direttamente presso questi ultimi. SCF si riserva la facoltà di verificare tali circostanze in ogni
momento, potendo richiedere l’esibizione dei supporti impiegati dal Licenziatario ovvero di poter accertare la
provenienza dei file;
SCF obbliga tutti i Licenziatari ad avere supporti originali per ciascun brano trasmesso
dalla web radio. Ciò implica che una web radio dovrebbe dotarsi almeno di qualche
migliaio di compact disk. Con particolare riferimento ai file, direttamente dai mandanti.
b) a utilizzare il Repertorio, acquisito con le modalità di cui sopra, nel rispetto delle leggi vigenti e di quanto
convenuto con il Contratto, e, comunque, in modo da preservarne l’integrità ed il valore artistico-culturale ed
industriale e da rispettare i diritti morali degli autori ed artisti interpreti, nonché l’immagine e la reputazione
commerciale dei Mandanti;
Questo punto richiede che si comunichino ad SCF eventuali cambiamenti inerenti la web
radio.
11.1.8. Art. 8 – Dichiarazioni e manleve
L’articolo 8 esamina le dichiarazioni alle richieste da parte di terzi.
Il Licenziatario solleva SCF ed i suoi Mandanti da ogni eventuale pretesa di terzi aventi diritto e da ogni
responsabilità verso terzi aventi diritto, derivanti da utilizzazioni diverse da quelle regolate dal Contratto.
Fermi restando gli impegni del Licenziatario di cui sopra, SCF solleva il Licenziatario stesso da ogni eventuale
pretesa di terzi e da ogni responsabilità verso terzi aventi diritto relativamente a contestazioni concernenti i diritti
di utilizzazione concessi in licenza con il Contratto.
Il contratto ha durata annuale e si rinnova tacitamente, a meno che non si invii una
raccomandata A.R. tre mesi prima di ogni scadenza.
11.1.10. Art. 10 – Risoluzione in caso di inadempimento
L’articolo 10 tratta dell’inadempimento.
Senza pregiudizio di ogni diritto al risarcimento di eventuali danni o all’esperimento degli ulteriori rimedi previsti
per legge, SCF avrà il diritto di risolvere anticipatamente il Contratto, ai sensi dell’art. 1456 cod. civ., in caso di
inadempimento, da parte del Licenziatario, alle obbligazioni di cui agli articoli 2 (Oggetto), 5 (Termini e Modalità
di Pagamento), 7 (Ulteriori Obblighi del Licenziatario) e 12 (Disposizioni Generali – Cessione del Contratto). In
tali casi, SCF comunicherà al Licenziatario, a mezzo di lettera raccomandata A.R., la propria decisione di
risolvere il Contratto nonché la data dalla quale esso dovrà intendersi risolto.
Il Licenziatario avrà il diritto di risolvere anticipatamente il Contratto ai sensi dell’art. 1456 cod. civ. in caso di
messa in liquidazione volontaria o assoggettamento a procedura concorsuale o fallimento di SCF.
In tale caso il Licenziatario comunicherà a SCF, a mezzo lettera raccomandata A.R., la propria decisione di
risolvere il Contratto nonché la data dalla quale esso dovrà intendersi risolto.
Qualora qualcosa inerente gli articoli precedenti non venisse rispettato, SCF può
comunicare che il contratto è risolto. Si può anche inviare una lettera indicando che il
contratto è risolto, ma solo nel caso in cui SCF sia messa in liquidazione volontaria o
fallimento.
11.1.11. Art. 11 – Legge applicabile e foro competente
L’articolo 11 menziona il foro competente.
Il Contratto è soggetto alla legge italiana. Ogni controversia che in relazione ad essa dovesse insorgere tra le parti
sarà sottoposta alla competenza esclusiva del foro di Milano.
Ogni modifica al contratto deve essere costituita da un atto scritto effettuato senza
interposizioni. È anche impossibile cedere il contratto a terzi.
11.1.13. Art. 13 – Trattamento dei dati personali
L’articolo 13 esplicita le modalità del trattamento dei dati personali.
Il Licenziatario dichiara e garantisce di avere preso visione dell’informativa per la tutela dei dati personali
(Allegato A al presente contratto), fornita da SCF, Titolare del trattamento, ai sensi dell’art. 13 del Decreto
Legislativo n. 196 del 30 giugno 2003 (Codice Privacy), e di averla integralmente compresa ed accettata, in
particolare per quanto riguarda i diritti riconosciuti dall’articolo 7 del Codice Privacy.
SCF garantisce il pieno rispetto delle prescrizioni di cui al Codice Privacy. In particolare, SCF si impegna a
trattare i dati personali del Licenziatario in esecuzione dei diritti ed obblighi nascenti dal presente contratto e nel
rispetto di quanto previsto nell’informativa allegata.
Sembra un testo lungo, ma in realtà riporta concetti molto semplici. Sostanzialmente, SCF
è titolare dei dati personali comunicati; il Licenzatario può e deve usufruire dei diritti di
cui all’articolo 7.
Il resto riguarda le modalità di trattamento dei dati, la loro consistenza (cartacea e digitale)
e il fatto che SCF possa permettere a determinate condizioni e solo in alcune parti la
visione dei vostri dati a terzi enti sul loro stesso sito www.scfitalia.it.
11.2. Il contratto per web radio istituzionale
Quasi tutti gli articoli del contratto per web radio istituzionale sono uguali a quelli del
contratto per web radio amatoriale; quello che varia tra il contratto per web radio personali
e web radio istituzionali riguarda la definizione di organo istituzionale e il prezzo dovuto.
“Organismo Istituzionale”indica qualsiasi soggetto che abbia quale oggetto sociale una attività non commerciale,
senza scopo di lucro, e che utilizzi il Sito, e conseguentemente la web radio, esclusivamente con la finalità di
illustrare la propria attività istituzionale, senza che tale utilizzo generi alcun beneficio di tipo economico e
commerciale sia diretto che indiretto (es. associazioni, fondazioni, enti locali, soggetti e istituzioni pubbliche,
ONLUS, istituti scolastici ecc.).
Rispetto al contratto per radio personali, il prezzo da pagare cambia. Si passa da 350 a 750
Euro annui.
11.3. Il contratto per web radio commerciale
Il contratto per web radio commerciale ha molte parti in comune con quelli dedicati a web
radio personali ed istituzionali.
11.3.1. Compenso Streaming
4.1 Compenso Streaming (art. 2.1 lett. b): Euro 0,0004 (zero virgola quattro decimillesimi) per ogni minuto di
connessione al Sito da parte di ciascun utente che, accedendo al Sito medesimo, effettui l’Ascolto delle
Registrazioni Fonografiche facenti parte del Repertorio.
Il grafico in figura 11.1 non corrisponde al reale, in quanto le prime due casistiche non
sono livellate dal Minimo Garantito.
Il grafico nella figura 11.2 indica che le web radio con queste utenze (medie, ovviamente)
pagano le cifre riportate. Si potrebbe considerare di abbassare i costi escludendo
minutaggi dovuti alla pubblicità, ma i costi si orientano sempre su queste cifre.
11.3.2. Minimo Garantito
Di seguito si riporta la trattazione del Minimo Garantito.
4.3.1 il Minimo Garantito non restituibile, dovuto dal Licenziatario a titolo di Compenso Streaming con
riferimento al primo anno di Durata del Contratto sarà pari a € 1.000,00 (mille/00 euro). Il Minimo Garantito non
restituibile dovuto dal Licenziatario, a titolo di Compenso Streaming, con riferimento a ciascun anno successivo
al primo, sarà pari al maggior importo tra la somma di € 1.000,00 (mille/00 euro) ed il 90% (novanta percento) di
quanto complessivamente corrisposto per il medesimo titolo nell’anno precedente. 4.3.2 Il Minimo Garantito non
restituibile, dovuto dal Licenziatario a titolo di Compenso Riproduzione Fonogrammi con riferimento al primo
anno di Durata del Contratto sarà pari a € 500,00 (cinquecento/00 euro). Il Minimo Garantito non restituibile
dovuto dal Licenziatario, a titolo di Compenso Riproduzione Fonogrammi, con riferimento a ciascun anno
successivo al primo, sarà pari al maggior importo tra la somma di € 500,00 (cinquecento/00 euro) ed il 90%
(novanta percento) di quanto complessivamente corrisposto per il medesimo titolo nell’anno precedente. 4.3.3 I
compensi di cui sopra si intendono IVA esclusa ed al netto di qualunque altra imposta, tassa o contributo anche di
futura istituzione. Essi saranno inoltre soggetti a rivalutazione di anno in anno, in conformità alle variazioni
dell’indice Istat dei prezzi al consumo per le famiglie di operai ed impiegati dall’anno 2008.
Per Minimo Garantito si intende una quota che SCF deve obbligatoriamente ricevere. Tale
quota è composta da 1000 euro per il compenso streaming e 500 euro per il compenso
riproduzione fonogrammi. Il Minimo Garantito è sicuramente pari a 1500 euro per il
primo anno, mentre in seguito sarà pari al maggiore tra 1500 euro e il 90% della somma di
compenso streaming e compenso riproduzione fonogrammi. I compensi di cui si parla si
intendono IVA esclusa e sottoposti ad aumenti ISTAT.
11.3.3. Rendicontazione
Di seguito si riportano le modalità di rendicontazione.
5.1 Compenso Archivio: Alla sottoscrizione del Contratto, il Licenziatario consegnerà ad SCF l’elenco delle
Registrazioni Fonografiche che egli intende caricare, o ha caricato, sul proprio server; si impegna altresì ad
inviare ad SCF l’aggiornamento di detto archivio con cadenza trimestrale.
Il predetto elenco, relativamente a ciascuna Registrazione Fonografica, dovrà contenere tutte le indicazioni che
seguono: titolo, autore, compositore, artista interprete o esecutore, produttore fonografico, etichetta e numero di
catalogo del disco da cui la Registrazione Fonografica è tratta.
Occorre consegnare alla SCF l’elenco delle canzoni che la radio avrà a disposizione e ad
aggiornare tale elenco ogni tre mesi.
Nella rendicontazione occorrerà inserire titolo, autore, compositore, esecutore, produttore
fonografico, etichetta e numero di catalogo del disco da cui proviene la registrazione per
ciascuna canzone.
5.2 Compenso Streaming: entro 15 (quindici) giorni dalla fine di ogni trimestre, il Licenziatario provvederà a
consegnare ad SCF il rendiconto dettagliato degli Ascolti effettuati dagli utenti nel trimestre stesso. Resta sin
d’ora inteso che ai fini del computo del Compenso Streaming si terrà conto esclusivamente degli Ascolti di durata
superiore a 30 secondi; pertanto il suddetto elenco dovrà evidenziare dettagliatamente e separatamente le due
categorie di Ascolti.
Detto rendiconto, relativamente ad ogni singolo giorno, dovrà tassativamente contenere le informazioni che
seguono:
numero di utenti che si siano connessi al Sito e abbiano effettuato l’Ascolto delle Registrazioni Fonografiche;
durata complessiva della connessione di ciascun utente, che abbia effettuato l’Ascolto delle Registrazioni
Fonografiche, al Sito;
numero totale dei minuti di connessione al Sito da parte della totalità degli utenti che abbiano effettuato l’Ascolto
delle Registrazioni Fonografiche;
elenco delle Registrazioni Fonografiche messe a disposizione del pubblico, con l’indicazione di: titolo, autore,
artista interprete o esecutore.
Questo comma dell’articolo 5 spiega che occorre pagare il compenso streaming entro 15
giorni dalla fine del trimestre. Vengono contate come connessioni valide solo le
connessioni che durano più di trenta secondi. Questa è un aspetto positivo: non vengono
contati eventuali tempi di setup e di buffering iniziali. Tuttavia il crollo dei costi, anche
escludendo utenze che ascoltano meno di 30 secondi, non è così alto.
Si fa obbligo tassativo di rendicontare per ogni singolo giorno il numero di ascoltatori, la
durata complessiva di ascolto di ciascun utente, la durata complessiva di permanenza sul
sito e autore, titolo ed interprete di tutti i brani passati in radio.
11.3.4. Termini e modalità di pagamento
Di seguito si riportano i termini e le modalità di pagamento.
6.1 SCF, trimestralmente, una volta ricevuto il rendiconto di cui al precedente Art. 5.2, provvederà ad emettere la
fattura relativa al Compenso Streaming e al Compenso Riproduzione Fonogrammi, previa deduzione del Minimo
Garantito anticipato a quella data.
Il Licenziatario provvederà a pagare quanto dovuto a SCF entro 30 giorni dall’emissione da parte di quest’ultima
della suddetta fattura.
Modalità temporali di divisione del Minimo Garantito nell’anno solare. Vengono inviate 3
fatture, ed un eventuale conguaglio va corrisposto entro il 31 maggio dell’anno
successivo.
Il primo anno, il Minimo Garantito verrà calcolato come quota in dodicesimi se il
contratto sarà stato creato ad anno solare iniziato.
12. Streamripper
Durante gli anni ’80 e ’90 molto spesso si registravano brani musicali trasmessi dalle radio
analogiche attraverso i mangianastri e le musicassette; lo stesso valeva per i film tramite le
VHS ed i videoregistratori.
Al giorno d’oggi nessuno registra trasmissioni radiofoniche direttamente dalla radio con
audiocassette, dato che la qualità, che dipende anche dall’irraggiamento presente e dalle
condizioni atmosferiche, non è sempre delle migliori.
Per ottenere facilmente e velocemente brani musicali si usano programmi di file sharing
come eMule (in questa sede supporremo che si tratti di brani musicali di cui si detengono i
diritti), ma, per ottenere musica, è davvero questa la mossa migliore?
Il P2P, specialmente quello multiplo (ovvero il P2P in cui si scaricano molti file da molte
fonti e in cambio si inviano molti file a molti host) è spesso lento. Questo si può additare
alla politica ADSL che vuole misera la banda in upload, ma ci sono molti altri motivi.
Perché allora non riprendere la politica di “sfruttamento” del flusso audio delle radio?
Così come è stato possibile, tramite le web radio, trasportare su Internet la radiofonia, è
altrettanto possibile effettuare registrazioni dei brani trasmessi dalle web radio e
conservarli come se fossero delle moderne musicassette.
Streamripper è un programma che permette di fare esattamente questo. Permette di
trasformare in MP3, segmentare, intitolare e manipolare il flusso audio di quasi ogni
stream audio/video.
12.1. StreamRipper come plug-in per Winamp
Per prima cosa occorre scaricare il programma dal sito ufficiale.
Una volta scaricato ed installato, il plug-in si carica cliccando su options, quindi su
preferences, quindi scegliendo la categoria general purpose, infine Streamripper. Nella
taskbar si troverà un simbolo: SR. Cliccando due volte si visualizzerà l’applicativo
indicato nella figura 12.1.
♦creazione di un relay
♦impostazione di un proxy
12.2.2. File
Nella finestra file si possono invece effettuare altre configurazioni:
♦definizione della directory in cui salvare gli MP3
12.2.3. Pattern
Figura 12.5. Pattern
L’ultima finestra permette di impostare le skin. Le altre finestre non hanno dettagli degni
di nota.
12.3. StreamRipper come standalone su GNU/Linux
Per utilizzare Streamripper su GNU/Linux è possibile scaricare il codice sorgente; oppure,
se si usa una debian-based, scaricare il pacchetto Streamripper direttamente dai repository
di APT. Il programma ha un suo manuale che è possibile evocare da terminale
semplicemente scrivendo man streamripper.
Non ha interfaccia grafica, ma è strettamente legato a Streamtuner, che è dotato di GUI.
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. Questo
comando altro non è che l’evocazione di Streamripper su un terminale. La forma normale
per l’utilizzo di streamripper è ovviamente: streamripper URL:porta.
12.4. Manuale tecnico di Streamripper
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.
12.4.1. Individuazione dello Splitpoint
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.
12.4.2. Splitting standard
Cosa succede quindi se non si trova il “silent point”? Si supponga di avere delle
metainformazioni di cambio, al tempo mi (come per la figura di cui sopra). Se l’offset XS
è positivo (XS_offset setta il tempo della search window; 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 è invece negativo, avverrà chiaramente il contrario. Una volta determinato
questo istante TS (che è dato da metadata + offset) vengono impostati un prepad e
postpad; tutto quello che sta compreso tra questi sarà copiato in entrambe le canzoni.
♦perl
♦perl-modules
♦adduser
♦netbase.
Senza tradurre letteralmente, si specifica che questo file contiene tutti i MIME type
affinché un programma esterno (come un server web) possa referenziare i tipi anche se
non ha i pacchetti di supporto installati. È una scelta: si preferisce fare così piuttosto che
permettere inserimenti individuali, come nelle mail. Serve sapere soltanto che è possibile
inserire nuovi MIME type tramite la creazione di un file .mime.types che avrà precedenza
rispetto ad altre definizioni.
13.3.3. Gnump3d.conf
# The port upon which we are going to serve. This may be any
# port which is not already in use upon your machine.
# You may use a low port, for example 80, if you are running
# as root but that is only recommended if you make use of
# the `user’ option, which occurs later in this file.
port = 8888.
Questa opzione identifica la porta a cui risponderà il server. È impostata di default la porta
8888, ma è possibile impostare (a proprio rischio) anche la 80, soprattutto se si vuole che
questo server sia accessibile in modo semplice, magari con un alias DNS.
# The following is the interface address that we wish to
# bind upon.
# You’ll only need set this if you are running this server upon
# a machine which has multiple IP addresses and you wish to force
# it to bind to a particular address.
# If you’re not running this server on a machine with multiple
# IP addresses, then please ignore this setting.
# NOTE
######
# If you just want to specify the name used in all the generated
# links then you should be setting ‘hostname’ instead.
#
# binding_host = 192.168.1.2
Questa opzione è utile soltanto nel caso in cui la macchina che ospita il server abbia più di
un indirizzo IP disponibile e si voglia forzare l’utilizzo di un particolare IP locale.
# Set the hostname that is used in all the generated links.
#
# (This defaults to the name of the server machine, with no
# domain suffix).
#
# You won’t need this unless the machine which is serving on
# MUST be accessed via its fully qualified domain name for
# example if you’re running it on a machine which is accessible
# to the world.
#
# NOTE
######
#
# See ‘binding_host’ if you have a machine which has multiple
# IP addresses and you’re trying to bind to one in particular.
#
# hostname = mp3d.foo.org
Questa opzione si limita a identificare quale sia la cartella che contiene i media file che il
server permetterà di streammare. Si chiede che i file siano accessibili all’user che sta
facendo girare il server.
# This is the file which logs all MP3’s / OGG’s / directories
# which clients access.
#
# If you start the server as root it’s recommended that you use
# a canonical location such as ‘/var/log’ or ‘/var/adm’, (because
# your system will, probably, rotate files held there).
#
# If you’re starting this server as a non-root user you should
# change these locations to be a directory upon which you have write
# permissions.
Questa è l’intestazione per la modifica del percorso del file di log del server GnuMP3d. In
questo tralcio particolare si specifica che se il server non è fatto girare da root: si deve
impostare una directory con permessi di scrittura. Nel caso in cui sia l’utente root a fare
partire il server si consiglia la directory impostata di default.
####
#
# IMPORTANT NOTE:
#
# If you want the song statistics to be displayed correctly
# you MUST give the logfile as an absolute path you must also
# ensure that the logfile is readable to the user whom you are
# running the server as.
#
####
Se si vuole che le statistiche vengano visualizzate correttamente, allora occorre impostare
un path assoluto e dare i permessi di lettura all’utente che fa partire il server.
# NOTE:
#
# This logfile is 100% apache logfile compatible so you may run any
# Apache logfile processor upon it if you so wish.
#
# Simplistic statistics such as the most popular directories, songs,
# and clients are available via the installed script ‘gnump3d-top’
# Run ‘gnump3d-top help’ for details.
#
#
####
#
logfile = /var/log/gnump3d/access.log
Questo è il formato del log. Se non si ha molta dimestichezza nella sintassi HTTP e non si
conoscono i log apache, è consigliato lasciare tutto per com’è.
# In the case of problems all output from the server will be sent
# to an error log.
#
# This next option configures where that is
#
errorlog = /var/log/gnump3d/error.log
Tutte le considerazioni fatte per il file di log valgono anche per il log d’errore.
# This option allows you to specify additional arguments to the
# statistics generating program ‘gnump3d-top’, and it’s complete
# path if you don’t have it installed upon the $PATH of the user
# who starts the server:
#
# stats_program = /usr/bin/gnump3d-top
#
#
# For example you may change the default number of lines which are
# reported from the default of 20 to 10 with this:
#
# stats_arguments = count=10
#
# To hide the directories which are handled by the various plugins
# you may use the ‘hide’ option.
#
# stats_arguments = hide
#
# To read multiple logfiles, (eg to cope with files which have been
# processed by logrotate), you could use:
#
# stats_arguments = logfiles = /var/log/gnump3d/access.log*
#
# Combine the options if you wish, and see the gnump3d-top man-page
# for details of more arguments
#
# stats_arguments = count=40 hide logfiles=/var/log/gnump3d/access.log*
Tutte queste opzioni servono per settare il programma gnump3d-top, fondamentale per le
statistiche. È possibile settare un path per tale programma e degli argomenti da passargli,
ovviamente settando e decommentando le righe opportune tra quelle scritte sopra.
# If there is a user value setup below then the server will become that
# user, after creating the listening socket and after opening the logfiles
# for writing.
#
# If you want to run this server via init.d, (which has the effect of
# starting the daemon as root), you should make sure you have this set
# to an appropriate value.
# Otherwise you will have the server running as root, which is clearly
# not a good idea even in the unlikely event that this application is
# 100% bug free.
#
# You may comment the line out if you are running the daemon from your home
# directory, and you are the only user with read access to the server root.
# Although this is not recommended way of running the server.
#
# For the benefit of fellow computer users is recommended that you run the
# server as a user such as ‘nobody’, and allow people read-only access to
# your audio files.
#
user = gnump3d
In questa opzione si setta quale user diventerà il server al momento in cui verrà creata la
socket e i file di log. Sebbene Steve consigli di non utilizzare il server come root, non c’è
da preoccuparsi. Per normali scopi, con la dovuta oculatezza, agire da root non causa
nessun problema. Per questo motivo è bene lasciare questa riga esattamente com’è. Si può
commentare soltanto se l’utente che utilizzerà il server è l’unico user con privilegi di
lettura alla directory radice del server.
Un modo non proprio ortodosso di utilizzare il server, ma fattibile.
# The following section allows you to specify which clients
# are allowed to connect to your server.
#
# If you are leaving this server out on an Internet-accessible
# machine then you will probably want to setup something here,
# or at least make use of the password protection system.
#
# The following entries are commented out, so they have no effect,
# but they should serve as good examples of the things which
# are possible.
Questa sezione permette di specificare quali client hanno i permessi per connettersi al
server. Sono tutte opzioni commentate, che servono da esempio, ma è opportuno
considerare il loro utilizzo e il loro settaggio ai fini della realizzazione di un server
accessibile da Internet.
allowed_clients = 192.168.2.0/8
Dà i permessi a tutta la rete locale, ovvero tutti gli indirizzi da 192.168.2.0 a
192.168.2.255.
allowed_clients = 10.0.0.0/16
Dà il permesso a tutti.
La scelta tocca a chi configura, in base alle esigenze.
##
#
# This section controls whether we will prompt clients for
# a username and password prior to granting access to the
# server.
#
# This is enabled by default; all you need to do is create
# a password file in the MP3 directory called ‘.password’.
#
# (To disable this uncomment the ‘enable_password_protection’ line).
#
# The password file should be of the following format:
#
# username:password
# username2:password2
# …:….
# usernameN:passwordN
#
# OR, for Digest authentification, the password file should be of
# the following format:
#
# username:hash
# username2:hash2
#
# hash or hash2 represent
MD5(login:GNUMP3d:password)
# To generate an hash string, type:
# $> echo -n ‘username:GNUMP3d:password’ | md5sum
#
# NOTE
# —-
#
# The password file must be readable to the user the server is running
# as.
#
###
# enable_password_protection = 0
# authentication_type = Basic # Basic or Digest
###
È chiaro che il file delle password deve essere leggibile da parte dell’utente che ha
intenzione di usufruire del server GnuMP3d.
Decommentando la seguente riga si disabilita il meccanismo di protezione; il file
.password, anche se esistente, diventerebbe inutile.
# enable_password_protection = 0
Decommentando, invece, la seguente riga si può scegliere quale delle due modalità di
autenticazione utilizzare, Basic o Digest, in base alle preferenze.
# authentication_type = Basic # Basic or Digest
# Referrer check
#
##
#
# The last security option is the ability to block clients that don’t
# contain a specific ‘Referrer:’ header.
#
# Note that referrer protection isn’t terribly reliable, as many clients
# will not send a referrer header when making a connection. This is
# especially likely when clients are connecting via a ‘privacy enhancing’
# proxy server; such as Internet Junkbuster, etc.
#
# Similarly malicious clients may deliberately stop sending referrers
# if they realise what is going on.
#
#
#
###
# If you wish to only allow a particular referring URL then specify it
# here.
# valid_referrers = http://somesite.com/
Questa opzione permette di bloccare i client che non hanno un header contenente un
particolare referrer, ovvero che non provengono da un altro sito. Tale opzione non è il
massimo della sicurezza, ed è facile capirlo dal fatto che non tutti i client necessariamente
inviano referrer, come ad esempio nel caso in cui ci si connetta tramite un server proxy
come Internet JunkBuster. Tutto questo senza considerare il fatto che si può anche evitare
di mandare i referrer a comando, il che rende l’opzione sicura come mettere un cartello
“non calpestare le aiuole”.
Per abilitare comunque quest’opzione basta decommentare la riga valid_referrers e
impostare l’URL preferito.
# This next option controls what happens when you click upon a
# single MP3 file.
#
# If always_stream is set to ‘1’, and you click upon it you’ll
# actually get a .m3u (playlist) file containing a link to it -
# the advantage of doing this is that you don’t have to download
# the file in its entirety to listen to it it should start playing
# immediately.
#
# If set to ‘0’ the playlists will work via streaming, but selecting
# an individual MP3 file will cause it to be downloaded to your local
# machine prior to playing one drawback of this is that playback
# will probably not start until the entire file has downloaded.
#
always_stream = 1
Si è parlato di GnuMP3d come di un mezzo finalizzato alle radio, e questo è vero; tuttavia
è principalmente un server per lo streaming on demand. Questa opzione permette di
trasformare il server di streaming on demand in un server di semplice download di media
file.
Se l’opzione always_stream è settata ad 1, allora ogni click su un singolo file (ad esempio
un MP3) causerà la creazione di un file m3u di playlist e, di conseguenza, un ascolto in
streaming. Se l’opzione è settata a 0, molto probabilmente il file non verrà eseguito se non
dopo il suo completo download. La differenza è minima ed è una mera questione di tempi
di scaricamento.
# There is a link placed at the top of every directory, which allows you
# to play the songs within that directory recursively.
#
# By default the recursive option plays all the tracks in a
# sorted order by uncommenting the following option you can
# have the recursive playlists default to being in a random order.
#
# recursive_randomize = 1
#
C’è un link posizionato in alto su ciascuna directory che permette l’ascolto dei brani di
quella directory ricorsivamente. Tale impostazione è ordinata di default, ma
decommentando questa opzione si ottiene un ascolto randomizzato.
# This next setting controls the format of the playslist files.
#
# There are two formats this server supports, simple playlists which
# are just plain listings of tracks, and advanced playlists which contain
# copies of the song tags in comments.
#
# The advanced playlists will allow you to view song tag information
# inside the playlist windows of both XMMS and WinAMP
#
#
advanced_playlists = 1
#
Questa opzione permette di utilizzare le playlist avanzate: file scritti in dialetto XML che
permettono la visualizzazione di informazioni sui tag ID3 delle canzoni. Utile per avere
maggiori informazioni, soprattutto nei player.
# All the output the server produces is generated with the help of
# some HTML template files, these are referred to throughout the
# program and each collection of templates is referred to collectively
# as a ‘theme’.
Il server produce output in forma di pagine web. Tali pagine sono personalizzabili e sono
identificate come “temi”.
# This next option allows you to specify which theme should be used
# by default. (Any client can select one of the available themes by
# the use of cookies).
L’opzione permette di scegliere qual è il tema di default; ogni client può sceglierne uno.
# For each theme there are a collection of HTML files which are read
# and used for the server output. There are several basic files which
# must be supplied to be considered a theme:
#
# index.html -> Used for displaying individual directories.
# search.html -> Used for displaying the search form.
# results.html -> Used for displaying the results of a search.
# stats.html -> Used for customising the server statistics page.
Piazzare in questa directory i temi non standard del server. Si può scegliere di piazzarli in
un’altra cartella a piacimento; in tal caso occorre modificare questa riga.
# This next option controls how directories are displayed on the index
# pages.
#
# There are several defined variables which you can choose to use:
#
# $LINK = The actual URL of the directory.
#
# $DIR_NAME = The name of the directory.
#
# $SONG_COUNT = The number of songs contained in the directory.
#
# $DIR_COUNT = The number of subdirectories in the directory.
#
# $RECURSE = A link to play the contents of the directory recursively.
#
# $NEW = Will insert the text specified by ‘new_format’ if the
# directory is recently modified.
#
# NOTE: you can also specify “directory_format2” as an alternative display
# format. Directories are then listed with alternating display formats.
# This is useful if you want to have alternating background colors for
# each entry in a table, for example.
#
directory_format = <tr><td width=“10%”> </td><td><a href=“$LINK”>$DIR_NAME</a> $NEW</td>
<td>$SONG_COUNT</td><td>$DIR_COUNT</
td><td>[$RECURSE]</td></tr></a>
Nella creazione della pagina web, il server utilizza delle variabili. Tali variabili sono
spiegate in questa porzione del testo:
♦$LINK: l’attuale URL della directory;
Se la directory è stata modificata per qualsivoglia motivo comparirà questo testo. Si può
modificarlo come meglio si crede, ma è sempre meglio non strafare.
##
# If a directory hasn’t been modifed in more than ‘x’ days then
# it isn’t considered ‘new’.
##
new_days = 7
Per quanti giorni una directory è considerata nuova in seguito ad una modifica? È un
parametro settabile.
# File format
##
#
# This option is analogous to the ‘directory_format’ option above.
#
# It specifies how the files should be listed.
#
# $LINK Is the link to the track itself
#
# $SONG_FORMAT Is a template string which is described below.
#
# NOTE: you can also specify “file_format2” as an alternative display
# format. Files are then listed with alternating display formats.
# This is useful if you want to have alternating background colors for
# each entry in a table, for example.
#
file_format = <tr><td width=“10%”> </td><td><a
href=“$LINK”>$SONG_FORMAT</a></td><td align=“right”>[<a href=“/
info$PLAINLINK”>Info</a>] [<a
href=“$PLAINLINK”>Download</a>]</td></tr>
In modo simile al formato directory, si può settare la formattazione dei file. Anche in
questo caso ci sono delle variabili:
♦$LINK: è il link al file stesso;
Come nel caso delle directory è possibile settare un file_format2 qualora piaccia alternare
layout diversi. Si consiglia sempre di mantenere l’impostazione tabulare del codice
HTML. Un buon modo per personalizzare tutto è quello di italianizzare.
# This next setting, `song_format’, allows you to configure how the
# MP3 and OGG Vorbis files are displayed.
#
# If the file which has been found contains any tag information then
# the following values will be available to you:
#
# $ARTIST -> The artist of the song.
#
# $ALBUM -> The album the song came from.
#
# $COMMENT -> The comment string attached to the song, if any.
# NOT AVAILABLE FOR OGG FILES.
#
# $SONGNAME -> The name of the song.
#
# $YEAR -> The year the song was recorded.
# NOT AVAILABLE FOR OGG FILES.
#
# $GENRE -> The genre of the track.
# NOT AVAILABLE FOR OGG FILES.
#
# $BPS -> The sample rate of the song if non-variable.
# NOT AVAILABLE FOR OGG FILES.
#
# $LENGTH -> The length of the track in MM:SS
# NOT AVAILABLE FOR OGG FILES, OR VBR MP3’s.
#
# $SECONDS -> The length of the track in seconds
# NOT AVAILABLE FOR OGG FILES, OR VBR MP3’s.
#
# $SIZE -> The size of the audio stream.
# NOT AVAILABLE FOR OGG FILES, OR VBR MP3’s.
#
# $TRACK -> The number of the track
#
# $FILENAME will always be available. (This is the name of the file
# without any suffix or directory information).
#
song_format = $TRACK $ARTIST $ALBUM $SONGNAME [ $GENRE - $LENGTH / $SIZE ] $NEW
♦$COMMENT: commenti sul brano, inseriti nel tag ID3, e non disponibili per i file OGG;
♦$YEAR: anno di composizione del brano, non disponibile per file OGG;
♦$BPS: bitrate del file, disponibile solo per file non VBR, mai nel caso di file OGG;
♦$LENGHT: durata del brano in mm:ss, non disponibile per VBR e OGG file;
♦$SECONDS: durata del brano in secondi, non disponibile per VBR e OGG file;
♦$SIZE: grandezza del file, non disponibile per VBR e OGG file;
♦$TRACK: numero di sequenza della canzone;
Queste impostazioni permettono di diminuire il bitrate dei brani prima che essi vengano
streammati oppure scaricati dai client. Questo ridurrà la velocità del server e potrebbe
appesantire il carico del processore del server stesso; tuttavia, se la banda è scarsa, è una
buona soluzione in alternativa a modificare i file.
# Is downsampling support enabled?
#
# If this is disabled then none of the further downsampling options will
# apply, even if they are set.
#
# Also note that if the downsampling support is disabled the preferences
# page will not allow the clients to select their own bitrate.
#
# (I think this makes sense, if it’s disabled it’s misleading to present
# configuration options to the clients).
#
# downsample_enabled = 1
#
Supponiamo che il server possa avere accessi sia da una LAN (connessione più veloce)
che da Internet. Probabilmente preferiremmo che gli utenti della LAN possano usufruire
dei file a bitrate elevato, mentre tutti gli altri clients dei file in downsampling. Queste
opzioni lo permettono facilmente: downsample_clients indica quali clients usufruiranno di
file a bitrate più basso, mentre no_downsample_clients indica quali clients usufruiranno
dei file a bitrate invariato.
Similarmente a quanto specificato in merito al ban degli IP, si possono combinare le due
opzioni nei modi che preferiamo, ricordandoci che il no_downsample ha precedenza
rispetto all’opzione downsample (e questa è una buona scelta, perché ci permette di
seguire una politica di scelta, simile all’instradamento dei router). Di seguito alcuni
esempi.
# Downsample Everybody:
# downsample_clients = ALL
# no_downsample_clients = NONE
Con questo settaggio, tutte le richieste provenienti da Internet riceveranno file a bitrate più
basso, mentre la LAN (ovvero la rete con IP che va da 192.168.0.0 a 192.168.0.255)
riceverà i file alla massima qualità possibile.
# Downsample all except two addresses
# downsample_clients = ALL
# no_downsample_clients = 192.168.0.162; 192.168.0.33
Qualità alta per tutta la LAN, tranne che per un singolo IP.
# For each of the downsampling levels the user has chosen the selected
# file will be processed by a command.
#
# This command is assumed to write it’s output directly to STDOUT.
#
# The following options specify the command line to run, note that
# the string ‘$FILENAME’ will be replaced by the file the user is
# requesting.
#
Prima di passare ai settaggi effettivi, Steve ci comunica le modalità per fare da soli.
Qualora avessimo inserito un nuovo tipo di media file che si può convertire ad un bitrate
più basso (ad esempio AAC+, oppure FLAC, o quello che si vuole), si deve inserire un
riferimento nella forma:
downsample_LIVELLOQUALITÀ_SUFFISSOFILE = comando argomenti.
Di una semplicità mostruosa. C’è poco da dire, Steve è davvero un ottimo sviluppatore.
#downsample_high_mp3 = /usr/bin/lame mp3input -b 56 $FILENAME -
#downsample_medium_mp3 = /usr/bin/lame mp3input -b 32 $FILENAME -
#downsample_low_mp3 = /usr/bin/lame mp3input -b 16 $FILENAME
Ecco le impostazioni per gli MP3. La prima riga indica la qualità alta di downsampling. Si
può scegliere cosa sia da attribuire ad “alto”. Condivido la scelta di Steve di settare ad alto
il valore di 56 kbps, perché si tratta pur sempre di un downsampling. Sostituiamo a 56, 32,
o 16, i valori che preferiamo, con un minimo di coerenza.
Viene richiamato il programma LAME, con lo switch -mp3input, che come è noto serve
proprio a modificare un file MP3 cambiandone il bitrate. Lo switch -b permette di
impostare i seguenti bitrate: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.
#downsample_high_ogg = /usr/bin/sox -t ogg $FILENAME -t raw | oggenc
raw downmix -b 96 -
#downsample_medium_ogg = /usr/bin/sox -t ogg $FILENAME -t raw |
oggenc raw downmix -b 64 -
#downsample_low_ogg = /usr/bin/sox -t ogg $FILENAME -t raw | oggenc
raw downmix resample 22050 -b 32
Questa opzione permette di settare una directory in cui verranno inseriti i plug-in (che
sono script Perl) che il server richiamerà in base alle richieste ricevute.
#
# Plugin-Specific settings here.
#
Qui andranno delle impostazioni specifiche per i vari plug-in, ammesso che ce ne siano.
# Directories to exclude when choosing a random directory. Seperate
# multiple directories with a ‘|’ character.
#
# plugin_random_exclude = Talk|Midi|Video
Questa opzione permette di escludere alcune directory nel caso in cui si scelga
casualmente quale utilizzare. Per separare le directory da escludere, basta usare il carattere
[|].
##
# HACKING atypical configuration follows, this will not be of
# interest to casual users.
#
# Dragons lie yonder … ->
#
#####
Queste opzioni potrebbero non interessare l’utente medio, ma un buon regista che voglia
utilizzare questo software non può non conoscerle.
# When files are served there needs to be an appropriate mime type
# sent along with them, this allows the browser to pass the response
# back to an MP3 player, etc.
Quando sono disponibili dei file è necessario impostare loro un MIME type (se n’è parlato
in precedenza), affinché si permetta ai browser di trasferire la chiamata a un programma
apposito come un player MP3.
# Most Unix systems will have the file ‘/etc/mime.types’ which is
# used by default. If not point this next file to wherever your mime
# types file is located:
#
mime_file = /etc/gnump3d/mime.types
#
Molti sistemi Unix hanno un file type all’interno di /etc; si ha la possibilità di impostare
un file che sarà utilizzato da GnuMP3d.
# This next setting controls where the file types are looked up.
# we support many audio, visual, and playlist files and to do this
# we need to be able to lookup a file to determine what kind of
# file it is.
#
# Here is the lookup file.
file_types = /etc/gnump3d/file.types
In questa riga si può settare il path del file che conterrà tutte le estensioni supportate come
file da streammare.
# In order to record which songs are currently being played the server
# will create a temporary file containing that path of each file that
# it is serving.
#
# The path under which these files are created in may be set here.
#
now_playing_path = /var/cache/gnump3d/serving
All’interno di questo file troveremo tutte le canzoni che sono trasmesse in un determinato
momento. È possibile modificare il path a piacimento.
# As a speedup and optimisation song tag is read via a companion script
# which is called ‘gnump3d-index’. This will be run automatically when
# the server starts if possible.
#
# This next setting controls where that script will write its tag database
# to.
#
tag_cache = /var/cache/gnump3d/song.tags
Non se n’è ancora parlato, ma corredato a GnuMP3d esiste anche uno script chiamato
gnump3d-index che si occupa di indicizzare i tag delle canzoni. Tali tag vengono salvati in
un file che si può tranquillamente settare.
# This next setting allows you to control the path to the gnump3d-index
# script which is used, as explained above.
#
# Normally you shouldn’t need to touch this.
#
# index_program = /usr/bin/gnump3d-index
Questa riga, se decommentata, indica a GnuMP3d l’indirizzo in cui può trovare lo script
gnump3d-index.
# This setting controls whether we should stream song title
# information in shoutcast format.
#
# If your client supports it then you should enable it, otherwise
# not.
#
# (This works correctly on WinAmp, and XMMS.)
#
shoutcast_streaming = 1
Il log del server viene incollato alla fine del log precedente. Se per motivi di spazio sul
disco si preferisce che esso venga troncato, bisogna decommentare l’ultima riga e
impostarla ad 1.
# By default the server will close a connection it receives if it
# hasn’t received a valid request after 10 seconds.
#
# Here you may change this timeout value.
#
# read_time = 10
Da quello che si evince nel commento di Steve, qualcuno gli ha consigliato di impostare
un flag di visibilità alla pagina web del server. Inutile dire che questa è stata una opzione
di profonda utilità.
Nel caso in cui non si sia interessati ad un server di streaming on demand, ma unicamente
ad una web radio, si può dare solo l’indirizzo http://server:porta/recurse.m3u o similari e
trasmettere come radio.
# This next value controls whether we should believe, and use, the
# client supplied ‘Host:’ header.
#
# This header is sent by HTTP/1.1 clients only, and could be spoofed.
# You’ll only NEED to use it if tunnelling over SSH or performing similar
# magic.
#
# It’s enabled here because I don’t believe it should cause any real harm
# YMMV.
#
use_client_host = 1
Da utilizzare qualora si voglia che le richieste inviino l’header host, che è una peculiarità
di HTTP/1.1. Non è un’opzione di profondo interesse se non si realizzano tunnel SSH.
# Set this option to rewrite the hostname:port combination in the URLs in
# your playlist. Most people won’t need this unless they are proxying
# their connection or running multiple streaming servers through a load
# balancer or DNS rotor.
#
# Note: If you set this you will almost certainly need to set
# “use_client_host=0”
##
# host_rewrite = ““
Se si desidera che la playlist abbia un indirizzo per ciascun file diverso da server:porta,
magari perché si usa un server proxy, ciò si può fare decommentando la riga host_rewrite.
In più, può essere utile settare a 0 l’opzione precedente, ovvero use_client_host.
# This is an experimental feature ignore it.
#
# It does not work.
#
# Ignore it: You are not expected to understand this (I’ve always wanted
# to leave that as a comment somewhere
#
##
#
# jukebox_mode = 1
# jukebox_player = /usr/bin/mpg123 $FILENAME
#
##
Steve è un gran burlone, oltre che davvero un bravo ragazzo. Ha lasciato un’opzione
sperimentale che non serve a nulla: si chiama modalità jukebox, ed effettivamente non fa
niente se decommentata. Steve ci fa anche notare che non siamo in grado di capirla.
All’interno delle man pages Steve dice:
This is an experimental mode whereby all the songs that users select are played back upon your GNUMP3d
server and not streamed at all.
It’s not been tested very much and is included purely to demonstrate that such a thing is possible. It may
disappear with no notice unless there is sufficient interest in it.
Set this to ‘1’ to enable it, but be sure to set ‘jukebox_player’ to
point to an appropriate playback binary.
Se non è importante mostrare i tag delle canzoni si può decommentare l’ultima riga.
# Make it possible to disable the tag cache altogether, to save memory.
#
##
# disable_tag_cache = 0
Queste opzioni permettono di aggiungere dei tag meta all’interno della sezione head di
ciascuna pagina web visualizzata tramite GnuMP3d.
14. Spreaker
Spreaker è il nome di un progetto italiano di web radio browser driven. Una web radio si
definisce browser driven se la sorgente non è identificabile con un programma di regia
standalone, bensì con una finestra del browser stesso, possibilmente interfacciata a
microfoni o altre attrezzature. Per conoscere il progetto, il primo passo è quello di
iscriversi al sito www.spreaker.com.
La home del proprio account è molto semplice e tutto sembra molto intuitivo. Si può
completare il proprio profilo per poi andare direttamente su trasmetti. Una volta entrati
nell’area di trasmissione, comparirà un mini modulo chiamato crea una puntata.
In questa pagina si potrà scegliere se caricare un podcast già realizzato con altri strumenti
oppure realizzare tutto tramite Speaker che è l’opzione di interesse per la trattazione. Si
continui a compilare il modulo. Selezionando le opzioni avanzate, si può anche scegliere
di inserire dei tag o una descrizione del programma. Dopo avere compilato tutto, occorre
andare avanti cliccando su Trasmetti.
Si verrà indirizzati su http://www.spreaker.com/broadcast/record.
Per effettuare una trasmissione vocale semplice è sufficiente cliccare sul comando rosso in
alto e rientrare entro i 30 minuti. Durante il live, gli ascoltatori potranno sentire la
trasmissione a questo indirizzo:
http://www.spreaker.com/page#!/user/nomeutente/nomepuntata.
14.1. Interfaccia della consolle
Si supponga di volere trasmettere live e si continui a dare un’occhiata alla consolle:
troviamo tre canali. Uno è di presa diretta microfonica: si può collegare all’ingresso
microfono un semplice microfono da 5 euro o un’intera strumentazione discografica; tutto
verrà veicolato dal level meter più a sinistra.
Cliccando sul comando monitor il brano continua ad essere trasmesso ma non viene
ascoltato dallo speaker e dal regista (ammesso che siano in questo caso due figure
differenti). La domanda che ci si può porre adesso è: come caricare la musica sugli
ausiliari? Per fare questo esiste una finestra, ancora più a destra, chiamata playlist.
Cliccate sul pulsante add per entrare in una finestra di gestione dei file. Questa finestra
contiene quattro tab: explore, search, latest ed upload. Explore consente di cercare
all’interno di un database comune le canzoni di interesse per la trasmissione. Se non avete
caricato nulla troverete un sacco di brani, ma anche effetti, jingle e loop, molto gradevoli.
Il tab search consente di cercare in modo più approfondito all’interno del database
personale e comune, mentre latest visualizza i brani più recenti, utilizzati o caricati.
Upload permette di caricare un brano all’interno del proprio database personale, che ha
dei limiti temporali. Si possono caricare in media sino ad un massimo di 10 ore.
Dopo avere scelto o caricato il brano, basta cliccare sul comando add del singolo brano
per inserirlo in playlist. Dalla playlist anche con un semplice drag and drop sarà possibile
muovere il brano sul deck ausiliario.
La stessa procedura può essere attuata anche per Sound FX. Si consiglia di tenere separati
effetti e brani, almeno per quanto riguarda la loro sistemazione in playlist e Sound FX;
chiaramente si andranno poi a mescolare sui deck.
15. DirEttore
DirEttore è un software di automazione radiofonica estremamente potente e professionale.
Il progetto DirEttore è visionabile al sito www.mixtime.com. Il software è fornito tramite
una congrua donazione ed è disponibile per sistemi Windows.
15.1. Requisiti minimi
I requisiti minimi di installazione della regia sono:
♦sistema operativo: Microsoft® Windows Seven™ / Vista™/XP™/ 2000™/Server 2003™
♦memoria: 1 GB RAM
Lo slider cambia colore dal verde al giallo ed infine al rosso in base all’avvicinarsi del
termine del brano. La regia utilizza cinque player virtuali, dei quali quattro sono dedicati
alla normale programmazione musicale, mentre il quinto è usato per lanciare eventi
speciali come gli annunci temporali, gli sweeper e le voice-track.
Soltanto tre dei quattro player normali possono riprodurre simultaneamente; il quarto è
sempre messo in pausa, pronto a fare partire il brano successivo. Sono mostrati tre stati,
identificati dai colori.
STOP
Stop indica che in questo player non è caricato alcun brano.
ON CUE
On cue indica che il player ha un brano caricato e pronto per essere suonato.
PLAY
Play indica che il player sta riproducendo musica.
Ci sono quattro misuratori di volume per permettere di dare un riscontro visuale del
volume attuale di un player. Il player speciale non cambia il suo volume.
15.5.2. Il pannello dei contatori
Tutti i contatori del pannello mostrano il tempo in formato H:MM:SS.T; è quindi scontato
che il massimo tempo visualizzabile sia 9:59:59.9. I file che durano più di 10 ore verranno
comunque riprodotti ma non verrà calcolato il tempo oltre il limite massimo. L’unica
eccezione a questa regola è il contatore del calcolo della durata sotto il pannello di stato, il
quale utilizza il formato HH:MM:SS.T, permettendo quindi di mostrare una durata
massima di 24 ore. Le durate che superano questo limite verranno visualizzate con un
messaggio “more than one day”, più di un giorno.
La prima barra verticale (figura 15.7) mostra l’attuale utilizzo della CPU di sistema; in
questo modo l’utente è sempre informato sullo stato del sistema e se il programma
richiede risorse che il computer non può fornire o se è il caso di chiudere qualche
programma contemporaneamente aperto.
La seconda e la terza barra verticale (figura 15.8) mostrano i livelli volumetrici del player
di preascolto e del player degli effetti istantanei. Il loro range va da – 30 a 0 dB, dove il
limite superiore è il massimo livello prima del clipping.
Quando lo sfondo ritorna blu, indica che è stato settato un punto di intro e, in tal caso, i
numeri mostrati rappresentano il countdown al punto di intro stesso. Lo sfondo comincia a
lampeggiare cinque secondi prima del momento del punto di intro, come avvertimento.
Gli altri due contatori sono:
♦elapsed (sinistra): il tempo trascorso dal reale punto di inizio (che non necessariamente è
il punto di inizio settato nella finestra di modifica dei cue point);
♦remain (destra): il count down reale del brano.
A sinistra di questo pannello (sezione della finestra principale) c’è la sezione dei cue point
nella quale si possono verificare tutti i cue point del brano corrente così come le tipologie
di fading, che sono cinque:
♦NO
♦CUT
♦FAST
♦NORMAL
♦s SLOW.
I punti di partenza e di intro si riferiscono sempre alla posizione di partenza del brano,
mentre i punti di mix fanno riferimento alla posizione finale del brano. L’indicazione del
mix point cambia il colore di sfondo quando la traccia corrente viene limitata in durata
dalla massima durata settata.
Il pannello di stato centrale mostra informazioni critiche su tutto il processo
d’automazione. La prima grande riga è usata per indicare gli attuali settaggi di
automazione e per avvertire l’operatore se c’è un problema. Normalmente questo significa
che sta succedendo qualcosa di diverso dal comportamento normale della regia.
Una volta trovato il brano desiderato è sufficiente fare doppio clic su un risultato per
aggiungere immediatamente il brano dopo la selezione corrente nella playlist principale.
Le informazioni estese contenute nei tag ID3 di un file MP3 si possono visualizzare
semplicemente facendo doppio click sul nome del brano in onda. L’indicazione del nome
del brano diventerà arancione e i campi del tag ID3v1 verranno visualizzati nel pannello di
stato centrale. I tag visualizzati sono artista, nome brano, album ed anno.
Rifacendo doppio click si ripristinerà la situazione originaria.
15.5.3. Il volumetro principale
La finestra principale comprende anche un misuratore volumetrico stereo logaritmico con
un indicatore del livello di picco. Il range va da – 30 a 0 dB dove 0 è il livello del clipping
digitale che fa scattare gli indicatori di picco (l’indicazione di picco viene mantenuta attiva
per un secondo).
Il misuratore volumetrico mostra il livello sonoro generato dai player in trasmissione (dal
primo al quarto) insieme ai player degli sweeper e degli annunci temporali.
I player degli effetti istantanei e il preascolto hanno i loro misuratori volumetrici accanto
al misuratore di sforzo della CPU. I numeri all’interno della barra sono livelli output
espressi in decibel (Db). L’indicatore è digitalmente corretto ma la resa audio reale
dipenderà fortemente dai settaggi del mixer della scheda audio trasmittente.
15.5.4. Primo gruppo comandi
Ci sono tre gruppi di comandi: uno posizionato verticalmente nell’angolo in alto a destra
dello schermo, il secondo sotto i contatori, il terzo gruppo è composto da due file
orizzontali di comandi.
Queste due file sono raggruppate logicamente: la prima raccoglie i modificatori
operazionali mentre la seconda gli operatori di visualizzazione. La fila in alto contiene 8
comandi usati per cambiare la configurazione del flusso in trasmissione all’istante, oppure
per modificare le informazioni visualizzate sulla finestra principale.
Di seguito si analizza la prima riga.
BREAK AFTER
Break after ferma l’automazione al momento del termine del brano attualmente in onda,
applicando il fading settato. Questo comando è attivo solo quando l’automazione è attiva.
Inoltre, break after è attivato automaticamente quando si è raggiunto il massimo numero
di errori riscontrabili durante la selezione della traccia audio. È anche possibile settare
questa funzione su uno specifico brano tramite il menu contestuale della playlist
principale.
LIVE ASSIST/AUTO
Live assist/auto scambia le due modalità. Live assist è la modalità manuale, dove il brano
successivo non parte automaticamente ma è attivato tramite l’utilizzo del comando invio o
spazio o facendo doppio click. Gli eventi schedulati in questa modalità sono disabilitati.
Auto, invece, automatizza completamente la rotazione tramite l’inserimento di eventi
schedulati.
PLAYLIST/ROTATION
Il comando playlist/rotation scambia le due modalità operazionali permesse da DirEttore.
Playlist permette di trasmettere una sequenza fissa e predefinita di brani, jingle, sweeper e
annunci temporali.
ROTATION
Tramite rotation si riproduce una sequenza predefinita di elementi da rotazione (insieme
agli annunci temporali e agli sweeper) che sono casualmente selezionati all’inizio di
ciascun nuovo ciclo.
ROTATE NOW
Rotate now ricostruisce la finestra della playlist corrente con i nuovi brani selezionati in
base alla rotazione attiva. Se è attiva la modalità playlist, il comando rotate now
semplicemente reinstallerà la playlist corrente.
Di seguito si analizza la seconda riga.
EXPAND I.P./COLLAPSE I.P.
Partendo da sinistra, il numero sullo sfondo nero identifica il player degli effetti istantanei
associato. Lampeggerà in rosso quando il player viene attivato.
Al centro ci sono i comandi di inizio e di stop, una replica di quelli descritti nella seconda
sezione del gruppo orizzontale. L’unica differenza è che caption mostrerà il nome del
brano associato. Se è inattivo, non c’è un file caricato per il comando.
Ciascun player ha anche il suo contatore personale per il countdown e un indicatore
progressivo, alla sua destra. La durata è calcolata tenendo conto del possibile punto di
inizio ma, visto che il player degli effetti istantanei è un cart like, il punto di fine sarà
sempre la fine del brano e non verrà applicato il fading, a prescindere dal cue point settato.
ROTATE VIEW/LIVE FADER
È anche possibile scegliere una delle tre velocità di fading disponibili: fast, norm e slow,
che hanno rispettivamente una durata di 1, 4 e 8 secondi. Quando sono espansi i player
istantanei, il gruppo di controllo del fader è piazzato dove si trova il gruppo dei player
degli effetti istantanei compresso.
EVENTS VIEW/FILES VIEW
La funzione events view/file view scambia la visualizzazione degli eventi schedulati e
l’albero dei file e delle directory. La finestra di visualizzazione dei prossimi eventi
schedulati mostra gli eventi in avvicinamento nei successivi 60 minuti, permettendo di
disabilitarli rimuovendo la spunta alla checkbox upcoming scheduled events. Gli eventi
mostrati con uno sfondo luminoso rosso o rosa sono eventi immediati.
Figura 15.23. Upcoming scheduled events
L’albero delle directory mostra soltanto i file audio supportati, permettendo di scegliere il
brano che si vuole aggiungere al programma corrente nella visualizzazione playlist o
rotation. È anche possibile preascoltare un brano cliccando con il tasto destro sul nome e
selezionare prelisten track sul menu.
I BRANI APPENA TRASMESSI
Un altro modo per visualizzare il nome del brano è cliccare con il tasto destro all’interno
dell’area delimitata dai 12 comandi in modo da mostrare una lista dei file caricati o
attivando la visualizzazione espansa precedentemente descritta, dove questo menu
contestuale è comunque disponibile.
I comandi inattivi indicano che non c’è un brano caricato per il comando corrispondente.
Ci sono due controlli aggiuntivi in questo gruppo, con le seguenti funzionalità:
♦edit:
apre la finestra di configurazione dei player degli effetti istantanei. Da qui si
possono modificare e provare tutti i dodici comandi;
♦load: carica un gruppo di player di effetti istantanei precedentemente salvato. Questa
modalità è la più veloce per cambiare l’attuale parco jingle.
COMANDO PANIC
La funzione panic completa la fila orizzontale di comandi. Permette l’inserimento nella
playlist di un numero predefinito di brani da una data cartella, in modo da risolvere ogni
situazione di panico (da qui il nome) nella quale il regista si trovi in situazione di silenzio
non causato da un crash di sistema o dal programma.
Premere il comando panic due volte o premere due volte il tasto [Esc] (che è la scorciatoia
da tastiera collegata al tasto panic) per fermare immediatamente e senza fading tutti i
player della regia, sweeper e annunci temporali inclusi. Si comincerà dal primo brano in
situazioni di panico. La grandezza del tasto panic varia in base alla risoluzione dello
schermo.
15.5.6. Terzo gruppo di comandi
Il gruppo verticale di comandi permette di accedere alle finestre di configurazione
principali, insieme alla funzione di play e stop.
La lista sotto il testo informativo mostra informazioni sul tipo di elemento, sul titolo del
brano, sui cue point associati, sulla tipologia di fading, lo stato dell’opzione skip intro, la
durata reale di trasmissione del brano, quando il brano verrà trasmesso (opzione valida
solo se è attiva l’automazione), la durata dell’intro, il percorso completo del file, lo stato
voice-track del brano (che istruisce l’automazione a trattare il brano come un voice-track)
e lo stato del voice-track overlapping (che indica che una voice-track può sovrapporsi al
brano specificato).
Gli sweeper e le voice-track sono identificati con uno sfondo bluastro mentre gli annunci
temporali sono identificati da uno sfondo rosso.
Tutte le colonne della lista possono essere ricombinate.
Facendo doppio click sull’header si setteranno tutte le colonne nella posizione di default
mostrata in figura 15.31.
Si possono anche modificare i cue point o le informazioni del brano selezionato, inserirne
un altro prima o dopo la posizione del cursore oppure cambiare o cancellare il brano
selezionato. Non si possono modificare i cue point del brano attualmente attivo. Mentre
l’automazione è attiva è possibile cambiare il brano successivo con uno degli altri presenti
nella visualizzazione playlist/rotazione. Gli sweeper e gli annunci temporali non possono
essere settati come brani successivi. Se l’automazione è ferma, questa opzione non è
disponibile e verrà disabilitata dal menu contestuale. Per ultimo, è anche possibile inserire
una playlist nel flusso d’automazione e crearne un’altra dai brani presenti.
15.6. Il preascolto
Dopo avere correttamente settato questa funzione nella finestra di configurazione (tab
track info), se si volessero aggiungere informazioni ad un brano specifico (come ad
esempio la biografia dell’artista o qualsiasi altra informazione estesa), si può usare l’editor
interno del programma raggiungibile cliccando col tasto destro sul brano desiderato.
Si visualizzerà l’editor delle informazioni dei brani permettendo di:
♦modificare
♦caricare il testo da un altro file .dti (track info file) precedentemente salvato dal direttore.
CASO 1
Scrivere il testo desiderato entro il massimo limite di caratteri.
CASO 2
Copiare ed incollare il testo da qualsiasi altra sorgente. Il testo verrà copiato senza
formattazione. Se il testo supera il massimo numero di caratteri consentiti verrà troncato.
CASO 3
Fare doppio click su uno degli oggetti presenti in lista. Il testo verrà copiato nell’editor,
sovrascrivendo ogni altro testo inserito, per essere disponibile per ulteriori modifiche.
I file .dti vengono salvati all’interno della cartella Demo di DirEttore, sottocartella Info.
Aprendo con un editor di file testuali un file .dti si nota che è composto semplicemente dal
testo salvato con all’inizio un header, la stringa DTIFileV1.
15.8. Configurazione dei player degli effetti istantanei
♦check duration.
L’errore più comune durante la creazione di una playlist è l’inserimento della stessa traccia
più di una volta. Il controllo dei duplicati avvia la ricerca di qualsiasi voce duplicata. Se
viene trovato un duplicato, sarà elencato nella finestra dei risultati ed evidenziato nella
playlist.
Una playlist è sostanzialmente fatta di file. Se si modifica il nome di un file referenziato in
una playlist, l’automazione non sarà in grado di trovare il brano.
Il comando di controllo della coerenza esegue una ricerca di tutti i file contenuti nella
playlist e restituisce quelli mancanti (anche loro evidenziati nella playlist). Gli elementi
particolari (annunci temporali, sweeper e gli elementi di rotazione) sono esclusi dalla
ricerca.
Mai dimenticare di attivare l’evento una volta inserito, altrimenti non sarà mai
programmato (per garantire retrocompatibilità, gli eventi salvati prima della versione 1.8
sono abilitati di default).
L’ultima cosa da scegliere è quando l’evento deve essere attivo. I giorni della settimana
non selezionati sono quelli in cui l’evento non verrà inserito nel flusso di automazione. A
questo punto è necessario selezionare il tipo di elemento che si desidera aggiungere.
Premere il comando sfoglia se è necessario inserire tracce, rotazioni, le sequenze e le
playlist. Gli elementi di rotazione, gli annunci temporali e gli sweeper hanno i loro
comandi separati. Qualora selezionati, l’impostazione corrente verrà copiata nell’elemento
appena aggiunto, nella posizione in cui si trova il cursore. Il comando dell’elemento di
rotazione ha una propria finestra da cui è possibile scegliere l’elemento corretto.
È importante spostare l’evento inserito al posto desiderato, perché se c’è più di un
elemento con lo stesso tempo di inizio, DirEttore seguirà la posizione in elenco per
aggiungere gli elementi nella playlist dell’automazione. Gli elementi possono essere
spostati tramite drag & drop.
In presenza di molti eventi può essere difficile trovare un evento programmato per iniziare
in un giorno specifico. Lo schedulatore degli eventi consente di vederli organizzati per
giorno semplicemente facendo clic sulla scheda necessaria. Una volta selezionato il
giorno, è possibile visualizzare gli eventi abilitati, nascondendo quelli che sono stati
disattivati selezionando la casella in basso a sinistra dello scheduler.
Premendo il tasto modifica l’evento viene aggiornato con i nuovi parametri. Come per
tutte le caratteristiche più importanti del programma, è possibile salvare gli attuali eventi
in programma o caricare le sessioni precedentemente memorizzate utilizzando i comandi
associati. Bisogna assicurarsi di attivare gli eventi in programma, altrimenti nessuno degli
eventi inseriti sarà programmato (indipendentemente dal loro status, abilitato o meno).
L’ultima cosa importante riguardo gli eventi in programma è la seguente: se l’inserimento
di un particolare elemento si verifica un secondo prima della fine del brano attualmente
riprodotto, questo sarà riprogrammato per il prossimo minuto.
15.12. Pianificazione delle pubblicità
♦slow
♦cut.
C’è anche l’opzione per non effettuare il fading al punto di mix: per fare ciò selezionare
do not fade. Si può anche forzare il brano per cominciare sempre dal punto di intro; in
questo modo il brano salterà l’inizio e partirà dal punto di intro impostato.
Silence detection è l’opzione che può essere usata per aggiustare automaticamente la
posizione d’inizio e di fine in base ai livelli audio impostati nello slider dedicato. Si
possono scegliere i livelli di silenzio separatamente oppure contemporaneamente per
entrambi i punti.
Si può anche abilitare il riconoscimento automatico al caricamento per i brani senza
nessun assegnazione dei cue point.
La finestra dei dettagli dei brani mostra il tipo del brano fornendo informazioni avanzate
su codifica, frequenza di campionamento, bitrate e numero di canali. Se la tipologia di
codifica è MP3, il titolo, l’artista e il nome dell’album verranno letti dai tag ID3, qualora
impostati.
Si può anche visualizzare il livello e lo spettro del brano, insieme allo slider del
preascolto, per fornire tutti i controlli e le analisi del brano selezionato. Ci sono quattro
contatori: il primo (partendo dall’alto) mostra la posizione corrente, corrispondente allo
slider.
Il secondo mostro il tempo di trasmissione reale, ovvero il tempo di trasmissione occupato
dal brano tenendo conto dei cue point. Questa opzione è utile perché in questo modo si
può verificare l’attuale durata del brano mentre lo si taglia.
Il terzo contatore è una visualizzazione statica della durata totale del brano caricato.
Dalla versione 1.9 il voice tracking è diventato parte integrante dei settaggi associati al
singolo brano. È ora possibile rendere un brano una voice-track semplicemente abilitando
la casella voice-track. In questo modo, quando il brano è piazzato nel flusso di
automazione verrà marcato come sweeper e trattato come uno sweeper o una voice-track
in dipendenza dai settaggi dell’automazione.
L’opzione voice-tracking nasconde un problema. Se un particolare brano, come jingle o
annunci, non deve essere sovrapposto da una voice-track, il settaggio del brano deve
impedire all’automazione di evitare la sovrapposizione.
La casella no voice track overlap serve proprio a questo. Se abilitata, il brano associato
non avrà nulla di sovrapposto prima del mix point.
15.15. Configurazione
Per visualizzare la finestra di configurazione, premere il comando configuration in alto a
destra nella finestra principale.
In questa finestra si possono fornire a DirEttore delle istruzioni per personalizzare la
stazione radiofonica.
15.15.1. Parametri generali
Inserire il nome della radio (massimo 50 caratteri);
♦selezionare enable autostart se si vuole che DirEttore cominci a riprodurre all’avvio del
processo;
♦selezionare enable autocue se si desidera avere il brano nel player on cue (il player che
posiziona il brano in modalità “pronto per partire”) al momento della selezione, ad
automazione ferma. Questa operazione richiede mediamente un secondo. Gli annunci
temporali e gli sweeper sono esclusi dall’autocue;
♦selezionare enable real-time error check se si vuole che i brani mancanti o indisponibili
siano marcati con uno sfondo rosso;
♦selezionare enable splash screen se si vuole la finestra con l’andamento progressivo di
caricamento all’avvio;
♦selezionare enable duration calculation per permettere al programma di calcolare la
durata totale della playlist o della rotazione, insieme al calcolo della durata di ogni
singolo brano nella finestra di playlist o rotazione. Si può anche scegliere la velocità (e
di conseguenza l’accuratezza) del processo di calcolo. Si può anche salvare la
configurazione premendo il comando OK piuttosto che salvare quando il programma è
chiuso. Questa opzione è utile in caso di crash del programma.
È possibile testare se i settaggi sono corretti usando il comando test. In questo modo
l’annuncio temporale sarà riprodotto nel player di preascolto. Qualora qualcosa vada
storto comparirà un messaggio d’avviso.
I player che subiscono modifiche inviano i loro segnali alla scheda audio di nuova
assegnazione immediatamente dopo che si è premuto il comando OK.
Alcune schede audio con output multipli potrebbero mostrare un numero di canali minore
rispetto a quelli fisicamente presenti. Questa differenza dipende dall’implementazione dei
driver Direct Sound. I driver ASIO non sono supportati.
15.15.11. Compressor tab
Il compressore DSP è un oggetto DirectX Media immerso nell’automazione che permette
il livellamento del suono dei segnali audio provenienti dai player on air, dai player degli
effetti istantanei, dagli sweeper e dagli annunci temporali. I parametri usuali (guadagno,
attacco, rilascio, soglia e ratio) possono essere impostati in questo tab. Il miglior modo per
settare tutto è fare dei tentativi e vedere come reagisce il sistema alle modifiche man mano
fatte.
I player degli effetti istantanei saranno sempre attivi ad ogni utente perché fanno parte del
programma e non delle configurazioni della regia. Una volta che la password è impostata,
ogni volta che il comando di configurazione o l’equivalente tasto della tastiera viene
premuto comparirà la finestra per l’inserimento della password.
Non c’è un numero massimo di volte in cui si può inserire una password sbagliata ma il
limite di cinquanta caratteri della password consente di impostare password resistenti
anche ad un brute force attack.
Figura 15.67. Percorso audio dall’output dei player alla scheda audio
♦[F1] – [F12] invertono lo stato (da play a stop e viceversa) dei player degli effetti
istantanei da 1 a 12;
♦[BACKSPACE] passa al brano successivo quando è attiva la rotazione;
♦[A] passa dalla modalità auto alla modalità live assist e viceversa;
♦[T] visualizza la sezione delle informazioni sui brani, che è mutualmente esclusiva con la
sezione degli ultimi brani trasmessi;
♦[V] scambia la visualizzazione degli eventi con quella dei file e viceversa;
♦EventRepeatN indica ogni quanto tempo deve essere ripetuto; nel caso proposto hour
indica ogni ora;
♦ExpirationDateN indica quando l’evento uscirà dalla schedulazione;
♦0010001 rappresenta l’indice di riga (prime tre cifre) e di colonna (ultime tre cifre) dello
spot nel quadro del pianificatore;
♦Percorso/nomefile.MP3 indica il percorso dello spot;
♦E indica che l’evento è abilitato; c’è un trattino al suo posto se lo spot non lo è;
♦Always indica che lo spot non ha una data di inizio posticipata rispetto ad oggi;
♦Never indica che lo spot non esce mai dalla rotazione pubblicitaria;
♦i parametri globali (globals) indicano il file di intro, di outro e i separatori tra gli spot.
Una volta impostati i punti di un file, cliccando sulla voce save cuepoints verrà salvato il
file cambiandone il nome.
Se ad esempio abbiamo un file originario del tipo: NomeArtista – Nomebrano.MP3, il
nome file dopo il salvataggio dei cue point sarà: NomeArtista – Nomebrano [N-K-J-
ZY].MP3, dove
♦N rappresenta il tempo, partendo da zero, del cue point start, espresso in decimi di
secondo. Se si è scelto che il brano debba partire da 15,1 secondi, N varrà 151;
♦K rappresenta il tempo, partendo da zero, del cue point intro, espresso in decimi di
secondo. Se il cantante comincia a cantare da 23,1 secondi, N varrà 231;
♦J rappresenta il tempo, partendo da zero, del cue point mix, espresso in decimi di
secondo. Se si denota che il cantante smette di cantare a partire dai 4 minuti e 12
secondi, N varrà 2412;
♦Z vale 4 se è impostato il flag di partenza obbligatoria dal cue point start;
Ovviamente occorre stare attenti a cambiare i cue point di un file solo quando ancora non
è inserito nella rotazione del programma o non è in trasmissione in quel preciso momento.
Regole di buon senso, ma non fa mai male ricordarle.
15.18.7. Listato dei player degli effetti istantanei
Il file salvato dall’editor dei player degli effetti istantanei ha l’estensione .ipl.
[InstantPlayers]
Player1=Path/Nomefile.MP3
Player2=Path/Nomefile.MP3
Player3=Path/Nomefile.MP3
Player4=Empty Slot
Player5=Empty Slot
Player6=Empty Slot
Player7=Path/Nomefile.MP3
Player8=Path/Nomefile.MP3
Player9=Path/Nomefile.MP3
Player10=Empty Slot
Player11=Empty Slot
Player12=Empty Slot
Una volta compilato il modulo arriverà una mail per attivare il canale.
Insieme al link per attivare il canale verrà inviata una password da conservare
accuratamente.
♦website
♦tutorials
♦downloads
♦embed.
Cliccando sul link si farà partire il server. A questo punto comparirà una finestra molto
simile a questa:
Server IP: indirizzo Port: porta
Mount: Bitrate:
Username: Password:
I dati identificabili in questo modulo sono chiari se si ha una minima esperienza nella
realizzazione di un’emittente (anche con altri software).
Una volta impostati tutti i dati forniti dal servizio all’interno dell’encoder si potrà
cominciare a trasmettere.
Occorre ricordare che il bitrate massimo utilizzabile per questo server è di 128 kbps, che
però è più che sufficiente per la maggior parte delle web radio.
17.2. Tab website
Andando sul tab website si aprirà una pagina con tre campi:
Your Website Address Is:
HTML Link to your website:
BB Code Link to your website: (for forums)
Raggiungendo la pagina dell’indirizzo (che è nella forma nomeregistrato.caster.fm) si
troverà una pagina polifunzionale con molte opzioni utili per la nuova emittente.
All’interno di questo sito c’è qualcosa di simile alla finestra mostrata nella figura 17.1.
A destra si troverà un box con alcune immagini (una casa, un telefono, un fumetto, un
calendario ed una ruota dentata).
Ognuna di queste immagini apre uno slider in basso a sinistra. Il sito dell’emittente parte
di default con lo slider Radio dashboard, che corrisponde al disegno della casetta.
Radio dashboard permette agli ascoltatori di inserire commenti, ad esempio tramite
Facebook.
Il telefono indica lo slider chiamato Request a song.
Ognuno dei cinque link porta ad un tutorial corrispondente. Le opzioni presentate sono
molto comuni, ma non le uniche possibili. Ci sono moltissimi altri modi di utilizzare il
server di Caster.fm (che altro non risulta essere che un server Icecast).
Ad esempio, andando sulla finestra di Edcast Standalone si vede che la guida è strutturata
in modo molto semplice e spartano, lasciando all’utente la cura di tutte le opzioni
secondarie.
17.4. Tab downloads ed embed
I due tab downloads ed embed del servizio Caster.fm permettono di scaricare i software
per l’utilizzo del server e di incorporare la radio all’interno di siti web di qualsivoglia
tipologia.
Il tab download presenta questi link:
♦Stand-Alone Version of EdCast – Broadcast From Line-In, Stereo Mix etc.
♦Mixxx (Free)
Sono tutti software più che utili allo scopo, anche se sono solo alcuni dei software che
possono fungere da sorgente per lo streaming.
Il Lame Encoder è la sequenza di istruzioni che permette di trasmettere in MP3.
Il tab embed permette invece di inserire all’interno del proprio sito un player molto carino,
personalizzabile in dimensioni.
Webplayer Embed Code: (Size: Small / Medium / Big)
Status Block Embed Code:
18. Edcast
Edcast è un encoder adatto a stazioni di piccole e medie dimensioni. Esiste in tre modalità:
come standalone, come plug-in di Winamp e come plug-in di Foobar. Durante
l’installazione del plug-in (ma anche per la versione standalone) verrà richiesto di
procurare il file lame_enc.dll per potere effettuare l’encoding in MP3. Il software non lo
fornisce, ma si può tranquillamente scaricare la libreria e piazzarla nella cartella in cui è
stato installato Winamp.
Una volta installato anche l’encoder bisogna procedere all’attivazione.
Su Winamp, cliccare col tasto destro in un qualsiasi punto del player e quindi su Opzioni >
Preferenze.
Comparirà la finestra rappresentata nella figura 18.1.
Cliccando su Edcast si visualizzerà l’encoder.
Occorre creare un encoder di trasmissione cliccando, nella finestra di Edcast, sul comando
add encoder. Comparirà una riga nell’area di testo sottostante. Cliccando col tasto destro
su questa riga, scegliere configure per aprire il menu di configurazione.
BITRATE
L’opzione bitrate indica il bitrate di trasmissione in kbps.
QUALITY
Quality indica la qualità di trasmissione qualora settabile (diversamente, ad esempio, dei
casi di server Icecast o Shoutcast).
SAMPLERATE
Samplerate è la frequenza di campionamento settabile. L’opzione standard è sempre
44100.
CHANNELS
Il numero di canali; 1 per mono, 2 per stereo.
ENCODER TYPE
Tipologia di encoding, ad esempio OGG oppure MP3.
SERVER TYPE
Tipologia di server di streaming al quale connettersi.
SERVER IP
Indirizzo del server di streaming.
SERVER PORT
Porta del server di streaming.
ENCODER PASSWORD
Password del server di streaming.
MOUNTPOINT
Nome del mountpoint al quale connettere la sorgente.
YP SETTINGS
Impostazione delle pagine gialle.
Figura 18.4. Finestra di impostazione delle pagine gialle
PUBLIC SERVER
Public Server è un flag che permette di rendere il server privato, utile durante l’utilizzo
combinato di Edcast con Shoutcast.
STREAM NAME/DESCRIPTION/URL/GENRE
Stream name/description/URL/genre identificano rispettivamente il nome dell’emittente,
la sua descrizione, l’URL del sito di appartenenza della radio e il genere principale della
musica trasmessa.
Non sono parametri obbligatori, così come non lo sono ICQ, AIM e IRC, parametri dove
vanno inseriti gli account di questi tre servizi di messaggistica istantanea.
18.1.2. Advanced settings
♦opzioni
♦canzoni
♦cartelle
♦voci sintetiche
♦modem
♦rete
♦RDS Pira
♦webcast
♦pubblicazioni.
19.1. Audio
19.1.1. Scheda Audio
La sezione audio consente di scegliere la scheda audio principale tra le schede disponibili
e per questa impostare l’AGC (Automatic Gain Control) in quattro modalità: none, soft,
standard ed hard.
Si può settare anche la compressione audio con le stesse opzioni dell’AGC. L’audio buffer
è impostabile come default, low, standard ed high.Il valore di default è di 500
millisecondi.
Oltre alle tre opzioni si può scegliere il volume d’uscita che va da un massimo di 100 ad
un minimo di 0. Le sorgenti esterne impostabili sono 4; per ognuna di esse è possibile
impostare la scheda audio, il canale d’ingresso, il livello sonoro, alcune proprietà e il
preascolto.
Cliccando su proprietà in un qualsiasi canale EXT si visualizzerà un’altra finestra
contenente delle sotto-opzioni, di seguito analizzate.
PROPRIETÀ
Il tab proprietà (attenzione a non confondere il tab proprietà con la finestra proprietà:
hanno lo stesso nome ma livelli logici diversi) contiene quattro sezioni:
♦modo di play, che permette di impostare le modalità di missaggio della sorgente esterna,
se ripeterla e suonarla dall’inizio alla fine ad un dato volume;
♦titolo, che consente di impostare un titolo alla sorgente;
♦statistiche, campo che può essere scelto tra le opzioni in base alla tipologia di audio che
contiene:
-generico
-pubblicità
-informazione
-informazione locale.
FLAGS
Il tab flags contiene alcune opzioni binarie, ovvero attivabili o disattivabili.
Tutte le opzioni sono chiare da sé e saranno ancora più chiare una volta compreso
integralmente il comportamento della regia e dopo avere visionato tutte le azioni e gli
oggetti che la caratterizzano.
Figura 19.4. Tab Flags della finestra Proprietà
BITS
Tramite il tab bits è possibile gestire i comandi da dare all’oggetto (in questo caso la
sorgente esterna) tramite bit di commutazione.
Le tre sezioni rappresentano i comandi che possono arrivare all’ingresso, all’inizio ed alla
fine. La differenza tra ingresso e inizio sta nella differenza tra caricamento dell’oggetto ed
effettiva trasmissione.
19.1.2. Opzioni
Le opzioni consentono di impostare la scheda audio per il preascolto, che nel caso
visualizzato è no sound, ovvero nessuna scheda, ma che può essere scelta tra le schede
audio disponibili al sistema. Il DSP Plugin da utilizzare può essere scelto tra un elenco a
tendina che comprende:
♦AudioProc
♦Jammix
♦XAP.
Figura 19.6. Tab Opzioni della finestra Audio
19.1.3. Mixaggi
Il tab mixaggi consente di impostare il tempo di mixaggio dei brani, il tempo di fading, il
volume delle voice-track e il tempo massimo di silenzio prima dell’interruzione di un
brano.
19.2. Opzioni
19.2.1. Opzioni
Il tab opzioni consente di scegliere se avviare il software all’avvio, permette di indicare se
il computer sul quale si sta lavorando è o non è il PC di trasmissione della radio, permette
di mostrare o non mostrare la griglia che suddivide ogni singolo evento previsto in
trasmissione e permette di indicare se il comando “attiva sequenze” può recuperare
sequenze che non sono in orario.
Oltre a queste opzioni, il tab omonimo consente di indicare se si sta utilizzando la scheda
Usb Velleman K8055.
La Velleman K8055 aggiunge alla regia le seguenti funzionalità:
♦lettura di 5 contatti di ingresso digitali;
La maggior parte delle web radio non utilizza connessioni satellitari proprio perché non
interessata ai collegamenti tramite l’etere, anche se la web radio fa parte di
un’associazione di radio su Internet.
La maggior parte delle opzioni inerenti bit di configurazione e collegamenti satellitari è
quindi di scarso interesse per il web radiofonista medio. All’interno della finestra opzioni
si può anche impostare il numero di sessione, il numero di CPU e la priorità
dell’applicazione.
Se si acquista più di una licenza è possibile utilizzare fino a 3 sessioni di MB Studio
contemporaneamente nello stesso computer.
Il programma va installato più volte ed in cartelle diverse, ed ogni MB Studio deve avere
un numero di sessione differente che va da 0 a 2. Stessa cosa per la CPU.
L’ultima opzione dell’omonimo sotto-tab è l’impostazione dell’editor audio predefinito.
19.2.2. Altro
LINER
Nella sezione liner è possibile impostare piccoli gruppi di oggetti chiamati prima, tra e
dopo che possono poi essere assegnati ad una, alcune o tutte le sequenze orarie o ad altre
funzioni. Sono disponibili 20 gruppi diversi a cui è possibile dare un titolo di
riconoscimento. Dopo avere impostato i liner, occorre andare in MB SPOT, aprire le
proprietà di una, alcune o tutte le sequenze orarie ed impostare il liner desiderato.
Per inserire un oggetto, fare doppio click su prima e/o tra e/o dopo ed inserire l’oggetto
desiderato.
Il comando importa serve a caricare la configurazione liner da un’altra regia MB Studio. Il
database dei liner è salvato nel file MBLiners.cfg.
I liner servono anche ad impostare i file audio da usare nelle prove del preascolto. In
questo caso usare un liner dedicato, inserire i file desiderati, poi andare nella finestra di
preascolto e selezionare il numero del gruppo di liner.
Ad esempio:
♦scegliere un numero di liner vuoto;
MUSICLINE
♦Attiva servizio MusicLine: attiva il servizio di jukebox automatico. Le richieste musicali
vengono ricevute automaticamente da MB Studio via SMS;
♦inserisci richieste automaticamente: se l’opzione è attiva, MB Studio inserisce le canzoni
richieste dagli ascoltatori in modo automatico e secondo un proprio criterio interno. Se
l’opzione è disattivata le richieste vengono inserite rimpiazzando i brani musicali che
hanno il flag “Permetti sostituzione con MusicLine”;
♦limita richieste da stesso mittente: numero massimo di richieste che lo stesso mittente
può fare nelle 24 ore;
♦liner: se desiderato, è possibile fare precedere e/o seguire da un liner ogni canzone
richiesta via MusicLine.
19.2.3. Annuncio
Figura 19.10. Tab Annuncio della finestra Opzioni
Poiché per il punto orario 00 è opportuno dire l’ora con una intonazione diversa rispetto a
quando seguono i minuti è possibile preparare un file unico che annuncia solo l’ora:
♦ore0000 (“è mezzanotte!”)
I file possono avere qualunque formato: MP3, .wav, OGG, wma, flag, m4a, etc.
L’annuncio dell’ora esatta può essere inserito in qualunque playlist, minilist o sequenza
oraria tramite l’annuncio orario (quando si fa doppio click per inserire un oggetto).
CARTELLA ANNUNCIO DATA
La cartella che contiene gli annunci della data; i file devono avere la seguente sintassi:
s lunedì martedì mercoledì giovedì venerdì sabato domenica
♦1 2 3… fino a 31
La regia concatena automaticamente nome del giorno, numero del giorno,mese e anno. I
file possono avere qualunque formato: MP3, .wav, OGG, wma, flag, m4a, etc.L’annuncio
della data può essere inserito in qualunque playlist, minilist o sequenza oraria tramite
l’annuncio data (quando si fa doppio click per inserire un oggetto).
CARTELLA ANNUNCIO METEO
La suddetta cartella contiene gli annunci meteo.
19.2.4. Caratteri
Nella finestra caratteri è possibile cambiare i caratteri grafici utilizzati da MB Studio. Al
termine delle modifiche è necessario riavviare la regia. Grazie al comando valori
predefiniti è possibile tornare ai caratteri originariamente impostati.
Figura 19.11. Tab Caratteri della finestra Opzioni
19.3. Canzoni
Questa voce verrà utilizzata per l’annuncio delle canzoni della stessa lingua. È necessario
che il campo lingua di ogni canzone sia correttamente settato; ad esempio, una canzone in
lingua italiana verrà annunciata dalla voce sintetica impostata nel selettore italiano. Il
cursore velocità regola la velocità di lettura delle voci. Le voci sintetiche non sono fornite
con Windows e nemmeno con l’acquisto della regia, ma devono essere acquistate
separatamente.
19.6. Modem
Nella sezione Modem si configura il collegamento tra MB Studio ed il modem GSM per la
ricezione/invio di SMS.
PORT
Tramite il comando port va selezionata la porta COM virtuale sulla quale è configurato il
modem.
ABILITA RICEZIONE
Se si attiva abilita ricezione, MB Studio leggerà i messaggi SMS immediatamente. Se
disattivato, nessun messaggio SMS verrà letto dal modem; saranno disattivati anche tutti i
servizi MusicLine, telecomando e titolo.
ABILITA INVIO
Se si attiva abilita invio, MB Studio permetterà l’invio di messaggi SMS. Se disattivato,
nessun messaggio SMS potrà essere inviato; saranno disattivati anche i messaggi di
risposta di MusicLine e telecomando e titolo.
INVIA TITOLO CANZONE
Se si attiva invia titolo, MBStudio risponderà automaticamente a qualsiasi SMS
contenente la parola “titolo”, comunicando i titoli delle ultime canzoni andate in onda.
PREFISSO NAZIONALE
Il prefisso nazionale per l’Italia è +39.
LIMITA INVIO GIORNALIERO SMS A
Con il comando limita invio si potrà limitare il numero di SMS inviati in un giorno. È
ottimo per economizzare e razionalizzare i costi del servizio.
LIMITA INVIO MESSAGGI AI SEGUENTI PREFISSI
Esempi:
♦+3933 (per limitare ai soli Tim)
INTESTAZIONE SMS
Nel campo intestazione si può inserire un breve testo che apparirà all’inizio di ogni SMS
inviato. Si può, ad esempio, mettere il nome dell’emittente oppure il nome di uno sponsor.
Si può anche modificare automaticamente questo testo in base agli orari e/o ai giorni della
settimana tramite l’agenda.
PIN
Se la scheda SIM richiede la digitazione di un PIN di accesso, bisogna scrivere nella
sezione PIN tale codice, altrimenti il modem non funzionerà.
SCA
Se non si riesce ad inviare messaggi in uscita, si può indicare nella sezione SCA il corretto
numero telefonico del Centro Servizi della compagnia telefonica.
LINGUA
Il selettore lingua definisce il set di caratteri da utilizzare nella ricezione e invio di
messaggi. Per le lingue scritte in caratteri latini (inglese, italiano, francese, etc.) si può
utilizzare il formato 7 bit. Con questo formato ogni singolo messaggio può contenere 160
caratteri.
Per le lingue scritte in caratteri non latini (russo, giapponese, cinese, etc.) bisogna usare il
set di caratteri a 8 bit. Con questo formato ogni singolo messaggio può contenere 140
caratteri.
SALVA IN
Il selettore salva in definisce la posizione di salvataggio dei messaggi SMS all’interno del
modem:
♦nella carta sim (SM – Sim Card)
Qualora si avessero problemi di ricezione o invio degli SMS si possono provare una alla
volta queste soluzioni fino a trovare quella che funziona correttamente col modem di cui si
è in possesso.
Se lo si desidera, si può anche fare in modo che MB Studio riproduca un suono sulla
scheda di preascolto (se abilitata) all’arrivo di una telefonata o di un SMS. Per fare questo
basta inserire nella stessa cartella di MB Studio un file chiamato RING.wav che suonerà
all’arrivo di una telefonata, e un file chiamato SMS.wav che suonerà all’arrivo di un SMS.
19.7. Rete
19.7.1. Cartella di lavoro MB Studio
La cartella di lavoro indica a MBStudio dove si trovano i database (canzoni, file casuali,
download, agenda, sequenze orarie, playlist); dunque qui va selezionata la cartella MB
Studio del computer di messa in onda.
Se si usa MB Studio in un solo computer non ci sarà alcun bisogno di settarla; essa
corrisponde comunque alla cartella in cui è stato installato il programma (ad esempio
C:\MBStudio).
Se invece oltre al computer di trasmissione è stata installatala regia anche in altri computer
connessi in rete con quello principale, allora si deve inserire il percorso di rete esatto che
porta fino alla cartella MB Studio del computer di messa in onda.
Ad esempio: si installi MB Studio due volte, la prima su un computer denominato regia e
la seconda su un computer denominato ufficio. Si ponga il caso che MB Studio sul
computer ufficio possa essere usato per amministrare l’altro MB Studio installato sul
computer regia.
Sul computer regia non si deve compiere alcuna operazione.
Sul computer ufficio si deve cliccare la casella cartella di lavoro, navigare le risorse di
rete, navigare il computer regia fino a raggiungere la cartella MB Studio. Il risultato
potrebbe quindi essere \REGIA\c\MBStudio.
A questo punto, nel computer ufficio MB Studio visualizzerà esattamente le canzoni, le
playlist, i download, l’agenda, i file casuali e le playlist dal vivo che sono presenti nel PC
regia e si potranno modificare e salvare i dati lavorando col computer ufficio senza dover
andare nel computer regia. Questa operazione va fatta sia su MB Studio che su MB Spot.
19.7.2. Connessioni TCPIP
ATTENDI CONNESSIONI SULLA PORTA
MB Studio attende le connessioni sulla porta indicata nel campo omonimo; questa porta è
utilizzata per gli splittaggi o perle connessioni di MBLive. Se si modifica questo valore si
deve anche riavviare MB Studio affinché la modifica abbia effetto.
LIMITA CONNESSIONI A QUESTO INDIRIZZO
Si può impostare MB Studio affinché accetti connessioni solo da uno specifico indirizzo
IP o da un intervallo di indirizzi.
Ad esempio, chi utilizza gli splittaggi in una rete.
LAN con intervallo 192.168.0.1<->192.168.0.255 potrà impostare in questa casella il
valore 192.168.0.* oppure direttamente l’indirizzo dell’unico PC autorizzato a collegarsi,
come ad esempio 192.168.0.5.
Nella maggior parte dei casi, comunque, si può lasciare vuota questa casella, in quanto la
sicurezza delle connessioni sarà garantita dalla presenza della password di rete che sarà
impostata più sotto.
PROTEGGI CONNESSIONI CON QUESTA PASSWORD
Si può digitare una password che servirà a criptare le comunicazioni tra i vari MB Studio e
MB Live. Attenzione: si deve impostare la stessa password su tutti i PC che si utilizzano,
altrimenti le comunicazioni di rete falliranno. Se si lascerà vuota questa casella, un
malintenzionato potrebbe connettersi ad MB Studio via Internet e disturbarne il
funzionamento.
19.7.3. Split
MASTER
Se si usano gli splittaggi, attivare il flag master sul computer principale.
SLAVE
Se si usano gli splittaggi, attivare il flag slave sui computer secondari di splittaggio.
REMOTE MASTER IP
Solo nei computer slave, inserire in Remote master IP l’indirizzo IP e la porta del
computer master, ad esempio 192.168.1.12:9000.
SINCRONIZZA OROLOGIO
Il flag sincronizza orologio permette la sincronizzazione automatica dell’orologio di
sistema tra 2 o più MB Studio/MB Live interconnessi tra loro.
REMOTE HOST
In alcune configurazioni avanzate, MB Studio può inviare comandi di start/stop ad altri
MB Studio o MB Recorder. In tal caso, inserire in remote host l’indirizzo e la porta
dell’applicazione remota, ad esempio: 192.168.1.24:9010.
Se l’opzione aggiorna automaticamente è attiva, questa casella cambia automaticamente
l’indirizzo quando riceve una connessione dall’esterno.
19.7.4. Titoli esterni
♦in esterno: abilitare inviare titoli immettendo IP, porta e password dello studio centrale.
Quando lo studio centrale manderà in onda MB Live appariranno a schermo i titoli suonati
in esterno (i brani verranno anche segnati come trasmessi nell’archivio musicale,
mantenendo così sincronizzati gli archivi musicali).
19.7.5. MB Live
L’opzione MB Live attiva o disattiva la possibilità di collegarsi dall’esterno con MB Live.
Il valore di buffer serve a ottimizzare il funzionamento: più è basso e meno ritardo ha
l’audio di MB Live, ma si è più a rischio di disturbi causati da cali di velocità della rete.
Liner serve a selezionare un liner da inserire automaticamente prima e/o dopo ogni
collegamento MB Live.
19.7.6. Altro
Figura 19.20. Tab Altro della finestra Rete
19.9. Webcast
La sezione webcast va configurata per la trasmissione su Internet della radio, ed è senza
dubbio la sezione più importante per gli scopi di questo testo.
Figura 19.22. Tab Cattura della finestra Webcast
TESTO
Si può specificare un testo che verrà visualizzato sui player degli ascoltatori. Solitamente
si usano alcuni caratteri jolly per visualizzare il titolo del brano in onda o del successivo;
ecco una lista di caratteri utilizzabili:
♦%timexx% orario di trasmissione dell’oggetto xx
Esempi:
♦per visualizzare solo il titolo del brano in onda: %item0%
♦per visualizzare testo libero più brano in onda: state ascoltando %item0% e tra poco
seguirà %item1%
♦per visualizzare anche il commento del brano in onda: %item0% - %comment0%.
♦chiudi file ogni xx ore: permette di registrare da un nuovo file ogni ora ad un nuovo file
ogni giorno (24 ore);
♦archivia fino a xx giorni: fa cancellare automaticamente i file più vecchi del periodo
indicato.
19.9.6. Tab registratore
In questa sezione è possibile configurare un registratore che può essere avviato o fermato
tramite le proprietà dell’oggetto in onda. È utile per registrare programmi in diretta da
riutilizzare per repliche.
INIZIO-FINE
Orario inizio/fine della registrazione. Se si utilizza il sistema di inizio/fine registrazione
tramite le proprietà bit (avvia registratore/termina registratore) è opportuno impostare un
orario di inizio anticipato di qualche minuto e un orario di fine posticipato di qualche
minuto.
Figura 19.27. Tab Registratore della finestra Webcast
FILE
Nel campo file va inserito il file da registrare (anche formato da caratteri jolly).
PROPRIETÀ DA TASTO [+]
Ciccando sul tasto [+] si otterrà un sottomenu con opzioni supplementari:
♦aggiungi il giorno al nome del file: aggiunge automaticamente il nome del giorno al file
(esempio: buongiorno in musica_lunedì);
♦aggiungi la data al nome del file: aggiunge automaticamente la data al file (esempio:
buongiorno in musica_310511);
♦aggiungi l’ora al nome del file: aggiunge automaticamente al nome del file l’orario di
inizio registrazione arrotondato al quarto d’ora più vicino. Esempi:
-se il file nomefile inizia a registrarsi tra le 10:54 e le 11:07 diventerà nomefile_1100
-se il file nomefile inizia a registrarsi tra le 11:08 e le 11:23 diventerà nomefile_1115
-se il file nomefile inizia a registrarsi tra le 11:24 e le 11:37 diventerà nomefile_1130
-se il file nomefile inizia a registrarsi tra le 11:38 e le 11:53 diventerà nomefile_1145.
♦aggiungi il numero al nome del file: tramite l’opzione aggiungi il numero, se il file esiste
già non viene cancellato e viene invece aperto un nuovo file con numerazione
sequenziale. Esempio: news_1.MP3, news_2.MP3, news_3.MP3, ecc;
♦invia al server FTP: al termine della registrazione il file viene automaticamente inviato al
server FTP, come configurato in Configurazione\Pubblicazioni\FTP Upload;
♦start con bit: la registrazione si avvierà solo quando, dopo l’orario di inizio, andrà in onda
un oggetto avente la proprietà bit/avvia registratore e terminerà soltanto quando andrà in
onda un oggetto avente la proprietà bit/termina registratore oppure terminerà all’orario
di fine. Se si usa un codec WMA o WMA PRO verranno inseriti nel file anche i
metadata (titolo programma o canzone attualmente in onda). Quando si rimanderà in
onda il file con MB Studio verranno visualizzati nuovamente i titoli presenti nella
registrazione. Per avviare il registratore deve andare in onda un oggetto nelle cui
proprietà sia attivo il bit avvia registratore (e nel registratore deve essere attivo il flag
start con bit). Per fermare il registratore deve andare in onda un oggetto nelle cui
proprietà sia attivo il bit termina registratore (e nel registratore deve essere attivo il flag
start con bit). Per non registrare le sequenze orarie, impostare questi bit nei liner delle
sequenze stesse; oppure, se non si usano i liner, nel primo e nell’ultimo oggetto della
sequenza. Per avviare fisicamente la registrazione si dà per scontato che la parte
Configurazione\WebCast\Cattura sia già opportunamente configurata su MB Studio Mix
oppure sulla scheda audio da cui si vuole registrare.
19.10. Email
Nella sezione Email si configurano i server per la ricezione l’invio della posta.
19.10.1. POP3
♦Server: inserire qui l’indirizzo del server POP di ricezione posta;
♦prova: con questo comando si può verificare se i dati POP inseriti funzionano
correttamente.
19.10.2. SMTP
♦Mittente: inserire qui il nome mittente che appare a chi legge; solitamente è il nome della
stazione radio;
♦indirizzo risposte: se qualcuno risponde a un messaggio di MB Studio, potrebbe essere
preferibile ricevere la risposta in un’altra casella email; in tal caso, inserire qui
l’indirizzo email alternativo;
♦server: inserire qui l’indirizzo del server SMTP di spedizione posta;
♦utente: alcuni server SMTP richiedono autenticazione con utente e password; se è questo
il caso, inserire qui il nome utente per accedere al server SMTP;
♦password: alcuni server SMTP richiedono autenticazione con utente e password; se è
questo il caso, inserire qui la password per accedere al server SMTP;
♦autenticazione: alcuni server SMTP richiedono autenticazione con utente e password; se
è questo il caso, selezionare il metodo di autenticazione; se non si sa quale sia, occorre
provarli uno alla volta aiutandosi col comando prova per trovare quello che funziona;
♦modello: MB Studio invia email in semplice formato testo. Se invece si preferisce
preparare un modello grafico (che comprende il logo ed altri elementi decorativi), allora
si deve preparare un file HTML ed inserirlo in questa casella;
♦prova: con questo comando si può verificare se i dati inseriti funzionano correttamente.
Figura 19.29. Tab Email
MODELLO
Tramite modello si può inserire un modello scritto in qualunque linguaggio (testo, php,
java, asp, flash, etc) che deve contenere uno o alcuni caratteri jolly che MB Studio
automaticamente sostituirà con i contenuti richiesti.
Elenco dei caratteri jolly utilizzabili:
♦%timexx% orario di trasmissione dell’oggetto xx
♦%itemxx% titolo dell’oggetto xx (se è una canzone viene visualizzato interprete e titolo)
♦%artist% interprete dell’oggetto xx (se è una canzone viene visualizzato solo l’interprete)
♦%title% titolo dell’ oggetto xx (se è una canzone viene visualizzato solo il titolo).
♦usa modalità FTP passivo: utilizza una connessione passiva per i trasferimenti
(solitamente va abilitato);
♦prova: cliccare su questo comando per testare i parametri di connessione al server FTP.
20. Hardware
Qualsiasi regista web deve interfacciarsi non soltanto con software dedicati al suo ruolo
ma anche e soprattutto con hardware.
Se si vuole realizzare una web radio professionale e dal suono qualitativamente eccellente
non si può prescindere dall’utilizzare attrezzature fisiche come mixer e microfoni. Come
per qualsiasi bene acquistabile, esistono varie versioni di mixer, microfoni, cavi ed
amplificatori. Questi si differenziano tra loro per prezzo, caratteristiche e punti di forza.
Sarà l’esperienza del singolo regista a fare capire quali siano le attrezzature che rendono la
propria web radio la migliore possibile.
Le attrezzature principali che una web radio deve avere sono:
♦mixer, per far confluire i vari ingressi in una o più uscite;
20.1. Mixer
Il mixer (mixer audio) è un’apparecchiatura utilizzata per mescolare, modificare e
sommare segnali audio, utilizzata dai registi non solo di web radio, ma anche di eventi
live, dai DJ e da tecnici in generale.
Un mixer si differenzia da un altro per molti aspetti, come ad esempio il numero dei canali
o la sensibilità dei controlli per il volume.
L’amplificatore per cuffia è uno strumento molto utile per permettere a più persone di
ascoltare contemporaneamente uno stesso flusso, ad esempio l’uscita di un mixer. La
maggior parte degli amplificatori per cuffia accetta più ingressi e permette più uscite, per
cui è possibile ascoltare un unico flusso su più cuffie così come distribuire un flusso ad
una singola cuffia indipendentemente dalle altre.
20.4. Cavi e connettori
20.4.1. Connettore XLR
Il connettore XLR è utilizzato comunemente per le connessioni elettriche nel campo
dell’audio professionale e Hi-end. Colloquialmente viene chiamato connettore Cannon in
riferimento al costruttore originale: la Cannon Electric (adesso parte della ITT
Corporation). Questo connettore è dotato di un sistema di blocco.
STORIA
Il connettore XLR è stato prodotto per la prima volta negli Stati Uniti dalla Cannon
Electric. La sigla XLR deriva dal nome originale Cannon X; in seguito, furono aggiunti
prima un blocco (latch) di sicurezza, e poi un isolante di gomma (rubber) attorno ai poli.
La sigla XLR è a volte interpretata come “eXtra Long Run”. Un connettore XLR può
avere diversi schemi di piedinatura; i tipi più comuni sono a tre, quattro e cinque poli.
APPLICAZIONI
Nella sua versione a tre poli, il connettore XLR viene usato normalmente per la
terminazione di linee audio bilanciate, ma spesso viene usato anche per segnali sbilanciati,
creando un corto circuito tra il polo di massa e quello freddo. È praticamente l’unico tipo
di connettore impiegato per il collegamento di microfoni, mentre per i segnali a livello di
linea è più comunemente usato il jack stereo.
Bisogna fare attenzione alle apparecchiature che usano il polo 3 come caldo, perché può
capitare facilmente di invertire la polarità del segnale audio. Sempre la versione tripolare
viene usata per le connessioni audio di tipo digitale: in questo caso il sistema di
modulazione usato non pone problemi nel caso di connessioni in controfase.
PIN FUNZIONE
♦Massa (schermatura del cavo)
In riferimento alla figura 20.5, guardando il connettore femmina il pin in alto a sinistra è il
numero 2, quello in alto a destra è il numero 1 e quello in basso è il 3. Guardando il
connettore maschio, il pin in alto a sinistra è il numero 1, quello in alto a destra è il
numero 2 e quello in basso è il 3.
Come regola, il connettore maschio è usato come uscita e il connettore femmina come
ingresso.I microfoni hanno un connettore maschio integrato come uscita, mentre un cavo
audio è di tipo maschio/femmina. Il mixer audio presenta dei connettori femmina agli
ingressi, mentre le uscite e i ritorni saranno maschi.
ASPETTI COSTRUTTIVI
Il connettore femmina XLR è progettato per connettere il polo numero 1 (di solito la
massa) prima degli altri. Questo permette di collegare o scollegare i connettori senza
introdurre ronzii di massa, come succede per esempio con i connettori di tipo RCA.
♦stereo (TRS)
♦tricanale (TRRS).
STRUTTURA
In riferimento alla figura 20.7, si distinguono:
1) manica
2) anello
3) punta
4) anelli isolanti.
Negli anni Cinquanta il connettore RCA comincio a sostituire il connettore jack nella
componentistica audio, man mano che gli impianti domestici Hi-Fi diventavano sempre
più popolari. Il connettore RCA è cablato su cavo coassiale e trasporta un solo segnale
elettrico sbilanciato, ovvero un singolo canale audio analogico (audio mono).
UTILIZZI
Nel caso più comune il cavo è di tipo maschio/maschio, con una spina a ogni estremità.
Un eventuale cavo di prolunga è di tipo maschio/femmina, con presa volante su
un’estremità del cavo. Il connettore è composto da una protuberanza centrale (maschio) o
da un foro (femmina), circondati da un anello e separati da un isolante di plastica o
ceramica. Il bloccaggio della connessione non è meccanico ma avviene a pressione,
sfruttando la piccola differenza di diametro dell’anello esterno.
Da notare che, a differenza di connettori professionali come il tipo XLR, il polo centrale
viene in contatto con l’altro connettore prima della massa; per cui, accade spesso che
durante la connessione si verifichino ronzii o soffi se questa avviene ad apparecchiature
accese.
Nel cablaggio di apparati audio questo connettore si trova frequentemente in
configurazioni a jack-doppio RCA, che permette ad esempio di collegare un lettore MP3 o
un PC ad un Mixer.
In questo caso i connettori RCA sono colorati in modo diverso, in modo da distinguere il
canale destro dal sinistro: il destro è rosso, mentre il sinistro è solitamente bianco (talvolta
nero).
SVANTAGGI
Uno dei problemi dei connettori RCA è che ogni segnale richiede un cavo differente. In un
impianto già moderatamente complesso questo porta ad un numero di cavi consistente, che
diventa ancora più numeroso se si utilizzano segnali video a componenti, con sei cavi per
ogni ingresso/uscita.
ORIGINE
I connettori RCA sono conosciuti anche come prese cinch o connettori phono.
Quest’ultimo termine deriva dall’abbreviazione della parola inglese phonograph
(giradischi), poiché lo scopo iniziale delle connessioni RCA era il collegamento di un
giradischi ad un ricevitore radio usato come amplificatore.
Glossario
All’interno del glossario sono presenti delle brevi spiegazioni dei termini più comuni che
un regista radiofonico può incontrare nel corso dello studio di manualistiche tecniche o
nell’utilizzo dei software.
Il glossario non contiene dettagli specifici per nessuna voce, in quanto ogni singola voce
viene adeguatamente documentata all’interno del suo contesto di appartenenza. La
presenza del glossario nasce per permettere al regista di chiarire, il più velocemente
possibile, un dubbio su un termine (sia esso un acronimo o meno) che può trovare durante
la lettura di questo manuale come di altri testi inerenti il mondo della radiofonia su
Internet, della radiofonia in generale, ma anche delle telecomunicazioni e dell’informatica.
A
ABR
ABR è l’acronimo di Average Bit Rate ed è in realtà un sistema VBR costretto ad usare
per la maggior parte del tempo il bitrate scelto inizialmente.
AGC
L’Automatic Gain Control è un sistema di controllo implementato in regie radiofoniche
come SAM Broadcaster che permette di migliorare la qualità del flusso audio e adattare lo
stesso alle proprie esigenze.
AIFF
L’Audio Interchange File Format è un formato di file contenente un file audio codificato
similarmente a quanto avviene per i file WAV. Si tratta di una codifica lossless.
ALBERO
Un albero è un grafo connesso, non orientato e senza cicli. Per poterlo definire tale, il
grafo deve rispettare almeno uno dei seguenti punti:
♦possedere un solo cammino per ogni coppia di vertici;
♦essere aciclico massimale; ossia, se gli si aggiunge un altro arco per unire due suoi nodi si
forma un ciclo;
♦costituire un grafo connesso minimale; ossia, se si rimuove un suo arco si perde la
connessione.
ALIAS DNS
Un alias DNS è un nome che identifica una scheda di rete su Internet. Ad esempio, alla
scheda di rete di un server avente IP pari a 134.45.11.99 può corrispondere l’alias DNS
www.google.com.
ARTEFATTO
La definizione di artefatto varia in base al contesto di utilizzo. In informatica, un artefatto
è un prodotto realizzato o implementato a corredo di un altro prodotto definito principale.
L’esempio più classico di artefatto, nella teoria delle web radio, è l’inserimento
dell’immagine del corrispondente album all’interno di un file MP3.
ASX
Acronimo per Advanced Stream Redirector, è un formato file basato su un dialetto del
linguaggio XML. I file ASX sono comodi per memorizzare più flussi audio dentro un
unico file. Svolgono le stesse funzioni dei file PLS, RAM o M3U.
ATH
Acronimo per Absolute Threshold of Hearing; indica il livello minimo di udibilità. Tutti i
suoni che superano in ampiezza l’ATH sono da elaborare, gli altri non lo sono.
AUX
Canale o player ausiliare, che fornisce supporto ai canali o ai player principali, ai quali
può essere sovrapposto.
AWR
Acronimo per “Autorizzazione Web Radio”; è la licenza SIAE per le radio su Internet.
B
BANDA
Nell’ambito delle telecomunicazioni, è l’intervallo di frequenze disponibili per la
trasmissioni di dati in un intervallo di tempo. Si misura in bit al secondo. Le web radio
trasmettono utilizzando la banda in upload mentre i client utilizzano la banda in download,
notoriamente più alta della prima.
BITRATE
Il concetto di bitrate è molto simile a quello di banda. Si può intendere che la banda in
upload di un host sia il contenitore che limita al massimo il bitrate possibile. Si tratta di
una velocità di trasmissione misurata, quindi, in bit al secondo. Un brano musicale viene
codificato ad un bitrate che ne indica la qualità. Più alto è il numero di bit per secondo di
un brano più alta sarà la sua qualità e maggiore sarà la banda necessaria alla sua
trasmissione. Il bitrate può essere variabile (VBR) o costante (CBR).
BROADCASTING
Modalità di trasferimento informazioni da un mittente ad una moltitudine di destinatari
non definiti a priori.
BYPASSING
Procedura che consente di utilizzare come sorgente qualsiasi regia anche se non
originariamente predisposta allo scopo. Uno dei programmi che consente il bypassing è
Winamp, ma anche Edcast.
C
CANALE
Parte logica di un mixer che può contenere un unico strumento o fonte d’ingresso, che
andrà poi sommata alle altre per costituire l’uscita unica del mixer stesso.
CANNON
Vedi xlr.
CLIENT
Programma che consente l’ascolto della web radio.
Da un punto di vista topologico, il client audio è considerato un dead end nella quasi
totalità delle web radio, a meno che non si tratti di una web radio basata sul peer to peer.
CPU
L’unità centrale di elaborazione è l’hardware all’interno di un sistema che si occupa
dell’esecuzione di comandi trascritti all’interno delle memorie.
D
DBMS
Database Management System. Sistema di gestione delle basi di dati. Nell’ambito
radiofonico, i DBMS (come mysql o ms sql) intervengono ad esempio nella gestione del
parco brani.
DEAD END
Sinonimo di client, è un terminale che non svolge funzioni attive ma che si limita a
ricevere dati.
DECK
“Piatto” virtuale in cui un brano va in esecuzione all’interno di una regia radiofonica.
DNAS
Nome del server Shoutcast.
DNS
Domain Name System. Servizio che trasforma indirizzi letterali in indirizzi IP.
E
ENCODER
Nell’ambito del multimediale, per encoder si intende un qualsiasi software/hardware in
grado di convertire un segnale audio eterogeneo in ingresso in un segnale audio omogeneo
(o eterogeneo secondo regole) in uscita. Uno dei più comuni encoder per web radio è
l’encoder LAME, che consente ad esempio di convertire un flusso audio comprendente
musica, voce, ed effetti sonori in uno stream MP3 CBR.
EQUALIZZATORE
Componente software o hardware utile a prevenire distorsioni del suono. Un equalizzatore
interviene nel modificare le ampiezze del suono in base alle fasce di frequenza.
F
FLAC
Codec audio rientrante tra i software liberi di tipologia lossless.
FOGLIA
Definizione di un qualsiasi nodo di un albero che non abbia nodi uscenti. In base alla
definizione una foglia è un client oppure un relay al quale non si è connesso nessun client.
FRAME MP3
Porzione del file MP3 che viene processata separatamente dalle altre per permettere la
compressione del file PCM originario e la divisione delle frequenze in ordine di priorità.
FREQUENZA DI CAMPIONAMENTO
La frequenza di campionamento di un segnale analogico è il numero di volte al secondo in
cui tale segnale viene trasformato in un valore numerico che lo contraddistingue
univocamente. Per potere ricostruire un segnale analogico senza perdite o sovrapposizioni
risulta necessario che la frequenza di campionamento sia almeno superiore al doppio della
larghezza di banda del segnale analogico. Tuttavia, anche in questo caso, la ricostruzione
accurata del segnale può risultare impossibile, esattamente come è impossibile trasformare
senza perdite un segnale appartenente ad un insieme numerico avente la potenza del
continuo (il segnale analogico) in uno appartenente ad un campo discreto (il segnale
digitale).
G
GAIN
Vedi guadagno.
GRAFO
Un grafo è un insieme di elementi, detti nodi o vertici, collegati fra loro da archi o lati. I
nodi possono rappresentare qualsiasi tipo di oggetto si desideri, mentre l’arco può
rappresentare qualsiasi tipo di collegamento tra tali oggetti. Nell’ambito radiofonico è
utile considerare la teoria dei grafi per studiare i relay e l’utilizzo della banda per la
trasmissione.
GUADAGNO
In questa trattazione possiamo considerare guadagno il rapporto tra il volume
dell’ingresso di un canale e il volume d’uscita del canale stesso di un mixer.
GUI
Graphic User Interface, interfaccia grafica dei programmi.
H
HASH
Funzione matematica che associa ad un’informazione qualsiasi un’altra informazione.
Caratteristica peculiare della funzione è la sua semplicità di calcolo in un verso ed
impossibilità di calcolo nel verso opposto.
HEADER FRAME MP3
L’header dei frame MP3 fornisce informazioni sui frame di un file MP3.
HERTZ
Unità di misura della frequenza. Si utilizza spesso per indicare la frequenza di
campionamento di un segnale analogico.
I
ICY
Acronimo di I Can Yell, è il protocollo di Shoutcast. Definisce le regole per la
comunicazione tra sorgente, server e client, ad esempio per l’invio dei metadata del flusso
audio.
ID3
Insieme di informazioni aggiuntive inserite in un file audio di tipo MP3. È l’abbreviazione
di Identify an MP3. Classico esempio di metadata.
J
JACK
Vedi jack audio connection kit.
JACK AUDIO CONNECTION KIT
Jack audio connection kit è un server audio che fornisce connessioni a bassa latenza per
dati sia audio che MIDI utilizzato in sistemi GNU/Linux.
L
LATENZA
Differenza tra il tempo di emissione di un suono ed il tempo di ricezione dello stesso. La
latenza è quindi il grado di differita che si ha in una trasmissione audio di qualsiasi tipo,
non solo su Internet. Minore è la latenza, migliore è la qualità del servizio e la possibilità
di interattività. È fisicamente impossibile annullarla.
LISTENER PEAK
In un server Shoutcast, è il massimo valore di ascoltatori simultanei registrato.
LOCALHOST
Rappresenta la macchina sul quale sta girando un programma. Identifica l’interfaccia di
loopback. Solitamente è corrispondente all’indirizzo 127.0.0.1, a prescindere dal fatto che
la macchina sia o meno collegata ad Internet.
LOG
File che contiene uno storico dei dati di competenza. Normalmente un file di log è
prodotto da tutti i server di streaming, ad esempio per tenere una memoria delle
connessioni ricevute.
LOOPBACK
L’interfaccia di loopback viene utilizzata nelle reti TCP/IP per identificare la macchina
locale su cui i programmi sono in esecuzione, detta anche localhost.
LOSSLESS
Un codec audio è lossless se è in grado di ricostruire esattamente il segnale analogico in
ingresso senza perdere nessun tipo di informazione. Un esempio di codec lossless è il
FLAC. L’unico requisito che deve seguire un codec lossless per essere reputato tale è la
corretta ricostruzione del segnale originario dopo una fase di codifica e decodifica, a
prescindere dalle modalità.
Di conseguenza un codec lossless può comunque utilizzare degli algoritmi per limitare la
grandezza del file codificato, come effettivamente avviene.
LOSSY
Un codec audio è lossy se comprime il file audio campionato eliminando informazioni
sulla base di algoritmi propri del codec stesso. Il segnale originario non è coincidente con
il file decodificato proprio per la perdita di informazioni nella fase di codifica. Questi
codec mediamente creano file dal peso molto più basso rispetto ai codec lossless. Il caso
più famoso al mondo di codec lossy è l’MP3.
M
METADATA
Dati che identificano altri dati; possono rappresentare titoli, autori e informazioni su un
flusso audio. Un caso emblematico è rappresentato dai tag ID3.
MINIJACK
Nome del formato intermedio del connettore jack. Questo connettore viene spesso usato
per lettori CD o cuffie per computer.
MIXER
Dispositivo che accetta in ingresso diverse sorgenti audio e restituisce in uscita un flusso
unico contenente la somma dei flussi in ingresso, spesso manipolati.
MONO
Modalità di codifica e riproduzione audio che sfrutta un solo canale.
MASTER SERVER
Un master server, in una configurazione di relay, è il server contenente il flusso che vuole
essere ritrasmesso.
MOUNTPOINT
Un mountpoint è una risorsa all’interno di un server che rappresenta un singolo flusso
audio ma anche audio/video. I mountpoint hanno dei nomi simili a quelli dei file
(mystream.ogg oppure /mystream). Quando gli ascoltatori si connettono a server come
Icecast2 devono specificare il mountpoint dal quale desiderano servirsi. Inoltre, le sorgenti
devono specificare un mountpoint al quale connettersi.
P
PCM
Acronimo per Pulse Code Modulation; la modulazione a codifica d’impulso converte un
segnale analogico in un segnale digitale ad un particolare bitrate costante dato dal numero
dei bit del singolo campione per il numero di campioni al secondo.
PEER 2 PEER
Architettura informatica non gerarchica in cui tutti i nodi hanno lo stesso peso e non vi è
contrapposizione distinta tra client e server.
PEERCAST
Server di streaming basato sul Peer 2 Peer.
PERCEPTUAL CODING
La codifica percettiva è una modalità di codifica audio che tiene estremamente conto di
come il suono viene percepito e non di come sia da un punto di vista quantitativo. Questa
modalità di codifica consente ai codec lossy di potere comunque generare un file
codificato ascoltabile ed apprezzabile con un peso ridotto anche del 90% rispetto al PCM
originario.
PHANTOM
Tecnica di passaggio della corrente elettrica attraverso gli stessi cavi utilizzati per il
passaggio dell’audio.
PHONO
Altro nome del connettore RCA.
PIPELINE
Dall’inglese “tubatura”, nel campo delle web radio una pipeline è una sequenza di
comandi o di funzioni nelle quali l’uscita di una di queste rappresenta l’ingresso della
successiva. Esempi di pipeline sono le sequenze di controlli del flusso audio di SAM
Broadcaster, così come una qualsiasi sequenza di comandi su Linux per la gestione di un
server Shoutcast.
PLS
Contrazione di playlist. Estensione che identifica le playlist create da software come
Winamp, contenenti un elenco di brani o di riferimenti a flussi audio.
PLUG-IN
Programma o porzione di software non fondamentale per il funzionamento del programma
al quale aggiunge funzionalità. Un esempio di plug-in è il DSP per Shoutcast, contenente
un encoder fondamentale per la trasmissione.
PORTA
La porta è un identificativo numerico, compreso tra 1 e 65536, che consente ad un
calcolatore di avere connessioni contemporanee con altri calcolatori. Ogni processo su un
particolare computer (come ad esempio il processo “Server di streaming”) è identificato
da un indirizzo IP e il corrispondente numero di porta. Nella grande maggioranza dei casi
di server di streaming locali, il numero di porta della trasmissione è 8000, ma può
ovviamente variare.
Q
QUEUE
All’interno delle regie radiofoniche, in particolare in SAM Broadcaster, queue rappresenta
la playlist temporanea da cui il software preleva le canzoni o i file audio di successiva
esecuzione rispetto al brano attuale.
R
RADICE
Definizione dell’unico nodo all’interno di un albero che non abbia un arco entrante. In
base a questa definizione, la radice di un albero di relay è il server di streaming principale
al quale si connette la sorgente.
RAM
Estensione file di Real Audio contenente all’interno un URL. Svolge le stesse funzioni dei
file ASX, PLS o M3U.
RCA
Tipologia di connettore audio sbilanciato, utilizzato ad esempio per connettere lettori CD
ad un mixer.
REGIA RADIOFONICA
Software in grado di organizzare le trasmissioni musicali e vocali di una emittente
radiofonica. Si occupa di organizzare le rotazioni musicali e consente ai registi radiofonici
di semplificare il loro lavoro.
RELAY
Un relay è un server di streaming che rilancia un segnale fornitogli in ingresso da un altro
server di streaming. Non è mai direttamente collegato alla sorgente del flusso audio ma
sempre ad un altro server di streaming. I relay sono comodi quando la banda a
disposizione per i server di streaming non è sufficiente per l’intera utenza.
RIPPING
Procedura di salvataggio su Hard Disk del flusso audio di una web radio.
RITARDO DI PROPAGAZIONE
Differenza temporale tra il momento in cui un evento (quale può essere ad esempio un
suono) viene emesso dall’emittente e il momento in cui viene ricevuto dal ricevente. Non
è un concetto limitato alla radiofonia su Internet ma investe qualsiasi tipo di
comunicazione a prescindere dal mezzo. Viene spesso chiamato latenza, ma il corretto
concetto di latenza riguarda la conversione analogico-digitale.
RSS FEED
Aggregatore di notizie; consente di avere in un luogo unico più notizie da più fonti
accorpate, ad esempio, per argomento.
S
SAM BROADCASTER
Regia radiofonica completa di strumentazioni per la gestione musicale e per il
broadcasting.
SAMPLE RATE
Vedi frequenza di campionamento.
SEGNALI
Input inviati ad un programma durante l’esecuzione. In ambiente Linux, il programma
sc_trans (eseguibile dell’encoder MP3 di Shoutcast) accetta segnali come USR1 o
WINCH, che sono standard.
SERVER DI STREAMING
All’interno della catena di trasmissione web radiofonica, il server di streaming ha la
funzione di redistribuzione ai client del flusso audio generato dalla sorgente. I principali
server di streaming sono Icecast, Shoutcast e Windows Media Encoder.
SHOUTCAST
Server di streaming audio/video particolarmente conosciuto ed utilizzato. Rappresenta uno
degli standard per le web radio nel mondo. Utilizzabile sia su Windows che su sistemi
*nix.
SIAE
Acronimo di Società Italiana Autori ed Editori; è il principale riscossore dei proventi ed
ente di tutela del diritto d’autore. Per effettuare trasmissioni di brani coperti da diritti
d’autore di proprietà del concessionario SIAE occorre stipulare la licenza AWR.
SLAVE SERVER
Un server slave, in una configurazione di relay, è il server che intende ritrasmettere il
flusso del master server. Opera come un client qualsiasi.
SOUNDCARD INPUT
Segnale diretto della scheda audio; permette di trasmettere l’output della scheda audio che,
almeno in architetture semplici, corrisponde a quello che si sente dalle casse del computer,
nessun suono escluso.
SORGENTE
Per sorgente si intende qualsiasi apparato che fornisca all’encoder il flusso di input per la
codifica. Può essere una regia radiofonica, ma può essere anche un file o un microfono. La
tipologia, la costanza e la qualità della sorgente influenzano molto la classificazione
dell’emittente.
SPEAKER
Figura professionale radiofonica che si occupa del trasmettere la propria voce. Si
differenzia dal tecnico radiofonico perché si occupa unicamente di diffondere contenuti, di
qualsiasi tipo siano.
STEREO
Modalità di codifica e riproduzione audio che sfrutta due canali, il sinistro e il destro.
Questa modalità è adatta alla diffusione su due altoparlanti.
STREAMING
Sequenza di dati rappresentanti audio o video trasmessi attraverso una rete telematica. Si
differenzia in live e on demand. Nel caso dello streaming audio, lo streaming live può
essere identificato nelle web radio, mentre lo streaming on demand nei podcast.
STREAMRIPPER
Applicazione che consente di effettuare il ripping delle web radio.
T
TEOREMA DI NYQUIST/SHANNON
Per gli scopi di questo testo, il teorema di Nyquist/Shannon descrive come sia impossibile
ricostruire accuratamente (tecnicamente: senza aliasing) un segnale analogico avente
intervallo di frequenze pari ad N hertz se tale segnale non è stato campionato con un passo
pari almeno al doppio della banda stessa. A titolo d’esempio, se un segnale audio ha una
banda che va da 0 hertz a 20000 hertz, che è il caso più comune, tale segnale analogico
non potrà essere ricostruito adeguatamente per tutte le frequenze se non è campionato con
almeno 40000 campioni al secondo.
TIMEOUT
Tempo massimo entro il quale deve pervenire una risposta a chi effettua una richiesta. Può
andare in timeout una sorgente che si disconnette dal server di streaming. Dopo tale
timeout i client del server possono, ad esempio, essere disconnessi.
TRS
Altro nome del connettore audio di tipo jack.
U
UPLOAD
Per upload si intende il caricamento di un file o di un flusso da un computer ad un altro.
La banda di trasmissione adibita al trasferimento di tale file o di tale flusso è detta banda
in upload e la sua grandezza determina il numero di ascoltatori massimi che può avere
un’emittente web radiofonica.
V
VBR
Acronimo di Variable Bit Rate; è una modalità di codifica che non mantiene un bitrate
costante ma lo varia nel tempo in base alla necessità di una maggiore risoluzione per un
particolare momento in un brano. È quindi una codifica a bitrate modellabile sulle base
delle esigenze.
W
WAV
Contrazione di WAVEform Audio File Format, ma anche più semplicemente di Wave; è un
formato di immagazzinamento dati audio elaborato da Microsoft per processori Intel.
Viene spesso utilizzata la codifica PCM.
WEB RADIO
Particolarizzazione dello Streaming Audio Live. Si definisce web radio uno streaming
audio che abbia particolari caratteristiche di continuità e di contenuti, tra cui la presenza di
musica e/o di interventi vocali. Si differenzia dal podcast per la sua natura di flusso in
diretta.
Figura G.6. Interfaccia grafica del player Winamp
WINAMP
Client audio per l’ascolto di file e web radio. Il programma è raggiungibile al sito
www.winamp.com ed è utilizzabile anche come sorgente o come bypass per le riprese da
scheda audio.
X
XLR
Tipologia di connettore audio utilizzato per collegare casse o altri dispositivi ad un mixer.
XML
Acronimo per Extensive Markup Language; il linguaggio XML consente di creare dei
documenti strutturati. Lo si può utilizzare per fornire facilmente una sequenza di valori di
opzioni ad un server; ciò avviene, ad esempio, per il server Icecast.
Y
YELLOWPAGES
Le pagine gialle corrispondono a degli elenchi online comprendenti tutte le web radio che
in quel momento stanno trasmettendo con un particolare server di streaming. Se è
impostata l’opzione di visualizzazione pubblica, la radio comparirà all’interno delle
pagine gialle.
Table of Contents
©
Premessa
1. Teoria della Web Radio
1.1. Introduzione
1.2. Teoria dei grafi
1.3. Web Radio a fonte unica
1.4. Web radio a fonte multipla
2. Codifica Audio
2.1. Come funziona MP3
2.1.1. Anatomia di un MP3
2.2. Come funziona WMA
2.3. Come funziona Vorbis
2.3.1. Dentro l’algoritmo
2.3.2. Il bitrate peeling
2.3.3. I container di Vorbis
2.3.4. I metadata
2.4. Come funziona AAC
2.4.1. Streaming
2.5. Come funziona FLAC
2.5.1. Passaggi di funzionamento
3. Shoutcast
3.1. Versione 1.9
3.1.1. Il file di configurazione
3.1.2. L’interfaccia web di Shoutcast 1.9.7
3.2. Versione 2.0
3.2.1. SC_SERV_BASIC.CONF
3.2.2. SC_SERV_DEBUG
3.2.3. SC_SERV_PUBLIC
3.2.4. SC_SERV_RELAY
3.2.5. Transcoder
3.2.6. Digital Signal Processor
3.2.7. Input configuration Tab
3.2.8. Soundcard mixer control Tab
3.3. Modalità operative DSP con Winamp
3.3.1. Connessione diretta di Winamp a Shoutcast Server v1
3.3.2. Connessione diretta di Winamp a Shoutcast Server v2
3.3.3. Connessione sorgente DJ tramite transcoder in un Shoutcast Server 1
3.3.4. Connessione sorgente DJ tramite transcoder in un Shoutcast Server 2
3.4. Configuration builder
3.5. Shoutcast su Linux
3.5.1. Sc_serv.conf
3.5.2. Sc_trans.conf
3.5.3. Example.lst
4. Icecast
4.1. Impostazioni principali
4.1.1. Icecast.xml
4.1.2. File di configurazione
4.1.3. Limiti
4.1.4. Autenticazione
4.1.5. Impostazioni delle pagine gialle
4.1.6. Altre impostazioni
4.1.7. Socket in ascolto
4.1.8. Ripetitori
4.1.9. Mount Specific Settings
4.2. Impostazioni di percorso
4.3. Diario di bordo
4.4. Impostazioni di sicurezza
4.5. Interfaccia di amministrazione di Icecast 2
4.5.1. Funzioni di amministrazione specifiche per mountpoint
4.5.2. Funzioni generali di amministrazione
4.5.3. Interfaccia web di amministrazione
4.6. Statistiche del server Icecast 2
4.6.1. Statistiche generiche
4.6.2. Statistiche specifiche per una sorgente
4.7. Relaying di Icecast 2
4.7.1. Tipologie di relays
4.7.2. Creare un relay master-slave
4.7.3. Creare un relay single-broadcast
4.8. Directory delle pagine gialle di Icecast 2
4.8.1. Configurare Icecast2 per il supporto pagine gialle
4.8.2. Configurazione per il supporto pagine gialle
4.9. Autenticazione dell’ascoltatore Icecast 2
4.9.1. HTPASSWD Listener Authentication
4.9.2. Configurazione di user e password
4.10. Conclusioni
4.10.1. URL
4.11. Documentazione specifica per Win32
4.11.1. Server status tab
4.11.2. Aggiungere statistiche alla finestra
4.11.3. Rimuovere statistiche dal server status
4.11.4. Modificare il file di configurazione
4.11.5. Stats tab
5. SIAE
5.1. Art. 1 – Definizioni
5.2. Art. 2 – Oggetto della licenza
5.3. Art. 3 – Diritti Concessi
5.4. Art. 4 – Repertorio della SIAE
5.5. Art. 5 – Territori
5.6. Art. 6 – Diritti esclusi
5.7. Art. 7 – Riserva degli aventi diritto
5.8. Art. 8 – Limiti della licenza
5.9. Art. 9 – Utilizzazioni pubblicitarie
5.10. Art. 10 – Inizio, cessazione, variazione di attività. Menzioni e informazioni
obbligatorie
5.11. Art. 11 – Link tra il sito del Licenziatario e i siti di terzi
5.12. Art. 12 – Utilizzazione di altri repertori tutelati dalla SIAE
5.13. Art. 13 – Tipologie di Web Radio e calcolo dei compensi
5.13.1. Web radio commerciali
5.13.2. Web radio istituzionali e/o comunitarie
5.13.3. Web radio personali
5.14. Art. 14 – Estensione della Licenza all’offerta degli stessi contenuti su
Social Network (sperimentale)
5.15. Art. 15 – Termini e modalità di pagamento dei compensi
5.16. Art. 16 – Penali
5.17. Art. 17 – Report
5.18. Art. 18 – Controlli della SIAE
5.19. Art. 19 – Digital Delivery
5.20. Art. 20 – Termini di validità
5.21. Art. 21 – Risoluzione del contratto di Licenza
5.22. Art. 22 – Legge applicabile e Foro competente
5.23. Art. 23 – Dichiarazione privacy
6. SAM Broadcaster
6.1. Menu File
6.2. Menu Player
6.3. Menu General
6.4. Menu Window
6.4.1. Deck
6.5. Player display
6.6. Controlli ausiliari
6.7. Playlist
6.7.1. Comprendere le categorie di playlist
6.8. Queue
6.8.1. Queue Display
6.8.2. Aggiungere e rimuovere dalla coda
6.8.3. Scorciatoie da tastiera
6.9. History
6.9.1. Scorciatoie da tastiera
6.10. SAM requests
6.10.1. Request Display
6.10.2. Scorciatoie da tastiera
6.11. Voice FX
6.11.1. Voice FX Display
6.11.2. Configurazione
6.11.3. Utilizzo di Voice FX
6.11.4. Scorciatoie da tastiera
6.12. Volume
6.13. Sound FX
6.13.1. Sound FX display
6.13.2. Sound FX control
6.14. Fade Control
6.14.1. Crossfading manuale
6.14.2. Fading manuale
6.14.3. Tempo adjust (pitch control)
6.14.4. Smooth Beat Fade
6.14.5. Beat fade (Metodo di sincronizzazione dei battiti tradizionale)
6.15. SAM Voice-tracking
6.15.1. Configurazione del voice-tracking
6.15.2. Voice-tracking: comandi principali
6.16. StreamAds Control
6.16.1. Control buttons
6.17. Encoders
6.17.1. Encoders Display
6.17.2. Interfaccia di scripting
6.17.3. Come aggiungere un encoder
6.18. Statistic Relays
6.18.1. Statistic Relays Control
6.18.2. Come aggiungere un relay di statistiche
6.18.3. Statistic relays graph
6.19. FTP log
6.20. PAL script
6.21. PCI Max Ultra
6.22. Event Scheduler
6.22.1. Event Action Tab
6.22.2. Schedule Times Tab
6.22.3. Event log
6.22.4. Event log display
6.23. Clock
6.24. Menu Layout
6.25. Menu Tools
6.26. Menu Help
6.27. Toolbars
6.28. Configurazione di SAM Broadcaster
6.29. Member Details
6.30. Station Details
6.31. Audio Mixer Pipeline
6.32. Crossfading
6.32.1. Configurazione di base
6.32.2. Configurazione del crossfading
6.33. Gap killer
6.34. Playlist Rotation Rules
6.34.1. Playlist Rotation Logic Modules
6.35. Request Policy
6.35.1. Regole di richiesta
6.35.2. Vantaggi e svantaggi del ritardo di richiesta
6.36. General
6.36.1. Configurazione basilare
6.37. HTML Output
6.37.1. General HTML output
6.37.2. Playlist HTML output
6.37.3. Upload file via FTP
6.38. StreamAds Providers
6.39. SAM StreamAds Logic
6.40. Registration Key
6.41. Equalizzatore
6.42. AGC (Automatic Gain Control)
6.43. DSP (Digital Sound Processing)
6.44. Output
6.44.1. Air Output Settings
6.44.2. Cue output settings
6.44.3. Buffer settings
6.45. SAM Shortcut Keys
6.45.1. Scorciatoie globali
6.45.2. Scorciatoie di finestra
6.46. Editor delle informazioni dei brani
6.47. Tab details
6.48. Tab Settings
6.48.1. Cue point
6.48.2. Come settare un cue point
6.48.3. Beat-per-minute
6.48.4. Altre opzioni
6.48.5. Opzioni di applicazione
6.48.6. Tab Fading
6.49. Troubleshooting
6.49.1. Touch Aborted
6.49.2. Audio Fast Forwarding
6.49.3. SAM was unable to queue a song after 20 tries
6.49.4. Unable to send data fast enough
6.49.5. Codici numerici d’errore
6.50. Sezione vocale
6.51. Template per il web
6.51.1. _playing.html
6.51.2. _songinfo.html
6.52. Approfondimento sui PAL Scripts
6.52.1. Introduzione
6.52.2. Avvertenze per l’utilizzo degli script PAL
6.52.3. Come creare un PAL script
6.52.4. Inserire un commento in uno script
6.52.5. Comandi utili per il debugging
6.52.6. Variabili e costanti
6.52.7. Matematica del PAL
6.52.8. Gestione delle stringhe
6.52.9. Altre funzioni di interesse per le stringhe
6.52.10. Gestione del tempo
6.52.11. La logica nel PAL
6.52.12. Costrutti principali
6.52.13. Comandi di attesa
6.52.14. Velocizzare l’esecuzione degli script
6.52.15. Gli oggetti
6.52.16. I principali oggetti
6.52.17. Funzioni di utilità
6.52.18. LinerAdder
6.52.19. Funzioni di utilità - Curtime
6.52.20. Funzioni di utilità – Gestione del volume
6.52.21. Encoder e relay di statistiche
6.52.22. Tecniche di scripting avanzate
6.52.23. Scaricare file
6.52.24. Funzioni per maneggiare i nomi dei file
6.52.25. Funzioni per il file system
6.52.26. Maneggiare indirizzi remoti
6.52.27. Maneggiare le categorie
6.52.28. Selezionare brani
7. Zararadio
7.1. Opzioni settabili
7.1.1. Fade
7.1.2. Satellite
7.1.3. Uscite
7.1.4. Registro
7.1.5. Password
7.1.6. Rilevatore di silenzio
7.1.7. Mixer
7.1.8. TTH
7.1.9. Explorer
7.1.10. Tags
7.1.11. Talk Over
7.1.12. Generale
8. Windows Media Encoder
8.1. Opzioni
8.1.1. Sources
8.1.2. Output
8.1.3. Compression
8.1.4. Attributes
8.1.5. Plug-ins
8.1.6. Security
8.1.7. Advanced
8.2. Informazioni di trasmissione
8.2.1. General
8.2.2. Statistics
8.2.3. Server
8.2.4. Connections
8.2.5. Event Log e EDL
9. IDJC
9.1. Trasmettere con IDJC
9.1.1. Sezione Connection
9.1.2. Sezione Encoding
9.1.3. Sezione Stream Info
9.1.4. Sezione Record
9.2. Preferenze
9.2.1. General
9.2.2. Microphone
9.2.3. X-Chat
9.2.4. Jack Ports
9.2.5. Event
9.3. TroubleShooting
10. Metafile
10.1. PLS
10.2. RAM
10.3. ASX
11. SCF
11.1. Il contratto per web radio amatoriale
11.1.1. Art. 1 – Definizioni
11.1.2. Art. 2 – Oggetto
11.1.3. Art. 3 – Modalità di utilizzazione delle registrazioni fonografiche
11.1.4. Art. 4 – Compenso
11.1.5. Art. 5 – Termini e modalità di pagamento
11.1.6. Art. 6 – Controlli
11.1.7. Art. 7 – Ulteriori obblighi del Licenziatario
11.1.8. Art. 8 – Dichiarazioni e manleve
11.1.9. Art. 9 – Durata
11.1.10. Art. 10 – Risoluzione in caso di inadempimento
11.1.11. Art. 11 – Legge applicabile e foro competente
11.1.12. Art. 12 – Disposizioni generali
11.1.13. Art. 13 – Trattamento dei dati personali
11.1.14. Allegato A
11.2. Il contratto per web radio istituzionale
11.3. Il contratto per web radio commerciale
11.3.1. Compenso Streaming
11.3.2. Minimo Garantito
11.3.3. Rendicontazione
11.3.4. Termini e modalità di pagamento
12. Streamripper
12.1. StreamRipper come plug-in per Winamp
12.2. Configurazione del plug-in
12.2.1. Connection
12.2.2. File
12.2.3. Pattern
12.3. StreamRipper come standalone su GNU/Linux
12.4. Manuale tecnico di Streamripper
12.4.1. Individuazione dello Splitpoint
12.4.2. Splitting standard
12.4.3. Separazione basata sul silenzio
13. GnuMP3d
13.1. Installazione su Windows
13.2. Installazione su Linux
13.2.1. Compilazione
13.2.2. Tramite APT
13.2.3. Dipendenze
13.3. Configurazione di GnuMP3d su Linux
13.3.1. File.types
13.3.2. Mime.types
13.3.3. Gnump3d.conf
14. Spreaker
14.1. Interfaccia della consolle
15. DirEttore
15.1. Requisiti minimi
15.2. Installazione della regia
15.3. File audio supportati
15.4. Caratteristiche principali e definizioni
15.5. La finestra principale
15.5.1. Il pannello dei player
15.5.2. Il pannello dei contatori
15.5.3. Il volumetro principale
15.5.4. Primo gruppo comandi
15.5.5. Secondo gruppo comandi
15.5.6. Terzo gruppo di comandi
15.5.7. Playlist e rotazione
15.6. Il preascolto
15.7. Editor delle informazioni dei brani
15.8. Configurazione dei player degli effetti istantanei
15.9. Configurazione della rotazione
15.10 Configurazione della playlist
15.11. Schedulatore degli eventi
15.12. Pianificazione delle pubblicità
15.13. Editor delle sequenze
15.14. Editor dei cue point
15.15. Configurazione
15.15.1. Parametri generali
15.15.2. Track defaults tab
15.15.3. Track Info tab
15.15.4. Logging tab
15.15.5. Rotation tab
15.15.6. Panic tab
15.15.7. Sweeper and voice-tracks tab
15.15.8. Time announcement tab
15.15.9. View tab
15.15.10. Audio cards tab
15.15.11. Compressor tab
15.15.12. Equalizer tab
15.15.13. Password tab
15.15.14. Remote control tab
15.15.15. Automation behaviour tab
15.15.16. VST effect tab
15.16. Come avviare l’automazione
15.17. Scorciatoie da tastiera
15.18. I file generati dalla regia
15.18.1. Listato di un file playlist
15.18.2. Listato di un file rotazione
15.18.3. Listato di una collezione di eventi
15.18.4. Listato del piano pubblicitario
15.18.5. Listato delle sequenze
15.18.6. Modalità di salvataggio dei cue point
15.18.7. Listato dei player degli effetti istantanei
16. GISS.tv
16.1. Configurazione del canale
17. Caster.fm
17.1. Tab server
17.2. Tab website
17.3. Tab tutorials
17.4. Tab downloads ed embed
18. Edcast
18.1. Menu di configurazione
18.1.1. Basic Settings
18.1.2. Advanced settings
18.2. Metadata
19. MB Studio
19.1. Audio
19.1.1. Scheda Audio
19.1.2. Opzioni
19.1.3. Mixaggi
19.2. Opzioni
19.2.1. Opzioni
19.2.2. Altro
19.2.3. Annuncio
19.2.4. Caratteri
19.2.5. RSS Feed
19.3. Canzoni
19.4. Cartelle
19.5. Voci sintetiche
19.6. Modem
19.7. Rete
19.7.1. Cartella di lavoro MB Studio
19.7.2. Connessioni TCPIP
19.7.3. Split
19.7.5. MB Live
19.7.6. Altro
19.8. RDS Pira
19.9. Webcast
19.9.1. Tab Cattura
19.9.2. Tab DSP Plugin
19.9.3. Tab Testo metadata
19.9.4. Tab Encoder (da 1 a 4)
19.9.5. Tab 90 giorni
19.9.6. Tab registratore
19.10. Email
19.10.1. POP3
19.10.2. SMTP
19.11. Pubblicazioni
19.11.1. Playlist
19.11.2. Messaggi
19.11.3. Cartella immagini
19.11.4. FTP Upload
20. Hardware
20.1. Mixer
20.1.1. Canali di ingresso
20.1.2. Connettori di ingresso
20.1.3. Stadio di ingresso
20.1.4. Equalizzatore
20.1.5. Mandate monitor
20.1.6. Mandate effetti
20.1.7. Selettore dei gruppi
20.1.8. Pan-pot
20.1.9. Potenziometro (Fader)
20.1.10. Canali di uscita
20.1.11. Master
20.1.12. AUX
20.1.13. Effetti
20.1.14. Gruppi
20.2. Microfoni
20.3. Amplificatore per cuffia
20.4. Cavi e connettori
20.4.1. Connettore XLR
20.4.2. Connettore Jack
20.4.3. Connettore RCA
Glossario
Table of Contents
©
Premessa
1. Teoria della Web Radio
1.1. Introduzione
1.2. Teoria dei grafi
1.3. Web Radio a fonte unica
1.4. Web radio a fonte multipla
2. Codifica Audio
2.1. Come funziona MP3
2.1.1. Anatomia di un MP3
2.2. Come funziona WMA
2.3. Come funziona Vorbis
2.3.1. Dentro l’algoritmo
2.3.2. Il bitrate peeling
2.3.3. I container di Vorbis
2.3.4. I metadata
2.4. Come funziona AAC
2.4.1. Streaming
2.5. Come funziona FLAC
2.5.1. Passaggi di funzionamento
3. Shoutcast
3.1. Versione 1.9
3.1.1. Il file di configurazione
3.1.2. L’interfaccia web di Shoutcast 1.9.7
3.2. Versione 2.0
3.2.1. SC_SERV_BASIC.CONF
3.2.2. SC_SERV_DEBUG
3.2.3. SC_SERV_PUBLIC
3.2.4. SC_SERV_RELAY
3.2.5. Transcoder
3.2.6. Digital Signal Processor
3.2.7. Input configuration Tab
3.2.8. Soundcard mixer control Tab
3.3. Modalità operative DSP con Winamp
3.3.1. Connessione diretta di Winamp a Shoutcast Server v1
3.3.2. Connessione diretta di Winamp a Shoutcast Server v2
3.3.3. Connessione sorgente DJ tramite transcoder in un
Shoutcast Server 1
3.3.4. Connessione sorgente DJ tramite transcoder in un
Shoutcast Server 2
3.4. Configuration builder
3.5. Shoutcast su Linux
3.5.1. Sc_serv.conf
3.5.2. Sc_trans.conf
3.5.3. Example.lst
4. Icecast
4.1. Impostazioni principali
4.1.1. Icecast.xml
4.1.2. File di configurazione
4.1.3. Limiti
4.1.4. Autenticazione
4.1.5. Impostazioni delle pagine gialle
4.1.6. Altre impostazioni
4.1.7. Socket in ascolto
4.1.8. Ripetitori
4.1.9. Mount Specific Settings
4.2. Impostazioni di percorso
4.3. Diario di bordo
4.4. Impostazioni di sicurezza
4.5. Interfaccia di amministrazione di Icecast 2
4.5.1. Funzioni di amministrazione specifiche per
mountpoint
4.5.2. Funzioni generali di amministrazione
4.5.3. Interfaccia web di amministrazione
4.6. Statistiche del server Icecast 2
4.6.1. Statistiche generiche
4.6.2. Statistiche specifiche per una sorgente
4.7. Relaying di Icecast 2
4.7.1. Tipologie di relays
4.7.2. Creare un relay master-slave
4.7.3. Creare un relay single-broadcast
4.8. Directory delle pagine gialle di Icecast 2
4.8.1. Configurare Icecast2 per il supporto pagine gialle
4.8.2. Configurazione per il supporto pagine gialle
4.9. Autenticazione dell’ascoltatore Icecast 2
4.9.1. HTPASSWD Listener Authentication
4.9.2. Configurazione di user e password
4.10. Conclusioni
4.10.1. URL
4.11. Documentazione specifica per Win32
4.11.1. Server status tab
4.11.2. Aggiungere statistiche alla finestra
4.11.3. Rimuovere statistiche dal server status
4.11.4. Modificare il file di configurazione
4.11.5. Stats tab
5. SIAE
5.1. Art. 1 – Definizioni
5.2. Art. 2 – Oggetto della licenza
5.3. Art. 3 – Diritti Concessi
5.4. Art. 4 – Repertorio della SIAE
5.5. Art. 5 – Territori
5.6. Art. 6 – Diritti esclusi
5.7. Art. 7 – Riserva degli aventi diritto
5.8. Art. 8 – Limiti della licenza
5.9. Art. 9 – Utilizzazioni pubblicitarie
5.10. Art. 10 – Inizio, cessazione, variazione di attività. Menzioni e informazioni
obbligatorie
5.11. Art. 11 – Link tra il sito del Licenziatario e i siti di terzi
5.12. Art. 12 – Utilizzazione di altri repertori tutelati dalla SIAE
5.13. Art. 13 – Tipologie di Web Radio e calcolo dei compensi
5.13.1. Web radio commerciali
5.13.2. Web radio istituzionali e/o comunitarie
5.13.3. Web radio personali
5.14. Art. 14 – Estensione della Licenza all’offerta degli stessi contenuti su
Social Network (sperimentale)
5.15. Art. 15 – Termini e modalità di pagamento dei
compensi
5.16. Art. 16 – Penali
5.17. Art. 17 – Report
5.18. Art. 18 – Controlli della SIAE
5.19. Art. 19 – Digital Delivery
5.20. Art. 20 – Termini di validità
5.21. Art. 21 – Risoluzione del contratto di Licenza
5.22. Art. 22 – Legge applicabile e Foro competente
5.23. Art. 23 – Dichiarazione privacy
6. SAM Broadcaster
6.1. Menu File
6.2. Menu Player
6.3. Menu General
6.4. Menu Window
6.4.1. Deck
6.5. Player display
6.6. Controlli ausiliari
6.7. Playlist
6.7.1. Comprendere le categorie di playlist
6.8. Queue
6.8.1. Queue Display
6.8.2. Aggiungere e rimuovere dalla coda
6.8.3. Scorciatoie da tastiera
6.9. History
6.9.1. Scorciatoie da tastiera
6.10. SAM requests
6.10.1. Request Display
6.10.2. Scorciatoie da tastiera
6.11. Voice FX
6.11.1. Voice FX Display
6.11.2. Configurazione
6.11.3. Utilizzo di Voice FX
6.11.4. Scorciatoie da tastiera
6.12. Volume
6.13. Sound FX
6.13.1. Sound FX display
6.13.2. Sound FX control
6.14. Fade Control
6.14.1. Crossfading manuale
6.14.2. Fading manuale
6.14.3. Tempo adjust (pitch control)
6.14.4. Smooth Beat Fade
6.14.5. Beat fade (Metodo di sincronizzazione dei battiti
tradizionale)
6.15. SAM Voice-tracking
6.15.1. Configurazione del voice-tracking
6.15.2. Voice-tracking: comandi principali
6.16. StreamAds Control
6.16.1. Control buttons
6.17. Encoders
6.17.1. Encoders Display
6.17.2. Interfaccia di scripting
6.17.3. Come aggiungere un encoder
6.18. Statistic Relays
6.18.1. Statistic Relays Control
6.18.2. Come aggiungere un relay di statistiche
6.18.3. Statistic relays graph
6.19. FTP log
6.20. PAL script
6.21. PCI Max Ultra
6.22. Event Scheduler
6.22.1. Event Action Tab
6.22.2. Schedule Times Tab
6.22.3. Event log
6.22.4. Event log display
6.23. Clock
6.24. Menu Layout
6.25. Menu Tools
6.26. Menu Help
6.27. Toolbars
6.28. Configurazione di SAM Broadcaster
6.29. Member Details
6.30. Station Details
6.31. Audio Mixer Pipeline
6.32. Crossfading
6.32.1. Configurazione di base
6.32.2. Configurazione del crossfading
6.33. Gap killer
6.34. Playlist Rotation Rules
6.34.1. Playlist Rotation Logic Modules
6.35. Request Policy
6.35.1. Regole di richiesta
6.35.2. Vantaggi e svantaggi del ritardo di richiesta
6.36. General
6.36.1. Configurazione basilare
6.37. HTML Output
6.37.1. General HTML output
6.37.2. Playlist HTML output
6.37.3. Upload file via FTP
6.38. StreamAds Providers
6.39. SAM StreamAds Logic
6.40. Registration Key
6.41. Equalizzatore
6.42. AGC (Automatic Gain Control)
6.43. DSP (Digital Sound Processing)
6.44. Output
6.44.1. Air Output Settings
6.44.2. Cue output settings
6.44.3. Buffer settings
6.45. SAM Shortcut Keys
6.45.1. Scorciatoie globali
6.45.2. Scorciatoie di finestra
6.46. Editor delle informazioni dei brani
6.47. Tab details
6.48. Tab Settings
6.48.1. Cue point
6.48.2. Come settare un cue point
6.48.3. Beat-per-minute
6.48.4. Altre opzioni
6.48.5. Opzioni di applicazione
6.48.6. Tab Fading
6.49. Troubleshooting
6.49.1. Touch Aborted
6.49.2. Audio Fast Forwarding
6.49.3. SAM was unable to queue a song after 20 tries
6.49.4. Unable to send data fast enough
6.49.5. Codici numerici d’errore
6.50. Sezione vocale
6.51. Template per il web
6.51.1. _playing.html
6.51.2. _songinfo.html
6.52. Approfondimento sui PAL Scripts
6.52.1. Introduzione
6.52.2. Avvertenze per l’utilizzo degli script PAL
6.52.3. Come creare un PAL script
6.52.4. Inserire un commento in uno script
6.52.5. Comandi utili per il debugging
6.52.6. Variabili e costanti
6.52.7. Matematica del PAL
6.52.8. Gestione delle stringhe
6.52.9. Altre funzioni di interesse per le stringhe
6.52.10. Gestione del tempo
6.52.11. La logica nel PAL
6.52.12. Costrutti principali
6.52.13. Comandi di attesa
6.52.14. Velocizzare l’esecuzione degli script
6.52.15. Gli oggetti
6.52.16. I principali oggetti
6.52.17. Funzioni di utilità
6.52.18. LinerAdder
6.52.19. Funzioni di utilità - Curtime
6.52.20. Funzioni di utilità – Gestione del volume
6.52.21. Encoder e relay di statistiche
6.52.22. Tecniche di scripting avanzate
6.52.23. Scaricare file
6.52.24. Funzioni per maneggiare i nomi dei file
6.52.25. Funzioni per il file system
6.52.26. Maneggiare indirizzi remoti
6.52.27. Maneggiare le categorie
6.52.28. Selezionare brani
7. Zararadio
7.1. Opzioni settabili
7.1.1. Fade
7.1.2. Satellite
7.1.3. Uscite
7.1.4. Registro
7.1.5. Password
7.1.6. Rilevatore di silenzio
7.1.7. Mixer
7.1.8. TTH
7.1.9. Explorer
7.1.10. Tags
7.1.11. Talk Over
7.1.12. Generale
8. Windows Media Encoder
8.1. Opzioni
8.1.1. Sources
8.1.2. Output
8.1.3. Compression
8.1.4. Attributes
8.1.5. Plug-ins
8.1.6. Security
8.1.7. Advanced
8.2. Informazioni di trasmissione
8.2.1. General
8.2.2. Statistics
8.2.3. Server
8.2.4. Connections
8.2.5. Event Log e EDL
9. IDJC
9.1. Trasmettere con IDJC
9.1.1. Sezione Connection
9.1.2. Sezione Encoding
9.1.3. Sezione Stream Info
9.1.4. Sezione Record
9.2. Preferenze
9.2.1. General
9.2.2. Microphone
9.2.3. X-Chat
9.2.4. Jack Ports
9.2.5. Event
9.3. TroubleShooting
10. Metafile
10.1. PLS
10.2. RAM
10.3. ASX
11. SCF
11.1. Il contratto per web radio amatoriale
11.1.1. Art. 1 – Definizioni
11.1.2. Art. 2 – Oggetto
11.1.3. Art. 3 – Modalità di utilizzazione delle registrazioni
fonografiche
11.1.4. Art. 4 – Compenso
11.1.5. Art. 5 – Termini e modalità di pagamento
11.1.6. Art. 6 – Controlli
11.1.7. Art. 7 – Ulteriori obblighi del Licenziatario
11.1.8. Art. 8 – Dichiarazioni e manleve
11.1.9. Art. 9 – Durata
11.1.10. Art. 10 – Risoluzione in caso di inadempimento
11.1.11. Art. 11 – Legge applicabile e foro competente
11.1.12. Art. 12 – Disposizioni generali
11.1.13. Art. 13 – Trattamento dei dati personali
11.1.14. Allegato A
11.2. Il contratto per web radio istituzionale
11.3. Il contratto per web radio commerciale
11.3.1. Compenso Streaming
11.3.2. Minimo Garantito
11.3.3. Rendicontazione
11.3.4. Termini e modalità di pagamento
12. Streamripper
12.1. StreamRipper come plug-in per Winamp
12.2. Configurazione del plug-in
12.2.1. Connection
12.2.2. File
12.2.3. Pattern
12.3. StreamRipper come standalone su GNU/Linux
12.4. Manuale tecnico di Streamripper
12.4.1. Individuazione dello Splitpoint
12.4.2. Splitting standard
12.4.3. Separazione basata sul silenzio
13. GnuMP3d
13.1. Installazione su Windows
13.2. Installazione su Linux
13.2.1. Compilazione
13.2.2. Tramite APT
13.2.3. Dipendenze
13.3. Configurazione di GnuMP3d su Linux
13.3.1. File.types
13.3.2. Mime.types
13.3.3. Gnump3d.conf
14. Spreaker
14.1. Interfaccia della consolle
15. DirEttore
15.1. Requisiti minimi
15.2. Installazione della regia
15.3. File audio supportati
15.4. Caratteristiche principali e definizioni
15.5. La finestra principale
15.5.1. Il pannello dei player
15.5.2. Il pannello dei contatori
15.5.3. Il volumetro principale
15.5.4. Primo gruppo comandi
15.5.5. Secondo gruppo comandi
15.5.6. Terzo gruppo di comandi
15.5.7. Playlist e rotazione
15.6. Il preascolto
15.7. Editor delle informazioni dei brani
15.8. Configurazione dei player degli effetti istantanei
15.9. Configurazione della rotazione
15.10 Configurazione della playlist
15.11. Schedulatore degli eventi
15.12. Pianificazione delle pubblicità
15.13. Editor delle sequenze
15.14. Editor dei cue point
15.15. Configurazione
15.15.1. Parametri generali
15.15.2. Track defaults tab
15.15.3. Track Info tab
15.15.4. Logging tab
15.15.5. Rotation tab
15.15.6. Panic tab
15.15.7. Sweeper and voice-tracks tab
15.15.8. Time announcement tab
15.15.9. View tab
15.15.10. Audio cards tab
15.15.11. Compressor tab
15.15.12. Equalizer tab
15.15.13. Password tab
15.15.14. Remote control tab
15.15.15. Automation behaviour tab
15.15.16. VST effect tab
15.16. Come avviare l’automazione
15.17. Scorciatoie da tastiera
15.18. I file generati dalla regia
15.18.1. Listato di un file playlist
15.18.2. Listato di un file rotazione
15.18.3. Listato di una collezione di eventi
15.18.4. Listato del piano pubblicitario
15.18.5. Listato delle sequenze
15.18.6. Modalità di salvataggio dei cue point
15.18.7. Listato dei player degli effetti istantanei
16. GISS.tv
16.1. Configurazione del canale
17. Caster.fm
17.1. Tab server
17.2. Tab website
17.3. Tab tutorials
17.4. Tab downloads ed embed
18. Edcast
18.1. Menu di configurazione
18.1.1. Basic Settings
18.1.2. Advanced settings
18.2. Metadata
19. MB Studio
19.1. Audio
19.1.1. Scheda Audio
19.1.2. Opzioni
19.1.3. Mixaggi
19.2. Opzioni
19.2.1. Opzioni
19.2.2. Altro
19.2.3. Annuncio
19.2.4. Caratteri
19.2.5. RSS Feed
19.3. Canzoni
19.4. Cartelle
19.5. Voci sintetiche
19.6. Modem
19.7. Rete
19.7.1. Cartella di lavoro MB Studio
19.7.2. Connessioni TCPIP
19.7.3. Split
19.7.5. MB Live
19.7.6. Altro
19.8. RDS Pira
19.9. Webcast
19.9.1. Tab Cattura
19.9.2. Tab DSP Plugin
19.9.3. Tab Testo metadata
19.9.4. Tab Encoder (da 1 a 4)
19.9.5. Tab 90 giorni
19.9.6. Tab registratore
19.10. Email
19.10.1. POP3
19.10.2. SMTP
19.11. Pubblicazioni
19.11.1. Playlist
19.11.2. Messaggi
19.11.3. Cartella immagini
19.11.4. FTP Upload
20. Hardware
20.1. Mixer
20.1.1. Canali di ingresso
20.1.2. Connettori di ingresso
20.1.3. Stadio di ingresso
20.1.4. Equalizzatore
20.1.5. Mandate monitor
20.1.6. Mandate effetti
20.1.7. Selettore dei gruppi
20.1.8. Pan-pot
20.1.9. Potenziometro (Fader)
20.1.10. Canali di uscita
20.1.11. Master
20.1.12. AUX
20.1.13. Effetti
20.1.14. Gruppi
20.2. Microfoni
20.3. Amplificatore per cuffia
20.4. Cavi e connettori
20.4.1. Connettore XLR
20.4.2. Connettore Jack
20.4.3. Connettore RCA
Glossario