Skip to content

A FastTracker2/ImpulseTracker utility for approximating 16-bit mono WAV signal using small pieces (acoustic tokens).

Notifications You must be signed in to change notification settings

JakimPL/AudioTokenizer

Repository files navigation

AudioTokenizer

A FastTracker2/Impulse Tracker utility for converting 16-bit mono WAV signals (44.1 kHz) into short-length-sample approximations embedded into a tracker module.

The algorithm takes several signals (of the same shape and sample rate 44100 Hz) and combines into a single module. The explanation of the process is briefly described in explanation.ipynb

Usage

To run the script, you need to have Python 3.6+ installed. The script uses the following libraries: q

python main.py -i <input_files> -l <layers> -s <samples> -o <output_file> -t <title>

For example:

python main.py -i audio/bass.wav audio/drums.wav -l 16 16 -s 32 32 -o module/drumbass.xm -t "Drum & Bass"

will create a FastTracker2 module with 16 channels per wave file, each with unique 32 samples.

Dependencies

The script uses the following libraries:

  • numpy
  • scipy

Occasionally, you may want to use the ipython library to play a sample in a Jupyter notebook:

from utils import play_sample
import scipy.io.wavfile as wav

sampling_rate, signal = wav.read("audio/bass.wav")
play_sample(signal)

Algorithm

See explanation.ipynb for a brief explanation of the algorithm.

About

A FastTracker2/ImpulseTracker utility for approximating 16-bit mono WAV signal using small pieces (acoustic tokens).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published