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.
Installation
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'))
Usage
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)
Package status and alternatives
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.