[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 335.   Lettore CD audio

Indipendentemente dal fatto che sia disponibile una scheda audio, è possibile ascoltare dei CD musicali attraverso il lettore CD-ROM, che dovrebbe essere provvisto di un'uscita autonoma (una presa stereo per cuffia sulla parte frontale dell'unità). Naturalmente, se è disponibile la scheda audio, il lettore CD-ROM potrebbe esservi stato collegato attraverso un cavetto schermato, in modo da poter utilizzare le funzionalità della stessa scheda per rielaborare il suono.

335.1   Ascolto di un CD audio

Il software che si occupa di mettere in funzione il lettore CD-ROM come lettore di CD audio, interviene solo sul dispositivo /dev/cdrom (o meglio, sul dispositivo a cui punta questo collegamento simbolico, che come già spiegato deve avere i permessi opportuni). Il segnale audio può essere prelevato direttamente dal lettore CD, oppure può essere gestito attraverso la scheda audio per mezzo di altro software.

Se la scheda audio non è di ottima qualità, questa potrebbe generare un rumore di fondo. Di conseguenza, per essere certi di prelevare il segnale più pulito possibile, è necessario utilizzare l'uscita del lettore CD stesso.

Il software che permette l'ascolto di un CD audio, non richiede di tenere sotto controllo il lettore, per cui potrebbe essere costituito anche da un semplice programma a riga di comando, come nel caso di dcd.

I programmi per l'ascolto di CD audio potrebbero comportarsi in maniera differente tra di loro, tanto che non va esclusa la presenza di errori che impediscono la lettura di CD che in condizioni normali risultano realizzati correttamente. In altri termini, se per qualche ragione non si riesce a leggere un CD audio attraverso l'uso di un certo programma, conviene tentare di utilizzarne altri, prima di arrivare alla conclusione che il CD o il lettore possano essere difettosi.

Molti programmi per l'ascolto di CD musicali, abbinano anche la funzionalità di interrogazione della base di dati CDDB. Ciò viene descritto nella sezione 335.2.

335.1.1   Dcd

Dcd (1) è un programma di servizio molto semplice, composto dall'eseguibile dcd, che segue la filosofia dei comandi a riga di comando, con tutti i vantaggi che questo può dare. In pratica, senza impegnare una console virtuale o un terminale, manda al lettore i comandi richiesti di volta in volta.

dcd [n_traccia...]

dcd {stop|restart|next|prev|info|dir|loop [n...]}

La sintassi è molto semplice: se si indica un numero n si intende avviare l'esecuzione della traccia n-esima corrispondente; se si indicano più numeri si intende ottenere l'esecuzione di quelle tracce nella sequenza indicata; se si indica un'altra parola chiave, si vuole impartire il comando corrispondente:

Alcuni esempi

dcd

Avvia l'esecuzione del primo brano del CD, proseguendo fino all'ultimo.

dcd 1

Esattamente come nell'esempio precedente.

dcd 1 3 5 7

Richiede l'esecuzione dei brani numero uno, tre, cinque e sette, in sequenza.

dcd next

Passa all'esecuzione del brano successivo.

335.1.2   TCD

TCD (2) è un pacchetto composto da due programmi: uno per lo schermo a caratteri e uno per il sistema grafico X. L'utilizzo è intuitivo e non occorrono molte spiegazioni. È importante osservare che il controllo del volume riguarda il lettore CD e non la scheda audio. In altri termini, si tratta del volume del segnale che viene generato dal lettore CD: sia quello che si ottiene attraverso l'uscita sul pannello frontale dell'unità, sia quello che viene inviato alla scheda audio (ammesso che esista) per mezzo del cavetto schermato interno all'elaboratore.

La figura 335.1 mostra il funzionamento di TCD nella versione per terminali a caratteri, mentre la figura 335.2 mostra la versione per il sistema grafico X(3)

Figura 335.1. Esempio del funzionamento di TCD nella versione per terminali a caratteri.

