在matlab中读取和播放PCM音频

时间:2013-09-21 20:18:27

标签: matlab audio pcm

我有PCM原始音频文件,我想在matlab中阅读并播放它。我在matlab文档中搜索了一些内置函数但找不到任何函数。内置的matlab功能如audioread和声音与.pcm音频文件不兼容。那么有人可以就如何进行提出一些建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

Matlab doesn't have a build in function to import .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);