Tau Suggestions

Should be fixed now.

1 Like

Almost. synth offers :sound_in and :sound_in_stereo as suggestions - they’ll need to be hidden instead…

They need to be fixed - web audio supports stereo input :slight_smile:

1 Like

I hope there will be tau support for eval and eval_file (or functional equivalents). I rely heavily on them in my library, which I’d like to port to tau once it stabilizes.

What would this mean for the web?

You’re the expert here, @samaaron, but it seems to me there’s no difference between code typed in a buffer and code stored in a variable and code stored in a file. Won’t they all play in the same sandbox?

It just opens up some flexibility to allow user configuration through params without alot of nested conditions. So, say, if there were four params, with three options each, the number of permutations would be 3^4, but when processing linearly it would be 12. It’s easier to cook the code linearly, in a string var, then run it when it’s properly cooked.

Or at least that’s how my brain is wired. :slight_smile:

Sure but the web doesn’t have easy access to your file system (without jumping through some hoops and explicitly adding directories that are allowed to store code)…

Also, this new language is fully compiled - there is no equivalent of eval - you have to compile first to byte code, and then run that byte code in the vm-tree. The vm-tree doesn’t have access to the compiler, so it would have to somehow round trip the code back out of the vm-tree, back to the browser, run the compiler, then inject the newly compiled code to the vm-tree. Also, the vm-tree is very limited in how much memory it has for a variable (this is an essential part of the new design) so it’s also likely that large programs won’t fit into a variable.

All that said, Sonic Pi isn’t going away any time soon…

Bummer.

Will there be support for creating object-oriented code, to encapsulate complexity?

Not planned at all. Sonic Pi doesn’t support this either though…

What kind of complexity do you need to manage?

Oh, things like dynamically turning on and off effects, arguments to commands, etc.

I’m sure there will be a way to do things to manage it. I’m just going to have to refactor everything, which is a huge job.

Still, looking forward to the benefits of tau.

Can you give me code examples of what you’d like to see here?

The most ambitious method is arrange. That should give you an idea of what I’m up to. But also lfo, env, trancegate, etc. I have some stuff in testing involving granular synthesis, whistle sounds based on resonant filters and white noise, and also multisample support a la decent/kontakt, but they’re not ready for prime time quite yet.