PCEngineFans.com - The PC Engine and TurboGrafx-16 Community Forum

Tech and Homebrew => Turbo/PCE Game/Tool Development => Topic started by: Arkhan on February 28, 2010, 08:59:03 AM

Title: It's MML time.
Post by: Arkhan on February 28, 2010, 08:59:03 AM


There is a test of the new and improved Squirrel.  Anyone who's MML savvy should be able to pick up and go with ease, and anyone new to MML will see that it is not as scary as everyone claims (Most of that is thanks to HuSIC).

As the description says, working out some kinks before the public release, but there is proof of concept for you all :)

It'll come with a pretty solid instruction manual
Title: Re: It's MML time.
Post by: peperocket on March 01, 2010, 05:28:51 AM
Great news ! :clap:

I'm in a hurry to test it !
Title: Re: It's MML time.
Post by: Arkhan on March 05, 2010, 07:49:06 PM
UPDATE:

It's comin along.  Pretty near ready to give out to budding musicians to both enjoy, and bugtest!

This will be a beta release of course, and any bugs should definitely be pointed out to me!

I am currently working on the instruction manual.  Hopefully it is as clear as I hope!
Title: Re: It's MML time.
Post by: Arkhan on March 07, 2010, 02:55:15 PM
The manual is done, and has been read by a few people.  Both people who know this kinda thing already, and those who dont know much about MML and admit to being poor at music.


Both types gave the thumbs up!

I've been spotting a few bugs, Aetherbyte's getting it all straightened out, and another sample song or two is being worked on for the release of it.

So, PCE music is going to be ALIVE AGAIN!
Title: Re: It's MML time.
Post by: Arkhan on March 22, 2010, 09:49:32 PM


Oh if only we had this game on the PCE.

Made a pretty nice tune I think!

Done with MML!
Title: Re: It's MML time.
Post by: peperocket on March 23, 2010, 04:19:11 AM
Good sound, I love it !!

When can we expect to use new Squirrel ?
Title: Re: It's MML time.
Post by: Arkhan on March 23, 2010, 07:16:46 AM
Good sound, I love it !!

When can we expect to use new Squirrel ?


Pretty soon, I'd gather.

Some of the tweaks, testing, and experimenting took a bit longer than planned.  Especially with school and other crap going on!
Title: Re: It's MML time.
Post by: sunteam_paul on March 23, 2010, 07:33:17 AM
I wish I had more than a microbe of muscial talent so I could make use of this.
Title: Re: It's MML time.
Post by: Ninja Spirit on March 24, 2010, 02:50:50 AM
I always wanted to learn MML...

tired of wrestling with triplets on Famitracker and Fruity Loops
Title: Re: It's MML time.
Post by: Arkhan on March 24, 2010, 05:36:09 AM
I always wanted to learn MML...

tired of wrestling with triplets on Famitracker and Fruity Loops

If you understand the piano roll of fruity loops, youre like 80% to understanding MML man!
 
the lengths of the bars of the piano roll translate 1:1 to MML :)  You could type fruityloops stuff right in and be good to go.   
Title: Re: It's MML time.
Post by: Ninja Spirit on March 24, 2010, 07:46:35 AM
I always wanted to learn MML...

tired of wrestling with triplets on Famitracker and Fruity Loops


If you understand the piano roll of fruity loops, youre like 80% to understanding MML man!
 
the lengths of the bars of the piano roll translate 1:1 to MML :)  You could type fruityloops stuff right in and be good to go.   


Ah ok. For me, it's just a matter of learning to actually put in all that code into a notepad as opposed to piano rolls.

I must've read this a dozen times
http://www.shauninman.com/assets/downloads/ppmck_guide.html?caught#What

Title: Re: It's MML time.
Post by: TheOldMan on March 24, 2010, 08:25:46 AM
Wow. If you're trying to understand MML from that, my hat's off to you. You really only need the part below "musical Notation" to get something playing.
MML is a lot like the old basic play strings. Give it a bunch of notes, and let it play them :-
Title: Re: It's MML time.
Post by: Arkhan on March 24, 2010, 08:55:08 AM
I always wanted to learn MML...

tired of wrestling with triplets on Famitracker and Fruity Loops


If you understand the piano roll of fruity loops, youre like 80% to understanding MML man!
 
the lengths of the bars of the piano roll translate 1:1 to MML :)  You could type fruityloops stuff right in and be good to go.   


Ah ok. For me, it's just a matter of learning to actually put in all that code into a notepad as opposed to piano rolls.

I must've read this a dozen times
http://www.shauninman.com/assets/downloads/ppmck_guide.html?caught#What




