Yamaha SMAF GLOBAL
Home What is SMAF? Tools Developers Support
    For Developers   |   Hint & Tips   |   Dave's Tips for SMAF   |   FAQ   |   Contact
Tips for SMAF - by Dave Bristow
Dave's Ringtones for SMAF Vol.6
Introduction
This is the final article in this series, and we are going take a look at a typical procedure facing content developers - conversion of GM file to SMAF. Let us imagine that you have a reasonable sounding standard midi file, probably developed for a PC based GM sound set or typical GM synth and you want to convert this into a good SMAF ringtone.

To really answer this question properly, we should begin by defining what exactly a good SMAF ringtone is by re-capping the benefits of the SMAF/MA system!

Quality:
  • FM sounds are rendered at 48KHz. This means that FM voices used always sound crisp and clear on the handset
  • PCM , when used for voices, can also use high sampling rates, providing a great alternative for sounds less suited to FM, like strings and choirs.
  • Because the MA sound engine is a true synthesizer, all sounds including the straightforward GM sounds, can be tweaked to get the best performance out of the handset audio
  • High polyphony shared between FM and PCM sounds allows for rich orchestrations
File Size (...and music/creativity per KB!):
  • By optimizing a mixture of MIDI, Synthesis and StreamPCM , the SMAF file can be kept to a very a small size.
Music/Creativity per KB!:
  • The capability to add larger chunks of audio as StreamPCM makes it easy to add realism to the SMAF ringtone.
  • By using a mixture of MIDI, FM/PCM Synthesis and , the SMAF/MA sound engine lends itself to a high degree of flexibility and originality for ringtone creation.
Of course, straightforward technical conversion from SMF to SMAF is automatic, and any standard GM MIDI file can be imported into the MA editor and saved as a .mmf (SMAF) file. It will work just fine, but you can get even better results by taking some steps to ensure that the file maximizes the full potential of the MA sound engine.

So, now back to our original question - how to convert an existing SMF file into a "good" SMAF ringtone?

Here is the process in outline, followed by the detailed procedure:

Clean up and prepare file:
There are a few things that you can do that will help the midi file work better as a SMAF file:
  1. Remove extraneous data - aftertouch, FX controller data, sysex data can all be removed from the file, making it smaller and more efficient. Leave in note data; program changes; pitchbend; pan (10); volume(7); expression(11); modulation(1) and then...
  2. Set-up smooth repeat points - without any other instructions, the SMAF file will repeat around the very first and very last MIDI event, so make sure these events are at the exact measure/beat/tick that mark the start and end of the repeat. The first event will probably be a program change on track one, and the last event will be the final noteOFF of the longest track. You should make sure that this is at, or very near, the last tick of the last bar.
If you are using XGWorks, repeat points can be set by inserting Cue Events "START" and "STOP". The value of this is that you can use a short set-up bar for the initial loading of programs, volume and other track header information and repeat only around note events. This improves the smoothness of the repeat by not reloading the voice data every time the song returns to the head of the track. Here is an example of how it looks:



When you are satisfied that the file is cleaned up, import it into the MA software.
Modify and/or substitute voices:
The Factory GM voice set provided in the MA editor uses all FM voices (except for some of the drum sounds) - some of these work very well but others you might want to tweak or substitute. The MA handles GM files by automatically "pointing" program selections to the Factory Voice Bank (on MA3: MSB=124, LSB=0). However, voices in this bank CANNOT be modified. So, if you think you might want to edit voices, there are two actions to take - copy the factory bank to a user bank (editable) and then make sure that the sequencer program changes point to the new location.

