.
/*/ -------< P/S >-------------
-Inspired by
i> regorxxx's SMP script: Not a Waveform Seekbar
https://regorxxx.github.io/foobar2000-SMP.github.io/scripts/not-a-waveform-seekbar-smp/ and;
ii> Marc2003: Spectrogram Seekbar
https://jscript-panel.github.io/gallery/spectrogram-seekbar/ - dependency: 'ffprobe.exe' copied to as this folder: fb.ProfilePath + 'skins\\external_helper\\ffprobe.exe'
link :
https://www.ffmpeg.org/ version test:
https://www.gyan.dev/ffmpeg/builds/ , 2024-07-01 v46
- A little bit about algorithm:
+ get ffprobe.exe exported log file, including RMS_Level, Pek_Level value/data
+ transforming these raw_data into read-to-use:
- cleaning data.
- converting dB [-100,0] into number [0,1].
- adjusting frame number to increase refresh rate if any (varied between 26-92 ms/frame as quick observation)
- caching data to disk for next use (if any).
- delete all data files once foobar2000 "on" exit. (can be variable setting).
- A little bit about ffprobe (FFmpeg) filter:
+ example: for reference only.
https://stackoverflow.com/questions/38056970/ffmpeg-txt-from-audio-levels https://stackoverflow.com/questions/32254818/generating-a-waveform-using-ffmpeg + more update:
https://ffmpeg.org/ffmpeg-filters.html#astats-1 https://trac.ffmpeg.org/wiki/FilteringGuide + "pkt_pts_time" parameter: was ignored from late 2021. We still keep this para along with the command or will get nothing out of log file(!!!).
OTW, it had been looked like: (source: Internet, @Gyan, commented Jun 27, 2016 at 19:4, stackoverflow.com as above link)
hit command [ffprobe -f lavfi -i
amovie=audio.aac,
astats=metadata=1:reset=1
-show_entries
frame=pkt_pts_time:frame_tags=lavfi.astats.Overall.RMS_level,lavfi.astats.1.RMS_level,lavfi.astats.2.RMS_level
-of csv=p=0]
=> got resuslt: (1st column is pkt_pts_time in sec, followed by overall RMS_level, 1 (Left channel ?) RMS_level and lastly 2(right channel ?) RMS_level).
Duration: N/A, start: 0.023220, bitrate: N/A
Stream #0:0: Audio: pcm_f64le, 44100 Hz, stereo, dbl, 5644 kb/s
0.023220,-inf,-inf,-inf
0.046440,-inf,-inf,-inf
0.069660,-inf,-inf,-inf
0.092880,-27.330401,-22.685612,-24.414572
0.116100,-21.141091,-18.986082,-19.931269
0.139320,-20.955719,-18.549085,-19.587788
0.162540,-20.938002,-18.198237,-19.355561
0.185760,-19.852306,-20.032553,-19.941494
0.208980,-20.495281,-21.684953,-21.049508
/*/
// Music can bring happiness, let it on.