Sakhalia Net Graphics Division Baykal Acceptance of cookies


Tutorial about composition of computer/digital music: composing a music theme in a virtual music studio.

Composing a music theme

As melody for this example a widely recognized tune has been chosen: Frère Jacques. Lame perhaps, but full of sentiment for sure... This melody is originally written in "C major" key, so no black keys will be played for the time being. In the subsequent chapter of this tutorial we will change the key of this melody to see how its character changes; we will be able to turn this well known lullaby into a composition which is more proper of a cemetery. For this to be possible I have chosen as well a suitable instrument; we will use a piano voice for the original melody and an organ voice for the "dark" version. The first time that I wrote this article I used SimSynth for the lead, chords and bass, and DrumSynth Live for the drums, but now I decided to use different instruments.

To begin with, in the menu bar located in the upper left part of the screen we have to click on CHANNELS and then on [Add one] to be able to select an instrument; for this example I have selected FL-Keys. If we want to delete the default channels which are generated at the start of every blank project (the step sequencers named Kick, Clap, HiHat and Snare) we can right click on the channels' name buttons to see the option [Delete channel...]. We can also select a channel by clicking on the light located to the right of the name button, and then delete the selected channel by clicking on CHANNELS -> [Delete selected...]

FL-Keys works through three different sets of samples which are mapped to the keyboard: Piano, Rhodes (a type of electric piano) and Roto Organ. The sets contain fifteen, thirty-three and seven samples, respectively, with a quality of 22050, 32000 and 44100 Hz, also respectively. The quality of the sound can be altered to a certain degree through an array of knobs and there is a small selection of presets which are not visible at first glance; to select them we can click the tiny arrows next to the closing [x] button with either mouse button. This instrument is interesting for those who are into classical compositions and it is more than good that it has been included in the pack.

FL Studio Fl-Keys

We can rename the newly created channel by right clicking on its name box and then clicking on [Rename] to assign to it an interesting name... such as "Melody". Now, if we do not see the instrument on screen, we have to click on the channel's name button to force it to show up, along with the Channel Settings window. Since this is a melodic channel, if we were using a synthesizer as instrument, we should select a lead-type sound patch. As per default on every sound generator we can right click on the small arrows located in the upper right corner of its window to see the available presets and select any.

Now that we have set the properties of the channel we are ready to start entering notes on its associated piano roll. To access it we can right click on the channel's name button and then click on [Piano Roll], or just click on the small depiction of musical notes in the channel list or else in the PR button located in the upper right part of the screen. Now we can draw notes in the piano roll's grid until the melody is complete. But for this example we can just import at once the whole melody, which is available as a download below. To do so, we have to click on the tiny button which looks like a piano keyboard, located in the left upper corner of the piano roll, to see the piano roll's options. Select [File] -> [Import MIDI file...] and load the MIDI file which contains the data of the melody.

The following picture shows the whole composition of the melodic (lead) channel as seen after loading the MIDI file. There is as well a link for downloading the MIDI file and another one for downloading the rendered sound (generated by FL-Keys instrument) in MP3 format, so you can quickly listen to the result. If we want to test different instruments for a certain melody, we can add different instrument channels and then use the EDIT menu to copy the contents of the melodic channel to any of them. By right clicking on the tiny lights to the left of each channel we can select the option [Solo] to listen to channels individually.

Piano roll example lead
fj_original_lead.mid ~ fj_original_lead.mp3

The procedure for the other channels is similar: we have to add new channels and open their piano rolls to enter the notes. Each of the following channels has its own peculiarities and has to be fitted harmoniously in the whole composition. Now that the leading melody is done it is time to add some chords, which help in keeping the rhythm, sometimes counter the melody and often set a mood. Since chords consist of several harmonious notes that are played simultaneously, they also help in filling the sound, giving a sense of depth to the melody. Our example composition has only one "C major" chord, which comprises these three notes: C, E and G.

