Недопустимая ошибка аргумента 'n' в readBin() при попытке загрузить большой файл (4 ГБ + аудиофайл)

Я пытаюсь загрузить сэмпл из моно-файла WAV 4 ГБ + (общая продолжительность файла 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")

Это происходит для каждого параметра "от" и "до" (5,10,15 и т. Д.).

Сначала я хочу сказать, что я переполняю тип данных n, который, как я полагаю, является длинным, но в действительности это не имеет смысла, потому что ошибка появляется, даже когда я пытаюсь загрузить 1-минутную выборку.

Любые идеи о том, что может быть причиной этого?

Примечание: оригинальный файл был в формате mp3 стерео. Он был разделен на 2 канала с помощью WavePad, и один из каналов был сохранен как WAV. Может быть проблема в конвертации?

1 ответ

Решение

Волновые файлы ограничены 4 ГБ аудиоданных, поскольку все поля размера в заголовке волны являются 32-разрядными. Смотрите http://en.wikipedia.org/wiki/WAV

Возможно, что WavePad использует формат W64, упомянутый в статье Википедии, но это readWave не.

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