User Tools

Site Tools


doc:appunti:linux:audio:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:audio:start [2015/12/15 07:27] – [Suddivisione di un file mp3] niccolodoc:appunti:linux:audio:start [2023/12/20 14:39] (current) – [Dividere un file audio in base ad un file CUE] niccolo
Line 67: Line 67:
     INDEX 01 11:27:60     INDEX 01 11:27:60
 </file> </file>
 +
 +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 [[wp>Cue sheet (computing)]].
  
 Installando i pacchetti Debian **cuetools** e **shntool** è possibile dividere un unico file nelle singole tracce: Installando i pacchetti Debian **cuetools** e **shntool** è possibile dividere un unico file nelle singole tracce:
Line 76: Line 78:
 I file risultanti saranno nominati a partire da **''split-track01.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:+Il tool ''cuebreakpoints'' produce una lista di posizioni nel formato **mm:ss.ff**. Per **N posizioni** verranno estratti **N+1 file**. Se la fine del file non viene rilevata automaticamente può capitare un errore nell'estrazione dell'ultima traccia; si può in quel caso aggiungere un breakpoint che indica (fittiziamente) l'ultima posizione utile del file. 
 + 
 +**ATTENZIONE:** a volte vengono distribuiti CUE file sbagliati, dove l'INDEX è nel formato mm:ss:dd (minuti, secondi e decimi di secondo); un indizio è quando la terza componente assume valori maggiori o uguali a 74. Si può in questo caso dare in pasto a ''shnsplit'' una lista di breakpoints nel formato **mm:ss.ddd** (minuti, secondi e decimi di secondo). Oppure si converte i decimi di secondo in frame usando la formula ff = dd / 100 * 75. 
 + 
 +**ATTENZIONE:** se il formato del file non è in qualità CD (44.1 kHz, 16 bit) il tool ''shnsplit'' non accetta i breakpoints nel formato **mm:ss.ff**, bisogna fornirli piuttosto nel formato **mm:ss.ddd**. 
 + 
 +Il programma ''shnsplit'' può leggere direttamente anche il formato ape, bisogna installare il pacchetto **monkeys-audio** (disponibile nel repository [[https://deb-multimedia.org/|deb-multimedia.org]]) che contiene il codec //mac//, lo split in questo caso si fa con:
  
 <code> <code>
 shnsplit -f CDImage.cue CDImage.ape shnsplit -f CDImage.cue CDImage.ape
 </code> </code>
 +
 +È possibile nello stesso modo gestire anche il formato **WavPack Lossless Audio**; è sufficiente installare il pacchetto Debian **wavpack** ed eseguire il comando:
 +
 +<code>
 +cuebreakpoints file.wv.cue | shnsplit -o wav file.wv
 +</code>
 +
 ==== File originale in formato FLAC ==== ==== File originale in formato FLAC ====
  
Line 102: Line 117:
 </file> </file>
  
-Con questo file si può procedere alla suddivisione in singole tracce:+Come descritto sopra per i file WAV, si può procedere alla suddivisione in singole tracce:
  
 <code> <code>
Line 110: Line 125:
 I pacchetti Debian necessari sono **flac**, **cuetools** e **shntool**. 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:
 +
 +<code>
 +shnsplit -f CDImage.cue -o flac CDImage.ape
 +</code>
 +
 +==== Qualità eccessiva nei file audio ====
 +
 +Capita di trovare file audio in qualità superiore a quella del CD-Audio (44.1 kHz, 16 bit), sia in formato lossy che lossless. Per vari motivi può essere utile la conversione (con ovvia perdita, ad esempio per poter masterizzare un normale CD-Audio). Ecco una ricetta che utilizza **''sox''** per convertire un FLAC in WAV, facendo contemporaneamente il downsampling:
 +
 +<code>
 +sox input_file.flac -r 44100 -b 16 output_file.wav
 +</code>
 ===== Suddivisione di un file mp3 ===== ===== Suddivisione di un file mp3 =====
  
Line 119: Line 147:
  
  
-==== Amplificazione senza ricodifica di un file mp3 ====+===== Amplificazione senza ricodifica di un file mp3 o aac ====
 + 
 +Alcuni player supportano **speciali tag** che indicano a che volume deve essere riprodotto un brano. Esistono programmi che modificano tale tag dopo aver analizzato il singolo brano o una intera collezione, in modo che suoni a un volume normalizzato. 
 + 
 +**ATTENZIONE**: Il pacchetto **mp3gain** è stato rimosso da Debian 9 perché privo di manutenzione (ultima versione in cui era disponibile: Debian 8 Jessie). In alternativa esiste il pacchetto **aacgain**, che aggiunge il supporto ai file audio AAC contenuti nel formato MP4. È disponibile nel repository [[http://www.deb-multimedia.org/|Deb-Multimedia]], non in quello ufficiale. 
 + 
 +In teoria basterebbe un editor di tag per aggiungere il tag **replaygain_track_gain**, ma al momento (marzo 2018) né Kid3 né EasyTAG consentono l'aggiunta di tag custom.
  
 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 **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.
Line 135: Line 169:
 </code> </code>
  
-Applica il massimo guadagno possibile evitando però il clipping del segnale.+con l'opzione ''**-a**''  si applica il massimo guadagno possibile evitando però il clipping del segnale.
  
 <code> <code>
Line 141: Line 175:
 </code> </code>
  
-Applica il guadagno indicato, anche se questo comporterà un clipping del segnale audio.+con ''**%%-g%%**'' si applica il guadagno indicato, anche se questo comporterà un clipping del segnale audio.
  
-In ogni caso le modifiche apportate al file sono salvate in un tag all'interno del file stesso ed è possibile quindi annullarle lanciando il programma con l'opzione ''**%%-u%%**''.+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%%**''. 
 + 
 +===== Conversione da M4A a MP3 o OGG/Vorbis ===== 
 + 
 +C'è una insana abitudine a distribuire file musicali in contenitori **MPEG-4**, con audio codificato **AAC** e l'aggiunta di **iTunes info**, che si traduce in un flusso audio/video magari con un solo frame still-video. Il file con estensione .m4a viene solitamente interpretato (e convertito) appunto in un flusso audio/video, con evidente inutile sovraccarico. 
 + 
 +Ecco una ricetta per convertire il file in un più classico MP3 oppure OGG/Vorbis, con l'opportuna qualità: 
 + 
 +<code> 
 +ffmpeg -i file.m4a -vn -q:a 1 file.mp3 
 +ffmpeg -i file.m4a -vn -c:a libvorbis -qscale:a 9 file.ogg 
 +</code>
  
 +Per il formato MP3 la qualità massima è **%%-q:a 0%%** (da 10 a 0), mentre per il formato Vorbis la qualità massima è **%%-qscale:a 10%%** (da 0 a 10).
doc/appunti/linux/audio/start.1450160847.txt.gz · Last modified: 2015/12/15 07:27 by niccolo