HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Apr 27, 2005, 10:45 PM   #1
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

exclamation NEW: 8-Voice Drawbar Organ(DSP-Instrument)

K1.3 8-Voice Drawbar Organ (3538)

Despite the availabilty of very good VSTi Drawbar Organs these days,
I couldn't resist spending some time implementing the drawbar principle in DSP microcode.
(What can I say, I'm a sucker for those 'ol' keys.)
http://members.home.nl/nahutec/kxleslie/k13.png

A real Hammond organ has about 80 to 91 tone generators (tonewheels or electronics)
and 9 drawbars to perform it's additive synthese.

To keep DSP resource usage reasonable I settled for;
8 voices polyphony and 4 drawbars.
(4/9*3 = 1.3, hence the name k1.3 )
Each voice uses 4 sine oscilators so we have a total of 8*4=32 sine oscilators.
That plus the additional microcode for gating, VCA, Percussion, Filter, Rotary etc. already
makes it a hefty resource eater.

I have followed Hammond design 'rules' as much as possible;
- Register frequencies (pipelenghts) as hammond
- Foldback on high pitches
- Percussion re-triggers only when all keys released
- High Cut filter on Swell pedal
etc..

How does it sound?
http://members.home.nl/nahutec/kxleslie/kx_drawbars.mp3
Not as a B3 of course. The sines are to 'clean'.
Nevertheless I have fun playing/messing around with it eventhough I own a copy of NI's B4.

Usage:
-Select MIDI-IN Device and Channel as you would do in any other Midi app.
You can NOT use any kX Control Midi Port! (because a kX plugin runs as a thread from kxmixer.exe)
To play directly from your Midi Keyboard, simply select kX UART.
To play from a sequencer, you'll need MIDIYOKE virtual midi driver.
The last Midi Settings are remembered and used the next time you load the plug.

-kX Automation is not used! Instead the Organ uses it's own MIDI implementation.
So far the mapping is;
-Drawbar 1 to 4 = CC12,13,14,15
-Volume = Volume CC07
-Slow/fast = Modulation
-Swell = Expression

-If the Organ recieves Midi data correctly, it's indicator will turn Green
and 'Voices in use' are displayed.
(Use this to check connections)

-Percussion:
The organ uses (steals) the 4th drawbar for percussion.
To get authentic Hammond Percussion set the 4th bar's combo to [2 2/3'] or [4]


Download for 3545;
http://members.home.nl/nahutec/kxleslie/3545/organ.kxl

Update "8-voice Drawbar Organ v1.1b (3538)":
-Fixed a small bug in pitch calculation.
http://members.home.nl/nahutec/kxleslie/organ.kxl

3537 version;
Compiled for 3537 driver version.
(with build-in driver version check)
http://members.home.nl/nahutec/kxleslie/organ_3537.zip


/LeMury

Last edited by Lex Nahumury; Aug 19, 2008 at 07:37 AM. Reason: update
Lex Nahumury is offline   Reply With Quote


Old Apr 28, 2005, 12:33 AM   #2
Long Time ***** Friend
 
thomasabarnes's Avatar
 
Join Date: Jan 2003
Location: USA
Posts: 1,375
Rep Power: 0
thomasabarnes will become famous soon enough
System Specs

LOL LeMury:

This sounds good man!

And that's some mighty fine playing youre doing! Very cool playing, indeed!

Tell me it's you playing and not a MIDI file you got from somewhere?
__________________

May a song always touch you in a positive way.
SONAR X1D Expanded, Windows 7 Pro 64Bit, MOTU UltraLite MK3, 150 GB HDD, 250 GB HDD, 1 TB x2 HDD 7200 rpm

My Music Production: Top 40, Contemporary Christian, Pop/Rock, Decent Rap, Inspirationals, and Children Songs

Last edited by thomasabarnes; Apr 28, 2005 at 12:40 AM.
thomasabarnes is offline   Reply With Quote
Old Apr 28, 2005, 07:32 AM   #3
DriverHeaven Senior Member
 
Daniel Drummond's Avatar
 
Join Date: Dec 2002
Location: Brazil
Posts: 1,137
Rep Power: 0
Daniel Drummond is on a distinguished road

That's really awesome LeMury! And by the way, where has that "old" rotary speaker effect you were programming gone? Is it the one built in here? Have you tried using one of the fuzz/distortion effects to make it dirtier?
__________________
www.palcomp3.com.br/ed
Daniel Drummond is offline   Reply With Quote
Old Apr 28, 2005, 07:47 AM   #4
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

