Thursday, December 17, 2009

Random access to a CV values list

Just added this little CV tool in the free download section (on the right): "K's Basics - Random access to a CV values list"

It's basically a way to access through CV indexing, a list of 3x32 "cells" of CV values (well, one of the list is within the Note range of CV values, but this example is enough to demo the concept).

So, if you're ever in need of generating a specific sequence of CV values controlled by another CV source, this is one way to do it :)

It's like having random or sequential access (in whatever direction you want) to a specific custom list of CV or note values, by using a CV controlled "cursor" (just connect the CV "cursor" source to the Rotary 1 CV input and tweak the Combinator modulation programmer Min/Max values to your needs).

This device was enough for something I was testing, but I'm sure it can be optimized with some thought and more time.

It won't work well in a real-time fast switching situation, since the CV output of the Matrix is delayed each time a switch (CV index selection) occurs. For that, another method must be used.

BTW, I also added K's Basics - ReDrum 'Vel to Level' test. It's just a little concept demo of something chainstyle was discussing in the forum.

Sunday, November 29, 2009

Quick Tip: 7x OSCs Thor

As I previously mentioned, Thor can have more than the standard known 3 simultaneous OSCs.
Here's an example of a 7xOSC Thor: 6 polyphonic OSCs + 1 monophonic OSC

(For demonstration purposes, I enclosed this example in a Combinator, allowing easy access to some of the available parameters to tweak. This is completely usable as a standalone Thor patch, and basically that's the advantage of extending the available OSCs)

Low Frequency Oscillator

One of Thor's components that can be used as an OSC is the LFO. If you look closely at the available LFO rates, you'll see that the rate can be pushed to audible frequencies (so it's not as "Low Frequency" as one would expect, uh? ;).

LFO1 is easy to sync to the keyboard input, making it possible to control its frequency in the usual musical scale. To do the same with LFO2, you'll need to make some modulation routing.
The Pitch-Wheel can also be added to the mix, to control both LFO's like a normal OSC.

This will allow you to use the available LFO waveforms, musically, and with careful planning, an LFO can be a quick way to add a sub-OSC without sacrificing a regular OSC or resorting to a multi-synth Combinator.

So, 3 OSC + 2 LFO's that's 5 "OSCs" right ? We're missing 2 more, uh?


Self-Oscillating Filters (and the Comb Filter too, because of its special characteristics) can also be used as rudimentary OSCs :) some experimenting and you'll see how easy it is to do so, locking the filter frequency to the keyboard tracking, so it can also be played musically, like any other OSC.


One thing to keep in mind is that, any component in the "dark/black" slots of Thor, is polyphonic, i.e. it'll have as many simultaneous instances triggered as there are notes played, the limit being what's set as the maximum polyphony. This makes the 3 OSC's, Filter's 1 & 2, the LFO1 and the Mod, Filter and Amp Envelope Generators, "polyphonic".

The same doesn't apply to Filter 3, Global Envelope and LFO2, making it "monophonic".
(Maybe now you understand why these show up in a different section on the available Modulation Matrix Source/Target possibilities)

This is why this patch mentions "6 poly OSCs + 1 mono OSC", where the mono OSC is LFO2.

So, with all these hints, can you achieve a phat 8xOSC monophonic Thor patch ? ;)

Monday, November 23, 2009

Quick Tip: NN-XT controllable Sample Start

Usually, whenever we need to do some real-time messing with the Sample Start, we usually discard the NN-XT (because there's no way to automate it's sample-based Start/End, and Loop Start/End settings) ...
...and think immediately of the NN-19 because it has, right there, on the upper right corner, a little knob to easily tweak the Sample Start, controllable through Combinator's modulation routing matrix...
...but, there's a way to do the same thing with the NN-XT, indirectly :P

There's a NN-XT setting that can be used to do exactly the same thing and be as controllable but through CV and affect all the loaded samples at the same time. :)

Turning the NN-XT's Velocity S.Start all the way to the right will mimic the NN-19 Sample Start behavior, controllable by the CV values sent to the Gate CV input at the back of the NN-XT.

Now, imagine using Thor's Sequencer Note and Gate/Velocity CV outputs to control the NN-XT (or a NN-19 inside a combinator) taking advantage of the high rate resolution... can you see what's possible to do ? ;)

BTW, NN-19 reminds me of
Paul Hardcastle's "Na-Na Na-Na Nineteen"

Wednesday, November 18, 2009

Quick Challenge: Thor has 6 polyphonic OSC's (and more...)

You know that Thor can have up to 8 independent built-in OSC's, 6 of them being polyphonic, don't you?

A future Quick Tip will show you how to turn LFO1, Filter1 and Filter2 into perfectly playable sound producing polyphonic oscillators, and LFO2 and Filter3 as monophonic oscillators :P

It's even possible to a certain degree to use Thor's Sequencer as a "user-definable" wave-shape monophonic OSC, but... I haven't sorted out some quirks with it, so... forget I mentioned this one ;) (at least for now!)

Tuesday, November 3, 2009

Quick Demo: CV Graph, CV Display, CV Scope, ...

Sorry, but I only have time to show what's possible to do with some of the available rack devices, to show the CV values, like I mentioned in my previous post.

It also shows one possible version of the CV Scope, using the CV Delay and CV2Audio2CV :)

As soon as I have the time, I'll explain in detail how to achieve each of those unusual device uses.

It's quite simple, as many will quickly figure out. Some of you may already use something similar to do your CV debugging, like I do.

Tuesday, October 6, 2009

Quick Tip: CV Delay

A "CV Delay" is quite easy to do once you have a way to convert CV to Audio and Audio to CV (you can use the CV2Audio2CV for that).

A simple way to achieve this with up to 4 independent CV signals, is to use Thor's Audio outputs connected to 4 DDL-1's and back again through Thor's Audio inputs:

So, to test all 4 CV delayed signals, I'll use BV512's CV inputs to graphically show what's going on:

Now, let's check the front and see if the CV Delay is working...

...and there you have it, a working 4x CV Delay:)

Next post I'll talk about some of the devices and the way I usually use them for CV display (more like CV debugging, really). I'll talk about the use of the DDL-1, MClass Equalizer, RV7000, BV512, Thor and PEQ-2 as possible CV debugging tools.

After that, the obvious way to do a rudimentary CV Scope using a stack of 4 CV Delay units :) you can guess from the above pictures, it's something quite simple to achieve, once you understand what you want and what's going on ;)

Wednesday, September 30, 2009

Quick Tip: CV2Audio2CV

I guess it's common knowledge that Thor is much more than a very powerful synth :)

Besides being a very powerful versatile multi-filter+effects device, it's also a very capable CV machine, capable of very cool and useful CV processing and generation.

I have many basic patches at hand that I use as basic building blocks to build more complex combinators. Some I've already mentioned here, but many others I keep to myself because there are already equivalent devices made by others before me, or some are so basic (although useful) that I think it would be kind of weird to mention them here.

Recent events lead me to change this idea a bit. I'm beginning to realize that what some may consider as basic knowledge, it may be news to others, so why not make some quick posts about it ?

So, this post will quickly show a very useful use of Thor's modulation matrix and input'n'outputs at the back.

This little patch deals with CV to Audio and Audio to CV:

So, what's the use for such a basic and simple patch ?

Well... watch this video done by Ed "EditEd4TV" Bauman and maybe you'll get an idea of how complex such a simple patch can get.

Future posts will show you how "CV2Audio2CV" is the basic building block to build a "CV Delay", itself a building block of "CV Scope", inspired by Ed's very cool VisualCVOscilloscope demo :)

Tuesday, September 22, 2009


Been working on ReGRAINZeR this week :)

After playing a lot with V.0.6.2 to see if there were no concept bugs, and that there wasn't anything else worth of adding without needlessly bloating it, I took some time to take it to V.0.7, the one that implements external CV control of other KFX Machines, acting as "slaves", to substitute the included internal slim effects.

ReGRAINZeR V.0.8 was born as soon as I decided it was time to build everything from scratch. This was also the time to tighten the implementation, leaving all the extra devices used in the beta phase to ease any new feature I decided to add.

So now, V.0.8 has 7 less reMix devices and 1 less Spider CV device :)
I could get rid of 6 more Spider CV's, if only the Splitter section had 1 extra inverted CV out in each pair :( ...oh well.

The two internal (with Button 3's "External Control" turned off) effects: Mute (with C#) and Gate (with D#), have now some little new features.

C# has now a Rattle effect capability, so one can use Rotary 3 to go from Mute to a fast Rattling effect, still applied only to the Source Audio.

D# still uses the Mod.Wheel to change the microGatoR speed, but now, Aftertouch (if active through Button 4's "Aftertouch Gate") will now slow down the speed a bit.

Oh, and one more thing...

I decided to release the
microReFill KFX001
as a

If all goes as planned, it'll include:
  • ReGRAINZeR (most surely V.0.9 Stereo and maybe the lighter Mono version too)
  • FiltaPowa
  • GatoRboX
  • LoopBox4Live
  • LoopBox4Glitch
  • and maybe some oldies... :)
Why this change of plans ? Well, I was going to use this ReFill to earn just enough cash to buy either Record 1.0 or Reason 5.0 upgrade.

I ended up getting Record 1.0 basically for free, so I guess it's my turn now to give something for free too , uh? :)

A free "as is" release will also spare me of having to provide proper documentation and support too ;)

Thursday, September 10, 2009

M-Audio Axiom's problem (kinda) solved! =)

I found a workaround to my M-Audio Axiom 61's problem! :D
This problem came to light only while beta testing Record 1.0. I realized that my Axiom was randomly firing an Expression MIDI message (CC 11), during a Channel Aftertouch MIDI stream. This was causing some weird behaviors on some of Record's ID8 presets.

So, if I played ID8's Electric Piano Mark II (an Expression-aware preset), after pressing the keys a few times (sending the Channel Aftertouch data), the preset volume spiked up unexpectedly! And this happened every time with some other Expression-aware presets.
After checking with other fellow beta testers that this wasn't an ID8 preset bug, I had to (unexpectedly) turn my attention to my controller, the Axiom.
Using MIDI-OX's MIDI dump, there it was, that darned unwanted, uninvited Expression hiccup :(

Well, now I finally had some time to try something: Set Axiom's Zone 1 (only, so I could still use the other Zones if needed) Expression CC to OFF... and... IT WORKS! :D
So now, while using Zone 1, I see no CC11 unwanted triggering while generating Aftertouch :)
This also shows that's really an hardware issue and not a firmware bug (as I thought at first).
I checked the Expression's connection at the back, and from the outside it looks ok, so there must be some kind of weird short-circuit inside, somewhere on circuit path, triggered by the Aftertouch pressure sensor or something... :/
oh well... at least now its kinda fixed, since I don't use an Expression pedal anyway :)

Monday, September 7, 2009

WANTED: Spare Time!

My (quite small) spare time, these past weeks, have been "wasted" playing with Record 1.0 =)

Every little chance I got, I spent it playing with Record, while giving a good test run on my custom Remote codec for the M-Audio Axiom 61.

I've implemented the "Shift" function I've talked about earlier, and added a triple way to use Program Change, Bank LSB and Bank MSB.

Each of these, trigger 3 types of events simultaneously: an Absolute value, a Delta simulation value and an Increment/Decrement button pair simulation.

So, this is a snippet of the added features I'm using now:
  • Select Patch for Target Device (Delta) = Program Change (Delta)
  • Target Track (Delta) = Bank LSB (Delta)
  • Remote Base Channel = Bank MSB
  • ID8's Select Previous Preset = Program Change Down
  • ID8's Select Next Preset = Program Change Up
  • LOOP On/Off = Shift+PLAY
  • Click On/Off = Shift+STOP
  • Precount On/Off = Shift+RECORD
  • Tempo BPM = Knob 8
  • Click Level = Shift+Knob 8
  • Select Previous Keyboard Shortcut Variation = Shift+REWIND
  • Select Next Keyboard Shortcut Variation = Shift+FORWARD
