RASTER Music Tracker (RMT) [making Atari XE/XL music on PC; OS Win9x]

Creamu

Well-Known Member
OP
Member
Joined
Jun 6, 2021
Messages
1,801
Trophies
0
XP
2,286
Country
Zimbabwe
RASTER Music Tracker (RMT) is a cross-platform tool for making Atari XE/XL
music on PC (OS Win9x). RMT uses new Atari XE/XL music routines of our well esteemed @VinsCool.

- VinsCool developed them for a very long time in hopes that it will be a small
revolution for all Atari musicians and fans.

RMT is now open source!
https://github.com/VinsCool/RASTER-Music-Tracker

For new release starting from v1.34.00:
https://github.com/VinsCool/RASTER-Music-Tracker/releases
* Mono 4 tracks / stereo 8 tracks.
* 254 tracks, each with its own length (256 beats max.) and with support for track loop.
* 64 instruments (stereo, instrument table up to 32 steps - 2 types and 2 modes with loop,
instrument envelope up to 32 steps with loop, portamento, filter, 16bit bass, volume slide,
volume minimum, vibrato, frequency shifting, etc.).Fully automatic management of AUDCTL
register (filters, 16bit basses) and/or manual AUDCTL settings.
* Support for "volume only" forced output.
* Note portamento up/down effect.
* Instrument envelope commands for note/frequency shifting and support for special
"like a C64 SID chip" filtering.
* Up to 256 lines for song (with "goto line" support).
* Beat speed 1 to 255 (1/50 to 255/50 sec).
* Instrument speed from 1 to 4 per screen (up to 1/200 sec).
* Main input/output song file format: RMT song files (*.rmt).
* Input/output instrument file format: RMT instrument files (*.rti).
* Export formats: RMT stripped song file (*.rmt), SAP file (*.sap),
XEX Atari executable MSX file (*.xex), ASM simple notation source (*.asm).
* Import formats: ProTracker modules (*.mod), Atari XE/XL Theta Music Composer songs (*.tmc)
* Support for speed/size optimizations of RMT assembler player routine
for concrete RMT module (very useful for background music in demos, games, etc.).
* MIDI IN support!
* MIDI multitimbral playing possibilities.
You can use the RMT like a Atari multitimbral MIDI instrument.
You have to send MIDI output from your MIDI sequencer or player
to RMT MIDI input by means of some virtual MIDI cable (for example
"MIDI Yoke" etc.). MIDI implementation chart is in midi.txt file.
Pokey sound emulation and Atari 6502 processor emulation aren't built-in
components of RMT. If the sound output is needed, the external dynamic DLL
libraries with the following functions are required.
If you run RMT without this way described DLLs (apokeysnd.dll or sa_pokey.dll,
sa_c6502.dll), RMT will work, but there won't be any Pokey sound output
and Atari sound routines won't be executed.
If you have any comments, suggestions, bug reports, feel free to share your thoughts and contributions in this thread!
 
  • Like
Reactions: VinsCool

Creamu

Well-Known Member
OP
Member
Joined
Jun 6, 2021
Messages
1,801
Trophies
0
XP
2,286
Country
Zimbabwe
In the Manual it is stated:
Engine speed, from $1 to $8. (X player calls per frame.) Technically, speed above 4 is unsupported in the exported formats.
As far as I can tell this allows for higher resolution sounds. What are the implications if I go with 8 for max resolution? Is there any downside going for higher resolution?
vinscool said:
the implication is just that more CPU cycles are used for it, since the engine runs multiple times per frame on speed higher than 1 (once per frame)

In short, it will be greater sound resolution since the timing is much faster, but more cpu is needed to produce the results.

Also the information is kinda outdated or erroneous; it's totally supporting speeds higher than 4 now, theoretically up to 16 can work with no problem, other than using all the CPU for it, and also a lot more memory in the case of binaries exported with the LZSS format

Okay but it is not possible to go up to 16 as far as I can tell the max is 8?

So I can go for 8 (and potenitally 16) without introducing any downsides?

Are the steps linear increments or does it doulbe the resolution?

Why is working at 1 so popular?
 
