It is currently Tue Oct 23, 2018 4:39 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 15 posts ] 
Author Message
 Post subject: AmigaMML and other tools
PostPosted: Wed Apr 18, 2018 1:36 pm 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
Hey everyone,
I'm a bit of a chip music junky and I like collecting various software for old sound chips. I prefer MML (music macro language) for composing chip music. For those who don't know, MML is basically a system of notating music in a text file and then running that text file through a compiler to make the appropriate music file.

I've taken interest in AmigaMML as of late, having heard of it on this site. I'll probably be posting about that most on this thread, but I also encourage discussion of other tools for MML enthusiasts!


Last edited by raygrote on Fri Apr 20, 2018 8:58 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Thu Apr 19, 2018 8:29 pm 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 1019
I have used ppMCK, and I wrote AmigaMML (so if you have questions about it, you can ask me).

One other MML compiler I have heard of is SakuraMML, which outputs MIDI. However, it is in Japanese (and I am not very good at Japanese).

There is also CsoundMML, which produces a Csound numeric score.

_________________
.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 6:32 am 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
zzo38 wrote:
One other MML compiler I have heard of is SakuraMML, which outputs MIDI. However, it is in Japanese (and I am not very good at Japanese).

I don't know any Japanese so if you know even a tiny bit, you're way ahead of me.

One of my friends who likes MML for midi work has used several of these types of tools. He started out with Zell which is in English, then moved to two Japanese ones called Mid2mml and PMML. I think all of those are almost complex enough to be a programming language. He has told me about macros he's made for all three of them, to easily achieve certain effects like arpegio, controller LFO, and other effects he likes to use in his work. I'm not so much a fan of MML for midi, though the MML route is certainly different and offers different possibilities.

zzo38 wrote:
There is also CsoundMML, which produces a Csound numeric score.

I've heard of that, but haven't felt brave enough to tackle CSound. Maybe I'll get lucky and next time I look at it I'll magically make some strides. That's happened before with other things lol.

zzo38 wrote:
I wrote AmigaMML (so if you have questions about it, you can ask me).

After some hunting on Google I did find the Windows version on your site. Doing a quick perusal of the readme, I understand a fair bit of it so that's encouraging. though I am a bit confused by some parts. Here are a few questions. Maybe it's better to talk about it on private message? Up to you.

First, I'll probably do more .xm writing than .mod because the former has more options. It looks like if I do this I'll have 20 channels (A-T). Is this correct?
Second, if I am using samples, must I use compatible .mod instruments exported from amigasam? So no extended .xm format stuff from open mpt, such as 16 bit samples or bidi loops or the like? I'm not complaining, just trying to figure out what I can do as a total newbie.
And last, are there any example mml files I could mess with to get a feel for how things are set up? Doesn't sound like this tool is well-known or used much, but I was hoping there was at least one existing thing written for it :)

Thanks.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 10:49 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 1019
raygrote wrote:
zzo38 wrote:
I wrote AmigaMML (so if you have questions about it, you can ask me).

After some hunting on Google I did find the Windows version on your site. Doing a quick perusal of the readme, I understand a fair bit of it so that's encouraging. though I am a bit confused by some parts. Here are a few questions. Maybe it's better to talk about it on private message? Up to you.

First, I'll probably do more .xm writing than .mod because the former has more options. It looks like if I do this I'll have 20 channels (A-T). Is this correct?
Second, if I am using samples, must I use compatible .mod instruments exported from amigasam? So no extended .xm format stuff from open mpt, such as 16 bit samples or bidi loops or the like? I'm not complaining, just trying to figure out what I can do as a total newbie.
And last, are there any example mml files I could mess with to get a feel for how things are set up? Doesn't sound like this tool is well-known or used much, but I was hoping there was at least one existing thing written for it :)

Thanks.
I think public will be better than private messages, so that anyone who reads it can benefit, rather than only you and me.

Here is the current version: http://zzo38computer.org/prog/amigamml.zip It is recommended to use this current version instead of the old one. However, you must compile it yourself (whether you are on Windows or Linux). The program is public domain and you are free to modify it, suggest improvements, etc.

That thing about "amigasam" is only true for .MOD output (and amigasam is now deprecated); if using .XM, then you can use any .XI files. There is a included program "xisynth" for synthesizing them, although you can also download .XI files from other sources or export them using FastTracker or OpenMPT.

About having 20 channels, that is correct.

(It is also possible there are some errors in the documentation; if so, you can mention them and I will fix them. It is also possible there are bugs in the program itself; if so, mention those too.)

(Note: There used to be a Redmine server for AmigaMML, although it is no longer available; that is beyond my control though, since I did not use my own server for that. The download link above is my own server.)

_________________
.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 11:34 am 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
I have no idea where to start when it comes to compiling .c programs.
Edit: got some help and it's compiled and working!

zzo38 wrote:
if using .XM, then you can use any .XI files. There is a included program "xisynth" for synthesizing them, although you can also download .XI files from other sources or export them using FastTracker or OpenMPT.

That's cool. I wasn't quite sure how that worked. Glad it can take an .xm instrument definition.

zzo38 wrote:
The program is public domain and you are free to modify it, suggest improvements, etc.

