Author Topic: It's MML time.  (Read 2865 times)

Vecanti

  • Hero Member
  • *****
  • Posts: 629
Re: It's MML time.
« Reply #30 on: March 26, 2010, 07:55:31 PM »
Goban: May I use the original mml for agony for testing ? I like the gurgle effect :-)

Of course.  Feel free to do whatever you want with it.  I think looking at these files and modding them is a really good way to learn.


Vecanti

  • Hero Member
  • *****
  • Posts: 629
Re: It's MML time.
« Reply #31 on: March 26, 2010, 08:04:32 PM »
Goban: May I use the original mml for agony for testing ? I like the gurgle effect :-)

those were the side effect of typos while delimiting each channel (stray .'s).   Also from a line that was too long for the compiler.  :D

The modulation wave in the file is pretty basic. (lifted from an example I provided I think)



Yeah I think I used sounds you used.  I changed some of the channels around a bit.  Are the . not suppose to be in there?   I need to read some more! :)


Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #32 on: March 26, 2010, 08:34:16 PM »
Code: [Select]
.TRACK  Agony


.CHANNEL 0  Setup
T35 V31 L1 ^D0

[u][b].[/b][/u]

CHANNEL 1  Organ

I bolded the problems.  Actually problem.    The other dot I thought I saw turned out to be a spec of dust on the screen, lol

The . does need to be there, but it must be ".channel 1"   just like that.

I know the manual says the compiler ignores whitespace, but it only does it for the MML commands.  For like when you are entering notes, and such!

.TRACK, .CHANNEL, .WAVE, .ENVELOPE, etc. aren't exactly MML commands.  They are more like "section commands".
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

Vecanti

  • Hero Member
  • *****
  • Posts: 629
Re: It's MML time.
« Reply #33 on: March 27, 2010, 07:48:09 AM »
>>The . does need to be there, but it must be ".channel 1"   just like that.

Ah I see it.  I was thinking you meant the "dot extender" was not suppose to be used and I was totally confused.  

I didn't even notice the  space, but I totally got you.  Needs to be next to the command.  It would be like calling a function in C++ like   character . draw()   ;-)


I read through the read me and just wanted to say that it is really well done.  I usually skip those because they are useless, but I should have read the whole thing first.  Excellent work!


Ninja Spirit

  • Hero Member
  • *****
  • Posts: 1515
Re: It's MML time.
« Reply #34 on: March 27, 2010, 09:43:49 AM »
I think I hit a brick wall. About the soundtest.c file, what program do you use to open it? Currently on my laptop it's an unknown file type which asks me to open from the program list or have the web search for it.
« Last Edit: March 27, 2010, 11:04:08 AM by Ninja Spirit »

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #35 on: March 27, 2010, 11:32:52 AM »
I think I hit a brick wall. About the soundtest.c file, what program do you use to open it? Currently on my laptop it's an unknown file type which asks me to open from the program list or have the web search for it.

Oh!  You need not open the file or look at it much at all.   You just need to have huc installed .

HuC is the PCE/TG16 C compiler at zeograd.com

I will try finding you on the yahoos to help if you need it. 
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

hcf

  • Jr. Member
  • **
  • Posts: 93
Re: It's MML time.
« Reply #36 on: March 29, 2010, 03:22:09 AM »
This new version of Squirrel seems to be awesome. It's very nice to see all the people in this forum that are sharing very usefull libraries. In my opinion, this is the best way to make our scene grow.

As far as Squirrel is related, I have been able to create ISOs with the example MML files, and they work perfect. This is amazing :) 

The bad thing is that I am trying to go one step beyond. I have a lot of MID files, and I am trying to convert them to MML and use them with Squirrel. I have used several programs: midimml2.2, tinymml, and even the wonderfull 3MLE (it can convert MID files to 3 different styles of MML: Mabinogi, Thread and MabiMML). So, I got 5 different MML files (one for each method of conversion) but none of them worked with Squirrel. Even I tried to edit the Cathedral.MML sample and replace the inner part of the channels with the one generated by these programs, and it doesn't work :(

