mashey alakxender commited on
Commit
7cb5a18
·
0 Parent(s):

Duplicate from alakxender/mms-tts-div-finetuned-md-m02

Browse files

Co-authored-by: rusputin <alakxender@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ outputs/audio/001.wav filter=lfs diff=lfs merge=lfs -text
37
+ outputs/spectrograms/001.png filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ tags:
4
+ - dhivehi-tts
5
+ license: mit
6
+ datasets:
7
+ - alakxender/dv_syn_speech_md
8
+ language:
9
+ - dv
10
+ base_model:
11
+ - facebook/mms-tts-div
12
+ ---
13
+
14
+ # Divehi TTS – Male Voice (VITS-based)
15
+
16
+ This is a fine-tuned VITS (Variational Inference with adversarial learning for end-to-end Text-to-Speech) model for Divehi speech synthesis. The model produces Male voice audio from Thaana-scripted Divehi text. Fine-tuned from Meta’s MMS-TTS architecture using a curated dataset of synthetic Divehi speech.
17
+
18
+ ## Model Details
19
+
20
+ | Field | Value |
21
+ |----------------------|-------------------------------------------------|
22
+ | **Model ID** | `alakxender/mms-tts-div-finetuned-md-m02` |
23
+ | **Base Architecture**| MMS-TTS (VITS) |
24
+ | **Language** | Divehi (dv) |
25
+ | **Voice** | Male |
26
+ | **Sampling Rate** | 16 kHz |
27
+ | **Tokenizer** | VITSTokenizer |
28
+ | **Inference Engine** | Transformers (🤗 Hugging Face) |
29
+
30
+
31
+ ## Usage
32
+
33
+ ```python
34
+ from transformers import VitsModel, VitsTokenizer
35
+ import torchaudio
36
+
37
+ tokenizer = VitsTokenizer.from_pretrained("alakxender/mms-tts-div-finetuned-md-m02")
38
+ model = VitsModel.from_pretrained("alakxender/mms-tts-div-finetuned-md-m02")
39
+
40
+ text = "މޫސުން ވަރަށް ގޯސްވެ، ފުވައްމުލަކުން ފެށިގެން އައްޑުއަށް އޮރެންޖް އެލާޓް ނެރެފި"
41
+ inputs = tokenizer(text, return_tensors="pt")
42
+ waveform = model.generate(**inputs).waveform[0]
43
+
44
+ torchaudio.save("output.wav", waveform.unsqueeze(0), 16000)
45
+ ```
46
+
47
+ ## Evaluation Summary
48
+
49
+ - **Model**: `alakxender/mms-tts-div-finetuned-md-m02`
50
+ - **Evaluated Samples**: 3
51
+ - **Avg Estimated MOS (UTMOS)**: `2.926`
52
+ ```json
53
+ {
54
+ "5": "Excellent (very natural)",
55
+ "4": "Good (mostly natural)",
56
+ "3": "Fair (some robotic quality)",
57
+ "2": "Poor (noticeably unnatural)",
58
+ "1": "Bad (unintelligible or very synthetic)"
59
+ }
60
+ ```
61
+ - **Artifacts**:
62
+ - 🎵 Audio: `outputs/audio/`
63
+ - 📊 Spectrograms: `outputs/spectrograms/`
64
+ - 📄 Report: `outputs/report.txt`
65
+ - 📈 MOS Scores: `outputs/mos_scores.txt`
66
+
67
+ ## Acknowledgements
68
+
69
+ - [Meta MMS-TTS](https://github.com/facebookresearch/fairseq/tree/main/examples/mms)
70
+ - [Tarepan's SpeechMOS](https://github.com/Tarepan/SpeechMOS)
71
+ - [Hugging Face 🤗 Transformers](https://huggingface.co/transformers/)
72
+
added_tokens.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "<unk>": 53
3
+ }
config.json ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "./tmp/vits_finetuned_div-m02",
3
+ "activation_dropout": 0.1,
4
+ "architectures": [
5
+ "VitsModel"
6
+ ],
7
+ "attention_dropout": 0.1,
8
+ "depth_separable_channels": 2,
9
+ "depth_separable_num_layers": 3,
10
+ "discriminator_kernel_size": 5,
11
+ "discriminator_period_channels": [
12
+ 1,
13
+ 32,
14
+ 128,
15
+ 512,
16
+ 1024
17
+ ],
18
+ "discriminator_periods": [
19
+ 2,
20
+ 3,
21
+ 5,
22
+ 7,
23
+ 11
24
+ ],
25
+ "discriminator_scale_channels": [
26
+ 1,
27
+ 16,
28
+ 64,
29
+ 256,
30
+ 1024
31
+ ],
32
+ "discriminator_stride": 3,
33
+ "duration_predictor_dropout": 0.5,
34
+ "duration_predictor_filter_channels": 256,
35
+ "duration_predictor_flow_bins": 10,
36
+ "duration_predictor_kernel_size": 3,
37
+ "duration_predictor_num_flows": 4,
38
+ "duration_predictor_tail_bound": 5.0,
39
+ "ffn_dim": 768,
40
+ "ffn_kernel_size": 3,
41
+ "flow_size": 192,
42
+ "hidden_act": "relu",
43
+ "hidden_dropout": 0.1,
44
+ "hidden_size": 192,
45
+ "hop_length": 256,
46
+ "initializer_range": 0.02,
47
+ "layer_norm_eps": 1e-05,
48
+ "layerdrop": 0.1,
49
+ "leaky_relu_slope": 0.1,
50
+ "model_type": "vits",
51
+ "noise_scale": 0.667,
52
+ "noise_scale_duration": 0.8,
53
+ "num_attention_heads": 2,
54
+ "num_hidden_layers": 6,
55
+ "num_speakers": 1,
56
+ "posterior_encoder_num_wavenet_layers": 16,
57
+ "prior_encoder_num_flows": 4,
58
+ "prior_encoder_num_wavenet_layers": 4,
59
+ "resblock_dilation_sizes": [
60
+ [
61
+ 1,
62
+ 3,
63
+ 5
64
+ ],
65
+ [
66
+ 1,
67
+ 3,
68
+ 5
69
+ ],
70
+ [
71
+ 1,
72
+ 3,
73
+ 5
74
+ ]
75
+ ],
76
+ "resblock_kernel_sizes": [
77
+ 3,
78
+ 7,
79
+ 11
80
+ ],
81
+ "sampling_rate": 16000,
82
+ "segment_size": 8192,
83
+ "speaker_embedding_size": 0,
84
+ "speaking_rate": 1.0,
85
+ "spectrogram_bins": 513,
86
+ "torch_dtype": "float32",
87
+ "transformers_version": "4.40.2",
88
+ "upsample_initial_channel": 512,
89
+ "upsample_kernel_sizes": [
90
+ 16,
91
+ 16,
92
+ 4,
93
+ 4
94
+ ],
95
+ "upsample_rates": [
96
+ 8,
97
+ 8,
98
+ 2,
99
+ 2
100
+ ],
101
+ "use_bias": true,
102
+ "use_stochastic_duration_prediction": true,
103
+ "vocab_size": 53,
104
+ "wavenet_dilation_rate": 1,
105
+ "wavenet_dropout": 0.0,
106
+ "wavenet_kernel_size": 5,
107
+ "window_size": 4
108
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5afd715b694cb5899c6093fd1d91b797cedb5a2cf51c2418a739e248afd9cd50
3
+ size 145242232
outputs/audio/001.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6eeca5b825cdf0dde4a575f1e2b09ae0854d4d42a98d2d9f6caeaece68621f53
3
+ size 108622
outputs/audio/002.wav ADDED
Binary file (88.7 kB). View file
 
outputs/audio/003.wav ADDED
Binary file (99.9 kB). View file
 
outputs/mos_scores.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 001.wav 2.868
2
+ 002.wav 2.754
3
+ 003.wav 3.157
4
+ Avg MOS 2.926
outputs/report.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ 001 އީދު ފާހަގަކުރުމުގައި ހުއްދަ މުނިފޫހިފިލުވުމަކީ ކޮބާ؟ ./outputs/audio/001.wav ./outputs/spectrograms/001.png
2
+ 002 އައިންމަތީ ދޫނި މަދުވެއްޖެ، ތޭރަވާ ގެއްލިއްޖެ ./outputs/audio/002.wav ./outputs/spectrograms/002.png
3
+ 003 "ނުކުމެވޭ ވަރެއް ނޫން، މަގުތައް ބުޅާ ނަޖިހުން ފުރިފައި" ./outputs/audio/003.wav ./outputs/spectrograms/003.png
outputs/spectrograms/001.png ADDED

Git LFS Details

  • SHA256: 6c220ea4fe7975554769ecafd48f32bf6f4dd333c8d60836f2cab93fbbe0aee6
  • Pointer size: 131 Bytes
  • Size of remote file: 239 kB
outputs/spectrograms/002.png ADDED
outputs/spectrograms/003.png ADDED
preprocessor_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "feature_extractor_type": "VitsFeatureExtractor",
3
+ "feature_size": 80,
4
+ "hop_length": 256,
5
+ "max_wav_value": 32768.0,
6
+ "n_fft": 1024,
7
+ "padding_side": "right",
8
+ "padding_value": 0.0,
9
+ "return_attention_mask": false,
10
+ "sampling_rate": 16000
11
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "pad_token": {
3
+ "content": "|",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "unk_token": {
10
+ "content": "<unk>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ }
16
+ }
tokenizer_config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_blank": true,
3
+ "added_tokens_decoder": {
4
+ "0": {
5
+ "content": "|",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "53": {
13
+ "content": "<unk>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ }
20
+ },
21
+ "clean_up_tokenization_spaces": true,
22
+ "is_uroman": false,
23
+ "language": "div",
24
+ "model_max_length": 1000000000000000019884624838656,
25
+ "normalize": true,
26
+ "pad_token": "|",
27
+ "phonemize": false,
28
+ "tokenizer_class": "VitsTokenizer",
29
+ "unk_token": "<unk>",
30
+ "verbose": false
31
+ }
vocab.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ " ": 52,
3
+ "'": 43,
4
+ "|": 0,
5
+ "ا": 47,
6
+ "ل": 45,
7
+ "ه": 48,
8
+ "ހ": 14,
9
+ "ށ": 22,
10
+ "ނ": 5,
11
+ "ރ": 13,
12
+ "ބ": 19,
13
+ "ޅ": 25,
14
+ "ކ": 9,
15
+ "އ": 3,
16
+ "ވ": 10,
17
+ "މ": 12,
18
+ "ފ": 18,
19
+ "ދ": 17,
20
+ "ތ": 16,
21
+ "ލ": 21,
22
+ "ގ": 11,
23
+ "ޏ": 37,
24
+ "ސ": 20,
25
+ "ޑ": 27,
26
+ "ޒ": 35,
27
+ "ޓ": 33,
28
+ "ޔ": 26,
29
+ "ޕ": 31,
30
+ "ޖ": 29,
31
+ "ޗ": 38,
32
+ "ޘ": 51,
33
+ "ޙ": 30,
34
+ "ޚ": 39,
35
+ "ޛ": 49,
36
+ "ޝ": 40,
37
+ "ޞ": 41,
38
+ "ޟ": 44,
39
+ "ޠ": 50,
40
+ "ޡ": 46,
41
+ "ޢ": 36,
42
+ "ޣ": 42,
43
+ "ޤ": 34,
44
+ "ަ": 1,
45
+ "ާ": 8,
46
+ "ި": 7,
47
+ "ީ": 15,
48
+ "ު": 6,
49
+ "ޫ": 28,
50
+ "ެ": 2,
51
+ "ޭ": 23,
52
+ "ޮ": 24,
53
+ "ޯ": 32,
54
+ "ް": 4
55
+ }