Audio-to-Audio
audio
speech
voice-conversion

Beatrice Trainer

čļ…äŊŽé…åģļãƒģäŊŽč˛ čˇãƒģäŊŽåŽšé‡ã‚’į‰šåž´ã¨ã™ã‚‹åŽŒå…¨į„Ąæ–™ãŽåŖ°čŗĒ変換 VST 「Beatrice 2」ぎãƒĸデãƒĢå­Ļįŋ’į”¨ãƒ„ãƒŧãƒĢキットです。

Beatrice 2 は、äģĨä¸‹ã‚’į›Žæ¨™ãĢ開į™ēされãĻいぞす。

  • č‡Ēåˆ†ãŽå¤‰æ›ã•ã‚ŒãŸåŖ°ã‚’č´ããĒがら、歌をåŋĢ遊ãĢ歌えるようãĢする
  • å…ĨåŠ›ã•ã‚ŒãŸåŖ°ãŽæŠ‘æšã‚’å¤‰æ›éŸŗåŖ°ãĢæ­ŖįĸēãĢåæ˜ ã—ã€įšŠį´°ãĒčĄ¨įžã‚’å¯čƒŊãĢする
  • å¤‰æ›éŸŗåŖ°ãŽéĢ˜ã„č‡Ēį„￀§ã¨æ˜Žįž­ã•
  • 多様ãĒå¤‰æ›å…ˆčŠąč€…
  • å…Ŧåŧ VST ã§ãŽå¤‰æ›æ™‚ã€å¤–éƒ¨ãŽéŒ˛éŸŗæŠŸå™¨ã‚’äŊŋãŖãŸåŽŸæ¸Ŧで 50ms ፋåēĻぎ遅åģļ
  • 開į™ēč€…ãŽãƒŽãƒŧト PC (Intel Core i7-1165G7) ã§ã‚ˇãƒŗã‚°ãƒĢ゚ãƒŦッドで動äŊœã•せ、RTF < 0.25 とãĒã‚‹į¨‹åēĻãŽč˛ čˇ
  • 最小構成で 30MB äģĨ下ぎ厚量
  • VST と VC Client でぎ動äŊœ
  • そぎäģ– (内᎒)

Prerequisites

Beatrice は、æ—ĸ存ぎå­Ļįŋ’済ãŋãƒĸデãƒĢã‚’į”¨ã„ãĻåŖ°čŗĒãŽå¤‰æ›ã‚’čĄŒã†ã ã‘ã§ã‚ã‚Œã° GPU をåŋ…čĻã¨ã—ãžã›ã‚“ã€‚ しかし、新たãĒãƒĸデãƒĢぎäŊœæˆã‚’åŠšįŽ‡č‰¯ãčĄŒã†ãŸã‚ãĢは GPU がåŋ…čĻã§ã™ã€‚

å­Ļįŋ’゚クãƒĒãƒ—ãƒˆã‚’åŽŸčĄŒã™ã‚‹ã¨ã€ãƒ‡ãƒ•ã‚ŠãƒĢãƒˆč¨­åŽšã§ã¯ 9GB ፋåēĻぎ VRAM をæļˆč˛ģしぞす。 GeForce RTX 4090 をäŊŋį”¨ã—ãŸå ´åˆã€ 1 æ™‚é–“į¨‹åēĻでå­Ļįŋ’がåތäē†ã—ぞす。

GPU を手元ãĢį”¨æ„ã§ããĒい場合でも、äģĨ下ぎãƒĒポジトãƒĒをäŊŋį”¨ã—ãĻ Google Colab 上でå­Ļįŋ’ã‚’čĄŒã†ã“ã¨ãŒã§ããžã™ã€‚

Getting Started

1. Download This Repo

Git ãĒおをäŊŋį”¨ã—ãĻ、こぎãƒĒポジトãƒĒをダã‚Ļãƒŗãƒ­ãƒŧドしãĻください。

git lfs install
git clone https://huggingface.co/fierce-cats/beatrice-trainer
cd beatrice-trainer

2. Environment Setup

Poetry ãĒおをäŊŋį”¨ã—ãĻ、䞝存ナイブナãƒĒã‚’ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢしãĻください。

poetry install
poetry shell
# Alternatively, you can use pip to install dependencies directly:
# pip3 install -e .