Now we have to choose the instrument that will play the chords. In the real world many musical instruments are monophonic, which means that they can play only one note at a time. For example, since horns are monophonic, we would need several of them to play a chord. On the other hand, string instruments and keyboards are polyphonic and hence able to play chords on their own. For this channel I have selected a very simple instrument called Plucked!, which emulates the sound of a guitar. If we try to visualize how a guitar is played, with the thumb hitting the low strings and fingers strumming the high strings, we could probably transfer this information to the piano roll.

Since this simple composition has only one chord we could copy and paste the chord structure used in the first measures on all the eight measures, but it is better to add some variety. The fifth and sixth measures of the lead melody, populated by shorter notes, seem to have a choppier feeling, so we could modify the rhythm of the strum to match this condition, as seen on the image below. The seventh measure uses the same structure than the first four measures, whilst in the eighth measure the last notes are sustained, and so the melody does not end abruptly.

Piano roll example chords
fj_original_chords.mid ~ fj_original_chords.mp3

The bass occupies a position somewhere between drums and lead/chords. It helps in keeping the beat while filling the low end of sound spectrum with notes that can enhance the melody. The bass can be covered by a variety of instruments: a piano, a tuba, a cello or a bass guitar, among many others. Through the "magic" of computer-generated music we could get low notes from any instrument, but in this example I will stick to what would be possible in the real world, so I have chosen another very simple instrument called BooBass, which looks like a bass version of Plucked!. Since low-frequency sound tends to fall short regarding perceived loudness I had to maximize the intensity of the sound until the levels on the monitor were near to clipping point. By using 1/4 notes a basic pattern was created in the first measure and then copied and pasted in the other measures, but a variation has been done in the fifth and sixth measures, in concordance with that of the chord channel.

Piano roll example bass
fj_original_bass.mid ~ fj_original_bass.mp3

The following step is to add some basic drums to our composition; to begin with, just a bass drum and a snare that will create a basic rhythmic patter. Later we will add some accents with cymbals and toms. Since this is a drum channel we will have to use a different type of instrument: a drum machine. I have decided to use that called FPC, which seems in accordance with FL Keys, at least from a visual point of view. After we load the MIDI file into the Piano Roll we can see the repeating pattern as seen on the picture below. As it can be seen, the piano keyboard has been replaced by a range of percussion instruments; this is done by clicking on the small [Abc] button located in the upper left corner of the piano roll, which allows to switch between text labels and piano keys.

Since percussion patches may be assigned to the keyboard (which exists even if it not visible as such) of our drum machine of choice following a different layout than that used in the MIDI file, we may have to adjust the assignments in the drum machine. Unlike DrumSynth Live, FPC does not have a visible keyboard, but instead two panels of sixteen cells each. If we click the cells on the left panel we will see that each cell correspond to a certain percussion patch, whereas in the right panel each cell corresponds to a certain note of the piano keyboard and its octave. Knowing that each cell in the right panel corresponds to its counterpart in the left panel, we just have to change the required notes and octaves in the right panel by clicking on their corresponding cells while dragging the mouse.

FL Studio FPC

For this example in which I use FPC, I had to change Kick Drum, which by default is C3, to B2. When in the past I used DrumSynth Live I had to follow a similar process but in a different way, because the graphical user interface is a rather different one. In this latter instrument there is a small keyboard which has two octaves visible at the same time; we have to use the small arrows located above the keyboard to move along the remaining octaves. The fact is that we can change the percussion patches assigned to individual keys on the piano keyboard, by right clicking on a key and then clicking on [Set to default patch] for selecting the desired patch.

In the picture below, the range of percussion patches attached to the piano roll correspond to DrumSynth Live; if we use a different drum machine the layout will be most likely different. When using DrumSynth Live as the instrument for the rhythmic channel I assigned the corresponding sound patches for each key as follows: B2 -> Kick, D3 -> Snare, F3# -> Hat C, B3 -> Tom L, C4# -> Crash. The file fj_drums.mp3 corresponds to the sound of FPC and the file fj_drums_old.mp3 is the original version rendered with DrumSynth Live.

FL Studio DrumSynth

