User Tools

Site Tools


doc:appunti:linux:audio:start

This is an old revision of the document!


Elaborazione audio

Estrazione (ripping) audio CD

Il programma ripit unito a cdparanoia e oggenc (rispettivamente dai pacchetti Debian ripit, cdparanoia e vorbis-tools) consente di estrarre le tracce audio da un CD e salvarle in formato .ogg con un unico comando. Se possibile titoli e altre informazioni sul brano sono recuperate dal database on-line freedb.org.

Ecco la ricetta:

ripit --ripper 1 --coder 1 --quality 6 --outputdir $HOME/music --playlist 0 --archive

La qualità 6 per oggenc significa circa 192 kbit/s.

Confronto fra tracce audio

Il comando shncmp dal pacchetto Debian shntool consente di confrontare due tracce audio. Dovrebbe permettere anche di compensare eventuali shift fra una traccia e l'altra. In caso di differenza tuttavia non indica quanta differenza esiste.

Con audacity è possibile inevece vedere la differenza fra due tracce. Ecco il procedimento:

  • Aprire la prima traccia.
  • Dal menu File, Import, Audio aprire la seconda traccia.
  • Se le due tracce non sono allineate tagliare lo shift; per farlo è necessario che le due tracce non sia collegate: Tracks, Link Tracks.
  • Selezionare la prima traccia e dal menu Effect scegliere Invert.
  • Selezionare entrambe le tracce e dal menu Tracks scegliere Mix and Render.

La traccia risultate è la differenza tra le due.

Database freedb.org

Il database di titoli di CD http://www.freedb.org/ è liberamente consultabile ed aggiornabile.

Ogni disco viene identificato da un genere e da un ID, tale classificazione è salvata localmente nella directory $HOME/.cddb/ da programmi tipo ripit o analoghi che usano la libreria libcddb2.

Se localmente abbiamo un file di nome $HOME/.cddb/classical/82102618, dovrebbe esistere lo stesso file anche all'URL http://www.freedb.org/freedb/classical/82102618.

È possibile inviare una nuova entry per posta elettronica, basta scrivere a freedb-submit@freedb.org, mettendo come Subject: cddb classical 82102618, usando come corpo del messaggio il file cddb.

Formato APE

Per decodificare il formato lossless Monkey's Audio (APE) si può usare il programma ffmpeg (dall'omonimo pacchetto Debian), ad esempio:

ffmpeg -i cd_image.ape cd_image.wav

Dividere un file audio in base ad un file CUE

Articolo originale.

Un file .cue contiene le informazioni sulle tracce di un CD-Audio in questo formato:

PERFORMER "Unknown Artist"
TITLE "Unknown Title"
FILE "CDImage.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Track01"
    PERFORMER "Unknown Artist"
    INDEX 00 00:00:00
    INDEX 01 00:00:33
  TRACK 02 AUDIO
    TITLE "Track02"
    PERFORMER "Unknown Artist"
    INDEX 00 11:26:10
    INDEX 01 11:27:60

Il tag INDEX indica una posizione nel file audio nel formato mm:ss:ff, cioè minuti, secondi e frame. Nella struttura di un CD-Audio ci sono 75 frame per ogni secondo. La prima traccia utile è INDEX 01 (vedi Cue sheet (computing).

Installando i pacchetti Debian cuetools e shntool è possibile dividere un unico file nelle singole tracce:

cuebreakpoints CDImage.cue | shnsplit -o wav CDImage.wav 

I file risultanti saranno nominati a partire da split-track01.wav.

Il programma shnsplit può leggere direttamente anche il formato ape, bisogna installare il pacchetto monkeys-audio che contiene il codec mac, lo split in questo caso si fa con:

shnsplit -f CDImage.cue CDImage.ape

File originale in formato FLAC

A volte viene distribuito un file FLAC senza il corrispondente .cue, ma le informazioni sulla suddivisione in tracce sono conenute al suo interno come CUESHEET block oppure come semplici metadati di testo, provare ad estrarre le informazioni con questi comandi:

metaflac --export-cuesheet-to=- file.flac
metaflac --list file.flac

Eventualmente con un editor di testo si deve ottenere un CUESHEET del tipo:

FILE "CDImage.wav" WAVE
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 05:14:73
  TRACK 03 AUDIO
    INDEX 01 11:07:58

Come descritto sopra per i file WAV, si può procedere alla suddivisione in singole tracce:

cuebreakpoints file.cue | shnsplit -o flac file.flac

I pacchetti Debian necessari sono flac, cuetools e shntool.

I file generati saranno del tipo split-track01.wav, è possibile generare i file anche in altro formato, ad esempio FLAC:

shnsplit -f CDImage.cue -o flac CDImage.ape

Suddivisione di un file mp3

Estrarre una parte di un file ,mp3 può essere fatto senza fare il deconding e successivo encoding, che altrimenti introducono una perdita di qualità. In Debian GNU/Linux (dalla versione Squeeze) c'è il pacchetto mp3splt che contiene l'omonimo comando. Si deve indicare il punto di inizio e il punto di fine in minuti.secondi:

mp3splt file.mp3 110.57 127.23

Amplificazione senza ricodifica di un file mp3

Il programma mp3gain (dall'omonimo pacchetto Debian) consente di alterare il parametro “global gain” di un file mp3 senza effettuare la ricodifica. Usato in maniera automatica cerca il massimo guadagno applicabile senza raggiungere il clipping (taglio dei punti più alti) del segnale sonoro, ma nella maggior parte dei casi è accettabile il clipping per avere un volume mediamente più alto.

Il programma può lavorare su più di un file contemporaneamente, ad esempio per normalizzare tutti i brani di uno stesso album musicale. Vediamo invece come modificare una singola traccia.

mp3gain file.mp3

con questo comando viene analizzato il file e i risultati vengono scritti in alcuni tag all'interno del file stesso. Nelle successive eleborazioni vengono usate tali informazioni, a meno che non si usi l'opzione -s r che obblica a calcolarle di nuovo.

mp3gain -a file.mp3

con l'opzione -a si applica il massimo guadagno possibile evitando però il clipping del segnale.

mp3gain -g 1.2 file.mp3

con -g si applica il guadagno indicato, anche se questo comporterà un clipping del segnale audio.

Aprendo il file con Audacity si può notare l'esito dell'amplificazione, perché il programma applica il parametro “global gain” quando apre e decodifica il file.

In ogni caso le modifiche apportate al file sono salvate in un tag all'interno del file stesso, è possibile quindi annullarle lanciando il programma con l'opzione -u.

doc/appunti/linux/audio/start.1474282616.txt.gz · Last modified: 2016/09/19 12:56 by niccolo