Moving on to Protracker

As I mentioned in my last post, I've effectively concluded my project of creating a very simple oscillator demo using kotlin and the JVM. There are still a few wrap-up things to do, such as creating a Readme for the github repo, and I may also create a video describing what went into creating the project.

I think it may have originally included some gradle files when I created the project which are no longer present, nor are they in the repo. I will see if I can restore them, since that's probably the way people are going to need to run it if they are not using IntelliJ.

My original task was to create a kotlin project that would play a protracker mod, and I'm resuming that next. For those unfamiliar, mod music files basically contained a collection of sound files that represent instruments, and a series of instructions on how those instruments should be played. Among the simplest and earliest of those formats was the Amiga Protracker format, which has the .mod extension.

My short-term goal is to create a JVM-based kotlin application that successfully loads and plays an Amiga Protracker mod file. There will be no oscillator work needed in this, but one thing I will need to learn how to do is resample. If I can figure out resampling, the rest shouldn't be too hard (though it will be time consuming). I also don't need to create my own format, since the format already exists.

Actually, there may be one simple oscillator thing to do, but that's a low-frequency oscillator used to control vibrato. Basically, it's an applied form of resampling.

If this project is successful, my long-term goal will be to create an actual, usable library to load and play mod music. I may do this using a kotlin multiplatform project, which I haven't done before, but would like to learn. If I follow-through on this project, it could result in a more modern library for playing mod music - and eventually maybe even for editing mod music.

Part of the reason I want to do this is because the software used for most mod music these days is very old at this point, and a more modern, more maintainable code base could be useful.

And so, I may make one final wrap-up post on the oscillator project in the coming weeks, and a video if possible. But I expect most of my energy now will be focused on the protracker demo. You can view the repository here: https://github.com/mabersold/kotlin-protracker-demo 

Comments