https://github.com/src3453/ticsynth
A fully-customizable software synth for TIC-80
https://github.com/src3453/ticsynth
audio synthesizer tic80
Last synced: 4 days ago
JSON representation
A fully-customizable software synth for TIC-80
- Host: GitHub
- URL: https://github.com/src3453/ticsynth
- Owner: src3453
- License: mit
- Created: 2023-07-24T06:45:27.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-29T03:45:20.000Z (11 months ago)
- Last Synced: 2025-06-21T16:43:15.426Z (4 months ago)
- Topics: audio, synthesizer, tic80
- Language: Lua
- Homepage:
- Size: 79.1 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TicSynth
A fully-customizable software synth for TIC-80
## Description
Software synth for TIC-80 written in lua. You can freely define the synthesis method by recombining functions.
## Supported synth methods
- FM
- Filter
- PSG (Sine/Square(Pulse)/Triangle/Sawtooth/Noise)
- AM
- mod/mul
- and more in future updates
## Sample Algorithms
### Simple FM Synthesis
```lua
local out = fm(modulo,freq,1,0) -- do FM synthesis
```
### Apply Low-pass Filter to original waveforms
```lua
local out = peekwfrl(ch) -- to grab original waveform
out = filter(out,volume,ftype.LP) -- "volume" is volume of current channel
```
### Simple PWM (using volume to parameter)
```lua
local out = psg(wft.SQU,15,1,volume) -- make Pulse Wave (range of duty is 0~31)
```