Sunday, February 7, 2016

Beat Assembler update

I made a small, but rather important update to Beat Assembler drum computer. Playback timing calculations have been improved, so the machine should not drift off set tempo. At least not quickly (in previous version it would be apparent after couple of measures). If you're using it, please re-download.
Extended version is just around the corner...

Friday, January 1, 2016

On reversing instruments in Kontakt

I wonder how would that piano sound backwards... That probably crossed every sampler user mind, at least once. Well, Kontakt has 'reverse' button, press it and Kontakt will play the samples backwards. However, the problem is, samples often have very long tails, so it takes a while until you can hear the sound and it's useless for dynamic playing. You would want to play the sample, but not from the beginning (or the end, depending on how we look at it). For this 'offset' parameter can be used, it tells the sampler from which point in the sample it should start playback. Now, another problem is, that samples have different lengths. To have more or less consistent volume envelope, when playing chords, you would want all played samples to reach the end of sample (reversed beginning) at the same time. Since offset is calculated from the beginning of the sample, and for reversed playback, from it's end, it's problematic. You would need to know the sample length for each note to calculate the proper offset. Considering velocity layers, it can be a lot of coding.
I wanted it, to be done automatically for any instrument, so I could play around with sound reversing. I came with somewhat crude solution, I wrote a script which will retrieve sample length for every note and every velocity in a group, remember it and apply offset accordingly when playing. To fetch the data for any sample set, I needed the script to actually play each note, so it could retrieve zone id and then sample length. Scanning takes a while, but in the end it's way faster, than doing it by hand. Here's a little presentation of reversing Kontakt's factory sitar.

You can get the script here. Both a preset file (which need to be copied to your Kontakt/presets/scripts folder) and as plain text that can be copied into Kontakt. It will work in Kontakt 4 or newer.

The shortcomings of this solutions are:
  • You can only use one group for reverse playing, so no round robin backwards.
  • It will work best on instruments build on sample per note basis. If samples are re-tuned, playback speed will vary and since offset is provided in microseconds, it will get misaligned. The more tune change, the more misalignment. To compensate for this, script would need to learn root key for each sample, which I don't know how to automatically retrieve in KSP.

About using the script:
  • First locate the group you want to reverse and set '' accordingly. First group has index of zero.
  • Change sampler mode to 'sampler'. Disadvantage here is, that it will load all samples to memory, but offset parameter doesn't work in DFD mode. If you need to use DFD, you would have to edit 's.mod' value in wave editor to match sample length. And do that for every sample. No fun.
  • Switch reverse button!
  • You can adjust 'interval' setting, it's time to take to scan single note/velocity combination in microseconds. Lower the setting to scan faster. However I found that at low settings, the script failed to retrieve data correctly, 500 didn't work for me, 1000 did, but this may depend on settings/setup. I would consider 3000 a safe setting.
  • Now press scan button and wait for it to complete. If you need to break the process press it again.
  • Scanned data will be remembered in DAW project / patch, so if instrument/project is saved, you don't need to scan again.
  • Note that, the scanner will skip any note that hasn't a sample mapped at velocity of 1, to speed up scanning process.
  • Position knob sets the offset value, that is how far from the beginning should playback start. You can adjust this value while playing. Try not to exceed shortest sample length, or shorter samples will get misaligned.
  • When duration knob is set to zero, samples will play as long as the key is held (or until they reach the beginning of a sample). Any other setting will generate notes of fixed duration, defined in percentage of offset setting. You can use it, to prevent playback to reach the beginning of the sample and for smoother sound tail, if combined with volume envelope.
  • This script can interfere with other scripts, particularly those which also do ignore_event, play_note sequence, like factory portamento script, so you may need to disable other scripts, if it doesn't work.
  • Have fun reversing!

Thursday, December 31, 2015

Happy New Year

Just one sample for today. I recorded firing up fireworks battery, grimly named "Dracula". Here's 40 seconds of colorful mayhem (I assume it was colorful, as I was watching level meters...), captured with Sony PCM-D50, 96kHz, 24 bit, stereo, 18MB in rar file. Free to grab and use as you please. Happy New Year!

mp3 preview here

Tuesday, December 8, 2015

Beat Assembler

This experiment took me a while to complete and it made me scratch my head pretty hard a couple of times. I wanted a drum machine in Kontakt, that wouldn't be bound to 4/4 signature and standard time grid. Also I wanted to break with table based patterns and have visual presentation more like in a DAW.
Beat Assembler does that and more. It's a drum machine with sequencer, which can generate automatic program according to preset scheme and set of parameters. It creates a master pattern which then is being fit into a time-frame, matching current tempo and time signature. The pattern can be quantized to defined grid, which can use a range of unusual note fractions, like 1/5 or 6/11, everything being visualized on the fly. The machine also lets you define time signature manually, so you're not limited to 4/4 in standalone mode, furthermore allowing some irrational settings like 4/3 or 5/7. So, if you like to experiment with strange percussion patterns, you may enjoy this one.

