I have an Audio that I want to extract the Spectrogram data from such that when I plot it using ArrayPlot it looks the same as the Spectrogram (I reversed it and then 1 minus to make it look exactly the same). It was working when I retrieved it from Spectrogram[audio][[1,1,All,All,1]], but after a Mathematica crash it no longer outputs the same matrix with the same audio. It used to be something like 512x954 but now its 256x5080.
EDIT: Turns out that changing the partition and offset parameters changes the dimensions of the matrix. With default values it reverts to 512x954 but with partition=512 and offset=64 it becomes 256x5080. But when I ArrayPlot the matrix from the default parameters it looks the same as the Spectrogram, this however doesn't happen for other values of the parameters. Is there a way to reconstruct the spectogram with Arrayplot for non-default values of partition and offset'?
CODE:
Export["sound.wav", Play[(2 + Cos[50 t])*Sin[2000*(1 + Round[2 t, 0.1])* t] , {t, 0, 1}]]
audio = Import["sound.wav"]
spec = Spectrogram[audio, ColorFunction -> GrayLevel]
ArrayPlot[1 - Reverse@spec[[1, 1, All, All, 1]]]
produces an ArrayPlot that looks like spec, but changing spec to spec = Spectrogram[audio, 2048, 32, BlackmanHarrisWindow] produces an ArrayPlot that does not look like spec.

SpectrogramusingArrayPlot? $\endgroup$Spectrogramdata and I use anArrayPlotto verify that they are the same. But short answer is yes. $\endgroup$Partexpression useSpectrogramArrayandTranspose. $\endgroup$SpectrogramArray. I know I can remove half of the array because the amplitudes are mirrored but then I'm stumped. I'm not that familiar with DSP or STFT but I just want the data to play with. IsSpectrogramArrayoutputted as Freq. x Time or some other dimensions? (I usedReon the whole array just so I could plot it to see what the data looked like. I don't know what the imaginary component is supposed to represent) $\endgroup$SpectrogramArray(see the Properties & Relations section) $\endgroup$