|
 |
|
Jan 17, 2008, 06:50 AM
|
#1 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
synthesizer kx modular system 1
the kx modular system
actually are included 29 modules like kbu's, vco's, vcf's, vca, waveshapers and effects. it can be played via midi.
have fun!
the look:
http://freenet-homepage.de/stylish-stylus/kxm_mini.jpg
(you see a minimoog structure)
latest version:
v1.2: http://freenet-homepage.de/stylish-stylus/kxm_v1.2.zip
useful things:
hubi's midi transformator v0.8, midi loopback
MIDI programs
midiox, midiyoke can route very flexible (e.g. uart --> yoke1 & kxcontrol & kxsynth..)
MIDIOX
additions:
russ helped me by developing these things.
http://freenet-homepage.de/stylish-stylus/kxm110.da
http://freenet-homepage.de/stylish-s...m120_3538m.kxl
http://freenet-homepage.de/stylish-s...xm120_3541.kxl
sound examples:
http://freenet-homepage.de/stylish-s...ly800_bass.mp3
(drums: kxm- samples, bass: kxm midi)
http://freenet-homepage.de/stylish-s...m_arpeggio.mp3
http://freenet-homepage.de/stylish-s...nce_pre_01.mp3
(pad: kxm midi, rest kxm- samples)
http://freenet-homepage.de/stylish-s...ox4_pre_01.mp3
(offshore fx: kxm- realtime, rest: kxm- samples)
http://freenet-homepage.de/stylish-s...arp_pre_02.mp3
(kxm- samples)
http://freenet-homepage.de/stylish-s...m_resample.mp3
(hookline: kxm midi, drums: donīt know (maybe sf2))
http://freenet-homepage.de/stylish-s...m_30_aaaah.mp3
more examples:
kX Stuff 2
(by russ, all kxm played except drums & guitar)
please report incompatibilities
stylus 
Last edited by stylus02 : Jun 5, 2008 at 04:22 AM.
Reason: adding..
|
|
|
Jan 17, 2008, 07:57 AM
|
#2 (permalink)
|
|
DH's Latest Mac Convert
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 15,603
|
that's pretty sweet
i remember suggesting something like this a few years back, but have no idea how to code
|
|
|
Jan 17, 2008, 09:13 AM
|
#3 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
yes, it has a little complexity. 
|
|
|
Jan 17, 2008, 10:18 AM
|
#4 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
module list
kxm 100 - 3 octaves keyboard unit (midi support)
kxm 150 - universal divider (usefull as octave divider)
kxm 160 - universal 4x multiplier (usefull as octave multiplier)
kxm 200 - multi vco saw, spaced saw, triangle, square, pulsewidthed square (aliasing)
kxm 210 - multi vco saw, supersquare, triangle (aliasingfree!)
kxm 220 - white & pink noise
kxm 300 - 4 channel mixer module
kxm 310 - 8 channel mixer module
kxm 320 - 6 channel mixer module
kxm 330 - 2 channel mixer module
kxm 400 - adsr envelope
kxm 500 - MOOG Lowpass -24 db/oct
kxm 510 - state variable filter -12 db/oct
kxm 520 - double MOOG lowpass -48 db/oct
kxm 550 - -6db/oct lowpass filter
kxm 560 - -6db/oct highpass filter
kxm 600 - standard vca
kxm 700 - multi lfo saw, spaced saw, triangle, square, pulsewidthed square
kxm 800 - resampler 1-24 khz
kxm 810 - waveshaper logaritmic, exponential, cut
kxm 820 - ring modulator
kxm 830 - bit crusher 8..1 bit
kxm 900 - unisono module
kxm 910 - phaser module
Last edited by stylus02 : Jan 17, 2008 at 10:20 AM.
Reason: speak & spell
|
|
|
Jan 18, 2008, 04:50 PM
|
#5 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
hi all,
i made a little demo sequence with the kx modular. all you hear is kx- powered (synth, samples, effects, dynamics) except the sequencer work. it came dry out from reason 3.0 through 6 asio channels.
http://freenet-homepage.de/stylish-s...arp_pre_02.mp3
http://freenet-homepage.de/stylish-s...ason_setup.jpg
http://freenet-homepage.de/stylish-s..._dsp_setup.jpg
sounds/samples: kx modular system 1 (prerelease version)
effects: efx-reverbstation, space'80, microchorus, microdelay[x]
dynamics: 10 band eq, dynamic processor
stylus
Last edited by stylus02 : Jan 19, 2008 at 05:09 AM.
|
|
|
Jan 19, 2008, 08:17 PM
|
#6 (permalink)
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 3,875
|
Sounds good 
|
|
|
Jan 20, 2008, 02:35 PM
|
#8 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
thanks russ. welcome back in the 70's. 
|
|
|
Jan 20, 2008, 03:32 PM
|
#9 (permalink)
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,097
|
Yeah, to me these demos sound pretty cool too.
|
|
|
Jan 20, 2008, 04:46 PM
|
#10 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
"the beginning is the sound. and sound comes from the audigy." 
but we should not forget that "reason" as "sampleplayer" makes the groove. so we use best from both worlds.
ps: next time i try max's ufx reverb 
Last edited by stylus02 : Jan 20, 2008 at 05:43 PM.
Reason: koeppi
|
|
|
Jan 21, 2008, 04:51 PM
|
#11 (permalink)
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 3,875
|
I have been having fun playing around with these plugins (using MIDI-YOKE/MIDI-OX for automation), but they use quite a bit of resources on my 10k1 card. For this reason I made myself a plugin to replace the kvm-100. It seems to work good, and it uses less resources and handles more notes, so I thought I would post the code in case you want to check it out, etc:
Code:
output cv, gate_;
control note=0x30600000, gate=0x0;
temp t
macs cv, 0x0, note, 0x80;
macs gate_, 0x1, cv, 0xaaaaaab;
macints t, 0x0, gate_, 0xc;
macints t, t, cv, 0xffffffff;
macints t, 0xc, t, 0xffffffff;
macs cv, 0.62976, 0, 0;
skip ccr, ccr, 0x7fffffff, t;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
macs cv, 0x0, cv, 0x78d0df9c;
skip ccr, ccr, 0x7fffffff, gate_;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macs cv, 0, cv, 0x40000000;
macints cv, 0, cv, 0x2
tstneg gate_, gate, 0x7fffffff, 0x53e2;
-Russ
|
|
|
Jan 22, 2008, 03:50 AM
|
#12 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
a solution without a lookup table. the kbu calculates the exponential cv on the fly - very cool. i tried it out and it works excellent over the full note range. can you explain what you have done exactly? (before i do reverse engieering)
stylus
ps: this kbu could be called "kxm 101" or anything else and could be part of the final release of the synth with your copyright's, if you want. ( the range kxm 100-199 was planned for keyboard related stuff) in each case i want to set a link to this.
Last edited by stylus02 : Jan 22, 2008 at 07:04 AM.
|
|
|
Jan 22, 2008, 07:08 AM
|
#13 (permalink)
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 3,875
|
It calculates the note (0-11) and octave (1-11), and then uses the following formula to calculate the frequency (your exp values are related to each other in same way as the original frequencies):
freq = start_freq * 2^(-1/12)^(number of half steps from start_freq)
2^(-1/12) = 0.94387431268169349664191315666753
Raising a number to a power(x) is just multiplying that number by itself (x) number of times, so we can just multiply by 2^(-1/12) for each half step we need.
Then for each octave (x) we need to go down, we just multiply the value by 0.5, (x) number of times.
The calculations use C9 as the starting freq, but it's value is greater than one, so instead I use C8 (0.62976) and multiply by 2 at the end.
The calculations at the top just calculate the note (0-11) and octave (1-11), and then offsets the values, such that it tells us how many multiplies to skip.
note = (slider value * 0x80)
skips for octave calc = 0x1 + (note / 12)
skips for freq calc = 0xC - (((skips for octave calc) * 12) - note)
(hex values (above) represent fractional values)
Does that make sense to you?
Feel free to use the code however you want...
Last edited by Russ : Jan 22, 2008 at 07:22 AM.
Reason: typo
|
|
|
Jan 22, 2008, 07:25 AM
|
#14 (permalink)
|
|
DriverHeaven Junior Member
Join Date: Jan 2008
Location: germany, sb0090
Posts: 95
|
simple, but great idea. actually i'm doing some optimizations in dane and c++ to save gpr's.
copyrights are important to me. every idea should be protected. it does not play rolls if we work on open source or commercially projects. 
|
|
|
Jan 22, 2008, 07:47 AM
|
#15 (permalink)
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 3,875
|
If a GPR is overwritten anyway, then it is free to be used for temp storage before that point (and output GPR's can be used more then once in your code (just not inputs)), so take advantage of that fact to save GPR's (i.e. 'cv' and 'gate_' in the above code are used for temp storage in the calculations at the top of the code).
i.e.
kvm300
'a' is not needed at all, as 'out' can be used instead.
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|