A draft whitepaper of my parameterization idea
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
My Latin isn't up to shape, but isn't sylvestris regularly associated with "wild" things in taxonomies? Felis sylvestris etc.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
Well, we can always call it Pudel.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
We can call it Sylvester, as in Sylvester and Tweety. I don't see what's wrong with Sylvestris, though. So far, this whole brainstorm has been rather wild.
Anyway, never mind that for now. What's the first thing that needs to happen to implement a visual editor for FAUST? I guess we need to decide what current code bases and libraries to use. I think FlowCanvas is an obvious choice for the interface.
Anyway, never mind that for now. What's the first thing that needs to happen to implement a visual editor for FAUST? I guess we need to decide what current code bases and libraries to use. I think FlowCanvas is an obvious choice for the interface.
Darren Landrum
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
Regarding the name: Something with Kern? Which I find brilliant since it combine the literary reference of Pudel and Faust with your desire for something "nuclear". But you're right, the name should be our least concern at the moment.
My proposed plan to start practical experimentation:
Agree with you on FlowCanvas, it fits the bill.
BTW, brainstorming is supposed to be wild. A big no-no is to start off a session with the words: "So, does anyone have any good ideas?" which will make everyone self-censor themselves. Brainstorming isn't about good or bad ideas, it's about ideas, period. So this IMHO has been a good one.
My proposed plan to start practical experimentation:
- Learn to code FAUST manually.
- Make it possible to compile FAUST into LV2.
- Manually code proof-of-concept synth in FAUST compiled as LV2.
- Create file format (XML-based) for the Visual Programming Editor ("VPE") to generate and parse and that the .dsp code will be generated from.
- Create the VPE to author the block diagrams (XML-file).
Agree with you on FlowCanvas, it fits the bill.
BTW, brainstorming is supposed to be wild. A big no-no is to start off a session with the words: "So, does anyone have any good ideas?" which will make everyone self-censor themselves. Brainstorming isn't about good or bad ideas, it's about ideas, period. So this IMHO has been a good one.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
I'm working on that one. I'm used to math functions and functional notation, so I'm actually finding the concept behind FAUST fairly easy to follow.dahnielson wrote:Learn to code FAUST manually.
This would involve making a new wrapper. I took a look at the various other wrappers included in FAUST, but I didn't try to analyze how they work. I'm sure the Grame guys would love for us to make an LV2 wrapper, though. Actually, we might want to make sure they aren't already working on one. I'll be joining their mailing list, so I can find out.Make it possible to compile FAUST into LV2.
If we can nail one and two, this one should be easy enough.Manually code proof-of-concept synth in FAUST compiled as LV2.
This is one place where my brain lets me down. I suppose our file format would operate in a similar way to Reaktor's .ens (ensemble) files. Well, I'm here to learn, after all.Create file format (XML-based) for the Visual Programming Editor ("VPE") to generate and parse and that the .dsp code will be generated from.
Hopefully, by the time I get through the first four, this one will be a lot easier.Create the VPE to author the block diagrams (XML-file).
Darren Landrum
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
I wonder how much of this we could do in Python? It won't be handling any of the real-time stuff, after all. Drawing networks, controlling compilers, dynamically loading compiled objects, drawing GUIs... Do we really need C++ for that?
Darren Landrum
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
Was thinking along the same lines myself.Consul wrote:I wonder how much of this we could do in Python? It won't be handling any of the real-time stuff, after all. Drawing networks, controlling compilers, dynamically loading compiled objects, drawing GUIs... Do we really need C++ for that?
http://xkcd.com/353/
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
Hehe. That guy always hits the nail on the head.dahnielson wrote:http://xkcd.com/353/
Anyway, one thing I really want to build in to the core functionality it the ability to oversample processing blocks. FAUST itself doesn't have the inherent ability to do that, but Omnibus could handle it by wrapping the block(s) to be oversampled around a nested for() loop with the needed interpolation and decimation filters.
That brings us to how our FAUST blocks are going to communicate with Omnibus. Because FAUST makes a class with a set of five functions, I'm assuming there's a way to call those functions from the outside world with the desired parameters. That way, we can use them with our "control signals as audio signals" paradigm, which FAUST actually already follows in its own way (every piece of data is a signal in FAUST).
Darren Landrum
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
Agree. We don't have to make vanilla LV2. We can stuff it with as much support code we need outside the FAUST code. From what I understand everything inside the FAUST using BDA need to be written in FAUST from scratch. (Seriously, I need to study FAUST more.)Consul wrote:Hehe. That guy always hits the nail on the head.dahnielson wrote:http://xkcd.com/353/
Anyway, one thing I really want to build in to the core functionality it the ability to oversample processing blocks. FAUST itself doesn't have the inherent ability to do that, but Omnibus could handle it by wrapping the block(s) to be oversampled around a nested for() loop with the needed interpolation and decimation filters.
That brings us to how our FAUST blocks are going to communicate with Omnibus. Because FAUST makes a class with a set of five functions, I'm assuming there's a way to call those functions from the outside world with the desired parameters. That way, we can use them with our "control signals as audio signals" paradigm, which FAUST actually already follows in its own way (every piece of data is a signal in FAUST).
PS. Randall Munroe was invited to speak at Google some time ago, think it's up on YouTube or Google Video somewhere. BTW, I enjoyed this eulogy to Gary Gygax previously this month.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
I've studied the output source code of FAUST, and it looks like it might embed its own inner loop, rather than being designed to be part of another, larger inner loop. I also can't figure out how to tweak any parameters (sliders, basically) externally other than with the generated GUI. I'm going to ask about these questions on the FAUST dev list, if you don't mind. Seeing as this conversation is public, I don't suppose it matters too much.
Darren Landrum