script per mp3gain

Se avete dubbi o domande sulla programmazione in generale, fatele qui
Rispondi
Paolo
Novello Arciere
Messaggi: 45
Iscritto il: 31 agosto 2007, 18:11

Messaggio da Paolo » 15 ottobre 2007, 23:18

Ciao a tutti,
ho installato mp3gain, funziona ma non mi piace il modo in cui stabilisce il volume ottimale(per me è un pò basso). Così ho deciso di creare uno script per fare im modo che il volume PCM venga impostato automaticamente fra 2200 e 3000.

Codice: Seleziona tutto

#!/bin/bash

if [ -z "$1" ]; then
    echo "Manca il file cui applicare il gain" 
    exit 1
fi

echo "Analisi del file mp3 e gain..."    
echo;echo;

var=`mp3gain -x "$1" | grep PCM | awk '{print $7}'`

if [ "$var" -ge 2200 && "$var" -lt 3000 ]; then
    echo "Il volume del file è a posto e non verrà modificato"
    echo;echo;        
    exit 0
elif [ "$var" -lt 2200  ]; then
    while [ "$var" -lt 2200 ]; do
        mp3gain -c -g 1 "$1"
        var=`mp3gain -x "$1" | grep PCM | awk '{print $7}'`
    done
    echo "E' stato applicato un gain per portare il volume PCM sopra 2200" 
    echo;echo;
        exit 0    
elif [ "$var" -gt 3000 ]; then
    while [ "$var" -gt 3000 ]; do
        mp3gain -c -g -1 "$1"
        var=`mp3gain -x "$1" | grep PCM | awk '{print $7}'`
    done
    echo "E' stato applicato un gain per portare il volume PCM sotto 3000" 
    echo;echo;
        exit 0    
fi
Il problema è che non esegue il controllo perchè la il valore della variabile var è un decimale, almeno credo. Non sono affatto esperto di programmazione per cui lo script sarà certamete bacato anche altrove. Se aveste suggerimenti di qualunque tipo (inerenti al programma s'intende) li accetterei voletieri.

eazy
Newbie
Messaggi: 16
Iscritto il: 23 gennaio 2008, 2:01
Località: Milano

Messaggio da eazy » 23 gennaio 2008, 2:24

Io ho cominciato ad usare mp3gain (al posto del solito normalize) perché l'algoritmo che usa non calcola il volume in base al punto più "forte" del file audio (peak normalization), ma quanto è recepito dal nostro orecchio:
MP3Gain does not just do peak normalization, as many normalizers do. Instead, it does some statistical analysis to determine how loud the file actually sounds to the human ear. http://mp3gain.sourceforge.net/
Con il tuo script chiedi a mp3gain di darti appunto il volume massimo del file audio, che non è proprio lo scopo dell'applicazione.
Ti conviene installare normalize che ti normalizza secondo la tecnica del peak normalization, altrimenti per aumentare il volume dell'output di mp3gain usa il flag "-d" indicando di quanti decibel vuoi aumentare il risultato finale.

Esempio: aumentare di 5 dB il volume finale:

Codice: Seleziona tutto

mp3gain -d 5.0 audio.mp3
Poi se vuoi uno script funzionante, posso sempre mettermi lì a smanettare :)

(che bello scoprire di non essere l'unico sordo :D)

Paolo
Novello Arciere
Messaggi: 45
Iscritto il: 31 agosto 2007, 18:11

Messaggio da Paolo » 27 gennaio 2008, 11:26

Grazie per l'interessamento ma e da un pò che anch'io uso mp3gain.

Paolo

Rispondi