preliminary wavetable generation

This commit is contained in:
2026-02-07 12:56:21 -06:00
parent ee353eadfd
commit 537f571f6a
4 changed files with 45 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,3 @@
def process(phase):
print("im from process")

View File

@@ -0,0 +1,41 @@
# this is a script for generating a wavetable file
# a wavetable file consists of a one-dimensional array of samples representing one period of a waveform
# metadata includes:
# - file version (for program compatibility)
# - binary format (float, double, int32, etc.)
# - domain (normal is a phase from x=0 to x=2pi)
# - range (depending on datatypes, e.g. float=[-1,1], int32=[-2^15, 2^15-1])
# - waveform RMS (for loudness normalization)
# the synth program uses the filename, not any metadata
# this script uses the function defined in example_wavetable.py to calculate samples
# if you want a custom wavetable, copy/edit/modify the example function (desmos is great for brainstorming)
import example_wavetable
def createFile():
print("creating file")
return 1
def writeMetadata(file):
print("im writing metadata")
def generateWavetable(file):
print("im generating the wavetable")
example_wavetable.process()
def closeFile(file):
print("finishing up")
def main():
print("Hello main")
file = createFile()
writeMetadata(file)
generateWavetable(file)
closeFile(file)
print("done")
if __name__ == "__main__":
main()