Quilcom SIM-GUZHENG: Oh pluck it!
Posted: Thu Aug 25, 2022 1:22 pm
Hello playmates!
Yes, another in my SIM series of synthesiser versions of acoustic instruments. I’d never heard of a Guzheng until tulamide linked an amazing video, and I was immediately fascinated. This zither-like instrument is long, with bridges along the top plate part way along the strings. This means a player can press on any string behind the bridge to provide a pitch shift and/or vibrato. I won’t go into any more detail about this ancient Chinese instrument because it’s in the user guide and background info.
From a schematic point of view you may be interested in my solution. The real instrument is polyphonic of course, but I chose to make each string’s sound generator in mono (blue). That means 24 mono synthesisers free-running all the time. In this case the resting CPU is higher than you’d see for a regular poly synth (even though I made full use of SSE mono4) BUT when you play fast and wide glissandos there’s very little increase. In order to avoid note-stealing causing sounds to terminate early you would need a limit of maybe 96 voices for good glissando performance in a regular poly system. I tried this in my Quilcom PMS and a couple of glissandos maxed out the CPU. I also tested Kong Audio’s free Guzheng (version 1) which uses samples but I could easily make its CPU go higher than mine!
Another disadvantage of using poly is note-bending, which is important for this type of instrument. The scheme I adopted for live playing is to only bend a note when it’s held down. But in a poly system you could have the same not played twice rapidly and get 2 voice channels assigned, one of which wouldn’t bend.
Another thing worth mentioning is that after testing various synthesiser techniques I found that using a tapped waveguide with appropriate pulse excitation for the pluck easily gave the best results. Tapped waveguides use 4 delays and in a poly system each 4 new voice channels would have to assign new memory for the delays, so welcome to Click City! In blue mono4 the memory is assigned at start-up and never changes.
A further advantage is the free-running waveguide will sound slightly different for each pluck, if it’s currently sounding, because the same voice is used and the timing of the pluck will excite the waveguide relative to its state at the moment the pluck arrives (just like on a real string). This method might have application in other percussive synths, so you don’t have to set say 4 voices to avoid rapid note-stealing and thus clicks.
I have a puzzlement that maybe Martin could help with. The musical tuning of the waveguide isn’t accurate and I don’t know why. It was a simple matter to make a per-note or group correction to get the pitches right, but a more scientific solution would be welcome, for possible future projects.
Anyway…
Download the zip here:
https://www.dropbox.com/s/h7wrplr34saug ... 0.zip?dl=0
Here’s my video:
https://youtu.be/SgvpzObTPEg
Yes, another in my SIM series of synthesiser versions of acoustic instruments. I’d never heard of a Guzheng until tulamide linked an amazing video, and I was immediately fascinated. This zither-like instrument is long, with bridges along the top plate part way along the strings. This means a player can press on any string behind the bridge to provide a pitch shift and/or vibrato. I won’t go into any more detail about this ancient Chinese instrument because it’s in the user guide and background info.
From a schematic point of view you may be interested in my solution. The real instrument is polyphonic of course, but I chose to make each string’s sound generator in mono (blue). That means 24 mono synthesisers free-running all the time. In this case the resting CPU is higher than you’d see for a regular poly synth (even though I made full use of SSE mono4) BUT when you play fast and wide glissandos there’s very little increase. In order to avoid note-stealing causing sounds to terminate early you would need a limit of maybe 96 voices for good glissando performance in a regular poly system. I tried this in my Quilcom PMS and a couple of glissandos maxed out the CPU. I also tested Kong Audio’s free Guzheng (version 1) which uses samples but I could easily make its CPU go higher than mine!
Another disadvantage of using poly is note-bending, which is important for this type of instrument. The scheme I adopted for live playing is to only bend a note when it’s held down. But in a poly system you could have the same not played twice rapidly and get 2 voice channels assigned, one of which wouldn’t bend.
Another thing worth mentioning is that after testing various synthesiser techniques I found that using a tapped waveguide with appropriate pulse excitation for the pluck easily gave the best results. Tapped waveguides use 4 delays and in a poly system each 4 new voice channels would have to assign new memory for the delays, so welcome to Click City! In blue mono4 the memory is assigned at start-up and never changes.
A further advantage is the free-running waveguide will sound slightly different for each pluck, if it’s currently sounding, because the same voice is used and the timing of the pluck will excite the waveguide relative to its state at the moment the pluck arrives (just like on a real string). This method might have application in other percussive synths, so you don’t have to set say 4 voices to avoid rapid note-stealing and thus clicks.
I have a puzzlement that maybe Martin could help with. The musical tuning of the waveguide isn’t accurate and I don’t know why. It was a simple matter to make a per-note or group correction to get the pitches right, but a more scientific solution would be welcome, for possible future projects.
Anyway…
Download the zip here:
https://www.dropbox.com/s/h7wrplr34saug ... 0.zip?dl=0
Here’s my video:
https://youtu.be/SgvpzObTPEg