[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] Midi Mouth (requires MIDI.pm)



>Kinda cool.  I think you're pushing the limits of Mac::Speech though.  It
>doesn't handle complex midi files well,

Agreed. I am testing the limits. I never imagined that this method could
produce a quality MIDI player. I have several decent freeware and shareware
MIDI players that suit my purpose. I feel no need to reinvent those. My
music processor (Mosaic) can open MIDI files so they can be tinkered with
and printed as sheet music. It can also save in the MIDI format.

This is the beginning of a tool to help me analyze existing MIDI files. A
few years ago I wrote a hypertalk (Hypercard) program that would read a
song created in the key of 'C' that had been saved with Professional
Composer and then analyze it to determine if it could be played on the
diatonic 10 hole harmonica and, if so, automatically create tabs ('4Be' for
'C eigth note', etc.). Many songs have notes that can't be played on a
diatonic harmonica since it only has 20 notes (actually 19 since draw 2 and
blow 3 produce the same note) to cover a 3 octave range.

I have longed to create a MacPerl program that would do this with midi
files. I hope to take it a step further and have MacPerl determine the key
of the song and then transpose it into the key of 'C'. The difficulty would
be in determining the key the MIDI song. I have some ideas that I have been
experimenting with but have yet to come up with a consistantly reliable
method.

Transposing to a different key is easy enough using the code I submitted.
All I would have to do is add or subtract the same number to/from each note
before it is played.

Thanks to Sean Burke's MIDI.pm this all appears feasible. If successful
I'll hopefully be able to integrate this with my 'Harmonica Helper' program
so the user/harmonica student can learn to play (on harmonica) any midi
song which passes the test.  I've been a harmonica evangelist a lot longer
than I have a MacPerl enthusiast.

>and doesn't know squat about
>channel 10 being the drum track in General MIDI.

I'm mostly an acoustic musician. I don't have any keyboard experience and
have never owned a MIDI interface. I didn't even know channel 10 was the
drum track. I guess I'd better do some research to determine if there is a
specific track designated to the melody because that is really all I need
for my current purposes.

>Need to try a new
>tack, see if you can pass the midi commands to the Mac's built-in
>QuickTime MIDI synth.  This may take a bit more work, but the results
>should be worth it.

That would be real cool! I don't have a clue as to how to proceed with this.

>Here's a suggestion:  Use MIDI channel 1 as the vocal line, and make the
>voice speak text from a provided file

I toyed with a similar idea but dismissed it up when I realized that either
the words would have to be broken down into syllables or I would be limited
to MIDIfied songs without many short (sixteenths, eighths) notes.
Otherwise, the ends of the words would get clipped.

Thanks for the feedback.

David Seay
http://www.mastercall.com/g-s/




# ===== Want to unsubscribe from this list?
# ===== Send mail with body "unsubscribe" to macperl-request@macperl.org