WHOAAA ninjer spirit.  Do NOT use that.  It will only serve to scare you, confuse you, and give you a headache.  That setup is for people who are A) Crazy! B) Experienced with programming AND music or C) Japanese.

Don't worry.  I have many example songs , a few short, a few long, that will be included for you to learn from, and a very detailed manual.  You should have no trouble picking up on things from there and seeing how simple it is, especially if you are used to FruityLoopin'.  What you will get with Squirrel is just as powerful as ppmck/husic, but much easier to get going.


Title: Re: It's MML time.
Post by: Ninja Spirit on March 25, 2010, 03:37:18 AM
one drawback I won't be able to use Konami's Gradius/Salamander/Twinbee drums
Title: Re: It's MML time.
Post by: Arkhan on March 25, 2010, 05:21:50 AM
one drawback I won't be able to use Konami's Gradius/Salamander/Twinbee drums

yet.

:)

For now however with some fiddling and experimenting, you can pull of some nice drums.

ANYWAY:

A small update!

I will be releasing the compiler w/ 4 examples and detailed manual later today.  I get home from school in about 5 hours and will clean it all up and have it up on the internets in good time.

I will post a link to it here once it is ready.

It will be CD-ROM only while the HuCard portion gets straightened out.   Minor setback, but I think everyone's been waiting long enough and wants to mess around with it and see what they get out of it!

When it is out, I encourage everyone who tries it to look at the examples first, and read the manual.  Then try out your own stuff, and either make nice tunes, or break everything, point out problems you have noticed,  and ask me tons of questions.

I am being very serious too!  I am looking forward to answering questions, and things that may have been overlooked!    I am 100% ready and willing to assist everyone in learning MML.

*thumbs up* 
Title: Re: It's MML time.
Post by: ParanoiaDragon on March 25, 2010, 04:11:15 PM
What about the drums used in games like Shubibinman 1 & 2, they had a great sound engine!  And actually, I'm one of those guys that really liked Irem's sound engine!
Title: Re: It's MML time.
Post by: Arkhan on March 25, 2010, 04:51:03 PM
well, you can fiddle around with the noise drums and probably do the shubibin man stuff without too much difficulty.   I like the drums in those games also.

anyway, this beast will be up within the hour unless my internet shuts off or i implode
Title: Re: It's MML time.
Post by: Vecanti on March 25, 2010, 05:01:33 PM
well, you can fiddle around with the noise drums and probably do the shubibin man stuff without too much difficulty.   I like the drums in those games also.

anyway, this beast will be up within the hour unless my internet shuts off or i implode

I'll be waiting!  This is so awesome!

Title: Re: It's MML time.
Post by: Arkhan on March 25, 2010, 05:39:14 PM
well, you can fiddle around with the noise drums and probably do the shubibin man stuff without too much difficulty.   I like the drums in those games also.

anyway, this beast will be up within the hour unless my internet shuts off or i implode

I'll be waiting!  This is so awesome!



just cleaning up the manual and the example files and then SHABAM, itll be rdy2go!
Title: Re: It's MML time.
Post by: Arkhan on March 25, 2010, 06:19:15 PM
OK it is live!

http://aetherbyte.com/psg.htm

Get it here, and let the carnage commence!
Title: Re: It's MML time.
Post by: Vecanti on March 25, 2010, 07:27:29 PM
OK it is live!

http://aetherbyte.com/psg.htm

Get it here, and let the carnage commence!


It works!  Compiled the first example song and worked perfect.  This is so awesome.  I know nothing of MML itself, but I will play around with it.  So excited I can actually create some music through my duo :) 

Thanks so much!!
Title: Re: It's MML time.
Post by: Arkhan on March 25, 2010, 07:30:57 PM
glad to hear it.

I think you will find that after a bit of playing around, its pretty easy to get the hang of, and you can always use a different composing program (FruityLoops possibly) to create your music, and then once you have note lengths, and the like, you can type it in as MML!

 What I think would be great is if once more people start using it, everyone shares their music files for others to learn off of.

Open source music :D
Title: Re: It's MML time.
Post by: Vecanti on March 26, 2010, 07:01:21 AM
What I think would be great is if once more people start using it, everyone shares their music files for others to learn off of.

Open source music :D


Well, I made something at least.  I'm sure I did it all wrong, but it's my first try!

I put up the .mml and the iso (~900kb)

http://turboduo.org/mml/

Title: Re: It's MML time.
Post by: Arkhan on March 26, 2010, 08:14:58 AM
interesting!

I only looked quickly, but I think i only see a few hiccups.  I think a few lines may be too long, and .CHANNEL commands need to be on their own lines.

when I get in from work in about 2 hrs, i will have a harder look and see everything!


