尝试加载大型(4GB+ 音频文件)时 readBin() 中的无效 'n' 参数错误

Invalid 'n' argument error in readBin() when trying to load a large (4GB+ audio file)

我正在尝试从 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 个通道,其中一个通道被保存为 WAV。也许转换是问题?

Wave 文件限制为 4GB 的音频数据,因为 wave header 中的所有大小字段都是 32 位。参见 http://en.wikipedia.org/wiki/WAV#Limitations

WavePad 可能使用维基百科文章中提到的 W64 格式,但 readWave 没有。