Add new operation: Generate Spectrogram
Overview
Resolves #1207. Analyzing audio spectrograms for hidden data is often needed during CTFs.
Dependencies
I tried to make it as standalone as possible - still, it includes two new dependencies:
Both of these do not have further dependencies, and they can be useful in the future for adding more audio-related operations. If it's not acceptable, please let me know.
Limitations
To not make it overly complicated I only implemented a rectangular window (in Audacity the default is Hanning) - more options in that regard could be useful, but for simply looking for some hidden text, I think it's capable enough.
Also, more color schemes could be added, or a package like colormap could be used instead.
Tests
Writing tests for it was quite tricky - there are currently no wave samples available for use in tests, and some imports didn't work correctly when I tried. I decided to wait for some feedback or leave it to someone who knows better how to do it.
Hey! This pull request has gotten rather old and that's our fault. This project stopped being actively maintained for a while and it looks like your pull request has started to gather dust. Would you be able to update your branch to the latest version of CyberChef and we'll give it a review?