Title: Re: It's MML time.
Post by: Vecanti on March 26, 2010, 08:18:55 AM
interesting!

I only looked quickly, but I think i only see a few hiccups.  I think a few lines may be too long, and .CHANNEL commands need to be on their own lines.

when I get in from work in about 2 hrs, i will have a harder look and see everything!




Yeah, I really have no idea what I'm doing.  So I'm guessing line length plays into this.  Trying to find a good (text?)editor.  If I load them in notepad some are just one long line, some seem to be formated.

Fun though!
Title: Re: It's MML time.
Post by: Vecanti on March 26, 2010, 09:42:43 AM
Oh, I read the readme.txt.  That helped a ton. ;-)

Got some Lady Gaga rockin' on the PCE :-)

Title: Re: It's MML time.
Post by: Vecanti on March 26, 2010, 10:33:35 AM
OK, I re-uploaded my song:
http://turboduo.org/mml/

Sounds much more like I wanted.  I think we need to start a list (if one doesn't exist) of cool Waveform/settings that we like.  Right now I'm just using yours and tweaking them to see what happens. :-)

Title: Re: It's MML time.
Post by: Arkhan on March 26, 2010, 11:32:17 AM
OK, I re-uploaded my song:
http://turboduo.org/mml/

Sounds much more like I wanted.  I think we need to start a list (if one doesn't exist) of cool Waveform/settings that we like.  Right now I'm just using yours and tweaking them to see what happens. :-)




Goban, go to aetherbyte.com/forum and sign up!

there is an MML category, and I would like to have tons of stickies/mml songs posted there for everyone

figure if you put the songs in a codeblock, itll be good to go!


Also, Agony sounds great on the PCE.   I really dig it.  What a game.
Title: Re: It's MML time.
Post by: TheOldMan on March 26, 2010, 04:55:07 PM
Goban: May I use the original mml for agony for testing ? I like the gurgle effect :-)
Title: Re: It's MML time.
Post by: Arkhan on March 26, 2010, 05:22:09 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)

Title: Re: It's MML time.
Post by: Vecanti 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.

Title: Re: It's MML time.
Post by: Vecanti 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! :)

Title: Re: It's MML time.
Post by: Arkhan 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".
Title: Re: It's MML time.
Post by: Vecanti 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!

Title: Re: It's MML time.
Post by: Ninja Spirit 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.
Title: Re: It's MML time.
Post by: Arkhan 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. 
Title: Re: It's MML time.
Post by: hcf 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! :)
Title: Re: It's MML time.
Post by: Arkhan 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
Title: Re: It's MML time.
Post by: sunteam_paul 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).
Title: Re: It's MML time.
Post by: Arkhan 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.
Title: Re: It's MML time.
Post by: sunteam_paul 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.
Title: Re: It's MML time.
Post by: Arkhan 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?
Title: Re: It's MML time.
Post by: TheOldMan 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....
Title: Re: It's MML time.
Post by: Arkhan 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.

Title: Re: It's MML time.
Post by: hcf 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!!

Title: Re: It's MML time.
Post by: Arkhan on March 29, 2010, 10:58:26 PM
Yes you'll see there that each converter added its own unique style format.... mostly just a buncha useless crap that sections off each "channel" or section, and once you are familiar with MML you will notice what is actually MML and what is just a bunch of junk you don't need to worry about. :D   The not-needed stuff, is mostly just specifics to THAT converter and possibly player (3MLE for example.... goes with the Mabinogi game which uses MML files)

They are all pretty much what you would need.  You just have to yank out the MML data itself.

Tinymm would just require you to take whats between the (ch1=======) and place in .channel section of a squirrel file.

The same goes for 3MLE MabiMML.  just grab what is between the [channel ] markers, and ignore the /* M */ stuff, and anything else that begins with a /.  Those are just comments in that editor that mark off each measure of the song, and important bits of info for THAT player only.

don't use that thread one. its far too much work to copy and is a mess.

and the 3ML3 Mabinogi one too....

if this isn't clear to you still, please let me know and I will help more!
 
Title: Re: It's MML time.
Post by: hcf on March 29, 2010, 11:25:56 PM
Thank you! I will try TinyMM and 3MLE with MabiMML style again, and I will report my results.

It's curious: I found this 3MLE program, but I didn't know that Mabinogi was in fact a game  :mrgreen:
Title: Re: It's MML time.
Post by: hcf on March 30, 2010, 04:25:33 AM
I have tested both methods, and the results are a bit discouraging. They DO work indeed (both TinyMM and 3MLE with MabiMML style) but as you said, there is a lot of crap that we must remove (Squirrel dislikes it). After removing all that stuff and replacing the CHANNEL sections, the MML compiles and in fact the game PLAYS music!!! But it is not well synchronized (the tempo is not good, and the voices are not synchronized one with the others). Maybe all that crap is not entirely unusefull  :mrgreen:

