这里的第一个问题,希望我确实问对了一部分。
我正在尝试编写一小段 R 代码,它将在我的“音乐”文件夹中创建一个包含所有音频文件长度的向量。我在 i686-pc-linux-gnu(32 位)上使用 RStudio 0.98.501 和 R 3.0.3。我使用 tuneR 包来提取有关歌曲长度的信息。这里有一个问题:我很好地导出了第一个 MP3 文件,但是当我将它导出到第二个 MP3 时,它给了我“R 会话中止,R 遇到致命错误,会话将被终止”。
我正在开发 Intel® Atom™ CPU N2800 @ 1.86GHz × 4,2 Gb 内存和 Ubuntu 13.10。
我把我的代码放在下面,只需更改音乐文件夹所在的目录即可。
library(tuneR)
# Set your working directory here
ddpath <- "/home/daniel/"
wdpath <- ddpath
setwd(wdpath)
# Create a character vector with all filenames
filenames <- list.files("Music", pattern="*.mp3",
full.names=TRUE, recursive=TRUE)
# How many audio files do we have?
numTracks <- length(filenames)
# Vector to store lengths
lengthVector <- numeric(0)
# Here problem arises
for (i in 1:numTracks){
numWave <- readMP3(filenames[i])
lengthSec <- length(numWave@left)/numWave@samp.rate
lengthVector <- c(lengthVector, lengthSec)
rm(numWave)
}