[已答复] 关于spectrogram函数的报错

[复制链接]
丁宝之力 发表于 2021-6-4 01:16:41
info =audioinfo('E:\CloudMusic\bird&insect.mp3');%获取音频文件的信息
[audio,Fs] = audioread('E:\CloudMusic\bird&insect.mp3');%读取音频文件

audiolength = length(audio);%获取音频文件的数据长度
t = 1:1:audiolength;

figure(1),
plot(t,audio(1:audiolength));
xlabel('Time');
ylabel('Audio Signal');
%spectrogram(audio,128,120,128,Fs);
[S,F,T,P] = spectrogram(audio,128,120,128,Fs);
surf(T,F,10*log10(P),'edgecolor','none'); axis tight;
view(0,90);
xlabel('Time (Seconds)'); ylabel('Hz');




报错:
错误使用 pspectrogram>chkinput (line 148)
X must be a vector (either row or column).

出错 pspectrogram (line 37)
chkinput(x,'X');

出错 spectrogram (line 170)
  [varargout{1:nargout}] = pspectrogram({x},'spect',varargin{:});

出错 Music_Sel (line 13)
[S,F,T,P] = spectrogram(audio,128,120,128,Fs);


急急急!!恳请各位前辈指点!!!!

4 条回复


丁宝之力 发表于 2021-6-4 01:40:39
大作业快到时限了 帮帮孩子吧

20141303 发表于 2021-6-4 08:07:24
仅供参考,根据现有现有信息分析,audio可能是矩阵,而spectrogram函数需要输入向量,建议检查一下

丁宝之力 发表于 2021-6-4 15:57:08
20141303 发表于 2021-6-4 08:07
仅供参考,根据现有现有信息分析,audio可能是矩阵,而spectrogram函数需要输入向量,建议检查一下 ...

好的谢谢

lyqmath 发表于 2021-6-7 16:45:14


可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]



  1. clc; clear all; close all;
  2. load handel.mat
  3. filename = 'handel.wav';
  4. audiowrite(filename,y,Fs);
  5. [audio,Fs] = audioread('handel.wav');%读取音频文件
  6. audio=audio(:,1);
  7. audiolength = length(audio);%获取音频文件的数据长度
  8. t = 1:1:audiolength;
  9. figure(1),
  10. plot(t,audio(1:audiolength));
  11. xlabel('Time');
  12. ylabel('Audio Signal');
  13. %spectrogram(audio,128,120,128,Fs);
  14. figure(2),
  15. [S,F,T,P] = spectrogram(audio,128,120,128,Fs);
  16. surf(T,F,10*log10(P),'edgecolor','none'); axis tight;
  17. view(0,90);
  18. xlabel('Time (Seconds)'); ylabel('Hz');
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表