Making some chiptune French house using the Commodore 64 and Alesis 3630.
Here, I’m using Paul Slocum’s CynthCart to turn my old C64 into a SID synthesizer. We run those licks into an Alesis 3630 compressor, side-chained to a kick drum (from an Alesis D-4), and then we have some pumping French house. Finally, we add some finishing touches with delay, reverb, and EQ in Logic Pro, as well as a cameo by an Electrix Warp Factory hardware vocoder. Download the track here for free:
Pd running MIDI to an ArduinoBoy controlling a Game Boy running trash80’s mGB software to generate triumphant RPG music in real time.
This simple(-ish) Pure Data patch generates four channels of MIDI, corresponding with the four channels of the Game Boy’s sound: two pulse waves (channels 1&2), a triangle wave (channel 3), and noise (channel 4).
The arpeggio on pulse channel 2 is just a simple sequencer, with some “echos” created with [pipe] objects. The “drums” are created by a sequencer triggering random notes on a sequence too.
The remaining channels are slightly more sophisticated. First, we select a rhythm for each measure, then trigger notes on pulse channel 1 at that rhythm. There are only five notes (from a hemitonic pentatonic scale), and each note has two or three possible harmony notes, to be played by the triangle channel.
I’ve put together some videos on using microcontrollers (like Arduino) for music and sound applications.
In these first few videos I go over how to do some simple synthesis with an Arduino, controlling pitch and timbre with potentiometers and light-dependent resistors (LDRs)–essentially putting together some Arduino chiptunes!
I originally made these instructional videos for my class, but I’m hoping to continue to build on this playlist if there’s interest.
Since last time, I added MIDI control and transferred things to a smaller circuit board (and Arduino) in order to fit everything back in the original case.
So what does this little synth do? It takes MIDI notes (from a keyboard or DAW), and uses them to trigger the sounds built in to the Intellivoice chip, which, as it turns out, consist of mostly numbers.
Check it out:
I might look into a few more tweaks. Currently, each word will always play to the end, even if another word is performed before it’s finished. I’m not sure if this is a property of the Intellivoice chip, or something I could fix in my Arduino program.
Why pursue a project like this one?
Games and gaming hardware are mass-produced devices with planned obsolescence and few serviceable parts. By “hacking” and customizing gaming hardware we regain personal ownership of these devices, and we can turn obsolete equipment into performable, expressive instruments.
An earlier version of this synth actually appears in the electronics of my new commissioned work, Hirazumi (more about the piece here and here), and I think the hacked Intellivoice fits perfectly into the post-digital, cyberpunk aesthetic.
Back to the Sega Genesis Mods! If you’re catching up, check out Part 1 and Part 2.
Where we left off, I had found my glitch points, and I was going to get digging in to some kind of button control before moving on to MIDI control.
Here are the pins of the VRAM with some wires from some selected spots. Purists might fault me for not running off of all of the 44 available points (48 minus the two VCCs and two grounds), but I didn’t have that many buttons anyway.
After taping things down, I ran the wires to a set of headers. The reason for using headers is to keep the ability to remove the top of the Genesis if I want to get back inside for any reason.
I had a phone keyboard kicking around, and I figured this would be a simple alternative to setting up a matrix of buttons. How this works, then, is any one button connects two points (which two points hardly matters), and if one holds down multiple buttons at the same time, several data points start cross-talking with different visual results
Are you ready for this?
Here’s a video of it in action:
Now, of course, while I’m stoked about my new toy, this instrument is not yet what I set out to do (and what the title of these posts proclaims).
MIDI-Control, though is just a quick hop away. Next time, I’m going to get a new Teensy, install it in the Genesis, and program it to control the connections via USB MIDI control (likely with some simple transistor work).
Continuing my Sega Genesis Project, now that I’ve got the video in a form my TV can understand, time to start messing with things.
Repeating my disclaimer: Messing with things plugged into an outlet is dangerous! I’m only doing this because the Genesis has an adapter that converts the voltage to 10V DC long before the power gets anywhere near the board.
When in doubt, only circuit-bend things that are battery powered. Think of how embarrassing it would be for your parents (or wife and son) to explain that you died trying to get glitchy video from a game system.
Anyway, that said, time to start poking around a bit.
These are the Video RAM chips whose connections I’m going to bridge. They have 24 connectors apiece, and one on each is the power, one on each is the ground, everything else (I believe) is data. So all we’re going to do is send some of that data to the wrong places.
I’m going to poke around the bottom here, because the contacts are more accessible.
(By the way, the resistor and capacitor you see here are not my work, just an afterthought by the designers of the PCB.)
That looks pretty glitchy to me.
I’ve found a few points that give a variety of effects (relatively). The next step (next time) is going to be installing a way to control these. I’ve decided I’m going to start with a push-button system before moving on to the MIDI control for two reasons:
1.) Moving in small steps seems wise.
2.) I’ve used up this month’s tinkering budget, and I’m going to need a Teensy to get the MIDI working.
The Genesis uses a Yamaha FM synthesis chip for sound, which might be interesting to dig into at some point, but my main goal in cracking this machine open was to try some video circuit-bending: apparently pretty easy to do, bridging the legs of the VRAM.
First, though, I didn’t have the little box that I need to hook the Genesis up to the TV, so, instead of trying to track one down, I decided to install component video RCA outs.
So, away we go!
After some poking around on the internet, I found that there are lots of different revisions to the Genesis circuit board, and this, the VA7, is apparently the least desirable. The audio is actually synthesized on a different chip, but Sega didn’t account for the difference in output volume of the new chip in the internal amplifier, so the sound has all kinds of digital distortion.
Well, that just means if I fry this thing, I won’t feel so bad.
Quick disclaimer: Messing with things plugged into an outlet is dangerous! I’m only doing this because the Genesis has an adapter that converts the voltage to 10V DC long before the power gets anywhere near the board.
When in doubt, only circuit-bend things that are battery powered. Think of how embarrassing it would be for your parents to explain that you died trying to get glitchy video from a game system.
Hearing the complaints about the sound on the VA7, I did a quick adjustment by adding a resistor to pull things down a bit, and a capacitor to roll off some highs (I think that’s how it works. Someone please correct me if I’m wrong).
I’ve since found someone designed a Crystal Clear Audio Mod, which seems a lot more involved (and likely better) than my “quick and dirty” solution.
Success! Next step: start glitching that video feed.
Check back for Part 2 soon.
“Inspiration does exist, but it must find you working.” – Pablo Picasso