For example, I see that there are some characters like ^ or ~ that generate errors. I must try it a bit more, because maybe there is a way to work if we guess the equivalence between this MML styles and the standard one from Squirrel...  :D
Title: Re: It's MML time.
Post by: TheOldMan on March 30, 2010, 05:10:00 AM
hcf. Going by what you posted earlier, yeah, you do need to change some stuff. the ^ is actually a tie, so something like c4^16 needs to be changed to c4&c16. note that you have to put the note name in for squirrel. I didn't see any ~'s, so I have no idea what they mean...possibly a slur?
Title: Re: It's MML time.
Post by: Arkhan on March 30, 2010, 05:31:39 AM
I have tested both methods, and the results are a bit discouraging. They DO work indeed (both TinyMM and 3MLE with MabiMML style) but as you said, there is a lot of crap that we must remove (Squirrel dislikes it). After removing all that stuff and replacing the CHANNEL sections, the MML compiles and in fact the game PLAYS music!!! But it is not well synchronized (the tempo is not good, and the voices are not synchronized one with the others). Maybe all that crap is not entirely unusefull  :mrgreen:

For example, I see that there are some characters like ^ or ~ that generate errors. I must try it a bit more, because maybe there is a way to work if we guess the equivalence between this MML styles and the standard one from Squirrel...  :D

strange.
~ and ^ are not normal.   We use ^ with squirrel for some of the PCE specific commands.  If something is using it for a note-tie, that is wrong. :(

if you would like, post the squirrel file you are trying to compile and play here, and we can see whats up!

I'm sure its just a few hiccups that come with learning a new language, and also with converting and pulling the data out of a different converter.

Though, the out of sync issues may also (and are probably) caused by stray characters that are not supposed to be in the file.  The compiler will ignore them, but in the process may ignore things you actually need as well (if they are after the ignored character with no spaces), depending where the incorrect characters are at.

generally, if the compiler mentions any errors about ignoring characters, it is best to locate and fix all of these problems before you test the song out, or it will probably be incorrect!

Title: Re: It's MML time.
Post by: hcf on March 30, 2010, 10:09:34 PM
Please, don't misunderstand my words in my other post: Squirrel works greatly, in fact I have compiled some of your samples and the sound is impressive!!

Obviously, the errors appear when I try to convert MID files to MML, because as you said, all the converters add special characters which are not standard, so Squirrel doesn't know what to do with that stuff. But this is not a fail of Squirrel at all!!

I am going to do several tests with some MID files, and I will try to remove all the special characters. Then, I will post here my results. And maybe, then I will need your advice :)

Thanks again!
Title: Re: It's MML time.
Post by: Arkhan on March 30, 2010, 10:20:42 PM
Please, don't misunderstand my words in my other post: Squirrel works greatly, in fact I have compiled some of your samples and the sound is impressive!!
Oh! no worries!  I was commenting on the converters themselves, not anything you said! :)

Quote
I am going to do several tests with some MID files, and I will try to remove all the special characters. Then, I will post here my results. And maybe, then I will need your advice :)

Thanks again!

Good luck, and thank you for your kind words thus far regarding squirrel!  :)

Title: Re: It's MML time.
Post by: Arkhan on March 30, 2010, 10:48:31 PM
Also, I can't release the .mml file of this tune quite yet.  I'm saving that for after the local show by me..

until then, here is an MP3 of it, for your listening pleasure!
http://www.aetherbyte.com/downloadables/Aetherbyte.mp3



its like the one from before, only better.
Title: Re: It's MML time.
Post by: sunteam_paul on March 31, 2010, 05:26:32 AM
neato burrito.
Title: Re: It's MML time.
Post by: touko on March 31, 2010, 06:06:08 AM
Also, I can't release the .mml file of this tune quite yet.  I'm saving that for after the local show by me..

until then, here is an MP3 of it, for your listening pleasure!
http://www.aetherbyte.com/downloadables/Aetherbyte.mp3



its like the one from before, only better.

WOW, incredible !!!
arkhan signing the best music library for homebrews ...
Title: Re: It's MML time.
Post by: Arkhan on March 31, 2010, 09:41:13 PM
:D
Title: Re: It's MML time.
Post by: Ninja Spirit on April 05, 2010, 10:55:44 AM
Ohhhhh shit! Somebody get this dude a record deal

Sounds like shooter music to me
Title: Re: It's MML time.
Post by: Arkhan on April 05, 2010, 11:48:19 AM
Ohhhhh shit! Somebody get this dude a record deal

