← Projects

vn-tts playground with visual novel dialogue box and local TTS controls
Public playground: VN dialogue stage, typewriter line, pitch/speed controls, local WAV export.

vn-tts

Visual novel style local TTS — sine-wave beeps per character, zero dependencies.

Visual novel TTS library · Open source npm package and browser demo

TypeScriptWeb Audiosine-wave synthesis

Overview

vn-tts turns text into visual-novel-style sine-wave beeps locally in the browser or Node. Each character becomes a short pitched tone: vowels longer and softer, consonants shorter and sharper.

How It Works

  • Characters map to pitched sine-wave tones with simple attack and release envelopes.
  • The output is stylized VN gibberish, not intelligible speech.
  • Zero runtime dependencies; ships as @thomasjvu/vn-tts on npm.

Hard Parts

The challenge is making the beeps feel lively without turning into noise. Timing, pitch variation, and volume differences between vowels and consonants need to stay readable at typewriter speed.

Results

vn-tts powers the portfolio hero typewriter audio and is an optional TTS provider in Phantasy products. Source and demo: github.com/thomasjvu/vn-tts · thomasjvu.github.io/vn-tts.

# audio# visual-novel# typescript