ever though how letters sound.. well now you do!
Used ai to aid in the readme, it can word things better than I can!
ever though how letters sound.. well now you do!
Used ai to aid in the readme, it can word things better than I can!
I built this app, curious as ever to know what letters taste, i mean sound like. well know i know what they sound like! I hope you feel enlightened too.
Added local draft persistence in src/components/Phonen.tsx: composition snapshots (serialized chars + mode) are stored to localStorage with metadata (title, last update date/time, mode, bpm, preview text), then restored on load.
Added composition draft management UI in src/components/Phonen.tsx: save/drafts/load/delete actions along with a floating drafts panel with each draft’s metadata plus inline load/delete controls.
Added deterministic playback timing in src/components/Phonen.tsx: playback no longer uses the original keystroke timestamps but instead uses BPM-quantized step intervals; slight spacing multipliers are also applied to spaces/newlines.
Added playback safety controls in phonenSynth.ts and src/components/Phonen.tsx: explicit audio-enabled flag adoption, mute state handling, global and per-voice volume controls, and safeguard around playback when audio is not enabled. .
Added WAV export workflow pipeline in src/lib/phonenSynth.ts: tap to capture for the entire synth graph now points to a ScriptProcessorNode, longitudinal PCM recording/accumulation, and WAV encoding to a downloadable Blob URL.
Connected WAV export workflow pipeline in src/components/Phonen.tsx: export mode is hooked into playComposition, recording is stropped before/after playback, tail ring-out time is preserved, and the file is saved. to disk.
Potential potential pitfall/error/source of future bugs: the ScriptProcessorNode used for the WAV capture path in phonenSynth is based on legacy/deprecated code; it works but has performance/latency idiosyncrasies, and will need eventually to be ported over to be based on an AudioWorklet. Potential potential pitfall/error/source of future bugs: while present in the replay flow only, if audio state is paused or interrupted during playback, the file will have a truncated end or silence in front depending on the timing.
Log in to leave a comment
Got the base going
settled on a calm, just text and hear the letters!
added a feature that lets users play back, understand what they can do, and share their music with others!!
gonna roll in some more stuff!
heres a more detailed overview:
Log in to leave a comment