Сбой R при использовании цикла for с пакетом tuneR для получения длины аудиофайлов

Первый вопрос здесь, надеюсь, я правильно спросил.

Я пытаюсь написать небольшой фрагмент кода R, который создаст вектор с длинами всех аудиофайлов в моей папке "Музыка". Я использую RStudio 0.98.501 с R 3.0.3 на i686-pc-linux-gnu (32-разрядная версия). Я использую пакет tuneR для извлечения информации о продолжительности песен. Вот проблема: я экспортирую первый MP3-файл нормально, но когда я делаю это во второй MP3-файл, он выдает "R-сеанс прерван, R обнаружил фатальную ошибку, сеанс будет прерван".

Я работаю над процессором Intel® Atom™ N2800 @ 1,86 ГГц × 4 с 2 Гб памяти с Ubuntu 13.10.

Я поместил свой код ниже, просто измените каталог на тот, где находится ваша папка Music.

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

0 ответов

Другие вопросы по тегам