Page 1 of 1

Klystrack - Chiptune tracker

Posted: Wed Sep 10, 2014 3:14 am
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.


Re: Klystrack - Chiptune tracker

Posted: Fri Sep 12, 2014 12:52 am
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

Re: Klystrack - Chiptune tracker

Posted: Mon Sep 19, 2022 12:24 pm
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.

Re: Klystrack - Chiptune tracker

Posted: Tue Feb 07, 2023 5:30 am
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.

Re: Klystrack - Chiptune tracker

Posted: Tue Feb 07, 2023 9:38 am
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.

Re: Klystrack - Chiptune tracker

Posted: Thu Feb 09, 2023 12:18 am
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.

Re: Klystrack - Chiptune tracker

Posted: Thu Feb 09, 2023 1:28 am
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!

Re: Klystrack - Chiptune tracker

Posted: Thu Feb 09, 2023 4:08 am
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

Re: Klystrack - Chiptune tracker

Posted: Fri Feb 10, 2023 1:03 am
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.