I was thinking I’d use this for the Thank You screen that comes up when closing the game, and maybe some future credits/thanks screen. What do you think? There will be other options later on, though. I’ll see when I have more time and get my “studio” in order. Need to focus on the actual game now!
Good theme, you nailed the atmosphere (see my response on indiegamer). How can one get hands on ChipSound? Is it an app written by you?
ChipSound is a tiny sound/synth/scripting engine that I wrote some time ago. Started out as an attempt at coding a useful, decent sounding (as in, proper resampling and no clicks or zipper noise) sound engine in less than 2000 lines of C code. That was a success – but it’s since grown to about 4500 lines, due to a friendlier scripting language and stuff.
The design was actually inspired by the PC speaker sound code from my ancient Project Spitfire. (Portable version of that here; “speaker”.) Very simple monophonic thing with four “commands”: Pitch, Retrig, Stop and End. I just expanded on that idea, adding features as needed while trying to create simple sound effects and songs. The current in-game placeholder track in Kobo II is actually one of those very first experiments.
I intend to release ChipSound as Free/Open Source (LGPL or MIT/X11) when things settle down a little around here. There are no real editing tools yet; I just use a standard code editor along with a test dialog in the game. There is MIDI support (Linux only right now) for jamming, so one might hook it up with a sequencer if desired. It’s designed for low latency realtime, so wrapping it up as a VST or AU or something should be fairly straightforward, I think.
Wow, I really like the idea of being able to experiment and create sound effects and loops using simple commands. I sure didn’t understand all you explained because I’m not much of a music guy except occasional hobby-drumming but this sounds like an original project.
Well, I don’t know if the ChipSound language is simple, but it’s certainly more friendly than typing in hex data with a machine code monitor, which is how Hubbard and co did a lot of their stuff back in the day!
There is a right tool for every job, and I’m probably bending ChipSound over a bit here. However, it does the job, and doesn’t burn much CPU, so why not? Actually writing the music in it wasn’t really what I had in mind originally, but it was much easier than I had expected, so I just kept doing it that way. If I could just “type” commands in real time by playing the MIDI keyboard, it could actually be really effective.
The general idea of expressing sound and music using some sort of programming language is actually very old! CSound, SuperCollider and various others have been around for ages. ChipSound might have a different approach, but if there’s anything groundbreaking in it, that would probably be the strong focus on sub-sample accurate scripting control.
What I intended to do originally was just playing the usual sampled instruments and sound effects with some realtime control, and I went with the scripting idea instead of the usual envelopes, LFOs and whatnot, as the scripting allows you to implement pretty much anything without requiring five million features built into the engine. (“Simple” sound engines tend to be rather useless normally…) It just accidentally turned out to be powerful enough that I have not yet bothered using anything beyond the built-in waveforms!
Now, back to work! I have a few more things to deal with before releasing the Kobo II Tech Preview.