You should know that the GROOVE definition engine is a very powerful tool that has almost unlimited possibilities. It is impossible to explain all those possibilities in a short tutorial. The flexibility of MMA allows you to do the same things in different ways; the example you'll see here is just one way to create a GROOVE. We have tried to keep it simple and organized it in different sections so that you understand how the GROOVE was built.5.1
The day that you decide to create your own “proper” GROOVEs you'll have to read the manual in detail!
The GROOVE we will create will be a simple 4/4 rock GROOVE.
The first thing we have to do set the timing for 4/4 and initialize some variables (those are explained in detail in the MMA manual)
SeqClear
SeqSize 1 Time 4 Timesig 4 4 |
Now let's start to create our patterns.
For the drummer we will use the following pattern:
As we can see this is a pretty simple pattern.
We have:
Begin Drum Define
D1 1 8 90 ; 2.5 8 90 ; 4 8 90 |
So what have we done?
Well, we have just translated part of what we have on the score. We have created a pattern D1 with an 8th note on beats 1, 2.5 and 4 and a velocity of 90.5.2
Using the same logic we can create the pattern for the snare drum.
S1 2 8 90 ; 4 8 90 |
For the closed HiHat pattern we will use a little trick to avoid having to enter 8 notes
CH1 1 8 90
C1 CH1 * 8 |
As you can see we just define one note on the first beat and multiplied it by 8, which will result in eight notes.
And we close the definition by adding
End |
Now that we have the patterns for our drum, we will create the different instruments.5.3
Begin Drum-Kick
Tone KickDrum1 Sequence D1 End Begin Drum-Snare Tone SnareDrum1 Sequence S1 End Begin Drum-HH Tone ClosedHiHat Sequence C1 End |
Now that we have a drummer, let's have a look at the bass player for our GROOVE.
Those are the notes the bass player plays on a C chord. He builds a nice riff using only the root of the chord.
This is pretty simple to translate in MMA syntax, using what we have learned to create the drum pattern.
So we go up in our text file to the point where we created the patterns for the drum (the line after End) and we add:
Begin Bass Define
B1 1 4+8 1 90 ; 2.5 8 1 90 ; 3 8 1 90 ; 3.5 4 1 90 ; 4.5 8 1 90 End |
You will already recognize the timing of the riff, the duration and the velocity of the notes. The only item that is different for a bass player is that we add in the pitch definition for the note to be played.
If we look at the first note definition we see that beat 1 is a note with duration 4+8 (dotted quarter),5.4the note to play is the first (root) of the chord and the volume or velocity of the note is 90.5.5
Now the only thing left is to add the bass player at the end of the file, the same way we did with the drums.
Begin Bass-Simple
Voice AcousticBass5.6 Sequence B1 End |
As a last example, we will add a piano player with a simple riff to our GROOVE.
Creating piano patterns is a bit different from other players as they (most of the time) play with both hands. As we can see on the above score (using only a C chord), our piano player will play the second inversion of the chord with his right hand as a dotted halfs and a fourth note and with the left hand he plays the root on the start of the bar also as a dotted half note.
There are a couple of ways in MMA to define this. What we explain here is just one of the possibilities.
We will define both “hands” of the piano player separately.5.7
Let's start with the easiest, the left hand. Actually if you think a bit about it, there is not a big difference between a bass player and the left hand of a piano player. Following this logic, we will simply define a new pattern and attach it to a new bass player called Bass-LeftHandPiano.
We already know how to do this.
In the pattern section of our GROOVE we will add:
L1 1 2+4 1 90 |
Remember: First beat, half+fourth note, root of the chord, velocity 90.
And we will create a new bass player
Begin Bass-LeftHandPiano
Voice Piano1 Sequence L1 Octave 3 // This a new command, but simple to understand End |
Now the right hand. What the right hand of the piano player does is more the playing of chords than playing simple notes. That's exactly what we will tell MMA : play chords.
On the example score we see that he plays the chord in his first inversion form, but for the sake of simplicity of this “Getting started” document we are just ignoring this and we will define the standard form of the chord.5.8
Again, we go up in the definition section of our GROOVE and under the bass patterns we will enter the chord definition
Begin Chord Define
C1 1 2+4 80 ; 4 4 80 5.9 End |
As you can see the chord definition structure is a bit different from what we have done until now.
Chord definitions are done as follows: Name (C1), Beat (1), and the note volume or velocity. It is possible to specify different velocities for each note in a chord (see page in the Reference Manual) and even disable certain notes or limit the range of chord.
Finally we need our piano right hand player
Begin Chord-RightHandPiano
Voice Piano1 Sequence C1 End |
We have just created a trio to play Drums, Bass and Piano for us.
We have to give a name to the created GROOVE, so that we can use it in a song:
DefGroove Myrock1 |
is added at the end of the file.
The file that we created should look like this5.10
SeqClear
SeqSize 1 Timesig 4 4 Begin Drum Define D1 1 8 90 ; 2.5 8 90 ; 4 8 90 S1 2 8 90 ; 4 8 90 CH1 1 8 90 C1 CH1 * 8 End Begin Bass Define B1 1 4+8 1 90 ; 2.5 8 1 90 ; 3 8 1 90 ; 3.5 4 1 90 ; 4.5 8 1 90 L1 1 2+4 1 90 End Begin Chord Define C1 1 2+4 80; 4 4 80 End Begin Drum-Kick Tone KickDrum1 Sequence D1 End Begin Drum-Snare Tone SnareDrum1 Sequence S1 End Begin Drum-HH Tone ClosedHiHat Sequence C1 End Begin Bass-Simple Voice AcousticBass Sequence B1 End Begin Bass-LeftHandPiano Voice Piano1 Sequence L1 Octave 3 // This a new command, but simple to understand End Begin Chord-RightHandPiano Voice Piano1 Sequence C1 End DefGroove Myrock1 |
Save the text file we just created in the lib-directory of MMA under the name myrock.mma.
First thing we have to do is tell MMA to update its database so that our new GROOVE can be found.
Go to a command prompt and enter: $ mma -g
Now start a new textfile to create a song and start the file with:
Groove Myrock1
Tempo 120 // Enter chords here |
Save the file as Mysong.mma and compile it as explained in the first part of this tutorial.
As you probably noticed, the style that we have created here sounds very simple and lacks variation ...an intro, a break and an ending .... Don't panic, all those things are possible but beyond the scope of this small “Getting Started”.
Now before you do anything else: READ THE MANUAL!
This is the best advice you can get. The author of this program has put a lot of effort in the development process so that the software can be as powerful and flexible as possible. Years of development went into this product, so don't think you will learn it in a day.
Also read the README files that are delivered with the distribution. You can find valuable information in these.5.11
Have fun with MMA !