1

我有 PCM 原始音频文件,我想在 matlab 中读取它并播放它。我在 matlab 文档中搜索了一些内置函数,但没有找到。此外,诸如 audioread 和 sound 之类的内置 matlab 函数与 .pcm 音频文件不兼容。那么有人可以就如何继续提出一些建议吗?谢谢!

4

1 回答 1

1

Matlab 没有内置函数来导入 .pcm

有时指定为“原始”的.pcm文件通常不包含任何信息,因此它基本上只是二进制文件中的音频样本。因此,您可能没有以下详细信息:

  • 采样率(采样频率)
  • 编码信息(例如 16 位、32 位、有符号、无符号...)

你需要通过其他方式来获得它。一旦你得到那个信息。你可以做:

%% Values not included in the file, needed to be known
%% I took 44100 and 'int16' as example
fs = 44100
precision = 'int16'
%%

fid = fopen('audioFile.pcm');               % Open raw pcm file
audio = int16(fread(fid, Inf, precision));  % Convert data to 16 bit
fclose(fid);

您的数据将存储在audio.

您现在可以使用内置功能audioplayer 播放它:

audioplayer(audio, fs);
于 2018-10-31T10:40:57.433 回答