【问题标题】:Reading and playing back PCM audio in matlab在matlab中读取和播放PCM音频
【发布时间】:2013-09-27 01:06:35
【问题描述】:

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

【问题讨论】:

    标签: matlab audio pcm


    【解决方案1】:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多