Saturday, May 6, 2017

Neat use of the AFTER command

I wanted to play a nice little song "Maria Bonita" written in the 1940s by Agustin Lara. Copied out a chart from a fake book and then transfered this to MMA. Simple ... until I realized that the time signature was 6/8. Ouch ... and this is not really the "normal" duple time; it's a waltz. So, each bar sounds like 2 bars of 3/4.

What to do?

A first I was going to write a new LatinWaltz groove. But, I'm feeling a bit lazy today and figured there should be an easier way. Yeah, right.

The LatinWaltz groove really doesn't work for 6/8. The timing is just wrong. Hmmm, off to work:

1. In the MMA file split each bar in two. Essentially, we now have a 3/4 file. A minor result of this is that I now have bars which look like:

1  Am
    Fm
2  Gm
    Am
 
I don't like un-numbered bars, but going with 1,2,3,etc. isn't right either. So, we'll leave the un-numbered alone.

The 3/4 groove works okay. But, it's not quite right. So, a bit of playing around.

2. To make the difference between the first and second bars in each pair I created a little sequence which sounds a triangle at the start of the odd numbered bars:

Begin Drum-Solo-Triangle
     Sticky On
     Tone OpenTriangle
     Volume m
     Sequence D1 z
End
Cool, that was easy.

3.  Now, I found the bass beats at the start of each bar needed to lighten up on the even numbered bars. So, right before bar one I did:
Begin After Repeat=2   // for bars 3,5,7...
   Bass Accent    /// no accent
   Walk Accent
End
and, right after bar one (right before the original 2nd half of the bar):

Begin After Repeat=2   // This is done on bars 2,4,6
   Bass Accent 1 -40
   Walk Accent 1 -40
End
And ... that's it.

Only problem is that bar 1/2 still has the original accents. I could play around and fix that, but it's not worthwhile.

I did learn something: AFTER is really neat and powerful!

Thursday, April 27, 2017

On Line Docs

I've had requests over the years for on-line docs for MMA. Always just ignored them because ... well, the main reason was that the web host I was using wasn't giving me a lot of bandwidth. And, with the crappy internet I was used to out here in the boonies I didn't understand why anyone would prefer something on-line when I was already supplying the "real thing" in the distro.

Well that time is no more. I still have fairly crappy internet, but it's better that it was (my package here is 5 mps up and down). And my current web host says I have unlimited bandwidth and more storage space than I'll ever need. The docs are already all in web form. So, it's just a matter of a few links and it's up.

In the MMA pages there is now a "on line documentation" item in the left hand navigation panel.

Let me know what you think about this. Hope it's useful.

One little point: This currently reflects the version of MMA I have on MY computer, not the current distro. I'll fix that up for the next release! Promise.

Edit: Here's the standard MMA url:  http://mellowood.ca/mma/index.html

Thursday, March 23, 2017

Arias

Don't know how many of you have fooled around with Aria tracks. I certainly have not, other than some examples after I created the beast.

