What mcMML is:
MC1.6.4, (Forge953)(wip), using JAVA7 and its internal Gervill midi synth (plus FLUID-R3 sf2 DL soundbank)
3d Modelled instruments so players can play music in minecraft.
Type or paste in standard MML music notation (such as the Nexon game Mabinogi uses).
Current dev version allows calling any GM Midi instrument sound within MML.
Parses upto 4 polyphonic notes per channel, and multiple channels/instruments per MML.
You enter the MML text into the instrument gui
Then you Use the Instrument to initiate a play on the instrument item
WHY text music code?
It is small. Smaller than mp3 on insane compression. A 1min song with 3 polyphonic3 instrument channels could be just 3-6k.
It is text. There are a few letters that are commands, it is human readable, and freaking hard to pass malware in a text string that is parsed for valid commands compared to sending binary 'files' back and forth.
Small and safe text can quickly be created by players and packetshared by the server, to allow folks to play for audiences that dont need to have files already DL or to DL them on the fly- your music doesnt need to be hosted anywhere, the game passes it in packet
My co-dev is working on a fork of the project, and it sounds like they are making great progress in players forming partys to play adhoc bands.... I may be joining them if they choose to publish what they got
What mcMML is not:
mcMML is not a midi jukebox, it dosnt play files off your drive or fetch them from the net.
mcMML is not a realtime midi instrument, you can take your time making a MML sequence to play.
mcMML is not open source for the Dev Test builds (but will be for Version 1.0)
mcMML is not Pauls Sound Code, it is using javax directly
What mcMML looks like:
Other multiplayers games have instruments and bands, why dont we have them to
What mcMML has working so far:
3d Instrument models (few atm)
Gui type/paste entry of MML music text to play (not pretty)
MML-> Midi parser & player, multichannel at 4note polyphonic per
Support for alternate midi soundbank in Config file (not pretty)
"/mcMML SynthRestart" command to kill plays in progress
Band Amplifier machine to play ensemble songs (very wip)
What mcMML versions:
All below work under MC1.6.4 with Forge b953, JAVA7 REQUIRED
Currently under development: snapshot no-src feature tests
Previous unreleased development versions for Proof Of Concept
Know bugs / shortcomings:
Config file allows access to alternate Soundbanks files, but can crash game if set wrong.
Things to do:
Expand instrument item list... Instrument is already a SubItems(damage) setup. Multiplayer 'Band Amplifier' to allow a few folks to each bring an instrument and play a song sync'ed.
Improve Band Amplifier from test state
/ commands to admin kill playing, enable-disable listening for each player
Sanity check the packet before & after transit Model the instruments (likely a later version 2.0 feature)
Recipes other than apples for everything
Harden soundbank file situation
I finally got Blender working to make 3D Instrument models.
A few test instrument models so far... guitar and flute are boxy, but the Mandolin has a low poly bowl body.
These are NOT all the finished models, just working versions to get the java code working
Putting up a Dev Test dl today,
and cleaned up post1 a bit.... layout and room for updates.
update2: null checking NBTs
update4: Fixed broken 'Dotted WholeNote'
Dev-0e includes
new instrument (BassGuitar)
initial tests of Band Amplifier block (machine) wip
Config file allows using alternate midi Soundbank (DLS or SF2) wip
If you try out some MMLs in the mod and find a flaw in the parse to midi,
please post the paricular section of MML Text that is failing
(such as & 'ties' or Dotted notes.. perhaps in " c4.& c16" )
The Band Amp has a AltMidi button... that is for overriding the Config option to use an alternate soundbank file... it is for development testing of the Soundbank loading, so it WILL crash out your game if you dont have a proper alternate soundbank setup in Config
Config File-
Pretty straight forward for item IDs,
but the Midi Mapper and Alt soundbank are new:
To simply use the default Java7 soundbank (yuk in Linux) leave the UsePatchmap = false
If you want to use an alt soundbank,
set the location in either S:AltSoundbankFile1 or 2,
tell the mod if you are using 1 or 2.... if using 2 then set UseAlt1 to false, B:UseAlt1=false
then finally tell the mod to go ahead and use its soundbank load and patchmapper stuff B:UsePatchmap=true
Patch mapping is needed if your custom soundbank doesnt use GM midi instrument numbering.
just place the 0-127 number of the patch in your bank next to the instrument in the file.
ex:
If you have a DLS that has Flute on 5 instead of GM Flute 73,
on the Flute line of the config simply put your number 5.
This also will work for mapping instruments to certain subtypes, such as SlapBass for bass... if your soundbank SF2 or DLS supports it
This is piece of music in the public domain. It's by J.S. Bach from his Eight Little Organ Prelude and Fugues. This is Fugue 6. I entered it by hand into 3mle and exported it in clipboard format
The Meaning of Life, the Universe, and Everything.
Join Date:
3/17/2012
Posts:
43
Minecraft:
Kasatome
Member Details
I've seen you mention this elsewhere in the forums, so I'm wondering, is this dead? I would love to see where it is if it's not. You see, I play Mabinogi and ArcheAge, where mml is the standard music format, so I already have a TON of mml made up and would love to see this go somewhere.
I've seen you mention this elsewhere in the forums, so I'm wondering, is this dead? I would love to see where it is if it's not. You see, I play Mabinogi and ArcheAge, where mml is the standard music format, so I already have a TON of mml made up and would love to see this go somewhere.
I won't let it die. I've resurrected it and will be continuing work. I've lost track of DaWicked1, but if he regains his interest who knows, he might re-surface. I need to make a new WIP page, but for now you can check progress at my blog mxTune - The Resurrection.
MC1.6.4, (Forge953)(wip), using JAVA7 and its internal Gervill midi synth (plus FLUID-R3 sf2 DL soundbank)
3d Modelled instruments so players can play music in minecraft.
Type or paste in standard MML music notation (such as the Nexon game Mabinogi uses).
Current dev version allows calling any GM Midi instrument sound within MML.
Parses upto 4 polyphonic notes per channel, and multiple channels/instruments per MML.
You enter the MML text into the instrument gui
Then you Use the Instrument to initiate a play on the instrument item
WHY text music code?
What mcMML is not:
mcMML is not a midi jukebox, it dosnt play files off your drive or fetch them from the net.
mcMML is not a realtime midi instrument, you can take your time making a MML sequence to play.
mcMML is not open source for the Dev Test builds (but will be for Version 1.0)
mcMML is not Pauls Sound Code, it is using javax directly
What mcMML looks like:
Other multiplayers games have instruments and bands, why dont we have them to
What mcMML has working so far:
3d Instrument models (few atm)
Gui type/paste entry of MML music text to play (not pretty)
MML-> Midi parser & player, multichannel at 4note polyphonic per
Support for alternate midi soundbank in Config file (not pretty)
"/mcMML SynthRestart" command to kill plays in progress
Band Amplifier machine to play ensemble songs (very wip)
What mcMML versions:
All below work under MC1.6.4 with Forge b953, JAVA7 REQUIRED
Currently under development: snapshot no-src feature tests
Know bugs / shortcomings:
Config file allows access to alternate Soundbanks files, but can crash game if set wrong.
Things to do:
Expand instrument item list... Instrument is already a SubItems(damage) setup.
Multiplayer 'Band Amplifier' to allow a few folks to each bring an instrument and play a song sync'ed.Improve Band Amplifier from test state
/ commands to
admin kill playing, enable-disable listening for each playerSanity check the packet before & after transit
Model the instruments (likely a later version 2.0 feature)Recipes other than apples for everything
Harden soundbank file situation
I finally got Blender working to make 3D Instrument models.
A few test instrument models so far... guitar and flute are boxy, but the Mandolin has a low poly bowl body.
These are NOT all the finished models, just working versions to get the java code working
and cleaned up post1 a bit.... layout and room for updates.
update2: null checking NBTs
update4: Fixed broken 'Dotted WholeNote'
Dev-0e includes
new instrument (BassGuitar)
initial tests of Band Amplifier block (machine) wip
Config file allows using alternate midi Soundbank (DLS or SF2) wip
If you try out some MMLs in the mod and find a flaw in the parse to midi,
please post the paricular section of MML Text that is failing
(such as & 'ties' or Dotted notes.. perhaps in " c4.& c16" )
The Band Amp has a AltMidi button... that is for overriding the Config option to use an alternate soundbank file... it is for development testing of the Soundbank loading, so it WILL crash out your game if you dont have a proper alternate soundbank setup in Config
Config File-
Pretty straight forward for item IDs,
but the Midi Mapper and Alt soundbank are new:
To simply use the default Java7 soundbank (yuk in Linux) leave the
UsePatchmap = false
If you want to use an alt soundbank,
set the location in either
S:AltSoundbankFile1 or 2,
tell the mod if you are using 1 or 2.... if using 2 then set UseAlt1 to false,
B:UseAlt1=false
then finally tell the mod to go ahead and use its soundbank load and patchmapper stuff
B:UsePatchmap=true
Patch mapping is needed if your custom soundbank doesnt use GM midi instrument numbering.
just place the 0-127 number of the patch in your bank next to the instrument in the file.
ex:
If you have a DLS that has Flute on 5 instead of GM Flute 73,
on the Flute line of the config simply put your number 5.
This also will work for mapping instruments to certain subtypes, such as SlapBass for bass... if your soundbank SF2 or DLS supports it
A popular editor for MML is at http://3ml.jp/
For examples you can paste in and play with I suggest you google on mabinogi MML.
mcMML requires the MML be formatted in MML clipboard format. That essentially looks like this:
MML@<mml code track 1>,<mml code track 2>,<mml code track3>;
e.g. MML@c,e,g;
The above would play a simple chord.
This is explained in the first link. You will find tunes pasted in posts in either clipboard format or as seperate tracks.
Some pieces are intended to played on multiple instruments at the same time. This is shown in the videos in the OPS posts.
so no mcMML (164) update this time
I won't let it die. I've resurrected it and will be continuing work. I've lost track of DaWicked1, but if he regains his interest who knows, he might re-surface. I need to make a new WIP page, but for now you can check progress at my blog mxTune - The Resurrection.