Antworten:
Mit ffmpeg:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
Hier ist 0,5 der Tonhöhenfaktor. Oder sehen Sie sich die andere Antwort für weitere Details an.
Wenn Sie eine grafische Benutzeroberfläche benötigen, verwenden Sie Audacity , ein kostenloses Open Source-Tool zur plattformübergreifenden Audiobearbeitung.
Features: Ändern Sie die Tonhöhe, ohne das Tempo zu ändern, oder umgekehrt.
Versuchen Sie alternativ Sox . So ähnlich:
sox <infile> <outfile> pitch <shift>
Dabei wird die Tonhöhenverschiebung als positiver oder negativer 'Cent' angegeben (dh 100stel eines Halbtons). Eine Oktave hat 12 Halbtöne, das würde also ± 1200
als Parameter bedeuten .
ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wav
sehe ich durch ffmpeg -i
Original-WAV Duration: 00:00:01.95, bitrate: 3080 kb/s
und modifizierte WAV Duration: 00:00:02.60, bitrate: 1536 kb/s
. Soweit ich weiß, Duration
ist die Länge in Sekunden.
Finden Sie die Audio-Eingangsrate vorher wie folgt:
ffmpeg -i input.mp4
Unter der Annahme einer Eingangsaudiorate von 44.100 Hz führt dieser Befehl folgende Aufgabe aus:
ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4
Der Faktor 3/4 ändert die meisten weiblichen und "dünnen" (Chipmunk) Stimmen in männliche und "fette" Stimmen. Verwenden Sie 4/3 für das Gegenteil:
ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4
Beachten Sie die umgekehrte Filterreihenfolge, um eine Signalverschlechterung zu verhindern. Wann immer möglich, sollte ein verlustfreier Betrieb vor einem verlustbehafteten Betrieb erfolgen. Ich bin mir nicht 100% sicher, ob ich hier keinen Fehler mache, weil ich FFmpeg-Filter falsch verstanden habe.
Der FFmpeg-Filter asetrate
sollte eine Variable ir
haben, die analog zu iw
× ih
in einigen Videofiltern nach der Eingangsaudiorate benannt ist , aber ich konnte in der Dokumentation keine Erwähnung finden.
Für Faktoren größer als 2 (z. B. 4/1 oder 1/4) müssen Sie mehrere atempo
Filter verwenden (1/4 = 1/2 * 1/2 oder 4/1 = 2/1 * 2/1):
ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4
Ich weiß nicht, wie ich eine "dünne" Männerstimme und eine "fette" Frauenstimme bekommen soll.
Stattdessen -af
können Sie schreiben -filter:audio
oder -filter:a
.