Skip to main content

Producing MIDI music for mobile phones / cellphones Part 212 min read

by Piotr PacynaGo back to part 1 of this article

6. Controllers

According to the most common opinion one should use only those controllers that are absolutely necessary. Well, it is true, but not quite the whole story. Yes, some old devices are unable to read anything other besides Patch Change and the Volume controller, but all those new ones give us more possibilities. So, what controllers do I use?

Well, the top my each MIDI track looks basically the same:

Program Change – Patch number
Controller 7 – Main Volume
Controller 10 – Panning
Controller 11 – Expression

The first two need no explanation. And when it comes to Panning… Well, I’m not even sure if this controller affects the sound in any way, but I always use it. Some years ago I had the opportunity to work for one of the biggest guys in ringtone business and one of the requirements was to pan all the instruments centrally (Pan = 64). I believe there must be some secret reason behind it, but they never revealed it to me.

And the next controller – Expression. Now, this is fun. Once I had a problem with some Motorola phones (e.g. E398) – no matter how high the Volume controller was set, the sound was quiet. Way too quiet. I had no idea how to fix it and started to fool around with the controllers and it turned out, surprise surprise, that unless you set the Expression to maximum value (127), you would have the abnormally quiet sound.

Pitchbend. Use it deliberely and only on better devices (see section 10. to find out what I exactly mean by that). The older ones either do not support it or start behaving in an uncontrolled way. Also – keep in mind that Pitchbend messages increase the file size and the size is something that definitely matters here.

A little tip. Remember to reset the Pitchbend right after each part. It’s important to tweak diligently, as you will use this in many parts of the song. Otherwise the track will be becoming gradually more and more detuned, especially if the song will be played in a loop.

Occasionally I play with CC 1 (Modulation) and 64 (Damper Pedal). This can lead to very interesting effects, but beware of overdoing it. Especially with the pedal effect, because it has an unrestrained appetite for polyphony. So make sure to reset it frequently thorough the song.

Recording from Sony Ericsson K300i. You’ll clearly hear the Pedal on the melody, but pay attention to the background pad – it’s one of those bugged sounds; it’s subtle, but adds a zest to a track.


7. Quantization, note lengths and looping

There is one funny thing about quantization on mobile devices. Everyone knows that they should quantize, but no one knows why. I didn’t know that either and my first songs were not quantized at all – why not giving the music more human feel, I thought to myself. And yeah, the level of emotion the clients expressed was indeed very human. They were pissed at me!

Unquantized notes tend to overlap each other and it causes troubles with the polyphony, increasing it to a ridiculously high value. Sometimes it occurs as a note stealing while sometimes the song slows down and then starts to speed up again until it reaches the original tempo. It’s horrible! That’s very much the case for some LG U-series and Sharp GX-series hand devices.

For this reason it’s good to shorten all the notes a bit after quantizing them. Shortening for 64th note is enough. The point is to prevent them from being “glued” together. I set all the drum notes to 32nd and if there are any fast parts with lots of short notes even to 64th.

And looping. “The song does not loop properly” – this is an example of another comment that I kept on hearing from clients almost as often as swear words!
To get a decent loop you should keep the outro of the song as simple as it’s only possible. Avoid any instruments with long release times, such as strings, pads or cymbals. The very simple endings with, for instance, kick drum and bass work best. The easiest and most effective way to check the track looping is to take just the last few bars of the song, set it as a ringtone and see how it works.

8. Chorus, reverb and delay.

Ofcourse I don’t mean the actual effects here, as unfortunately there is no DSP effects to enhance the inherently weak GM patches that are built-in in cell-phone synthesizers. You’ll need a sort of workaround to achieve reverb, chorus, or delay.

Many of our readers began their musical careers in the early 90’s with tracker programs such as Noise- or ProTracker. They will probably smile with sympathy now, as we use basically the same old tricks. For instance, you can copy the melody track to a different channel and detune the two using Pitchbend to create a chorus effect. You’ll get a pretty neat chorus by tuning one of the tracks up some cents and the other down exact the same amount of cents. Expand those values a little bit if you want to have more intense chorus. Luckily you don’t have to bother with mono compatibility here (in contrary to real stereo sound), so you’re free to play around. Practically all patches, perhaps aside from acoustic pianos, can benefit from this technique.

