Orgone Accumulator: Custom Wavetables
UPDATE: 10/20/2015 As with most tech-things, this article might become obsolete, or at least become the hard way to do things. With the release of Orgone 2.0, came a visual waveform transfer-tool. This will no doubt be handy for the non-programmers out there. Take a read of the developments: https://www.muffwiggler.com/forum/viewtopic.php?p=1912972#1912972
Anyway, please enjoy this article. At the very least, doing this procedure will help you get comfortable with the Arduino programming environment.
So, if you’re like me, the first thing you wondered was how to update the Orgone Accumulator firmware with your own wave-shapes. In my experience with wavetables, there’s a ton of variety in the tones you can get from single-cycle, looping waves. In this case, however, I hesitated putting in the work to create an entirely new set of waves because the stock ones are so good and varied. Still, there were a couple sounds (guitar, bass) that bothered me, so I decided to dive into the firmware anyway. This guide is for those who want to update the OA firmware with their own single-cycle waveforms from the Adventure Kid waveform library.
Prerequisites
You have installed the Arduino IDE and your computer recognizes the Teensy MCU.
You have downloaded the official Orgone Accumulator firmware and extracted the .zip file.
You are comfortable with editing a .ino (text) file, compiling it and uploading it to the Teensy.
For information on these steps, download and review the Orgone Accumulator build-manual (around page-4).
NOTE: I can’t be held responsible for anything that happens to you or your Orgone Accumulator while performing these actions. It is assumed you have a working build and have followed the build-manual’s instructions properly. These instructions are only valid for v.1.1-ish of the firmware. They may become redundant or outmoded.
Finding Interesting Waves
As you may have discovered, the stock waves on the OA come from a collection by “Adventure Kid.” The page catalogs something like 4,000 distinct (and some not so distinct) single-cycle waveforms. But--and here’s the catch--the Adventure Kid site only has pictures of the waves.
The actual data correlating to each waveform is included in the OA firmware .zip (”AKWF_converted” folder, AKWF_signed_int_512.zip), stored in text files.
How does one audition the waves and pick his favorites? Well, one way is to look through the thousands of .gifs and cherry-pick the coolest-looking ones. Unfortunately, the “coolest-looking” ones don’t always sound so great or they sound like a wave that’s already in the firmware.
I tried that and was disappointed, despite the jagged, glitchy, meandering wave-shapes. You have to audition them.
💿 The first step is to download the actual .wav files from the AK website: http://www.adventurekid.se/AKRTfiles/AKWF/AKWF.zip .
Extract that .zip to a folder on your hard-drive, maybe the same place you’re putting all your Orgone-related stuff.
But how to actually audition the waves? Enter FL Studio’s Harmless plugin. (Don’t have FL Studio? How about you download the demo: http://www.image-line.com/downloads/flstudiodownload.html )
In addition to being an awesome, synthesist’s dream of a soft-synth, it accepts...you guessed it...single-cycle waveforms as input!
💿 Browse to the folder that stores the AKWF waveforms, on the left. Click on the file and drag it on to the Harmless plugin window.
💿 Play around with your MIDI keyboard and type (or write?) down the filename of those files. There are 32 total waves included in the OA stock firmware, but there are some very useful, basic waveforms which I would not replace. The best way to start off is to think of replacing only the waves you want to replace.
Trust me, this method is lot easier (and more fun) than simply guessing which waves sound good.
By the way, of course you don’t have to use Harmless/FL Studio. There are many other soft-samplers out there that will do the job.
Editing the Firmware
So, you’ve got a list of cool-sounding waves. Great. Now the somewhat tedious part: copying and pasting the data that correlates to the replacement waveforms.
Where is this data? As I mentioned before, it’s included in the OA firmware zip file, the one that you grab from Github. (Yes, you have to download the whole repository.)
💿 Find the AKWF_signed_int_512.zip file and extract it.
Look at all the folders! Directories as far as they eye can see! Recognize the names? They’re the same as the ones from the AKWF .wav collection.
💿 Now, you could navigate through the directories, searching for the waveforms you jotted down earlier, but that takes forever. Just do a Windows (or whatever OS) search and open each .txt file as you find it. Yes, have them all open. You’ll see content like this:
Editing the Firmware (for reals this time)
Before performing the crucial, copy+paste operation, follow these steps:
Open the Arduino IDE and open the orgone_accumulator_official.ino file.
Save this file to a new name in a new directory.
Make sure that you’re editing the file that contains the wavetable data (see screenshot):
The wave-data code sections have obvious names indicating what type of shape or sound it is. Don’t like the “bassTable”? Start with replacing that one.
💿 Go to one of the text files you have open, copy the stuff highlighted in pink (after the brace--copy only the numbers, that is) and paste it into the Arduino window (again, after the brace), under one of the “const int16_t xxxTable[] =“ sections. Here:
Congratulations! You’ve just replaced one of the stock sounds with one of your own!
💿 A good idea would be to indicate which wave you used by making a comment in the code. Anything following two forward-slashes (//) is considered a comment, for instance: // AKWF_0183
Now, move on to the next section and the next, until you’ve replaced all the waves you want. Close each text file prior to moving on to the next, so you don’t get confused.
💿 Having trouble finding the exact wave you want to replace? The order of the waves is indicated in the code of the UPDATECONTROLS_CZ tab (or file, if it didn’t open automatically).
The comments indicate which wavetable (low, middle, or high) you’re modifying.
You can even change the waves that are enabled when “X” and “FM” modes are active. (Look at the UPDATECONTROLS_CZALT, UPDATECONTROLS_FM, and UPDATECONTROLS_FMALT files.)
💿 Final step: save the files you have modified!
The Real, Final, Final Step
Ok, the real, final step is uploading the firmware to the OA, using the procedure outlined in the official build-manual. It’s super-easy to do, assuming the Teensy is recognized and you already have a working build. Basically: just connect the sucker to your computer and hit the “upload” button (the one with the arrow).
Boom! Done.
Enjoy some music made with the OA, and some not: http://www.glitched.org , http://soundcloud.com/d01
Thanks for reading.
(d), a.k.a. “glitched”















