sabato 15 settembre 2012

Modificare il tempo/velocita` (bpm) ad un file audio

Dopo uno schiarimento di idee a riguardo, domandando se e come fosse possibile, nel caso si tratti di un file audio compresso, modificarne il tempo d'ascolto, memorizzandolo su un nuovo file, in lista pubblica RELug, ho scoperto che ...

Non e` possibile cambiare la "velocita`/tempo" ad un file audio compresso, senza prima decodificarlo e reencodarlo di nuovo, quindi, con una perdita di qualita`, anche minima, ma c'e`.

Lo avevo anche gia` intuito, ma per sicurezza ho preferito domandare.

Metodi per l'ascolto
Quanti ne volete ?

play <infile> tempo <numero>
Questo "play" fa parte del pacchetto "sox", potete cambiare il tempo da 0.1 a '?' (ma oltre il 3 non ha senso), velocita` normale e` 1.

mpg123 -pitch <numero> <infile> 
Non e` proprio il "tempo", potete cambiare da -0.9 a 3.3, il "man" non lo dice, il valore normale e` 0.

mplayer <infile> -speed <numero>
La velocita` puo` essere impostata da 0.01 a 100, la normale e` 1.

Per la memorizzazione ho scelto "sox", tanto devo comunque passare attraverso un 'wav'.
A proposito, ho scoperto che sox pacchettizzato debian, non e` compilato col supporto per encodare in mp3, direi anche a ragione, visto che utilizzerebbe la libreria di 'lame', tanto vale risparmiare sulle dimensioni dell'eseguibile, pero`, si deve poi installare 'lame', per me non e` un problema, per altri ..
sox <infile> <outfile> tempo <numero>
Non rimane che rippare in mp3, io utilizzo questo comando, perche` normalmente faccio tutta la directory:
for i in *.wav; do lame -h -b 320 "${i}" "${i%.wav}.mp3";done

Nessun commento:

Posta un commento