Elektronika video tutorials playlist

Link to the playlist for all the Elektronika video tutorials on youtube I have produced so far:

Join the Elektronika Facebook user group for more tips, info and to see what other users are producing:



Development update

I’ve recently created a template for the Akai APC40 using Bome’s Midi Translator Classic and MIDI Ox which allows you to use the APC with Elektronika – with the LEDs driven by feedback from Eletronika. I will upload this with instructions soon.

I’ve also been working on a stand-alone version of the Pixel Shader effect found in the Dimension module. I hope that by recreating this effect, I can track down the cause of the blurriness in Dimension, and fix it.

I’m also considering making a Spout module, as this would be useful not only for getting input from other visualitions apps like Milkdrop and ShaderLoader, but also potentially for connecting two copies of Elektronika.



Additional 98 Wrapper effects

I recently came cross some additional effects for the 98 Wrapper module which are not included with Elektronika. There are two available from here, SoundWaves and RadioAktif. The .dll files go into “C:\Program Files (x86)\AESTESIS\Elektronika\plugins\98” and the POLAR.TAB file should go into “C:\Program Files (x86)\AESTESIS\Elektronika” (if not, Elektronika will crash trying to re-calculate this file).

There are also another 4 effects available from here, again the .dll files should be copied into “C:\Program Files (x86)\AESTESIS\Elektronika\plugins\98”

I will post some documentation on how to use these shortly, but you should be able to get some interesting results just by playing around with the controls; remember that the 98 Wrapper module needs sound input from an Audio In module in order to work properly.

Development tips + info

In order to compile Elektronika from source, you’ll need the following:

  • MS Visual Studio 2010 (or newer – but this might break backwards compatibility with older source)
  • DirectX SDK – August 2007 (this is the last version to include DDraw.lib)
  • Windows SDK v7.1 (Others may work. You might need to un-install C++ 2010 redistributables before installing it,  and then reinstalling them afterwards)
  • QuickTime SDK (you may need to remove qtmlClient.lib from videoPlayer project>libraries, and replace with new QTMLClient.lib from SDK install folder)
  • The Elektronika Source Code (available from here)

You’ll need to include these in your Windows PATH environment variable, and you’ll probably have to update the Elektronika Project as it references the Aestesis SDK files in arbitrary directories you probably don’t have – e.g. D:\Aestsis\SDK\Inc and D:\Aestsis\SDK\Lib

The project is a bit messy, so when I do release a new version of Elektronika, I’ll upload a cleaned up version of it to my BitBucket repo, which should make it easier to work on.

In order to create new modules for Elektronika you’ll need:

You should choose ‘C++ MFC/AFC DLL’ as your project type when creating a new module, and then you’ll need to include the SDK libs in your project. The best thing to do would be to download the Example Projects from the Elektronika Github repo and/or my new modules from my BitBucket. If you’re still having difficulties with compiling, leave me a comment and I’ll try to help.

When you’re making your own modules, you’ll need to create new GUIIDs for your controls (there’s a GUIID generator tool in the Elektronika Github repo), and set the memory addresses at the top of your files for your module – unfortunately this is completely undocumented, so thus far I’ve been shooting in the dark with these and making them up based on the values of other modules).

Development update

The mirror module is now almost finished (needs an updated User Interface, ‘Bypass’ option, and ‘On Beat option’). You can grab the current version from my BitBucket (click on mirror.dll, and then on ‘View Raw’ in order to get the latest version). I’m considering either making the ‘Inside Cube’ (aka room) 3D effect for the Dimension module, or a player module which takes a directory as input and plays random files contained in that directory (possibly with a ‘sequential’ order option) – this could be kind of useful in allowing playlists to be created using folder structure rather than Presets.

Amin Al Baso from the Facebook group has been working on a TouchOSC template for controlling Elektronika, which looks very promising. There are a couple of things that still need to be worked out, but the work he has done so far is impressive; I’ll post a link to the template when he’s finished.

I have also created a dedicated development group on Facebook for discussing the future of Elektronika, both in terms of software development, and a potential crowdfunding campaign to pay for major updates by an external developer, as there are some fairly complex core functions that would benefit from an overhaul.

Network23 usage infographics

Network23 UI infographic

In the following images, the “Sender” instance of Elektronika is on the left, and the “Client” (receiver) is on the right. If you look closely, you can see there is at least a 1 frame difference between the output of the two instances, and this is liable to be higher over a ‘real’ network than it is here (over localhost). Additionally, if you’re sending SD video to a client with an HD output, the image will be scaled up by the receiving instance, which may help improve performance. Experiment a little to see what works best for you. I should also mention that it looks like it’s designed to transmit audio at 44.1khz – I’m not sure if the Sender resamples it if the original sample rate is different.

Network23 setup Front

Network23 setup Back

In theory you could wire the Sender instance QT -> V-Out -> Network23 instead, but this is more likely to introduce further lag between the output of the two instances – so I recommend having the input of the “Sender” Network23 wired to the same output as your V-Out (or Dimension) is connected to if possible.