Instructions to use litert-community/Inflect-Nano-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LiteRT
How to use litert-community/Inflect-Nano-v2 with LiteRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
File size: 1,655 Bytes
a8864da | 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 44 45 46 47 48 49 50 51 | """Create scripts/bench_inputs.npz for bench.py (run on a machine with espeak).
Pre-tokenizes the bench sentences and records the fp32 LiteRT reference wavs so
the benchmark itself needs only numpy + ai-edge-litert on the target device.
"""
import sys
from pathlib import Path
import numpy as np
ROOT = Path(__file__).resolve().parent.parent
CKPT = ROOT / "checkpoint"
sys.path.insert(0, str(CKPT / "runtime"))
sys.path.insert(0, str(CKPT))
sys.path.insert(0, str(Path(__file__).parent))
from verify_inflect_litert import synthesize # noqa: E402
SENTENCES = [
"Hello! How can I help you today?",
"The weather looks great for a walk in the park this afternoon.",
"Streaming text to speech now runs entirely on the LiteRT runtime, "
"with dynamic sequence lengths and no fixed buckets.",
]
def tokens_for(text):
import commons
from inflect_vits_frontend import run_vits_frontend
from text import cleaned_text_to_sequence
seq = commons.intersperse(
cleaned_text_to_sequence(run_vits_frontend(text).phoneme_text), 0)
return np.array(seq, dtype=np.int32)[None]
def main():
out = {"n_sentences": np.array(len(SENTENCES))}
for i, text in enumerate(SENTENCES):
tokens = tokens_for(text)
wav, z_p, _ = synthesize(tokens, seed=7)
out[f"ids_{i}"] = tokens
out[f"ref_wav_{i}"] = wav.astype(np.float32)
print(f"[{i}] N={tokens.shape[1]} T={z_p.shape[1]} "
f"audio={len(wav)/24000:.2f}s {text[:50]}...")
np.savez(Path(__file__).parent / "bench_inputs.npz", **out)
print("wrote scripts/bench_inputs.npz")
if __name__ == "__main__":
main()
|