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
- Host: GitHub
- URL: https://github.com/johnelse/tabler
- Owner: johnelse
- License: mit
- Created: 2023-04-13T00:26:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T12:27:02.000Z (over 1 year ago)
- Last Synced: 2025-01-03T12:27:43.391Z (over 1 year ago)
- Language: OCaml
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
tabler
------
[](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`.