ProTracker is music sequencer software from the 1990s on the Commodore Amiga (see screenshot of version 2.3a on the right). This R package is designed to read, process and play ProTracker module audio files.
Get CRAN version
install.packages("ProTrackR")
Get development version from R-Universe
install.packages("ProTrackR", repos = c('https://pepijn-devries.r-universe.dev', 'https://cloud.r-project.org'))
The package comes bundled with a tiny chiptune, which can easily be played like so:
library(ProTrackR) |>
suppressMessages()
data("mod.intro")
playMod(mod.intro, verbose = FALSE)
There are plethora of module files available on-line as well. Below you can see how you can download such a file. It also show how you can select an audio sample (number 25) from the module and calculate its power spectrum:
elekfunk <- read.module("https://api.modarchive.org/downloads.php?moduleid=41529#elektric_funk.mod")
spec <- elekfunk |>
PTSample(25) |>
waveform() |>
tuneR::powspec(wintime = 0.1, steptime = 0.001)
image(log10(spec), col = hcl.colors(100, palette = "Inferno"))
While we are at it, why not play it:
playMod(elekfunk, verbose = FALSE)
This package is no longer actively developed. It will receive minimal attention and only required updates for the latest CRAN policies. It is surpassed by the alternatives listed below.
- ProTrackR2: A complete rewrite in C and C++ of the current package using the ProTracker clone by Olav Sørensen. It has similar features as the current package but has a better implementation of the tracker interpretation and is a lot faster.
- openmpt: An R port of libopenmpt. It plays and renders a wide range of tracker music files, but they cannot be edited.
For some further reading and inspiration please have a look at the following blog articles: