An open API service indexing awesome lists of open source software.

https://github.com/johnelse/tabler

CLI program for generating wavetables
https://github.com/johnelse/tabler

Last synced: 8 months ago
JSON representation

CLI program for generating wavetables

Awesome Lists containing this project

README

          

tabler
------

[![Build status](https://github.com/johnelse/tabler/actions/workflows/workflow.yml/badge.svg)](https://github.com/johnelse/tabler/actions)

CLI program for generating wavetables. A wavetable is a set of single-cycle
waveforms which can be played back by audio software. The software can vary the
sound generated by changing which waveform it is playing back at any one time.

Waveform shapes can be specified either using the built-in values 'saw', 'sine',
'square' and triangle, or can be specified using a Lua expression.

By default, each waveform has a length of 2048 samples and 256 waveforms are
generated. This is the default size used by the Polyend Tracker.

Examples
--------

Create a waveform that morphs between a sine wave and a square wave:

```
tabler --start=sine --end=square sine_square.wav
```

Create a waveform that morphs between a sine wave and another sine wave with
three times the frequency:

```
tabler --start=sine --end="math.sin(3 * theta)" sine_3sine.wav
```

Create a waveform with custom wave length and number of waveforms:

```
tabler --start=triangle --end=square --samples=1024 --waves=128 tri_square.wav
```

The `--single-cycle` parameter can be used to simply generate single-cycle
waveforms, i.e. "wavetables" where there is only one waveform. For example,

```
tabler --single-cycle=triangle tri_single_cycle.wav
```

is equivalent to

```
tabler --start=triangle --end=triangle --waves=1 tri_single_cycle.wav
```

For more information, and all optional parameters, see `tabler --help`.