æ­Ŗã—ãã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢできãĻいれば、 python3 beatrice_trainer -h でäģĨ下ぎようãĒヘãƒĢãƒ—ãŒčĄ¨į¤ēされぞす。

usage: beatrice_trainer [-h] [-d DATA_DIR] [-o OUT_DIR] [-r] [-c CONFIG]

options:
  -h, --help            show this help message and exit
  -d DATA_DIR, --data_dir DATA_DIR
                        directory containing the training data
  -o OUT_DIR, --out_dir OUT_DIR
                        output directory
  -r, --resume          resume training
  -c CONFIG, --config CONFIG
                        path to the config file

3. Prepare Your Training Data

ä¸‹å›ŗãŽã‚ˆã†ãĢå­Ļįŋ’デãƒŧã‚ŋを配įŊŽã—ãĻください。

your_training_data_dir
+---alice
|   +---alices_wonderful_speech.wav
|   +---alices_excellent_speech.flac // FLAC, MP3, and some other formats are also okay.
|   `---...
+---bob
|   +---bobs_fantastic_speech.wav
|   +---bobs_speeches
|   |   `---bobs_awesome_speech.wav // Audio files in nested directory will also be used.
|   `---...
`---...

å­Ļįŋ’デãƒŧã‚ŋį”¨ãƒ‡ã‚ŖãƒŦクトãƒĒãŽį›´ä¸‹ãĢå„čŠąč€…ãŽãƒ‡ã‚ŖãƒŦクトãƒĒをäŊœã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ å„čŠąč€…ãŽãƒ‡ã‚ŖãƒŦクトãƒĒãŽä¸­ãŽæ§‹é€ ã‚„éŸŗåŖ°ãƒ•ã‚Ąã‚¤ãƒĢぎ名前はč‡Ēį”ąã§ã™ã€‚

å­Ļįŋ’ã‚’čĄŒã†ãƒ‡ãƒŧã‚ŋが 1 čŠąč€…ãŽãŋãŽå ´åˆã‚‚ã€čŠąč€…ãŽãƒ‡ã‚ŖãƒŦクトãƒĒをäŊœã‚‹åŋ…čĻãŒã‚ã‚‹ã“ã¨ãĢæŗ¨æ„ã—ãĻください。