As you can see, the Delta or the Up/Down version of the supported Program Change, LSB and MSB Bank change, all have its usefulness, depending on the control one needs to assign :)

I'll release this custom Axiom codec as soon as I have time to clean it up a bit on the other device mappings and package it in a proper way.

...oh, and btw, I had to make a little change to settings sent to Axiom because of the Loop button (the one I'm calling "Shift" now) so it would work like a "shift" key... only active while pressed.

The default settings sent to Preset 10 won't support this behavior, so I decided to make my own, but to not break compatibility with the standard Axiom codec, my custom overwrites Preset 09, instead of Preset 10.

Wednesday, July 22, 2009

Record Open Beta!

Record Open Beta is officially on, since yesterday at :)

Starting today, previous beta testers are no longer under the NDA, so expect most, if not all, future videos to feature Record instead of Reason, while demo'ing some of the devices that will be part of my microRefill KFX project(s).
The Record Open Beta lets you try out a fully working version of Record, using Record's internet authorization. Use the software without limitations as long as you are connected to the internet.
This trial period will last until Record's official release on September 9, 2009.
So, if you want to try the fully working version of Record 1.0 (RC4) until its release, Sept.9th, this is your chance :) ...head on to the site and join Record open beta to download Record!

Sunday, July 19, 2009

Koshdukai's KFX: FiltaPowa V0.4 demo

While watching Jack Conte's "The Electro-Harmonix Riddle" demo video, I thought...

"uh.... I can do that with Reason"

...and KFX FiltaPowa was born =)

FiltaPowa works great with live input, either through the ASIO4ALL's ReWuschel trick or through Record 1.0 ;)

Some specs for KFX FiltaPowa:
  • Filter selection between LP 12, BP 12 and LP 24
  • Filter amount set by Attack/Decay envelope, Mod.Wheel or Sequencer Curve values
  • Sustain temporarily changed from middle setting by Pitch Wheel
  • Envelope triggering through audio with adjustable Sensitivity (incl. Soft Knee)
  • Optional Sequenced triggering of the Envelope (that's what the Matrix is there for)

Thursday, July 16, 2009

Remote "Shift" function

M-Audio Axiom LOOP transport buttonFor some days now, and while looking at my Axiom's transport buttons, I've been playing with the idea of using the "LOOP" button as a "Shift" key, to extend the functions of the other transport buttons.
M-Audio Axiom transport buttonsI thought of this because I keep turning on (and off, after recording) the little Click and Pre buttons, in Reason's (and now Record's) transport bar.

So, if I could implement this idea, the Axiom button currently used to turn on and off the Loop status would be more useful as a mode-extender for the remaining transport buttons, like:
  • LOOP+STOP would turn the Click On/Off
  • LOOP+RECORD would turn the Pre On/off
  • LOOP+PLAY would change the Loop status
...and I'm sure I would find some alternative function to the remaining buttons :)

I think I've seen something like this "Shift" mode in one of the factory codecs, so I'll have to check that out while having to look more carefully for this in the Remote SDK documentation.

My plan is to start simple, with single "Shift" modifier buttons, and if that works, try multi-modifiers (think of the equivalent computer keyboard modifier keys, like SHIFT, ALT, CTRL and all the combinations they provide, like SHIFT+ALT+key, SHIFT+CTRL+key, and so on...)

If this works, heck, I'll be extending a lot more controls of my Axiom!

I think this would be more natural to use than sequentially stepping to the various available "Keyboard Shortcut Variations" without any feedback, telling me in what Variation I'm in (since neither the Axiom nor Reason provide this information visually)

Well... I'll report about this later :)

Wednesday, July 15, 2009

Akai MPD24 (Special) Remote codecs - Part I

I'm currently working on a special version of a Remote Codec for the Akai MPD24 (much like the one I did for my M-Audio MidAir 25).

The plan is, to take advantage of a mode where each of its 16 Pads sends a 'Program Change' message (from 1 to 16), to jump directly to (well, select) the respective sequencer track within those limits.

It's mainly a derivative of the algorithm I've used in the Trust and MidAir codecs, although with some limitations to work properly for the MPD24.

This was more or less a forum request (well, maybe more like a "oh, I can do that, really? How? Can you show me?" kinda thing). I've already sent my first test draft to the (fellow forum member) requester to see if it works or not (fingers crossed!), since I don't own an MPD24 (unfortunately!) so only he can test it and give some feedback.

As soon as we're happy with the result, I'll add this "Akai MPD24 (Special)" Remote Codec to the free download codecs list for anyone to try and use :)

Friday, July 10, 2009

Propellerhead Record's beta Invites

I have some spare invites to give to my blog readers :)

So, to become a Record beta tester you simply have to:
  • be registered at Propellerhead forums
    (its free, you don't need to be a customer)
  • send a private message to Koshdukai
    (yours truly here)
  • with the title subject "I need a Beta test invite, please!!!" ;P
  • state why would you like to try Record at this stage
  • also state if you're already a Reason user or not
  • include the email address used to create the forum account
    (so the invite can be sent to you)
  • and that's it!
    First correctly written PM's will generate an invite email
    (while invites last!)

If you're the happy recipient of that email, you just need to follow the instructions included there, to enter the beta testing team :)

Good luck! :D

Wednesday, July 8, 2009

Beta testing Record

...and that's basically the "side project" that's been taking all my spare time, since my last post :D

ReGRAINZeR works great with it too, btw :)

More news... oh, I've been also working on GatoRbox V.0.3, an ASR (Attack, Sustain, Release) controlled gate effect box (Combinator) device that's working great.

V.0.2 only worked as standalone through internal variable Rate sequencing patterns, but V.0.3 will work also through external trigger of the sequence or event steps. Rate will also be controllable externally. All this to make it a compatible slave companion effect when controlled by ReGRAINZeR V.0.7 (ReGRAINZeR already includes a miniGatoR by default, not capable of ASR effects)

hmmm... ah, made some more GlitchLoopBox variants, 1X and 4X versions, with delta rate variation of the rate set by Rotary through Mod Wheel, with Stereo divergence controlled by the Pitch Wheel (so Left/Right get slight speed rate differences, making a cool stereo effect).