But, I decided to play a bit today. What fun. And, I figured a way to use them in a more creative way (I'll have to add this to the example stuff). Pretty simple:

At the top of a song file, create an Aria (or more than one if you can wrap your brain around this). Something like this:

   Begin Aria
       Voice JazzGuitar
        Volume ..
        Sequence ..
        etc. SEE THE MANUAL
        Off
    End

The important thing to notice is the OFF as the final command.

Now, in the song you just need to insert "Aria On" and "Aria Off" where you want/don't want your solo crap.

If you want my song and a larger example, send me a mail!




Wednesday, March 1, 2017

MMA on Mac

I had a note the other day from a prospective user who had a Mac system. He was having some problems with installing MMA using the instructions at:

   http://mellowood.ca/mma/mac.html

I don't have a Mac, so really can't contribute much to the conversation. But, I'm sure one of my delightful readers can help. Please let me know if that page needs help or needs updating.

Saturday, January 21, 2017

MMA in Debian

Got a note earlier today from Anthony Fok the maintainer for MMA in the Debian repositories. He has uploaded version 16.06 and it should be working it's way though in the next short (long?) while.

In the meantime, I checked my repository for Ubuntu 16.10 and, YEAH!!!, MMA 15.12 is there. About a year old, but current enough.

Now, I honestly have no idea how many MMA users there are out there. Looking over my download history from my web site there are more than 200 downloads per month. And via distribution apt's? Who knows. But, all is pretty good as far as I can see.

Now, all you downloaders (and I assume users): Please share what you are doing with the greater community. Send me new grooves. Patches. Ideas.


Tuesday, January 17, 2017

Random chords

One of my friends did a little song in which he created the chord sequence by rolling dice. He then assigned different chords to the bars based on the results. Cool, I thought (even though he is using BiaB and not MMA to create his music). But, dice? Oh, so primitive! I figured a little python program would be much easier!

For the discussion and the song, jump over to the Kara-Moon forum.

So, here is a quick program (this listing was created using pygments, a very useful program).

To use, just create a sequence and then cut/paste the result into a text file. Add some groove names, tempo, etc. and you've got an original song. If only life had been this easy for guys like Bach and Beethoven.

Here's the code (you should be able to cut/paste this to your computer and run it with python):

#!/usr/bin/env python

# This program will generate a mma compatible
# set of chords generated at "random".

# The chords are generated based on a major scale in Ionian mode.
# Using roman numeral results permits easy key changes, but different
# chord tables can be used. 

import sys, os, random


def error(m):
    """ Abort on error with message. """
    print(m)
    sys.exit(1)

def usage():
    """ Print usage message and exit. """

    print("""
Mma-rndchords, (c) Bob van der Poel
USAGE: mma-rndchords  nn
  nn == the number of chords to generate.
""")
    sys.exit(1)



##########################

if len(sys.argv[1:]) != 1:
    print("mma-rndchords: number of requested bars.")
    usage()

bcount = int(sys.argv[1])

# This is the weighted table.
# Using roman numerals
#chords={ "i": 4, "ii7": 2, "iii7": 3, "IV": 3, "V7": 4, "vi7": 2, "viiO": 1 }
# Using traditional chord names. Feel free to roll your own.
chords={ "C": 3, "Dm7":2,  "Em7": 3,  "F":4,   "G":5,   "Am7":2,  "Bdim7": 1}
# Convert to an expanded list. It'll look like ["i", "i", "i", ...]
chords = [k for k in chords for _ in range(chords[k])]

for a in range(bcount):
    print "%s %s" % (a+1, random.choice(chords)) 
 
Simple enough? If you need more options, etc. feel free to add to the program or contact me here via comments and I'll see what I can do.

Saturday, December 10, 2016

Neat sounds using apreggiate and mallet

I needed a somewhat spooky introduction to a song I'm playing. Here are a few lines which might be of interest with (hopefully) useful comments:


Tempo 80
Keysig Ab  /// important here just for the chord choices


// Set up our solo voice
Begin Solo
    Voice OrchestralHarp
    Articulate 190  // very long sustain
    Harmony 3Above+3Below+38below  // lots of notes
    Arpeggiate Direction=Down Rate=16 Decay=-4
    Mallet Rate=64 Decay=-5
    Octave 5
    Begin Riff
        1a+;
        1f+;
        1d+;
        2bn;2c+;
    End
End

Groove NiteJazzIntro   /// our intro groove. Could be anything

Decresc mf mp 4  /// have volume decrease over 4 bars

1         Fm
2         Dm
3         Gmb5

// Change a bit for the final bar
Begin Solo
  Arpeggiate Direction=Down Rate=43 Decay=-4
  Mallet Rate=32 Decay=-2
  Articulate 200
End

4         Fdim / F#dim

And, that's all folks. Cut and paste into an editor and run it though MMA. Now, you can play with some of the rates and get your own ethereal sounds.

Have fun!



Wednesday, November 30, 2016

New videos

The music teachers group I belong to had their annual concert earlier this month and I played two songs with fellow teacher, Monte Anderson, accompanying me on piano. And our good friend Brian Stushnoff was on hand to video the event. Here are my performances:

MIsty: www.youtube.com/watch?v=ZlonbWbM4WE&t=6s

Bluesette: https://www.youtube.com/watch?v=U6vstCTlXmo&t=4s

I'd love to hear what you think of these. Send me a note by email, here in the comments or in a youtube comment!

Thursday, September 15, 2016

I felt great today!

So, here I was ... just minding my own. Doing a bit of email, etc. and I got a phone call. Nice, elderly lady looked up my number and told me that she'd finally decided to give me a call. She'd purchased one of my CDs, mellowood.ca/music/cedars/index.html five or more years ago at an art show and really needed to let me know how much she still enjoyed it. I could hear it playing in the background. During our brief conversation I thought she was going to break down into tears.

The CD was done as a test of MMA! All the backgrounds, 100%, were done with MMA. All I had to do was write the melodies, play the saxophone, record and mix it all. The simple stuff :)

Made me feel pretty darn good knowing that this little test could bring such joy into someone's life!

Saturday, September 10, 2016

New Developer Version 16.06.a

I've posted mma-16.06.a on the download site. A few features I'm sure "someone" will like:

 - The AFTER option parser now permits option pairs in the command to execute properly.

 - DefaultDrum now sets up solo/melody tracks as
      well as drums. I've spent quite of time debugging this apparently simple fix. Please let me know if get it to crash!

 - The plain old #5 for a major chord no longer works (well, it didn't before!). Please use (#5), + or aug.

As always, you can get this at:

 http://mellowood.ca/mma/downloads.html#developer

Have fun!

Wednesday, September 7, 2016

Drum Voice

I've added the following to the docs for setting a voice in a drum track to the manual: 

All DRUM tracks share a common MIDI channel. This, for all practical purposes, means that all DRUM tracks will have the same VOICE or "drum kit''. In most cases, it is recommended that you use the VOICE command only in the generic track "Drum''. At this point, MMA doesn't enforce this recommendation. 

Hopefully this will eliminate some confusion.

Sunday, September 4, 2016

Different Ways to do Things

It always surprises me how different folks use different methods to do the same thing.

I had some discussions the other day with a fellow who was using MELODY tracks to create drum patterns. And, this actually makes perfect sense. He gets to use a sheet music-like notation instead of defining SEQUENCES. Of course, using the notation for Melody/Solo one loses the ease of using different velocities, repetitive patterns, etc.

But, it sure is cool to know that people are doing things completely different from anything I imagined. Let me know if you're breaking or bending the rules.

Tuesday, July 12, 2016

Short example

I was writing a short intro today and needed a background with only a sustained chord track. I was going to write a simple groove ... but then realized that it was simpler than that. Here's what I did:

  /// start off by turning off everything
   Groove None
  /// and now load a single track
   Chord-Sus  Groove RockWaltzSus

Yup, it's that easy.