And this is a pity, because people WITHOUT a deep musical knowledge would be very happy if we can convert MID files to MML and import them with Squirrel later. We are not able to compose our own MML music, but in Internet there are tons of MID files to import. So, I would like to ask you... have you ever tried one of this MID to MML programs, and do you know if there are any of them which generates code compatible with Squirrel? If that tool does exist, the combo "Squirrel+That Tool" would be the perfect way to create music for PC Engine!! :D

In any case, even if this tool doesn't exist, your work is very nice. Congratulations! :)

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #37 on: March 29, 2010, 07:39:43 AM »
you probably can't copy stuff converted with those programs directly over, as they all add little delimiters between channels that are inconsistent.


Post one of the conversions here, and I can take a look at it and see.  Its probably a matter of having to remove some excess-stuff, so the Squirrel compiler doesn't get a bunch of weird stuff


Here is something I finished last night:
http://www.aetherbyte.com/downloadables/AetherbyteTheme.mp3
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

sunteam_paul

  • Hero Member
  • *****
  • Posts: 4732
Re: It's MML time.
« Reply #38 on: March 29, 2010, 07:52:36 AM »
Do you know anything about ABC music notation? It would be amazing if squirrel could read ABC files (MMORPG Lord of the Rings Online does this for it's custom player music and it's basically jsut a text file).
The PC Engine Software Bible
Quote from: Tatsujin
I just felt in a hole!

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #39 on: March 29, 2010, 09:49:12 AM »
Do you know anything about ABC music notation? It would be amazing if squirrel could read ABC files (MMORPG Lord of the Rings Online does this for it's custom player music and it's basically jsut a text file).

No idea, but I wouldn't reckon it'd be too hard to convert from that to MML.
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

sunteam_paul

  • Hero Member
  • *****
  • Posts: 4732
Re: It's MML time.
« Reply #40 on: March 29, 2010, 11:59:56 AM »
Do you know anything about ABC music notation? It would be amazing if squirrel could read ABC files (MMORPG Lord of the Rings Online does this for it's custom player music and it's basically jsut a text file).

No idea, but I wouldn't reckon it'd be too hard to convert from that to MML.

Hopefully I can find some time to look into that. There are loads of ABC files on the net, and I've got a good midi->ABC converter.
The PC Engine Software Bible
Quote from: Tatsujin
I just felt in a hole!

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #41 on: March 29, 2010, 01:28:13 PM »
Do you know anything about ABC music notation? It would be amazing if squirrel could read ABC files (MMORPG Lord of the Rings Online does this for it's custom player music and it's basically jsut a text file).

No idea, but I wouldn't reckon it'd be too hard to convert from that to MML.

Hopefully I can find some time to look into that. There are loads of ABC files on the net, and I've got a good midi->ABC converter.

got a good ABC to MIDI converter?
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

TheOldMan

  • Hero Member
  • *****
  • Posts: 958
Re: It's MML time.
« Reply #42 on: March 29, 2010, 03:17:51 PM »
hcf: I'm not an expert on the subject, but I do know that if you have midi files, it's not very hard to find a program that will export them as mml. You do have to clean up the files and convert them to the squirrel format, but that's a lot easier than trying to re-enter all that information. Somewhere floating around I have the source to a program that reads mabinogi formatted mml, and strips out the stuff you don't need. Then it's a simple matter to paste that information into the skeleton squirrel file to get a working starting point.

