Creating music
by NeoLogiX
Contents
Pre-amble
The default Sphere IDE can create almost everything you'll need to make a basic game: bitmapped fonts, PNG format images, spritesets, windowstyles, tile-based maps, and even simple MNG format animations. Unfortunately, it cannot create music. This tutorial will point you to programs that can create music you can use in your Sphere project, as well as provide you with simple steps showing you how to use those programs. What kind of music you create is up to you, the creator, and for which kind of game you're making it. How to compose music is beyond the scope of this tutorial, but I'm sure you'll find something if you search for it.
Formats Sphere supports
Sphere uses the Audiere library as its sound processing core. At the time of this writing, Sphere supports the following sound file formats for use in your projects:
- AIFF (*.aiff, *.aifc)
- MP3 (*.mp3, *.mp2)
- Ogg Vorbis (*.ogg)
- FLAC (*.flac)
- Music Module (*.it, *.s3m, *.xm, *.mod)
- Speex (*.spx)
- MIDI sequence (*.mid, *.midi, *.rmi)
- RIFF Wave (*.wav)
For documentation regarding each particular file format, I recommend you Wikipedia it until I actually put links to the definitive documentation sites of each format.
Programs that create music supported by Sphere
During my many travels on the internet, I have found a plethora of programs that create music one way or another. There are still many more I have neither discovered nor heard of, and this is where I would need your help. Email me or PM me with any music programs not on this list that you know of and/or have and I'll be sure to include them here. Some are freeware, others shareware, and the rest commercial. I will do my best to list the price type for each, as well as the target operating system(s). Almost every program that edits sound can save to a standard RIFF Wave file, so this list will focus on what can CREATE the sound in the first place. The majority of the listed programs can output the sound to a standard RIFF Wave file, but a few of these can also save to Sphere compatible file formats. Some of the more commonly used programs will be expanded upon below.
Freeware sound creation tools
- Modplug Tracker (Win) recommended if you can't use Impulse Tracker
- Impulse Tracker (DOS) recommended
- MadTracker (Win)
- Psycle (Win)
- Jeskola Buzz (Win)
- Skale Tracker (Win)
- BeRoTracker (Win)
- Cheese Tracker (Linux) recommended
- SoundTracker (Linux)
- Schism Tracker (Linux)
- MuseScore (cross-platform)
What is a Tracker?
Modplug Tracker
More information and download: http://www.modplug.com/trackerinfo.html
General overview of ModPlug Tracker: http://en.wikipedia.org/wiki/ModPlug_Tracker
Impulse Tracker
More information and download: http://www.users.on.net/~jtlim/ImpulseTracker/ (note: it seems the Impulse Tracker website moves every few years, so take caution)
Mad Tracker
http://www.madtracker.org/about.php
Jeskola Buzz
http://en.wikipedia.org/wiki/Jeskola_Buzz
Coming soon…
Commercial sound creation tools
- Cakewalk Pro Audio/SONAR lines of programs (Win, OSX)
- Image-Line Fruity Loops/FL Studio series (Win)
- Awave Audio/Studio lines of programs (Win)
- Steinberg Cubase series (Win, OSX)
- Apple Garage Band (OSX)
- Apple Logic Pro (OSX)
- MOTU Digital Performer (OSX)
- AVID Pro Tools series (Win, OSX)
- Adobe Audition (Win, OSX), Adobe Soundbooth (Win, OSX)
- Renoise Tracker (Win, OSX, Linux)
Cakewalk Pro Audio/SONAR
Can save to RIFF Wave, MP3, and MIDI file formats. More to come…
FL Studio
Can save to RIFF Wave, MP3, and MIDI file formats. More to come…
Awave Studio
Can open almost every format under the sun. Can save to almost every format under the sun. More information and download demo: http://www.fmjsoft.com/
Cubase
More to come…
Logic Pro/Studio
More information and order: http://www.apple.com/logicstudio
Audition/Soundbooth
Can open many formats. Can save to almost every sampled format under the sun. More to come…
Renoise
More to come…
Looping music
Music modules have become the preferred format of choice when creating music for Sphere, mainly because of the ease of looping the song at a point that's not the beginning. MIDI sequences and Ogg Vorbis waveforms are pretty much tied for second most popular sound format in Sphere, Ogg Vorbis for its audio fidelity, MIDI sequences for the small file size. Calling the Sound.play function with loop set to true will loop modules from the point specified in the file once the song reaches its "end." Unfortunately, Ogg Vorbis files suffer from the same limitation that any RIFF Wave based sound format does: it cannot loop normally using Audiere. Even if your sound editor puts in non-audio information that allows it to loop in that program (Adobe Audition is a good example), Audiere is not programmed to process such information (at least, not to my knowledge). When such a format is read into Sphere and you call Sound.play function with loop set to true, Audiere will loop the song from the beginning of the audio track. Intrepid coders can script looping capabilities into non-looping waveforms using the Sound.isSeekable, Sound.getPosition, and Sound.setPosition functions.
More to come…
In closing
I wanted to start this document so that I don't forget the info I was going to put in it and so that it can be continued at a later date. Hopefully the next update of this article will include how to create a song in the programs listed above. --NeoLogiX 19:30, 23 July 2007 (IST)