File size: 5,035 Bytes
02ba85e
 
 
 
 
 
 
 
 
 
4b2eec1
e3aa79e
 
 
0cef536
97e8c22
f5c5b3e
 
 
 
 
 
 
 
 
4fec8df
 
0cef536
4fec8df
 
 
 
 
0cef536
4fec8df
97e8c22
f5c5b3e
1214256
 
 
 
 
f5c5b3e
1214256
f5c5b3e
 
 
 
 
1214256
 
 
 
90a3def
1214256
f5c5b3e
 
8d22744
 
 
 
 
 
 
eedaf95
8d22744
 
 
2c0ba76
8d22744
 
eedaf95
1214256
 
 
 
407204e
 
 
b7868a4
 
 
 
407204e
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
title: Matcha TTS Japanese
emoji: 🏃
colorFrom: indigo
colorTo: red
sdk: static
pinned: true
license: mit
short_description: Description of Matcha TTS Japanese
---

<div style="height: 15px;"></div>

# Match-TTS-Japanese Spaces
<div><a href="https://github.com/akjava/Matcha-TTS-Japanese/" target="_new">Github</a></div>

a not official fork of matcha-tts for japanese language.

some onnx codes help english-tts

## Difference
- Focus on Japanese Language
- Focus on onnx
- Focus on Dataset/Model

<div><b>Models</b></div>
<div><a href="https://huggingface.co./Akjava/matcha_tts_common_voice_01_en_001/" target="_new">EN001</a> - English trained single speaker. <br></div>
<div id="footer">
    <b>Example Spaces</b><br>
     <a href="/spaces/Akjava/matcha-tts_vctk-onnx" style="font-size: 12px" target="link">Match-TTS VCTK-ONNX</a> | 
     <a href="/spaces/Akjava/matcha-tts-onnx-benchmarks" style="font-size: 12px" target="link">Match-TTS ONNX-Benchmark</a> |
  <a href="https://akjava.github.io/Matcha-TTS-Japanese/" target="link" style="font-size: 12px">Onnx Github Example page</a> |
  <br>
</div>
<div> </div><br>

# Matcha-TTS 日本語
 Matcha-TTSは比較的新しいTTSエンジンです。
 これからのAIには音声合成機能は欠かせません。TTSの最重要項目はデータセットです。エンジンはデーターセットほど品質で違いは生み出せません。
データーセットから作成したモデルが揃っていれば、知名度が低くても十分です。
そしてMatcha-TTSは速度・容量・ライセンス的に、実用性においては他と比べて大きく劣る要素はありません。

## 違い
- 日本語特化 - (そのうち、クリーナーを組み込みます)
- Onnx特化 ブラウザーとUnity(C#)
- データー/モデル を作ります

## モデル
出来そうな気もするけど、シングルとマルチスピーカの変換の仕方はわかりません。
正直、シングルがずば抜けて品質がいいわけではなく、サイズ的な違いは少なく、話者100人と1人だと、マルチスピーカーの方がお得感があるので、話者の数が少なくてもマルチスピーカーの訓練を主にしています。
 ただ、まだまだ、研究中です。最終的にはシングルでトレーニングしたのをコーパス出力して、それをマルチスピーカーで結合するのがいいかと思っています。
### Speakerの違い
#### Single Speaker 
- ほぼすべてLJSpeechをベースです。(ライセンス的な制限もありませんし。音質の変化も感じません)
#### Multi Speaker
- VCTKのライセンスを緩いですが回避したいので、VCTKのpretrainedは使いません。
- 100Speakers は最大スロット数を示すモデルの型で、実際には数人スピーカーしか訓練していないモデルばかりです。
### 最終品質

音質とイントネーションのバランスで苦労しています。

- 音素が揃っている大型モデル(Large/Huge)を単独でトレーニングすると、音質はいい。ただしイントネーションは怪しい
- 混ぜたり、Fine-Tuneするとイントーネーションはよくなるが、音質は悪くなる
- カリキュラム学習がうまくいっているのか、長文の分解で失敗しているのか不明
- シンプルなPhonemizeでは難しいのでは考えています。英語までとはいわないが、センテンスで分割マークを入れたい(ブラウザーでも動く入れ方を検討中)

品質検出ツールがない

- ある程度トレーニングすると大抵CERは高品質。ただしCERは、たどたどしい、ゆっくりな日本語やRobotic音声にも、満点を与えるので、単独で評価できない
- Roboticな出力はMore-all 出力すればある程度わかります。(人間が聞く必要あるけど)
- 一部のコーパス出力でもイントネーションを比べることは出来ますが(人間が聞く必要あるけど) 完全なカバーではない。
  
### Phonemize
Tacorton2-Japanseにあるように、いろいろ変換方式ありますが、ブラウザーで使えないので検討中です。

- openjtalk-g2p - デフォルトで使用しています。(Phonemize/Cleanerを明記していない限りこれです。)ただし、ブラウザーで使えない(OpenJtalkがない)
- julis-segmentation - Conqui-TTSもデフォルトはこれだったような。シンプルだけど、ブラウザーで使えそう (kuromoji.jsがある)

### シングルスピーカーモデル

まだブラウザーで動く、Phonemizerが出来ていないので、正式にはモデルは非公開中

#### モデル制作の感想
大きいモデルは、いきなり作るとイントネーションが残念なことになるので、以前作っていたモデルをベースに継続している。代わりに音が残念なことになっている。