Voice100 รวมถึงรุ่น TTS/ASR ของระบบประสาท การอนุมานของ Voice100 นั้นมีค่าใช้จ่ายต่ำเนื่องจากรุ่นของมันมีขนาดเล็กและขึ้นอยู่กับ CNN โดยไม่มีการเรียกซ้ำ
โมเดล TTS แบ่งออกเป็นสองรุ่นย่อยโมเดลและโมเดลเสียง การจัดตำแหน่งแบบจำลองการจัดวางข้อความที่ได้รับข้อความ ข้อความที่ได้รับการจัดตำแหน่งนั้นสร้างขึ้นจากข้อความและการจัดตำแหน่งข้อความ รูปแบบเสียงการทำนายคุณสมบัติของโลก (F0, ซองจดหมายสเปกตรัม, รหัสความรุนแรงที่เขียนโค้ด) ได้รับข้อความที่จัดตำแหน่ง
เครือข่ายการจัดตำแหน่ง
กราฟ TD
A [ข้อความอินพุต] -> | สวัสดี | B (ฝัง)
B -> C (1D กลับด้าน x4)
C -> D (Convolution)
D -> | H: 0,1 E: 0,2 L: 1,1 L: 1,1 O: 1,2 | E [การจัดตำแหน่ง]
เครือข่ายเสียง
กราฟ TD
A [ข้อความที่จัดตำแหน่ง] -> | _hee_l_l_oo | B (ฝัง)
B -> C (1D กลับด้าน x4)
C -> D (1D transpose convolution)
D -> E (1D กลับส่วนที่เหลือ x3)
E -> F (Convolution)
f -> g [พารามิเตอร์โลก]
| Name | Type | Params
-----------------------------------------
0 | embedding | Embedding | 14.8 K
1 | layers | Sequential | 8.6 M
-----------------------------------------
8.6 M Trainable params
0 Non-trainable params
8.6 M Total params
17.137 Total estimated model params size (MB)
| Name | Type | Params
-------------------------------------------
0 | embedding | Embedding | 14.8 K
1 | decoder | VoiceDecoder | 11.0 M
2 | norm | WORLDNorm | 518
3 | criterion | WORLDLoss | 0
-------------------------------------------
11.1 M Trainable params
518 Non-trainable params
11.1 M Total params
22.120 Total estimated model params size (MB)
อินพุตของโมเดลการจัดตำแหน่งคือลำดับของโทเค็นของข้อความอินพุต ข้อความอินพุตเป็นตัวพิมพ์เล็กและโทเค็นเป็นอักขระและเข้ารหัสด้วยตัวเข้ารหัสข้อความ ตัวเข้ารหัสข้อความมี 28 ตัวอักษรในคำศัพท์ซึ่งรวมถึงตัวอักษรที่ต่ำกว่าพื้นที่และอะพอสโทรฟี ตัวละครทั้งหมดที่ไม่พบในคำศัพท์จะถูกลบออก
เอาต์พุตของโมเดลการจัดตำแหน่งคือลำดับของคู่ของการกำหนดเวลาซึ่งความยาวเท่ากับจำนวนโทเค็นอินพุต คู่มีสองค่าจำนวนเฟรมก่อนโทเค็นและจำนวนเฟรมสำหรับโทเค็น หนึ่งเฟรมคือ 20ms ข้อความที่ได้รับการจัดตำแหน่งนั้นสร้างขึ้นจากข้อความอินพุตและคู่ของการกำหนดเวลา ความยาวของข้อความที่จัดตำแหน่งคือจำนวนเฟรมทั้งหมดสำหรับเสียง
อินพุตของโมเดลเสียงเป็นข้อความที่จัดเรียงที่เข้ารหัสซึ่งเข้ารหัสในลักษณะเดียวกับการจัดทำโมเดลการจัดตำแหน่งล่วงหน้ายกเว้นว่ามีโทเค็นเพิ่มหนึ่งรายการในคำศัพท์สำหรับระยะห่างระหว่างโทเค็นสำหรับข้อความต้นฉบับ
เอาต์พุตของโมเดลเสียงคือลำดับของ F0, F0 Existences, ซองสเปกตรัมสเปกตรัมบันทึก, รหัส aperiodicity การดำรงอยู่ของ F0 เป็นค่าบูลีนซึ่งเป็นจริงเมื่อ F0 มีความเป็นเท็จเป็นอย่างอื่น F0 ถูกบังคับให้เป็น 0 เมื่อ F0 การดำรงอยู่เป็นเท็จ หนึ่งเฟรมคือ 10ms ความยาวของเอาต์พุตเป็นสองเท่าของความยาวของอินพุต
โมเดล ASR คือ 9 ชั้น Mobilenet-like Inverted ที่เหลือซึ่งได้รับการฝึกฝนให้ทำนายการสูญเสีย CTC
เครือข่าย ASR
กราฟ TD
A [mel spectrogram] -> b (1D กลับส่วนที่เหลือ x 12)
B -> C (Convolution)
C -> G [บันทึกของข้อความที่จัดตำแหน่ง]
| Name | Type | Params
----------------------------------------------------------------
0 | encoder | ConvVoiceEncoder | 11.6 M
1 | decoder | LinearCharDecoder | 14.9 K
2 | loss_fn | CTCLoss | 0
3 | batch_augment | BatchSpectrogramAugumentation | 0
----------------------------------------------------------------
11.6 M Trainable params
0 Non-trainable params
11.6 M Total params
23.243 Total estimated model params size (MB)
แบบจำลองการจัดตำแหน่งคือ LSTM สองชั้นสองชั้นซึ่งได้รับการฝึกฝนให้ทำนายข้อความที่จัดตำแหน่งจากคุณสมบัติเสียง MFCC โมเดลแนวตั้งใช้เพื่อเตรียมข้อความที่จัดตำแหน่งสำหรับชุดข้อมูลเพื่อฝึกอบรมรุ่น TTS
| Name | Type | Params
----------------------------------------------------------------
0 | conv | Conv1d | 24.7 K
1 | lstm | LSTM | 659 K
2 | dense | Linear | 7.5 K
3 | loss_fn | CTCLoss | 0
4 | batch_augment | BatchSpectrogramAugumentation | 0
----------------------------------------------------------------
691 K Trainable params
0 Non-trainable params
691 K Total params
1.383 Total estimated model params size (MB)
voice100-prepare-dataset
--dataset ljspeech
--language en
--use_phone
voice100-prepare-dataset
--dataset librispeech
--language en
--use_phone
voice100 fit
--config config/asr_en_phone_base.yaml
--trainer.accelerator gpu
--trainer.devices 1
--trainer.precision 16
--trainer.default_root_dir ./outputs/asr_en_phone_base สิ่งนี้จะสร้างข้อความที่จัดตำแหน่งเป็น data/${DATASET}-phone-align.txt
voice100-align-text
--batch_size 4
--dataset ljspeech
--language en
--use_phone
--checkpoint asr_en_phone_small-20230309.ckptvoice100 fit --config voice100/config/align_en_phone_base.yaml
--trainer.accelerator gpu
--trainer.devices 1
--trainer.precision 16
--trainer.default_root_dir=./outputs/align_en_phone_base สิ่งนี้สร้างสถิติเป็น data/${DATASET}-stat.pt
voice100-calc-stat
--dataset ljspeech
--language en
--output data/audio-stat.pyvoice100 fit --config voice100/config/tts_en_phone_base.yaml
--trainer.accelerator gpu
--gpus 1
--precision 16
--trainer.default_root_dir=./outputs/tts_en_phone_basevoice100-export-onnx
--checkpoint model/ ${MODEL} /lightning_logs/version_0/checkpoints/last.ckptรุ่น CMU เป็นแบบจำลองที่ใช้เอาต์พุตของ G2P_EN เป็นตัวแทนข้อความแทนข้อความดิบ
คำสั่งเหล่านี้แปลงข้อความในชุดข้อมูลเป็น ./data/[dataset]-phone-[split].txt dataset เหมือนกัน-โฟน-[split เหมือนกัน. txt จากนั้นเรียกใช้ voice100-train-[model] ด้วย --use-phone
voice100-prepare-dataset
--dataset ljspeech
voice100-prepare-dataset
--dataset librispeech
--split train
voice100-prepare-dataset
--dataset librispeech
--split valCMU MultitAsk Model เป็นตัวแปรของโมเดลเสียง TTS ซึ่งอินพุตเป็นข้อความและเอาต์พุตที่ได้รับการจัดตำแหน่งเป็นพารามิเตอร์ Vocoder World และหน่วยเสียง CMU ในการฝึกอบรม CMU Multi-Task Model เราจำเป็นต้องมีข้อมูลการจัดตำแหน่งสำหรับการออกเสียงภาษาอังกฤษและ CMU
./data/ljspeech-align-train.txt./data/ljspeech-phone-align-train.txtจากนั้นวิ่ง
MODEL=ttsaudio_en_mt_conv_base
voice100-train-ttsaudio-mt
--gpus 1
--dataset ${DATASET}
--language ${LANGUAGE}
--batch_size 32
--precision 16
--max_epochs 150
--default_root_dir ./model/ ${MODEL} ใช้ Voice100 Runtime และส่งออกไฟล์ ONNX
| ชื่อ | คลาสรุ่น | ชุดข้อมูล | การดาวน์โหลด |
|---|---|---|---|
| ASR_EN_SMALL-20230225 | Audiotoaligntext | Librispeech, LJ Speech 1.1 | การดาวน์โหลด |
| ASR_EN_BASE-20230319 | Audiotoaligntext | Librispeech, LJ Speech 1.1 | การดาวน์โหลด |
| ASR_EN_POHNE_SMALL-20230309 | Audiotoaligntext | Librispeech, LJ Speech 1.1 | การดาวน์โหลด |
| ASR_EN_POHNE_BASE-20230314 | Audiotoaligntext | Librispeech, LJ Speech 1.1 | การดาวน์โหลด |
| ASR_JA_POHNE_SMALL-20230104 | Audiotoaligntext | เสียงทั่วไป 12.0 JA | การดาวน์โหลด |
| ASR_JA_POHNE_BASE-20230104 | Audiotoaligntext | เสียงทั่วไป 12.0 JA | การดาวน์โหลด |
| Align_en_base-20230401 | texttoaligntext | LJ Speech 1.1 | การดาวน์โหลด |
| TTS_EN_BASE-20230407 | aligntexttoaudio | LJ Speech 1.1 | การดาวน์โหลด |
| Align_en_phone_base-20230407 | texttoaligntext | LJ Speech 1.1 | การดาวน์โหลด |
| tts_en_phone_base-20230401 | aligntexttoaudio | LJ Speech 1.1 | การดาวน์โหลด |
| align_ja_phone_base-20230203 | texttoaligntext | Kokoro Speech v1.2 ขนาดใหญ่ | การดาวน์โหลด |
| tts_ja_phone_base-20230204 | aligntexttoaudio | Kokoro Speech v1.2 ขนาดใหญ่ | การดาวน์โหลด |
| ASR_EN_BASE-201210628 (เลิกใช้แล้ว) | AudioAlignctc | LJ Speech 1.1 | การดาวน์โหลด |
| align_en_lstm_base_ctc-20210628 (เลิกใช้แล้ว) | AudioAlignctc | LJ Speech 1.1 | การดาวน์โหลด |
| align_en_phone_lstm_base_ctc-20220103 (เลิกใช้แล้ว) | AudioAlignctc | LJ Speech 1.1 | การดาวน์โหลด |
| Align_JA_LSTM_BASE_CTC-2011116 (เลิกใช้แล้ว) | AudioAlignctc | Kokoro Speech v1.1 Small | การดาวน์โหลด |
| align_ja_phone_lstm_base_ctc-20221230 (เลิกใช้แล้ว) | AudioAlignctc | Kokoro Speech v1.1 Small | การดาวน์โหลด |
| ttsalign_en_conv_base-20220409 (เลิกใช้แล้ว) | texttoaligntextmodel | LJ Speech 1.1 | การดาวน์โหลด |
| ttsalign_en_phone_conv_base-20220409 (เลิกใช้แล้ว) | texttoaligntextmodel | LJ Speech 1.1 | การดาวน์โหลด |
| ttsalign_ja_conv_base-20220411 (เลิกใช้แล้ว) | texttoaligntextmodel | Kokoro Speech v1.1 Small | การดาวน์โหลด |
| ttsaudio_en_conv_base-20220107 (เลิกใช้แล้ว) | Aligntexttoaudiomodel | Kokoro Speech v1.1 Small | การดาวน์โหลด |
| ttsaudio_en_phone_conv_base-20220105 (เลิกใช้แล้ว) | Aligntexttoaudiomodel | LJ Speech 1.1 | การดาวน์โหลด |
| TTSAUDIO_JA_CONV_BASE-20220416 (เลิกใช้แล้ว) | Aligntexttoaudiomodel | Kokoro Speech v1.1 Small | การดาวน์โหลด |
| TTSAUDIO_EN_MT_CONV_BASE-20220316 (เลิกใช้แล้ว) | aligntexttoaudiomultiTaskModel | LJ Speech 1.1 | การดาวน์โหลด |
| ASR_EN_CONV_BASE_CTC-20220126 (เลิกใช้แล้ว) | Audiototextctc | librispeech | การดาวน์โหลด |
| ASR_EN_PHONE_CONV_BASE_CTC-20220107 (เลิกใช้แล้ว) | Audiototextctc | librispeech | การดาวน์โหลด |
| STT_JA_CONV_BASE_CTC-20211127 (เลิกใช้แล้ว) | Audiototextctc | เสียงทั่วไป 6.1 JA | การดาวน์โหลด |
| ASR_JA_PHONE_CONV_BASE_CTC-20221225 (เลิกใช้แล้ว) | Audiototextctc | เสียงทั่วไป 6.1 JA | การดาวน์โหลด |