grz0zrg / fsynth

Web-based and pixels-based collaborative synthesizer
https://www.fsynth.com
BSD 2-Clause "Simplified" License
206 stars 14 forks source link

modeling synth #14

Open Reaper10 opened 4 years ago

Reaper10 commented 4 years ago

I dont if this the right place to ask about this but, when comes to the fragment synth I see a lot of poetical to make a lot audio related stuff out of it. My questions has to do modeling synth engines.

Bowling instrument: is there bow directions code is there bow presser code

Plucked string: is there code that can make it sound like you hit the strings with the bowl

hit strings is there code to simulate a hammer hitting the string

instrument bodies is there code that can help design the body shape, body size and the body materials the body is made of

Here is video of another modeling synth that may help more with buildering more in the modeling synth engines. https://www.youtube.com/watch?v=vUz3WEUJuQs

grz0zrg commented 4 years ago

Right now there is no such things with the default instruments, most of them have few parameters because there is some limitation on the number of mapped parameters that the synths have unless some kind of user mapping is implemented.

You could probably model some of that to some extent with the existing instruments but there is no direct solution to this.

Also, fsynth does not really allow you to build instruments unless you use the Faust source or you are willing to build one with the supported synthesis type (i have built some crude additive synthesis ones for example), fsynth primary purpose is to let you control existing instruments from images data in real-time.

If you use the Faust source any physical modeling synths become possible, you can see all the possibilities of Faust for physical modeling here : https://faustlibraries.grame.fr/libs/physmodels/

So you could probably build multiple instruments or perhaps a single instrument with all the physical modeling features you want in Faust, map the parameters you need to control and load it into the synth engine. You can use one from Faust example as a basis, i have used some Faust flute models code with slight modification to map its parameters to the sound engine and it worked.

Again, this is more related to the synth engine that this project use : https://github.com/grz0zrg/fas