回答:
ffmpegの場合:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
ここで、0.5はピッチ係数です。または、詳細については他の回答を参照してください。
GUIが必要な場合は、Audacityを使用してください。これは無料のオープンソースのクロスプラットフォームオーディオ編集ツールです。
機能:テンポを変更せずにピッチを変更、またはその逆。
別の方法として、soxを試してください。そんな感じ:
sox <infile> <outfile> pitch <shift>
ここで、ピッチシフトを正または負の「セント」(つまり、半音の100分の1)で指定します。1オクターブには12半音があるため1200
、パラメーターとして± を意味します。
ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wav
、ffmpeg -i
元のwav Duration: 00:00:01.95, bitrate: 3080 kb/s
と変更されたwavで表示されDuration: 00:00:02.60, bitrate: 1536 kb/s
ます。私が理解したようDuration
秒の長さです。
したがって、事前に入力オーディオレートを次のように検索します。
ffmpeg -i input.mp4
入力オーディオレートを44,100 Hzと仮定すると、このコマンドは次の処理を実行します。
ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4
3/4の係数は、ほとんどの女性の声と「細い」(シマリス)声を男性の声と「太った」声に変えます。反対の場合は4/3を使用します。
ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4
信号の劣化を防ぐためにフィルターの順序が逆になっていることに注意してください。損失のない操作の前に、可能な限り損失のない操作を行う必要があります。FFmpegフィルターを誤解してここで間違いを犯していないかどうかは、100%わかりません。
FFmpegフィルターにasetrate
は、一部のビデオフィルターの× とir
同様に、入力オーディオレートにちなんで名前が付けられた変数が必要ですが、ドキュメントでそれについての言及は見つかりませんでした。iw
ih
2より大きい係数(4/1または1/4など)の場合、複数のatempo
フィルターを使用する必要があります(1/4 = 1/2 * 1/2または4/1 = 2/1 * 2/1):
ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4
「痩せた」男性の声と「太った」女性の声を得る方法がわかりません。
の代わりに-af
、-filter:audio
またはと書くことができます-filter:a
。