3

这里的第一个问题,希望我确实问对了一部分。

我正在尝试编写一小段 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)
    }
4

0 回答 0