Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text to speech

Gooya-Microscopy-v2-exp

by Reza Sayar Reza2kn/Gooya-Microscopy-v2-exp

Gooya-Microscopy-v2-exp is an open-weight model for text to speech from Reza Sayar, released under Apache License 2.0. Its published files total 12.4 MB.

Self-contained experimental Persian text-to-speech: 2,221,495 parameters, including G2P, a contextual GrainSpeech acoustic model, and a tiny speaker-adapted HiFi-GAN vocoder. Produces 24 kHz mono WAV audio.

Parameters—
Context—
Weights8.9 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Reza Sayar, published under apache-2.0, revision 4fb56496a110.

Self-contained experimental Persian text-to-speech: 2,221,495 parameters, including G2P, a contextual GrainSpeech acoustic model, and a tiny speaker-adapted HiFi-GAN vocoder. Produces 24 kHz mono WAV audio. The entire stack is included in this repository and runs offline after downloading and installing dependencies. This is the stack used for the September 24 listening comparison. It includes the newer broad-corpus 837K student selected at epoch 16, not the earlier Nasle-only student. No Vocos, AvaSanj, training corpus, external checkpoint, Lightning, or remote inference service is required. Python 3.10+; CPU is the default. CUDA is optional. PyTorch is a separate runtime dependency: the…

Read Reza Sayar's full model card

Self-contained experimental Persian text-to-speech: 2,221,495 parameters, including G2P, a contextual GrainSpeech acoustic model, and a tiny speaker-adapted HiFi-GAN vocoder. Produces 24 kHz mono WAV audio. The entire stack is included in this repository and runs offline after downloading and installing dependencies.

This is the stack used for the September 24 listening comparison. It includes the newer broad-corpus 837K student selected at epoch 16, not the earlier Nasle-only student. No Vocos, AvaSanj, training corpus, external checkpoint, Lightning, or remote inference service is required.

Quick start

Python 3.10+; CPU is the default. CUDA is optional. PyTorch is a separate runtime dependency: the model weight size is not the installation size or peak RAM requirement. Old-device speed, Windows, mobile and browser inference have not been benchmarked.

python -m pip install huggingface_hub
hf download Reza2kn/Gooya-Microscopy-v2-exp --local-dir Gooya-Microscopy-v2-exp
python -m pip install -r Gooya-Microscopy-v2-exp/requirements.txt
python Gooya-Microscopy-v2-exp/infer.py --text "سلام، امروز حال شما چطوره؟" --output speech.wav

For a smaller CPU-only installation on Linux, install CPU PyTorch before the requirements:

python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
python -m pip install -r Gooya-Microscopy-v2-exp/requirements.txt

To reproduce the included longer sample:

python Gooya-Microscopy-v2-exp/infer.py --text-file Gooya-Microscopy-v2-exp/examples/example.txt --output sample.wav

Pass --device cuda for GPU inference or --threads 2 to limit CPU threads. The CLI also writes a JSON trace containing normalized text, generated phonemes, and segment durations. Model inference uses local files only. For fully offline use after setup, set HF_HUB_OFFLINE=1 and TRANSFORMERS_OFFLINE=1.

Python API

Install the included Python package once:

python -m pip install ./Gooya-Microscopy-v2-exp
import soundfile as sf
from gooya_tts import GooyaTTS

model = GooyaTTS("Gooya-Microscopy-v2-exp", device="cpu")
audio, trace = model.synthesize("سلام، امروز حال شما چطوره؟", return_details=True)
sf.write("speech.wav", audio, model.sample_rate, subtype="FLOAT")

# Alternatively download the complete model snapshot explicitly:
# model = GooyaTTS.from_pretrained("Reza2kn/Gooya-Microscopy-v2-exp", device="cpu")

Components and size

Component Parameters
Distilled Negara student 837,376
Contextual GrainSpeech acoustic model 437,685
Tiny HiFi-GAN 946,434
Total 2,221,495

Counts include fixed bins and weight-normalization parameters. Weights are FP32 safetensors; nominal parameter storage is about 8.89 MB, plus configs, tokenizer, code and examples. Training-only discriminators and optimizers are omitted. Exact file sizes and SHA-256 checksums are in SHA256SUMS.json.

Inference behavior

The frontend deterministically expands supported number forms, then predicts case-sensitive Negara phonemes. Input is divided at commas, sentence punctuation and newlines. It adds 150 ms comma gaps and 300 ms sentence gaps, matching the listening comparison; these gaps are fixed rather than learned prosody. Acoustic durations, pitch and energy are predicted from phones. Tiny HiFi-GAN receives 100-bin mel features with hop 256 at 24 kHz.