Very nice! You could use parabolas instead of sines for a more "dirty" sound and this will save you quite a lot of registers in expense for instructions. The only bad thing I see is the high resource usage, but I think this is compensated by the great sound.

This is the first completely finished kX instrument! I'm so happy, I knew someday we'd come to this level of development. Kx gives us so many possibilities.
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Old Apr 28, 2005, 10:58 AM Threadstarter Thread Starter   #5
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by thomasabarnes
This sounds good man!
Tell me it's you playing and not a MIDI file you got from somewhere?
Thanks. Yep that's me allright.
Jamming along with the drum track I got pretty off beat at times but I decided to leave it this way and not to quantize.
All you here is drum & Organ. Pretty amazing what 'only' 8 voices can do isn't it?
The initial idea was to play the bass line with some Bass guitar,
but before I knew I found myself playing the bass line on the organ.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 11:06 AM Threadstarter Thread Starter   #6
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Daniel Drummond
That's really awesome LeMury! And by the way, where has that "old" rotary speaker effect you were programming gone? Is it the one built in here? Have you tried using one of the fuzz/distortion effects to make it dirtier?
Hey Daniel!
Long time no see. (spending to much time on your emu-card ?)

Yep. The build-in rotary is a somewhat simplified version.
I haven't spend much time on it, so there's room for improvement there.

Yes I have plans to implement some build-in distortion but haven't
experimented yet.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 11:08 AM Threadstarter Thread Starter   #7
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Tiger M
You could use parabolas instead of sines for a more "dirty" sound and this will save you quite a lot of registers in expense for instructions.
Do you have a working microcode implementation of such an oscillator to go along with those statements?
Although I doubt it will improve the sound drasticly, shifting resource usage from GPRs towards Instructions sounds interresting.

Quote:
Originally Posted by Tiger M
The only bad thing I see is the high resource usage, but I think this is compensated by the great sound.
There's no way to realize a 8_voice * 4_Osc synth + build in fx
without using a substantial amount of DSP resources.
Oh what am I talking,..You know that just as well as I do Tiger!

Anyway, .On to something more constructive;
What really may 'beaf up' the sound is feeding each voice's output into a seperate
soft clipper (eventualy followed by lowpass filtering to roll off the highs)

That would mean; 8*clipper microcode.
Since you are the expert here on clipping, do you have any suggestions
on very 'small footprint clipping code'?
Clipping Parameters would be global for all 8 voices.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 12:17 PM   #8
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

In your code you use two state registers per sine oscillator. With the following sine approximation you use only one state register, but one more instruction:
Code:
macw counter, counter, frequency, 1
tstneg tmp, counter, counter, 0
interp out, counter, tmp, 0
This is: f(x)=x*(1-abs(x))

It is not a perfect sine, so you have several frequencies above the base and this may probably substitute a 'footprint' soft clipper. Otherwise, you could use the 'log' instruction for soft clipping, but it's not very good in my oppinion, since the curve is not perfect, so we end up with much more frequencies than we want and aliasing could easily step up

As we know we have twice more instructions available than registers, so this ratio in my oppinion should be maintained for all effects.
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Old Apr 28, 2005, 01:37 PM   #9
DriverHeaven Addict
 
Join Date: Feb 2003
Location: slovenia
Posts: 269
Rep Power: 0
kokoon is on a distinguished road

damn man that sounds superSWEET!

nice playing too. the drum track is tight!

will this work on 37?
__________________
[kokoon]
kokoon is offline   Reply With Quote
Old Apr 28, 2005, 02:28 PM Threadstarter Thread Starter   #10
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Tiger M
Code:
macw counter, counter, frequency, 1
tstneg tmp, counter, counter, 0
interp out, counter, tmp, 0
It is not a perfect sine, so you have several frequencies above the base and this may probably substitute a 'footprint' soft clipper.
That's one 'dirty' sine already. This just might do the trick!
I'll implement it to see how it sounds as a whole and report back.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 02:37 PM Threadstarter Thread Starter   #11
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by kokoon
damn man that sounds superSWEET!
nice playing too. the drum track is tight!
will this work on 37?
Thanks.
I doubt any 38 kxl will run on <38, but it's no big deal to compile the Organ for 3537 (or older) if people want that.

Come to think of it,.. most musicians probably still use 3537 because of Max's excellent UFX.

/LeMury