Please note, that if you are using the latest software versions, you do NOT need to copy the factory bank to an "editable" location as this is automatically done for you - the default voice set contains an editable copy of the Factory GM Bank in each user location, instead of the empty "melody" voices which used to occupy the default user banks. The new software version also automatically causes your SMF program changes to point to the first user (editable) bank, so there is no need for you to do anything in order that your midi file uses editable voices - a good incentive to make sure you have the latest software version installed! However, if you have not yet installed the latest software versions, here is what you must do...
  1. Copy the GM Factory Voice Bank to a user bank: this is simple done by right clicking at the top of the bank and from the drop down menu select "Export Bank...". Give it a name like "MyGMBank" and save it. Now right click at the top of the next empty user bank and from the same drop down menu choose "Import Bank...". Select MyGMBank and click open. The Factory Voices will load into the bank, but now, because they occupy "user bank space" they are editable. (before going back to the sequencer, if you are using the hardware tool, right click at the top of the user bank and select "Send voice messages..." to make sure the voices are in the memory of the hardware unit.
  2. In the sequencer point to the new bank location: adjust the bank select parameters for each track - this will depend on your sequencer - to point to the user bank where you loaded the factory voices. For example, in XGWorks, this is done simply by providing the correct MSB and LSB values for bank select. In SONAR, bank 15872 is the Factory GM bank, 15873 is the first user bank and so on. (16000 patch 0 is the factory drum bank).
Once the tracks are pointing to the correct banks, run the sequence or re-import it into the MA software - it should sound identical to when you first played it , but the big difference is that now, you can tweak and substitute voices. I find it is quite simple to make a few effective changes, and some of my own preferred substitutions are as follows:
  • PCM strings for any string pad sounds (the example from article 5 works for many applications)
  • Use electric pianos rather than acoustic where possible
  • Tweak the bass for the target handset
Add MIDI effects and improve data:
Working with the MIDI data itself will depend on your skill as a midi-musician, but it is worth developing. In addition to voice substitutions, a little work on the actual MIDI data itself can be very effective:
  • Use MIDI effects for echo on a lead line (article 4)
  • Use MIDI chorus for pads (article 4)
  • Be sure the drum track is not overloaded with data - if it is, then see what instruments can be cut out with out affecting the rhythm.
  • Is velocity being used effectively? Sometimes a .mid file has been made with step-time data entry, which often places all velocities at the same value. Applying some random or beat-oriented changes to the velocity data of notes on certain tracks will give more life to the overall sound.
Choosing VS and LED tracks:
Hopefully you can use music data tracks for the VS(vibrator motor switch) and LED. The VS track will probably be the bass track, as long as there are not too many notes and the LED track will be any other track which runs throughout the piece. Sometimes it is not possible to use an existing music data track in which case a new track has to be adding, using notes with low velocity to turn the effect on and off. Now is the time to make sure you have an appropriate VS and LED track in your mid file.
Adding StreamPCM:
Is one very effective way of enhancing a standard track. Recording a small snippet of vocals from an original track, or adding some sound FX can give the ringtone extra identity and realism that is not achieved in a standard midi file alone. Article 5 described the procedure for adding StreamPCM including the new software features - but here are some additional tips:
  • If you have wave editing tools, then before importing StreamPCM to a SMAF file, run it through an EQ and cut out frequencies below 500Hz then re-normalize. (The handset speaker is too small to be able to render these frequencies anyway).
  • Normalizing the wave to about -6dB works just fine for me; it is always possible to lower the volume of StreamPCM playback.
  • Remove all dead air at the beginning of your wave data - this will make it easier to position.
  • If you've recorded vocals from a stereo track, bouncing to mono will probably have the effect of lifting the vocals a little more clearly from the backing track
  • If timing is critical for the StreamPCM, you may prefer to enter trigger notes on the drum channel and position them in your sequencer, rather than use the new software feature which allows direct placement of StreamPCM in the MA software. It is easier to see exactly where you are in terms of measures and beats, when working with your sequencer. (If it is just a question of positioning StreamPCM at the head of the track or you can position by ear, then the new software feature makes adding StreamPCM very easy and quick.)
Re-balancing and saving:
Usually, after making changes to voices and adding StreamPCM, it is necessary to re-mix the track. I prefer to do this in the MIDI file because then, if at any later date the SMAF file needs to be significantly modified (notes and events rather than just levels) then the associated MIDI file will be more accurate. Once the track has been re-mixed with all the changes and additions, it can be re-imported into the MA software and saved as a SMAF file.

Here is an example based on an amateur (freeware) MIDI file that I downloaded from the internet. There are three mp3 files and a .mmf file.

1.
mp3 file of the original played on GM synth;
JLWFT-GMMIDI.mp3
2.
mp3 file of the original played directly on MA3
JLWFT-ATSMIDI.mp3
3.
mp3 file of a "touched-up" SMAF with techniques I have described in this article...
JLWFT-improvedSMAF.mp3
4.
a .mmf (SMAF) file of the final result [download]
JLWFT-improvedSMAF.mmf

In practice the whole touch-up process can be very quick and the results are well worth the little extra effort required.
And finally, thanks for reading!
I hope you have enjoyed reading this collection of web articles on SMAF content development, as I have certainly enjoyed the opportunity of sharing my thoughts with you.

Ringtones are on the way to establish themselves as a legitimate new art-form, and the MA audio solution and SMAF format provide a great tool for exploring and developing it.

Best wishes with your SMAF authoring,

dave
back   
Dave's Tips for SMAF
Copyright
Copyright(c) 2014 Yamaha Corporation. All rights reserved.
Page Top Terms and conditions of use Privacy Policy Sitemap