Sounds like shooter music to me

what music? lol the one i posted?
Title: Re: It's MML time.
Post by: Ninja Spirit on April 05, 2010, 12:15:04 PM
Ohhhhh shit! Somebody get this dude a record deal

Sounds like shooter music to me

what music? lol the one i posted?

Yeah your newest one
Title: Re: It's MML time.
Post by: Arkhan on April 05, 2010, 01:11:49 PM
why thank you. :)

It was all done with Squirrel, obviously!

Proof that you can do pretty elaborate stuff.  Volume fades, arps, vibrato, and all that :)

its a pretty clean looking MML file too.  Makes heavy use of macros so its more organized.

Title: Re: It's MML time.
Post by: esteban on April 06, 2010, 10:21:05 AM
...here is an MP3 of it, for your listening pleasure!
http://www.aetherbyte.com/downloadables/Aetherbyte.mp3



Just listened to this, the third track really is wonderful

Dig the percussion, IN STEREO :)
Title: Re: It's MML time.
Post by: Arkhan on April 06, 2010, 10:30:08 AM
yes, the stereo useage is probably my favorite part of the entire thing.
Title: Re: It's MML time.
Post by: hcf on April 06, 2010, 10:49:17 PM
hcf. Going by what you posted earlier, yeah, you do need to change some stuff. the ^ is actually a tie, so something like c4^16 needs to be changed to c4&c16. note that you have to put the note name in for squirrel. I didn't see any ~'s, so I have no idea what they mean...possibly a slur?

It works!! Thank you TheOldMan, your suggestion is correct!!

In order that everybody can use this method, I am going to write an explanation FOR DUMBS, explaining my experience and which is the best method that I have found (without musical knowledge): I pick a MID file from internet, and I use the program TinyMM. This program produces a MML file.

We must do two things with this MML file: the first thing is copy the information of every channel, and paste that information in the channels of a working MML sample (for example, I used Cathedral.mml). The rest of the channels of Cathedral.mml must be empty. I used Cathedral.mml and not Skeleton.mml because Cathedral already has the information of the headers of the channels. In this headers info, you must change the Waveform (aka "musical instrument") which is the number following the "@" symbol, and in channel 0 you must change the Tempo (the number following the "T") which is the speed of the song.

Finally, as TheOldMan said, you must change every ^ symbol in this way: convert b4^8 in b4&b8 (is something like repeating a note). This is the key!!! My previous tests were not well synchronized because Squirrel ignored the notes after the ^ symbol. When these notes are not ignored, the musci plays well :)

Well, after all my tests I only can say... thank you, Arkhan and TheOldMan! Now I am going to test the power of Squirrel ;)
Title: Re: It's MML time.
Post by: touko on April 07, 2010, 12:44:46 AM
Cool hcf, this was an easy way to make mml ..

A noob like me in music says :clap: to you ..

Eh arkhan, it's normal that sngInit.c is not present in your squirrel2.0 archive ???  :-"

This 2.0 version, seems to be very clean  :clap:
Title: Re: It's MML time.
Post by: Arkhan on April 07, 2010, 01:52:02 AM
Good good


What a tie means is for example:

C4&C8 will play a note that is as long as a C4 and C8 note, but instead of retriggering the note, it blends it together into one long note.

so instead of hearing "doooo doo" you just hear "doooooo"

:)
Title: Re: It's MML time.
Post by: hcf on April 07, 2010, 02:52:34 AM
Quote
so instead of hearing "doooo doo" you just hear "doooooo"

LOL!! I have counted the number of "o" letters, and I understand exactly what you mean... I think that it is a perfect explanation  :D

Quote
Cool hcf, this was an easy way to make mml ..

Yes, this is the reason why I tried to search a method to convert MID to MML: people without the capabilities to compose music (like me) can now use the amazing Squirrel tool to insert PSG music in our games, because internet is full of MID files.

Arkhan, now I will suggest a task for Squirrel 3.0, hehehe :mrgreen:  The manual that you made is impressive, but maybe you can write another little README file, explaining the basic functions of your library. For example, I think that I understand functions like psgOn(), psgInit(), sngInit() or psgPlay( ), but maybe you can explain what is the purpose of the rest of the functions, what is the correct way to stop music ( I think that it's psgAllStop ), how to use a list of several songs, how to loop a song...

In fact, I think that I know how to do almost all those things (I have tested your library a lot in these days, hehehe) but I think that it will be positive for everybody to have that explanation (again, "for dumbs") written by you, the legitimate author of the library.  :)
Title: Re: It's MML time.
Post by: TheOldMan on April 07, 2010, 03:23:18 AM
tuoko:
"Eh arkhan, it's normal that sngInit.c is not present in your squirrel2.0 archive ???  "

