teragonaudio / MrsWatson

A command-line VST plugin host
http://teragonaudio.com/MrsWatson.html
Other
483 stars 100 forks source link

Need support for a file type that supports > 4GB files #231

Open dts350z opened 8 years ago

dts350z commented 8 years ago

Such as .w64

For 6 ch. 24bit audio at high sample rates, such as 174.6 KHz, it easy to overrun the 4GB file limitation in .wav, etc.

Also still waiting for a fix for the number of output samples not equaling the number of input samples.

Thanks

nikreiman commented 8 years ago

Hmm, I just ran a test on this and got some strange results, but it does seem to work. Console log below:

$> /c/Users/nre/Code/teragon/MrsWatson/build/main/Debug/mrswatson64.exe -i looooong.wav -o ouuuut.wav -p mrs_passthru
- 00000000 000000 MrsWatson version 0.9.8 initialized, build 20160706
- 00000000 000000 Setting 2 channels
- 00000000 000000 Setting sample rate to 192000Hz
W 00000000 000000 Location 'C:\Program Files\VstPlugIns' is not a valid directory
W 00000000 000000 Location 'C:\Program Files\Common Files\VstPlugIns' is not a valid directory
W 00000000 000000 Location 'C:\Program Files\Steinberg\VstPlugIns' is not a valid directory
- 00000000 000000 Plugin 'mrs_passthru' is an internal plugin
- 00000000 000109 Starting processing input source
- 166724096 012609 Total processing time 12sec, approximate breakdown:
- 166724096 012609   MrsWatson Initialization: 102ms (0.8%)
- 166724096 012609   MrsWatson Input Source: 7sec (59.0%)
- 166724096 012609   MrsWatson Output Source: 4sec (37.8%)
- 166724096 012609   mrs_passthru Audio Processing: 74ms (0.6%)
- 166724096 012609   mrs_passthru MIDI Processing: 0ms (0.0%)
- 166724096 012609 Read 83361792 frames from looooong.wav
- 166724096 012609 Wrote 166724096 frames to ouuuut.wav
- 166724096 012609 Shutting down
- 166724096 012609 Closing plugin 'mrs_passthru'
- 166724096 012609 Goodbye!
$> du -hs *.wav
37G     looooong.wav
637M    ouuuut.wav
$> file ouuuut.wav
ouuuut.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 192000 Hz
$> file looooong.wav
looooong.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 192000 Hz

As you can see, the output file is not nearly as large as the input file. However, both files are the same duration (I verified this in Ocenaudio), and play back without any problems. Note that I was using the 64-bit builds on Win64; I haven't tested other platforms.

Ultimately, these type of problems are likely to be caused by bugs in the audiofile framework which MW uses for writing files. Should that be proven to be the case, I will report these bugs to that developer and follow-up on them.