Article History

74% skydev



  1. How to make sounds: ##synth
  2. How to make sounds: ##tune
  3. Playback tools
  4. See also
athtune is a scripting based music composition tool for win32 (.NET 2.0 framework required), similar to (if not downright inspired by) MML. It's similar to PandaTracker, but with a different concept and more open to the type of sounds you can create. Its creator athaudia has stopped development on it.

How to make sounds: ##synth

The script files contain basically two sections:
##synth and ##tune

##synth describes the sounds, the wave shapes you'll get, and how your instruments will sound. It's based on C# and as long as you know the math behind the sounds you want (triangle, sawtooth, FM synthesis, noise, among others), you can produce any complex noise. You can have multiple ##synth sections in your script as well, they are numbered by zero index starting from the ##synth at the top and going down. This way, you can have multiple instruments and even have them going on at the same time. It can get a bit complicated, so make sure you reference the example scripts, as documentation for ##synth is not very extensive.

How to make sounds: ##tune

##tune describes the way in which instruments made in the ##synth section will be used; it is the main area you will be writing music in. Unlike ##synth, you cannot have multiple ##tune sections. Here you will initialize channels and their commands. There are 26 polyphonic channels available (A-Z), and 5 built-in commands:

@I# - set instrument to synth number to #.
(again, starting at zero index, if you have multiple ##synth sections set up. ex.: @I0)

@V# - set channel volume to #.

@O# - set octave to #.

@B# - set bpm to #.

@A[#...] - note arp.
(this command was experimental and might not work the way you expect. ex. @A[0 3 7] is a minor chord, you just put in intervals.)

the average channel initialization might look something like this:
A @I0 @V0.3 @O3
B @I0 @V0.2 @O3
C @I1 @V0.15 @O2

it should be noted that you are able to make custom commands and parameters in the ##synth sections as well, uses of this can be seen extensively in example2 of the download.

After you set up your channels, you will be able to write note data for each channel. This part is very similar to mml, so if you are familiar with it, this should be a relative breeze.

a-g (abcdefg) are your notes (must be lowercase). here are some more things you can do within ##tune mode:

sharps (#, ex.: a#, b#, etc.)

flats (b, ex.: ab, bb, etc.)

note lengths (note with 4 = quarter, etc. this will be the default for following notes, so you don't need to keep repeating it. adding a dot (.) will make it a dotted note)

and triplet indicators (t, ex.: at, bt, etc.) after the note as well.

Inserting < and > respectively lowers and increases the octave. also available is a way to write chords, just place all notes within square brackets (ex.: [c e g > b]). you can place note length after this if you want to.

Commands may be changed wherever.

Example note writing:
A c4 e g2 @I1>b4 <g e2
B @O2 c1 <b

This should be all the basics you need for ##tune. again, reference the example files and use the manual if you need assistance or clarification about something.

Playback tools

There's no player for this "format", but there's simply no need. The included program "athtune.exe" takes your athtune files and converts them into a .wav, allowing composers to listen to and distribute their music.

Download here

See also

- PandaTracker
- panda (format)