From 35f95f3eac3829727a884e9a2c205ea83ea6a033 Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 5 Sep 2024 11:26:05 -0400 Subject: [PATCH] py/gen_wavetables/README.md : initial commit --- py/gen_wavetables/README.md | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/py/gen_wavetables/README.md b/py/gen_wavetables/README.md index ab372b7..7cdeeec 100644 --- a/py/gen_wavetables/README.md +++ b/py/gen_wavetables/README.md @@ -1,42 +1,39 @@ -TODO: ------ -calc_wavetable.py: -- Estimate the actual pitch of the sample. -- Stop finding wavetables when the amplitude of the next table falls below a threshold. -- Generate a report showing the count of wavetables per note. +These scripts are used to generate notes from a MIDI sampler for a defined set of pitch and velocities. +The notes and begin/end time markers are recorded where each recorded audio file contains all the velocities for a single pitch. +The resulting samples are then used to calculate wavetables for use by the libcw wavetable oscillator. +(see: `dsp::multi_ch_wt_seq_osc` and `flow::piano_voice`). - -wt_util.py +`wt_util.py` ---------- Utilities used by all other modules -gen_midi_csv.py +`gen_midi_csv.py` --------------- Generate a MIDI file in CSV format to trigger the sampler with a sequence of velocities for a given pitch. -sample_ivory.py +`sample_ivory.py` --------------- Use the MIDI file from 'gen_midi_csv.py' to trigger the sampler and record the resulting audio and onset/offset TSV marker file. -calc_sample_atk_dur.py +`calc_sample_atk_dur.py` ---------------------- Calculate a list [(vel,bsi,esi)] which indicates the attack wavetable. -calc_wavetables.py +`calc_wavetables.py` ------------------ Create a JSON file of wave tables for all pitches and velocities. -wt_osc.py +`wt_osc.py` --------- -Generate a set of notes using the wavetables found by calc_wavetables.py. +Generate a set of notes using the wavetables found by `calc_wavetables.py`. This program implements a wavetable oscillator which can interpret the wavetables -created by calc_wavetables.py +created by `calc_wavetables.py` Obsolete --------------------- -wt_study.py -low_hz_loops.py -debug_plot.py -gen_wave_tables.py -sample_looper.py +`wt_study.py` +`low_hz_loops.py` +`debug_plot.py` +`gen_wave_tables.py` +`sample_looper.py`