Last edited by LeMury; Apr 28, 2005 at 07:24 PM. Reason: typo
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 03:17 PM   #12
DriverHeaven Junior Member
 
Join Date: Mar 2004
Posts: 35
Rep Power: 0
Way2Loud is on a distinguished road

Hello LeMury

Im using an EMU1820 card now, but I kept the 3537 driver on my old computer and I keep returning to this forum just for the reading.
About this B3-clone, I'm totally amazed. You kx-programmers are so much more "creative" (haha) then the EMU-people. Keep up the good work - and I would love to be able to try your drawbar organ with ver 3537.

//W2L
Way2Loud is offline   Reply With Quote
Old Apr 28, 2005, 04:29 PM   #13
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

Quote:
Originally Posted by LeMury
That's one 'dirty' sine already. This just might do the trick!
I'll implement it to see how it sounds as a whole and report back.

/LeMury
I've 'invented' it for the synth I'm developing and it is a good sine substitute, moreover it is absolutely stable, you don't have to reinitialize registers each time you change the frequency and the amplitude is constant for every frequency.
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Old Apr 28, 2005, 07:21 PM Threadstarter Thread Starter   #14
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Tiger M
I've 'invented' it for the synth I'm developing and it is a good sine substitute, moreover it is absolutely stable, you don't have to reinitialize registers each time you change the frequency and the amplitude is constant for every frequency.
To bad, the harmonics ruin the typical organ sound.
It started to sound more like an Accordion (Harmonica? don't know what it's called in english).
That's a pitty since it is indeed easier to program a stable osc with your algoritme.

Anyway;.. it tells me that the typical 'tonewheel sound' is not a matter of
adding harmonics to the fundamentals. (makes sense since adding harmonics is what the drawbars are for..duh)
The dirty B3 sound is more about picking up all kinds of mechanical noises, rummble, crosstalk etc. etc.
Add to that the overall (tube) distortion from both Leslie as well as B3 pre-amp and voila..!

/LeMury

Last edited by LeMury; Apr 28, 2005 at 07:46 PM. Reason: typos
Lex Nahumury is offline   Reply With Quote
Old Apr 28, 2005, 08:38 PM   #15
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

You could try implementing a global waveshaper, which would saturate just slightly. You could use the same sine approximation formula with a slight modification:

f(in)=in*(1-abs(in)*0.5)

It clips very softly and might add that little 'touch' that you need to make the sound more realistic.

Anyway, it sounds very good the way it is.
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Old Apr 29, 2005, 11:44 AM Threadstarter Thread Starter   #16
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Update "8-voice Drawbar Organ v1.1b":
-Fixed a small bug in pitch calculation.

(See download link in first post)

/LeMury
Lex Nahumury is offline   Reply With Quote
Old May 4, 2005, 02:28 PM Threadstarter Thread Starter   #17
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

On user request:

3537 version.

(See first post for download link)

/LeMury
Lex Nahumury is offline   Reply With Quote
Old May 4, 2005, 02:47 PM   #18
DriverHeaven Junior Member
 
Join Date: Mar 2004
Posts: 35
Rep Power: 0
Way2Loud is on a distinguished road

Thanks for the 3537-version, LeMury. Now I know what to do this weekend........

//W2L
Way2Loud is offline   Reply With Quote
Old May 5, 2005, 10:20 AM   #19
DriverHeaven Addict
 
Join Date: Feb 2003
Location: slovenia
Posts: 269
Rep Power: 0
kokoon is on a distinguished road

wow this really sounds great... it sounds really versatile. thanks alot for this 3537 version.

i wouldn't mind some more complete synths built this way...
__________________
[kokoon]
kokoon is offline   Reply With Quote
Old May 6, 2005, 12:05 AM Threadstarter Thread Starter   #20
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by kokoon
i wouldn't mind some more complete synths built this way...
I still have an unfinished Bass Synth Project (ala MiniMoog) lying around somewere.
Hmm,..let's see what that brings.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old May 6, 2005, 12:07 AM   #21
Apple Fanboy?
 
dj_stick's Avatar
 
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 17,485
Rep Power: 190
dj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his status
System Specs

Quote:
Originally Posted by LeMury
I still have an unfinished Bass Synth Project (ala MiniMoog) lying around somewere.
Hmm,..let's see what that brings.

/LeMury
i would find that really useful
__________________
Chris - The Aussie Super Mod
Hardwareheaven Rules - Sig Request Thread

How you can help HardwareHeaven by using Digg!

Hardwareheaven Super-Moderator