Current Beta versions of these also have some sort of interaction with the keyboard (notes C, D, E, F) to trigger a fading version of the loop being held in the buffer or (note G) to momentarily mute any held loop playing, but nothing as sofisticated as ReGRAINZeR... I still haven't decided if I'll keep this feature, since I don't know if this is of any real use, although it's kinda cool to know its there and that can be used if needed :P

I'm thinking of releasing LiveLoopBox 4X (the one on the last video demo) and maybe a pair of the simplest GlitchLoopBoxes soon, for free, since their so simple to make and almost using basic common knowledge technics so it wouldn't make any sense on including those in a non-free ReFill, I guess... :P

Last night I had a blast playing with some old pseudo-arpeggiators of mine (which the KPA-104 is an example). Felt like JMJarre (lasers not included, unfortunatly!) while testing Propellerhead Record ;P

Sunday, June 28, 2009

Working on a side project...

I've had the opportunity to work on a very interesting and exciting project for a couple of months, so my current ReFill project will suffer a bigger delay than I was expecting.

Nonetheless, I'll try to release some free stuff 'till the final release of it :)

Any comments and suggestions about the ReGRAINZeR demo file are welcome, even if I don't comment back, I read'em all! :)

Thursday, June 25, 2009

KFXmachines - ReGRAINZeR V.0.6.2beta DEMO release

I've decided to release a little demo .RPS file with the latest version of ReGRAINZeR and wait a while to see what happens :)

Click here to download ReGRAINZeR V.0.6.2beta DEMO
About this little demo:
  • It uses 2 demo units. One applied to a drum REX dual loop Combinator, and the other to a guitar REX also dual loop Combinator.
  • Both units are using the C1 to B1 MIDI keyboard octave keys.
  • Key mappings are shown on the help screen, on the right of the device.
  • On that screen, P stands for Pitch Wheel, M for Mod.Wheel and R1 for Rotary 1.
  • Gate effect (stutter) is activated by pressing D1# or through Aftertouch, if that option is turned on. Speed is controlled by the Mod.Wheel.
  • External Control CV Output is not implemented on V.0.6.x
After listening to the example performance made with both units, you can (should) mute or delete the performance clips and play a bit with each of the ReGRAINZeR demo units.

You could also copy any devices+tracks of a song of yours and paste it within this demo song, and after some rack rewiring at the back, you can check what ReGRAINZeR could do when applied it.

Remember that although it's an Effect, it needs a Track assigned to it so you can control it through the MIDI Keyboard.

ReGRAINZeR still retains a little Velocity sensitivity, useful to get some effects.

If you have any questions, you can place them as comments, and I'll do my best to answer them :)

Sunday, June 21, 2009

...and more on the way :)

I'm releasing some Remote Codec packs for the M-Audio MidAir MIDI Wireless Keyboard series and two other more obscure keyboards I own. So here are the links:
  • (this one will support the infinite 'Program Change' Value-to-Delta algorithm, because this little keyboard does something quite useful: as soon as 'Program Change' reaches 128 it restarts at 1 again. It also does the reverse of course, when reaching 1, if 'PROG -' is pressed again, it jumps to 128. This allows me to make it truly endless to the "eyes" of Reason, no matter at what value the keyboard is, it will always return a +1 or -1 delta to Reason. This is why I made Patch selection the default control for this one)

  • (just a simple generic codec, with correct name, thumbnail picture and 'Data Entry Fader' set to control every device 'Master Volume')
  • (3 versions are included for this one)

    • MidAir 25
      M-Audio MidAir 25 Remote Codec(supports the 8 Knobs, the 'Data Entry Fader', 'Sustain Switch' and some other less usable controls, like 'Reverb Depth', 'Aftertouch', 'Pan' and 'Program Change' as Value-type controls)
    • MidAir 25 (Special)
      (supports everything described above but 'Program Change' uses the 1 to 128 finite Value-to-Delta conversion algorithm)
    • MidAir 25 (Experimental)
      (as above with the added experimental Value-to-Delta conversion algorithm applied to 'Knob 8')

  • (I only provide the standard behavior on this one, at least for now)

So, after you download the Codec pack file, you unzip it to a temporary folder and simply follow the instructions provided in the ReadMe.txt file:
To install this codec, please copy the included folders "Codec" and "Maps" to the following directory:

Mac OSX:
Library:Application Support:Propellerhead Software:Remote

C:\Documents and Settings\All Users\Application Data\Propellerhead Software\Remote
Say you have a M-Audio MidAir 25. Here are the next steps:

Start Reason, go to 'Edit', 'Preferences', select the 'Keyboards and Control Surfaces' page, press 'Add', select 'M-Audio' in the Manufacturer pull-down list, then choose Model 'MidAir 25 (Special)' if you want to use 'Program Change' to select the current Track. Provide the correct MIDI input (or press the 'Find' button and play some keys on your MidAir) , press the 'OK' button and you're done :)

I plan to release a Generic MIDI Keyboard with the 2 types of Value-to-Delta conversion algorithm (the one included with Trust keyb and the other used with MidAir), so people with small'n'simpler MIDI keyboards that have at least 'Program Change' can use it with Reason for something useful :)

As soon as I revise my custom M-Audio Axiom 61 Remote Codec, I'll release it too. to get some sleep -.-'

Remote Codecs released...

...and more on the way :)

