ここでの最初の質問です。私が正しい質問をしたことを願っています。
「Music」フォルダー内のすべてのオーディオファイルの長さを持つベクトルを作成する短い R コードを作成しようとしています。i686-pc-linux-gnu (32 ビット) で RStudio 0.98.501 と R 3.0.3 を使用しています。tuneR パッケージを使用して、曲の長さに関する情報を抽出します。ここに問題があります: 最初の MP3 ファイルを正常にエクスポートしますが、2 番目の MP3 ファイルにエクスポートすると、「R セッションが中止されました。R で致命的なエラーが発生しました。セッションは終了します」というメッセージが表示されます。
Intel® Atom™ CPU N2800 @ 1.86GHz × 4、2 Gb メモリ、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)
}