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

Re: [sc-users] bit depth selection



hi,

(since noone answered), i'm not 100% sure but pretty sure everything inside core audio runs at 32bit floating point, including scsynth:

http://developer.apple.com/audio/coreaudio.html
(scroll down to "Audio Hardware Abstraction Layer")

24bit-integer just specifies the resolution of the AD/DA converters in your audio interface. are you sure you want them to perform on 16bit instead? this doesn't safe any bandwidth it just degrades the Signal-to-Noise ratio. It doesn't affect the audio applications at all. maybe you mix it up with the resolutions of soundfiles read and written? those can be any bit depths of course. if you want to force your output to be quantisized to 16bit, you could either "bounce" your supercollider patches to a soundfile at 16bit and play that back, or insert a quantisizer in your main outputs:

n = 2;	// number of channels

y = { SinOsc.ar( LinExp.ar( LFTri.ar( 0.1, mul: 0.5, add: 0.5 ), 0, 1, 30, 4000 ), mul: 0.5 ).dup( n )}.play;

(
SynthDef( "linQuant" ++ n, { arg bus = 0, numBits = 16;
	var range;
range = 2.pow( numBits - 1 ); // actually positives should go to 2^ (n-1)-1 ...
	ReplaceOut.ar( bus, (In.ar( bus, n ) * range).trunc / range );
}).send( s );
)

x = Synth.tail( s, "linQuant" ++ n );
x.set( \numBits, 8 ); // honestly i can't hear any difference on my macbook pro internal speakers ;-)))))))
x.set( \numBits, 6 );	// aaah, sounds better
x.set( \numBits, 4 );
x.set( \numBits, 2 );
x.set( \numBits, 24 );

Bus.new.scope; // default server must be internal, or use jscope;

y.free;
x.free;


note that due to the floating point nature other rounding artifacts are introduced this way.

ciao, -sciss-


Am 26.12.2006 um 17:15 schrieb wbrent@xxxxxxxx:

hi all,

i'm using a MOTU 896, and it seems to be impossible to change the bit
depth from its default: 24. with other interfaces, i have always changed
this in Audio MIDI Setup, but there's only one option on the drop down
list in this case. the MOTU Audio Setup interface doesn't have any way to
change bit depth either, and i'm using the most recent driver.

is there any way to set this within SC, through ServerOptions or
something? i see nothing in the helpfile, and i'd like to be operating at
16 bits most of the time.


happy holidays...