The student uses greedy decoding and has no full Negara fallback. Inputs are not silently truncated. If G2P fails to emit EOS within 512 tokens or produces unsupported symbols, inference raises an error; use shorter phrases rather than accepting incomplete audio. Word-count disagreements produce a warning and remain visible in the trace. This is not a speech-completeness guarantee.

Training and provenance

Acoustic/vocoder training uses the dataset's label field, not Koochik or Gemini ASR replacements. Source: Nasle Mana, revision 606ecdc1d93a77c6f3a452ab5721774248cdf587. After machine G2P/alignment filtering: 9,255 training excerpts / 19.10 hours and 2,337 development excerpts / 5.48 hours, with disjoint source recording groups. It did not consume every second of the source's approximately 41.4 labeled hours.

Architecture derives from GrainSpeech, commit 8b38829809a6f86a9699371adc487c1efb875b05, with a contextual bidirectional GRU, explicit boundary duration handling, and a 100-bin mel projection. The prosody variant trained for 50 epochs; the packaged best development checkpoint is step 10,413. The waveform generator derives from HiFi-GAN V2, with a new 100-mel input layer and 50,000 speaker-adaptation updates; selection used a fixed 96-excerpt development subset. See provenance.json for hashes and selected steps.

The G2P student was distilled from Negara v7.1 plus its overlay using Nasle Mana and the two HomoRich datasets listed above. Supplied phonemes were preserved separately from teacher targets. Deduplicated inputs and punctuation-delimited training clauses yielded 109,113 train, 7,358 development, and 4,969 reserved test examples after filtering. This particular 837K export has development results only; it is not being represented as independently test-qualified.

Limitations

The 837K student has 13.04% phoneme character error against the Negara teacher on 7,358 development inputs (2.71% short, 22.32% medium, 35.86% long), with 38 nonterminating generations under that evaluation protocol. These are teacher-agreement metrics, not human pronunciation accuracy. This release remains experimental, particularly for long or unusual text.

User listening found the tiny vocoder acceptable for these samples, but speech can still be robotic. Proper names, colloquial spelling, ezafe, unfamiliar text, numbers, phrase boundaries and long inputs may fail. No MOS score, human pronunciation accuracy, real-time factor, memory ceiling, or device compatibility claim is made. A successful waveform or low training loss does not establish naturalness.

Licensing and attribution

Release code and distributed modifications are Apache-2.0. Preserve the bundled Apache and MIT notices: GrainSpeech/EfficientSpeech and Negara use Apache-2.0; HiFi-GAN uses MIT. See LICENSE, NOTICE, and licenses/. Dataset copyrights and usage terms remain with their respective sources; this repository does not grant new rights to source recordings or imply speaker endorsement.

Files

  • frontend/: complete G2P model/tokenizer and overlay where applicable.
  • acoustic.safetensors, vocoder.safetensors: inference-only weights.
  • gooya_config.json, gooya_tts/, infer.py: standalone architecture, normalization, runtime and CLI.
  • examples/: requested Persian sample and standalone output.
  • provenance.json, verification.json, SHA256SUMS.json: provenance, verification receipt and integrity checks.

Identity and Version

Repository
Reza2kn/Gooya-Microscopy-v2-exp
Publisher
Reza Sayar
Task
Text to speech
Modality
Audio
Library
Not stated by the source
Parameters
Not stated by the source
Languages
fa
Revision
4fb56496a110df0dd00f122570cb25e3f10cf9a1
First published
2026-09-25
Last updated
2026-09-25

Files and Weights

31 files, 12.4 MB in total. The weights are 3 files totalling 8.9 MB in safetensors.

Weights3 files · 8.9 MB
Configuration16 files · 58.0 KB
Tokenizer1 file · 23.0 KB
Documentation3 files · 19.5 KB
Other7 files · 3.4 MB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
acoustic.safetensorsWeights1.8 MB 91a1f668b731
frontend/model.safetensorsWeights3.4 MB 244851e8bcc8
vocoder.safetensorsWeights3.8 MB 081fb32646d7
SHA256SUMS.jsonConfiguration3.9 KB —
environment.jsonConfiguration276 B —
examples/standalone.jsonConfiguration2.5 KB —
frontend/added_tokens.jsonConfiguration3.0 KB —
frontend/config.jsonConfiguration770 B —
frontend/generation_config.jsonConfiguration226 B —
gooya_config.jsonConfiguration4.8 KB —
gooya_tts/__init__.pyConfiguration53 B —
gooya_tts/hifigan.pyConfiguration10.5 KB —
gooya_tts/networks.pyConfiguration16.9 KB —
gooya_tts/normalize.pyConfiguration3.1 KB —
gooya_tts/runtime.pyConfiguration6.8 KB —
gooya_tts/words.pyConfiguration715 B —
infer.pyConfiguration1.2 KB —
provenance.jsonConfiguration2.3 KB —
verification.jsonConfiguration971 B —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation588 B —
README.mdDocumentation7.5 KB —
examples/example.txtOther383 B —
examples/reference.wavOther1.7 MB 27ca0ca5f9df
examples/standalone.wavOther1.7 MB 90f3ad350671
licenses/HiFi-GAN-MIT.txtOther1.1 KB —
licenses/Negara-Apache-2.0.txtOther11.4 KB —
pyproject.tomlOther327 B —
requirements.txtOther115 B —
.gitattributesRepository1.6 KB —
frontend/tokenizer_config.jsonTokenizer23.0 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
8.9 MB
Download from Reza Sayar