yes. mml2pce generates that as it compiles the mml. It has all the low-level calls to the psg-bios to make the mml play. Note that snginit.c is a generic filename. If you have several mml files in one place, sngInit.c reflects the last one compiled.

hcf:
"maybe you can write another little README file, explaining the basic functions of your library"..
No Need. The actual library (in sound subdirectory, I think) is just HuC friendly calls to the psg-bios; a nice easy way to do it in Huc. So, if you can find the devlo docs, all the calls in the psg-bios section should apply. (Well, The name changed for one of them, psgMute I think - it made more sense)

And for those of you who are really interested:
"Squirrel" is really not a library, per se. The library portion is in the sound directory, and they are all very short assembler functions: basically, they pull the parameters off the huc stack, stick them where they belong, and call the psg-bios function. It's quite boring and easy to follow if you even sorta know how assembler and the psg-bios stuff works. It's not anything you can't do in assembler yourself.
The compiler (mml2pce) basically converts the mml to the bytecodes expected bythe psg-bios. That's a bit more complicated, but with docs in hand, you can see how it gets done. That is, what gets generated for what mml. And if you are real adventurous, you -can- edit the assembly produced, and do some things the compiler can't (like play an alternating sequence of really short notes in sync - you have to adjust the times for odd 128th notes to keep sync).

As for squirrel 3.0, that's a different subject. Let's just say that that release is coming, and should bring music to everyone - not just those with cd players. The more it gets worked on, the more Arkhan understands what's going on in the psg-bios, so....

Personally, I'm working on an explanation of exactly how all the envelopes work, and some of the 'odd' things the psg-bios does. Hopefully, Arkhan will edit it down, and include it in the next release.

(for those who are interested in wierd things, here's a pet project that's one the back burner for now:
Take a voice sample, real short. Convert it to 5-bits, and build a sequence of wave forms from it. Then, create a drum that just plays those waves, in order. Make an MML that plays that drum, and let me know how it turns out....)

Title: Re: It's MML time.
Post by: TheOldMan on April 07, 2010, 04:30:56 AM
Hcf: Sorry, I forgot in the earlier post. If you add a name to the channel
(ie, .channel 3 alt) you can do a jump to that label with /alt/. That lets you repeat a channel.
You probably have to do this for all the channels to loop a song, though. At that point its just
as easy to put a Dal Segno at the end of each channel. ('}'). Without an opening { that will cause the channel to repeat forever :-)
Sorry, there's no easy way to keep a song playing forever, though you might want to look into the psgMstat function to see when a song ends, and just re-start it with psgPlay.

As for playing multiple songs....
Make a .TRACK. for each song. Then you can play each song by changing the value passed to psgPlay():  psgPlay(0) plays the first song, psgPlay(1) plays the second, etc.
And before you ask, you need to set up the channels for each song seperately (.TRACK tells the compiler a new track is starting), but you can re-use macros across songs :-)

If you have a good idea on how to mark a section of a channel with a label, let us know. That's one of the weaker points of squirrel right now - no easy/good way to use the jump function.
Title: Re: It's MML time.
Post by: Arkhan on April 07, 2010, 05:14:43 AM
Arkhan, now I will suggest a task for Squirrel 3.0, hehehe :mrgreen:  The manual that you made is impressive, but maybe you can write another little README file, explaining the basic functions of your library. For example, I think that I understand functions like psgOn(), psgInit(), sngInit() or psgPlay( ), but maybe you can explain what is the purpose of the rest of the functions, what is the correct way to stop music ( I think that it's psgAllStop ), how to use a list of several songs, how to loop a song...

In fact, I think that I know how to do almost all those things (I have tested your library a lot in these days, hehehe) but I think that it will be positive for everybody to have that explanation (again, "for dumbs") written by you, the legitimate author of the library.  :)

Like the old man said, Squirrel is just using the stuff built into the system already.  The HuC stuff is just wrapper functions for the assembly bios calls.... so what you are getting is something very, very similar to what developers were using back in the day.

but I do understand that some people reading this just saw "wrapper functions for the assembly bios calls" and went "O_O WHAT?"

I will definitely write another little readme file for how the library functions work.   If you manage to get your hands on Develo books, the problem is, well, they are Japanese so.... its not so easy to read.

It may take a bit of time, since I have school stuff going on right now, and stuff for the upcoming show in a month, but I will definitely make a readme with translations of the different functions.   It will be good for both programmers, and for "dumbs" , as you put it.  :).  I guess I never really considered doing that, since the setup included in the zip file is setup to compile & play!