I'm releasing some Remote Codec packs for the M-Audio MidAir MIDI Wireless Keyboard series and two other more obscure keyboards I own. So here are the links:
  • (this one will support the infinite 'Program Change' Value-to-Delta algorithm, because this little keyboard does something quite useful: as soon as 'Program Change' reaches 128 it restarts at 1 again. It also does the reverse of course, when reaching 1, if 'PROG -' is pressed again, it jumps to 128. This allows me to make it truly endless to the "eyes" of Reason, no matter at what value the keyboard is, it will always return a +1 or -1 delta to Reason. This is why I made Patch selection the default control for this one)

  • (just a simple generic codec, with correct name, thumbnail picture and 'Data Entry Fader' set to control every device 'Master Volume')
  • (3 versions are included for this one)
    • MidAir 25
      M-Audio MidAir 25 Remote Codec(supports the 8 Knobs, the 'Data Entry Fader', 'Sustain Switch' and some other less usable controls, like 'Reverb Depth', 'Aftertouch', 'Pan' and 'Program Change' as Value-type controls)
    • MidAir 25 (Special)
      (supports everything described above but 'Program Change' uses the 1 to 128 finite Value-to-Delta conversion algorithm)
    • MidAir 25 (Experimental)
      (as above with the added experimental Value-to-Delta conversion algorithm applied to 'Knob 8')

  • M-Audio MidAir 37 Remote CodecM-Audio MidAir 37 Remote Codec
    (I only provide the standard behavior on this one, at least for now)

So, after you download the Codec pack file, you unzip it to a temporary folder and simply follow the instructions provided in the ReadMe.txt file:
To install this codec, please copy the included folders "Codec" and "Maps" to the following directory:

Mac OSX:
Library:Application Support:Propellerhead Software:Remote

(older) Windows:
C:\Documents and Settings\All Users\Application Data\Propellerhead Software\Remote

(newer) Windows:
%ProgramData%\Propellerhead Software\Remote

Say you have a M-Audio MidAir 25. Here are the next steps:

Start Reason, go to 'Edit', 'Preferences', select the 'Keyboards and Control Surfaces' page, press 'Add', select 'M-Audio' in the Manufacturer pull-down list, then choose Model 'MidAir 25 (Special)' if you want to use 'Program Change' to select the current Track. Provide the correct MIDI input (or press the 'Find' button and play some keys on your MidAir) , press the 'OK' button and you're done :)

I plan to release a Generic MIDI Keyboard with the 2 types of Value-to-Delta conversion algorithm (the one included with Trust keyb and the other used with MidAir), so people with small'n'simpler MIDI keyboards that have at least 'Program Change' can use it with Reason for something useful :)

As soon as I revise my custom M-Audio Axiom 61 Remote Codec, I'll release it too. to get some sleep -.-'

Thursday, June 18, 2009

It works!!!

Last night I had a go at trying to make a continuous Value-type control like Program Change be interpreted by Reason as a Delta-type control, so it could be used with Remote's Additional Overrides "Target Track (Delta)", "Select Patch for Target Device (Delta)" and "Select Keyboard Shortcut Variation (Delta)".

And it works great :D !!!

This is no "Absolute" substitute unfortunately but it gets the job done.

As an example, if you have your controller's Program Change set at 35 and go to Reason's menu "Options", "Additional Remote Overrides" and set the "Target Track (Delta)" to "Program Change" (don't forget that this only works with my custom Remote codecs right now), then each increment or decrement on Program Change will translate as a +1 or -1 delta to Reason.

So, if you have the 1st track selected and go from 35 to Program Change 34, it'll generate a -1 delta hence doing nothing in relation to the Track selection, because its already at the lowest track "number" possible to select.
But as soon as you go from 34 to 35 again, it'll generate a +1, which will make the Track selection jump to the 2nd track, the next increment to 36 will make it jump to the 3rd track and so on.

If you keep incrementing Program Change beyond the available number of tracks, it'll just keep the last track selected.

So, it may be less confusing if you start with Program Change reset at 1 so it stays in-sync with the track selected, and try not to go over the last track (but if you do, it still works).

If you keep them synced, you can (like someone requested in the forums) make direct jumps to a track. Imagine you have 20 tracks, and you never go "overboard" those limits (1 to 20) with the Program Change. You can jump to the 14th track, then to the 2nd, then to the 9th and so forth, either by using a (usually available in some MIDI controllers) numeric keypad or by pre-programming specific controller buttons to send these fixed Program Changes. If for some reason things get de-synced, simply reset Program Change to 1 and select track 1 with the mouse, for instance.

A different behavior happens with "Select Patch for Target Device (Delta)" where it'll go round-robin, which is another way to deal with delta values :)

In case of patch selection, if you're selecting the 1st patch, and Program Change is at 123 and you decrement it to 122, it'll generate a -1 delta and that translates in a "go to the last Patch available from the current list" jump behavior. The reverse happens, being at the last and trying to increment Program Change, will make it jump to the first Patch available.

I didn't have time to test the "Select Keyboard Shortcut Variation (Delta)", so I still don't know what type of behavior this one has. I can't remember right now if it goes round-robin or stays at the limits even while using proper Delta or Next/Previous controls. I'll test it later :)

Anyway, all this to uncover a little weakness of this solution (but one that I'm perfectly able to accept): Each time the value-type control (in this case, Program Change) gets to the minimum (0/1) or maximum (127/128) limits, your only option is to reverse the direction you where going. So this makes it somewhat important to keep the value as close as the position you're trying to control, be it the track number, the patch or the shortcut variation.

But, for these 3 types of use, 128 positions are usually more than enough, ok... Patch selection may need much more on some cases, but then you're pushing your luck ;) so... just use the mouse or the computer keyboard on those occasions :P

I also did the same tests with a Value-type Knob converted into a Delta-type control using the same codec algorithm and... kinda works :) ...the problem here is that the Knob can generate so many +/-1 MIDI events in such a short amount of time that may generate a "MIDI buffer overrun" warning message, and that's not nice :(
It's also too precise, so it's a pain, depending on your hardware, to get to that one track or patch by generating just a -/+1 delta event. ...but it works :P

So I guess I'll stay away from releasing a proper Remote Codec using the Data Entry slider or alternatively the Knob 8 for Delta-type emulation. I'll stick with the usually stepped Program Change, it has to be enough, 'cause 1 of these is better than nothing, which is the current situation with the standard Remote Codecs.

When I have the time, I'll release for free a M-Audio MidAir pack with both a standard codec that includes the Data Entry slider and also the Program Change but as Value-type controls and also an alternative version, where the Program Change uses the Value-to-Delta convertion algorithm so users have a choice :)
I'll also try to release my version of the M-Audio Axiom Remote Codecs with the added Program Change control as a Delta control.

...'nough talk, must work now -.-'

