Contents
This article is currently a work in progress. Please check back soon!
Building MIDI styles for Yamaha from scratch
Thursday 17/07/2025
Before we dive deep, here are a few links to primer your MIDI knowledge:
Mine is a Yamaha PSR-E473, but we’ll be creating model-generic style files targeting General MIDI.
However here are the reference guides for PSR-E473:
What we need?
•A midi sequencer like MuSE Sequencer
•Midi to style converter - midi2style
•General MIDI soundfont for desktop playback like windows gm.sf2 📥
Basic theory
MIDI
MIDI is analogous to the text in a document – its just data about something. The document viewer renders the text using fonts, colours and other formatting, like how a synthesizer (could be software or hardware) plays this MIDI file using its own tones/voices and other configurations.
Soundfonts
Speaking about fonts, ‘soundfonts’ are exactly that, these are a file format (.sf2) for note sounds similar to how text fonts work for text characters. Soundfonts can be used with a software synthesizer to produce music and render it to an audio file.
MIDI standards
Unfortunately, MIDI files can’t embed audio information, just the note data. On the other hand your hardware synthesizer/keyboard will have its own sound engine that can read midi data and produce sound.
MIDI comes in various flavours depending on the vendor that supports this format. Mainly there are:
•General MIDI (Universal Standard)
•General MIDI 2 (Slightly advanced General MIDI - Universal Standard)
And vendor specific standards like
•XG (Yamaha standard)
•XGLite (Yamaha standard)
In this project, we’ll go with General MIDI as it is much easier to work with.
Building a MIDI project
Beats, chords, melody and accompaniment are the basic components of a song track. We’ll build each of these for our project.
Chord progressions
Popular chord progressions are available for download from this beautiful repository 📥. These will be the most important backing along with the rhythmic beats for our song.