to everyone reading who's using, or is planning to use squirrel, I encourage you to head over to www.aetherbyte.com/forums (http://www.aetherbyte.com/forums)     There is an MML section, and it would be a pretty good place for everyone to collectively discuss everything, and share what they have been working on.


and, yeah, the enveloping description could probably use some work, and some examples.  Luckily the 16 included envelopes are enough to do alot.
Title: Re: It's MML time.
Post by: touko on April 07, 2010, 08:00:53 AM

yes. mml2pce generates that as it compiles the mml. It has all the low-level calls to the psg-bios to make the mml play. Note that snginit.c is a generic filename. If you have several mml files in one place, sngInit.c reflects the last one compiled.


Ok thanks for explanation  :wink:
Title: Re: It's MML time.
Post by: Charles MacDonald on April 09, 2010, 01:39:52 PM
(for those who are interested in wierd things, here's a pet project that's one the back burner for now:
Take a voice sample, real short. Convert it to 5-bits, and build a sequence of wave forms from it. Then, create a drum that just plays those waves, in order. Make an MML that plays that drum, and let me know how it turns out....)

This is a super cool idea, I think the problem people have had in the past when it comes to implementing this concept is the timing.

For example, assume channel 1 has 32 bytes of a sample loaded, and channel 2 has 32 bytes of a sample loaded. Both channels have their various settings made (panning, frequency, etc.) so all that has to happen next is a key-on.

1. Select channel 1. Write $9F to $0804. Channel 1 starts playing
2. Select channel 2. Wait for Channel 1 to stop (!). Write $9F to $0804 at that exact instant. Channel 2 picks up where channel 1 left off.

So the tricky part is knowing when to turn on channel #2 at precisely the right moment so the sample playback continues uninterrupted. And you'd also have to key-off channel #1 before it repeats the sample.

Because there is no synching mechanism to wave playback, it depends on having cycle accurate delays from the key-on of one channel to the key-on of another. The timer interrupt would introduce jitter due to the interrupt latency, so that's kinda out of the question. So it seems like the CPU would get tied up waiting during playback.

The other issue is that it isn't clear if the waveform index stays reset until key-on, or if it cycles continuously even when the channel is off - you'd never hear the difference, I think. I don't believe this behavior has been proven true or false, so it's all up in the air.

I think these complexities are why the PSG has DDA mode to make samples easy. Definitely not crapping on your idea though, it's a good one. Because others have kicked it around in the past I wanted to point out where people have gotten stuck. Maybe these limitations can be beaten! :D

Completely unrelated:

Perhaps somebody (not Aetherbyte, you guys have done enough!) could make a little tutorial about how to use the BIOS PSG library in general, and then give an example about doing that with the MML output from Squirrel. That way people who are approaching this from a game-programming POV would have an idea of how to have (say) multiple songs in a project and how to play one, stop one, etc. It's all very basic but just what the newbies need to enable their inner maestro.

The develo docs are perfectly good, but sort of dense for people unfamiliar with them. :D If nobody steps up to the plate I might do this from an assembly perspective. Partially because I want to get the hang of adding music to my own projects, and it would be nice to help others out.
Title: Re: It's MML time.
Post by: TheOldMan on April 09, 2010, 02:10:22 PM
Actually, charlie, the timing wouldn't be as bad as you think. I understand the transition isn't going to be seamless; that's not a problem, really. I don't think one vsync more or less will be all that noticeable.
I'm not actually talking about using two channels or trying to sync them in anyway.
BUT, the psg-bios player is pretty good about handling things in one vsync. So, if you take an appropriate
sample wave form (I used 22KH ) and convert it to 5-bit waveforms, the psg-player can re-load the wave form every vsync. Assuming the frequency is correct (so the wave plays once every vsync), it should be
possible to play a wave, load the next and play it, etc. Not in real time, of course. That would require hooking the timer and using it to control things.
Granted, it's not going to be high fidelity. It's going to be a long search for the right frequency combinations. And I'm sure there are a million other things that *could* go wrong. But in the sample run I did (really quickly thrown together, mind you) using about 40 waveforms, I got a recognizeable representation of the original sound.
Maybe I'll try a voice sample next... Anyway, it's just one of those strange things that kinda popped into my head while I was doing something with squirrel. I wondered how fast the psg-player could swap waveforms, and one thing led to another.
Title: Re: It's MML time.
Post by: Charles MacDonald on April 09, 2010, 02:21:11 PM
Granted, it's not going to be high fidelity. It's going to be a long search for the right frequency combinations. And I'm sure there are a million other things that *could* go wrong. But in the sample run I did (really quickly thrown together, mind you) using about 40 waveforms, I got a recognizeable representation of the original sound.
Maybe I'll try a voice sample next... Anyway, it's just one of those strange things that kinda popped into my head while I was doing something with squirrel. I wondered how fast the psg-player could swap waveforms, and one thing led to another.

