Risposte:
Con ffmpeg:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
Qui, 0,5 è il fattore di tonalità. Oppure vedi l'altra risposta per maggiori dettagli.
Se hai bisogno di una GUI, usa Audacity , è uno strumento di editing audio gratuito, open source e multipiattaforma.
Caratteristiche: cambia il tono senza alterare il tempo, o viceversa.
In alternativa, prova sox . Qualcosa del genere:
sox <infile> <outfile> pitch <shift>
dove fornisce il pitch shift come 'centesimi' positivi o negativi (cioè centesimi di semitono). Ci sono 12 semitoni in un'ottava, quindi ciò significherebbe ± 1200
come parametro.
ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wav
vedo per ffmpeg -i
wav originale Duration: 00:00:01.95, bitrate: 3080 kb/s
e wav modificato Duration: 00:00:02.60, bitrate: 1536 kb/s
. Come ho capito Duration
è la lunghezza in secondi.
Trova in anticipo la frequenza audio in ingresso quindi:
ffmpeg -i input.mp4
Supponendo che la frequenza audio in ingresso sia 44.100 Hz, questo comando farà il lavoro:
ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4
Il fattore 3/4 cambierà la maggior parte delle voci femminili e "magre" (chipmunk) in voci maschili e "grasse". Usa 4/3 per il contrario:
ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4
Notare l'ordine del filtro invertito per prevenire il degrado del segnale. Ove possibile, l'operazione senza perdite dovrebbe precedere l'operazione in perdita. Non sono sicuro al 100% se non sto commettendo un errore qui da incomprensione dei filtri FFmpeg.
Il filtro FFmpeg asetrate
dovrebbe avere una variabile denominata ir
per la frequenza audio in ingresso, analogamente a iw
× ih
in alcuni filtri video, ma non ho trovato alcun riferimento nella documentazione.
Per fattori maggiori di 2 (come 4/1 o 1/4), è necessario utilizzare più atempo
filtri (1/4 = 1/2 * 1/2 o 4/1 = 2/1 * 2/1):
ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4
Non so come ottenere una voce maschile "magra" e una voce femminile "grassa".
Invece di -af
, puoi scrivere -filter:audio
o -filter:a
.