Additional features include:
  • four voice groups with automated distribution, where you can set effects and modulation parameters for each group;
  • manual sequence editor, so you can move notes around the grid; 
  • note recorder, so you can play a pattern by keyboard and then quantize it inside out.
Here's a video, where I'm trying out the machine:

Beat Assembler is free to get and play with. It requires full version of Native Instruments Kontakt 4 or newer. Download it HERE. 6 MB, RAR archive. Have fun!

I am considering getting the machine a bit further into the unknown and release a paid version with some extra features. If you enjoy Beat Assembler, check back in a little while, or subscribe to my youtube channel, so you'll get notified if/when it is available.
Planned extra features (so far):
  • bigger sequence size, 128 maybe more notes; 
  • scalable drum kit, so you could load a drum kit of any size and use custom number of voice groups;
  • more preset schemes, like 1000000 more;
  • memory system, so you could memorize several configurations and recall them from midi keyboard.
Concerning the midi export as requested in the comment, Kontakt 4 can't write midi files. But it does output midi! All you need to do is to go to 'options > engine > send midi to outside world' and make sure 'script generated notes' option is selected. Now, if your DAW supports it, you can patch Kontakt's midi output to a midi track and start recording right away.

And... Yes, I'm planning adding drag'n'drop midi export to Beat Assembler extended version, so it will require Kontakt 5.

Friday, December 4, 2015


Rekombinator is new instrument/sample shell for Kontakt, I've been working on. It takes a sample, splits it to fragments and re-sequences them to create new sounds. It can restructure drum loops, create evolving drone pads, glitch effects or turn a voice into robotic madness. In short, it's lot of fun. At least it has been for me.

This instrument requires full version of NI Kontakt 4.24 or newer and is available at Kontakt Hub.

If you'd like to examine detailed description, here's fairly confusing operator's manual in funny English.

And here you can see it in action:

Monday, July 13, 2015

The Device

The Device is yet another instrument in series of automatic noise sequencer toys for Kontakt, that I have been tinkering with. I consider it more or less a failed experiment, I'm not sure, if it grew too complicated or I just have lost the drive for it. I was planning to just bury it deep down a hard drive, but after a little hesitation, I decided to share it for free, as it is. This machine is in 'almost finished' state, meaning that it is basically fully working, but it lacks documentation and deeper testing, both of which likely won't happen anytime soon.

This space age instrument can play back a 10 layer set of sound sequences, along with sequenced modulators program. Sequences can be picked randomly, picked by an id number or programmed by hand, although the last option is somewhat tedious task. The instrument is using two main sample sets. 'Space circuits' set is analog electronic, created with an old Sequential Circuits synthesizer. 'Alien waveforms' set is mainly made of acoustic recordings, stretched and re-shaped digitally. Together there are 160 wav samples, 44,1 Mhz/ 16 bit. And here's a 'glimpse through' the device's interface and possibilities.

If you would like to explore this machine, you can download it HERE, 12MB rar archive. Note that you need full version of Native Instruments Kontakt sampler, version 4.24 or newer to make it work.

There is no manual and I'm currently not planning to write one, however I can offer some tips:
  • Use 'info pane' feature, all controls should have some explanation there.
  • There are three patches which are different in maximum step sequencer size, basic version has 48 steps, other patches offer 64 and 96 steps sequences.
  • When automatic modulation is off, you can set layer properties (tune, filter cutoff and such) by hand, using display panel.
  • Memory will only store automatically generated programs.
  • You can also save spatial effects configuration and current kit in memory, using optional save switch.
  • Modulators can be bypassed completely in automation panel, volume modulator is bypassed by default.
  • Pitch table in setup panel is obsolete, basically it has no function anymore.
  • Structure knob overwrites settings in setup panel, manual edits to those settings will be saved as current structure knob settings.
  • Yes, it is fairly confusing device.
  • To use custom samples simply drag samples into existing groups, the machine assumes samples are assigned starting from note 0, after changing group contents update 'sample count' setting for given layer/group in sequencer monitor. You can use auto 'detect' button.
  • Change group names to re-name layers.
  • Locking a layer will prevent the machine from automatically writing layer sequences, but they can still be edited manually.
  • MIDI keys functions can be edited freely.
  • This instrument is largely similar to Cracklebot and Haunted Jukebox, which actually have manuals. Sonocipher is basically The Device with different sample-set and GUI.

Thursday, June 25, 2015

Radiostatic Percussion

Radiostatic Percussion is experimental electronic percussion sample set I have created from radio static noise and interferences. I hooked up an old Japanese radio receiver from late 70's to self oscillating Moog low pass filter and I've been dialing through waves of white noise, strange buzz broadcasts and radio interferences. Then I have sliced these recordings and digitally re-shaped the volume envelope to make them resemble percussion sounds.
The result is quite unique set of warm, noisy, lo-fi, analog electronic percussion hits and effects. When sequenced into a drum pattern, it sounds like this:

Selected sample set from this experiment is available for free right here. There are 50 one shot samples in wav container, 44 kHz, 16 bit, 1,5 MB zipped. If you like it, the full set of 166 samples is available from Sampleism at a price.