sunteam_paul. I actually looked up the abc music format. Unsurprisingly, it is a lot like mml, wth the only real
differences being in the header information (most of which isn't important to the sound anyway) and the addition of measure markers. I'm sure it would be no big deal to convert between ABC and MML, but right
now I'm too busy to take on another project. Anyone really good at pearl out there? Seems like it would be a natural fit....

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: It's MML time.
« Reply #43 on: March 29, 2010, 04:54:30 PM »
hcf: I'm not an expert on the subject, but I do know that if you have midi files, it's not very hard to find a program that will export them as mml. You do have to clean up the files and convert them to the squirrel format, but that's a lot easier than trying to re-enter all that information. Somewhere floating around I have the source to a program that reads mabinogi formatted mml, and strips out the stuff you don't need. Then it's a simple matter to paste that information into the skeleton squirrel file to get a working starting point.
Yep, nearly every "midi to MML" converter in existence seems to have its own style once output to the MML file.  Some are very sloppy, and full of extra-stuff that probably made it easier on the converter writer, or because it was tailored to a specific player THEY had, that none of us do, and its not around anymore. 

outside of the standard , general MML syntax, the way you lay the file out is kind of up to the author, but a few more defined standards have been set in place over the years. 

The HuSIC/MCK style, the Mabinogi Style, and the Develo style, which is basically lifted/reworked from the generally accepted MSX style.

[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

hcf

  • Jr. Member
  • **
  • Posts: 93
Re: It's MML time.
« Reply #44 on: March 29, 2010, 08:54:18 PM »
Thanks for the answers. I'm going to post the results of the 5 programs that I have to convert MID to MML. Also, I have tried to replace the CHANNEL section of the "Cathedral.MML" sample with these results, and I was not lucky. Maybe if you see these conversions you can tell us which one is closer to the standard MML required by Squirrel, and what are the things that we must erase (and paste them in the CHANNEL section). As TheOldMan said, this is easier than making the MML from scratch (even more for people without musical knowledge). These are the results:

Tinymm:

Code: [Select]
{ Ch 01 ===================================== }
r1
o3c4^8g4^16^32o4c4^32
o3f4^8^32o4c4^16^32o3f4
c4^8e4^16^32g8<c2^4^8
>g4^32
c4^8g4^8<c4
>f4^16^32r32<c4^16^32o3f4c4^32
g+4^16^32r32a+4^16^32o4c4^8^32
>g16r16g4c8^16r16
c4^8g4^8<c4
o3f4^8<c4^16^32o3f4^32
c4^8e4^16^32g8<c2^4^8
o3g4c4^8^32
g4^16^32r32o4c4
>f4^8<c4^16^32r32o3f8^16^32c4^32
g+4^8a+4^16^32<c2^4^16^32
;
{ Ch 02 ===================================== }
r1^4^32
<g32r16f+16r16f16r16d+8r8e8
r8>g+16^32r32a8o6c4^32o5a16^32<c16^32r32d8^32
r8^16^32g16^32r32f+16r16f16r16d+8^16^32r32e8^32
r16<c8^16r16c16^32r32c2r4^32
>g16r32f+16r16f16^32r32d+16^32r8^16e16^32r8^32
o5g+8a16^32r32o6c4o5a8<c16^32d4^16
r16^32d+4^16r16d4^16r32c2^32
r2^8^16^32
g16^32r32f+16r16f16r16d+4^32e4^32
o5g+16^32a8o6c4o5a8<c16^32d4
r8^32g16r16f+32r16^32f16^32r32d+4e8^16
r16<c8^16r32c16^32r32c2^32
r8^16^32o6g8f+16^32r32f16r16d+4e4^16
>g+8a8<c8^16^32>a8<c16^32d4^8
r32d+4^16^32d4^8>g1^16
;


3MLE Mabinogi:

Code: [Select]
MML@r1rv11l8>gv12f+v11fv13d+4v11e4v10<g+v12av13>c4.v12cd4.v11gv12f+v11fd+4v12e.&e32>c4v11cc2.&c32v12<g16.f+fv11d+4&d+32e4v9<g+v11av12b+4v11av12>c16.v13l4.d&d32d+d4&d16.v12c1&c4v11g8v12f+8v11f8v12d+4&d+32v11ev12<av11a8.&a32l32>d4.&dg16.v12f+8v11f8&fv12d+4v10e4v11>c8.&cc8c2.v10l4<gf8v12d+v9e&e16l8<g+v6av10>c.&c32v9<av10l16.>cv7d4.&d32v13d+4&d+v12d4.<g1&g16,r1v11o2c.v10g&g16.>c&c32<f2.f2&f8e.&e16.v9>c2.&c8v10<g&g32c.g.b+f&f16.b+.fc&c32v12g+.a+2.v11g8v10gv11cv10c.g.b+v9f.>c&c16.<f&f32v10c.e.&e16.>c2.&c8<gc.&c32g&g16.>c&c32v9l4.<fv10b+v7l16.f4.&fv12g+4.&g+32v13a+4&a+v11>c2.&c,t167;

3MLE Thread:

Code: [Select]
y‹È–¼z
yo“Tz
yì‹È‰Â”\ƒ‰ƒ“ƒNzD (352/220/4)

MML@
r1rv11l8>gv12f+v11fv13d+4v11e4v10<g+v12av13>c4.v12cd4.v11gv12f+v11fd+4v12e.&e32>c4v11cc2.&c32v12<g16.f+fv11d+4&d+32e4v9<g+v11av12b+4v11av12>c16.v13l4.d&d32d+d4&d16.v12c1&c4v11g8v12f+8v11f8v12d+4&d+32v11ev12<av11a8.&a32l32>d4.&dg16.v12f+8v11f8&fv12d+4v10e4v11>c8.&cc8c2.v10l4<gf8v12d+v9e&e16l8<g+v6av10>c.&c32v9<av10l16.>cv7d4.&d32v13d+4&d+v12d4.<g1&g16
,
r1v11o2c.v10g&g16.>c&c32<f2.f2&f8e.&e16.v9>c2.&c8v10<g&g32c.g.b+f&f16.b+.fc&c32v12g+.a+2.v11g8v10gv11cv10c.g.b+v9f.>c&c16.<f&f32v10c.e.&e16.>c2.&c8<gc.&c32g&g16.>c&c32v9l4.<fv10b+v7l16.f4.&fv12g+4.&g+32v13a+4&a+v11>c2.&c
,
t167
;


3MLE MabiMML:

Code: [Select]
[Settings]
Title=
Source=
Memo=
TimeBase=32
TimeSignatureNN=4
TimeSignatureDD=4
Instrument1=128
Instrument2=128
Instrument3=128
Instrument4=128
TrackName1=Track1
TrackName2=Track2
TrackName3=Track3
TrackName4=Track4

[Channel1]
//#using_extension
//#using_channel = 0


/*M 0  */  t167
[Channel2]
//#using_extension
//#using_channel = 1

// Bass

/*M 0  */  V97@35r1
/*M 1  */  v11o2c4.v10g4&g16.>c4&c32
/*M 2  */  <f2.f2&
/*M 3  */  f8e4.&e16.v9>c2.&
/*M 4  */  c8v10<g4&g32
/*M 5  */  c4.g4.>c4
/*M 6  */  <f4&f16.>c4.<f4c4&
/*M 7  */  c32v12g+4.a+2.
/*M 8  */  v11g8v10g4v11c4
/*M 9  */  v10c4.g4.>c4
/*M 10 */  v9<f4.>c4&c16.<f4&f32
/*M 11 */  v10c4.e4.&e16.>c2.&
/*M 12 */  c8<g4c4.&
/*M 13 */  c32g4&g16.>c4&c32
/*M 14 */  v9<f4.v10>c4.v7<f4.&
/*M 15 */  f16.v12g+4.&g+32v13a+4&a+16.v11>c2.&
/*M 16 */  c16.
[Channel3]
//#using_extension
//#using_channel = 2

// Melody

/*M 0  */  V127@25r1
/*M 1  */  r4v11>g8v12f+8v11f8v13d+4v11e4
/*M 2  */  v10<g+8v12a8v13>c4.v12c8d4.
/*M 3  */  v11g8v12f+8v11f8d+4v12e8.&
/*M 4  */  e32>c4v11c8c2.&
/*M 5  */  c32
/*M 5  */  v12<g16.f+8f8v11d+4&d+32e4
/*M 6  */  v9<g+8v11a8v12>c4v11<a8v12>c16.v13d4.&
/*M 7  */  d32d+4.d4&d16.v12c1&
/*M 8  */  c4
/*M 9  */  v11g8v12f+8v11f8v12d+4&d+32v11e4.
/*M 10 */  v12<a4.v11a8.&a32>d4.&
/*M 11 */  d32g16.v12f+8v11f8&f32v12d+4v10e4
/*M 12 */  v11>c8.&c32c8c2.
/*M 13 */  v10<g4f8v12d+4v9e4&
/*M 14 */  e16<g+8v6a8v10>c8.&c32v9<a8v10>c16.v7d4.&
/*M 15 */  d32
/*M 15 */  v13d+4&d+16.v12d4.<g1&
/*M 16 */  g16
[Channel4]
//#using_extension
//#using_channel = 8

// Sequenced by Mike Martel

/*M 0  */  V100@0

Finally, midimml is a bit buggy and their results are clearly wrong, so I am not going to paste them here.

Thank you very much!!