Câu trả lời:
Với ffmpeg:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
Ở đây, 0,5 là hệ số sân. Hoặc xem câu trả lời khác để biết thêm chi tiết.
Nếu bạn cần GUI, hãy sử dụng Audacity , đây là công cụ chỉnh sửa âm thanh đa nền tảng, miễn phí.
Các tính năng: Thay đổi cao độ mà không thay đổi nhịp độ, hoặc ngược lại.
Để thay thế, hãy thử sox . Một cái gì đó như thế:
sox <infile> <outfile> pitch <shift>
trong đó cung cấp cho sự thay đổi cao độ là dương hoặc âm 'xu' (tức là 100 phần trăm của một nửa cung). Có 12 semitones cho một quãng tám, vì vậy điều đó có nghĩa là ± 1200
như một tham số.
ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wav
tôi thấy bởi ffmpeg -i
wav ban đầu Duration: 00:00:01.95, bitrate: 3080 kb/s
và wav sửa đổi Duration: 00:00:02.60, bitrate: 1536 kb/s
. Theo tôi hiểu Duration
là chiều dài tính bằng giây.
Tìm tốc độ âm thanh đầu vào trước đó:
ffmpeg -i input.mp4
Giả sử tốc độ âm thanh đầu vào 44.100 Hz, lệnh này sẽ thực hiện công việc:
ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4
Yếu tố 3/4 sẽ thay đổi hầu hết giọng nữ và người gầy gò (chipmunk) thành giọng nam và mập mập. Sử dụng 4/3 cho ngược lại:
ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4
Lưu ý đảo ngược thứ tự bộ lọc để ngăn chặn sự suy giảm tín hiệu. Bất cứ khi nào có thể, hoạt động lossless nên đến trước khi hoạt động mất mát. Tôi không chắc chắn 100% cho dù tôi không phạm một số sai lầm ở đây do hiểu nhầm các bộ lọc FFmpeg.
Bộ lọc FFmpeg asetrate
phải có một biến được đặt tên ir
cho tốc độ âm thanh đầu vào, tương tự như iw
× ih
trong một số bộ lọc video, nhưng tôi không thể tìm thấy bất kỳ đề cập nào về nó trong tài liệu.
Đối với các yếu tố lớn hơn 2 (chẳng hạn như 4/1 hoặc 1/4), bạn phải sử dụng nhiều atempo
bộ lọc (1/4 = 1/2 * 1/2 hoặc 4/1 = 2/1 * 2/1):
ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4
Tôi không biết làm thế nào để có được giọng nam gầy gò và giọng nữ mập mập.
Thay vì -af
, bạn có thể viết -filter:audio
hoặc -filter:a
.