将 MP3 文件转换为 WAV

Posted

技术标签:

【中文标题】将 MP3 文件转换为 WAV【英文标题】:Converting MP3 file to WAV 【发布时间】:2016-11-10 00:40:42 【问题描述】:

是否可以在 R 中将文件从 .mp3 转换为 .wav 以便能够使用 R 播放歌曲?

【问题讨论】:

R 不是媒体播放器。您可以使用 R 与各种包进行频谱分析,例如 seewave 使用的 tuneR。 @MO'Connell 一些语音识别软件,例如 CMU Sphinx,只接受 .wav 文件作为输入。这就是我现在的情况。所以问题不仅在于滥用 R 作为媒体播放器(我也不会有问题)。 【参考方案1】:

是的(可能)。这是一个例子:

将 MP3 转换为 WAV 非常简单:

library(tuneR)
r <- readMP3("04 Trip to Paris.mp3")  ## MP3 file in working directory
writeWave(r,"tmp.wav",extensible=FALSE)

(要在 Linux 上安装 tuneR,请参阅 here)。

播放难度更大且取决于平台。 tuneR::play() 尝试使用外部播放器。

在 Windows 上它会尝试猜测:

如果在 Windows 下并且没有 给定播放器,“mplay32.exe”或“wmplayer.exe”(如果 前者在 Windows 7 下不存在)将被选为 默认。

在 MacOS 上,指定 "open" 可能有效。 在 Linux 上,指定 "play" 可能会起作用如果您安装了 sox 软件包 (sudo apt-get install sox)。

所以在我的 MacOS 系统上

tuneR::play("tmp.wav","open")

有效。

使用外部资源的替代方法是audio::play()

library(audio)
w <- load.wave("tmp.wav")
play(load.wave("tmp.wav"))

它适用于 MacOS。我不知道它是否适用于Windows。它在我的 Linux 系统上工作; audio 甚至不会安装,除非你先 sudo apt-get install portaudio19-dev,而且即使安装一次也效果不佳。

(当我在这里说“Linux”时,我指的是我测试过的唯一系统 Ubuntu 14.04。我列出的 sudo apt-get install ... 咒语可能适用于其他相当新的基于 Debian 的系统,但是...... ???)

【讨论】:

感谢您的回答!我会尝试使用 tuneR 转换它! 如何使用调谐器导出 mp3 文件。这可能吗? 我不能从文档中看出。 library(sos); findFn("write mp3") 也不起作用。也许发布一个新问题,详细说明您想做什么?

以上是关于将 MP3 文件转换为 WAV的主要内容,如果未能解决你的问题,请参考以下文章

PHP - 将 .wav 文件转换为 .mp3?

将大 mp3 文件转换为 wav 时间问题

如何使用 sox 将 wav 文件转换为 mp3 格式? [关闭]

sh 使用FFMPEG将WAV文件转换为MP3

Wav 到 MP3 转换

iPhone - 将 mp3 转换为 wav?