问题描述
我想将8 GB(持续24小时)WAVE文件拆分为较小的WAVE文件(持续1小时)。我大约有800个大文件要分割,因此无法手动完成。
我尝试使用以下软件包:tuneR,seewave和phonTools。下面是我在R中的脚本片段:
example1=readWave("example.wav",from=0,to=1,units= "hours")
savewav(example1,f=48000)
example2=readWave("example.wav",from=22,to=23,units= "hours")
savewav(example2,f=48000)
当我运行示例1时,一切都是正确的。我收到了一个小时的持久WAVE文件。 问题是稍后拆分8 GB文件,例如example2。我在控制台中收到注释:readBin(con,int,n = N,size = bytes,有符号=(bytes!= 1),':无效的'n'参数。
R可能与此文件的大小有关,该问题太大,因为WAVE限制为4GB。我确信此文件将包含所有24小时的录音,因为我在音频软件Audacity中将文件从WAVE更改为FLACK,并且所有数据都已保存在其中。
解决方法
使用ffmpeg:
ffmpeg -i example.wav -f segment -segment_time 3600 -c copy out%03d.wav
参考:https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment