Can't use gpuArray with melSpectrogram

1 view (last 30 days)
Hi!
I'm using Matlab R2019a and i'm trying to make some mel spectrograms for a dataset. As I have to use many songs and my PC isn't the best, I thought about using my gpu in order to enhance the performance (I have a GeForce 940MX).
It goes something like this:
[audioIn,fs] = audioread(song_path);
audioIn = gpuArray(audioIn); % gpu
figure('visible', 'off')
melSpectrogram(audioIn,fs)
colorbar('off')
colormap(gray)
set(gca,'visible','off')
export_fig(final_melspect_path, '-png', '-transparent', '-r75');
But I ran into the following:
Error using cast
Unsupported data type for conversion:
'gpuArray'.
Error in melSpectrogram (line 75)
range=hz2mel(cast(params.FrequencyRange,class(x)));
Error in dataset_generator (line 28)
melSpectrogram(audioIn,fs)
I went to cast() and melSpectrogram() MATLAB pages and both says that they SUPPORT GPU ARRAYS.
It may have something to do with my version? Maybe something about the code?
Thank you in advance!

Accepted Answer

Edric Ellis
Edric Ellis on 7 May 2021
gpuArray support for melSpectrogram was added in R2020a. See the release notes.

More Answers (0)

Categories

Find more on Feature Extraction in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!