2017-06-03 33 views
0

私はFFMPEGで波形を作成しようとしていますが、現在波が透明な白色のpngを作成できます。目標は以下の滑らかな波のような波を生成し、灰色を透明にすることです。 ffmpeg wavformFFMPEG、カスタム波形の作成方法

ここに私の現在のFFMPEG波形発生器と出力があります。

ffmpeg -i ./_test.mp3 -filter_complex \ 
"[0:a]aformat=channel_layouts=mono,compand=gain=-6, \ 
showwavespic=s=450x46:colors=white,negate[a]; \ 
color=white:450x46[c]; \ 
[c][a]alphamerge" -vframes 1 _test.png 

ffmpeg wavform

+0

ようになってしまった参照画像を見ることができません。 – Mulvya

+0

@Mulvyaの頭に感謝します。ドロップボックス共有の問題であった必要があります。今すぐ画像を見ることができるはずです。 –

+0

私はあなたの袖を巻いて、あなた自身のカスタムコードを書いてみることをお勧めします...オーディオはちょうどカーブですので、その驚くほど簡単に行くことができます... SOは答えることのできる解決策で尖った質問です...あなたの質問は、一度Audacityのような視覚化ツールを使って伸ばしたものは、最終的に私たちの一番上の画像に似たように見えるでしょう...フージングの量は1つではなく、他のものを生成しません...オーディオを合成するための独自のコードを書くと、 –

答えて

1
FFmpegのトラブルに対処を持っていると思われるので、波形を線で描画されますが、ポリゴンを満たし、かつ2されていないので、あなたはFFmpegは、1でこれを行うことができなくなります

ミリ秒の長さの音声。トリミングする

  • SoX

    おそらく、これは/より高度な数学を使用してR、オクターブまたはmatplotlibのが、私の最初の考えのようなソフトウェアをプロット行うことが可能であろうが3つのより小さい、より専門的なコマンドラインユーティリティを使用していました、リサンプルとは、解析可能なの.dat形式にオーディオファイルを保存

  • (grepを/ .datファイルをクリーンアップするSED)
  • Gnuplotその.datファイルに基づいてプロットを描画するとなどの.png
  • 保存Imagemagick最後にプロットされたラインが透明であるよう

の.pngを修正するために私の例のスクリプトは、この

# create example file 
sox -n -r 32k -b 16 pnoise.wav synth 10 pinknoise norm -0.1 

# trim/convert 
sox --norm=-1 pnoise.wav test.dat remix 1 trim 5 0.002 rate 200k 

grep -v "^;" test.dat |\ 
    sed -e "s/^[[:space:]]*//" -e "s/[[:space:]]*$//" > test.txt 

# draw plot  
gnuplot 

set term png size 600,200 background "#BBBBBB" 

set output "test.png" 

unset key 
unset border 
unset xtics 
unset ytics 

set margins 0, 0, 0, 0 

set yrange [-1:1] 

plot "test.txt" with lines lt rgb "#FF0000" lw 3 

exit 

# replace red opaque with fully transparent 
mogrify -channel rgba -matte -fill "#FF000000" -opaque "#FF0000" test.png 

enter image description here

+0

応答していただきありがとうございます。私は波乗りを見て、私はそれをフォークしてカスタムソリューションを構築しようとしています。 –

関連する問題