clone-voice
v0.2.1
Published
Browser & Node voice cloning SDK powered by Pocket TTS / ONNX Runtime. Clone any voice from a short audio clip and generate speech — entirely client-side.
Maintainers
Readme
clone-voice
Clone any voice from a short audio clip and generate speech.
npm install clone-voiceQuick start
import clone from 'clone-voice';
const voice = await clone('./my-voice.wav');
const wav = await voice.speak('Hello from my cloned voice!');clone() loads models, encodes the voice, returns a Voice. voice.speak() returns a WAV ArrayBuffer. That's the whole API.
From mic
import clone from 'clone-voice';
const voice = await clone.mic(5000);
const wav = await voice.speak('Cloned from my mic!');Works in browser (MediaRecorder) and Node/CLI (sox).
Built-in voices
const voice = await clone('alba');
const wav = await voice.speak('Using a built-in voice.');Streaming
const voice = await clone('./my-voice.wav');
voice.on('chunk', (pcm) => player.play(pcm));
await voice.stream('Streaming speech.');Node.js / CLI
import { writeFile } from 'node:fs/promises';
import clone from 'clone-voice';
const voice = await clone('./voice.wav');
const wav = await voice.speak('Hello from Node.');
await writeFile('./output.wav', Buffer.from(wav));Multi-language
const voice = await clone('./stimme.wav', { lang: 'german' });
const wav = await voice.speak('Hallo, wie geht es Ihnen?');Supported: english_2026-04, german, italian, portuguese, spanish.
Credits
- Pocket TTS by Kyutai
- ONNX Web models by KevinAHM
License
MIT © Hemanth.HM
