Friday, February 17, 2017

Recording generated MIDI to drag'n'drop object in Kontakt

Someone asked me to add MIDI drag'n'drop function to Rhythm Assembler sequencer. Apparently, in some DAWs recording MIDI notes generated by Kontakt is not quite trouble free. While adding this function to Rhythm Assembler would be a bit of a hassle, I thought, that capturing generated notes live and making the recording a drag'n'drop object inside Kontakt would be quite easy.

So, here's this simple script named "MIDI catch'n'drop". It will memorize all note on/note off messages (both send into Kontakt and those generated by instrument scripts) and write them into a drag'n'drop MIDI object. Suppose, you want to export a drum pattern from Kontakt instrument to MIDI. You load the instrument, put the catch'n'drop into empty script slot, press "start recording" button, start the drum sequencer, wait for the pattern to play through and then drag'n'drop midi pattern to your DAW or file system.

Some notes:
When you press "start recording" button, previous recording is deleted.
The script will only record notes generated by the instrument it's placed into and by scripts placed in previous script slots. So, it's best to place it in the last script slot.
Essentially this script is thought to help with instruments, which do not use MIDI object functionality. Instruments which actually use MIDI data, may have drag'n'drop function already available. Also note, that whenever you start recording in catch'n'drop script, it clears MIDI buffer in Kontakt. So, if the instrument is using MIDI object for note patterns, it will not play back anything, as the MIDI pattern will be deleted.
This script only records note on/note off messages.
While recording, the script will display buffer status and time of recording. Buffer defines how many notes you can record. When it goes to zero, the recording will stop and script will display message "buffer is full". Default buffer setting is 10000, so the script can record up to 5000 notes (two messages per note). You can rise buffer size in the script, changing $MIDI_BUFFER_SIZE, up to one million. Time is displayed in MIDI ticks (960 ticks per quarter note here).
If you plan to create a file, rather than dropping pattern straight into a DAW, you can change generated file name. Just double click "file_name" and enter new name. Note that it may not be possible while sequencer is running (it's Kontakt's "feature").

You can get the script here:
as preset file
or in plain text

Use at your own risk! This script is provided ‘as is’ and there is no warranty of any kind.

Sunday, January 22, 2017

Rhythm Assembler

And now something completely different... A step sequencer.

Well, it really is a bit different. Rhythm Assembler is a drum computer script I wrote for Kontakt, remains of a cancelled project. Usually a step sequencer has a regular grid, you can use to place notes. Here, you define the grid structure, assuming there's a note at every step. It may seem backwards, but once you overcome old habits, it may be simpler to do it this way. Example, you want a four on the floor, you only need to program one step. Also, I feel, breaking down a rhythm to such formula, gives me a better understanding, of how the rhythm works.

The machine offers 8 sequence tracks, each can have a different grid sequence with different cycle loop. Grid step is defined as a multiplication or fraction of base duration, like "1 quarter note", "3 sixteenth notes", "1/3 half note" or "3/4 whole note". On top of that you can program a repeat sequence, telling the machine how many times to repeat a grid step. Considering both sequences can have a different loop cycle, it is possible to program fairly complex rhythms with a simple formula. Also the sequencer is not bound to a time signature, you can program odd, irregular rhythms, rhythms with asymmetric measures.
Another, somewhat uncommon feature of the sequencer is the "humanizer" function, which not only can delay notes by random duration, but can play them too early as well. This "timing error" function can be configured separately for each track.

And here's a quick overview video:

