2

4GB 以上のモノラル WAV ファイルからサンプルを読み込もうとしています (合計ファイル時間は 24 時間、15 分のスライスを読み込んでいます)。

library(tuneR)

so <-
  readWave(
    "file.wav", from = 1, to = 15, units = "minutes"
  )

これがトレースバックです Error in readBin(con, int, n = N, size = bytes, signed = (bytes != 1), : invalid 'n' argument 2 readBin(con, int, n = N, size = bytes, signed = (bytes != 1), endian = "little") 1 readWave(filePath, from = 1, to = 15, units = "minutes")

これは、「from」および「to」パラメータ (5、10、15 など) ごとに発生します。

私が最初に考えたのは、長いと思われる n のデータ型をオーバーフローしていることですが、1 分のサンプルをロードしようとしてもエラーが表示されるため、実際には意味がありません。

これを引き起こしている可能性のあるものについてのアイデアはありますか?

注: 元のファイルは mp3 ステレオでした。WavePad で 2 チャンネルに分割し、そのうちの 1 チャンネルを WAV として保存しました。多分変換が問題ですか?

4

1 に答える 1

1

Wave ヘッダーのすべてのサイズ フィールドは 32 ビットであるため、Wave ファイルのオーディオ データは 4GB に制限されています。http://en.wikipedia.org/wiki/WAV#Limitationsを参照してください。

WavePad がウィキペディアの記事に記載されている W64 形式を使用している可能性がありますが、そうでreadWaveはありません。

于 2015-06-01T23:48:22.867 に答える