Відповіді:
З ffmpeg:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
Тут 0,5 - коефіцієнт тону. Або дивіться іншу відповідь для отримання більш детальної інформації.
Якщо вам потрібен графічний інтерфейс, використовуйте Audacity , це безкоштовний, відкритий код, інструмент для редагування аудіо на різних платформах.
Особливості: Змінюйте висоту, не змінюючи темп, або навпаки.
Як альтернатива, спробуйте сокс . Щось схоже:
sox <infile> <outfile> pitch <shift>
де зсув нахилу подає як позитивні чи негативні «центи» (тобто 100-ту частину півтона). До октави належить 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 Гц, ця команда виконає роботу:
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
Помітьте зворотний порядок фільтру, щоб запобігти деградації сигналу. По можливості, операція без збитків повинна прийти до операції, яка втрачає втрату. Я не впевнений на 100%, чи не помиляюсь я тут із нерозумінням фільтрів FFmpeg.
Фільтр 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
.