【问题标题】:MATLAB *.pcm to *.wav convertingMATLAB *.pcm 到 *.wav 转换
【发布时间】:2018-10-29 17:49:40
【问题描述】:

如何在 MATLAB-Code 中将 *.pcm 音频文件转换为 *.wav 音频文件? 我只需要插入一个标题,但它是如何工作的? 非常感谢!

【问题讨论】:

  • 一种方法是在 matlab 中使用 ffmpeg。 Can ffmpeg convert audio from raw PCM to WAV?
  • 谢谢,这个 ffmpeg 是外部脚本吗?
  • 你能试试 AUDIOREAD 读入文件,AUDIOWRITE 写出 WAV 文件吗?
  • Error using audioread (line 88) File could not be read due to an unexpected error. Reason: Unable to pop the top most message from the bus Error in readdata3 (line 49) [y,Fs] = audioread('15_10_2018_110044.pcm');
  • 我在 MATLAB 中找不到读取 pcm-File 的函数 - 无法使用“audioread” - 不支持文件类型 使用 fid = fopen ('15_10_2018_110044.pcm','r');是可能的,但我不知道,我该如何探索这个文件!你能帮帮我吗?

标签: matlab


【解决方案1】:

由于您没有指定它,我假设您使用的是 Matlab 2018b,所以我将向您指出有关 audioread 的最新文档:

如您所见,PCM 不在支持的格式列表中

您应该尝试查看是否可以对 AudioRecorder 进行参数化以将音频录制为支持列表中的其他格式:.wav、.ogg、.flac、.au、.aif、.aifc、mp3、. mp4...


不使用audioread 的另一种选择是像任何其他数据文件一样导入 pcm 数据,然后将其转换为 16 位 wav。我假设采样率为 44100 Hz。

fid = fopen('audioFile.pcm');                 % Open raw pcm file
audio = int16(fread(fid, Inf, 'int16'));      % Convert data into 16 bit
fclose(fid);                                  % Close pcm file
audiowrite('audioFile.wav', audio, 44100,'BitsPerSample', 16); % Write wav

【讨论】:

  • Hei Bebs,谢谢,我已经阅读了 MATLAB 文档。问题是使用 QT Creator 创建其中一种格式 - 例如 FLAC。你有它的示例代码吗,只需将 'setCodec' 从 PCM 更改为 FLAC 不起作用
  • @Fracture,那将是另一个问题,与 Matlab 无关,但与 QT Creator 无关。我建议你关闭这个问题,并写一个带有适当标题和标签的新问题:这将增加获得答案的机会。
猜你喜欢
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 2020-09-22
相关资源
最近更新 更多