64KVJ Preview

Recently I’ve been playing around with writing some VJ software for the PC. I decided to do this after enjoying writing a handful of audio reactive sketches in Processing but then wanting to have something with more control. The other thing that Processing gave me was a desire to complete the project quickly without worrying too much about how well it was engineered. One thing that helped here was that I decided to fit the entire thing inside 64k – I guess you could even call this the spiritual suscessor to my 1KDJ program from last year. With only 64k to play with I didn’t have enough space to add things like giving the user the ability to load their own models, images or effects, or to reconfigure the way that the existing effects are set up. With these deliberate limitations in mind you can think of 64KVJ as a “fixed function” VJ program.

So I grabbed the code from my 64k framework (the one that I used for Transform) and started hacking away. I added Bass to listen to incoming audio and to give me a spectral analysis of the frequencies in the signal. I then use this to modulate the various effects so that, let’s say, the background effect animates faster when it sees loud bass frequencies. I could probably have done the audio input myself (I already have decent enough FFT code in my framework) but, to be honest, the thought of having to deal with Windows audio input was just too much, especially when Bass already exists and does such a good job of it already.

Next up is the control section. There’s a UI for this in a separate window, but the program also responds to MIDI. I bought a cheap MIDI controler with plenty of sliders and knobs (the really rather excellent Korg nanoKontrol) and configured the program so that the whole thing can be controlled directly with it. This means that I can turn effects on and off and chage their parameters using sliders and knobs, which is much nicer than using a mouse. I’m also thinking of possible live use with this program and my days of DJing tell that being able to tweak multiple controls at once will be a win.

The project is currently about 90% complete – I just need to tidy up the window handling code and fine tune the effects and it’s done. However, I have a couple of other, rather more urgent projects to get out of the way first so it’s currently sat on my virtual shelf. I plan to get it out later in the year when I have more time and I’m posting it up here for two reasons. Firstly, it’s a reminder so that I don’t forget about it. Secondly, I’m curious to know whether anyone else in interested in using the program. I would love to see this used live! Give me a shout if you’d love to get involved in making that happen ;)

More screenshots of 64KVJ in action after the break..

This entry was posted in atebit, Computers, Demoscene, Development, Music. Bookmark the permalink.

10 Responses to 64KVJ Preview

  1. JaK says:

    I’m working on something more big(at least in size for now) FFT, MIDI (i’ve got the same Korg controller ;D),…but off course using different window layout, behaviours and scripting.

    I’ll keep an eye for now. I have a serious GIG in setember, guess I’ll be in time to finnish my own tool,..but…

    Best regards!

  2. HoTWire says:

    This looks like seven shades of awesome to me,.. got to invest in some of those nanoKorg things, they look great.

  3. evilpaul says:

    Cheers for the comments. I love the nanoKontrol, but I’d love it a hundred times more if it had motorised faders and knobs. To get this type of tech you need to pay serious money for a “pro” control surface and none of those things have as nice a layout as the Korg :(

    HotWire: I watched a load of the latest lazy sunday videos for inspiration while I was coding this ;)

  4. HoTWire says:

    It’d be great to use this to do some visuals for the next LSV. We should make that happen.

  5. Knos says:

    LSV operator here :) I say boo to FFT syncing. Kill that functionality, it’s making you lazy :) (You got the right idea here with the midi controls)

  6. evilpaul says:

    HotWire: That would be great. I’ll drop you an email..

    Knos: Yeah, I know what you mean about the FFT sync. I’ve only recently started playing around with FFT sync and I’m liking it when it’s used in the right places. Having it trigger scene changes and trying to recognise beats seems doomed to failure and takes some of the fun out of things. Having it used more subtly seems to help a lot.

  7. HoTWire says:

    Cool thing, the next event is on 24th October. Have put forward for a DJ slot + visuals. Where abouts are you? Was planning to run it from my place in London. Get you and another guy to do the visuals together and I’ll do some DJing (old school records + Live) with my old DJ partner… but thats just how it is in my brain at the moment. Drop me a mail and we’ll see where we can go from here.

    Picking up one or two of those Korg Nano things when I get paid this week :D

  8. comankh says:

    can’t wait to see finished project some beta! as for controls i would recommend livid ohm, even cheapo behringers&evolution are waaay better than nano series, it feela way too plastic.

  9. comankh says:

    @Knoss – bear in mind that some vj’s use more than one machine, so sync (whether fft or midi) is helpful.

  10. HoTWire says:

    I just bought myself a Roland Cakewalk A-300 Pro … it has enough knobs, faders and dials to get going with this now :) …

Leave a Reply

Your email address will not be published. Required fields are marked *