Friday, July 21, 2017

Cracklefield

I have released new music machine at Kontakt Hub, it's named Cracklefield. This idea has been following me for a long time. I imagined a grid based sequencer, with objects traveling in different directions, bouncing off walls and colliding with each other, creating dynamically evolving patterns. Cracklefield is such generative music machine, experimental sequencer, more a simulation, than a loop player.


The sequencer workspace, the field, is cellular grid. The field can be read or modified by cursors, pointing at sequence track playing position. The cursors can travel the filed in any direction, horizontally, vertically or diagonally, each at it's own rate. They can bounce off field edges or obstacles (walls) and, what is the fun part, bounce off each other. Just imagine several sequencer tracks playing 'pong' with each other. On next level, cursors can interact with the field; paint, erase or flip cells, build or destroy walls, shift whole field rows or columns. It's a playground for building evolving patterns - set initial conditions and see what would it sound like.
Cracklefield can also use cellular automaton named 'Langton's ant'. An ant is basically a cursor, which changes direction depending on what kind of cell it steps on. For example, it turns right on a filled cell and turns left on an empty cell, flipping the state of cell it has visited. Sounds very simple, yet it creates surprisingly complex structures. In Cracklefield you can combine several ants of different types to explore variety of possible generative pattern setups. The machine is using a note map, assigning each cell a note number, according to one of different algorithms, to play melodies, or create round robin percussive patterns.
Cracklefield can also act as an apreggiator. Each cursor can be bound to one of notes from the chord being currently held. Arp patterns can modulated (transposed depending on cursor position) and fit to a scale pattern, while each cursor can play a different sound.

Here's a video showing some of the possibilities:

 
This machine is not really about the sounds, but it has been built on a sample player, so obviously it needs samples. I wasn't quite sure how to approach this and in the end I decided to pick a set of sounds that, most likely, nobody would have already, as it's not a kind of instrument, one would be interested in just to get more pianos. The Cracklefield sample set is mostly based on acoustic/electroacoustic instruments, or found sounds, unconventional, experimental or unusual sounds, featuring a hollow soviet balalaika, copper rod mallets made with contact microphones, experimental guitar setups, glass chimes or wire-brushed crash cymbals. On the other hand, the machine is designed, to make adding new sounds relatively easy; just duplicate a group, put new samples and refresh the instrument. There's also a built-in note recorder, it allows the user to capture multichannel MIDI clips, which then can be exported to a DAW by drag'n'drop mechanism and reused elsewhere.

Here's another video, playing with random electronic drum samples, shows how it looks and sounds to use the instrument:


It is thus far the largest, most complicated and one of the most unusual projects I put myself into. If you'd like to learn more about Cracklefield functionality, see the manual:
http://www.fairlyconfusing.net/docs/cracklefield.pdf

Or watch even more videos:





Cracklefield needs full version of Kontakt 5.6.6 or newer to run. It takes 950MB of hard drive space after unpacking (the samples are in plain wav format). You will need at least 1280x1024 screen resolution to be able to see the whole interface without scrolling, it's bigger than standard ones, as there are plenty of controllers.

It's available from Loot Audio:

Now updated to 1.2 - with field animator...


Tuesday, May 9, 2017

Midnight Bell

I had borrowed an old wall clock from my grandmother, to get the ticking sounds for another project. It's a late 19th century/early 20th century clock, my grandfather has re-built 30 years ago. Besides annoying loud ticking, it also does ring a bell. The bell itself is a spiral formed metal stripe and while it wasn't my primary interest, it just sounds too interesting to pass it by. So here's a little bell instrument made in Kontakt. Bell recordings have been widely stretched and reinforced by a layer of electronic bell sound, obtained from self resonating filter (recorded from Moogerfooger LPF, volume envelope shaped digitally). It sounds like this:


Get it here, if you like it. Only 10MB download, requires full version of Kontakt 5.6.6. There's no manual and GUI is a sonic mystery for you to solve. A perfect companion for Spookomatic.

Tuesday, May 2, 2017

Beat Knitter

Beat Knitter is a tiny drum machine and random drum pattern generator for Kontakt. It features a one-click-pattern generator, I've been experimenting with, it attempts to create a consistent random four track beat of bass drum, snare and open/closed hat. After some strangely complicated machines, this one has a simple approach: press the button, get a random beat.
The instrument has a very simple sound set, consisting of few one shot sounds. It has a basic four track sequencer, you can control overall velocity and a speed rate of each track. Besides one-button pattern generator, there are several other automated functions, some different, more or less random pattern generators and several pattern transformations, tracks can be shuffled, mirrored, de-synchronized, inverted and even there's 4x4 field 45 degree rotation, so you can play the pattern upward-down...
Drum pattern can be exported to MIDI clip anytime, via drag'n'drop, so the machine can be used to quickly sketch different variations of a beat to use with another instrument.

Here's how it works:

The machine is free to get and make noise with. Download here. You will need full version of NI Kontakt 5.6.6 to run it. Leave me a note if you find it fun, or useful, or garbage.

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).