Open noemievoss opened 6 years ago
The question you didn't answer is what exactly the expected behaviour actually is. There are multiple possibilities how the returned array should look like. I tend towards returning a 3D array with channels as last dimension, i.e. [time, freq, channel]. Is this what you are looking for?
If you simply want to calculate a STFT (or anything which needs a STFT) on a stereo (or multichannel) signal, passing num_channels=1
(down-mixing all channels to mono) is probably what you want.
Expected behaviour
STFT function should work with multi-channel songs.
Actual behaviour
At the moment, STFT doesn't support multi-channel songs. An example of error logs:
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/madmom/audio/stft.py", line 325, in new circular_shift=circular_shift) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/madmom/audio/stft.py", line 70, in stft 'shape %s.' % (type(frames), frames.shape)) ValueError: frames must be a 2D array or iterable, got <class 'madmom.audio.signal.FramedSignal'> with shape (21102, 2048, 2).
Steps needed to reproduce the behaviour
Information about installed software
Please provide some information about installed software.