我知道如何用atempo改變速度,但是音頻文件會變得有點失真,而且我找不到一個可靠的方法來改變音調。 (比如,將節奏和音調加在一起140%)如何用ffmpeg可靠地改變音調和速度
Sox有一個速度選項,但截斷音量並且不像ffmpeg那樣廣泛可用。 mplayer有一個完美的速度選項,但是我不能輸出沒有額外的庫。
我似乎理解ffmpeg沒有辦法改變音調(也許它最近做?),但有沒有辦法改變頻率或其他標誌來模擬改變音調?看起來相當遠,找不到一個體面的解決方案。
編輯:asetrate:48k * 1.4(假設最初爲48k)似乎不起作用,但失真和音調並沒有真正改變太多。
EDIT2:https://superuser.com/a/1076762這個答案排序的作品,但質量是如此之遠低於sox speed 1.4
選項
你是對的,似乎工作。也許是因爲在我用'asetrate'觸碰'atempo'之前,似乎只有它工作。質量似乎比sox或mplayer差一點,但我認爲它足夠接近。謝謝您的幫助。 您是否知道是否有方法可以在不首先檢查的情況下設置原始的乘法<新頻率>?就像48k * 1.4而不是1.4k我可以放1.4,它會增加1.4的頻率。 – jake
嗯,我不知道是否有一個直接的方式來做到這一點,我能想到的唯一的事情就是通過ffprobe獲取原始頻率的值 - 只要值,並刪除所有額外的信息,以便通過它作爲原始代碼行的變量。你可以這樣做:'ffmpeg -i -filter:asetsetrate = $(ffprobe -v error -show_entries stream = sample_rate -of default = noprint_wrappers = 1:nokey = 1 <輸入文件名> )* 1.4「-y <輸出文件名>' – Sizigia