簡體   English   中英

ffmpeg在歌曲上疊加聲音,淡入和淡出

[英]ffmpeg overlay voice on a song with fade in and fade out

我有一個淡入淡出的問題,並在下面的代碼中使用,但不能完全解決。 我有一個名為voice.mp3的語音名稱, voice_length長度為voice_length秒,並且是一首語音中最大的歌曲。 我想與start_mix_time時間里的歌曲混合。 當語音開始音量應為0.2且語音結束時,音量將返回1.0

例如,如果我有10秒長的聲音和一首歌,則歌曲開始播放,並在3秒的位置開始逐漸淡出,直到音量為0.2,然后在5秒時,聲音在歌曲上開始,並在10秒后逐漸消失進入第一卷並結束比賽。

這是一個示例:

ffmpeg -i song1.mp3 -i voice2.mp3  -filter_complex "[0]asplit[a][b]; \
        [a]atrim=duration=voice_length,volume='1-max(0.25*(t-start_mix_time-2),0)':eval=frame[pre]; \
        [b]atrim=start=start_mix_time,asetpts=PTS-STARTPTS[song]; [song][1]amix=inputs=2:duration=first:dropout_transition=2[post]; \
        [pre][post]concat=n=2:v=0:a=1[mixed]" \
        -map "[mixed]" output.mp3

@Mulvya

對於給定的示例-音量在t = 3和5之間從1減小到0.2,然后從t = 15減小到17減小到1。

ffmpeg -i song.mp3 -i voice.mp3  -filter_complex 
        "[0]volume='1-max((t-start_fade_t)*0.8/2,0)':eval=frame:enable='between(t,3,5)',volume=0.4:eval=frame:enable='between(t,5,15)',volume='0.2+max((t-end_fade_t)*0.8/2,0)':eval=frame:enable='between(t,15,17)'[song]; \
         [1]adelay=5000|5000[vo]; \
         [song][vo]amix=inputs=2:duration=first:dropout_transition=0.01" \
       output.mp3

這首歌使用了三個音量過濾器-一個用於淡入,一個用於淡出,另一個在疊加期間。 由於混合濾波器會減小其輸入的音量,因此將疊加音量濾波器的值設置為所需音量的兩倍。

最后,通過以下方法解決參數:

ffmpeg -i song.mp3 -i voice.mp3  -filter_complex \
    "[0]volume='1-((t-start_song_fade_out)*fade_power) + min_song_volume':eval=frame:enable='between(t,start_song_fade_out,end_song_fade_out)', \
    volume=min_song_volume:eval=frame:enable='between(t,end_song_fade_out,end_song_fade_out + voice_duration - 1)', \
    volume='(t-end_song_fade_out + voice_duration - 1)*fade_power + min_song_volume' \
    :eval=frame:enable='between(t,end_song_fade_out + voice_duration - 1,start_song_fade_in_back + end_song_fade_out-start_song_fade_out)' \
    [song]; [1]adelay='(end_song_fade_out*1000)'|'(end_song_fade_out*1000)'[vo]; \
    [song][vo]amix=inputs=2:duration=first:dropout_transition=0.01" -id3v2_version 3 output.mp3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM