Coder Social home page Coder Social logo

litagin02 / style-bert-vits2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fishaudio/bert-vits2

571.0 571.0 64.0 11.31 MB

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.

License: GNU Affero General Public License v3.0

Python 73.30% Jupyter Notebook 24.86% Batchfile 1.83%
bert-vits2 text-to-speech

style-bert-vits2's People

Contributors

aka7774 avatar anyacoder avatar artrajz avatar darai0512 avatar eiheigantanhao avatar frodo821 avatar fumiama avatar github-actions[bot] avatar gordon0414 avatar hopto-dot avatar innnky avatar isotr0py avatar jiangyuxiaoxiao avatar kale4eat avatar leng-yue avatar litagin02 avatar lvjinhong avatar lzyplayer avatar med1844 avatar minami-su avatar miuzarte avatar narusemioshirakana avatar oedosoldier avatar pre-commit-ci[bot] avatar redrayz avatar ricecakey06 avatar stardust-minus avatar steve235lab avatar tsukumijima avatar ylzz1997 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

style-bert-vits2's Issues

々を読んでくれ...

ERROR | app.py:119 | Value error: Cannot read: 々 in:
戦時中,敵が'桂を討ち取った!'と声高々に喚くのを何度も聞いたことがある.桂に限らず,四天王のメンツは大体白羽の矢が立っていたが.

トレーニングに失敗する:torch.distributed.DistNetworkError: Unknown error

表題の通り、データセット作成及び自動前処理を行ったあと、「学習を開始する」を押下すると、トレーニングが行われない問題が発生しています。

手順

  1. zipファイル内、Install-Style-Bert-VITS2.batでインストールを行う
  2. Dataset.batから起動するウィンドウで、スライス及び書き起こしを行う。
  3. Train.batから起動するウィンドウで、自動前処理を行う。
  4. 「学習を開始する」を押下すると、エラーが発生する。

以下、Train.batのログ出力です。

Running webui_train.py...
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
02-02 08:44:47 |  INFO  | webui_train.py:44 | Step 1: start initialization...
model_name: maid-gentle, batch_size: 4, epochs: 100, save_every_steps: 1000, bf16_run: True
02-02 08:44:48 |SUCCESS | webui_train.py:91 | Step 1: initialization finished.
02-02 08:44:48 |  INFO  | webui_train.py:96 | Step 2: start resampling...
02-02 08:44:48 |  INFO  | subprocess_utils.py:11 | Running: resample.py --in_dir Data\maid-gentle\raw --out_dir Data\maid-gentle\wavs --num_processes 8 --sr 44100
100%|████████████████████████████████████████████████████████████████████████████████| 152/152 [00:11<00:00, 13.65it/s]
02-02 08:45:00 |  INFO  | resample.py:122 | Resampling Done!
02-02 08:45:00 |SUCCESS | subprocess_utils.py:24 | Success: resample.py --in_dir Data\maid-gentle\raw --out_dir Data\maid-gentle\wavs --num_processes 8 --sr 44100
02-02 08:45:00 |SUCCESS | webui_train.py:122 | Step 2: resampling finished.
02-02 08:45:00 |  INFO  | webui_train.py:127 | Step 3: start preprocessing text...
02-02 08:45:00 |  INFO  | subprocess_utils.py:11 | Running: preprocess_text.py --config-path Data\maid-gentle\config.json --transcription-path Data\maid-gentle\esd.list --train-path Data\maid-gentle\train.list --val-path Data\maid-gentle\val.list
0it [00:00, ?it/s]Downloading: "https://github.com/r9y9/open_jtalk/releases/download/v1.11.1/open_jtalk_dic_utf_8-1.11.tar.gz"
Extracting tar file H:\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\pyopenjtalk\dic.tar.gz
152it [00:02, 62.64it/s]
02-02 08:45:07 |  INFO  | preprocess_text.py:100 | Total repeated audios: 0, Total number of audio not found: 0
02-02 08:45:07 |  INFO  | preprocess_text.py:138 | Training set and validation set generation from texts is complete!
02-02 08:45:08 |WARNING | subprocess_utils.py:22 | Warning: preprocess_text.py --config-path Data\maid-gentle\config.json --transcription-path Data\maid-gentle\esd.list --train-path Data\maid-gentle\train.list --val-path Data\maid-gentle\val.list


dic.tar.gz: 0.00B [00:00, ?B/s]
dic.tar.gz:   0%|          | 8.00k/22.6M [00:01<57:25, 6.86kB/s]
dic.tar.gz:  11%|#         | 2.43M/22.6M [00:01<00:07, 2.72MB/s]
dic.tar.gz:  37%|###6      | 8.25M/22.6M [00:01<00:01, 10.4MB/s]
dic.tar.gz: 100%|##########| 22.6M/22.6M [00:01<00:00, 14.3MB/s]

