[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] soundfile size advice



Hiho,


On Friday 08 May 2009 15:35:54 Karsten Gebbert wrote:
> nescivi said :
> > On Thursday 07 May 2009 22:52:52 Karsten Gebbert wrote:
> > > Hi All,
> > >
> > > me and a friend have been wondering what file format to use when
> > > reading/writing large multichannel soundfiles ( >= 4G the limit of what
> > > "WAV" can handle). I saw that libsndfile does read/write "W64" which
> > > theoretically does what I want, but when trying to cue a 8G/16 channel
> > > file it just tells me it can't open it. Any recommendations for a
> > > scenario like this?
> >
> > Can you post the exact error message you get in SC?
>
> sure:
>
> b = Buffer.cueSoundFile(s,"/home/krgn/16ch_sines.w64",0,16)
>
> "File '/home/krgn/16ch_sines.w64' could not be opened."


hmm... not very informative...


> I did some more test yesterday to eliminate certain factors in the
> process: first, I made the above mentioned soundfile in SC with the
> following code:
>
> //-------------------------------------------------------------------
> n = 16;
>
> o = ServerOptions.new.numOutputBusChannels = 16;
>
> SynthDef(\sine,{
> arg out=0, gate=1, amp=0.5, freq=440,
> attack=0, decay=1.0, sustain=0.3, release=1.4;
> Out.ar(out,
> SinOsc.ar(freq.dup,0,
> EnvGen.ar(
> Env.adsr(attack,decay,sustain,release,curve:-8),
> gate:gate,levelScale:amp,doneAction:2)))
> }).store;
>
> Ppar(
> Array.fill(8,{
>
> | i |
>
> Pbind(
> \instrument,\sine,
> \delta,[0.25,0.5,1,2].choose,
> \scale,Scale.dorian,
> \degree,Prand([0,3,6,9,\rest],inf),
> \ctranspose,[24,-12,0,12,24].choose,
> \db,-30,
> \out,i*2)
> })).render("/home/krgn/16ch_sines.wav",60 *
> 60,44100,"WAV","int16",o);


Why is the format "WAV" here and not W64? That seems inconsistent with the next code...


sincerely,
Marije


> //-------------------------------------------------------------------
>
> The rendered file is 4.8G big. sndfile-info says the following about it:
>
> ~$ sndfile-info 16ch_sines.w64
>
> Version : libsndfile-1.0.18
>
> ========================================
> File : 16ch_sines.w64
> Length : 5080322160
> riff : 5080322160
> wave
> fmt : 48
> Format : 0x1 => WAVE_FORMAT_PCM
> Channels : 16
> Sample Rate : 44100
> Block Align : 32
> Bit Width : 16
> Bytes/sec : 1411200
> data : 5080322072
>
> ----------------------------------------
> Sample Rate : 44100
> Frames : 158760064
> Channels : 16
> Format : 0x000B0002
> Sections : 1
> Seekable : TRUE
> Duration : 01:00:00.001
>
>
> It should certainly be possible to read this file in SC, since SC also
> produced it :). When I reduce the render to 60 seconds, the file works
> without problems.
>
> Any ideas?
>
> Best,
> Karsten