Upload 3 files
Browse files- README.md +148 -3
- celtia.ckpt +3 -0
- config_tree.log +145 -0
README.md
CHANGED
|
@@ -1,3 +1,148 @@
|
|
| 1 |
-
---
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
---
|
| 3 |
+
|
| 4 |
+
extra_gated_heading: "This repository is publicly accessible, but you have to accept the Terms and Conditions to access its files and content."
|
| 5 |
+
extra_gated_description: "## **Terms and Conditions of Use**
|
| 6 |
+
|
| 7 |
+
### Agreement
|
| 8 |
+
|
| 9 |
+
These Terms and Conditions govern the use of the Galician text-to-speech (TTS) model Nos_TTS-celtia-matcha-graphemes based on artificial neural networks developed within the framework of the Nós Project of the University of Santiago de Compostela (hereinafter, \"Holder\"). The model is available for download and use under the Apache License, Version 2.0. By downloading or using the model, the user (hereinafter, \"User\") agrees to these terms.
|
| 10 |
+
The use of the models also implies compliance with privacy policies and any additional regulations associated with the download repository.
|
| 11 |
+
|
| 12 |
+
### Purpose
|
| 13 |
+
|
| 14 |
+
The TTS model is designed for research and development of applications related to TTS technology in Galician.
|
| 15 |
+
|
| 16 |
+
### License
|
| 17 |
+
|
| 18 |
+
The model is made available under the Apache License, Version 2.0, which allows its use, modification, and distribution, provided the license terms are respected, including proper acknowledgement of the Holder as the original creator.
|
| 19 |
+
|
| 20 |
+
### Permitted Use
|
| 21 |
+
|
| 22 |
+
The model may be used to generate synthetic speech in Galician according to the terms of the aforementioned License.\
|
| 23 |
+
Users are responsible for complying with applicable laws and respecting third-party rights when using the model.
|
| 24 |
+
|
| 25 |
+
### Restrictions
|
| 26 |
+
|
| 27 |
+
Users agree not to:
|
| 28 |
+
- Use the model for illegal activities or any activity that may infringe intellectual property or other third-party rights, including, but not limited to, its use to promote disinformation, hate speech or breaches of privacy.
|
| 29 |
+
- Claim that the model was developed by entities other than the Holder.
|
| 30 |
+
|
| 31 |
+
### Disclaimer
|
| 32 |
+
|
| 33 |
+
The model is provided \"as is\" without any warranty of any kind. The Holder shall not be liable for any direct, indirect, or consequential damages resulting from the use or inability to use the model and does not guarantee the absence of bias or errors in the generated content.
|
| 34 |
+
|
| 35 |
+
### Amendments to the Terms
|
| 36 |
+
|
| 37 |
+
These Terms may be updated by the Holder at any time. The latest version will be available in the repository where the model is hosted.
|
| 38 |
+
|
| 39 |
+
This document is a legal contract between you and the dataset provider. By accessing and using the model, you acknowledge and agree to abide by the Terms and Conditions."
|
| 40 |
+
|
| 41 |
+
extra_gated_button_content: "I agree to the Terms and Conditions"
|
| 42 |
+
extra_gated_fields:
|
| 43 |
+
Name: text
|
| 44 |
+
Email: text
|
| 45 |
+
Institution: text
|
| 46 |
+
Country: country
|
| 47 |
+
I want to use this model for:
|
| 48 |
+
type: text
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
license: apache-2.0
|
| 52 |
+
datasets:
|
| 53 |
+
- proxectonos/Nos_Celtia-GL
|
| 54 |
+
language:
|
| 55 |
+
- gl
|
| 56 |
+
pipeline_tag: text-to-speech
|
| 57 |
+
tags:
|
| 58 |
+
- TTS
|
| 59 |
+
- speech-synthesis
|
| 60 |
+
- Galician
|
| 61 |
+
- female-speaker
|
| 62 |
+
- Matcha-TTS
|
| 63 |
+
---
|
| 64 |
+
|
| 65 |
+
# Celtia: Nós Project's Galician TTS Model
|
| 66 |
+
## Model description
|
| 67 |
+
|
| 68 |
+
**Celtia** is a Galician TTS model developed by the [Nós project](https://nos.gal/gl/proxecto-nos). It was trained from scratch using the [Matcha-TTS](https://github.com/shivammehta25/Matcha-TTS) Python library on the corpus [Nos_Celtia-GL](https://zenodo.org/record/7716958). This corpus comprises a total of 20,000 sentences recorded by a professional voice talent. Specifically, a subset of 13,000 sentences, corresponding to 15.5 hours of speech, was used to train the model.
|
| 69 |
+
|
| 70 |
+
The model was trained directly on grapheme inputs, so no phonetic transcription is required. The [Cotovía](http://gtm.uvigo.es/en/transfer/software/cotovia/) tool can be used to normalize the input text.
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
## Intended uses and limitations
|
| 74 |
+
|
| 75 |
+
You can use this model to generate synthetic speech in Galician.
|
| 76 |
+
|
| 77 |
+
## Installation
|
| 78 |
+
|
| 79 |
+
### Cotovía
|
| 80 |
+
|
| 81 |
+
For text normalization, you can use the front-end of Cotovía. This software is available for download on the [SourceForge](https://sourceforge.net/projects/cotovia/files/Debian%20packages/) website. The required Debian packages are `cotovia_0.5_amd64.deb` and `cotovia-lang-gl_0.5_all.deb`, which can be installed using the following commands:
|
| 82 |
+
|
| 83 |
+
```bash
|
| 84 |
+
sudo dpkg -i cotovia_0.5_amd64.deb
|
| 85 |
+
sudo dpkg -i cotovia-lang-gl_0.5_all.deb
|
| 86 |
+
```
|
| 87 |
+
### TTS library
|
| 88 |
+
|
| 89 |
+
To synthesize speech, you need to install the Coqui TTS library:
|
| 90 |
+
|
| 91 |
+
```bash
|
| 92 |
+
pip install matcha-tts
|
| 93 |
+
```
|
| 94 |
+
|
| 95 |
+
## How to use
|
| 96 |
+
|
| 97 |
+
### Command-line usage
|
| 98 |
+
|
| 99 |
+
The following command normalizes and synthesizes the input text using the Celtia model:
|
| 100 |
+
|
| 101 |
+
```bash
|
| 102 |
+
matcha-tts --text "a erupción provoca a emanación de gases á atmosfera." --checkpoint_path celtia.ckpt --vocoder hifigan_univ_v1 --output_folder . --speaking_rate 1
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
The output synthesized speech is saved to the specified audio file.
|
| 106 |
+
|
| 107 |
+
For more information, check the [Matcha-TTS repo](https://github.com/shivammehta25/Matcha-TTS).
|
| 108 |
+
|
| 109 |
+
|
| 110 |
+
## Training
|
| 111 |
+
|
| 112 |
+
### Hyperparameter
|
| 113 |
+
|
| 114 |
+
The model is based on Matcha-TTS proposed by [Shivam Mehta et al](https://arxiv.org/abs/2309.03199). The following hyperparameters were set in the Matcha-TTS repository.
|
| 115 |
+
|
| 116 |
+
| Hyperparameter | Value |
|
| 117 |
+
|------------------------------------|----------------------------------|
|
| 118 |
+
| Model | matcha |
|
| 119 |
+
| Batch Size | 32 |
|
| 120 |
+
| Precision | 16-mixed |
|
| 121 |
+
| Window Length | 1024 |
|
| 122 |
+
| Hop Length | 256 |
|
| 123 |
+
| FTT size | 1024 |
|
| 124 |
+
| Optimizer | adam |
|
| 125 |
+
| Learning rate | 0.0001 |
|
| 126 |
+
|
| 127 |
+
The model was trained for 4,000 epochs.
|
| 128 |
+
|
| 129 |
+
## Additional information
|
| 130 |
+
|
| 131 |
+
### Authors
|
| 132 |
+
Antonio Moscoso, Carmen Magariños and Alberto Bugarín.
|
| 133 |
+
|
| 134 |
+
### Contact information
|
| 135 |
+
For further information, send an email to proxecto.nos@usc.gal
|
| 136 |
+
|
| 137 |
+
### Licensing Information
|
| 138 |
+
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
| 139 |
+
|
| 140 |
+
### Funding
|
| 141 |
+
|
| 142 |
+
This research was produced within the framework of the Proxecto Nós, funded by the Ministry for Digital Transformation and Public Administration and the Recovery, Transformation, and Resilience Plan – Funded by the European Union – NextGenerationEU, as part of the Ilenia Project with reference 2022/TL22/00215336, and previously “The Nós project: Galician in the society and economy of Artificial Intelligence”, resulting from the agreement 2021-CP080 between the Xunta de Galicia and the University of Santiago de Compostela, and thanks to the Investigo program, within the National Recovery, Transformation and Resilience Plan, within the framework of the European Recovery Fund (NextGenerationEU).
|
| 143 |
+
|
| 144 |
+
### Citation information
|
| 145 |
+
|
| 146 |
+
If you use this model, please cite as follows:
|
| 147 |
+
|
| 148 |
+
Moscoso, Antonio; Magariños, Carmen; Bugarín-Diz, Alberto. 2026. Nos_TTS-celtia-matcha-graphemes. URL: https://huggingface.co/proxectonos/Nos_TTS-celtia-matcha-graphemes
|
celtia.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2dc645a146df682882dfa8f6be61d04cbeadfad481600b935b701941a20a512d
|
| 3 |
+
size 218846840
|
config_tree.log
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CONFIG
|
| 2 |
+
├── data
|
| 3 |
+
│ └── _target_: matcha.data.text_mel_datamodule.TextMelDataModule
|
| 4 |
+
│ name: ljspeech
|
| 5 |
+
│ train_filelist_path: /home/antonio.moscoso/TTS/corpus/celtia/celtia_trai
|
| 6 |
+
│ valid_filelist_path: /home/antonio.moscoso/TTS/corpus/celtia/celtia_dev_
|
| 7 |
+
│ batch_size: 32
|
| 8 |
+
│ num_workers: 20
|
| 9 |
+
│ pin_memory: true
|
| 10 |
+
│ cleaners:
|
| 11 |
+
│ - galician_cleaners
|
| 12 |
+
│ add_blank: true
|
| 13 |
+
│ n_spks: 1
|
| 14 |
+
│ n_fft: 1024
|
| 15 |
+
│ n_feats: 80
|
| 16 |
+
│ sample_rate: 16000
|
| 17 |
+
│ hop_length: 256
|
| 18 |
+
│ win_length: 1024
|
| 19 |
+
│ f_min: 0
|
| 20 |
+
│ f_max: 8000
|
| 21 |
+
│ data_statistics:
|
| 22 |
+
│ mel_mean: -6.495892524719238
|
| 23 |
+
│ mel_std: 2.500046491622925
|
| 24 |
+
│ seed: 1234
|
| 25 |
+
│ load_durations: false
|
| 26 |
+
│
|
| 27 |
+
├── model
|
| 28 |
+
│ └── _target_: matcha.models.matcha_tts.MatchaTTS
|
| 29 |
+
│ n_vocab: 178
|
| 30 |
+
│ n_spks: 1
|
| 31 |
+
│ spk_emb_dim: 64
|
| 32 |
+
│ n_feats: 80
|
| 33 |
+
│ data_statistics:
|
| 34 |
+
│ mel_mean: -6.495892524719238
|
| 35 |
+
│ mel_std: 2.500046491622925
|
| 36 |
+
│ out_size: null
|
| 37 |
+
│ prior_loss: true
|
| 38 |
+
│ use_precomputed_durations: false
|
| 39 |
+
│ encoder:
|
| 40 |
+
│ encoder_type: RoPE Encoder
|
| 41 |
+
│ encoder_params:
|
| 42 |
+
│ n_feats: 80
|
| 43 |
+
│ n_channels: 192
|
| 44 |
+
│ filter_channels: 768
|
| 45 |
+
│ filter_channels_dp: 256
|
| 46 |
+
│ n_heads: 2
|
| 47 |
+
│ n_layers: 6
|
| 48 |
+
│ kernel_size: 3
|
| 49 |
+
│ p_dropout: 0.1
|
| 50 |
+
│ spk_emb_dim: 64
|
| 51 |
+
│ n_spks: 1
|
| 52 |
+
│ prenet: true
|
| 53 |
+
│ duration_predictor_params:
|
| 54 |
+
│ filter_channels_dp: 256
|
| 55 |
+
│ kernel_size: 3
|
| 56 |
+
│ p_dropout: 0.1
|
| 57 |
+
│ decoder:
|
| 58 |
+
│ channels:
|
| 59 |
+
│ - 256
|
| 60 |
+
│ - 256
|
| 61 |
+
│ dropout: 0.05
|
| 62 |
+
│ attention_head_dim: 64
|
| 63 |
+
│ n_blocks: 1
|
| 64 |
+
│ num_mid_blocks: 2
|
| 65 |
+
│ num_heads: 2
|
| 66 |
+
│ act_fn: snakebeta
|
| 67 |
+
│ cfm:
|
| 68 |
+
│ name: CFM
|
| 69 |
+
│ solver: euler
|
| 70 |
+
│ sigma_min: 0.0001
|
| 71 |
+
│ optimizer:
|
| 72 |
+
│ _target_: torch.optim.Adam
|
| 73 |
+
│ _partial_: true
|
| 74 |
+
│ lr: 0.0001
|
| 75 |
+
│ weight_decay: 0.0
|
| 76 |
+
│
|
| 77 |
+
├── callbacks
|
| 78 |
+
│ └── model_checkpoint:
|
| 79 |
+
│ _target_: lightning.pytorch.callbacks.ModelCheckpoint
|
| 80 |
+
│ dirpath: /home/antonio.moscoso/TTS/Matcha-TTS/logs/train/nos_celtia_gr
|
| 81 |
+
│ filename: checkpoint_{epoch:03d}
|
| 82 |
+
│ monitor: epoch
|
| 83 |
+
│ verbose: false
|
| 84 |
+
│ save_last: true
|
| 85 |
+
│ save_top_k: 20
|
| 86 |
+
│ mode: max
|
| 87 |
+
│ auto_insert_metric_name: true
|
| 88 |
+
│ save_weights_only: false
|
| 89 |
+
│ every_n_train_steps: null
|
| 90 |
+
│ train_time_interval: null
|
| 91 |
+
│ every_n_epochs: 100
|
| 92 |
+
│ save_on_train_epoch_end: null
|
| 93 |
+
│ model_summary:
|
| 94 |
+
│ _target_: lightning.pytorch.callbacks.RichModelSummary
|
| 95 |
+
│ max_depth: 3
|
| 96 |
+
│ rich_progress_bar:
|
| 97 |
+
│ _target_: lightning.pytorch.callbacks.RichProgressBar
|
| 98 |
+
│
|
| 99 |
+
├── logger
|
| 100 |
+
│ └── tensorboard:
|
| 101 |
+
│ _target_: lightning.pytorch.loggers.tensorboard.TensorBoardLogger
|
| 102 |
+
│ save_dir: /home/antonio.moscoso/TTS/Matcha-TTS/logs/train/nos_celtia_g
|
| 103 |
+
│ name: null
|
| 104 |
+
│ log_graph: false
|
| 105 |
+
│ default_hp_metric: true
|
| 106 |
+
│ prefix: ''
|
| 107 |
+
│
|
| 108 |
+
├── trainer
|
| 109 |
+
│ └── _target_: lightning.pytorch.trainer.Trainer
|
| 110 |
+
│ default_root_dir: /home/antonio.moscoso/TTS/Matcha-TTS/logs/train/nos_ce
|
| 111 |
+
│ max_epochs: 4000
|
| 112 |
+
│ accelerator: gpu
|
| 113 |
+
│ devices:
|
| 114 |
+
│ - 1
|
| 115 |
+
│ precision: 16-mixed
|
| 116 |
+
│ check_val_every_n_epoch: 1
|
| 117 |
+
│ deterministic: false
|
| 118 |
+
│ gradient_clip_val: 5.0
|
| 119 |
+
│
|
| 120 |
+
├── paths
|
| 121 |
+
│ └── root_dir: /home/antonio.moscoso/TTS/Matcha-TTS
|
| 122 |
+
│ data_dir: /home/antonio.moscoso/TTS/Matcha-TTS/data/
|
| 123 |
+
│ log_dir: /home/antonio.moscoso/TTS/Matcha-TTS/logs/
|
| 124 |
+
│ output_dir: /home/antonio.moscoso/TTS/Matcha-TTS/logs/train/nos_celtia_g
|
| 125 |
+
│ work_dir: /home/antonio.moscoso/TTS/adestramentos
|
| 126 |
+
│
|
| 127 |
+
├── extras
|
| 128 |
+
│ └── ignore_warnings: false
|
| 129 |
+
│ enforce_tags: true
|
| 130 |
+
│ print_config: true
|
| 131 |
+
│
|
| 132 |
+
├── task_name
|
| 133 |
+
│ └── train
|
| 134 |
+
├── run_name
|
| 135 |
+
│ └── nos_celtia_grafemas_ljspeech
|
| 136 |
+
├── tags
|
| 137 |
+
│ └── ['nos_celtia_grafemas_ljspeech']
|
| 138 |
+
├── train
|
| 139 |
+
│ └── True
|
| 140 |
+
├── test
|
| 141 |
+
│ └── True
|
| 142 |
+
├── ckpt_path
|
| 143 |
+
│ └── None
|
| 144 |
+
└── seed
|
| 145 |
+
└── 1234
|