BelaPlatform / supercollider

an environment and programming language for real time audio synthesis and algorithmic composition
GNU General Public License v3.0
14 stars 8 forks source link

Out.ar and SoundIn.ar ranges are inconsistent #36

Closed x37v closed 7 years ago

x37v commented 7 years ago

It looks like Out.ar expects -1..1 and outputs that mapped to 0..5v on the bela analog out or the full range as expected if you have the audio expander caplet, but SoundIn.ar maps the 0..4v bela analog input or full range of the audio expander caplet, to 0..1 in software should probably pick one or another.

I'd suggest Out and SoundIn use -1..1 and then let AnalogIn/AnalogOut use the 0..1 mapping.

I'm running scsynth 3.8dev and sclang 3.8dev from the latest bela image Bela image, v0.2.0b_stable, 15 December 2016

I posted about this in #24 as well as they're related.

giuliomoro commented 7 years ago

This should use the Bela core feature of the "audio expander capelet". This would allow to achieve -1 : 1 scaling when analogs are treated as audio and 0:1 scaling when thy are treated as analog (through the ugens). This is switchable per-channel. However, each channel could only be treated as "analog" OR "audio". That is, if you set a channel to "audio", it would be scaled -1 to 1 regardless of whether you access it from In/Out or AnalogIn/AnalogOut. In practice, I see no reason why you would want to do that, so this seems like a good plan to me.