your_training_data_dir_with_only_one_speaker
+---charlies_brilliant_speech.wav // Wrong.
`---...
your_training_data_dir_with_only_one_speaker
`---charlie
    +---charlies_brilliant_speech.wav // Correct!
    `---...

4. Train Your Model

å­Ļįŋ’デãƒŧã‚ŋを配įŊŽã—ãŸãƒ‡ã‚ŖãƒŦクトãƒĒとå‡ēåŠ›ãƒ‡ã‚ŖãƒŦクトãƒĒを指厚しãĻå­Ļįŋ’を開始しぞす。

python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir>

å­Ļįŋ’ぎįŠļæŗã¯ã€ TensorBoard でįĸēčĒã§ããžã™ã€‚

tensorboard --logdir <output_dir>

5. After Training

å­Ļįŋ’ãŒæ­Ŗå¸¸ãĢ厌äē†ã™ã‚‹ã¨ã€å‡ēåŠ›ãƒ‡ã‚ŖãƒŦクトãƒĒ内ãĢ paraphernalia_(data_dir_name)_(step) ã¨ã„ã†åå‰ãŽãƒ‡ã‚ŖãƒŦクトãƒĒãŒį”Ÿæˆã•ã‚ŒãĻいぞす。 ã“ãŽãƒ‡ã‚ŖãƒŦクトãƒĒをå…Ŧåŧ VST や VC Client でčĒ­ãŋčžŧむことで、゚トãƒĒãƒŧム (ãƒĒã‚ĸãƒĢã‚ŋイム) å¤‰æ›ã‚’čĄŒã†ã“ã¨ãŒã§ããžã™ã€‚

Detailed Usage

Training

äŊŋį”¨ã™ã‚‹ãƒã‚¤ãƒ‘ãƒŧãƒ‘ãƒŠãƒĄãƒŧã‚ŋやäē‹å‰å­Ļįŋ’済ãŋãƒĸデãƒĢをデフりãƒĢãƒˆã¨į•°ãĒるもぎãĢする場合は、デフりãƒĢãƒˆå€¤ãŽæ›¸ã‹ã‚ŒãŸã‚ŗãƒŗãƒ•ã‚Ŗã‚°ãƒ•ã‚Ąã‚¤ãƒĢである assets/default_config.json をåˆĨぎ場所ãĢã‚ŗãƒ”ãƒŧしãĻå€¤ã‚’įˇ¨é›†ã—ã€ -c ã§ãƒ•ã‚Ąã‚¤ãƒĢを指厚しぞす。 assets/default_config.json ã‚’į›´æŽĨįˇ¨é›†ã™ã‚‹ã¨åŖŠã‚Œã‚‹ãŽã§æŗ¨æ„ã—ãĻください。

ãžãŸã€ã‚ŗãƒŗãƒ•ã‚Ŗã‚°ãƒ•ã‚Ąã‚¤ãƒĢãĢ data_dir キãƒŧと out_dir キãƒŧをčŋŊ加し、å­Ļįŋ’デãƒŧã‚ŋを配įŊŽã—ãŸãƒ‡ã‚ŖãƒŦクトãƒĒとå‡ēåŠ›ãƒ‡ã‚ŖãƒŦクトãƒĒをįĩļ寞パ゚ぞたはãƒĒポジトãƒĒãƒĢãƒŧãƒˆã‹ã‚‰ãŽį›¸å¯žãƒ‘ã‚šã§č¨˜čŧ‰ã™ã‚‹ã“ã¨ã§ã€ã‚ŗãƒžãƒŗãƒ‰ãƒŠã‚¤ãƒŗåŧ•æ•°ã§ãŽæŒ‡åŽšã‚’įœį•Ĩできぞす。

python3 beatrice_trainer -c <your_config.json>

äŊ•ã‚‰ã‹ãŽį†į”ąã§å­Ļįŋ’が中断された場合、å‡ēåŠ›ãƒ‡ã‚ŖãƒŦクトãƒĒãĢ checkpoint_latest.pt ãŒį”Ÿæˆã•ã‚ŒãĻいれば、そぎå­Ļįŋ’ã‚’čĄŒãŖãĻã„ãŸã‚ŗãƒžãƒŗãƒ‰ãĢ -r ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加しãĻåŽŸčĄŒã™ã‚‹ã“ã¨ã§ã€æœ€åžŒãĢäŋå­˜ã•ã‚ŒãŸãƒã‚§ãƒƒã‚¯ãƒã‚¤ãƒŗãƒˆã‹ã‚‰å­Ļįŋ’を再開できぞす。

python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir> -r

Output Files

å­Ļįŋ’゚クãƒĒãƒ—ãƒˆã‚’åŽŸčĄŒã™ã‚‹ã¨ã€å‡ēåŠ›ãƒ‡ã‚ŖãƒŦクトãƒĒ内ãĢäģĨä¸‹ãŽãƒ•ã‚Ąã‚¤ãƒĢãƒģãƒ‡ã‚ŖãƒŦクトãƒĒãŒį”Ÿæˆã•ã‚Œãžã™ã€‚

  • paraphernalia_(data_dir_name)_(step)
    • ゚トãƒĒãƒŧム変換ãĢåŋ…čρãĒãƒ•ã‚Ąã‚¤ãƒĢを全ãĻåĢã‚€ãƒ‡ã‚ŖãƒŦクトãƒĒです。
    • å­Ļįŋ’途中ぎもぎもå‡ē力される場合があり、åŋ…čρãĒ゚テップ数ぎもぎäģĨ外は削除しãĻå•éĄŒã‚ã‚Šãžã›ã‚“ã€‚
    • ã“ãŽãƒ‡ã‚ŖãƒŦクトãƒĒäģĨ外ぎå‡ēåŠ›į‰Šã¯ã‚šãƒˆãƒĒãƒŧム変換ãĢäŊŋį”¨ã•ã‚ŒãĒいため、不čĻã§ã‚ã‚Œã°å‰Šé™¤ã—ãĻå•éĄŒã‚ã‚Šãžã›ã‚“ã€‚
  • checkpoint_(data_dir_name)_(step)
    • å­Ļįŋ’ã‚’é€”ä¸­ã‹ã‚‰å†é–‹ã™ã‚‹ãŸã‚ãŽãƒã‚§ãƒƒã‚¯ãƒã‚¤ãƒŗãƒˆã§ã™ã€‚
    • checkpoint_latest.pt ãĢãƒĒネãƒŧムし、 -r ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’äģ˜ã‘ãĻå­Ļįŋ’゚クãƒĒãƒ—ãƒˆã‚’åŽŸčĄŒã™ã‚‹ã¨ã€ããŽã‚šãƒ†ãƒƒãƒ—æ•°ã‹ã‚‰å­Ļįŋ’を再開できぞす。
  • checkpoint_latest.pt
    • 最も新しい checkpoint_(data_dir_name)_(step) ãŽã‚ŗãƒ”ãƒŧです。
  • config.json
    • å­Ļįŋ’ãĢäŊŋį”¨ã•ã‚ŒãŸã‚ŗãƒŗãƒ•ã‚Ŗã‚°ã§ã™ã€‚
  • events.out.tfevents.*
    • TensorBoard ã§čĄ¨į¤ēã•ã‚Œã‚‹æƒ…å ąã‚’åĢむデãƒŧã‚ŋです。

Customize Paraphernalia

å­Ļįŋ’゚クãƒĒプトãĢã‚ˆãŖãĻį”Ÿæˆã•ã‚ŒãŸ paraphernalia ãƒ‡ã‚ŖãƒŦクトãƒĒ内ãĢある beatrice_paraphernalia_*.toml ãƒ•ã‚Ąã‚¤ãƒĢã‚’įˇ¨é›†ã™ã‚‹ã“ã¨ã§ã€ VST や VC Client ä¸Šã§ãŽčĄ¨į¤ēを変更できぞす。

model.version ã¯ã€į”Ÿæˆã•ã‚ŒãŸãƒĸデãƒĢぎフりãƒŧマットバãƒŧã‚¸ãƒ§ãƒŗã‚’čĄ¨ã™ãŸã‚ã€å¤‰æ›´ã—ãĒいでください。

各 description ã¯ã€é•ˇã™ãŽã‚‹ã¨å…¨æ–‡ãŒčĄ¨į¤ēされãĒい場合がありぞす。 įžåœ¨čĄ¨į¤ēできãĻいãĻも、将æĨįš„ãĒ VST や VC Client ぎä앿§˜å¤‰æ›´ãĢã‚ˆã‚ŠčĄ¨į¤ēできãĒくãĒる可čƒŊ性があるため、äŊ™čŖ•ã‚’æŒãŖãŸæ–‡å­—æ•°ãƒģčĄŒæ•°ãĢ収めãĻください。

portrait ãĢč¨­åŽšã™ã‚‹į”ģ像は、 PNG åŊĸåŧã‹ã¤æ­Ŗæ–šåŊĸとしãĻください。

Distribution of Trained Models

こぎãƒĒポジトãƒĒã‚’į”¨ã„ãĻį”Ÿæˆã—ãŸãƒĸデãƒĢぎ配布を歓čŋŽã—ぞす。

配布されたãƒĸデãƒĢは、 Project Beatrice ãŠã‚ˆãŗããŽé–ĸäŋ‚č€…ãŽįŽĄį†ã™ã‚‹ SNS ã‚ĸã‚Ģã‚Ļãƒŗãƒˆã‚„ã‚Ļェブã‚ĩã‚¤ãƒˆä¸Šã§ã”į´šäģ‹ã•せãĻいただく場合がありぞす。 そぎ際、 portrait ãĢč¨­åŽšã•ã‚ŒãŸį”ģåƒã‚’æŽ˛čŧ‰ã™ã‚‹ã“とがありぞすぎで、äēˆã‚ã”æ‰ŋįŸĨおきください。

Resource

こぎãƒĒポジトãƒĒãĢは、å­Ļįŋ’ãĒおãĢäŊŋį”¨ã™ã‚‹å„į¨Žãƒ‡ãƒŧã‚ŋがåĢぞれãĻいぞす。 čŠŗã—ãã¯ assets/README.md をごčĻ§ãã ã•ã„ã€‚

Reference

License

こぎãƒĒポジトãƒĒ内ぎã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ãŠã‚ˆãŗå­Ļįŋ’済ãŋãƒĸデãƒĢは MIT License ぎもとでå…Ŧ開されãĻいぞす。 čŠŗã—ãã¯ LICENSE をごčĻ§ãã ã•ã„ã€‚

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train GaboChoropan/beatrice-trainer-2

Papers for GaboChoropan/beatrice-trainer-2