Di neccessità virtù. Volendo fare un pò di Karaoke (dal giapponese "vuota orchestra") in breve tempo, ho rispolverato gli appunti del Laboratorio Sperimentale di Matematica Computazonale, la cui terza parte è dedicata all'elaborazione audio digitale. Quello che descrivo è -in pratica- come costruire un cannone per sparare alle mosche, ma spesso funziona, e può far comodo. Ovviamente se volete fare Karaoke con GNU\Linux avete a disposizione strumenti professionali, ma questa soluzione è interessante a prescindere.
Ci sono sostanzialmente due modi di togliere la voce principale da una canzone, così da poterci cantare sopra:
* Eliminare le frequenze che corrispondono alla voce umana (si applica una trasformata discreta di Fourier ~oppure una trasformata discreta wavelet~ si diminuiscono le frequenze dove cade la voce, che cambia da uomo a donna, ed in base al timbro del cantante, e poi di anti-trasforma)
[i CD hanno come parametri standard: 2 canali a 16 bit, si memorizzano interi, a freq 44100]
* Si fa la differenza fra il canale destro e quello sinistro (per le canzoni pop viene -spesso- prima registrata la base musicale -dove ogni strumento risulta maggiormente su un canale o su l'altro- e poi la voce viene equamente distribuita sui due canali) in questo modo la voce si abbassa drasticamente, e si danneggia poco la base musicale
Per mettere in pratica questo, ho preso un programmino scritto dal prof. Steffè
http://www.dm.unipi.it/pages/steffe/public_html/DIDA/LSMC-2010/parte3/program1/mono.f90
ed ho modificato la riga "soundds=(soundds+soundsn)/2.0" con "soundds=soundds-soundsn"
Questo programmino legge file in formato cdr, cioè da CD, dunque se volete lavorare con gli MP3 potete scrippettare come segue:
mpg123 --cdr file.cdr NomeFile.mp3
f95 mono.f90 -o mono (o compilare con altri compilatori, possibilmente liberi, come gfortran)
./mono (inserite file.cdr e poi elaborato.cdr)
sox elaborato.cdr elaborato.wav
lame elaborato.wav karaoke.mp3
ed ecco fatto.
Ho sperimentato questo approccio con qualche canzone, e i risultati sono buoni.
AVVERTENZE:
Con canzoni registrate in mono, ovviamente, questo trucchetto non funziona (neanche con canzoni registrate in mono, messe in stereo per essere commercializzate su CD od in MP3)
Con RAP a due (o simil) funziona male perché il "botta e risposta" è basato anche sulla differenziazione dei canali.
Potrebbe capitare che i due canali siano talmente simili da rendere il risultato molto basso di volume.
Con canzoni dalla base musicale elaborata possono presenzarsi sgradevoli rumori (tanto a noi interessava lavorare su canzoni pop :)
Nessun commento:
Posta un commento