Instructions to use developerabu/pocket-tts-mnn with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Pocket-TTS
How to use developerabu/pocket-tts-mnn with Pocket-TTS:
from pocket_tts import TTSModel import scipy.io.wavfile tts_model = TTSModel.load_model("developerabu/pocket-tts-mnn") voice_state = tts_model.get_state_for_audio_prompt( "hf://kyutai/tts-voices/alba-mackenna/casual.wav" ) audio = tts_model.generate_audio(voice_state, "Hello world, this is a test.") # Audio is a 1D torch tensor containing PCM data. scipy.io.wavfile.write("output.wav", tts_model.sample_rate, audio.numpy()) - Notebooks
- Google Colab
- Kaggle
File size: 1,302 Bytes
4e75a38 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/usr/bin/env python3
"""Generate speech with Pocket TTS MNN."""
import argparse
import time
from pathlib import Path
from pocket_tts_mnn import PocketTTSMnn
def main() -> int:
parser = argparse.ArgumentParser(description="Pocket TTS MNN generate")
parser.add_argument("text")
parser.add_argument("voice", help="Reference wav path or built-in voice name")
parser.add_argument("output", help="Output wav path")
parser.add_argument("--models-dir", default=".")
parser.add_argument("--lsd-steps", type=int, default=1)
parser.add_argument("--temperature", type=float, default=0.7)
args = parser.parse_args()
print("Loading MNN models...")
t0 = time.time()
tts = PocketTTSMnn(
models_dir=args.models_dir,
mnn_dir=str(Path(args.models_dir) / "mnn"),
temperature=args.temperature,
lsd_steps=args.lsd_steps,
)
print(f"Loaded in {time.time() - t0:.2f}s")
t0 = time.time()
audio = tts.generate(args.text, voice=args.voice)
gen = time.time() - t0
dur = len(audio) / tts.sample_rate
print(f"Generated {dur:.2f}s audio in {gen:.2f}s (RTFx: {dur / gen:.2f}x)")
tts.save_audio(audio, args.output)
print(f"Saved {args.output}")
return 0
if __name__ == "__main__":
raise SystemExit(main())
|