Downloads · 30 days
119
10% of all-time downloads
Edmon02/speecht5_finetuned_voxpopuli_hy
speecht5_finetuned_voxpopuli_hy is a text-to-speech model from Edmon02. Use it when you need text read aloud. It is set up for transformers. The card lists the license as mit.
Primary production checkpoint for Eastern Armenian text-to-speech. Fine-tuned SpeechT5 on HyVoxPopuli and related Armenian speech data.
Downloads · 30 days
119
10% of all-time downloads
All-time downloads
1.2K
Public
Parameters
144M
57.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors578 MB · 100%
From the Hugging Face model README
speecht5_finetuned_voxpopuli_hy)Primary production checkpoint for Eastern Armenian text-to-speech. Fine-tuned SpeechT5 on HyVoxPopuli and related Armenian speech data.
| Task | Text-to-speech (TTS) |
| Language | Armenian (hy-AM) |
| Architecture | SpeechT5ForTextToSpeech |
| Tokenizer | Custom SentencePiece (spm_char.model, vocab 113) |
| Audio | 16 kHz mel → HiFi-GAN vocoder required |
| Speakers | 2 (use speaker embeddings at inference) |
microsoft/speecht5_tts
→ Edmon02/speecht5_finetuned_hy (Common Voice 11)
→ Edmon02/speecht5_finetuned_voxpopuli_nl (intermediate)
→ Edmon02/speecht5_finetuned_voxpopuli_hy ← you are here
For continued training with a larger vocabulary, use Edmon02/TTS_NB_2.
import torch
import soundfile as sf
from datasets import load_dataset
from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "Edmon02/speecht5_finetuned_voxpopuli_hy"
processor = SpeechT5Processor.from_pretrained(model_id)
model = SpeechT5ForTextToSpeech.from_pretrained(model_id).to(device)
vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan").to(device)
# Example speaker embedding from dataset (pick one speaker_id)
ds = load_dataset("Edmon02/hyvoxpopuli", split="train")
sample = ds[0]
speaker_embedding = torch.tensor(sample["speaker_embeddings"]).unsqueeze(0).to(device) # if stored
# Or compute with SpeechBrain ECAPA — see project notebooks
inputs = processor(text="բարև, սա հայերեն խոսքի սինթեզի փորձ է։", return_tensors="pt")
inputs = {k: v.to(device) for k, v in inputs.items()}
with torch.no_grad():
spectrogram = model.generate_speech(inputs["input_ids"], speaker_embedding, vocoder=vocoder)
sf.write("out.wav", spectrogram.cpu().numpy(), samplerate=16000)
Note: You must supply a speaker embedding (512-d) matching training. See
projects/armenian-tts/notebooks/04_speecht5_hy.ipynbfor the full inference pipeline.
TTS_NB_2 for new tokenizer/vocab work)normalized_text rows before training (82 rows unlabeled in v1)| Hyperparameter | Value |
|---|---|
| Learning rate | 1e-5 |
| Batch size (effective) | 32 (4 × 8 grad accum) |
| Steps | ~1000 |
| Optimizer | Adam |
| Scheduler | Linear warmup (125 steps) |
| Framework | Transformers 4.38, PyTorch 2.1 |
Full logs were in local runs/ (removed from Hub for cleanliness).
microsoft/speecht5_hifigan)voxpopuli_*) — data is not EU parliament VoxPopuli audio| Asset | Link |
|---|---|
| Dataset | Edmon02/hyvoxpopuli |
| Training checkpoint | Edmon02/TTS_NB_2 |
| ONNX export | Edmon02/TTS_NB_ONNX |
| Vocoder | microsoft/speecht5_hifigan |
@misc{armenian_speecht5_hy2024,
author = {Avetisyan, Edmon},
title = {Armenian SpeechT5 (HyVoxPopuli fine-tune)},
year = {2024},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/Edmon02/speecht5_finetuned_voxpopuli_hy}}
}
MIT (model card). Dataset: CC-BY-4.0. Microsoft SpeechT5 weights subject to original license.