Scriptable MIDI maker

Started by Etcher Squared Games, Sun 27/11/2005 04:57:57

Previous topic - Next topic

Etcher Squared Games

Greetings AGSers,

I've been working on a project for a short while that I wish to present to you all.
This was an idea I had for myself while trying to create music for a game I am currently working on.Ã,  I know Anvil Studio exists and such, but I found it to be difficult for me to use sometimes.

So, I embarked on my own tool that I call the "Scriptable MIDI Maker" or SMM.

You can find my first somewhat-working prototype at
www.etcher2games.com/smm/SMM.zip

In this zip file you will find:
1.Ã,  ScriptableMIDIMaker.exe
2.Ã,  Mary.txt
3.Ã,  Mary.mid
4.Ã,  Jethro Tull Aqualung.txt
5.Ã,  Jethro Tull Aqualung.mid

#1 is the EXE itself, naturally. This was written using Visual Studio C# with .Net framework 1.0. You will need the .NET redistributable 1.0 found here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=d7158dee-a83f-4e21-b05a-009d06457787&DisplayLang=en
I know that's 20 megs but C# is what I'm most familiar with right now and is the only language I have on hand.Ã,  This MIGHT work with future versions of .NET, but I can't really test it right now.

#2 is not only a sample file of "Mary had a little lamb" but is also a nice how-to for using this.

#3 is the compiled result.

#4 and #5 are the input and output files for the first measure of Jethro Tull's "Aqualung."Ã,  I have the sheet music for it and I thought I'd give it a try.


The intended audience of this software are people who want music in their game, but aren't necessarily hugely musically inclined or people who are intimidated by current music solutions.

Right now it's even a little scary to use my software because in order to input notes, you need to know the 0-127 value of the note you want.Ã,  I plan to change this in the future to have better constants so you won't need to know these items. (60 is middle C and each # higher or lower is a half step higher or lower...)

Also, to pick an instrument, you need to know the 0-127 value (I have a link in the Mary.txt to the list of instruments).Ã,  In the future, there will be constants for that too.

Currently, you can have up to 16 separate instruments.Ã,  Each instrument can only have 1 note playing at a time.Ã,  This, too, will change and will be improved.


But before I go making advancements and improvements to this, I'm showing this prototype off now to see

1. Is it needed?
2. Is it useful?
3. Would some people like scripting MIDI files or would you all rather use Anvil studio or what ever alternatives that exist?
4. Is there already a scriptable midi maker that I somehow just missed in my Google searches in the hopes that I'm not making something that already exists?


I would appreciate any/all comments about this. Please feel free to create your own songs (limited as they might be) and see how you like this. Thanks!


[edit]
Error checking is not very good right now. Please be aware of this.
website: http://www.etcher2games.com/
email: etcher2games@yahoo.com
forum: http://www.etcher2games.com/forums

Anyone want to make my website for free?

esper

I've been using Anvil Studio for a long time now, and I must say, I can't think of how an easier program exists. I'm not sure how making it into codable C++ routines is any easier than saying "Make the next note a quarter note, and put it here... Make the next note a dotted half, and put it here..." As a matter of fact, if you know enough about music to be writing a song in the first place, it is probably easier to do it by full note, half note, quarter note, sixteenth note, etc. than trying to figure out what the length delay number is, and to know the notes rather than their numerical value. Honestly, when all is said and done, there's no way scripting C++ is easier than looking at the music. If you don't know music, trying to convert music into C++ is an added step, an added difficulty, and includes an added measure of dauntingness.

Or, here's the music routine in QBasic:
PLAY "o2 c1 d4 f4 e4 d4 g2 g2 g4 a4 e4 f4 d2 d2 d4 f4 e4 d4 c4 o3 c4 o2 b4 a4 g4 f4 e4 d4 c1"

Not MIDI, but easy...
This Space Left Blank Intentionally.

TheYak

I was going to say that it reminded me of doing QBasic tunes..  it took me great lengths of experimentation to get the Space Quest tune out of it.  Of course, it'd take me just as long to experiment with the alien language of B sharps and 1/4 C notes.  I'll definitely muck around with this one.

Etcher Squared Games

#3
I had planned several things to make it easy.Ã,  For now you have to specify "whole", "half", "quarter", but I was going to make it where you could also specify an integer too.Ã,  Ã, 

But at the same time, if this gets interest I'm willing to listen to suggestions if the current syntax doesn't look promising.
website: http://www.etcher2games.com/
email: etcher2games@yahoo.com
forum: http://www.etcher2games.com/forums

Anyone want to make my website for free?

Gilbert

Actually there're scriptable MIDI creators floating around on the net already, some of them work quite good, too (like Sakura for example).
If it isn't already, I'll recommend that the scriptable format should be downward compatible to MML (MIDI Markup Language, or something like that), which is sort of a standard to how you write the notes, (actually qBasic also used MML to generate notes with the speaker), so your programme can also parse some of the more basic scripts compatible with other compilers.

SMF spam blocked by CleanTalk