<commit_before>To do
=====

Usability
---------

- Make text input boxes work better
- Don't update wave on every slider change
- Play on change
- Speed up canvas drawing of long waveforms
- Use web workers to not block UI
- Draw amplitude graph
- Draw frequency graph

Features
--------

- Locking sliders
- Copy link
- Save/load sounds to local storage
- Save/load sounds to disk
- Save WAV

Polish
------

- Play/stop button animation
- Animation while generating waveform

bfxr sliders
------------

- Punch
- Pitch jump onset/amount 1/2
- Pitch jump repeat speed
- Repeat speed
- Flanger offset, Flanger sweep
- Bit Crush, Bit Crush Sweep

bfxr presets
------------
<commit_msg>Update TODO<commit_after>To do
=====

Usability
---------

- Make text input boxes work better
- Don't update wave on every slider change
- Play on change
- Draw amplitude graph
- Draw frequency graph

Features
--------

- Locking sliders
- Copy link
- Save/load sounds to local storage
- Save/load sounds to disk
- Save WAV

Polish
------

- Play/stop button animation
- Animation while generating waveform

bfxr sliders
------------

- Punch
- Pitch jump onset/amount 1/2
- Pitch jump repeat speed
- Repeat speed
- Flanger offset, Flanger sweep
- Bit Crush, Bit Crush Sweep

bfxr presets
------------

{'fraction_non_alphanumeric': 0.12752721617418353, 'fraction_numerical': 0.003110419906687403, 'mean_word_length': 2.4596774193548385, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6209441', 'n_tokens_mistral': 391, 'n_tokens_neox': 372, 'n_words': 161}