Tutorial de MMA

(cc) 2005 David Asorey Álvarez

Este documento puede difundirse libremente bajo los términos de la licencia Creative Commons.

Introducción: ¿qué es MMA?

MMA son las siglas de un programa llamado "Musical MIDI Accompaniment". Como su nombre indica, este programa sirve para generar ficheros MIDI con acompañamiento musical. Es una alternativa al programa comercial "Band in a Box", de la compañia PG Music.

La filosofía de funcionamiento es parecida a la de otros programas como Lilypond (hay un tutorial en español disponible en la dirección http://www.contrabajo.org/laclavedefa/tutorial-lilypond/index.html). Se escriben una serie de instrucciones en un fichero de texto y después se invoca un programa (MMA en este caso) que nos devuelve un fichero con el resultado del proceso (en el caso de MMA, se nos devuelve un archivo MIDI que podemos escuchar con nuestro reproductor MIDI favorito).

Este enfoque, aunque pueda parecer arcaico, es muy flexible y tiene bastantes ventajas frente a los programas basados en el uso del ratón e interfaz gráfica:

Por otra parte, el programa MMA es libre: además de poder utilizarlo sin ningún coste, podemos ver (si tenemos conocimientos de programación) cómo está hecho y podemos mejorarlo (si nos atrevemos ;-)

MMA es un programa escrito por Bob van der Poel, y la página web del programa es http://www.mellowood.ca/mma/

No vamos a insistir en las ventajas de este programa sobre otros, en particular, el programa Band in a Box. A nuestro parecer, son muchas:

Instalación de MMA

Lo primero que hay que hacer es descargarse el programa desde su página web. En el momento de escribir este tutorial, la última versión es la 0.19. El fichero a descargar es algo como "mma-bin-0.19.tar.gz", aunque el número de versión puede cambiar. Es muy recomendable descargarse también la documentación y los ejemplos.

MMA requiere tener un intérprete de Python instalado, versión 2.4 como mínimo. Si utilizas Linux o *BSD, probablemente ya lo tendrás instalado. Hay que ejecutar el fichero "install" con permisos de root (superusuario). Los usuarios de Windows o Mac OS X pueden descargar Python desde la página de Python (http://www.python.org/download/).

Para facilitar la instalación, el autor de este tutorial ha preparado un instalador para sistemas Windows llamado WinMMA, disponible en la página http://winmma.sourceforge.net. Este instalador instala MMA, el intérprete de Python, un editor de textos configurado para trabajar con ficheros .mma, documentación y ejemplos.

Si la versión instalada de Python es inferior a la 2.4, MMA no funcionará. Por ejemplo, en Debian Sarge la versión por defecto de Python es la 2.3. Hay que instalar python2.4 con el comando apt-get install python2.4

Para los usuarios de Windows, hay información específica acerca del proceso de instalación en la página http://www.mellowood.ca/mma/win/WindowsHowto.html

Los usuarios de Mac OS X tienen las correpondientes instrucciones en http://www.mellowood.ca/mma/mac/machowto.html

Primeros pasos

Si nos hemos descargado la documentación, hay un tutorial en inglés muy sencillo que es perfecto para empezar a utilizar MMA. Comenzaremos con un ejemplo sencillo: un blues de doce compases.

Tenemos que crear un fichero de texto con la extensión .mma, éste es el contenido del fichero:

// Blues en F
// Ejemplo sencillo de un blues

// Ajustamos el tempo
Tempo 150

// Ajustamos el estilo
Groove EasySwing

// Queremos que el coro se repita
Repeat 

// Escribimos los acordes, un compás por línea
1 F7
2 Bb7
3 F7
4 F7
5 Bb7
6 Bdim
7 F7
8 D7
9 Gm7
10 C7
11 F7 / D7
12 Gm7 / C7
  
// Queremos 4 coros
RepeatEnd 4

// Final
13 F7

Sencillo, ¿verdad? Los ficheros mma son autoexplicativos. Vamos a detallar un poco todo lo que hay en el fichero:

¡Ya está!. En un momento ya tenemos nuestra canción escrita. Vamos a ver cómo la procesa MMA. Tecleamos la siguiente orden en una terminal ("símbolo del sistema", para quien use Windows):

mma blues-en-f.mma

Warning:
No RC file was found or processed
Overwriting existing midi file (49 bars): 'blues-en-f.mid'

Y veremos un fichero llamado blues-en-f.mid en el mismo directorio donde se encuentra el fichero blues-en-f.mma. Podemos escuchar el resultado con nuestro reproductor MIDI favorito.

Más características

Hay varias cosas que podemos mejorar:

Veamos cómo queda este blues con las pequeñas mejoras que le hemos hecho:

// Blues en F
// Ejemplo sencillo de un blues
// Versión mejorada (según como se mire ;-)

Tempo 150

Groove Metronome2-4
z * 2 

Bass Off
Walk Off
Repeat 
Groove SlowJazz1Walk
F7
Bb7
F7
F7
Bb7
Bdim
F7
D7
Gm7
C7
Groove Rhumba 
F7 / D7
Gm7 / C7
  
RepeatEnd 4
Groove SlowJazz1Walk
F7

Bueno, no se puede decir que lo hayamos mejorado mucho, pero hemos mostrado cómo se pueden añadir cambios en mitad de una canción. Recomiendo encarecidamente echarle un vistazo a todos los estilos disponibles en la documentación. En la siguiente tabla hay un resumen de los estilos que incorpora MMA.

Profundizando un poco en MMA

MMA define en cada estilo o Groove varias características: el compás o medida (4/4, 3/4, etc.), la instrumentación (qué tipo de bajo -eléctrico, contrabajo-, qué instrumento hace acordes -guitarra, piano, órgano, etc.-) y qué patrones rítmicos hace cada instrumento.

Básicamente, cada Groove define las siguientes pistas o Tracks:

Debemos tener en cuenta ésto si queremos silenciar selectivamente pistas. Por ejemplo, para eliminar totalmente el bajo, el comando más seguro es
Bass Off
Walk Off

En MMA pueden crearse nuevos estilos o modificar los existentes. En el directorio de instalación de MMA encontramos el subdirectorio /lib/stdlib, dentro de éste hay un montón de ficheros .mma, que son los que definen los estilos. Podemos crear los nuestros propios pero hay que leer el manual antes.

Sólo hemos presentado las características más básicas del programa. MMA tiene muchísimas opciones y posibilidades, para utilizarlas sólo hay que leer el manual de usuario.

Ayudas y herramientas

Tablas

(Copiado de la documentación del programa)

Acordes en MMA

#5 Augmented triad.
+ Augmented triad.
+7 An augmented chord (raised 5th) with a dominant 7th.
11 9th chord plus 11th.
11b9 9th chord plus flat 11th.
13 Dominant 7th (including 5th) plus 13th.
5 Altered Fifth or Power Chord; root and 5th only.
6 Major tiad with added 6th.
7 Dominant 7th.
7#11 Dominant 7th plus 9th and sharp 11th.
7#5 7th, sharp 5.
7#5#9 Dominant 7th with sharp 5th and sharp 9th.
7#5b9 Dominant 7th with sharp 5th and flat 9th.
7#9 Dominant 7th with sharp 9th.
7#9#11 Dominant 7th plus sharp 9th and sharp 11th.
7+ An augmented chord (raised 5th) with a dominant 7th.
7+5 7th, sharp 5.
7+9 Dominant 7th with sharp 9th.
7-5 7th, flat 5.
7-9 Dominant 7th with flat 9th.
7b5 7th, flat 5.
7b5#9 Dominant 7th with flat 5th and sharp 9th.
7b5b9 Dominant 7th with flat 5th and flat 9th.
7b9 Dominant 7th with flat 9th.
7sus 7th with suspended 4th, dominant 7th with 3rd raised half tone.
7sus2 A sus2 with dominant 7th added.
7sus4 7th with suspended 4th, dominant 7th with 3rd raised half tone.
9 Dominant 7th plus 9th.
9#11 Dominant 7th plus 9th and sharp 11th.
9#5 Dominant 7th plus 9th with sharp 5th.
9+5 Dominant 7th plus 9th with sharp 5th.
9-5 Dominant 7th plus 9th with flat 5th.
9b5 Dominant 7th plus 9th with flat 5th.
9sus Dominant 7th plus 9th, omit 7th.
M Major triad. This is the default and is used in the absense of any other chord type specification.
M13 Major 7th (including 5th) plus 13th.
M6 Major tiad with added 6th.
M7 Major 7th.
M7#11 Major 7th plus 9th and sharp 11th.
M7#5 Major 7th with sharp 5th.
M7+5 Major 7th with sharp 5th.
M7-5 Major 7th with a flat 5th.
M7b 5 Major 7th with a flat 5th.
M9 Major 7th plus 9th.
aug Augmented triad.
aug7 An augmented chord (raised 5th) with a dominant 7th.
aug7b9 Augmented 7th with flat 5th and sharp 9th.
aug9 Dominant 7th plus 9th with sharp 5th.
dim A dim7, not a triad!
dim3 Diminished triad (non-standard notation).
dim7 Diminished seventh.
m Minor triad.
m#5 Major triad with augmented 5th.
m(maj7) Minor Triad plus Major 7th. You will also see this printed as "m(maj7)", "m+7", "min(maj7)"
m(sus9) Minor triad plus 9th (no 7th).
m+5 Major triad with augmented 5th.
m+7 Minor Triad plus Major 7th. You will also see this printed as "m(maj7)", "m+7", "min(maj7)"
m11 9th with minor 3rd, plus 11th.
m6 Minor 6th.
m7 Minor 7th.
m7-5 Minor 7th, flat 5 (aka 1/2 diminished).
m7b5 Minor 7th, flat 5 (aka 1/2 diminished).
m7b9 Minor 7th with added flat 9th.
m9 Minor triad plus 7th and 9th.
m9b 5 Minor triad, flat 5, plus 7th and 9th.
mM7 Minor Triad plus Major 7th. You will also see this printed as "m(maj7)", "m+7", "min(maj7)"
maj7 Major 7th.
mb5 Minor triad with flat 5th.
min#7 Minor Triad plus Major 7th. You will also see this printed as "m(maj7)", "m+7", "min(maj7)"
min(maj7) Minor Triad plus Major 7th. You will also see this printed as "m(maj7)", "m+7", "min(maj7)"
sus Suspended 4th, major triad with 3rd raised half tone.
sus2 Suspended 2nd, major triad with major 2nd above root substituted for 3rd.
sus4 Suspended 4th, major triad with 3rd raised half tone.
sus9 Dominant 7th plus 9th, omit 7th.

Estilos MMA

50sRock
50sRockSus
50sRock1
50sRock1Sus
50sRockIntro
50sRockEnd
Ballad
BalladSus
Ballad1
Ballad1Sus
BalladEnd
BalladIntro
Blues
BluesTriple
BluesSus
BluesTripleSus
Blues1
Blues1Sus
BluesIntro
BluesEnd
Calypso
CalypsoSus
Calypso1
Calypso1Sus
CalypsoEnd
60sRock
60sRock1
60sRockSus
60sRock1Sus
60sRockEnd
Beguine
BeguineSus
Beguine1
Beguine1Sus
BeguineEnd
Bolero
BoleroFill
BoleroSus
BoleroSusFill
BoleroIntro
BoleroEnd
Bolero1
Bolero1Fill
Bolero1Sus
Bolero1SusFill
Bolero1Intro
Bolero1End
CountryBlues
CountryBluesSus
CountryBluesWalk
CountryBluesWalkSus
CountryBlues1
CountryBlues1Sus
CountryBlues1Walk
CountryBlues1WalkSus
CountryBluesFill
CountryBluesWalkFill
CountryBlues1Fill
CountryBlues1WalkFill
CountryBluesEnd
8Beat
8BeatSus
8Beat1
8Beat1Sus
8BeatEnd
BigBand
BigBandSus
BigBandPlus
BigBandSusPlus
BigBand1
BigBand1Sus
BigBand8
BigBand8Sus
BigBandIntro
BigBandEnd
BigBand1End
BigBand4End
BoggieWoggie
BoggieWoggie1
BoggieWoggie2
BoggieWoggie3
BoggieWoggieEnd
CountrySwing
CountrySwingSus
CountrySwing1
CountrySwing1Sus
CountrySwing2
CountrySwing2Sus
CountrySwingIntro
CountrySwingEnd
BasicRock
BasicRockSus
BasicRock4
BasicRock4Sus
BasicRockEnd
BlueGrass
BlueGrassClap
BlueGrassBottle
BlueGrassBottleClap
BlueGrassSus
BlueGrassEnd
BossaNova
BossaNovaSus
BossaNova1Sus
BossaNovaFill
BossaNovaIntro
BossaNovaEnd
BossaNova1End
CountryWaltz
CountryWaltzSus
CountryWaltz1
CountryWaltz1Sus
CountryWaltz2
CountryWaltz2Sus
CountryWaltzWalk
CountryWaltzWalkSus
CountryWaltz1Walk
Countrywaltz2Walk
CountryWaltz1SusWalk
CountryWaltz2SusWalk
CountryWaltzEnd
Desert
DesertSus
DesertFill
DesertEnd
Dixie
Dixie1
Dixie2
Dixie3
DixieStrum
DixieEnd
DixieMarch
DixieMarchPlus
DixieMarchSus
DixieMarchSusPlus
DixieMarchIntro
DixieMarchEnd
EasySwing
EasySwingSus
EasySwingFill
EasySwingWalk
EasySwingWalkSus
EasySwingWalkFill
EasySwing1
EasySwing1Sus
EasySwing1Fill
EasySwing2
EasySwing2Sus
EasySwing2Fill
EasySwing42
EasySwing42Sus
EasySwing42Fill
EasySwing42Walk
EasySwing42WalkSus
EasySwing42WalkFill
EasySwingIntro
EasySwingIntro1
EasySwingIntro2
EasySwingIntro3
EasySwingEnd
FastBlues
FastBluesSus
FastBluesWalk
FastBluesWalkSus
FastBlues1
FastBlues1Sus
FastBluesEnd
Folk
FolkWalk
FolkArticulated
FolkIntro
FolkEnd
Foxtrot
FoxtrotSus
FoxTrotPlus
FoxTrotSusPlus
Foxtrot1
FoxTrot1Sus
FoxTrotIntro
FoxTrotEnd
FoxTrot1End
FrenchWaltz
FrenchWaltzSus
FrenchWaltz1
FrenchWaltz1Sus
FrenchWaltzEnd
FrenchWaltz1End
HillCountry
HillCountryPlus
HillCountrySus
HillCountrySusPlus
Jazz54
Jazz54Walk
Jazz54Intro
JazzWaltz
JazzWaltzSus
JazzWaltz1
JazzWaltz1Sus
JazzWaltzIntro
JazzWaltzIntro8
JazzWaltzEnd
JazzWaltz1End
Jive
JiveClap
JiveSus
JiveClapSus
JivePlus
JiveSusPlus
Jive1
Jive1Clap
Jive1Sus
Jive1ClapSus
Jive1Plus
Jive1SusPlus
JiveIntro
JiveEnd
LFusion
LFusionSus
LFusion1
LFusion1Sus
LFusionEnd
Lfusion1End
LightTango
LightTangoSus
LightTangoEnd
MilIntro4
MilIntro2
March
March1
March1Slow
March2
March3
March4
MarchEnd
Metronome2
Metronome4
Metronome2-4
Metronome3
ModernJazz
ModernJazz1
ModernJazzSus
ModernJazz1Sus
ModernJazzIntro
ModernJazzEnd
Polka
PolkaSus
PolkaArp
PolkaSusArp
Polka1
Polka1Sus
Polka1Arp
Polka1SusArp
PolkaIntro
PolkaEnd
PopBallad
PopBallad1
PopBallad2
PopBalladEnd
QuickStep
QuickStepHit
QuickStepSus
QuickStepHitSus
QuickStepIntro
QuickStepEnd
R&B
R&BSus
R&BIntro
R&BEnd
Rhumba
RhumbaSus
RhumbaTriple
RhumbaTripleSus
RhumbaTriple12
RhumbaTriple12Sus
RhumbaTriple34
RhumbaTriple34Sus
Rhumba1
Rhumba1Sus
Rhumba2
Rhumba2Sus
Rhumba3
Rhumba3Sus
RhumbaIntro
RhumbaEnd
RhumbaEnd1
Rock128
Rock128Sus
Rock128Intro
Rock128End
RockBallad
RockBalladFill
RockBalladVoice
RockBalladIntro
RockBalladEnd
SambaFill
SambaPlus
SambaSus
SambaSusFill
SambaSusPlus
SambaIntro
SambaEnd
Ska
Ska1
SkaSus
Ska1Sus
SkaClap
SkaEnd
SlowBlues
SlowBluesFill
SlowBluesFill1
SlowBluesFill2
SlowBluesFill3
SlowBluesSus
SlowBluesWalk4
SlowBluesWalk4Sus
SlowBluesWalk8
SlowBluesWalk8Sus
SlowBluesEnd
SlowCountry
SlowCountrySus
SlowCountryFill
SlowCountryWalk
SlowCountryWalkSus
SlowCountryWalkFill
SlowCountryIntro
SlowCountryEnd
SlowJazz
SlowJazzSus
SlowJazzWalk
SlowJazzWalkSus
SlowJazz1
SlowJazz1Sus
SlowJazz1Walk
SlowJazz1WalkSus
SlowJazz2
SlowJazz2Sus
SlowJazzIntro
SlowJazz1Intro
SlowJazz2Intro
SlowJazzEnd
SlowJazz2End
SoftRock
SoftRockSus
SoftRock1
SoftRock1Sus
SoftRockIntro
SoftRockSusIntro
SoftRockEnd
Swing
SwingWalk
SwingTriple
SwingPlus
SwingWalkPlus
SwingSus
SwingPlusSus
SwingWalkSus
SwingWalkPlusSus
Swing1
Swing1Walk
Swing1Triple
Swing1Sus
Swing1WalkSus
Swing1Plus
Swing1PlusSus
Swing1WalkPlus
Swing1WalkPlusSus
Swing2
Swing2Triple
Swing2Plus
Swing2Sus
Swing2PlusSus
SwingIntro
SwingIntro2
SwingEnd
Swing1End
Swing2End
Tango
Tango1
TangoEnd
VieneseWaltz
VieneseWaltzSus
VieneseWaltz1
VieneseWaltz1Sus
VieneseWaltzEnd
Waltz
WaltzSus
Waltz1
Waltz1Sus
WaltzWalk
WaltzWalkSus
Waltz1Walk
Waltz1WalkSus
WaltzEnd
Zydeco
ZydecoPlus
ZydecoSus
ZydecoSusPlus
ZydecoIntro
ZydecoEnd
ZydecoPlusEnd

Historial de este documento


[La clave de Fa] || [www.contrabajo.org]