Wednesday, June 17, 2009

"we welcome you as a developer of our technologies"

It's so cool to receive emails like these ^^

Anyway, the story behind this is really simple.

I own a M-Audio Axiom 61 and a MidAir 25 and two more generic (and much simpler) MIDI keyboards.

The default Remote settings of the Axiom has some awkward choices and even bugs (as an example, there's a collision between the reMIX and the Select Track buttons), so I had to make my own custom version of those settings.

I also made a version to support my M-Audio MidAir 25 (and the MidAir 37 too, since it looked fairly simple to support, even without owning one to test).

...and just because it's there, I also added the "Program Change" as another possible value-type control to be used. One never has too many controls :D

My intention was to make these available for free, to anyone in need of them, but then I thought it would be a good idea to check the Remote SDK first and see if I was missing any cool features unknown to me.

So, I applied to be a "Remote™ Codec Developer" yesterday and that got approved today! to read all the docs and find out if I was missing something important.

After checking if everything is according to the license, I'll release the Remote mappings in the download section of the blog: My custom Axiom 25/49/61 and my MidAir 25/37 Remote codecs :)

Tuesday, June 16, 2009

Yet another example of live Loop performances

While checking some LIMS'09 videos at SonicState I just bumped into another 3 examples of live loop use (like the LiveLoopBox combinator):


and another one

Monday, June 15, 2009

Live Audio IN with Reason & LiveLoopBox demo

As promised, here's the video explaining how to get live audio input in Reason :D
(the unofficial way, of course, because the only official and proper way would be through Record!)

If you're a ReBirth user, and you still need to use it ReWired to Reason, do not install ReWuschel!
(better make this clear)

This is really old news, but I still keep bumping into Reason users that don't know this is possible or how easy it is to do.

This little trick is really only useful to those that don't own a DAW or those wanting to use Reason effects in a live situation, including the advantage of playing side-by-side with a saved song and an included track with the recorded automation of all the effects tweaking and mix levels automatically applied to the live feed in a live performance.

Then, I also take the opportunity in the video to show the LiveLoopBox I talked about in earlier posts :)

There are two versions:
  • GlitchLoopBox simply allows to change on the fly the loop length, making the well known DDL-1 glitch noises one gets when tweaking the Delay Time.
  • LiveLoopBox is exactly the same device, but with the Rotary knobs changed for the Volume Level of each loop slot.
(oops, while making the video I've noticed that I forgot to change the labels... oh well, the ReFill will have them correctly labeled)

These devices are basically small simpler versions of the ReGRAINZeR without keyboard control.

So, here's the video :)

Working on ReGRAINZeR V.0.6beta

Ok, so, after finishing V.0.5beta, solving the little issue with Velocity, I'm now changing some simple things on the control front. Substituting the Rotary 3 & 4 functions "+AUDIO source Level" & "Volume" with a more standard "Gain" & "Dry / Wet" mix knobs.

I was also hoping to implement in V.0.6beta a Master/Slave chaining option by leaving a well marked CV output pair at the back (Note+Gate), so one could chain various ReGRAINeRs, spawning various instances through the keyboard map while controlling all the slaves through the Master one (the 1st, the only one in need of a controlling sequencer track for selected input) but there's a problem with RPG-8's MIDI-CV convertion... it's implementation is incomplete, so this makes this idea impossible to implement with Reason 4 at least :(

I've even tried using Thor's flexible routing to send captured Gate signals through a CV out, but its still MonoCV so... still no good.

Oh well... it would be cool to implement Slave chainning to ease the keyboard control of various through the same track, each on its own control octave.

Still, there will be a Slave chaining option, not for Note/Gate but there will be a triggering CV output to trigger future devices I'm working on. Just as an example, and I already mentioned it here, there's the GatoRbox device, perfect to work together with ReGRAINZeR.

So, GatoRbox will (as others) have an additional option of being triggered externally, by ReGRAINZeR ... but, more on this in a future post or demo video :)

Oh, and I can't forget to also make a little demo video of LiveLoopBox. It can be viewed as a 4 loop slots ReGRAINZeR Light without the keyboard controlling flexibility, because it's all done through Combinator buttons. Also, because of that, its way simpler at the back, CV-wise, because all its logic is done through the Combinator Programmer :)

Ok, enough talk, on with the work... -.-'

Related Forum post:
oh great... RPG-8's Gate CV out isn't PolyCV :(

FAQ: I've sent you my work-in-progress so we can colaborate!


Please, don't send me any patches or combinators you're working on and you're planning on selling or even releasing them for free in the future.

This puts me in an uncomfortable and awkward position of having no chance to refuse it (because you already sent it) and even if I simply delete the attachment without opening it (which I do), I'll never be sure if someone in the future will claim something like "oh, but that combinator you made was my idea! I sent you that combinator and you copied the idea" brrrr... I hate to think of such situation.

In this age where it's so easy to illegally copy someone's work and distribute it for free without the author's consent, to me, even worse is idea stealing and releasing something without proper credits to the ones involved.

At least, the illegal copies (usually) keep the credits of the rightful authors of the thing (which I hope will be the case with any of my soon-to-be-released ReFills, whenever I find one floating around on the net without my consent).

I'm all for exchanging tips'n'tricks and helping the best I can with what I know. This is why I like to hang out at Propellerhead's Forums (if you don't, you should! Go there right now and sign up! oh and register your Reason copy ASAP, you won't regret it :)

So, please, if you want to collaborate with me on any work you're doing, don't send anything upfront. Let's discuss first, through this blog comments, through the Prop's Forum or even through email, and only after that we'll see if it's something that will benefit both :)

Thank you ^^

Saturday, June 13, 2009

Working on ReGRAINZeR V.0.5beta

Still solving an issue I'm not comfortable with.

The current version is Velocity sensitive, so to work properly, the user must press the keyboard keys with enough velocity to make sure it sustains the loop properly and also cuts completely the audio source.

This will be optional in the final version, because I also found it cool to have it for further expressiveness, controlling the Wet/Dry mix through Velocity.
So, Button 4 will switch Keyboard Sensitiveness ("Keyb.Sense") ON, being OFF by default. This setting already disables Aftertouch gate control when OFF (the default), because sometimes that option gets in the way of the performance.