.-TCD v2.0, by Tim Gerla------Control Panel------------------------------------.
|                           |                                                  |
| Status: Paused            | [P] - Start playing.      [-] - Previous track.  |
| Track:  10 of 12          | [U] - Pause or restart.   [+] - Ne|t track.      |
| Time:   03:36             | [E] - Eject CDROM.        [G] - Go to track #.   |
| CD:     55:17             | [S] - Stop playing.       []] - Skip ahead.      |
|                           |                           [[] - Skip back.       |
|-Track List----------------| [M] - Change play mode.   < > - Adjust volume.   |
|                           | Current Mode: Normal      Current Volume: 10%    |
| 01a - 06:10               |                                                  |
| 02a - 06:21               |                                                  |
| 03a - 03:22               |                                                  |
| 04a - 04:06               |                                                  |
| 05a - 05:51               |                                                  |
| 06a - 08:05               | [T] - Edit track database.                       |
| 07a - 04:38               | [D] - Download CDDB data.                        |
| 08a - 05:10               |                                                  |
| 09a - 07:55               |                                                  |
| 10a - 08:29               | [Q] - Quit.                                      |
| 11a - 04:54               |                                                  |
| 12a - 06:37               |-Disc Information---------------------------------|
|                           | Length: 71:40                                    |
|                           | Title:  Unknown / Unknown                        |
|                           | Track:  Track 10                                 |
`------------------------------------------------------------------------------'

Figura 335.2. Esempio del funzionamento di TCD nella versione grafica.

figure/a2-tcd-esempio

Gli eseguibili sono rispettivamente tcd e gtcd. La lettera «g» di gtcd sta per GTK+, ovvero le librerie grafiche utilizzate.

Una cosa interessante di TCD sta nel fatto che più copie dei suoi eseguibili possono funzionare in modo concorrenziale, risultando tutte perfettamente sincronizzate, a parte qualche difficoltà nella regolazione del volume.

335.1.3   Cdcd

Cdcd (4) è un altro programma per l'ascolto di CD musicali che consente un funzionamento a riga di comando, oppure in modo interattivo, ma sempre attraverso una console. La prima volta che viene avviato da ogni utente, richiede alcune informazioni elementari di configurazione, con cui crea il file ~/.cdcdrc:

cdcd[Invio]

La prima cosa che viene richiesta è il file di dispositivo abbinato al lettore CD:

Welcome to cdcd 0.5.0.

You will now be asked a series of questions which will configure
cdcd for your platform.  The default answers are given
in brackets.

What is the name of your CD-ROM device? [/dev/cdrom]

Se esiste il collegamento simbolico /dev/cdrom che punta al dispositivo corretto, come già è stato suggerito, basta confermare con la pressione del tasto [Invio].

[Invio]

Successivamente, Cdcd cerca di ottenere le informazioni necessarie ad accedere alla rete, allo scopo di contattare una base di dati CDDB, oppure qualcosa di equivalente.

Are you connected to a network (y/n)? [y]

[Invio]

There are two methods of retrieving CD track information, CDDB and CD Index.
Using the CD Index will be somewhat faster, but does not yet facilitate inexact
matching.  Both methods may be used through HTTP proxy servers.

Choose a method:
1) CDDB
2) CD Index

Which method? [1]

Avendo confermato la disponibilità di un accesso alla rete, viene proposto di accedere a una base di dati CDDB, oppure a un altro tipo di indice. La scelta più comune è proprio la base di dati CDDB, come suggerito dal programma stesso.

[Invio]

Use a HTTP proxy server? [n]

In questo caso si suppone che non sia necessario utilizzare un proxy, per cui si conferma la proposta del programma.

[Invio]

cdcd version 0.5.0, Copyright (C)1998-99 Tony Arcieri
Distributed under the GNU General Public License. See file COPYING for details.
Built with libcdaudio 0.99.1
Enter ? for help.
cdcd>

Termina così la configurazione e il programma si mette a funzionare in una modalità interattiva, in attesa di comandi, dove l'invito è la stringa cdcd>. Per terminare basta dare il comando quit.

cdcd> quit[Invio]

È già stato specificato che Cdcd può funzionare sia in modo non interattivo, a riga di comando, sia in modo interattivo. In pratica, l'eseguibile cdcd può essere avviato indicando un comando come argomento, per cui eseguirà la richiesta e terminerà di funzionare, oppure può essere avviato senza argomenti e in tal caso mostrerà un invito rimanendo in attesa di comandi. Naturalmente, i comandi in questione sono gli stessi, sia quando usati come argomento della riga di comando, sia quando usati nel funzionamento interattivo.

cdcd [comando]

Si ottiene l'elenco dei comandi disponibili con il comando help, mentre per conoscere la sintassi precisa di ogni comando basta il comando help nome_comando. Per esempio:

cdcd help[Invio]

cdcd commands:
 play   stop    open    close   pause   resume  ff      rew     sites
 next   prev    getvol  setvol  status  rndplay slot    list    submit
 info   tracks  edit    ext     refresh device  verbose quit    access

For more specific help, type 'help <command>'

cdcd help play[Invio]

Usage: play [starttrackname/track #] [endtrackname/track #] [min:sec]

By default, play starts at the beginning of the CD.  You may specify tracks
using either the number of the track or a section of the track's name.  The
disc will play from where it starts to the end of the disc or a track you
specify.  You may also specify a position within the first track to start.

La tabella 335.1 descrive brevemente i comandi principali di Cdcd.

Tabella 335.1. Comandi principali di Alcune opzioni della riga di comando di Cdcd.

Comando Descrizione
play Avvia l'esecuzione, dall'inizio o da una certa traccia.
open, eject Termina l'esecuzione ed espelle il CD dal lettore.
pause Mette in pausa l'esecuzione del CD.
resume Riprende l'esecuzione dopo una pausa.
ff, rew Fa avanzare o retrocedere rapidamente nell'ambito del brano che si sta ascoltando.
next, prev Fa avanzare alla traccia successiva o retrocedere alla traccia precedente.
status Visualizza la situazione del CD.
info, tracks, ext Visualizza informazioni ottenibili attraverso CDDB.
quit Termina il funzionamento di Cdcd quando questo funzionava in modalità interattiva.

335.1.4   Gcd

Gcd (5) è un programma grafico per l'ascolto di CD musicali. Può funzionare in modo molto poco appariscente, come si vede nella figura 335.3, oppure anche come si vede nella figura 335.4. All'avvio cerca normalmente di contattare una base di dati CDDB e se la connessione fallisce, la cosa viene segnalata con un messaggio di errore in un riquadro separato.

Figura 335.3. Pannello normale di Gcd.

figure/a2-gcd-pannello-normale

Figura 335.4. Pannello di Gcd con il dettaglio delle tracce.

figure/a2-gcd-pannello-tracce

Gcd si avvia con l'eseguibile gcd e oltre a questo non c'è molto da aggiungere, dal momento che il suo funzionamento interattivo è molto intuitivo, guidato anche da etichette a scomparsa che descrivono il significato dei pulsanti grafici che appaiono sul pannellino di controllo.

335.2   CDDB

CDDB è una base di dati dei CD musicali offerta attraverso la rete. A fianco di servizi CDDB proprietari, il cui accesso può essere sottoposto a delle condizioni, esiste anche un servizio CDDB pubblico, corrispondente a Freedb.org (<http://www.freedb.org>).

Il protocollo usato per l'accesso a una base di dati CDDB è denominato CDDBP e utilizza la porta 8 880. Con questo protocollo si può interrogare il servizio utilizzando i pochi dati che fornisce il CD sui brani che contiene, oppure si possono fornire le informazioni conosciute sul CD, mettendole a disposizione di tutti. Molti programmi per l'ascolto di CD audio sono organizzati per l'interrogazione automatica di questo servizio, allo scopo di fornire tutte le notizie conosciute su ciò che si sta ascoltando.

Alcuni sistemi grafici integrati, come Gnome, utilizzano un programma cliente che si occupa di eseguire le interrogazioni per conto dei programmi che possono averne bisogno, come TCD (nella versione per Gnome). Nel caso di Gnome si tratta precisamente di cddbslave, il quale poi memorizza le informazioni nella directory ~/.cddbslave/, su più file, mentre altri programmi potrebbero salvare le loro informazioni in file con nomi simili, per esempio ~/.cddb.

Tanto per fare un esempio di come possa funzionare il meccanismo, si fa riferimento a TCD nella versione per Gnome. Sul pannello frontale, tra le varie icone se ne trova una che permette di accedere alla finestra di inserimento e modifica delle informazioni sulle tracce. Queste informazioni sono memorizzate naturalmente nella propria directory personale. Si vede questa finestra nella figura 335.5. In questo caso appaiono anche i titoli dei vari brani, se così non fosse, si potrebbe interrogare la base di dati CDDB, come suggerisce il pulsante grafico nella parte bassa.

Figura 335.5. Finestra di accesso alle informazioni sulle tracce del CD musicale.

figure/a2-Gnome-track-editor

Il servizio offerto da Freedb.org avviene per mezzo di diversi nodi, in particolare freedb.freedb.org. Tuttavia, il software che si utilizza dovrebbe essere già predisposto per interrogare correttamente questi indirizzi.

335.3   Tracce CDDA

Le tracce audio di cui si compone un CD musicale sono in pratica dei file audio in un formato particolare. Anche se con qualche difficoltà, è possibile estrarre queste tracce e, teoricamente, si possono ricomporre masterizzando un nuovo CD.

È importante ricordare che l'acquisto di un CD non dà implicitamente il diritto di farne quello che si vuole. In generale si ottiene solo il diritto di ascoltarlo per sé; mentre altre operazioni come la copia, l'esecuzione in pubblico e la trasmissione, sono attività che devono essere autorizzate espressamente da chi detiene i diritti di quella pubblicazione sonora, senza contare l'eventuale presenza di una tassa.

Qui viene mostrato a titolo didattico il modo in cui le tracce audio di un CD possono essere estratte. Tuttavia, utilizzare questa tecnica per memorizzare tali brani in un'unità di memorizzazione qualunque, vuol dire farne una «copia», ovvero un'azione che normalmente è vietata da chi possiede i diritti sulla pubblicazione relativa.

L'estrazione delle tracce da un CD non è necessariamente un'operazione illegale, anche se la prima idea che viene in mente a chiunque è quella di fare così delle copie digitali perfette. In certi casi può essere l'unico modo per riuscire ad ascoltare un CD attraverso un lettore in cui l'uscita audio non funziona; in ultima analisi potrebbe essere il modo per realizzare un sistema audio completamente digitale fino all'ultima fase del processo di elaborazione che si vuole attuare.

In generale, per estrarre le tracce audio da un CD si utilizza Cdda2wav, Cdparanoia o Grip. Il problema più difficile dell'estrazione dei brani è quello di riuscire a individuarne correttamente l'inizio e la fine, oltre alla necessità di seguire correttamente la traccia senza salti.

335.3.1   Dispositivi

Quando si utilizzano programmi che accedono direttamente alle tracce audio del lettore CD, è necessario che i file di dispositivo abbiano i permessi necessari, a meno che si voglia utilizzarli solo in qualità di utente root.

Di solito si fa riferimento a /dev/cdrom come collegamento simbolico al file di dispositivo corretto per il tipo di lettore di cui si dispone. Dal momento che gli applicativi in questione devono poter interagire con il lettore, nel caso questo sia di tipo SCSI è necessario prendersi cura anche del «dispositivo generico», in pratica di uno che corrisponde al modello /dev/sgn. Alcune distribuzioni GNU/Linux utilizzano una forma non standard per i nomi di questi file di dispositivo: /dev/sga, /dev/sgb,... In questi casi, è necessario creare anche i file corretti, o abbinare a questi dei collegamenti simbolici opportuni. In generale, da quanto si legge nel Linux allocated devices, documento mantenuto da Peter H. Anvin e corrispondente al file <file:///usr/src/linux/Documentation/devices.txt>:

[...]
 21 char        Generic SCSI access
                  0 = /dev/sg0          First generic SCSI device
                  1 = /dev/sg1          Second generic SCSI device
                      ...

                Most distributions name these /dev/sga, /dev/sgb...;
                this sets an unnecessary limit of 26 SCSI devices in
                the system and is counter to standard Linux
                device-naming practice.
[...]

Naturalmente, /dev/sgn si abbina a /dev/srn o /dev/scdn. Volendo creare per esempio il primo di questa serie, si può utilizzare il comando seguente:

mknod /dev/sg0 c 21 0

Il dispositivo generico deve avere i permessi di scrittura se si vuole permettere a questi applicativi di funzionare.

335.3.2   Cdparanoia

Cdparanoia (6) è in grado di estrarre le tracce audio di un CD in modo digitale, senza passare per l'elaborazione della scheda audio. Può generare diversi tipi di formati, tuttavia al principiante conviene un formato con intestazione, come il WAV-RIFF. Si compone di un eseguibile unico, cdparanoia:

cdparanoia [opzioni] intervallo_di_esecuzione [file_da_generare]

La caratteristica più importante di questo applicativo sta nel fatto che è in grado di leggere e rileggere più volte le tracce audio in modo da escludere errori, attraverso il confronto delle letture successive.

A parte il caso in cui venga utilizzata l'opzione -B, è obbligatorio specificare l'intervallo di tracce e di tempo di registrazione. Semplificando al massimo, si tratta dell'intervallo di tracce espresso semplicemente nella forma m-n, dove m è la traccia iniziale e n quella finale. Nella pagina di manuale cdparanoia(1) si può leggere una spiegazione un po' più dettagliata che permette di individuare meglio la porzione desiderata.

Alcune opzioni

-w | --output-wav

Genera un formato WAV-RIFF.

-B | --batch

Genera una serie di file, uno per ogni traccia.

-Z | --disable-paranoia

Disabilita il processo di rilettura e correzione degli errori.

Esempi

cdparanoia -w 1 mio_file.wav

Crea il file mio_file.wav ottenuto dalla prima traccia del CD contenuto nel lettore.

cdparanoia -w 1-2 mio_file.wav

Crea il file mio_file.wav ottenuto dalle prime due tracce del CD contenuto nel lettore.

cdparanoia -w -B

Crea una serie di file, nella directory corrente, uno per ogni traccia del CD contenuto nel lettore. I file sono in formato WAV-RIFF.

cdparanoia -w 1 - | sox - .wav -t ossdsp /dev/dsp

Legge la prima traccia audio del CD contenuto nel lettore e la passa a un altro programma, attraverso una pipeline. Quel programma si occupa di convertire il formato in modo da poterlo inviare al dispositivo /dev/dsp che in pratica corrisponde a un ingresso digitale della scheda audio (viene mostrato nel prossimo capitolo).

A parte la qualità della riproduzione che si ottiene, eventualmente anche pessima, questo esempio mostra in che modo si può prelevare una traccia audio per rielaborarla prima dell'ascolto, senza passare per l'uscita audio del CD.

335.3.3   Grip

Grip (7) è un altro programma in grado di estrarre tracce audio da un CD, pilotando eventualmente anche la conversione in formato MP3. Eventualmente può funzionare come lettore CD puro e semplice; in tal caso, si comporta esattamente come Gcd, che in effetti è una versione ridotta dello stesso Grip.

Anche Grip è quindi un programma grafico interattivo, come lo è Gcd, ma in questo caso è molto importante la configurazione, che viene memorizzata nel file ~/.grip. Due aspetti molto importanti della configurazione riguardano il modo in cui vengono prelevate le tracce (figura 335.6) e la conversione eventuale in MP3 (figura 335.7).

Figura 335.6. Configurazione del prelievo delle tracce audio attraverso Grip.

figure/a2-grip-configurazione-rip

Figura 335.7. Configurazione della conversione delle tracce prelevate in MP3.

figure/a2-grip-configurazione-mp3

Il prelievo normale può avvenire direttamente attraverso Grip stesso, senza l'ausilio di altri programmi, ma in particolare viene definita in questa fase la collocazione dei file ottenuti (che sono di tipo WAV-RIFF). Nella figura 335.6 si vede in particolare che i file vengono definiti in base alla stringa ~/mp3/%a/%d/%n.wav. Evidentemente, %a, %d, e %n sono dei metacaratteri che rappresentano rispettivamente: il nome dell'artista, il nome del disco e la traccia completa di numero sequenziale. In pratica, se non è stato ottenuto il nome dell'artista e del CD, la prima traccia corrisponde al file ~/mp3/noartist/unknown_disk/track_1.wav.

La conversione in MP3 delle tracce richiede un programma apposito. Grip è in grado di utilizzarne diversi, in particolare LAME (capitolo 337). Nella configurazione (figura 335.7) deve essere indicato il tipo di programma usato per la conversione, il percorso assoluto dell'eseguibile e le opzioni da dargli; inoltre, come nella situazione precedente deve essere indicato in che modo comporre il nome del file. Anche nella riga di comando del programma di conversione vengono indicati dei metacaratteri; nella figura si vede l'uso di %b, %f e %o che rappresentano rispettivamente il settore di inizio da cui iniziare la conversione, il nome del file WAV-RIFF da convertire e il nome del file MP3 da generare. Naturalmente, per leggere l'elenco completo di questi metacaratteri, soprattutto allo scopo di comprendere il significato della configurazione predefinita, è sufficiente leggere la pagina di manuale grip(1).

Dopo la configurazione, per passare al prelievo occorre prima selezionare le tracce desiderate, come si vede nella figura 335.8, utilizzando il mouse, premendo il terzo tasto (quello destro). Successivamente si può passare al prelievo, come si vede nella figura 335.9, dove si può scegliere se prelevare semplicemente le tracce, generando file di tipo WAV-RIFF, con il pulsante grafico <Rip only>, oppure si può ottenere direttamente la conversione in formato MP3, con il pulsante grafico <Rip+Encode>.

Figura 335.8. Selezione delle tracce.

figure/a2-grip-selezione-tracce

Figura 335.9. Prelievo delle tracce.

figure/a2-grip-rip-mp3

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) Dcd   GNU GPL

2) TCD   GNU GPL

3) TCD si dovrebbe trovare incluso anche nella raccolta degli applicativi di Gnome; in tal caso, l'aspetto della versione grafica è un po' diverso rispetto a quanto si vede nelle figure riportate qui.

4) Cdcd   GNU GPL

5) Gcd   GNU GPL

6) Cdparanoia   GNU GPL

7) Grip   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome lettore_cd_audio.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]