matlab中PCM音频的读取与回放

matlab中PCM音频的读取与回放,matlab,audio,pcm,Matlab,Audio,Pcm,我有PCM原始音频文件,我想在matlab中阅读并播放它。我在matlab文档中搜索了一些内置函数,但没有找到。此外,内置的matlab函数(如audioread和sound)与.pcm音频文件不兼容。那么,有人能就如何进行提出一些建议吗?谢谢大家! .pcm文件,有时指定为“raw”,通常不包含任何信息,因此它基本上只是二进制文件中的音频样本。因此,您可能没有以下详细信息: 采样率(采样频率) 编码信息(例如16位、32位、有符号、无符号…) 你需要用其他方法来做这个。一旦你得到信息。你

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

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

  • 采样率(采样频率)
  • 编码信息(例如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);
您的数据将存储在
音频中

现在,您可以使用内置功能进行播放:

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

  • 采样率(采样频率)
  • 编码信息(例如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);
您的数据将存储在
音频中

现在,您可以使用内置功能进行播放: