| Author |
Message |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
|
|
Back to top
|
|
 |
Peake

Joined: Jun 29, 2007 Posts: 1095 Location: Loss Angeles
Audio files: 3
|
Posted: Tue May 20, 2008 6:43 pm Post subject:
|
 |
|
I've been to your site and read up and listened with great interest. Some excellent work, sir!
Have you investigated using three lines with cross-feedback/individual filtration? Allpass stages in the feedback? |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Wed May 21, 2008 5:12 am Post subject:
|
 |
|
| Peake wrote: | | I've been to your site and read up and listened with great interest. Some excellent work, sir! |
Thank you, it's been quite a learning experience for me.
| Peake wrote: | | Have you investigated using three lines with cross-feedback/individual filtration? Allpass stages in the feedback? |
I'm not sure what this means - can you expand a bit? "three lines with cross-feedback/individual filtration"? The only feedback I use is in the SVFs, how would allpass filters work in this regard?
I think filter per NCO is possible, the current filter design executes in 4 clocks. There are 24 clocks available per voice. There's plenty of RAM still available, but time is getting tight, not so much running out of clocks, but routing and logic time. Pipelining keeps the logic time lower, but can increase the total number of clocks used. I had to be clever about that to keep the total clocks under the maximum of 24. The SVF needs a high sample rate.
In fact, an obvious evolution would be to create 32 separate NCO-NCF-NCA chains. They could still be grouped by fours per voice , but this would allow more complex changes in the sound over time. Actually I'm sure other groupings are possible but would require modifications to the MIDI controller and I have been thinking about writing a 16 voice poly MIDI controller for some time. Perhaps even 32 voices. It's quite possible to make the controller do 32, I just don't know if 32 synth voices of any serious complexity can be implemented in the FPGA I'm using. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
Peake

Joined: Jun 29, 2007 Posts: 1095 Location: Loss Angeles
Audio files: 3
|
Posted: Wed May 21, 2008 7:38 am Post subject:
|
 |
|
| The most important thing in my experience is to have two or three separate delay lines whose feedback become common at some point. Then to add static allpass filters into the feedback loops. It's been 12 years since I've worked with Karplus-Strong so bear with me. |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Wed May 21, 2008 7:46 am Post subject:
|
 |
|
| Peake wrote: | | The most important thing in my experience is to have two or three separate delay lines whose feedback become common at some point. Then to add static allpass filters into the feedback loops. It's been 12 years since I've worked with Karplus-Strong so bear with me. |
But this isn't a Karplus-Strong synth It's an LA/FM job.
Still, I'm curious about this point as it might refer to my PolyDaWG/8 - also a polysynth, but is based on K-S. I had only delved into the basic waveguide technique for it. To provide a movable "pickup", I employ a digital comb filter which uses a delay line. It's length controls the "pickup" position. The waveguide loop I use is very simple, just the waveguide into a single stage IIR variable cutoff lowpass filter.
Do you have technical info or pointers/URLs to technical info about this? _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
Peake

Joined: Jun 29, 2007 Posts: 1095 Location: Loss Angeles
Audio files: 3
|
Posted: Wed May 21, 2008 8:10 am Post subject:
|
 |
|
I'd done a little work for a company using this tech and am too close to breaking NDA to continue. I'm certain that it's on the web, as I'd described.
You're doing great work. I enjoyed your solution to "microphone" placement. |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Wed May 21, 2008 8:16 am Post subject:
|
 |
|
| Peake wrote: | I'd done a little work for a company using this tech and am too close to breaking NDA to continue. I'm certain that it's on the web, as I'd described.
You're doing great work. I enjoyed your solution to "microphone" placement. |
I'll have a look around, but honestly, I had read everything I could find on K-S when I started that and I found no information about allpass filters regarding K-S.
The pickup technique using a comb filter is described on several K-S information websites. It may even be a part of the whole K-S package, I can't remember. The original K-S system used two delay lines for the waveguide. That system used taps on both waveguides to provide a movable pickup. Then math was used to simplify the dual waveguide system to a single waveguide plus comb filter to do exactly the same work, but using less RAM. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Wed May 21, 2008 9:37 am Post subject:
|
 |
|
Ok, I see the references to allpass. This is similar to the use of Lagrange interpolators, it provides a fractional delay that allows arbitrary pitches.
With my K-S synth, I did something different, some may even say wrong headed. I calculated the pitch error using _integral_ delay lengths and found that I could achieve a pitch accuracy of +/- 5 cents or better over 3.5 octaves if I used delay lines of 2048 maximum length. A ROM contains the lengths for each pitch.
Yes, this does restrict the range of the instrument, but many natural instruments have restricted range. Since I got more than 3 octaves, I was happy. The technique I used allowed for a much simpler design - it works and is musically useful.
I used fractional delay lines when I experimented with the phLUTe, but I wasn't able to eliminate or substantially reduce the transient that occurs at pitch change. Portamento actually made this worse.
At some point, I will probably revisit the PolyDaWG, using smaller waveguides and Lagrange interpolators, I may be able to make a 16 string synth in the same 16K words of RAM. It would be nice to have a larger harp. Seems I need to get busy on a 16 voice MIDI controller... It looks as if the state machine might be fast enough to do it, might be fast enough. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
Peake

Joined: Jun 29, 2007 Posts: 1095 Location: Loss Angeles
Audio files: 3
|
Posted: Wed May 21, 2008 1:37 pm Post subject:
|
 |
|
Allpass filtration in the feed back will cause the harmonics to begin moving. The more stages, the more movement. Enough stages to present the effect of a cello being bowed will also severely impair pitch tracking...
There should be plenty of information on the web regarding the cross-feedback tip I'd mentioned. It should be easy enough to guesstimate and experiment with, at minimum. |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Fri May 30, 2008 11:12 am Post subject:
|
 |
|
A new version (l) is available, see the GateManPoly link in my sig. Several fixes and improvements are included. In the pub folder of the zip of the source is a description of the MIDI system exclusive message values used to program the synth's "patch". A version history is on the page near the bottom. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Thu Jun 05, 2008 8:34 am Post subject:
|
 |
|
I've updated the GateManPoly synth project files to contain a GUI patch editor.
If interested, see:
http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.GateManPoly
The whole project file is in the zip file, i.e., if you download and install Microsoft VB2008 Express Edition (free), you can open and modify the patch editor if you like or you can compile and run it. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
|
|
Back to top
|
|
 |
Skrog Productions

Joined: Jan 07, 2009 Posts: 588 Location: Scottish Borders
Audio files: 69
|
Posted: Thu Dec 09, 2010 11:00 am Post subject:
|
 |
|
very interesting Scott, the new mp3 sounds really like a patch from my Oberheim Matrix 6R, exellent , i like it .
Dave. _________________ www.myspace.com/skrogproductions |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Thu Dec 09, 2010 11:37 am Post subject:
|
 |
|
Thanks Dave!
This isn't a new idea by any means. I have a Roland D-110 which has a pitch envelope available to each "partial". I've always wanted to add one to GateManPoly since it was modelled loosely on that synth.
I should have described the patch too -
Each of the 4 NCOs is detuned by it's own ADSR, 2 of the NCOs have wider pitch detune than the other two. Each set of 2 NCOs have ADSR output which progresses in the opposite direction, i.e., one tunes negatively, the other positively.
I've added hardware to allow switching between slider tuning and ADSR tuning and on this patch the difference is more than subtle, without the ADSR detune, the patch is lackluster and relatively lifeless. There is a small amount of detune added by a "noise LFO", a noise source fed to a filter with a very low Fc.
I'll attach a sample that shows this. The first note is without the ADSR detune, the second is with ADSR detuning enabled.
| Description: |
| Sample of GateManPoly without ADSR detune and with ADSR detune. |
|
 Download |
| Filename: |
GateManPoly_20101209.mp3 |
| Filesize: |
562.11 KB |
| Downloaded: |
131 Time(s) |
_________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
Dan Lavin

Joined: Nov 09, 2006 Posts: 602 Location: Spring Lake, Mi, USA
Audio files: 20
|
Posted: Thu Dec 09, 2010 7:17 pm Post subject:
|
 |
|
Very nice Scott! I really like the way the harmonics sing out after the note "settles down".....reminds me of electric guitar feedback.....like an overtone. _________________ Synth DIY since 1977! |
|
|
Back to top
|
|
 |
Blue Hell
Site Admin

Joined: Apr 03, 2004 Posts: 19596 Location: The Netherlands, Enschede
Audio files: 116
G2 patch files: 317
|
Posted: Sun Dec 12, 2010 8:22 am Post subject:
|
 |
|
Sounds good! _________________ Jan |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Fri Dec 24, 2010 12:29 pm Post subject:
|
 |
|
More improvements and bug fixes.
And the ADSRs were too "fast", that is, the slowest settings for ramp times were not slow enough. I tried to reduce the sample rate for just the ADSRs, but I found that they started adding clicks to the output as the system then used larger numbers for rates (meaning the jump from the last value is larger). I've decided that it's better to sacrifice some FPGA real estate and preserve the sample rate (250 KHz in this case) for the ADSRs.
Still need to test that the ADSRs react fast enough when I want them to be fast.
I'll include a short sample of several notes of a chord being held and lifted slowly - this will demonstrate that the animation procedes mostly "hands off".
The patch consists of 4 sawtooth oscillators which are pitch controlled by the pitch ADSR to start in unison, move apart in pitch and then back to near unison. A state variable filter per voice is opening slowly and at release is closing slowly.
EDIT ADD: Oh - and I love to mention that this is produced by a 12 bit DAC
| Description: |
|
 Download |
| Filename: |
Ominous_Chords.mp3 |
| Filesize: |
1.41 MB |
| Downloaded: |
131 Time(s) |
| Description: |
| I noticed some clipping in the other sample. Here's one where I hear no clipping. |
|
 Download |
| Filename: |
Ominous_Chords_01.mp3 |
| Filesize: |
1.28 MB |
| Downloaded: |
158 Time(s) |
_________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
Dan Lavin

Joined: Nov 09, 2006 Posts: 602 Location: Spring Lake, Mi, USA
Audio files: 20
|
Posted: Fri Dec 24, 2010 3:40 pm Post subject:
|
 |
|
Awesome work, as usual, Scott! _________________ Synth DIY since 1977! |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Sat Nov 05, 2011 4:30 pm Post subject:
|
 |
|
I've just added the DDR SDRAM interface to this synth giving it 16+ seconds of looped delay effect. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
|