I already have a working solution, but it's bulky and will add some unexpected complexity to an already complex device, so I'm still trying to figure out a more elegant way to do it.

I woke up with 2 ideas to test. The 1st one looked great on a draft combinator, but failed miserably when applied to the real thing. This fail was what led me the more bulky but working solution (the one I mentioned above).

Going to test the 2nd "simple" idea now... let's hope it works :)

Friday, June 12, 2009

Koshdukai's KFX Machines: LiveLoopBox

Just finished another device, useful for live performances, human-beatbox style or live one-man acoustic or acapella performances with on-the-fly minimalistic rhythm and bass lines.
(please check the videos below to get the idea)

LiveLoopBox has 4 live sampling audio loops of up to 2secs each (adjustable in steps synced to Reason tempo). You can stack a bunch of'em to get more loop slots for the same audio source by splitting it through some Audio Spiders and then control the group through Remote, as you always can with Reason :)

It works by constantly sampling the audio source and maintaining the loop as soon as its triggered.

"Wait ?!? Live audio input with Reason ???" :P

Well, you can use Reason with live input right now, through ASIO4ALL's ReWuschel (Windows only) or... you can wait for Record :D

Anyway, I may come up with other uses for it, in a more traditional sequenced Reason song, which I'm sure will be the main scenario where the device must prove its usefulness :)

Until I have time to make a little video demo of it (and while doing that, also show how to have live Audio IN with Reason), here's Imogen Heap's live acapella, Kid Beyond's beatbox and Yoed Nir's cello performances, that shows what can be done with such a device.

Wednesday, June 10, 2009

FAQ: Will ReGRAINZeR be released as freeware ?

Well, I have this guideline I try to more or less stick with:

If it's something I did mainly with, for or through freeware, its my duty (and I'm glad) to give it back to the community for free. I guess this is the best way to thank the ones before me that made something for free that I could use, and keep the thing rolling :)

If I had to buy or pay for something, then I try to jump in the bandwagon and give a run of my dedicated time and effort for the money, as the ones before me also did.

I try to make available for free, things that may help to make a point, prove a concept or help fellow Reason users / forum members to understand something, some concepts or some cool ideas that I have no time to develop, planting the seed for someone to take it and further develop it.

Things like these pre-Reason4 oldies:

So, to answer your question: I'm planning to release ReGRAINZeR (along with other devices I'm still trying to develop) in a future ReFill, sold (hopefully) through the Propellerhead - Shop - Third party ReFills page (if they approve the thing and accept to sell it, of course!)

I'll add enough cool devices to balance between the "Yes, I'm getting my money's worth with this ReFill" and the dreaded "As soon as possible!!!" :)

So why try to sell it instead of just give it away ? Well... I just spent 499€ on Reason 4 Premium Edition (a "bargain", btw!), and I'm planning to spend another 99€ with the "upgrade" to Record, so... since this is getting a very expensive hobby, I might as well give it a try at it paying for itself :)
...also, I'm going to spend a lot of hours making sure every device works as I expect it to (I hate soft-bugs), and I also have to make some kind of well-made documentation so people know how to use and really appreciate the potencial of it. These things take time and effort to do :)

Related Forum post:
Something I'm currently working on: ReGRAINZeR

Tuesday, June 9, 2009


While browsing the "Feature Suggestions" forum, I saw descathach's "ReLive" post and decided to explore what could be done about it.

So, I'm now playing with REXTrigga (formerly named, incorrectly, as LoopTrigga) a 14 Dr.REX Combinator device, each with it's loop triggering through C2 to C#3.

I stopped at 14 loops simply based on using up all 14 channels of a reMIX 14:2 and for what I was trying to do, 14 is more than enough, though its very easy to add more :)

Now, to find a place to put this thing for easy downloading...

Ah, I guess this one will work.

BTW, this is a perfect example of why I kept asking for a Transpose setting for the Combinator :)

Planned ReGRAINZeR V.1.0 "models"

As anyone would expect, a real-time grain/loop device relies heavily on the only available on-the-fly sample'n'loop devices Reason provides us (at least up to Reason 4): the echo devices :) this case, the versatile DDL-1 Digital Delay Line device.
So, a full stereo ReGRAINZeR with multiple readily available key triggable loops of real-time audio source sampling, can be an overkill if many instances are needed in a song... at least in theory, because I still haven't done any heavy duty tests on complex songs with multiple instances of the device.

As you can see in the demo videos (try watching the 16:9 HD version of demo 2), the DSP meter at the bottom left corner shows what happens CPU wise in that song, with one instance of the device running on a Core 2 Duo laptop. I'm still not sure about memory consumption, so I need to run some test for that.

Anyway, even if the current full-featured model of ReGRAINZeR proves to be as light as a feather to CPU+RAM resources, I think it's a good idea to plan and make various versions of the thing, and these are what to expect in a future planned microReFill:
  • KFX-GRNZ1S - Full-featured Stereo ReGRAINZeR main model.
  • KFX-GRNZ1M - The same full-featured model but in a Mono output version, so half the resources needed.
  • KFX-GRNZ1D - Dual audio channel (Left and Right) with separate control octave per channel, so it's like having 2 mono ReGRAINZeRs with the lower octave controlling the 1st channel (Left), and the upper octave controlling the 2nd channel (Right).
  • KFX-GRNZ1LS - Light Stereo model. It retains most of the fixed stepped grain/looping features while loosing all the fancy tweakable things like the Aftertouch gate trigger or the glitch/pitch/speed tweaks of the Rotary 1, Pitch and Mod Wheels. Basically, it only retains the C1 to G1 white keys triggering.
  • KFX-GRNZ1LM - Same thing, in Mono. This will be the lightest model of all, basically, it'll be a 5x DDL-1 Combinator plus the expected internal CV wizardry.
  • KFX-GRNZ0V -As a bonus, I'll also include the original V.0.2beta version you see being used in the video demos :) ... V for Vintage or 0 Version :P