02-02 08:45:08 |WARNING | webui_train.py:158 | Step 3: preprocessing text finished with stderr.
02-02 08:45:08 |  INFO  | webui_train.py:165 | Step 4: start bert_gen...
02-02 08:45:08 |  INFO  | subprocess_utils.py:11 | Running: bert_gen.py --config Data\maid-gentle\config.json
100%|████████████████████████████████████████████████████████████████████████████████| 152/152 [00:08<00:00, 17.94it/s]
02-02 08:45:18 |  INFO  | bert_gen.py:85 | bert.pt is generated! total: 152 bert.pt files.
02-02 08:45:19 |SUCCESS | subprocess_utils.py:24 | Success: bert_gen.py --config Data\maid-gentle\config.json
02-02 08:45:19 |SUCCESS | webui_train.py:182 | Step 4: bert_gen finished.
02-02 08:45:19 |  INFO  | webui_train.py:187 | Step 5: start style_gen...
02-02 08:45:19 |  INFO  | subprocess_utils.py:11 | Running: style_gen.py --config Data\maid-gentle\config.json --num_processes 8
100%|████████████████████████████████████████████████████████████████████████████████| 152/152 [00:02<00:00, 72.48it/s]
02-02 08:45:27 |  INFO  | style_gen.py:77 | Finished generating style vectors! total: 152 npy files.
02-02 08:45:27 |SUCCESS | subprocess_utils.py:24 | Success: style_gen.py --config Data\maid-gentle\config.json --num_processes 8
02-02 08:45:27 |SUCCESS | webui_train.py:204 | Step 5: style_gen finished.
02-02 08:45:27 |SUCCESS | webui_train.py:237 | Success: All preprocess finished!
02-02 08:46:36 |  INFO  | subprocess_utils.py:11 | Running: train_ms.py --config Data\maid-gentle\config.json --model Data\maid-gentle
02-02 08:46:39 |  INFO  | train_ms.py:93 | Loading configuration from config 0
02-02 08:46:39 |  INFO  | train_ms.py:93 | Loading configuration from config localhost
02-02 08:46:39 |  INFO  | train_ms.py:93 | Loading configuration from config 10086
02-02 08:46:39 |  INFO  | train_ms.py:93 | Loading configuration from config 0
02-02 08:46:39 |  INFO  | train_ms.py:93 | Loading configuration from config 1
02-02 08:46:39 |  INFO  | train_ms.py:95 | Loading environment variables
MASTER_ADDR: localhost,
MASTER_PORT: 10086,
WORLD_SIZE: 1,
RANK: 0,
LOCAL_RANK: 0
02-02 08:46:40 | ERROR  | subprocess_utils.py:19 | Error: train_ms.py --config Data\maid-gentle\config.json --model Data\maid-gentle
Traceback (most recent call last):
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\train_ms.py", line 867, in <module>
    run()
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\train_ms.py", line 108, in run
    dist.init_process_group(
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\distributed\c10d_logger.py", line 86, in wrapper
    func_return = func(*args, **kwargs)
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\distributed\distributed_c10d.py", line 1177, in init_process_group
    store, rank, world_size = next(rendezvous_iterator)
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\distributed\rendezvous.py", line 246, in _env_rendezvous_handler
    store = _create_c10d_store(master_addr, master_port, rank, world_size, timeout, use_libuv)
  File "H:\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\distributed\rendezvous.py", line 174, in _create_c10d_store
    return TCPStore(
torch.distributed.DistNetworkError: Unknown error

02-02 08:46:40 | ERROR  | webui_train.py:254 | Train failed.

config.ymlとconfig.jsonの使い分け

  • 学習時等に使われる設定はconfig.ymlconfig.jsonの2つがある
  • 2つで同じような項目があったりして、どちらが使われているか等で混乱やバグの元
  • 個別の学習にはconfig.jsonのみを、どのモデルでも共通して使われる共通設定はconfig.ymlに統一したほうがいいのではないか?

二つ目のインスタンスが実行できない->dictを...

Running server_editor.py --inbroser
reading dict_data\user.dict_csv-d621e6ba-c5b8-41ba-b6ba-9d9ecaf1d7cb.tmp ... 5
emitting double-array: 100% |###########################################|

done!
Error: Failed to update dictionary.
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 146, in update_dict
    tmp_compiled_path.replace(compiled_dict_path)
  File "pathlib.py", line 1247, in replace
PermissionError: [WinError 5] アクセスが拒否されました。: 'dict_data\\user.dict_compiled-d621e6ba-c5b8-41ba-b6ba-9d9ecaf1d7cb.tmp' -> 'dict_data\\user.dic'
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\server_editor.py", line 45, in <module>
    from text.japanese import g2kata_tone, kata_tone2phone_tone, text_normalize
  File "C:\WorkSpace\Style-Bert-VITS2\text\japanese.py", line 21, in <module>
    update_dict()
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 154, in update_dict
    raise e
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 146, in update_dict
    tmp_compiled_path.replace(compiled_dict_path)
  File "pathlib.py", line 1247, in replace
PermissionError: [WinError 5] アクセスが拒否されました。: 'dict_data\\user.dict_compiled-d621e6ba-c5b8-41ba-b6ba-9d9ecaf1d7cb.tmp' -> 'dict_data\\user.dic'

アクセント調整機能について

style_error01

アクセント調整のチェックボックスをオンにしたままテキストを変更し、合成すると
アクセント指定が不正ですのエラーになります。
テキストとアクセントの齟齬のせいですが、アクセント文字列を再取得すべきなのと、
テキスト変更時には自動的にチェックボックスをオフにすべきでしょう。

そして、エラーが起きたときにボリューム設定がいちいちMAX値に戻ります。
フルボリュームをデフォルト値にしているようですが、環境によってはフルボリュームは耳をつんざく轟音になりますよ。設定したボリューム値を維持してください。

Errors in reading

There are a lot of errors when converting text into its reading.

Examples of problematic sentences:
そんな事を訊くなんて、まったく彼女らしくない。
自分の勘の良さに嗤ってしまう。
「誘おうと思ったんだけど教室行ったらもういなかったんだよ」
いやいや、オレはついこの間まで男だったヤツだぞ。
「人がいたりしてな」
正直あんな風にされるぐらいなら…………。
どういう風に変化ったのじゃ。
この方が、集中治療施設に移送された、と。

Implementation of a New Language

Hi, I see the approach Bert-VITS2 (which this fork apparently is based on) is taking is a bit different compared to other TTS models, especially other implementations of VITS2's paper. so I'm a bit confused about how to implement a new language except for the three already supported here.

Can you give me a rough summary of the pipeline for this purpose? I assume we need a Bert model, which is readily available( I assume, any Bert model, good at masked language modelling should suffice); and need to pre-train the TTS on roughly 200 hrs of data. but I'm very confused about the pre-processing steps. I usually use Bootphon's Phonemizer (with the espeak backend, I know it doesn't work well with Japanese, but so far it's about the only viable option for my language) but I also see there's a lot of pre-processings done to capture tones, especially for Japanese(which I am familiar with) and Chinese.

Can you guide me on this?

Anyway, Thanks in advance.

Can't run pre-process while editor.py running

Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 146, in update_dict
    tmp_compiled_path.replace(compiled_dict_path)
  File "pathlib.py", line 1247, in replace
PermissionError: [WinError 5] アクセスが拒否されました。: 'dict_data\\user.dict_compiled-55bbb6a0-47d1-46f4-b1b9-7bbfa713970c.tmp' -> 'dict_data\\user.dic'
Error: Failed to update dictionary.
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 146, in update_dict
    tmp_compiled_path.replace(compiled_dict_path)
  File "pathlib.py", line 1247, in replace
PermissionError: [WinError 5] アクセスが拒否されました。: 'dict_data\\user.dict_compiled-b1e14fd9-69ce-4651-bc17-7d7903d036e5.tmp' -> 'dict_data\\user.dic'
Error: Failed to update dictionary.
Traceback (most recent call last):
  File "C:\WorkSpace\Style-Bert-VITS2\text\user_dict\__init__.py", line 146, in update_dict
    tmp_compiled_path.replace(compiled_dict_path)
  File "pathlib.py", line 1247, in replace
PermissionError: [WinError 5] アクセスが拒否されました。: 'dict_data\\user.dict_compiled-8f15d5de-abde-413f-a02a-243a5b76e18a.tmp' -> 'dict_data\\user.dic'

Aborted!

02-26 16:50:33 | ERROR  | webui_train.py:197 | Step 3: preprocessing text failed.
Terminate batch job (Y/N)?

JP-Extraでバッチサイズ1で学習ができない

WavLMのところでバッチサイズ1のときのshapeがうまくあっていない様子

RuntimeError: Given groups=1, weight of size [512, 1, 10], expected input[1, 5945, 1] to have 1 channels, but got 5945 channels instead  

修正中です

UMAPからのDBSCANが分割されにくめ?

UMAPからのDBSCANが分割されにくめ

デフォ値からかなり値を下げないと分割されない印象。
3時間分くらいのそこそこ感情種類多めのデータで、eps<0.3からようやく(min_samplesはこれに関してはあまり寄与してなさそう。むしろeps小さい状態で増やすとスタイルも増える)

一度UIリロードしないと全部ノイズになる?

UMAP -> t-SNEにしてDBSCANし直すと必ず全部ノイズになる。リロードすると同じパラメータでも結果が変わる。

これはたまたまそうなった可能性が高そうで、再現性がないことも多いです。

「ん」の読みについてのバグ

「三円」等が「s a n e n」になるため、カタカナでのアクセント調整のところが「サネン」になり、また子音母音判定のところでエラーもたまに出る。

「ん」の音素表記がNでなくnなことから由来しているバグだが、現在の音素表記で解決できるのか……は謎

`server_fastapi.py`でのアクセント指定

WebUI上ではアクセント指定ができるが、まだAPI上には実装されていない。どういう形で実装するのが良いかはよくわからない(正解アクセントをリターンするエンドポイントも作る?)

[Question] How can I tune the pitch of generating voice?

I'm wondering how to tune the pitch of generating voice. As far as I know, for Style-Bert-VITS2, voice pitch can only be changed via training models with some datasets or merging models with one another. But if it isn't my misunderstanding, the original VITS models can tune voice pitch at inferring time, not only training time.

Is there any way to tune voice pitch at generating?

Language: JP で音声合成できない

試したこと

Style-Bert-VITS2をインストールして音声合成を実行しましたが、ERRORが発生しました。
下記バッチを試しましたが同じ結果でした。なお、ZHやENでは音声合成ができました。

  • Install-Style-Bert-VITS2-CPU.bat
  • Install-Style-Bert-VITS2.bat

image

聞きたいこと

エラーの原因を探りたいのですが、エラーログなどありましたら
ディレクトリ、ファイル名を教えて頂けませんか?
また、同様の事象を確認しているでしょうか?対応方法などありましたら教えてください。

補足事項

GPUは、Geforce GTX 1630(VRAM: 4GB)を使用しています。
EasyBertVits2ではVRAM:8GBが要件となっていますが、
Style-Bert-VITS2ではGPUの要件はありますでしょうか?問題の切り分けが出来ればと思います。

pyworldを使ったピッチ・抑揚調整機能

pyworldを使って、生成音声から手動でf0をいじって、音高や抑揚の大きさを調整する機能をつけようとしていたが、pyworldがCythonが必要っぽく、CビルドツールがWindowsだといる模様

分かる人には手動でpyworld入れてもらえばいいが、簡単インストールのことを考えると、実装をどうすればいいのかよくわからない

The latest librosa library is causing errors on Windows.

➜  Style-Bert-VITS2 on  master python resample.py --in_dir Data\test\raw --out_dir Data\test\wavs --num_processes 12 --sr 44100
  0%|                                                                                          | 0/308 [00:00<?, ?it/s]
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha
LLVM ERROR: Symbol not found: __svml_cosf8_ha

Fix

 .\venv\Scripts\activate
python -m pip uninstall librosa
python -m pip install librosa==0.9.2

スタイル・スタイルテキスト・感情スタイルの命名混同

現在、感情や声音を制御するものとして、

  • スタイルベクトルによる制御(プリセットから選ぶ or 音声から入力)
  • スタイルテキストによる制御(スタイルテキストを入力)

の2つがあり、基本的に前者を前提としているが、2つ同じような名前であるのは紛らわしいかもしれない。

スタイルテキストのほうは効果はあるはあるがデメリットも大きいので、廃止はしないにしても、もう少し良い名前にする?

あとAPIやapp.pyの内部コードのほうだと昔の名残でemotionという単語も残っている、これはスタイルベクトルによる制御の方をさすが、emotionとstyleという2つの単語があるのもちょっと混同するのでどうにかしたほうがいいかもしれない。

spk2id For Japanese Extra model

First of all, Thanks for providing this wonderful model.

Whenever I try to generate a config, it wouldn't add a spk2id no matter what (and it won't start training without one, naturally). I tried deleting everything and re-do it again, but no help. so I decided to manually add my own speaker id which I set it at number 0. is it ok to do that ? since I have no clue about the pre-trained speakers and It's usually best if I don't overwrite them.

Also I get these warnings, Should I worry? I downloaded your pre-trained models from HF, then converted them into safetensors with the notebook you provided here then put them in the dataset's models sub directory so it can be directly loaded.
these warning are the results of initiating a Single GPU training session, but I'm going to use the bash script in the fishaudio's repo for MultiGPU training. do you recommend that?

Thanks in advance. I appreciate your work.

02-06 07:00:21 |WARNING | utils.py:160 | Missing key: enc_p.style_proj.weight
02-06 07:00:21 |WARNING | utils.py:160 | Missing key: enc_p.style_proj.bias
02-06 07:00:21 |WARNING | utils.py:160 | Missing key: emb_g.weight
02-06 07:00:21 |  INFO  | utils.py:166 | Loaded 'Data/Saori/models/G_0.safetensors'
02-06 07:00:21 |  INFO  | utils.py:166 | Loaded 'Data/Saori/models/D_0.safetensors'
02-06 07:00:21 |  INFO  | utils.py:166 | Loaded 'Data/Saori/models/WD_0.safetensors'
02-06 07:00:21 |  INFO  | train_ms_jp_extra.py:402 | Loaded the pretrained models.
02-06 07:00:22 |  INFO  | train_ms_jp_extra.py:450 | Start training.
Epoch 1(4%)/100:   0%|                                                                                                                                 | 26/71100 [01:10<42:39:22,  2.16s/it]^CKeyboard interruption in main thread... closing server.
Epoch 1(4%)/100:   0%|                                                                                                                                 | 26/71100 [01:11<54:17:57,  2.75s/it]
02-06 07:01:37 | ERROR  | subprocess_utils.py:19 | Error: train_ms_jp_extra.py --config Data/Saori/config.json --model Data/Saori
Some weights of the model checkpoint at ./slm/wavlm-base-plus were not used when initializing WavLMModel: ['encoder.pos_conv_embed.conv.weight_g', 'encoder.pos_conv_embed.conv.weight_v']
- This IS expected if you are initializing WavLMModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing WavLMModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of WavLMModel were not initialized from the model checkpoint at ./slm/wavlm-base-plus and are newly initialized: ['encoder.pos_conv_embed.conv.parametrizations.weight.original0', 'encoder.pos_conv_embed.conv.parametrizations.weight.original1']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

Bert-VITS2 v2.3のサポート?

現在はこのフォークではv2.1を使っています。その理由は、比較実験の結果と個人の体感により、2.3よりも2.1のほうが学習が安定していろんなデータセットに対応できる気がするからです(2.3は音素間隔予測がちょっと怪しいし、gin_channelsが増えた悪影響で学習しきれていない印象を受ける)。

本家も、バージョンが上がるごとに質が上がっているとは一概に言えず、試行錯誤をしながらバージョンを上げて行っている気がします。なので一概に2.3が2.1の上位互換とは言えず、逆に2.1が2.3よりも必ず学習が安定して質が高いとも言い切れません。

ただこれは個人の感想であり、人によってはv2.3を使いたい人がいるかもしれないので、2.3の構造にスタイルベクトルを追加することが方向性としてありえます。

(個人的にはv2.1のほうが質がよいと思っているのであまり2.3対応のモチベがありません、どなたか手伝ってくださると助かります)

書き起こし:Whisper Large-v3 only can use 4GB VRAM

Hi.
My graphic card is 4070tis with 16GB VRAM. When I am doing「書き起こし」by Whisper Large-v3, it only allow using 4GB VRAM.
If the data set is large, (around 2000 files), it sometime will become very slow.
Is this normal or a bug?

torch.hub.load error

image

Error: Downloading: "https://github.com/snakers4/silero-vad/zipball/master" to C:\Users\L/.cache\torch\hub\master.zip
Traceback (most recent call last):
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\slice.py", line 13, in <module>
    vad_model, utils = torch.hub.load(
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 563, in load
    repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, trust_repo, "load",
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 257, in _get_cache_or_reload
    with zipfile.ZipFile(cached_file) as cached_zipfile:
  File "zipfile.py", line 1269, in __init__
  File "zipfile.py", line 1336, in _RealGetContents
zipfile.BadZipFile: File is not a zip file
Error: Traceback (most recent call last):
  File "urllib\request.py", line 1348, in do_open
  File "http\client.py", line 1283, in request
  File "http\client.py", line 1329, in _send_request
  File "http\client.py", line 1278, in endheaders
  File "http\client.py", line 1038, in _send_output
  File "http\client.py", line 976, in send
  File "http\client.py", line 1455, in connect
  File "ssl.py", line 513, in wrap_socket
  File "ssl.py", line 1071, in _create
  File "ssl.py", line 1342, in do_handshake
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\slice.py", line 13, in <module>
    vad_model, utils = torch.hub.load(
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 563, in load
    repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, trust_repo, "load",
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 230, in _get_cache_or_reload
    _validate_not_a_forked_repo(repo_owner, repo_name, ref)
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 189, in _validate_not_a_forked_repo
    response = json.loads(_read_url(Request(url, headers=headers)))
  File "F:\LSX_HOME\stylebertinstall\Style-Bert-VITS2\Style-Bert-VITS2\venv\lib\site-packages\torch\hub.py", line 172, in _read_url
    with urlopen(url) as r:
  File "urllib\request.py", line 216, in urlopen
  File "urllib\request.py", line 519, in open
  File "urllib\request.py", line 536, in _open
  File "urllib\request.py", line 496, in _call_chain
  File "urllib\request.py", line 1391, in https_open
  File "urllib\request.py", line 1351, in do_open
urllib.error.URLError: <urlopen error [Errno 2] No such file or directory>

こんにちは -> こんにちわの問題点

初めまして。Style-Bert-VITS2は感情豊かに話せて面白いと思います。
触っていて気になったことがあるのでご報告。

「こんにちは」の発音は「こんにち」になるわけですが、語尾を伸ばそうとして
「こんにちはぁぁ」と書くと、「こんにちハァァ」になってしまいます。
おそらく単語区切りの影響でしょうけど。
そこで応急処置的に直してみました。

japanese.pyreplace_punctuation 関数の冒頭に以下を追加します。

    # 挨拶
    text = text.replace("こんにちは", "こんにちわ").replace("こんばんは", "こんばんわ")

    # 一人称、二人称
    text = text.replace("わたしは", "わたしわ").replace("わたくしは", "わたくしわ")
    text = text.replace("あたしは", "あたしわ").replace("あたくしは", "あたくしわ")
    text = text.replace("あたいは", "あたいわ").replace("あっしは", "あっしわ")
    text = text.replace("ぼくは", "ぼくわ").replace("おれは", "おれわ")
    text = text.replace("あなたは", "あなたわ").replace("きみは", "きみわ")
    text = text.replace("おまえは", "おまえわ").replace("おめえは", "おめえわ")
    text = text.replace("てめえは", "てめえわ").replace("きさまは", "きさまわ")

    # 複数形
    text = text.replace("わたしたちは", "わたしたちわ").replace("わたくしたちは", "わたくしたちわ")
    text = text.replace("わたしどもは", "わたしどもわ").replace("わたくしどもは", "わたくしどもわ")
    text = text.replace("あたしたちは", "あたしたちわ").replace("あたくしたちは", "あたくしたちわ")
    text = text.replace("あたしらは", "あたしらわ").replace("うちらは", "うちらわ")
    text = text.replace("ぼくたちは", "ぼくたちわ").replace("ぼくらは", "ぼくらわ")
    text = text.replace("おれたちは", "おれたちわ").replace("おれらは", "おれらわ")
    text = text.replace("あなたたちは", "あなたたちわ").replace("あなたがたは", "あなたがたわ")
    text = text.replace("きみたちは", "きみたちわ").replace("きみらは", "きみらわ")
    text = text.replace("おまえたちは", "おまえたちわ").replace("おまえらは", "おまえらわ")
    text = text.replace("てめえらは", "てめえらわ").replace("きさまらは", "きさまらわ")

    # 「こそあど」言葉
    text = text.replace("ここへ", "ここえ").replace("そこへ", "そこえ")
    text = text.replace("どこへ", "どこえ")
    text = text.replace("こっちへ", "こっちえ").replace("そっちへ", "そっちえ")
    text = text.replace("あっちへ", "あっちえ").replace("どっちへ", "どっちえ")
    text = text.replace("こちらへ", "こちらえ").replace("そちらへ", "そちらえ")
    text = text.replace("あちらへ", "あちらえ").replace("どちらへ", "どちらえ")
    text = text.replace("ここは", "ここわ").replace("そこは", "そこわ")
    text = text.replace("これは", "これわ").replace("それは", "それわ")
    text = text.replace("あれは", "あれわ").replace("そうは", "そおわ")

これで は -> わ 、へ -> え の変換はだいたいできると思います。

もっとスマートな解決法がきっとあるでしょうけど。あくまで応急処置です。

Style vectorがNaNの場合の対処

偶にStyle vectorの取得結果がNaNになることがある。その場合の例外処理を全くしていなかったので対処が必要。

DatasetからTranscribe.pyを呼び出した後の終了エラー

なぜかwebui_dataset.pyから書き起こしでtranscribe.pyを呼び出すと、正常に終わってもその終了コードがエラーになって、ターミナル等にもエラー表示で呼び出し元に戻ってくる。悪影響はないがどうにかしたいが原因は分からない。

使用数据切片,发生错误onnxruntime

Error: Using cache found in /root/.cache/torch/hub/snakers4_silero-vad_master
2024-01-31 06:23:06.615645952 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '131'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615680539 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '136'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615688460 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '139'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615694469 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '140'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615700718 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '134'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615802512 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '628'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615813407 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '623'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615821532 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '629'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615827324 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '620'. It is not used by any node and should be removed from the model.
2024-01-31 06:23:06.615835042 [W:onnxruntime:, graph.cc:3553 CleanUnusedInitializersAndNodeArgs] Removing initializer '625'. It is not used by any node and should be removed from the model.
Traceback (most recent call last):

Style.batエラー

Style.batを起動してスタイルベクトルの作成UIのモデル名を入力してスタイルベクトルを読み込むを押しても
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'Data\○○○○\wavs'と出てデータを読み込んでくれませんデータはちゃんとStyle-Bert-VITS2\Dataフォルダに入っています。自己解決しました。先に学習前処理が必要だったのですね。

What's the benefits of this model?

Hello, thank you for your incredible work! I'm curious about how this model compares to other state-of-the-art models such as StyleTTS2 or Tortoise TTS.
Unfortunately, I couldn't find the original paper, and most resources are in Japanese/Chinese TT, making it challenging for me to gather information.

Questions about Korean models

Hello 'litagin02',

I hope this message finds you well. I am currently working on implementing and training the Style-Bert-VITS2 in Korean, using 'fishaudio's Bert-VITS2 repository as a basis. However, due to the lack of specific information on the Korean adaptation, I am unsure if my approach is correct.

I understand that the Style-Bert-VITS2 utilizes the pre-trained model from Bert-VITS2. My query pertains to the meaning of 'emo-related key in G_0 deleted.' Specifically, I am uncertain whether this implies that the training of Bert-VITS2 should exclude emotion-related content or if it involves training with emotion aspects and then omitting the emotion-related key during loading.

Additionally, I am curious about the extent to which the pre-trained model should be trained for optimal results.

Your insights on these matters would be greatly appreciated. Thank you for your time and assistance. Wishing you a pleasant day.

Best regards.

英語と**語の発音悪くね?

**語は韓国語のように...そう聞こえてしまったことがある。
英語もまたなんか、複雑な単語(例:individualなど)だと発音がやばい

学習再開時のstyle_vectors.npyの上書き

問題点

  • 現在の学習プロセスは、再開してもしなくても、最初に必ずNeutralのstyle_vectors.npyを作る処理が走る。
  • もし学習中や途中まで学習した後でスタイルを手動で作り、そして学習を追加で重ねると、それが上書きされてしまう

案?

  • train_ms.pyの引数としてNeutralを作るかどうかのフラグを作る?
  • Neutralを作る場所をtrain_ms.pyの最初ではなくする?

Value error: Unexpected phone: u

``
スクリーンショット 2024-02-09 214908

外部リンク

神経科学の立場からの解説
02-09 21:42:06 | INFO | infer.py:28 | Using normal model
c:\WorkSpace\Style-Bert-VITS2\venv\lib\site-packages\torch\nn\utils\weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.
warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.")
02-09 21:42:07 | INFO | utils.py:168 | Loaded 'model_assets\tukuyomi\tsukuyomi-chan_e154_s4000.safetensors' (iteration 154)
c:\WorkSpace\Style-Bert-VITS2\venv\lib\site-packages\torch_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
return self.fget.get(instance, owner)()
WARNING: JPCommonLabel_insert_pause() in jpcommon_label.c: First mora should not be short pause.
WARNING: JPCommonLabel_push_word() in jpcommon_label.c: First mora should not be long vowel symbol.
02-09 21:42:28 | DEBUG | japanese.py:529 | phones: ['u', 'g', 'o', 'w', 'a', ',', 'h', 'i', 'N', 'd', 'u', 's', 'u', 't', 'a', 'a', 'n', 'i', 'i', 'g', 'o', 't', 'o', 'sh', 'i', 't', 'e', 'd', 'o', 'o', 'i', 'ts', 'u', 'g', 'e', 'N', 'g', 'o', 'm', 'a', 't', 'a', 'w', 'a', 'h', 'o', 'o', 'g', 'e', 'N', 'r', 'e', 'N', 'z', 'o', 'k', 'u', 't', 'a', 'i', 't', 'o', 'sh', 'i', 't', 'e', 'a', 'ts', 'u', 'k', 'a', 'w', 'a', 'r', 'e', 'r', 'u', 'k', 'o', 't', 'o', 'g', 'a', 'a', 'r', 'u']
02-09 21:42:28 | DEBUG | japanese.py:530 | phone_tone_list: [('g', 1), ('o', 1), ('w', 0), ('a', 0), ('h', 0), ('i', 0), ('N', 1), ('d', 1), ('u', 1), ('s', 1), ('u', 1), ('t', 1), ('a', 1), ('a', 1), ('n', 1), ('i', 1), ('i', 1), ('g',
0), ('o', 0), ('t', 0), ('o', 0), ('sh', 0), ('i', 0), ('t', 1), ('e', 1), ('d', 0), ('o', 0), ('o', 1), ('i', 1), ('ts', 1), ('u', 1), ('g', 1), ('e', 1), ('N', 0), ('g', 0), ('o', 0), ('m', 0), ('a', 0), ('t', 1), ('a', 1), ('w', 0), ('a', 0), ('h', 0), ('o', 0), ('o', 1), ('g', 1), ('e', 1), ('N', 1), ('r', 1), ('e', 1), ('N', 1), ('z', 1), ('o', 1), ('k', 1), ('u', 1), ('t', 1), ('a', 1), ('i', 0), ('t', 0), ('o', 0), ('sh', 0), ('i', 0), ('t', 1), ('e', 1), ('a', 0), ('ts', 1), ('u', 1), ('k', 1), ('a', 1), ('w', 1), ('a', 1), ('r', 1), ('e', 1), ('r', 1), ('u', 1), ('k', 0), ('o', 0), ('t', 1), ('o', 1), ('g', 0), ('a', 0), ('a', 1), ('r', 0), ('u', 0)]
02-09 21:42:28 | DEBUG | japanese.py:531 | result: []
02-09 21:42:28 | DEBUG | japanese.py:532 | tone_index: 0
02-09 21:42:28 | DEBUG | japanese.py:533 | phone: u
02-09 21:42:28 | ERROR | app.py:115 | Value error: Unexpected phone: u
02-09 21:43:21 | INFO | tts_model.py:101 | Start generating audio data from text:
ドンドン説
音響から自然物に関する語が出来たもの

ピカッ!ゴロゴロからかみなりライ、ザーッからみずスイなど

エイヤコーラ説
かけ声から行動に関する語が出来たもの

停止を促す声からとまるテイ、働く時の声からはたらくロウなど

この説は、集団行動をとる時の意味の無いはやし歌が、世界各地に残っている事からも裏付けられる

なお、言語が生まれたのが地球上の一ヶ所なのか、複数ヶ所なのかも分かっていない

生物学的な観点から言語の起源を探ろうという試みもある
最近の分子生物学的研究によれば、2と名づけられている遺伝子に生じたある種の変異が言語能力の獲得につながった可能性がある
さらにその変異は現生人類とネアンデルタール人が分化する以前の3040万年前にはすでに生じていたとの解析結果が発表されており
、現生人類が登場とともに既に言語を身につけていた可能性も考えられる
しかし2は言語能力を有しない他の動物の多くが持っていること、2の変異が言語能力の獲得の必要条件であるとの直接的な証明はま
だなされていないことなどに留意する必要がある

変化

生物の場合には、進化が止まった生物が現在も生き残っている生きている化石と呼ばれるものがある
また、一見似ている2種類が全然別の種類から進化していたというケースもある
言語にも同じような現象が起きており、その変化の速度は一定ではなく、**交易移動等他民族との接触が多ければ、その時言語も
大きく変化する
代表例として英語、フランス語、ルーマニア語、アルバニア語、アルメニア語等がある
逆に接触が少ないとほとんど変化しなくなる
代表例としてドイツ語、アイスランド語、ギリシャ語、スラヴ語派、バルト語派、サンスクリット語等があり、特にアイスランド語
は基本文法が1000年前とほとんど変っていない

言語はもともといくつかの祖語から分化したと考えられており、同一の祖語から発生したグループを語族と呼ぶ
語族はさらに語派、語群、そして言語と細分化されていく
世界の大多数の言語はなんらかの語族に属するが、なかには現存する他の言語と系統関係が立証されておらず、語族に分類できない
孤立した言語も存在する
また、地理文化的に近接する異なった系統の言語が相互に影響しあい顕著に類似する事例も見られ、これは言語連合と呼ばれる

同一語族に属する言語群の場合、共通語彙から言語の分化した年代を割り出す方法も考案されている

一つの言語の言語史を作る場合、単語綴り発音文法等から古代中世近代と3分割し、例えば中世フランス語等と呼ぶ

ある言語と他の言語が接触した場合、両言語の話者の交流が深まるにつれて様々な変化が発生する
これを言語接触という
言語接触によって、両言語には相手の言語から語彙を借用した借用語が発生するほか、交流が深まるにつれて商業や生活上の必要か
ら混成言語が発生することがある
この混成言語は、初期にはピジン言語と呼ばれる非常に簡略化された形をとるが、やがて語彙が増え言語として成長してくると、『
クレオール言語という新しい言語となった』と見なす
クレオール言語はピジン言語と比べ語彙も多く、何よりきちんと体系だった文法が存在しており、一個の独立した言語と見なして全
く差し支えない
クレオール言語はピジン言語と違い、母語話者が存在する、つまり幼いころから主にその言語を話して育った人々がいる、というこ
とも特徴である

中世の世界においてはしばしば、文語と日常使用する言語との間には隔たりがみられ、なかには中世ヨーロッパにおけるラテン語の
ようにその土地の言葉と全く異なる言語を文章語として採用している世界も存在した
ラテン語は欧州において知識人の間の共通語として用いられ、ルネサンスなどで大きな役割を果たしたが、やがて印刷術の発展や宗
教改革などによって各国において使用される日常言語が文語として用いられるようになった
この際、それまで方言の連続体しか持たなかった各国において、その言語を筆記する標準的な表記法が定まっていき、各国において
国内共通語としての標準語が制定されるようになった
これは出版物などによって徐々に定まっていくものもあれば、**に公的な言語統制機関を置いて国家主導で標準語を制定するもの
もあったが、いずれにせよこうした言語の整備と国内共通語の成立は、国民国家を成立させるうえでの重要なピースとなっていった
一方で、標準語の制定は方言連続体のその他の言語を方言とすることになり、言語内での序列をつけることにつながった

最も新しい言語であり、また誕生する瞬間がとらえられた言語としては、ニカラグアの子供達の間で1970年代後半に発生したニカラ
グア手話がある
これは、言語能力は人間に生得のものであるという考えを裏付けるものとなった

世界の言語

現在世界に存在する言語の数は千数百とも数千とも言われる
1939年にアメリカのルイスハーバートグレイは著書において2796言語と唱え、1979年にドイツのマイヤーが4200から5600言語と唱え
ており、三省堂の言語学大辞典世界言語編では8000超の言語を扱っている

しかし、正確に数えることはほぼ不可能である
これは、未発見の言語や、消滅しつつある言語があるためだけではなく、原理的な困難があるためでもある
似ているが同じではない言語が隣り合って存在しているとき、それは一つの言語なのか別の言語なのか区別することは難しい
これはある人間集団を言語の話者とするか方言の話者とするかの問題でもある
たとえば、旧ユーゴスラビアに属していたセルビア、クロアチア、ボスニアヘルツェゴビナ、モンテネグロの4地域の言語は非常に似
通ったものであり、学術的には方言連続体であるセルビアクロアチア語として扱われる
また旧ユーゴスラビアの政治上においても国家統一の観点上、これらの言語は同一言語として扱われていた
しかし1991年からのユーゴスラビア紛争によってユーゴスラビアが崩壊すると、独立した各国は各地方の方言をそれぞれ独立言語と
して扱うようになり、セルビア語、クロアチア語、ボスニア語の三言語に政治的に分けられるようになった
さらに2006年にモンテネグロがセルビアモンテネグロから独立すると、モンテネグロ語がセルビア語からさらに分けられるようにな
った
こうした、明確な標準語を持たず複数の言語中心を持つ言語のことを複数中心地言語と呼び、英語などもこれに含まれる

逆に、**においては北京語やそれを元に成立した普通話と、上海語や広東語といった遠隔地の言語とは差異が大きく会話が成立し
ないほどであるが、書き言葉は共通であり、またあくまでも**語群には属していて対応関係が明確であるため、これら言語はすべ
て**語内の方言として扱われている

同じ言語かどうかを判定する基準として、相互理解性を提唱する考えがある
話者が相手の言うことを理解できる場合には、同一言語、理解できない場合には別言語とする
相互理解性は言語間の距離を伝える重要な情報であるが、これによって一つの言語の範囲を確定しようとすると、技術的難しさにと
どまらない困難に直面する
一つは、の言うことをが聞き取れても、の言うことをが聞き取れないような言語差があることである
もう一つは、同系列の言語が地理的な広がりの中で徐々に変化している場合に、どこで、いくつに分割すべきなのか、あるいはまっ
たく分割すべきでないのかを決められないことである

こうした困難に際しても、単一の基準を決めて分類していくことは、理屈の上では可能である
しかしあえて単一基準を押し通す言語学者は現実にはいない
ある集団を言語話者とするか方言話者とするかには、政治的文化的アイデンティティの問題が深く関係している
どのような基準を設けようと、ある地域で多くの賛成を得られる分類基準は、別の地域で強い反発を受けることになる
そうした反発は誤りだと言うための論拠を言語学はもっていないので、結局は慣習に従って、地域ごとに異なる基準を用いて分類す
ることになる

言語と方言の区別について、現在なされる説明は二つである
第一は、言語と方言の区別にはなんら言語学的意味はないとする
第二のものはまず、どの方言もそれぞれ言語だとする
その上で、ある標準語に対して非標準語の関係にある同系言語を、方言とする
標準語の選定は政治によるから、これもまた言語と方言の区別に言語学的意味はないとする点で、第一と同じである
この定義では、言語を秤にかけて判定しているのではなく、人々がその言語をどう思っているかを秤にかけているのである

ある言語同士が独立の言語同士なのか、同じ言語の方言同士なのかの判定は非常に恣意的であるが、その一方で、明確に系統関係が
異なる言語同士は、たとえ共通の集団で話されていても、方言同士とはみなされないという事実も有る
たとえば、**甘粛省に住む少数民族ユーグ族は西部に住むものはテュルク系の言語を母語とし、東部に住むものはモンゴル系の言
語を母語としている
両者は同じ民族だという意識があるが、その言語は方言同士ではなく、西部ユーグ語、東部ユーグ語と別々の言語として扱われる
また海南島にすむ臨高人も民族籍上は漢民族であるが、その言語は漢語の方言としては扱われず、系統どおりタイカダイ語族の臨高
語として扱われる

使用する文字は同言語かどうかの判断基準としてはあまり用いられない
言語は基本的にどの文字でも表記可能なものであり、ある言語が使用する文字を変更することや二種以上の文字を併用することは珍
しいことではなく、また文法などに文字はさほど影響を与えないためである
デーヴァナーガリー文字を用いるインドの公用語であるヒンディー語とウルドゥー文字を用いるパキスタンの公用語であるウルドゥ
ー語は、ヒンドゥスターニー語として同一言語または方言連続体として扱われることがある

話者数の統計順位

母語話者統計で見た話者数

下表の母語話者数および分類は、『エスノローグ第21版』に準拠する
同資料は2021年時点の推計で、**語は13方言、アラビア語は20方言、ラフンダー語は4方言の合計である

母語話者数と総話者数の差
上図の通り、最も母語話者の多い言語は**語であるが、公用語としている国家は中華人民共和国と中華民国、それにシンガポール
の3つの国家にすぎず、世界において広く使用されている言語というわけではない
また、共通語である普通話を含め13個の方言が存在する

上記の資料で話者数2位の言語はスペイン語である
これはヨーロッパ大陸のスペインを発祥とする言語であるが、17世紀のスペインによる新大陸の植民地化を経て、南アメリカおよび
北アメリカ南部における広大な言語圏を獲得した
2021年度においてスペイン語を公用語とする国々は21カ国にのぼる
さらにほぼ同系統の言語である5位のポルトガル語圏を合わせた新大陸の領域はラテンアメリカと呼ばれ、広大な共通言語圏を形成し
ている

上記の資料で英語の話者人口は4位だが、公用語としては55か国と最も多くの国で話されている
さらに、英語はアメリカ合衆国やイギリスの公用語であるため世界で広く重要視されている
世界の一体化に伴い研究やビジネスなども英語で行われる場面が増え、非英語圏どうしの住民の交渉においても共通語として英語を
使用する場合があるなど、英語の世界共通語としての影響力は増大していく傾向にある

英語に次ぐ国際語としては、17世紀から19世紀まで西洋で最も有力な国際語であったフランス語が挙げられる
フランス語の話者は2億3000万人とトップ5にも入らないが、フランス語を公用語とする国々はアフリカの旧フランス植民地を中心に29カ国にのぼる

話者数7位のアラビア語も広い共通言語圏を持つ言語である
アラビア語はクルアーンの言語としてイスラム圏全域に使用者がおり、とくに北アフリカから中東にかけて母語話者が多いが、公用
語とする国々は23カ国にのぼっていて、ひとつのアラブ文化圏を形成している
ただしこれも文語であるフスハーと口語であるアーンミーヤに分かれており、アーンミーヤはさらに多数の方言にわかれている

国連の公用語は、英語、フランス語、ロシア語、**語、スペイン語、アラビア語の6つであるが、これは安全保障理事会の常任理事
国の言語に、広大な共通言語圏を持つスペイン語とアラビア語を加えたものである

言語と国家
言語は国家を成立させるうえでの重要な要素であり、カナダにおける英語とフランス語や、ベルギーにおけるオランダ語とフランス
語のように、異なる言語間の対立がしばしば言語戦争と呼ばれるほどに激化して独立問題に発展し、国家に大きな影響を及ぼすこと
も珍しくない
東パキスタンのように、西パキスタンの言語であるウルドゥー語の公用語化に反発してベンガル語を同格の国語とすることを求めた
ことから独立**が起き、最終的にバングラデシュとして独立したような例もある

こうした場合、言語圏別に大きな自治権を与えたり、国家の公用語を複数制定したりすることなどによって少数派言語話者の不満を
なだめる政策はよく用いられる
言語圏に強い自治権を与える典型例はベルギーで、同国では1970年に言語共同体が設立され、数度の変更を経てフラマン語共同体、
フランス語共同体、ドイツ語共同体の3つの言語共同体の併存する連邦国家となった
公用語を複数制定する例ではスイスが典型的であり、それまでドイツ語のみであった公用語が1848年の憲法によってドイツ語フラン
ス語イタリア語の三公用語制となり、さらに1938年にはロマンシュ語が国語とされた
この傾向が特に強いのはインドであり、1956年以降それまでの地理的な区分から同系統の言語を用いる地域へと州を再編する、いわ
ゆる言語州政策を取っている

公用語、共通語、民族語

国家における言語の構造は、公用語共通語民族語の三層の構造からなっている
もっとも、公用語と共通語、また三層すべてが同じ言語である場合はその分だけ層の数は減少する

日本を例にとれば、各地方ではその地方の方言を使っている
つまり、同じ地方のコミュニティ内で通用する言語を使用している
これが他地方から来た人を相手にする場合となると、いわゆる標準語を使用することとなる
日本では他に有力な言語集団が存在しないため、政府関係の文書にも日本標準語がそのまま使用される
つまり、共通語と公用語が同一であるため、公用語方言の二層構造となっている

公用語と共通語は分離していない国家も多いが、アフリカ大陸の諸国家においてはこの三層構造が明確にあらわれている
これらの国においては、政府関係の公用語は旧宗主国の言語が使用されている
学校教育もこの言語で行われるが、民族語とかけ離れた存在であることもあり国民の中で使用できる層はさほど多くない
この穴を埋めるために、各地域においては共通語が話されている
首都がある地域の共通語が強大化し、国の大部分を覆うようになることも珍しくない
しかし文法の整備などの遅れや、国内他言語話者の反対、公用語の使用能力がエリート層の権力の源泉となっているなどの事情によ
って、共通語が公用語化はされないことがほとんどである
その下に各民族の民族語が存在する

言語の生物学
詳細は心理言語学及び、神経言語学を参照

言語機能は基本的にヒトに固有のものであるため、言語の研究には少数の例外を除き動物モデルを作りにくい
そのため、脳梗塞などで脳の局所が破壊された症例での研究や、被験者に2つの単語を呈示しその干渉効果を研究するなどの心理学的
研究が主になされてきたが、1980年代後半より脳機能イメージング研究が手法に加わり、被験者がさまざまな言語課題を行っている
ときの脳活動を視覚化できるようになった

言語に関する脳の領域
古典的なブローカ領域、ウェルニッケ領域のほか、シルヴィウス裂を囲む広い範囲にわたっている
脳梗塞などで各部が損傷されると、それぞれ違ったタイプの失語が出現する
例えば左前頭前野付近の損傷で生じるブローカ失語は**失語であり、自発語は非流暢性となり復唱、書字も障害される
左側頭葉付近の障害で生じるウェルニッケ失語は感覚失語であり自発語は流暢であるが、言語理解や復唱が障害され、文字による言
語理解も不良である

ほとんどの右利きの人では、単語、文法、語彙などの主要な言語機能は左半球優位である
しかし声の抑揚の把握、比喩の理解については右半球優位であると言われている

文字の認識には左紡錘状回、中下後頭回が関与するが、漢字とひらがなで活動する部位が異なると言われている

ヒトの発達における言語機能の獲得
これも多方面から研究されている
個人の言語能力は、読字障害、ウィリアムズ症候群、自閉症などのように全体的な知的能力とは乖離することがあり、個体発生やヒ
トの進化における言語の起源などにヒントを与えている
また、ヒトは環境の中で聴取する音声から自力で文法などの規則を見出し学習する機能を生得的に備えているため、特に教わらなく
ても言語を学習できるとする生得論という考えも存在する

最近の近赤外線分光法を用いた研究において、生後2から5日の新生児が逆再生よりも順再生の声を聞いたほうが、あるいは外国語よ
り母国語を聞いたときの方が聴覚皮質の血流増加が大きかったと報告されており、出産前から母体内で言語を聴いていることが示唆
される

脚注

注釈

出典

関連項目
言語を含む記事名の一覧
言葉
言語学
理論言語学社会言語学社会言語学音声学
歴史言語学歴史言語学
応用言語学
個別言語学
言語力
言葉遊び
言語聴覚療法

外部リンク

神経科学の立場からの解説
WARNING: JPCommonLabel_insert_pause() in jpcommon_label.c: First mora should not be short pause.
WARNING: JPCommonLabel_push_word() in jpcommon_label.c: First mora should not be long vowel symbol.
02-09 21:43:44 | DEBUG | japanese.py:529 | phones: ['u', 'g', 'o', 'w', 'a', ',', 'h', 'i', 'N', 'd', 'u', 's', 'u', 't', 'a', 'a', 'n', 'i', 'i', 'g', 'o', 't', 'o', 'sh', 'i', 't', 'e', 'd', 'o', 'o', 'i', 'ts', 'u', 'g', 'e', 'N', 'g', 'o', 'm', 'a', 't', 'a', 'w', 'a', 'h', 'o', 'o', 'g', 'e', 'N', 'r', 'e', 'N', 'z', 'o', 'k', 'u', 't', 'a', 'i', 't', 'o', 'sh', 'i', 't', 'e', 'a', 'ts', 'u', 'k', 'a', 'w', 'a', 'r', 'e', 'r', 'u', 'k', 'o', 't', 'o', 'g', 'a', 'a', 'r', 'u']
02-09 21:43:44 | DEBUG | japanese.py:530 | phone_tone_list: [('g', 1), ('o', 1), ('w', 0), ('a', 0), ('h', 0), ('i', 0), ('N', 1), ('d', 1), ('u', 1), ('s', 1), ('u', 1), ('t', 1), ('a', 1), ('a', 1), ('n', 1), ('i', 1), ('i', 1), ('g',
0), ('o', 0), ('t', 0), ('o', 0), ('sh', 0), ('i', 0), ('t', 1), ('e', 1), ('d', 0), ('o', 0), ('o', 1), ('i', 1), ('ts', 1), ('u', 1), ('g', 1), ('e', 1), ('N', 0), ('g', 0), ('o', 0), ('m', 0), ('a', 0), ('t', 1), ('a', 1), ('w', 0), ('a', 0), ('h', 0), ('o', 0), ('o', 1), ('g', 1), ('e', 1), ('N', 1), ('r', 1), ('e', 1), ('N', 1), ('z', 1), ('o', 1), ('k', 1), ('u', 1), ('t', 1), ('a', 1), ('i', 0), ('t', 0), ('o', 0), ('sh', 0), ('i', 0), ('t', 1), ('e', 1), ('a', 0), ('ts', 1), ('u', 1), ('k', 1), ('a', 1), ('w', 1), ('a', 1), ('r', 1), ('e', 1), ('r', 1), ('u', 1), ('k', 0), ('o', 0), ('t', 1), ('o', 1), ('g', 0), ('a', 0), ('a', 1), ('r', 0), ('u', 0)]
02-09 21:43:44 | DEBUG | japanese.py:531 | result: []
02-09 21:43:44 | DEBUG | japanese.py:532 | tone_index: 0
02-09 21:43:44 | DEBUG | japanese.py:533 | phone: u
02-09 21:43:44 | ERROR | app.py:115 | Value error: Unexpected phone: u

server_fastapi.py を実行した際に発生するエラーについて

エラー内容

通常のwebUIの起動や推論、学習は正常に行うことが出来ましたが、
server_fastapi.pyを実行した場合、HParams オブジェクトに spk2id 属性がないというエラーが出ます。

エラーログ

(venv) D:\free_soft\Style-Bert-VITS2>python server_fastapi.py
01-16 21:44:49 | INFO | server_fastapi.py:85 | Loading models...
D:\free_soft\Style-Bert-VITS2\venv\lib\site-packages\torch\nn\utils\weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.
warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.")
01-16 21:44:52 | INFO | utils.py:168 | Loaded 'model_assets\jvnv-F1\jvnv-F1.safetensors' (iteration 198)
01-16 21:44:55 | INFO | utils.py:168 | Loaded 'model_assets\jvnv-F2\jvnv-F2.safetensors' (iteration 151)
01-16 21:44:57 | INFO | utils.py:168 | Loaded 'model_assets\jvnv-M1\jvnv-M1.safetensors' (iteration 239)
01-16 21:45:00 | INFO | utils.py:168 | Loaded 'model_assets\jvnv-M2\jvnv-M2.safetensors' (iteration 169)
Traceback (most recent call last):
File "D:\free_soft\Style-Bert-VITS2\server_fastapi.py", line 86, in
load_models(model_holder)
File "D:\free_soft\Style-Bert-VITS2\server_fastapi.py", line 54, in load_models
model = Model(
File "D:\free_soft\Style-Bert-VITS2\common\tts_model.py", line 36, in init
self.spk2id: Dict[str, int] = self.hps.data.spk2id
AttributeError: 'HParams' object has no attribute 'spk2id'

実行環境

python 3.10.9
windows 10

torch 2.1.2+cu118
torch-audiomentations 0.11.0
torch-pitch-shift 1.2.4
torchaudio 2.1.2+cu118
torchmetrics 1.3.0
torchvision 0.16.2+cu118

Google Colabで動かすことはできますか?

すごく便利なツールをありがとうございます!macを使っていて、parallelsの仮想windows環境で動かしてみたんですが、音声の精度の高さに驚いています。スペックの関係もあってgoogle colabとかで動かせると便利だなと思ったんですが、非エンジニアのど素人なものでなかなかうまくできず… もしcolabでも動かせそうだったらやり方教えていただけると大変ありがたいです!

`server_fastapi.py`起動時に全てのモデルをロードしようとして遅い・重い

現状ではデフォルトでは全てのmodel_assetsのなかのモデルをGPU上にロードしようとするため、メモリがどんどん食われて起動時間もかかり、CUDA out of memoryが出たりする。

サーバーの振る舞いをどうにかしたほうがよさそう(app.py側みたいに、初期は何もロードせず、音声合成がリクエストされたときに初めてロードされるような振る舞いに変える?)

日本語変換の読み修正・辞書の使用・ユーザー辞書実装

現在の日本語の読み変換はpyopenjtalk(OpenJTalk)のものをそのまま使っていますが、誤りがたびたび起こりエラーになることがよく報告されています。

問題点:

  • 学習時:自動書き起こしを使った場合特に、不自然な日本語や変な漢字の使用や微妙な書き起こしが生成されることがあり、テキストの前処理段階でそれはエラーになる
  • 生成時:読んで欲しい読み方とは違う読み方をされたり、読みが分からずエラーになる

あったらいいもの:

  1. 生成時に、現在のアクセント修正のように読みも修正・指定できるようにしたい
  2. そもそもpyopenjtalkの最新GitHub版ではユーザー辞書機能が実装されているので、公開されている大きい辞書や、またユーザーが単語登録csv等を作ることにより、pyopenjtalkに読みを与えることができる

困難・めんどくささ:

  1. について。コード上原理的には読み修正は簡単にできるが、WebUI上でいい感じにやるデザインが分からない(そもそも現在のアクセント調整UIもかなりアレ)
  2. について。現在は依存関係としてpyopenjtalk-prebuiltを使っており、これはpyopenjtalk 0.3.0のビルドであり、ユーザー辞書機能はない。ビルドをどうにかするにしてもpypiにあるpyopenjtalkでもまだユーザー辞書機能はないので、自分でビルドしてそれを使ってもらうようにするのがいいか(wheelやらC++ビルドやら自分が全く知らないけど頑張ればできるかもしれない)。

現在はとりあえずpyopenjtalkのユーザー辞書機能を追加実装する方向で少しいろいろ試してみています。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.