Kobo II: Another song WIP

Yesterday, I started playing around with a basic drum loop made from sound effects from the game. The usual text editor + ChipSound exercise, using only basic waveforms. I sort of got caught in the groove, and came up with this:

Tools used:

  • ChipSound – oddball sound engine with realtime scripting
  • Kate – KDE code editor


  • Song size: 2983 Bytes (LZMA compresed script source)
  • Engine size: 69 kB (64 bit .so for Linux; 27 kB compressed)
  • All sounds implemented with simple oscillators and realtime scripting
  • Waveforms used: Triangle, saw, square, sine, “SID” noise
  • Filters used: None! (Not yet implemented.)
  • Effects: Trivial stereo feedback delay applied to the master output
  • The song is all mono; only the master feedback delay is stereo

(Yeah, all but the first are the same as for the title song WIP posted earlier – same engine, same methods.)

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! :)


About Olofson

Founder of Olofson Arcade.
This entry was posted in Development, Kobo II. Bookmark the permalink.

4 Responses to Kobo II: Another song WIP

  1. 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?

    • Olofson says:

      Thanks! :-)

      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.

  2. 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.

    • Olofson says:

      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. :-)

Leave a Reply to Matyas Fabian Cancel reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>