All 5 models will have enough patches to cover all possible octave transpose settings, to easily adjust to the various keyboard sizes and mappings.

I'm still deciding if I should release these in a standalone microReFill or wait a while and add more devices I'm also working on, based on the ReGRAINZeR interface, like a real-time LoopBox (cool to be used live... think Record or ASIO4ALL's ReWuschel :), a GatoRbox and the still sketchy and flaky RePITCHeR (not sure if this one will ever get out of the KFX Labs).

Related Forum post:
Something I'm currently working on: ReGRAINZeR

Sunday, June 7, 2009

Koshdukai's KFX Machines: ReGRAINZeR V.0.2beta

Finished uploading the 2nd video showing ReGRAINZeR V.0.2beta (still named ReLOOPeR in the video).

Still no word from Turbotito :( ... it would help if I had his email contact instead of relying on PropSW Forum's and YouTube's PrvMsgs :/

I'm tempted to just release the videos and simply obey to any take down notice I might receive afterwards, although that's so not the way I like to do things -.-'

...but, it's a demo song included with every Reason 4 sold, so I guess it would be ok to use it as an example to demo a Reason device, wouldn't it ?

Anyway, while waiting, I made some changes to what the F1# to A1# black keys do. Now they have 2 modes as a group: 1/8T loop mode or free wild'n'weird glitch-like mode, since most of the action they did is now made with A1 and B1 white keys.

This also freed Combinator's Button 4, maybe I'll use it now to turn off the option of Aftertouch gate effect triggering.

So, now, the current version is ReGRAINZeR V.0.4beta

Saturday, June 6, 2009

once ReLOOPeR, now ReGRAINZeR

Shot some more videos, with another screen setup, now taking advantage of YouTube's 16:9 HD support, while now trying a firewire digital camera to shoot the actual MIDI keyboard controller being used as I did with the 1st video... but there's still some video latency :( ...guess it's because I had to turn the video graphics acceleration off so the desktop capture software can pick it up. Ah well... I'll choose one of the videos and upload it anyway :)

I found something already named Relooper through Google, so I'm renaming the device ReGRAINZeR (naming's getting better'n'better, uh? right... -.-')

I still tried using ReGRAINeR but Google found something like that too, some film effect thing.

So, after this, I made some changes to (the now named) ReGRAINZeR device.

Previously (up to V.0.2beta) I was using all the keys, from C1 to C2 (transposeable), but then I thought of ways to use several instances of the ReGRAINZeR, each mapped to its own octave, each affecting different sound sources. So, using the C2 key would collide with the start of the next instance of ReGRAINZeR.

So, ReGRAINZeR V.0.3beta only uses keys C1 to B1. This will allow to use a transposed instance of it in the C2-B2 range, and a 3rd in the C3-B3 and so fourth...

Originally, all white keys had fixed loop/tempo lengths and only the black keys had some kind of modifiers like the Combinator's Rotary 1 or the Pitch and Mod Wheels, but from V.0.3beta onward will have the A1 key vary with Pitch Wheel and B1 with the Mod. Wheel.

Also, Aftertouch will now trigger the gate effect. D1# still does that, with selectable gate rate through the Mod. Wheel :)

This is why, the 2nd video I'll upload, still uses the old key mapping, but any videos after that will have some tiny differences in the handling of the device, and the way to control and play with it.

Friday, June 5, 2009

Turbotito - Sydney Heat

While uploading the 1st (crappy) video to YouTube it just dawned on me "wait a minute! I just realized I'm using a music that's not mine, to demo the device... oh damn..."

So, I had two options:
  1. scrap the video, try to compose a really cool tune to demo the device, redo the video.
  2. try to contact the song's author, asking if I can use it in my demo.
The 1st would be safer but slower (I thought, 'cause I had to come up with a cool enough tune). Also, it would defeat the purpose of demoing the device with a known song, so people watching would recognize what the device was doing to the song.

2nd option could be faster and simpler while accomplishing what I wanted, as I said above.

Well, I opted to set the uploaded video to private, and send a private message to the author and... wait :|

...and wait... :|

Custom GrainTables ?

Just tried using a NN-19 loaded with a plain wave, with a Matrix controlling the note length, and the curve automating the Sample Start + Manual knob... eh, cool effect :D

I'm going to try the same with a REX loaded on a NN-XT to see what can be done.

More on this (much) later... :)

Making some ReLOOPeR videos...

I've been searching the web for some free desktop video capturing software, so I can make some videos showing ReLOOPeR in action (and future devices, tutorials and stuff).

Found some, testing a couple, let's see if I can make it work :)

Related Forum post:
LOL! I know... I don't mind...

Tuesday, June 2, 2009

Koshdukai's KFX Machines: ReLOOPeR V.0.1beta

Ok, so everything went well and now I'm the proud user of a Virus TI Atomizer (yeah right!) pseudo-emulator, done with and for Reason 4 :D

I'm going to play with it for a couple of days to see what more can I add to it, and after that, post a couple of demo videos, showing the thing working and what it can do :)

What it can't do (when compared to what I've seen in some Atomizer video demos) is:
  • It can't reverse playback the loops... still couldn't think of a way to do this in real-time with Reason 4, so for now, I'm considering it er... impossible :(
  • It won't be possible to perfectly note-pitch-shift the real-time loops :/
...although I'm still thinking of a way to simulate this effect with the shorter/higher rate loops, getting a note scaled pseudo-pitch-shifting effect. I already did some tests and it's kinda possible to do an almost note-scaled pitch, but still not perfect, and it's late and I'm tired -.-'

At this time, ReLOOPeR already allows free pitch-shifting effect with the Pitch and Mod Wheels, but its more like a glitch effect and not a scaled note pitch.

Reason 4 ARRIVED!!!

My "Reason Premium Edition Bundle" arrived today, YAY!!! :D

Just in time to make something I've been experimenting with the R4 Demo for a while. A "Virus TI Atomizer" emulator!

If all goes well (and I can put my theories in practice), I'll post a demo video soon to see if anyone's interested in such a device :)

Can't wait to get home, install Reason 4 and start playing with it!

Related Forum post:
Status: Delivered!