py/gen_wavetables/README.md : initial commit

This commit is contained in:
kevin 2024-09-05 11:26:05 -04:00
parent e6c4168730
commit 35f95f3eac

View File

@ -1,42 +1,39 @@
TODO: 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.
calc_wavetable.py: The resulting samples are then used to calculate wavetables for use by the libcw wavetable oscillator.
- Estimate the actual pitch of the sample. (see: `dsp::multi_ch_wt_seq_osc` and `flow::piano_voice`).
- Stop finding wavetables when the amplitude of the next table falls below a threshold.
- Generate a report showing the count of wavetables per note.
`wt_util.py`
wt_util.py
---------- ----------
Utilities used by all other modules 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. 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. 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. 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. 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 This program implements a wavetable oscillator which can interpret the wavetables
created by calc_wavetables.py created by `calc_wavetables.py`
Obsolete Obsolete
--------------------- ---------------------
wt_study.py `wt_study.py`
low_hz_loops.py `low_hz_loops.py`
debug_plot.py `debug_plot.py`
gen_wave_tables.py `gen_wave_tables.py`
sample_looper.py `sample_looper.py`