Rhythm Assembler is just a script, it comes with no samples and no instrument patches. There are script preset files, you can add to an existing instrument. Which is also the reason, there is no custom graphic interface and the background is black (for the workaround to disable instrument's background image). The script requires Kontakt 5.6.5 or later to work. It could be rather easily ported to any earlier version of Kontakt 5 and with some work and (loosing option to rename sounds) to Kontakt 4.

The script is free to download and use (although it's not free to re-distribute). DOWNLOAD IT HERE. To install the script, you need to locate Kontakt's user preset/scripts folder and copy the "Rhythm Assembler" directory there. There are several example presets, with pre-programmed rhythms and an "empty" preset.

There's some further beta development, you can follow here (scroll down the thread).

Tuesday, December 13, 2016


Spookomatic is one of a kind instrument for generating eerie ambiances, melancholic pads and ghastly atmospheres. It is using multiple layers of melodic sounds, background ambiances and sequenced environment noises, all being dynamically transformed by an array of step sequenced modulators, to create an organic, rich, living soundscapes. As the name suggests, the instrument is focused on chilly, mysterious and creepy tones, while not being deadly serious. Like a generic horror flick, it's a bit scary and a little silly, but unlike such kind of a movie, it can be quite unpredictable.
Spookomatic is self-configuring sound machine, it automatically creates random patches, which can be tweaked afterwards. Just press the shuffle button and hear what you can find, it's a sort of a ghost in the machine.

Here's a how it sounds, in a compilation of different patches:

And here's a brief guide to user interface:

There are eleven step sequencers per layer, modulating parameters, like pan, tune, filters cutoff and send effect levels. What is uncommon about the sequencers, is that the sequence can be interpolated, that is, the parameter values can change gradually in between sequence steps, according to different curves. Each sequencer can run at different speed and different cycle, creating quite non-repetitive, yet tempo synchronized textures.

Here's how modulation sequencers work:

Spookomatic in cold numbers:
  • 21 melodic sound sources, created with acoustic instruments (guitars, reed organ, voice, non-musical objects), vintage analog synthesizer and digital synthesis,
  • 30 types of background noise from field recordings, or digital sound manipulation,
  • 192 noise fragments to create sequenced ambiance,
  • up to 10 sound layers,
  • up to 110 modulation sequencers,
  • 4 instrument configurations,
  • 144 selected presets,
  • 999999999 possible patches.
The instrument requires full version of NI Kontakt sampler, version 5.5.2, or newer to run. Depending on patch, it may be rather CPU intensive (there's a lot going on under the hood).

It's available at Kontakt Hub.

This instrument is new take on the idea, I was exploring with older, free instrument, Scape-o-matic. It has similar character and engine, though Spookomatic takes it to a new level.

Friday, November 4, 2016

Chop Shop update 1.1

I made a small update to Chop Shop, sound collage automaton. Slice duration can be now defined as note fraction (synchronized with tempo/sequencer step interval). To change duration mode, click on duration label and select from drop-down menu. Also there are different knob pointer shapes to select (say hi to pac-knob).

See Chop Shop post, or get it right here. Full version of Kontakt 5.5.2 is required to open the program.

Wednesday, October 12, 2016

Chop Shop

This sound machine took a long while to build, mainly because there was always something else in the way. Possibly it is the most confusing one, which might be the reason I have been putting it aside for so many times.
I have been using this tool to automate sample chopping and slice sequencing for experimental/glitch/collage kind of music. There is a sequencer, which aside from playing sample slices, can be programmed, to change its parameters at certain points of the sequence. For example, it can be set to increase sample playback offset every second sequence step and/or set different filter cutoff every 6th sequence step. At higher level it can remember several sequence parameters and play those in defined order to create complicated structures. As many of instruments I created, it takes advantage of seed based pseudo-random number generator, so any event can be set to random, derived and re-played from initial seed number. This way you an completely change the output of a complicated structure, simply by changing the seed.
In the following video, I play around loading different presets and changing general parameters. Offset, seed and sample knobs in effect panel modify those values throughout any program sequence, playing with them on presets is an easy way to start having fun with Chop Shop.

The machine is designed to use sound fragments (parts of a more or less finished tracks) and re-organize them, in a way unrelated to original tempo. In other words, it doesn't use multisamples and it's not suitable to chop 'beats'. It is however synchronized to host's tempo. I included a set of somewhat random samples. Custom samples can be used, but you will need to rename and replace the sample files.

To play with Chop Shop, you will need full version of NI Kontakt sampler 5.5.2 or newer. The instrument is free to use, you can get it HERE, it's 62MB file. It comes with fairly confusing manual in PDF file. If you don't get it, read the manual (I can't guarantee it will help though). Have fun.

A note on presets: This instrument is using its own preset system, presets should be in /presets/ folder. Each preset is being saved in two separate files, it should be possible to trade/exchange/copy presets files between different instrument copies.

And here's small intro to programming the critter...

Wednesday, March 30, 2016


I assembled a Kontakt bass instrument crudely nick-named Bassmeister, which is now available on Sampleism... The samples were created with rare, vintage bass piano.

I bought the piano sometime in early 90s (took me a while to get to sample it), the guy who was selling it, advertised it as "The Doors bass". He was referring to Rhodes bass piano used by Ray Manzarek, but this box was no Rhodes. The piano is "Basset II" made by East German accordion manufacturer Weltmeister. Not to be confused with Hohner's Basset, which is electronic keyboard. Weltmeister's Bassset I, is somewhat noticeable on the Internet, as it's a keytar, it has been produced from early to late 60s. Version II has lost the handle along with proud name of keytar and has different casing, but from what I can tell of version I pictures, the interior is very similar. Unlike Rhodes, this critter is using a set of metal stripes (in place of metal rods) built into a comb shaped pickup. The mechanism of making the stripes vibrate is rather unique. There is a lever mechanism which lifts the stipe up, until it slips off its edge, which is similar to the way you play a kalimba with fingers. Lever mechanism is simple, yet quite fragile. It would explain, why there is not many of these still in working condition. My unit has five broken or missing levers, however, as the lever design is the same for all keys, I could use one of working levers, for sampling separate keys. Which was just a lot of screwdriver work. At the side there is a kind of volume modulation pedal, which doesn't work very well, probably because of aged parts. The bad thing about this piano is resonance, it's enough to tap the case harder and all the stripes start to resonate, interfering with playing keys. It might be partly because of aged (and cheaply made) sponge dumpers. For sampling I used two small towels to quiet unused stripes, the amount of work it would take to secure them all, would rather indicate a design flaw.

For Kontakt instrument I used two velocity layers and five polyphonic round robin samples per key. By polyphonic round robin I mean, there is separate round robin counter for every key. Key velocity doesn't really matter in instrument's design, but hitting a key really hard make a distinctive initial distortion sound, so I made a separate high velocity layer. The instrument has selectable filters, distortion, LFO and envelope modulators for some creative sound shaping. It requires full version of Kontakt 5.5.1 or newer to work.

Finally, here's a video overview of the Kontakt instrument.


Friday, February 19, 2016

Beat Assembler XT

Beat Assembler XT is drum computer instrument based on experimental design, extended version of previously posted Beat Assembler 48. It is using randomly or manually generated pattern model, which is then being used as basis for creating a drum sequence. The machine is using series of quantizers and sound mappers to re-shape model pattern, fitting it into a time-frame of choice, allowing user to observe the results on the fly.

New and expanded features in  XT version:
  • bigger master sequence size (128 notes) and more optimized calculations, which it would require,
  • 99999 automatic pattern generator presets,
  • up to 16 voice groups,
  • drag'n'drop MIDI export, drop final pattern directly to DAW, or to a file manager to create a midi file,
  • preset system, 10 memory slots and support for saving sequences to a file (so they can be loaded into another Beat Assembler patch),
  • displacer mechanism, introduce 'little changes' to a pattern with single knob,
  • expanded manual editor with handful of new tweaks (including copy/paste mechanism, so you can drop a portion of one pattern into another easily),
  • filter bank access, filter type can be set quickly from drop-down menu, for each voice group individually,
  • resizeable drum kit, makes it easy to create custom drum kits, use the machine as sample shell,
  • 12 patches, including a re-creation of obscure polish analog drum machine from the 80's (which I took apart and soldered voice on/off switches, so I could capture each sound separately and then hand programmed re-constructed rhythm patterns in Beat Assembler),
  • 36 hand programmed patterns (as opposed to automatically generated ones) to experiment with (can be loaded from file in nka format),
  • five background variations, change the machine looks in setup panel,
  • and, as usual, a fairly confusing manual in strange English.
Here's a video overview, jamming with three instances of Beat Assembler in standalone Kontakt:

Beat Assembler XT is available via Sampleism:
It requires full version of Kontakt 5.5.1 or newer to run (Free version will run on Kontakt 4, but XT is actually using Kontakt's new features, like changing filter type from script).