在 Matlab 中绘制 PCM 输出(MP3 解码器)
Plot PCM output in Matlab (MP3 decoder)
我正在做一个 mp3 解码器项目,我已经构建了一个函数来解码 mp3 格式的歌曲:
function [PCM_output,frequency] = decode(mp3song)
在代码的末尾,我添加了几行来绘制 PCM 波形:
t=0:0.01:120;
plot(t,PCM_output);
title('PCM waveform');
但是显示错误:
Vectors must be the same lengths.
如何解决错误?另外,能否将解码后的歌曲输出为PCM格式?
附加问题:
我想比较 mp3 和 PCM 输出,如下图所示:
MP3 - Amplitude vs Time
为什么PCM有两个输出叠加在一起?是不是输出的时候左右声道的原因?
如果您尝试绘制声波,您只需要 t
向量的长度与 PCM_output
相同。因此,您需要
而不是 t=0:0.01:120
t=linspace(0,120,length(PCM_output(1,:)));
我正在做一个 mp3 解码器项目,我已经构建了一个函数来解码 mp3 格式的歌曲:
function [PCM_output,frequency] = decode(mp3song)
在代码的末尾,我添加了几行来绘制 PCM 波形:
t=0:0.01:120;
plot(t,PCM_output);
title('PCM waveform');
但是显示错误:
Vectors must be the same lengths.
如何解决错误?另外,能否将解码后的歌曲输出为PCM格式?
附加问题: 我想比较 mp3 和 PCM 输出,如下图所示: MP3 - Amplitude vs Time
为什么PCM有两个输出叠加在一起?是不是输出的时候左右声道的原因?
如果您尝试绘制声波,您只需要 t
向量的长度与 PCM_output
相同。因此,您需要
t=0:0.01:120
t=linspace(0,120,length(PCM_output(1,:)));