@phantasy/vn-tts
v0.1.1
Published
Visual novel style text-to-speech synthesis — local sine-wave beeps, zero dependencies
Downloads
541
Readme
@phantasy/vn-tts
Visual novel style text-to-speech — local sine-wave beeps, zero dependencies.
Each character becomes a short pitched tone (vowels longer and softer, consonants shorter and sharper). The result is stylized VN gibberish, not intelligible speech.
Install
npm install @phantasy/vn-tts
# or
bun add @phantasy/vn-ttsUsage
Node / Bun
import { writeFileSync } from "node:fs";
import { synthesize } from "@phantasy/vn-tts";
const { audio } = synthesize({ text: "Hello world" });
writeFileSync("output.wav", audio);Browser
import { createObjectUrl, synthesizeToBlob } from "@phantasy/vn-tts";
const url = createObjectUrl({ text: "Hello world" });
const audio = new Audio(url);
await audio.play();
// or download
const blob = synthesizeToBlob({ text: "Hello world" });Options
synthesize({
text: "Hello",
pitch: 1.2, // multiplier on base pitch, default 1
speed: 1.5, // speech speed multiplier, default 1
baseFrequency: 250, // Hz, default 250
sampleRate: 8000, // default 8000
vowelVolume: 0.4, // default 0.4
consonantVolume: 0.3, // default 0.3
});Phantasy
vn-tts is an optional TTS provider in Phantasy:
phantasy extensions install provider vn-tts
phantasy setup provider --provider vn-tts --enabled true{
"voice_provider": "vn-tts",
"voice_model": "vn-tts",
"voice_voice": "default",
"providers": {
"vn-tts": { "enabled": true }
}
}Demo
Run the playground locally:
npm install
npm run demoLive demo: phantasy-bot.github.io/vn-tts
License
MIT