Last edited by Creamu,

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
Okay but it is not possible to go up to 16 as far as I can tell the max is 8?
That is purely a software limitation that was hardcoded, it could go higher than that, I simply chose 8 as a "safe" maximum.
Originally it was locked at a maximum of 4, but this was from using an entirely different binary export format, which used a lot more CPU to run.
Going above 4 in this case was enough to cause too much lag even before running any additional code in the meantime.
Now, using a value of 8 performs a lot better, so much that you could get it even higher before reaching the CPU usages peaked from the older driver binary exports format.
The only issue with this is that now a lot more memory is used for binaries. A compromise between Speed vs CPU usage of some sort.

So I can go for 8 (and potenitally 16) without introducing any downsides?
You could, the only downside is that higher values bump up the memory and CPU usage.
Memory is the worst offender in this case.
The LZSS compression is fast, but not the greatest, so a lot of data will ultimately take space, even with the optimal compression ratio.

Or the steps linear increments or does it doulbe the resolution?
That doesn't exactly work linearly, no.
But the assumption that every step would double the resources usage isn't too far off I suppose, especially for the cpu usage.
Memory on the other hand depends entirely on the compressability of each adjacent bytes chunks, similar patterns compress well, so it is possible memory doesn't get that much worse in certain situation.

Why is working at 1 so popular?
Simple: Instrument Speed of 1 is simply 1 driver call per frame, which is among the standard for most music/sound drivers created for most platform of the era.
it's the minimum, and usually just enough to get things going.
It is technically possible to even run things slower, as in, every other frame or less, but there isn't much reasons to want this in the first place.
 
  • Like
Reactions: Creamu

Creamu

Well-Known Member
OP
Member
Joined
Jun 6, 2021
Messages
1,801
Trophies
0
XP
2,286
Country
Zimbabwe
Thank you!

I am new to chiptune. Are the files that I create with this software playable by the hardware (Atari)? If so is there anything to be aware of to make sure it will perform on the hardware while using RMT?
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
I am new to chiptune. Are the files that I create with this software playable by the hardware (Atari)?
Yes, with the .xex export format.

If so is there anything to be aware of to make sure it will perform on the hardware while using RMT?
Have enough memory and also having basic cartridge detached, i recall someone had issues with it.
 
  • Like
Reactions: Creamu

Creamu

Well-Known Member
OP
Member
Joined
Jun 6, 2021
Messages
1,801
Trophies
0
XP
2,286
Country
Zimbabwe
When instruments have their volume turned lower then vF it seems like the low volume infromation of the instruments gets completely filtered out. Is it advisable to design the instruments so that they fit well in the mix from the get go?
 

Creamu

Well-Known Member
OP
Member
Joined
Jun 6, 2021
Messages
1,801
Trophies
0
XP
2,286
Country
Zimbabwe
Somehow my sounds get messed up. It is corraleted with this lines between the channels. How can I avoid this?
4624524423.png
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
When instruments have their volume turned lower then vF it seems like the low volume infromation of the instruments gets completely filtered out. Is it advisable to design the instruments so that they fit well in the mix from the get go?
Not sure what you mean by this question, there are 2 volume levels that could be used:

- Track volume
- Instrument volume

The volume values are loaded first from the instrument envelope, and then used as an offset to load the output volume from a table based on the Track volume.
That means the variation between an instrument volume and a Track volume is more or less linear.
Let's say the Instrument's max volume is 4, and the Track's volume is F, the output will be 4, if the track is at a volume of 8, the output will be 2, then 4 will output 1, etc.

You can pretty much design all your instruments around the fact that they are always at the maximal volume, and let the Tracks output them at a value of F to keep the exact same values they were designed in the instrument.

Somehow my sounds get messed up. It is corraleted with this lines between the channels. How can I avoid this?
4624524423.png
You can avoid it by simply not using instruments that are set to combine those channels together.
Several parameters can enable this mode:

- AUTOFILTER, which would only apply when you play the instrument in Channel 1 and 2
- AUDCTL envelopes, in this case, is a lot more complicated to explain to anyone unfamiliar with the chip

You could find some explanation here, note that even to me it's very incomplete documentation, it does however provide a good enough breakdown of what channels do.
At some point I would like to commit myself to document the POKEY chip in greater details, so for now that's the most I could say.

Now to explain what is up in the screenshot is simply the "High Pass Filter" between channel 1 and 3.
The frequency of channel 1 is filtered by the frequency of channel 3, hence the "messed up sound" you described.
 
  • Like
Reactions: Creamu

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: The Castlevania game was on the PS1 so that's cool +1