If you want to have reverb you simply copy the melody line to a new channel, time-shift the second line by, say, a 32nd note and reduce the second channel’s volume to about quarter that of the original (remember to use CC#7 instead of velocity!). Experiment with 64th note for sort of short, room reverb. Repeat the whole process and increase the second channel volume for longer reverb time. Using a breathy patch like a flute or ocarina for the time-shifted channels can add the airiness typical of reverb tails. And remember the general rule, that also applies here. Reverb is best when you don’t notice it when it’s on, but you miss it when it’s off.

Delay can be created in quite a similar manner. Again, copy the original track to a blank channel. Then time-shift the second line by a quarter note, eighth note or triplets and reduce the second channel’s volume to taste. If you want to increase the “feedback” of the delay, simply repeat this process multiple times. You can use the same patch for all delayed copies, but it’s more interesting to take a different one and try to emulate Low Cut or High Cut filtering.


Recording from Nokia 6300.
00:00 – the melody with no effects,
00:17 – chorus effect,
00:34 – reverb and delays.

9. Useful tools.

There are many tools for mobile music producers. I will describe only my favorites, without which I can not imagine my work.

Beatnik (commercial)

I’ve already mentioned it in section 1 of this article, when I was writing about the realtime polyphony. I use it mostly for editing the SP-MIDI (Scalable Polyphony) information – I believe that anyone who even had a brush with ringtone production knows that format. The subject is vast, complicated and far beyond the scope of this article. But if there is a demand for it, I’ll consider writing another text devoted to that matter. With Beatnik we also have an access to LED and vibrator and we can use, for instance, kick drum or bass notes to control the vibrating motor of the device. You can easily make an illusion of bass that blows the pants off! One interesting tip. I always put the basic instruments on the same channels – bass on channel 2, melody on 4 and the main background on channel 3. When we know on what channels are the key instruments, we can set the SP-Midi priorities much faster.

ATS-MA2 (freeware)

Simple, very useful program to convert MIDI files to SMAF MA-2 (MMF extension).
Preparing a MIDI to convert and the nuances of the SMAF format itself is another broad topic that could be expanded in the future article.

ATS-SMAFPhraseL1 (freeware)

A small app to convert MIDI files to 4-channel SMAF Phrase (SPF extension). Making a 16- channel MIDI file to sound good with only 4-channel is a challenge… One might say what’s so complicated about it? Just scoop out the essential channels, right? Haha, no! And it’s like walking on a tightrope, really. Another subject that should be given more attention.

PSM Player (freeware)

Very nice tool that I use mainly for global volume changing. It saves a lot of time while making different volume versions that I’ve described in section 5. Thanks to PSM Player I don’t have to dabble with editing every channel of every MIDI file, but just go to Setting -> Volume -> Volume and set it for, say, 50%. And voila, that’s all!



XM 2 MIDI (commercial)

A great program to convert XM (Fasttracker) modules to MIDI. If making a tracker module from scratch is easier for you than making a MIDI file, this little tool is an absolute must! Of course you need to put some extra work into such a converted MIDI, but all in all it’s an amazing utility.
Alcatel Multimedia Conversion Studio (freeware)

This one has many options, but amongst others allows one to convert MIDI files to a very rare Alcatel format called SEQ (MSEQ extension). Although I produce SEQ files occasionally, I use AMCS on a regular basis. Why? Well, for me it plays a similar role as Avantone Mix Cubes do in the real music world; every little mistake gets magnified and amplified. The old Alcatel devices, for which AMCS was designed, offered an extremely limited selection of patches and poor polyphony. I believe that if something sounds good there, it will sound good everywhere. Even on washing machines.

10. Real hardware testing.

And the last point, which I believe is the most important of all. Testing the files on real devices is crucial and absolutely necessary, as emulators are far too often unreliable. Therefore, my suggestion is to get a list of currently popular phones and buy them – it will be an investment that quickly pays for itself. Of course you don’t need to have them all. I keep having just 10-15 of the most popular at the moment. Furthermore, all major companies employ QA Testers, who are checking every game on hundreds of devices with the patience of a Benedictine monks, and if there is a problem with the sound somewhere, they immediately get to you. They send you over a recording of problematic portion of the song and you have to figure out what’s wrong. Usually the things get fixed fairly quickly. But it happened once or twice that I couldn’t help, time was running out and we ended up having a game without the sound on this particular phone.

I deliver each polyphonic composition in the following formats:


It is most important, the most extensive format designed for the best phones. This is where I allow myself to go a little bit crazy with reverb and delay, use additional percussion instruments or go low with the bass. In short – here I do everything that I’ve described as “used only on better phones.”

Alcatel + LG + Sagem

Prepared for the oldest, weakest mobile phones and also used in case of memory problems on all others. Features:

  • Files are significantly smaller in size than SP-Midi,
  • Less than 16 voices polyphony
  • Only the absolute basic instruments
  • Only the most necessary controllers
  • Drum part is simplified right down to its essentials, less instruments compared to SP-MIDI
  • Chorus, reverb and delay are absolute no-no’s
  • A tempo rate rounded to the nearest value and no tempo changes during the song
  • No patch changes on the track – only one instrument on each channel.
  • Sony Ericsson

Sometimes people ask me what is my favourite mobile phone sound-wise. I’m not sure. But if I was pushed into a corner I guess I would have to say it’s Sony Ericsson. Sometimes I get carried away by its sound. MIDI files need some tweaking before they will sound good on these phones, though.


MIDI files designed for best possible playback on Siemens phones. They are sort of beast to bridle…


SMAF MA-2 files.


4-voice SMAF Phrase files.


Monophonic (1-voice) files for the old Nokia series 30 phones. This article deals only with the polyphonic music, so I’ve decided not to get into 1-channel music production. Especially that it’s almost as complicated as polyphony stuff!

Closing words

Rob Hubbard, the famous C64 composer, once said, that music programming in assembler code was like writing music with boxer gloves on, with two hands tight behind your back, trying to use your big toe. I think something similar can be said about making music on the cell phones. In both cases there are plenty of restrictions and we have no choice but to be creative. But hey, being creative is always a joy!

I hope this article will help you to save some time and will be a starting point for making your own discoveries. Because there’s still a lot to discover. And I absolutely do not consider myself an all-knowing expert on the subject; phones surprise me all the time and I constantly learn something new. Besides that, remember there are still new models being released and it means exciting new opportunities on the one hand and the problems and bugs on the other. Watch this space!

About the author: Piotr “JazzCat” Pacyna is a
Poland based producer, who specializes in video game sound effects and
music. He has scored a number of Java games for mobile phones and, most
recently, iPhone/iPad platforms. You can license some of his tracks here.

Bjorn Lynne

Bjørn Lynne is a Norwegian sound engineer and music composer, now living and working in Stavern, Norway. He was also known as a tracker music composer under the name "Dr. Awesome" in the demoscene in the 1980s and 1990s when he released tunes in MOD format and made music for Amiga games.