Well that's all that matters - if it sounds decent, I'd say you solved the problem!
Title: Re: It's MML time.
Post by: Arkhan on April 09, 2010, 02:43:20 PM

Completely unrelated:

Perhaps somebody (not Aetherbyte, you guys have done enough!) could make a little tutorial about how to use the BIOS PSG library in general, and then give an example about doing that with the MML output from Squirrel. That way people who are approaching this from a game-programming POV would have an idea of how to have (say) multiple songs in a project and how to play one, stop one, etc. It's all very basic but just what the newbies need to enable their inner maestro.

The develo docs are perfectly good, but sort of dense for people unfamiliar with them. :D If nobody steps up to the plate I might do this from an assembly perspective. Partially because I want to get the hang of adding music to my own projects, and it would be nice to help others out.


That could be arranged pretty easy from my POV.   I have like, 6 or 7 chip tunes I could stream together into..... hey wait we did this for Insanity! :D

duh

Yeah its really easy!  I can whip up a tutorial using the examples in Squirrel already, and have a file where you can put say 5 songs in one .mml file, convert it all, include the data as normal, and I will show you how to switch songs, etc.

that is, unless OldMan beats me to it!

If you want to try figuring it out before I get to it, you just include a second .TRACK complete with channels  0-6.    put as many as you want, each track is a new song! ... then psgPlay(0), psgPlay(1), etc. etc. for each song in the file.

but, I will definitely whip up a document explaining the player functions for use with HuC.  :)
Title: Re: It's MML time.
Post by: TheOldMan on April 10, 2010, 01:50:24 AM
"Well that's all that matters - if it sounds decent, I'd say you solved the problem!"

Uhh.. not really It's recognizeable, not decent. You can tell it's some kind of hi-hat cymbal, but other than that ...?

I thought about it a lot after I posted that, and here's what I came up with:
take a wave sampled at 4KHz, 8 bit, mono. Something around 1/4 sec long. Frequency shift it up 2 octaves. Dump it as a raw data file, and convert the bytes to 5-bit samples.
From there, chunk them into 32 byte waveforms. And play that back.

Assuming I used a voice sample, I have 2 questions: 1) Could you tell it was a voice? A Human voice? and 2) Could you make out what it was saying ?

This is more acedemic than practical, to start with. I recognize the even running the mml player at its highest rate, and putting the waves in a sub-track is at best going to give a playback rate of less than 1KHz. Not to mention that you would need about 300 waveforms to do 1 second of sound. But I can't help wondering if even that low quality sound with a shorter player back time wouldn't give up a really nice booming tom-tom drum, or a crash cymbal that actually had a nice tone, and not just noise....

Title: Re: It's MML time.
Post by: Arkhan on April 10, 2010, 01:54:21 AM
well, I have some drumkit samples that are FROM an 8 bit mono drum machine, so we can try that out next.

We may end up having much better luck fiddling with the percussion in the bios stuff instead.   I figured out a nice kick, and snare so far.


Getting close to a hihat, so next is some tomtoms.   Those will probably be the hardest
Title: Re: It's MML time.
Post by: TheOldMan on April 10, 2010, 02:16:54 AM
Hey, you're the one who wanted the "sampled drums, like in bonk" :-) I still don't think its gonna sound great, but I've been surprised by some of the stuff you do before.
And yeah, from a practical view, I do think the built-in drum stuff is gonna give acceptable drums, and for far less space than a sampled set. But If I get the voice stuff working, and it sounds okay, I'm gonna have our pac-dude scream when he dies. Even if it takes an entire 8K bank and 4 songs to do it :-)
Title: Re: It's MML time.
Post by: Arkhan on April 10, 2010, 08:11:09 AM
lol.


well on the bright side, the drums in Bonk are pretty simple little bongo clicky congo drums.... they are a bit thinned out and short to begin with, so theyd probably be the easiest of all to sample and get playing nicely.


Title: Re: It's MML time.
Post by: ParanoiaDragon on April 11, 2010, 03:59:51 PM
lol.


well on the bright side, the drums in Bonk are pretty simple little bongo clicky congo drums.... they are a bit thinned out and short to begin with, so theyd probably be the easiest of all to sample and get playing nicely.




And I need the Bonk sound engine anyways, so, this works out just fine :D
Title: Re: It's MML time.
Post by: Arkhan on May 24, 2010, 01:05:14 AM
Updaaaaaaaate.


Uploaded new version of compiler and revised the manual a bit.


secret update:  A few chiptunes for the retrocade are done/close to done. :D