As you can tell I am completely clueless on a developer front so my contributions to the project development are going to be limited, but I will certainly do what I can in regards to reporting bugs/errors.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 7:26 pm 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
I hate to diverge this thread into AmigaMML exclusively, but I did get it working. I'm confused especially by the @E command for effects though. It isn't clear to me where to put what commands. I tried the arp effect with the $047 example in the documentation. When I try to use it, I either get no change, or an error.

Also in .xm modules in Open MPT it is possible to change the speed with the Fxx effects. So I could easily go from sixteenth notes to triplets for example. Is this possible here?
Thanks.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 8:40 pm 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 1019
raygrote wrote:
I hate to diverge this thread into AmigaMML exclusively, but I did get it working.
Possibly you may wish to rename this thread, or a moderator may wish to split the thread in case someone (including you) has comments about other MML too.

Quote:
I'm confused especially by the @E command for effects though. It isn't clear to me where to put what commands. I tried the arp effect with the $047 example in the documentation. When I try to use it, I either get no change, or an error.
Can you show your MML file here? Then we might be able to see what is wrong. One thing to note is that the command to activate the command envelope must be in lowercase (as @e rather than @E).

Quote:
Also in .xm modules in Open MPT it is possible to change the speed with the Fxx effects. So I could easily go from sixteenth notes to triplets for example. Is this possible here?
You can specify #DIVISIONS 16 if you want sixteenth notes to work. (You can also specify #DIVISIONS 32 for thirty-second notes, and so on. However, you may also need #SPEED, as well as either #TEMPO or #METRO; if you don't, the amount of time one row takes up is unchanged, since #DIVISIONS only changes the note value of one row.) If you want to dynamically adjust the speed, one way to do so is to use the R command on the Z channel. (Note: since you can enter notes on multiple channels at once, it is possible to combine the A channel with the Z channel if you wish.)

_________________
.


Top
 Profile  
 
PostPosted: Fri Apr 20, 2018 9:17 pm 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
I edited the thread, so hopefully that'll suffice.
Here's my MML. It's nothing but a test just to make sure stuff works. In its current state it seems to work fine, but I don't know how to use the effects/other envelopes.
Code:
#EXTENDED 1
#TITLE test
#DIVISIONS 16
#SPEED 6
#SIGNATURE 4,4
#TEMPO 120
@0 "test.xi"

A @0 o4 l8 c e g e c4

Let me know if I'm doing anything that looks weird; I'm pretty new to tracking in general so even though it's easier for me to work through it in text, I'm not used to some of the concepts.
And yeah I was thinking of changing speed in the middle of a song, so that in one part I could do strait notes and another I could do triplets for example. But I'll wait until I get more basics before I tackle that.


Top
 Profile  
 
PostPosted: Sun Apr 22, 2018 12:20 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 1019
raygrote wrote:
Let me know if I'm doing anything that looks weird; I'm pretty new to tracking in general so even though it's easier for me to work through it in text, I'm not used to some of the concepts.
The 1 after #EXTENDED is unnecessary (although adding it is harmless), but the following code works to do the arpeggio like you wanted:
Code:
#EXTENDED
#TITLE test
#DIVISIONS 16
#SPEED 6
#SIGNATURE 4,4
#TEMPO 120
@0 "test.xi"
@e0 | $047

A @0 @e0 o4 l8 c e g e c4
The | before $047 causes the arpeggio to be repeated on every row instead of only the first row of the note. (If you want, try it without and notice the difference.)

_________________
.


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 7:15 am 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
Oh okay, that makes sense now. I wasn't quite sure how that worked, I thought you put the effect codes before or after the notes you wanted the effect to start on or something. But they're treated like patterns/envelopes. Interesting. I can see how that would be useful. Is there a limit on how many of those you can have in your MML? To my understanding in trackers you just put effects down on the rows that need them, they're not really envelopes in that sense.


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 9:42 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20690
Location: NE Indiana, USA (NTSC)
I think they behave like FamiTracker, which has separate "on" and "off" codes for each effect in contrast to the major module formats.

Is the Discord chat application or Discordapp.com website accessible to you? If so, you and I could go on the FamiTracker users' Discord server to request functionality in FamiTracker to improve its UI accessibility.


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 1:27 pm 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
Last time I tried it, it was workable for messaging, but I frequently missed messages or edited my old ones without meaning to etc. It was doable, but it was a bit of a struggle. I didn't try connecting to servers or anything like that because I'm not enough of a gamer to really make good use of that, but messaging wasn't impossible. I'd be willing to try again, I just have to recover my tag lol. Who knows, maybe things are different; I haven't touched it for about a year.

In any case, I do have some ideas for Famitracker we could discuss which are implemented in open MPT, and perhaps you have ideas too. I look forward to it!


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 3:03 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20690
Location: NE Indiana, USA (NTSC)
Here's a link to FamiTracker community on Discord.


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 4:19 pm 
Offline

Joined: Mon Oct 05, 2009 4:32 pm
Posts: 16
I joined and logged in, though I'm not quite so sure where to go with not knowing much at all about Discord. Any pointers?


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 4:51 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20690
Location: NE Indiana, USA (NTSC)
The rules are in the "#welcome" channel.
General chiptune production discussion is in "#discuss".
Post individual works for feedback in "#workshop".
The older in "#resources".
Off-topic discussion is largely in "#lounge".


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group