The kick drum and the snare form a very basic ensemble which marks the beat of the song, but rather than considering the work to be finished we should enhance this rhythmic channel. At least, it should mark the end of the music simultaneously with the bass and the chords, and it would be the best to add a few different rhythmic features along the several measures. In the image below it can be seen how in the first and second measures the closed hi-hat taps twice than the acoustic bass drum, and how in the third and fourth measures the low-mid tom adds rhythmic variation, whilst the crash cymbal accentuates the beginning of each measure and finally performs the most notorious closing hit.

Piano roll example drums
fj_original_drums.mid ~ fj_original_drums.mp3 ~ fj_original_drums_old.mp3

After finishing the whole composition and checking that the settings of each channel are properly configured, we may proceed to render the music theme. We might attach sound processors to the mixing console if we want so, either to individual channels or to the master channel only, but I will not cover these aspects in this tutorial, and in fact I have not applied any effect processing to my final output. To begin the rendering process we have to click on the FILE menu and then on [Export] to select either a waveform or a MIDI format. As we want to get the actual sound, we will choose either WAV or MP3 format, or both, which might be recommendable.

Before beginning the process, we should do some playbacks of the composition and watch the level monitor for any possible clipping; if the levels are shown largely in red we should adjust the different volumes as convenient, either in the instruments, the channels or the mixing console. We should also watch for channels that sound too high or too low, since we do not want a certain channel masking the sound of other channels. In general terms, the more treble an instrument plays the most likely it is that its sonic intensity will mask other sounds. For rendering this track I have set the volume levels as follows: 4/6 for the lead, 3/6 for the chords, 5/6 for the bass and 5/6 for the drums. If all the levels were the same it is probable that only the lead, chords and crash cymbal were clearly audible.

If we attach a compressor to the mixing console we will be able to generate a louder output, because the higher and lower levels of amplitude will be balanced toward an average level. We will see that the audio levels turn to be much more stable, which allows to set a position near the end of the monitor without risk of clipping happening during a volume peak.

FL Studio 5 (frere jacques original)
fj_original.mid ~ fj_original.mp3

Another option that we have is to load the renderization of each individual track in the multitrack view of an audio editor such as Cool Edit Pro 2, where we can apply any kind of audio processing, in some aspects with higher precision than in a virtual music studio. This offers the advantage that we can see the waveforms generated in the virtual music studio and hence know with detail the volume levels throughout the whole track thanks to the precise representation of amplitudes. Note how different are the amplitudes of the different tracks, whose volume levels were assigned according to the frequency range of the associated instruments, and how the chords, due to their treble nature, have a wider amplitude than the leading melody despite of having been set at a lower volume level.

As seen in this picture, the final hit of the crash cymbal seems closer to the limit of the clipping zone than any other sonic section in the composition. The volume levels of each track are the same that I mentioned earlier: 4/6 for the lead, 3/6 for the chords, 5/6 for the bass and 5/6 for the drums. When all the tracks are played together their volume levels are summed up and the overall volume level gets closer to the limit of the clipping zone. In this example, the red square on the right end of the volume level monitor indicates that, despite my attention, at some point the volume level or amplitude reached the clipping zone in one of the stereo channels; this was caused, not surprisingly, by the crash cymbal.

Cool Edit Pro 2 (frere jacques original)

Until here we have seen the very basic aspects of how a virtual music studio works and, even more important, picked up a little understanding on how a musical composition is assembled. Albeit this example uses all the four basic channels, it is not always a requisite to use all of them to create a composition which works well, and up to a degree their function may be interchangeable. For example, a thumping bass could keep the beat as effectively as a drum kit, or an ensemble of chords could take the role of a full-fledged melody in a minimalistic composition.

According to the character that we want for our composition we have to anticipate basic traits such as tempo, key, scale and voices. We can give priority to rhythm and begin by laying a complex rhythmic ensemble to later add simple melodies, or otherwise focus on creating an elaborate melody to later add a basic rhythmic layout to accompany it in a discreet way. Thanks to the magic of electronics and software we can write beautiful music for either one instrument or an entire orchestra. In the next chapter we will look at how some variations can be applied to this masterpiece called Frère Jacques, as well as ideas on how to apply what we have learned to other compositions.

Back to top