# generate a sound file ffmpeg -f lavfi -i "anoisesrc=color=brown" -filter:a "tremolo=f=0.1:d=0.9" -c:a pcm_s24le -ar 96k -ac 2 -t 60 seashore_good.wav # play the sound file ffplay seashore_good.wav # damage the sound file ffmpeg -i seashore_good.wav -c copy -bsf:a "noise=amount=-1" seashore_bad.wav # play the damaged sound file ffplay seashore_bad.wav # show volume ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showvolume=c=VOLUME:w=1000:h=100:ds=log [out0]" ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showvolume=c=VOLUME:w=1000:h=100:ds=lin [out0]" ffplay -f lavfi "amovie=seashore_bad.wav, asplit [a][out1]; [a] showvolume=c=VOLUME:w=1000:h=100:ds=lin [out0]" # show waves ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showwaves=mode=point [out0]" ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showwaves=mode=p2p [out0]" ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showwaves=mode=cline [out0]" ffplay -f lavfi "amovie=seashore_bad.wav, asplit [a][out1]; [a] showwaves=mode=cline [out0]" # show spectrum ffplay -f lavfi "amovie=seashore_good.wav, asplit [a][out1]; [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]" ffplay -f lavfi "amovie=seashore_bad.wav, asplit [a][out1]; [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]" # extract metadata ffprobe -show_format -show_streams -print_format json seashore_good.wav mediainfo seashore_good.wav mediainfo --Details=1 seashore_good.wav # delve deep into the file structure with "fq" # see: https://github.com/wader/fq fq . seashore_good.wav fq d seashore_good.wav