Released by Reza Sayar through its official repository on Hugging Face. Read the license.

Built From

  • Derived from Reza2kn/negara-g2p-clean-v7.1
  • Trained on (disclosed) Reza2kn/homorich-negara-gemini-tts-approved
  • Trained on (disclosed) Reza2kn/homorich-negara-numeral-tts-approved-audio
  • Trained on (disclosed) Reza2kn/nasle-mana-clean-chunked-30s-avasanj

Memory Requirements

PrecisionWeights in memory
As published8.9 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Gooya-Microscopy-v2-exp

Can I use Gooya-Microscopy-v2-exp commercially?

Yes. Gooya-Microscopy-v2-exp is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text to speech

Kokoro-82M

Hexgrad

Kokoro is an open-weight TTS model with 82 million parameters. Despite its lightweight architecture, it delivers comparable quality to larger models while being significantly faster and more cost-efficient. With Apache-licensed weights, Kokoro can be deployed anywhere from production environments to personal projects. You can run this basic cell on Google Colab. Listen to samples. For more languages and details, see Advanced Usage. Under the hood, kokoro uses misaki, a G2P library at https://github.com/hexgrad/misaki Model SHA256 Hash: 496dba118d1a58f5f3db2efc88dbdc216e0483fc89fe6e47ee1f2c53f18ad1e4 Data: Kokoro was trained exclusively on permissive/non-copyrighted audio data and IPA…

Open weights apache-2.0

Model · Text to speech

audio.cpp-gguf

Audio.cpp

This directory contains audio.cpp-native GGUF conversions of multiple speech models. These files are intended for use with audio.cpp. If you enjoy the project, please star audio.cpp on GitHub and this Hugging Face repository. For conversion details, supported layouts, direct-file loading, sidecar embedding, and the latest compatibility notes, see the audio.cpp GGUF guide: - https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md!!! Converted and quantized packages are checked with automated metrics, but perceived quality can still differ for human listeners. Please validate the exact package, backend, and route to confirm the output is acceptable for your use case. The table lists the…

Open weights other audio.cpp

Model · Text to speech

XTTS-v2

Coqui.ai

ⓍTTS is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip. There is no need for an excessive amount of training data that spans countless hours. This is the same or similar model to what powers Coqui Studio and Coqui API. - Supports 17 languages. - Voice cloning with just a 6-second audio clip. - Emotion and style transfer by cloning. - Cross-language voice cloning. - Multi-lingual speech generation. - 24khz sampling rate. - 2 new languages; Hungarian and Korean - Architectural improvements for speaker conditioning. - Enables the use of multiple speaker references and interpolation between speakers. - Stability…

Open weights other coqui

Model · Text to speech

chatterbox

Resemble AI

Chatterbox Multilingual V3 is the latest general-purpose multilingual TTS model in the Chatterbox family. It keeps the same 0.5B model size while improving speaker similarity, reducing hallucinations, and producing more natural, conversational speech across languages. V3 is designed for broad language coverage like V2, but with stronger stability and more expressive generation. It is the recommended multilingual model for users who want one voice cloning model that works across many languages. Try it in the Chatterbox Multilingual TTS V3 Space. Alongside V3, we are releasing the Single Language Pack: dedicated finetunes for priority languages where tighter quality control, stronger…

Open weights mit chatterbox

Model · Text to speech

F5-TTS

Yushen CHEN

Download F5-TTS or E2 TTS and place under ckpts/ Paper: F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching

Open weights cc-by-nc-4.0 f5-tts

Model · Text to speech

Kokoro-82M-v1.0-ONNX

ONNX Community

Kokoro is a frontier TTS model for its size of 82 million parameters (text in/audio out). First, install the kokoro-js library from NPM using: You can then generate speech as follows: Optionally, save the audio to a file: The model is resilient to quantization, enabling efficient high-quality speech synthesis at a fraction of the original model size.

Open weights apache-2.0 transformers.js