Quote:
Originally Posted by OmegaRED View Post
You know, there's "off topic" and then there's so freakin' off topic it you gotta wear a straitjacket to join the conversation.
dj_stick is offline   Reply With Quote
Old May 6, 2005, 02:17 AM Threadstarter Thread Starter   #22
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by dj_stick
i would find that really useful
2 osc, 24 dB LowPass;
http://members.home.nl/nahutec/kxSyn..._That_Bass.mp3

/LeMury
Lex Nahumury is offline   Reply With Quote
Old May 6, 2005, 04:55 AM   #23
Apple Fanboy?
 
dj_stick's Avatar
 
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 17,485
Rep Power: 190
dj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his status
System Specs

i'll take a listen when i get home
__________________
Chris - The Aussie Super Mod
Hardwareheaven Rules - Sig Request Thread

How you can help HardwareHeaven by using Digg!

Hardwareheaven Super-Moderator

Quote:
Originally Posted by OmegaRED View Post
You know, there's "off topic" and then there's so freakin' off topic it you gotta wear a straitjacket to join the conversation.
dj_stick is offline   Reply With Quote
Old May 6, 2005, 06:42 AM   #24
DriverHeaven Addict
 
Join Date: Feb 2003
Location: slovenia
Posts: 269
Rep Power: 0
kokoon is on a distinguished road

sir please let us have this
__________________
[kokoon]
kokoon is offline   Reply With Quote
Old May 6, 2005, 08:41 AM   #25
Long Time ***** Friend
 
thomasabarnes's Avatar
 
Join Date: Jan 2003
Location: USA
Posts: 1,375
Rep Power: 0
thomasabarnes will become famous soon enough
System Specs

LeMury that's cool man, dude you be jamming!!!!!!
__________________

May a song always touch you in a positive way.
SONAR X1D Expanded, Windows 7 Pro 64Bit, MOTU UltraLite MK3, 150 GB HDD, 250 GB HDD, 1 TB x2 HDD 7200 rpm

My Music Production: Top 40, Contemporary Christian, Pop/Rock, Decent Rap, Inspirationals, and Children Songs
thomasabarnes is offline   Reply With Quote
Old May 6, 2005, 09:32 AM   #26
Apple Fanboy?
 
dj_stick's Avatar
 
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 17,485
Rep Power: 190
dj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his statusdj_stick is godlike in his status
System Specs

that synth owns
__________________
Chris - The Aussie Super Mod
Hardwareheaven Rules - Sig Request Thread

How you can help HardwareHeaven by using Digg!

Hardwareheaven Super-Moderator

Quote:
Originally Posted by OmegaRED View Post
You know, there's "off topic" and then there's so freakin' off topic it you gotta wear a straitjacket to join the conversation.
dj_stick is offline   Reply With Quote
Old May 7, 2005, 08:30 AM   #27
Alternative Audioproductions
 
TravelRec.'s Avatar
 
Join Date: Sep 2003
Location: Germany / Sachsen-Anhalt
Posts: 1,710
Rep Power: 0
TravelRec. will become famous soon enoughTravelRec. will become famous soon enough

I would say: HAMMERGEIL! Unbelievable! And you think ít´s unfinished? It sounds cool for now, not really necessary to finish it in any kind . I think about a new setup only with synths and organs and so on, seems I can sell my other stuff someday.
__________________
Always take a look behind.

TravelRec. is offline   Reply With Quote
Old May 7, 2005, 02:17 PM   #28
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

I noticed that the amplitude of the signal is not equal at all pitches it, varies even on two neighbouring keys. This is most probably due to the sine algorithm. I used the same one when I started doing synthesis on the emu dsp and I left it off because of this problem, which deepens when the algorithm is used for FM.

Are you reinitializing the two state registers after frequency change?
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Old May 7, 2005, 02:59 PM Threadstarter Thread Starter   #29
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Tiger M
I noticed that the amplitude of the signal is not equal at all pitches it, varies even on two neighbouring keys.
Just checked; Amplitudes are rock stable at -14.4 db for all generators and frequencies.
(You probably didn't 'switch off' the rotary entirely)

/LeMury
Lex Nahumury is offline   Reply With Quote
Old May 7, 2005, 03:22 PM   #30
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

On the higher pitches. It seems that the higher bands dissappear.

http://img.photobucket.com/albums/v4...tinTT/test.jpg
__________________
Miss you, Steve...
Tiger M is offline   Reply With Quote
Reply

Thread Tools