Klystrack - Chiptune tracker

This forum is for artists to post their music and graphics or discuss artistic matters that could be used in Uzebox games.
Post Reply
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Klystrack - Chiptune tracker

Post by uze6666 »

Still looking for an easy way to add something like MOD support to the Uzebox (for tempest 2000). Then I fell on Klystrack, a nice chiptune tracker with a nice twist, the patterns are per channel and can be of variable lenght. So that's pretty much what I was trying to do. It also supports basic waveforms and arbitrary waves files. And also something called instruments "programs" which is pretty much like patch commands! And it's open source and the code is in plain C. So I'll dig in the sources this week with the goal to eventually make a converter and a simple tracker engine for it.

If that's too hard, I also thought of simply scanning a regular MOD file for repeating patterns within tracks and build a table out of them. That will save a heck of a lot of space over the full size module or equivalent MIDI stream.

User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Klystrack - Chiptune tracker

Post by D3thAdd3r »

Looks pretty nice and having a MOD engine would be fantastic. Hopefully not too hard to convert music, but I'm sure someone would find a way. If it's practical to directly convert .mod files into tables of patterns ready to use it might be even better/less work. I will play with that some to have some kind of MOD knowledge.

Along those same lines but slightly off topic, I wonder if it would be possible to automatically scan a .MID file and build a table of patterns..and what size differences would exist then, with MOD vs. MID
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: Klystrack - Chiptune tracker

Post by danboid »

Did you ever make any progress on either a MOD converter or adding Uzebox patch preview and editing support to a tracker Uze?

Furnace tracker supports over 50 sound chips already so that would seem the most likely to be first to support the Uzebox, if anything showed any hope at all in supporting such a niche platform.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Klystrack - Chiptune tracker

Post by uze6666 »

I made a mod converter and sub-engine specifically for Tornado 2000. It's under the Java tools. In fact, it support XM modules because I made a module player for the GBA back then using that format. The code tries to reduce the flash foot print by detecting repeating section of steps in a channel and indexing those in a table. Pretty old and crummy, not even sure it works.
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: Klystrack - Chiptune tracker

Post by danboid »

I'm aware of your XM converter but that of no interest to me, if it is what I think it is. Your xm converter just enables those who prefer to compose in trackers to use a tracker to write a a Uzebox track, or at least the notes of it. I presume your converter discards the sample data from the XM and basically acts as a MIDI conversion tool right? The user would have to sort out the patches themselves if they used this tool?

Now a Uzebox mod or xm player without a converter would be a different kettle of fish entirely. Maybe that is possible with the SPI RAM & using xm/mod files that have been written to comply with whatever the sample size constraints might be of such a player?

I prefer to use piano roll style editors instead of trackers but I understand the reasons that some prefer to use trackers.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Klystrack - Chiptune tracker

Post by uze6666 »

Yes, if I recall, I had to import the Uzebox waves as MOD sample and set the envelope and effect to sound like the Uzebox patches, then I could track the song. Quite frankly once that step done, it's a breeze and it sounded quite like the real thing.

I think that with the SPI RAM and Uzebox free cycles left, at least a 4 channels Protracker module player is doable. With some assembly, probably a couple more channels could be supported. In any cases, considering the few cycles left after, this would only be good for a tracker app or a game with very simple logic and no sprites.
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: Klystrack - Chiptune tracker

Post by danboid »

A 4 channel mod/xm player would be fantastic. It'd be more useful than Uzeamp as it is because Uzeamp requires the user to re-encode all files you want to play on it in its specific format but most Amiga mod files were only 8 bit and 4 channel so should hopefully be playable on the Uzebox without any conversion.

Would you most likely improve Uzeamp to add support for mods or would you write a new app?

Since I discovered the Uzebox, I've been wondering why its not more popular on the demo scene. A mod player app might gain the platform a few new fans from the demo scene. It's certainly not going to upset them!
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: Klystrack - Chiptune tracker

Post by danboid »

Seems it can be done:

"The player is able to play MOD/S3M/XM/IT music files that are stored in the MCU program memory and has been developed so that it can run within very limited memory and performance constraints while still producing decent sound. I originally developed the player for Arduino Uno, which has only 2KB of RAM, 32KB of flash memory and 8-bit MCU running at 16MHz."

https://github.com/JarkkoPFC/arduino-music-player
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Klystrack - Chiptune tracker

Post by uze6666 »

Honestly, there's not much challenge to make a mod player on a powerful MCU like the AVRs, specially when you have all the cycles available. Don't forget the Uzebox is generating audio and video and so that leaves about 9% (for typical video modes) of all cycles to the main program or equivalent to a 2.5Mhz MCU.

Also, that project your mentions doesn't executes MOD/XM files directly but also needs to be converted in it's own format. Not surprising since I've done it my self for probably the same reasons (reduce the size). The compressed module also needs to be flashed on the chip to play.

Doing a multi format mod player on the Uzebox, would need some file parsers that convert them to an internal optimized representation in the SPI RAM.
Post Reply