Documentation of the PADsynth synthesis algorithm
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4390 posts since 8 Mar, 2004 from Berlin, Germany
@paul:
i have just listened to the examples - very beautiful sounds indeed. but i wonder a little bit about, how reproducable they are - as you are stating, that a random phase should be applied to each frequency component. however, i hope to see this implemented as a VSTi soon.
i have just listened to the examples - very beautiful sounds indeed. but i wonder a little bit about, how reproducable they are - as you are stating, that a random phase should be applied to each frequency component. however, i hope to see this implemented as a VSTi soon.
-
- KVRist
- Topic Starter
- 219 posts since 23 May, 2004
Hi.
The overlap-add method is not appopriate here. The main reason is that the whole sample is computed at once.
I don't keep the PRNG seed in zynaddsubfx, because I think that is useless: the sounds are very similar, like for example, you ask an orchestra to play a note twice (it sounds only a bit different).
Paul
The "Apply changes" is simply a recomputation of the all samples. You need it, because changing the sample's parameters require you to recompute the whole sample.karmafx wrote:One thing that bothers me about the method though is the fact that you have to "apply changes" everytime you tweak something. I mean it would be much more user-friendly if the changes were applied in real-time. Could this perhaps be achieved using overlap/add? or does the large ifft preclude this ? Note however that I think the sound quality of the method is really, really good, so I'm being picky, I know
The overlap-add method is not appopriate here. The main reason is that the whole sample is computed at once.
The algorithm specifies that the phases should be random. But (as I am using in zynaddsubfx), you can use a pseudo-random number generator (like rand() ). If you really want exactely the same sample to be generated, you can keep the seed of the PRNG and reuse it.i have just listened to the examples - very beautiful sounds indeed. but i wonder a little bit about, how reproducable they are - as you are stating, that a random phase should be applied to each frequency component.
I don't keep the PRNG seed in zynaddsubfx, because I think that is useless: the sounds are very similar, like for example, you ask an orchestra to play a note twice (it sounds only a bit different).
Paul
My portfolio:
http://www.paulnasca.com
http://www.paulnasca.com
- KVRAF
- 1727 posts since 17 Jul, 2001 from Milan, Italy
WOW!!! incredble sounds and incredible documnetation. Din't understand everything and would need to learn C++ soon, but this is absolutely a must for a VST synht!!!
(ok, I'll start learning C++ now!!!)
(ok, I'll start learning C++ now!!!)
-
- KVRist
- Topic Starter
- 219 posts since 23 May, 2004
I started few weeks ago to write implementations of PADsynth in other languages, like Pascal or PRAAT scripting language. I will release them when I will finish/test them. Hope this will helps.autodafe wrote:WOW!!! incredble sounds and incredible documnetation. Din't understand everything and would need to learn C++ soon, but this is absolutely a must for a VST synht!!!
(ok, I'll start learning C++ now!!!)
P.S. Before learning C/C++ I programmed in Pascal. Before that, I programmed in Basic.
Paul
My portfolio:
http://www.paulnasca.com
http://www.paulnasca.com
- KVRAF
- 1727 posts since 17 Jul, 2001 from Milan, Italy
i larned the Basic when i was about 10 on MSX computers (i think it was called GW-BAsic or something similar. I also wrote avery simple video game back then
)...
now i can write something useful in Visual Basic and VB.NET.
i "undesrtand" something written in C#...unfortunately i never programmed in C or Cpp, but i am quite familiar with their concept (classes, OOP, pointers..) or at least I think I am...
BTW. Your work is incredible! i just recently doscovered ZynSubAddFX...wonderfulllllllllll !!!!
now i can write something useful in Visual Basic and VB.NET.
i "undesrtand" something written in C#...unfortunately i never programmed in C or Cpp, but i am quite familiar with their concept (classes, OOP, pointers..) or at least I think I am...
BTW. Your work is incredible! i just recently doscovered ZynSubAddFX...wonderfulllllllllll !!!!
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4390 posts since 8 Mar, 2004 from Berlin, Germany
having listened to the sounds and read the documentation i could not resist to do my own implementation right now. it is a quick (and maybe dirty) MatLab-implementation which was done this evening/night - it generates the wavetable and writes it into wave-file - ready to use within every sampler. less than 100 lines of code and yet so powerful. here it is:
http://www.braindoc.de/matlab/PadSynth.zip
...you can use it, if you have MatLab or some MatLab-clone like SciLab (free) available. now i'm wondering about good strategies to fill the Amplitudes-Of-The-Gaussians array (the A[]-array in the documentation) with interesting distributions. in my implemention there is one (commented) strategie for organ-like sounds. looking for further ideas...
http://www.braindoc.de/matlab/PadSynth.zip
...you can use it, if you have MatLab or some MatLab-clone like SciLab (free) available. now i'm wondering about good strategies to fill the Amplitudes-Of-The-Gaussians array (the A[]-array in the documentation) with interesting distributions. in my implemention there is one (commented) strategie for organ-like sounds. looking for further ideas...
-
- KVRist
- 53 posts since 9 Mar, 2005
Hi paulnasca,paulnasca wrote:I started few weeks ago to write implementations of PADsynth in other languages, like Pascal or PRAAT scripting language. I will release them when I will finish/test them. Hope this will helps.
- Thanks for your great time
- I'll wait for written in Pascal!
Regards,
midijor
-
- KVRer
- 21 posts since 8 Sep, 2005
Thanks for your efforts Paul:
I've been working on a Delphi implementation as a sort of back-burner project and would definitely be interested in the optimized code you used in ZASF.
skyduster
I've been working on a Delphi implementation as a sort of back-burner project and would definitely be interested in the optimized code you used in ZASF.
skyduster
-
- KVRist
- 53 posts since 9 Mar, 2005
Hi skyduster,skyduster wrote: I've been working on a Delphi implementation as a sort of back-burner project...
Nice sound for Delphi users!
Thanks for your efforts!
Regards,
midijor
-
- KVRist
- Topic Starter
- 219 posts since 23 May, 2004
Hi.
I have great news:
I found that another synthesizer has PADsynth algorithm implemented
.
The synth works on Linux.
Have a look here
Paul
I have great news:
I found that another synthesizer has PADsynth algorithm implemented
The synth works on Linux.
Have a look here
Paul
My portfolio:
http://www.paulnasca.com
http://www.paulnasca.com
-
- KVRAF
- 4738 posts since 20 Feb, 2004 from Gothenburg, Sweden
First time I actually listened to the sounds and looked at the algorithm.
So simple, yet so powerful. Kick-arse. Will try to implement it in SynthMaker sometime later on when I get some time left over for it
So simple, yet so powerful. Kick-arse. Will try to implement it in SynthMaker sometime later on when I get some time left over for it
Stefan H Singer
https://dropshotaudio.com/
https://dropshotaudio.com/
-
- KVRer
- 1 posts since 20 Jun, 2005
Hi, Paul,
I slowly learn all about synth music, but your software is really amazingly rich of preset sounds and parameters. Really giant ! My question is that I am not able to play the demos : Zynadd... is opening very well, but after this point, I don't know how or what to do to play the demos...
Can you help me ?
Thanks
Chordially
I slowly learn all about synth music, but your software is really amazingly rich of preset sounds and parameters. Really giant ! My question is that I am not able to play the demos : Zynadd... is opening very well, but after this point, I don't know how or what to do to play the demos...
Can you help me ?
Thanks
Chordially
-
- KVRAF
- 10815 posts since 26 Nov, 2004 from UK
-
- KVRian
- 940 posts since 11 Mar, 2001 from nyc
(patting myself on the back for finding this one) 
