add svs demo
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitignore +2 -0
- app.py +316 -0
- requirements.txt +10 -0
- resource/Muskits_ESPnet_logo.png +0 -0
- resource/__init__.py +0 -0
- resource/all_plans.json +0 -0
- resource/midi-note.scp +152 -0
- resource/pinyin_dict.py +423 -0
- resource/singer/singer_embedding_ace-1.npy +3 -0
- resource/singer/singer_embedding_ace-10.npy +3 -0
- resource/singer/singer_embedding_ace-11.npy +3 -0
- resource/singer/singer_embedding_ace-12.npy +3 -0
- resource/singer/singer_embedding_ace-13.npy +3 -0
- resource/singer/singer_embedding_ace-14.npy +3 -0
- resource/singer/singer_embedding_ace-15.npy +3 -0
- resource/singer/singer_embedding_ace-16.npy +3 -0
- resource/singer/singer_embedding_ace-17.npy +3 -0
- resource/singer/singer_embedding_ace-18.npy +3 -0
- resource/singer/singer_embedding_ace-19.npy +3 -0
- resource/singer/singer_embedding_ace-2.npy +3 -0
- resource/singer/singer_embedding_ace-20.npy +3 -0
- resource/singer/singer_embedding_ace-21.npy +3 -0
- resource/singer/singer_embedding_ace-22.npy +3 -0
- resource/singer/singer_embedding_ace-23.npy +3 -0
- resource/singer/singer_embedding_ace-24.npy +3 -0
- resource/singer/singer_embedding_ace-25.npy +3 -0
- resource/singer/singer_embedding_ace-26.npy +3 -0
- resource/singer/singer_embedding_ace-27.npy +3 -0
- resource/singer/singer_embedding_ace-28.npy +3 -0
- resource/singer/singer_embedding_ace-29.npy +3 -0
- resource/singer/singer_embedding_ace-3.npy +3 -0
- resource/singer/singer_embedding_ace-30.npy +3 -0
- resource/singer/singer_embedding_ace-4.npy +3 -0
- resource/singer/singer_embedding_ace-5.npy +3 -0
- resource/singer/singer_embedding_ace-6.npy +3 -0
- resource/singer/singer_embedding_ace-7.npy +3 -0
- resource/singer/singer_embedding_ace-8.npy +3 -0
- resource/singer/singer_embedding_ace-9.npy +3 -0
- resource/singer/singer_embedding_ameboshi.npy +3 -0
- resource/singer/singer_embedding_itako.npy +3 -0
- resource/singer/singer_embedding_kiritan.npy +3 -0
- resource/singer/singer_embedding_kising_barber.npy +3 -0
- resource/singer/singer_embedding_kising_blanca.npy +3 -0
- resource/singer/singer_embedding_kising_changge.npy +3 -0
- resource/singer/singer_embedding_kising_chuci.npy +3 -0
- resource/singer/singer_embedding_kising_chuming.npy +3 -0
- resource/singer/singer_embedding_kising_crimson.npy +3 -0
- resource/singer/singer_embedding_kising_david.npy +3 -0
- resource/singer/singer_embedding_kising_dvaid.npy +3 -0
- resource/singer/singer_embedding_kising_ghost.npy +3 -0
.gitignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__pycache__
|
| 2 |
+
.gradio
|
app.py
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import torch
|
| 3 |
+
import librosa
|
| 4 |
+
import numpy as np
|
| 5 |
+
import gradio as gr
|
| 6 |
+
import pyopenjtalk
|
| 7 |
+
from util import preprocess_input, postprocess_phn, get_tokenizer, load_pitch_dict, get_pinyin
|
| 8 |
+
|
| 9 |
+
from espnet_model_zoo.downloader import ModelDownloader
|
| 10 |
+
from espnet2.bin.svs_inference import SingingGenerate
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
singer_embeddings = {
|
| 14 |
+
"Model①(Chinese)-zh": {
|
| 15 |
+
"singer1 (male)": 1,
|
| 16 |
+
"singer2 (female)": 12,
|
| 17 |
+
"singer3 (male)": 23,
|
| 18 |
+
"singer4 (female)": 29,
|
| 19 |
+
"singer5 (male)": 18,
|
| 20 |
+
"singer6 (female)": 8,
|
| 21 |
+
"singer7 (male)": 25,
|
| 22 |
+
"singer8 (female)": 5,
|
| 23 |
+
"singer9 (male)": 10,
|
| 24 |
+
"singer10 (female)": 15,
|
| 25 |
+
},
|
| 26 |
+
"Model②(Multilingual)-zh": {
|
| 27 |
+
"singer1 (male)": "resource/singer/singer_embedding_ace-1.npy",
|
| 28 |
+
"singer2 (female)": "resource/singer/singer_embedding_ace-2.npy",
|
| 29 |
+
"singer3 (male)": "resource/singer/singer_embedding_ace-3.npy",
|
| 30 |
+
"singer4 (female)": "resource/singer/singer_embedding_ace-8.npy",
|
| 31 |
+
"singer5 (male)": "resource/singer/singer_embedding_ace-7.npy",
|
| 32 |
+
"singer6 (female)": "resource/singer/singer_embedding_itako.npy",
|
| 33 |
+
"singer7 (male)": "resource/singer/singer_embedding_ofuton.npy",
|
| 34 |
+
"singer8 (female)": "resource/singer/singer_embedding_kising_orange.npy",
|
| 35 |
+
"singer9 (male)": "resource/singer/singer_embedding_m4singer_Tenor-1.npy",
|
| 36 |
+
"singer10 (female)": "resource/singer/singer_embedding_m4singer_Alto-4.npy",
|
| 37 |
+
},
|
| 38 |
+
"Model②(Multilingual)-jp": {
|
| 39 |
+
"singer1 (male)": "resource/singer/singer_embedding_ace-1.npy",
|
| 40 |
+
"singer2 (female)": "resource/singer/singer_embedding_ace-2.npy",
|
| 41 |
+
"singer3 (male)": "resource/singer/singer_embedding_ace-3.npy",
|
| 42 |
+
"singer4 (female)": "resource/singer/singer_embedding_ace-8.npy",
|
| 43 |
+
"singer5 (male)": "resource/singer/singer_embedding_ace-7.npy",
|
| 44 |
+
"singer6 (female)": "resource/singer/singer_embedding_itako.npy",
|
| 45 |
+
"singer7 (male)": "resource/singer/singer_embedding_ofuton.npy",
|
| 46 |
+
"singer8 (female)": "resource/singer/singer_embedding_kising_orange.npy",
|
| 47 |
+
"singer9 (male)": "resource/singer/singer_embedding_m4singer_Tenor-1.npy",
|
| 48 |
+
"singer10 (female)": "resource/singer/singer_embedding_m4singer_Alto-4.npy",
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
model_dict = {
|
| 53 |
+
"Model①(Chinese)-zh": "espnet/aceopencpop_svs_visinger2_40singer_pretrain",
|
| 54 |
+
"Model②(Multilingual)-zh": "espnet/mixdata_svs_visinger2_spkembed_lang_pretrained",
|
| 55 |
+
"Model②(Multilingual)-jp": "espnet/mixdata_svs_visinger2_spkembed_lang_pretrained",
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
total_singers = list(singer_embeddings["Model②(Multilingual)-zh"].keys())
|
| 59 |
+
|
| 60 |
+
langs = {
|
| 61 |
+
"zh": 2,
|
| 62 |
+
"jp": 1,
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
def gen_song(model_name, spk, texts, durs, pitchs):
|
| 66 |
+
fs = 44100
|
| 67 |
+
tempo = 120
|
| 68 |
+
lang = model_name.split("-")[-1]
|
| 69 |
+
PRETRAIN_MODEL = model_dict[model_name]
|
| 70 |
+
if texts is None:
|
| 71 |
+
return (fs, np.array([0.0])), "Error: No Text provided!"
|
| 72 |
+
if durs is None:
|
| 73 |
+
return (fs, np.array([0.0])), "Error: No Dur provided!"
|
| 74 |
+
if pitchs is None:
|
| 75 |
+
return (fs, np.array([0.0])), "Error: No Pitch provided!"
|
| 76 |
+
|
| 77 |
+
# preprocess
|
| 78 |
+
if lang == "zh":
|
| 79 |
+
texts = preprocess_input(texts, "")
|
| 80 |
+
text_list = get_pinyin(texts)
|
| 81 |
+
elif lang == "jp":
|
| 82 |
+
texts = preprocess_input(texts, " ")
|
| 83 |
+
text_list = texts.strip().split()
|
| 84 |
+
durs = preprocess_input(durs, " ")
|
| 85 |
+
dur_list = durs.strip().split()
|
| 86 |
+
pitchs = preprocess_input(pitchs, " ")
|
| 87 |
+
pitch_list = pitchs.strip().split()
|
| 88 |
+
|
| 89 |
+
if len(text_list) != len(dur_list):
|
| 90 |
+
return (fs, np.array([0.0])), f"Error: len in text({len(text_list)}) mismatch with duration({len(dur_list)})!"
|
| 91 |
+
if len(text_list) != len(pitch_list):
|
| 92 |
+
return (fs, np.array([0.0])), f"Error: len in text({len(text_list)}) mismatch with pitch({len(pitch_list)})!"
|
| 93 |
+
|
| 94 |
+
## text to phoneme
|
| 95 |
+
tokenizer = get_tokenizer(model_name, lang)
|
| 96 |
+
sybs = []
|
| 97 |
+
for text in text_list:
|
| 98 |
+
if text == "AP" or text == "SP":
|
| 99 |
+
rev = [text]
|
| 100 |
+
elif text == "-" or text == "——":
|
| 101 |
+
rev = [text]
|
| 102 |
+
else:
|
| 103 |
+
rev = tokenizer(text)
|
| 104 |
+
if rev == False:
|
| 105 |
+
return (fs, np.array([0.0])), f"Error: text `{text}` is invalid!"
|
| 106 |
+
rev = postprocess_phn(rev, model_name, lang)
|
| 107 |
+
phns = "_".join(rev)
|
| 108 |
+
sybs.append(phns)
|
| 109 |
+
|
| 110 |
+
pitch_dict = load_pitch_dict()
|
| 111 |
+
|
| 112 |
+
labels = []
|
| 113 |
+
notes = []
|
| 114 |
+
st = 0
|
| 115 |
+
pre_phn = ""
|
| 116 |
+
for phns, dur, pitch in zip(sybs, dur_list, pitch_list):
|
| 117 |
+
if phns == "-" or phns == "——":
|
| 118 |
+
phns = pre_phn
|
| 119 |
+
if pitch not in pitch_dict:
|
| 120 |
+
return (fs, np.array([0.0])), f"Error: pitch `{pitch}` is invalid!"
|
| 121 |
+
pitch = pitch_dict[pitch]
|
| 122 |
+
phn_list = phns.split("_")
|
| 123 |
+
lyric = "".join(phn_list)
|
| 124 |
+
dur = float(dur)
|
| 125 |
+
note = [st, st + dur, lyric, pitch, phns]
|
| 126 |
+
st += dur
|
| 127 |
+
notes.append(note)
|
| 128 |
+
for phn in phn_list:
|
| 129 |
+
labels.append(phn)
|
| 130 |
+
pre_phn = labels[-1]
|
| 131 |
+
|
| 132 |
+
phns_str = " ".join(labels)
|
| 133 |
+
batch = {
|
| 134 |
+
"score": (
|
| 135 |
+
int(tempo),
|
| 136 |
+
notes,
|
| 137 |
+
),
|
| 138 |
+
"text": phns_str,
|
| 139 |
+
}
|
| 140 |
+
print(batch)
|
| 141 |
+
# return (fs, np.array([0.0])), "success!"
|
| 142 |
+
|
| 143 |
+
# Infer
|
| 144 |
+
device = "cpu"
|
| 145 |
+
# device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 146 |
+
d = ModelDownloader()
|
| 147 |
+
pretrain_downloaded = d.download_and_unpack(PRETRAIN_MODEL)
|
| 148 |
+
svs = SingingGenerate(
|
| 149 |
+
train_config = pretrain_downloaded["train_config"],
|
| 150 |
+
model_file = pretrain_downloaded["model_file"],
|
| 151 |
+
device = device
|
| 152 |
+
)
|
| 153 |
+
if model_name == "Model①(Chinese)-zh":
|
| 154 |
+
sid = np.array([singer_embeddings[model_name][spk]])
|
| 155 |
+
output_dict = svs(batch, sids=sid)
|
| 156 |
+
else:
|
| 157 |
+
lid = np.array([langs[lang]])
|
| 158 |
+
spk_embed = np.load(singer_embeddings[model_name][spk])
|
| 159 |
+
output_dict = svs(batch, lids=lid, spembs=spk_embed)
|
| 160 |
+
wav_info = output_dict["wav"].cpu().numpy()
|
| 161 |
+
|
| 162 |
+
# mos prediction with sr=16k
|
| 163 |
+
predictor = torch.hub.load("South-Twilight/SingMOS:v0.2.0", "singing_ssl_mos", trust_repo=True)
|
| 164 |
+
wav_mos = librosa.resample(wav_info, orig_sr=fs, target_sr=16000)
|
| 165 |
+
wav_mos = torch.from_numpy(wav_mos).unsqueeze(0)
|
| 166 |
+
len_mos = torch.tensor([wav_mos.shape[1]])
|
| 167 |
+
score = predictor(wav_mos, len_mos)
|
| 168 |
+
return (fs, wav_info), "success!", round(score.item(), 2)
|
| 169 |
+
|
| 170 |
+
|
| 171 |
+
# SP: silence, AP: aspirate.
|
| 172 |
+
examples = [
|
| 173 |
+
["Model①(Chinese)-zh", "singer1 (male)", "雨 淋 湿 了 SP 天 空 AP\n毁 的 SP 很 讲 究 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21\n0.3 0.12 0.12 0.25 0.5 0.48 0.34", "60 62 62 62 0 62 58 0\n58 58 0 58 58 63 0"],
|
| 174 |
+
["Model①(Chinese)-zh", "singer3 (male)", "雨 淋 湿 了 SP 天 空 AP\n毁 的 SP 很 讲 究 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21\n0.3 0.12 0.12 0.25 0.5 0.48 0.34", "C4 D4 D4 D4 rest D4 A#3 rest\nA#3 A#3 rest A#3 A#3 D#4 rest"], # midi note
|
| 175 |
+
["Model①(Chinese)-zh", "singer3 (male)", "雨 淋 湿 了 SP 天 空 AP\n毁 的 SP 很 讲 究 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21\n0.3 0.12 0.12 0.25 0.5 0.48 0.34", "C#4 D#4 D#4 D#4 rest D#4 B3 rest\nB3 B3 rest B3 B3 E4 rest"], # up 1 key
|
| 176 |
+
["Model①(Chinese)-zh", "singer3 (male)", "雨 淋 湿 了 SP 大 地 AP\n毁 的 SP 很 讲 究 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21\n0.3 0.12 0.12 0.25 0.5 0.48 0.34", "C4 D4 D4 D4 rest D4 A#3 rest\nA#3 A#3 rest A#3 A#3 D#4 rest"], # lyrics
|
| 177 |
+
["Model②(Multilingual)-zh", "singer3 (male)", "你 说 你 不 SP 懂\n 为 何 在 这 时 牵 手 AP", "0.11 0.33 0.29 0.13 0.15 0.48\n0.24 0.18 0.34 0.15 0.27 0.28 0.63 0.44", "63 63 63 63 0 63\n62 62 62 63 65 63 62 0"],
|
| 178 |
+
["Model②(Multilingual)-zh", "singer3 (male)", "你 说 你 不 SP 懂\n 为 何 在 这 时 牵 手 AP", "0.23 0.66 0.58 0.27 0.3 0.97\n0.48 0.36 0.69 0.3 0.53 0.56 1.27 0.89", "63 63 63 63 0 63\n62 62 62 63 65 63 62 0"], # double duration
|
| 179 |
+
["Model①(Chinese)-zh", "singer3 (male)", "雨 淋 湿 了 SP 天 空 AP\n毁 的 SP 很 讲 究 AP\n你 说 你 不 SP 懂\n 为 何 在 这 时 牵 手 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21\n0.3 0.12 0.12 0.25 0.5 0.48 0.34\n0.11 0.33 0.29 0.13 0.15 0.48\n0.24 0.18 0.34 0.15 0.27 0.28 0.63 0.44", "60 62 62 62 0 62 58 0\n58 58 0 58 58 63 0\n63 63 63 63 0 63\n62 62 62 63 65 63 62 0"], # long
|
| 180 |
+
["Model①(Chinese)-zh", "singer3 (male)", "修 炼 爱 情 的 心 酸 SP AP", "0.42 0.21 0.19 0.28 0.22 0.33 1.53 0.1 0.29", "68 70 68 66 63 68 68 0 0"],
|
| 181 |
+
["Model①(Chinese)-zh", "singer3 (male)", "学 会 放 好 以 前 的 渴 望 SP AP", "0.3 0.22 0.29 0.27 0.25 0.44 0.54 0.29 1.03 0.08 0.39", "68 70 68 66 61 68 68 65 66 0 0"],
|
| 182 |
+
["Model①(Chinese)-zh", "singer3 (male)", "SP 我 不 - 是 一 定 要 你 回 - 来 SP", "0.37 0.45 0.47 0.17 0.52 0.28 0.46 0.31 0.44 0.45 0.2 2.54 0.19", "0 51 60 61 59 59 57 57 59 60 61 59 0"], # slur
|
| 183 |
+
["Model①(Chinese)-zh", "singer4 (female)", "AP 我 多 想 再 见 你\n哪 怕 匆 - 匆 一 AP 眼 就 别 离 AP", "0.13 0.24 0.68 0.78 0.86 0.4 0.94 0.54 0.3 0.56 0.16 0.86 0.26 0.22 0.28 0.78 0.68 1.5 0.32", "0 57 66 63 63 63 63 60 61 61 63 66 66 0 61 61 59 58 0"],
|
| 184 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "い じ ん さ ん に つ れ ら れ て", "0.6 0.3 0.3 0.3 0.3 0.6 0.6 0.3 0.3 0.6 0.23", "60 60 60 56 56 56 55 55 55 53 56"],
|
| 185 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "い じ ん さ ん に つ れ ら れ て", "0.6 0.3 0.3 0.3 0.3 0.6 0.6 0.3 0.3 0.6 0.23", "62 62 62 58 58 58 57 57 57 55 58"], # pitch
|
| 186 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "い じ ん さ ん に つ れ ら れ て", "1.2 0.6 0.6 0.6 0.6 1.2 1.2 0.6 0.6 1.2 0.45", "60 60 60 56 56 56 55 55 55 53 56"], # double dur
|
| 187 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "い じ ん さ ん に つ れ ら れ て", "0.3 0.15 0.15 0.15 0.15 0.3 0.3 0.15 0.15 0.3 0.11", "60 60 60 56 56 56 55 55 55 53 56"], # half dur
|
| 188 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "きっ と と べ ば そ ら ま で と ど く AP", "0.39 2.76 0.2 0.2 0.39 0.39 0.2 0.2 0.39 0.2 0.2 0.59 1.08", "64 71 68 69 71 71 69 68 66 68 69 68 0"],
|
| 189 |
+
["Model②(Multilingual)-jp", "singer8 (female)", "じゃ の め で お む か え う れ し い な", "0.43 0.14 0.43 0.14 0.43 0.14 0.43 0.14 0.43 0.14 0.43 0.14 0.65", "60 60 60 62 64 67 69 69 64 64 64 62 60"],
|
| 190 |
+
["Model②(Multilingual)-jp", "singer10 (female)", "お と め わ ら い か ふぁ い や ら い か ん な い す ぶ ろ うぃ ん ぶ ろ うぃ ん い ん ざ うぃ ん", "0.15 0.15 0.15 0.15 0.3 0.15 0.3 0.15 0.15 0.3 0.07 0.07 0.15 0.15 0.15 0.15 0.15 0.15 0.45 0.07 0.07 0.07 0.38 0.07 0.07 0.15 0.15 0.3 0.15 0.15", "67 67 67 67 67 67 69 67 67 69 67 67 64 64 64 64 64 64 62 64 64 62 62 64 64 62 62 59 59 59"],
|
| 191 |
+
]
|
| 192 |
+
|
| 193 |
+
with gr.Blocks() as demo:
|
| 194 |
+
gr.Markdown(
|
| 195 |
+
"""
|
| 196 |
+
<h1 align="center"> Demo of Singing Voice Synthesis in Muskits-ESPnet </h1>
|
| 197 |
+
|
| 198 |
+
<div style="font-size: 20px;">
|
| 199 |
+
This is the demo page of our toolkit <a href="https://arxiv.org/abs/2409.07226"><b>Muskits-ESPnet: A Comprehensive Toolkit for Singing Voice Synthesis in New Paradigm</b></a>.
|
| 200 |
+
|
| 201 |
+
Singing Voice Synthesis (SVS) takes a music score as input and generates singing vocal with the voice of a specific singer.
|
| 202 |
+
|
| 203 |
+
Music score usually includes lyrics, as well as duration and pitch of each word in lyrics,
|
| 204 |
+
|
| 205 |
+
<h2>How to use:</h2>
|
| 206 |
+
<ol>
|
| 207 |
+
<li><b>Choose Model-Language</b>:
|
| 208 |
+
<ul>
|
| 209 |
+
<li>"zh" indicates lyrics input in Chinese, and "jp" indicates lyrics input in Japanese.</li>
|
| 210 |
+
<li>For example, "Model②(Mulitlingual)-zh" means model "Model②(Multilingual)" with lyrics input in Chinese.</li>
|
| 211 |
+
</ul>
|
| 212 |
+
</li>
|
| 213 |
+
<li><b>[Optional] Choose Singer</b>: Choose one singer you like from the drop-down list.</li>
|
| 214 |
+
<li><b>Input lyrics</b>:
|
| 215 |
+
<ul>
|
| 216 |
+
<li>Lyrics use Chinese characters when the language is 'zh' and hiragana when the language is 'jp'.</li>
|
| 217 |
+
<li>Special characters such as 'AP' (breath), 'SP' (silence), and '-' (slur, only for Chinese lyrics) can also be used.</li>
|
| 218 |
+
<li>Lyrics sequence should be separated by either a space (' ') or a newline ('\\n'), without the quotation marks.</li>
|
| 219 |
+
</ul>
|
| 220 |
+
</li>
|
| 221 |
+
<li><b>Input durations</b>:
|
| 222 |
+
<ul>
|
| 223 |
+
<li>Durations use float number as input.</li>
|
| 224 |
+
<li>Length of duration sequence should <b>be same as lyric sequence</b>, with each duration corresponding to the respective lyric.</li>
|
| 225 |
+
<li>Durations sequence should be separated by either a space (' ') or a newline ('\\n'), without the quotation marks.</li>
|
| 226 |
+
</ul>
|
| 227 |
+
</li>
|
| 228 |
+
<li><b>Input pitches</b>:
|
| 229 |
+
<ul>
|
| 230 |
+
<li>Pitches use MIDI note or MIDI note number as input. Specially, "69" in MIDI note number represents "A4" in MIDI note.</li>
|
| 231 |
+
<li>Length of pitch sequence should <b>be same as lyric sequence</b>, with each pitch corresponding to the respective lyric.</li>
|
| 232 |
+
<li>Pitches sequence should be separated by either a space (' ') or a newline ('\\n'), without the quotation marks.</li>
|
| 233 |
+
</ul>
|
| 234 |
+
</li>
|
| 235 |
+
<li><b>Hit "Generate" and listen to the result!</b></li>
|
| 236 |
+
</ol>
|
| 237 |
+
</div>
|
| 238 |
+
|
| 239 |
+
<h2>Notice:</h2>
|
| 240 |
+
<ul>
|
| 241 |
+
<li> Plenty of exmpales are provided. </li>
|
| 242 |
+
<li> Extreme values may result in suboptimal generation quality! </li>
|
| 243 |
+
</ul>
|
| 244 |
+
"""
|
| 245 |
+
)
|
| 246 |
+
# Row-1
|
| 247 |
+
with gr.Row():
|
| 248 |
+
with gr.Column(variant="panel"):
|
| 249 |
+
model_name = gr.Radio(
|
| 250 |
+
label="Model-Language",
|
| 251 |
+
choices=[
|
| 252 |
+
"Model①(Chinese)-zh",
|
| 253 |
+
"Model②(Multilingual)-zh",
|
| 254 |
+
"Model②(Multilingual)-jp",
|
| 255 |
+
],
|
| 256 |
+
)
|
| 257 |
+
|
| 258 |
+
with gr.Column(variant="panel"):
|
| 259 |
+
singer = gr.Dropdown(
|
| 260 |
+
label="Singer",
|
| 261 |
+
choices=total_singers,
|
| 262 |
+
)
|
| 263 |
+
|
| 264 |
+
# def set_model(model_name_str: str):
|
| 265 |
+
# """
|
| 266 |
+
# gets value from `model_name`. either
|
| 267 |
+
# uses cached list of speakers for the given model name
|
| 268 |
+
# or loads the addon and checks what are the speakers.
|
| 269 |
+
# """
|
| 270 |
+
# speakers = list(singer_embeddings[model_name_str].keys())
|
| 271 |
+
# value = speakers[0]
|
| 272 |
+
# return gr.update(
|
| 273 |
+
# choices=speakers, value=value, visible=True, interactive=True
|
| 274 |
+
# )
|
| 275 |
+
|
| 276 |
+
# model_name.change(set_model, inputs=model_name, outputs=singer)
|
| 277 |
+
|
| 278 |
+
# Row-2
|
| 279 |
+
with gr.Row():
|
| 280 |
+
with gr.Column(variant="panel"):
|
| 281 |
+
lyrics = gr.Textbox(label="Lyrics")
|
| 282 |
+
duration = gr.Textbox(label="Duration")
|
| 283 |
+
pitch = gr.Textbox(label="Pitch")
|
| 284 |
+
generate = gr.Button("Generate")
|
| 285 |
+
with gr.Column(variant="panel"):
|
| 286 |
+
gened_song = gr.Audio(label="Generated Song", type="numpy")
|
| 287 |
+
run_status = gr.Textbox(label="Running Status")
|
| 288 |
+
pred_mos = gr.Textbox(label=" Pseudo MOS")
|
| 289 |
+
|
| 290 |
+
gr.Examples(
|
| 291 |
+
examples=examples,
|
| 292 |
+
inputs=[model_name, singer, lyrics, duration, pitch],
|
| 293 |
+
outputs=[singer],
|
| 294 |
+
label="Examples",
|
| 295 |
+
examples_per_page=20,
|
| 296 |
+
)
|
| 297 |
+
|
| 298 |
+
gr.Markdown("""
|
| 299 |
+
<div style='margin:20px auto;'>
|
| 300 |
+
|
| 301 |
+
<p>References: <a href="https://arxiv.org/abs/2409.07226">Muskits-ESPnet paper</a> |
|
| 302 |
+
<a href="https://github.com/espnet/espnet">espnet</a> |
|
| 303 |
+
<a href="https://huggingface.co/espnet/aceopencpop_svs_visinger2_40singer_pretrain">Model①(Chinese)</a> |
|
| 304 |
+
<a href="https://huggingface.co/espnet/mixdata_svs_visinger2_spkembed_lang_pretrained">Model②(Multilingual)</a></p>
|
| 305 |
+
|
| 306 |
+
</div>
|
| 307 |
+
"""
|
| 308 |
+
)
|
| 309 |
+
|
| 310 |
+
generate.click(
|
| 311 |
+
fn=gen_song,
|
| 312 |
+
inputs=[model_name, singer, lyrics, duration, pitch],
|
| 313 |
+
outputs=[gened_song, run_status, pred_mos],
|
| 314 |
+
)
|
| 315 |
+
|
| 316 |
+
demo.launch()
|
requirements.txt
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
git+https://github.com/South-Twilight/espnet
|
| 2 |
+
torch
|
| 3 |
+
numpy
|
| 4 |
+
librosa
|
| 5 |
+
espnet_model_zoo
|
| 6 |
+
importlib
|
| 7 |
+
pathlib
|
| 8 |
+
pypinyin
|
| 9 |
+
torchaudio
|
| 10 |
+
pyopenjtalk
|
resource/Muskits_ESPnet_logo.png
ADDED
|
resource/__init__.py
ADDED
|
File without changes
|
resource/all_plans.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
resource/midi-note.scp
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
G9 127
|
| 2 |
+
F#9 126
|
| 3 |
+
Gb9 126
|
| 4 |
+
F9 125
|
| 5 |
+
E9 124
|
| 6 |
+
D#9 123
|
| 7 |
+
Eb9 123
|
| 8 |
+
D9 122
|
| 9 |
+
C#9 121
|
| 10 |
+
Db9 121
|
| 11 |
+
C9 120
|
| 12 |
+
B8 119
|
| 13 |
+
A#8 118
|
| 14 |
+
Bb8 118
|
| 15 |
+
A8 117
|
| 16 |
+
G#8 116
|
| 17 |
+
Ab8 116
|
| 18 |
+
G8 115
|
| 19 |
+
F#8 114
|
| 20 |
+
Gb8 114
|
| 21 |
+
F8 113
|
| 22 |
+
E8 112
|
| 23 |
+
D#8 111
|
| 24 |
+
Eb8 111
|
| 25 |
+
D8 110
|
| 26 |
+
C#8 109
|
| 27 |
+
Db8 109
|
| 28 |
+
C8 108
|
| 29 |
+
B7 107
|
| 30 |
+
A#7 106
|
| 31 |
+
Bb7 106
|
| 32 |
+
A7 105
|
| 33 |
+
G#7 104
|
| 34 |
+
Ab7 104
|
| 35 |
+
G7 103
|
| 36 |
+
F#7 102
|
| 37 |
+
Gb7 102
|
| 38 |
+
F7 101
|
| 39 |
+
E7 100
|
| 40 |
+
D#7 99
|
| 41 |
+
Eb7 99
|
| 42 |
+
D7 98
|
| 43 |
+
C#7 97
|
| 44 |
+
Db7 97
|
| 45 |
+
C7 96
|
| 46 |
+
B6 95
|
| 47 |
+
A#6 94
|
| 48 |
+
Bb6 94
|
| 49 |
+
A6 93
|
| 50 |
+
G#6 92
|
| 51 |
+
Ab6 92
|
| 52 |
+
G6 91
|
| 53 |
+
F#6 90
|
| 54 |
+
Gb6 90
|
| 55 |
+
F6 89
|
| 56 |
+
E6 88
|
| 57 |
+
D#6 87
|
| 58 |
+
Eb6 87
|
| 59 |
+
D6 86
|
| 60 |
+
C#6 85
|
| 61 |
+
Db6 85
|
| 62 |
+
C6 84
|
| 63 |
+
B5 83
|
| 64 |
+
A#5 82
|
| 65 |
+
Bb5 82
|
| 66 |
+
A5 81
|
| 67 |
+
G#5 80
|
| 68 |
+
Ab5 80
|
| 69 |
+
G5 79
|
| 70 |
+
F#5 78
|
| 71 |
+
Gb5 78
|
| 72 |
+
F5 77
|
| 73 |
+
E5 76
|
| 74 |
+
D#5 75
|
| 75 |
+
Eb5 75
|
| 76 |
+
D5 74
|
| 77 |
+
C#5 73
|
| 78 |
+
Db5 73
|
| 79 |
+
C5 72
|
| 80 |
+
B4 71
|
| 81 |
+
A#4 70
|
| 82 |
+
Bb4 70
|
| 83 |
+
A4 69
|
| 84 |
+
G#4 68
|
| 85 |
+
Ab4 68
|
| 86 |
+
G4 67
|
| 87 |
+
F#4 66
|
| 88 |
+
Gb4 66
|
| 89 |
+
F4 65
|
| 90 |
+
E4 64
|
| 91 |
+
D#4 63
|
| 92 |
+
Eb4 63
|
| 93 |
+
D4 62
|
| 94 |
+
C#4 61
|
| 95 |
+
Db4 61
|
| 96 |
+
C4 60
|
| 97 |
+
B3 59
|
| 98 |
+
A#3 58
|
| 99 |
+
Bb3 58
|
| 100 |
+
A3 57
|
| 101 |
+
G#3 56
|
| 102 |
+
Ab3 56
|
| 103 |
+
G3 55
|
| 104 |
+
F#3 54
|
| 105 |
+
Gb3 54
|
| 106 |
+
F3 53
|
| 107 |
+
E3 52
|
| 108 |
+
D#3 51
|
| 109 |
+
Eb3 51
|
| 110 |
+
D3 50
|
| 111 |
+
C#3 49
|
| 112 |
+
Db3 49
|
| 113 |
+
C3 48
|
| 114 |
+
B2 47
|
| 115 |
+
A#2 46
|
| 116 |
+
Bb2 46
|
| 117 |
+
A2 45
|
| 118 |
+
G#2 44
|
| 119 |
+
Ab2 44
|
| 120 |
+
G2 43
|
| 121 |
+
F#2 42
|
| 122 |
+
Gb2 42
|
| 123 |
+
F2 41
|
| 124 |
+
E2 40
|
| 125 |
+
D#2 39
|
| 126 |
+
Eb2 39
|
| 127 |
+
D2 38
|
| 128 |
+
C#2 37
|
| 129 |
+
Db2 37
|
| 130 |
+
C2 36
|
| 131 |
+
B1 35
|
| 132 |
+
A#1 34
|
| 133 |
+
Bb1 34
|
| 134 |
+
A1 33
|
| 135 |
+
G#1 32
|
| 136 |
+
Ab1 32
|
| 137 |
+
G1 31
|
| 138 |
+
F#1 30
|
| 139 |
+
Gb1 30
|
| 140 |
+
F1 29
|
| 141 |
+
E1 28
|
| 142 |
+
D#1 27
|
| 143 |
+
Eb1 27
|
| 144 |
+
D1 26
|
| 145 |
+
C#1 25
|
| 146 |
+
Db1 25
|
| 147 |
+
C1 24
|
| 148 |
+
B0 23
|
| 149 |
+
A#0 22
|
| 150 |
+
Bb0 22
|
| 151 |
+
A0 21
|
| 152 |
+
rest 0
|
resource/pinyin_dict.py
ADDED
|
@@ -0,0 +1,423 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Adapted from Opencpop's pinyin to phoneme mapping table:
|
| 2 |
+
# https://wenet.org.cn/opencpop/resources/annotationformat/
|
| 3 |
+
PINYIN_DICT = {
|
| 4 |
+
"a": ("a",),
|
| 5 |
+
"ai": ("ai",),
|
| 6 |
+
"an": ("an",),
|
| 7 |
+
"ang": ("ang",),
|
| 8 |
+
"ao": ("ao",),
|
| 9 |
+
"ba": ("b", "a"),
|
| 10 |
+
"bai": ("b", "ai"),
|
| 11 |
+
"ban": ("b", "an"),
|
| 12 |
+
"bang": ("b", "ang"),
|
| 13 |
+
"bao": ("b", "ao"),
|
| 14 |
+
"bei": ("b", "ei"),
|
| 15 |
+
"ben": ("b", "en"),
|
| 16 |
+
"beng": ("b", "eng"),
|
| 17 |
+
"bi": ("b", "i"),
|
| 18 |
+
"bian": ("b", "ian"),
|
| 19 |
+
"biao": ("b", "iao"),
|
| 20 |
+
"bie": ("b", "ie"),
|
| 21 |
+
"bin": ("b", "in"),
|
| 22 |
+
"bing": ("b", "ing"),
|
| 23 |
+
"bo": ("b", "o"),
|
| 24 |
+
"bu": ("b", "u"),
|
| 25 |
+
"ca": ("c", "a"),
|
| 26 |
+
"cai": ("c", "ai"),
|
| 27 |
+
"can": ("c", "an"),
|
| 28 |
+
"cang": ("c", "ang"),
|
| 29 |
+
"cao": ("c", "ao"),
|
| 30 |
+
"ce": ("c", "e"),
|
| 31 |
+
"cei": ("c", "ei"),
|
| 32 |
+
"cen": ("c", "en"),
|
| 33 |
+
"ceng": ("c", "eng"),
|
| 34 |
+
"cha": ("ch", "a"),
|
| 35 |
+
"chai": ("ch", "ai"),
|
| 36 |
+
"chan": ("ch", "an"),
|
| 37 |
+
"chang": ("ch", "ang"),
|
| 38 |
+
"chao": ("ch", "ao"),
|
| 39 |
+
"che": ("ch", "e"),
|
| 40 |
+
"chen": ("ch", "en"),
|
| 41 |
+
"cheng": ("ch", "eng"),
|
| 42 |
+
"chi": ("ch", "i"),
|
| 43 |
+
"chong": ("ch", "ong"),
|
| 44 |
+
"chou": ("ch", "ou"),
|
| 45 |
+
"chu": ("ch", "u"),
|
| 46 |
+
"chua": ("ch", "ua"),
|
| 47 |
+
"chuai": ("ch", "uai"),
|
| 48 |
+
"chuan": ("ch", "uan"),
|
| 49 |
+
"chuang": ("ch", "uang"),
|
| 50 |
+
"chui": ("ch", "ui"),
|
| 51 |
+
"chun": ("ch", "un"),
|
| 52 |
+
"chuo": ("ch", "uo"),
|
| 53 |
+
"ci": ("c", "i"),
|
| 54 |
+
"cong": ("c", "ong"),
|
| 55 |
+
"cou": ("c", "ou"),
|
| 56 |
+
"cu": ("c", "u"),
|
| 57 |
+
"cuan": ("c", "uan"),
|
| 58 |
+
"cui": ("c", "ui"),
|
| 59 |
+
"cun": ("c", "un"),
|
| 60 |
+
"cuo": ("c", "uo"),
|
| 61 |
+
"da": ("d", "a"),
|
| 62 |
+
"dai": ("d", "ai"),
|
| 63 |
+
"dan": ("d", "an"),
|
| 64 |
+
"dang": ("d", "ang"),
|
| 65 |
+
"dao": ("d", "ao"),
|
| 66 |
+
"de": ("d", "e"),
|
| 67 |
+
"dei": ("d", "ei"),
|
| 68 |
+
"den": ("d", "en"),
|
| 69 |
+
"deng": ("d", "eng"),
|
| 70 |
+
"di": ("d", "i"),
|
| 71 |
+
"dia": ("d", "ia"),
|
| 72 |
+
"dian": ("d", "ian"),
|
| 73 |
+
"diao": ("d", "iao"),
|
| 74 |
+
"die": ("d", "ie"),
|
| 75 |
+
"ding": ("d", "ing"),
|
| 76 |
+
"diu": ("d", "iu"),
|
| 77 |
+
"dong": ("d", "ong"),
|
| 78 |
+
"dou": ("d", "ou"),
|
| 79 |
+
"du": ("d", "u"),
|
| 80 |
+
"duan": ("d", "uan"),
|
| 81 |
+
"dui": ("d", "ui"),
|
| 82 |
+
"dun": ("d", "un"),
|
| 83 |
+
"duo": ("d", "uo"),
|
| 84 |
+
"e": ("e",),
|
| 85 |
+
"ei": ("ei",),
|
| 86 |
+
"en": ("en",),
|
| 87 |
+
"eng": ("eng",),
|
| 88 |
+
"er": ("er",),
|
| 89 |
+
"fa": ("f", "a"),
|
| 90 |
+
"fan": ("f", "an"),
|
| 91 |
+
"fang": ("f", "ang"),
|
| 92 |
+
"fei": ("f", "ei"),
|
| 93 |
+
"fen": ("f", "en"),
|
| 94 |
+
"feng": ("f", "eng"),
|
| 95 |
+
"fo": ("f", "o"),
|
| 96 |
+
"fou": ("f", "ou"),
|
| 97 |
+
"fu": ("f", "u"),
|
| 98 |
+
"ga": ("g", "a"),
|
| 99 |
+
"gai": ("g", "ai"),
|
| 100 |
+
"gan": ("g", "an"),
|
| 101 |
+
"gang": ("g", "ang"),
|
| 102 |
+
"gao": ("g", "ao"),
|
| 103 |
+
"ge": ("g", "e"),
|
| 104 |
+
"gei": ("g", "ei"),
|
| 105 |
+
"gen": ("g", "en"),
|
| 106 |
+
"geng": ("g", "eng"),
|
| 107 |
+
"gong": ("g", "ong"),
|
| 108 |
+
"gou": ("g", "ou"),
|
| 109 |
+
"gu": ("g", "u"),
|
| 110 |
+
"gua": ("g", "ua"),
|
| 111 |
+
"guai": ("g", "uai"),
|
| 112 |
+
"guan": ("g", "uan"),
|
| 113 |
+
"guang": ("g", "uang"),
|
| 114 |
+
"gui": ("g", "ui"),
|
| 115 |
+
"gun": ("g", "un"),
|
| 116 |
+
"guo": ("g", "uo"),
|
| 117 |
+
"ha": ("h", "a"),
|
| 118 |
+
"hai": ("h", "ai"),
|
| 119 |
+
"han": ("h", "an"),
|
| 120 |
+
"hang": ("h", "ang"),
|
| 121 |
+
"hao": ("h", "ao"),
|
| 122 |
+
"he": ("h", "e"),
|
| 123 |
+
"hei": ("h", "ei"),
|
| 124 |
+
"hen": ("h", "en"),
|
| 125 |
+
"heng": ("h", "eng"),
|
| 126 |
+
"hm": ("h", "m"),
|
| 127 |
+
"hng": ("h", "ng"),
|
| 128 |
+
"hong": ("h", "ong"),
|
| 129 |
+
"hou": ("h", "ou"),
|
| 130 |
+
"hu": ("h", "u"),
|
| 131 |
+
"hua": ("h", "ua"),
|
| 132 |
+
"huai": ("h", "uai"),
|
| 133 |
+
"huan": ("h", "uan"),
|
| 134 |
+
"huang": ("h", "uang"),
|
| 135 |
+
"hui": ("h", "ui"),
|
| 136 |
+
"hun": ("h", "un"),
|
| 137 |
+
"huo": ("h", "uo"),
|
| 138 |
+
"ji": ("j", "i"),
|
| 139 |
+
"jia": ("j", "ia"),
|
| 140 |
+
"jian": ("j", "ian"),
|
| 141 |
+
"jiang": ("j", "iang"),
|
| 142 |
+
"jiao": ("j", "iao"),
|
| 143 |
+
"jie": ("j", "ie"),
|
| 144 |
+
"jin": ("j", "in"),
|
| 145 |
+
"jing": ("j", "ing"),
|
| 146 |
+
"jiong": ("j", "iong"),
|
| 147 |
+
"jiu": ("j", "iu"),
|
| 148 |
+
"ju": ("j", "v"),
|
| 149 |
+
"juan": ("j", "van"),
|
| 150 |
+
"jue": ("j", "ve"),
|
| 151 |
+
"jun": ("j", "vn"),
|
| 152 |
+
"ka": ("k", "a"),
|
| 153 |
+
"kai": ("k", "ai"),
|
| 154 |
+
"kan": ("k", "an"),
|
| 155 |
+
"kang": ("k", "ang"),
|
| 156 |
+
"kao": ("k", "ao"),
|
| 157 |
+
"ke": ("k", "e"),
|
| 158 |
+
"kei": ("k", "ei"),
|
| 159 |
+
"ken": ("k", "en"),
|
| 160 |
+
"keng": ("k", "eng"),
|
| 161 |
+
"kong": ("k", "ong"),
|
| 162 |
+
"kou": ("k", "ou"),
|
| 163 |
+
"ku": ("k", "u"),
|
| 164 |
+
"kua": ("k", "ua"),
|
| 165 |
+
"kuai": ("k", "uai"),
|
| 166 |
+
"kuan": ("k", "uan"),
|
| 167 |
+
"kuang": ("k", "uang"),
|
| 168 |
+
"kui": ("k", "ui"),
|
| 169 |
+
"kun": ("k", "un"),
|
| 170 |
+
"kuo": ("k", "uo"),
|
| 171 |
+
"la": ("l", "a"),
|
| 172 |
+
"lai": ("l", "ai"),
|
| 173 |
+
"lan": ("l", "an"),
|
| 174 |
+
"lang": ("l", "ang"),
|
| 175 |
+
"lao": ("l", "ao"),
|
| 176 |
+
"le": ("l", "e"),
|
| 177 |
+
"lei": ("l", "ei"),
|
| 178 |
+
"leng": ("l", "eng"),
|
| 179 |
+
"li": ("l", "i"),
|
| 180 |
+
"lia": ("l", "ia"),
|
| 181 |
+
"lian": ("l", "ian"),
|
| 182 |
+
"liang": ("l", "iang"),
|
| 183 |
+
"liao": ("l", "iao"),
|
| 184 |
+
"lie": ("l", "ie"),
|
| 185 |
+
"lin": ("l", "in"),
|
| 186 |
+
"ling": ("l", "ing"),
|
| 187 |
+
"liu": ("l", "iu"),
|
| 188 |
+
"lo": ("l", "o"),
|
| 189 |
+
"long": ("l", "ong"),
|
| 190 |
+
"lou": ("l", "ou"),
|
| 191 |
+
"lu": ("l", "u"),
|
| 192 |
+
"luan": ("l", "uan"),
|
| 193 |
+
"lun": ("l", "un"),
|
| 194 |
+
"luo": ("l", "uo"),
|
| 195 |
+
"lv": ("l", "v"),
|
| 196 |
+
"lve": ("l", "ve"),
|
| 197 |
+
"m": ("m",),
|
| 198 |
+
"ma": ("m", "a"),
|
| 199 |
+
"mai": ("m", "ai"),
|
| 200 |
+
"man": ("m", "an"),
|
| 201 |
+
"mang": ("m", "ang"),
|
| 202 |
+
"mao": ("m", "ao"),
|
| 203 |
+
"me": ("m", "e"),
|
| 204 |
+
"mei": ("m", "ei"),
|
| 205 |
+
"men": ("m", "en"),
|
| 206 |
+
"meng": ("m", "eng"),
|
| 207 |
+
"mi": ("m", "i"),
|
| 208 |
+
"mian": ("m", "ian"),
|
| 209 |
+
"miao": ("m", "iao"),
|
| 210 |
+
"mie": ("m", "ie"),
|
| 211 |
+
"min": ("m", "in"),
|
| 212 |
+
"ming": ("m", "ing"),
|
| 213 |
+
"miu": ("m", "iu"),
|
| 214 |
+
"mo": ("m", "o"),
|
| 215 |
+
"mou": ("m", "ou"),
|
| 216 |
+
"mu": ("m", "u"),
|
| 217 |
+
"n": ("n",),
|
| 218 |
+
"na": ("n", "a"),
|
| 219 |
+
"nai": ("n", "ai"),
|
| 220 |
+
"nan": ("n", "an"),
|
| 221 |
+
"nang": ("n", "ang"),
|
| 222 |
+
"nao": ("n", "ao"),
|
| 223 |
+
"ne": ("n", "e"),
|
| 224 |
+
"nei": ("n", "ei"),
|
| 225 |
+
"nen": ("n", "en"),
|
| 226 |
+
"neng": ("n", "eng"),
|
| 227 |
+
"ng": ("n", "g"),
|
| 228 |
+
"ni": ("n", "i"),
|
| 229 |
+
"nian": ("n", "ian"),
|
| 230 |
+
"niang": ("n", "iang"),
|
| 231 |
+
"niao": ("n", "iao"),
|
| 232 |
+
"nie": ("n", "ie"),
|
| 233 |
+
"nin": ("n", "in"),
|
| 234 |
+
"ning": ("n", "ing"),
|
| 235 |
+
"niu": ("n", "iu"),
|
| 236 |
+
"nong": ("n", "ong"),
|
| 237 |
+
"nou": ("n", "ou"),
|
| 238 |
+
"nu": ("n", "u"),
|
| 239 |
+
"nuan": ("n", "uan"),
|
| 240 |
+
"nun": ("n", "un"),
|
| 241 |
+
"nuo": ("n", "uo"),
|
| 242 |
+
"nv": ("n", "v"),
|
| 243 |
+
"nve": ("n", "ve"),
|
| 244 |
+
"o": ("o",),
|
| 245 |
+
"ou": ("ou",),
|
| 246 |
+
"pa": ("p", "a"),
|
| 247 |
+
"pai": ("p", "ai"),
|
| 248 |
+
"pan": ("p", "an"),
|
| 249 |
+
"pang": ("p", "ang"),
|
| 250 |
+
"pao": ("p", "ao"),
|
| 251 |
+
"pei": ("p", "ei"),
|
| 252 |
+
"pen": ("p", "en"),
|
| 253 |
+
"peng": ("p", "eng"),
|
| 254 |
+
"pi": ("p", "i"),
|
| 255 |
+
"pian": ("p", "ian"),
|
| 256 |
+
"piao": ("p", "iao"),
|
| 257 |
+
"pie": ("p", "ie"),
|
| 258 |
+
"pin": ("p", "in"),
|
| 259 |
+
"ping": ("p", "ing"),
|
| 260 |
+
"po": ("p", "o"),
|
| 261 |
+
"pou": ("p", "ou"),
|
| 262 |
+
"pu": ("p", "u"),
|
| 263 |
+
"qi": ("q", "i"),
|
| 264 |
+
"qia": ("q", "ia"),
|
| 265 |
+
"qian": ("q", "ian"),
|
| 266 |
+
"qiang": ("q", "iang"),
|
| 267 |
+
"qiao": ("q", "iao"),
|
| 268 |
+
"qie": ("q", "ie"),
|
| 269 |
+
"qin": ("q", "in"),
|
| 270 |
+
"qing": ("q", "ing"),
|
| 271 |
+
"qiong": ("q", "iong"),
|
| 272 |
+
"qiu": ("q", "iu"),
|
| 273 |
+
"qu": ("q", "v"),
|
| 274 |
+
"quan": ("q", "van"),
|
| 275 |
+
"que": ("q", "ve"),
|
| 276 |
+
"qun": ("q", "vn"),
|
| 277 |
+
"ran": ("r", "an"),
|
| 278 |
+
"rang": ("r", "ang"),
|
| 279 |
+
"rao": ("r", "ao"),
|
| 280 |
+
"re": ("r", "e"),
|
| 281 |
+
"ren": ("r", "en"),
|
| 282 |
+
"reng": ("r", "eng"),
|
| 283 |
+
"ri": ("r", "i"),
|
| 284 |
+
"rong": ("r", "ong"),
|
| 285 |
+
"rou": ("r", "ou"),
|
| 286 |
+
"ru": ("r", "u"),
|
| 287 |
+
"rua": ("r", "ua"),
|
| 288 |
+
"ruan": ("r", "uan"),
|
| 289 |
+
"rui": ("r", "ui"),
|
| 290 |
+
"run": ("r", "un"),
|
| 291 |
+
"ruo": ("r", "uo"),
|
| 292 |
+
"sa": ("s", "a"),
|
| 293 |
+
"sai": ("s", "ai"),
|
| 294 |
+
"san": ("s", "an"),
|
| 295 |
+
"sang": ("s", "ang"),
|
| 296 |
+
"sao": ("s", "ao"),
|
| 297 |
+
"se": ("s", "e"),
|
| 298 |
+
"sen": ("s", "en"),
|
| 299 |
+
"seng": ("s", "eng"),
|
| 300 |
+
"sha": ("sh", "a"),
|
| 301 |
+
"shai": ("sh", "ai"),
|
| 302 |
+
"shan": ("sh", "an"),
|
| 303 |
+
"shang": ("sh", "ang"),
|
| 304 |
+
"shao": ("sh", "ao"),
|
| 305 |
+
"she": ("sh", "e"),
|
| 306 |
+
"shei": ("sh", "ei"),
|
| 307 |
+
"shen": ("sh", "en"),
|
| 308 |
+
"sheng": ("sh", "eng"),
|
| 309 |
+
"shi": ("sh", "i"),
|
| 310 |
+
"shou": ("sh", "ou"),
|
| 311 |
+
"shu": ("sh", "u"),
|
| 312 |
+
"shua": ("sh", "ua"),
|
| 313 |
+
"shuai": ("sh", "uai"),
|
| 314 |
+
"shuan": ("sh", "uan"),
|
| 315 |
+
"shuang": ("sh", "uang"),
|
| 316 |
+
"shui": ("sh", "ui"),
|
| 317 |
+
"shun": ("sh", "un"),
|
| 318 |
+
"shuo": ("sh", "uo"),
|
| 319 |
+
"si": ("s", "i"),
|
| 320 |
+
"song": ("s", "ong"),
|
| 321 |
+
"sou": ("s", "ou"),
|
| 322 |
+
"su": ("s", "u"),
|
| 323 |
+
"suan": ("s", "uan"),
|
| 324 |
+
"sui": ("s", "ui"),
|
| 325 |
+
"sun": ("s", "un"),
|
| 326 |
+
"suo": ("s", "uo"),
|
| 327 |
+
"ta": ("t", "a"),
|
| 328 |
+
"tai": ("t", "ai"),
|
| 329 |
+
"tan": ("t", "an"),
|
| 330 |
+
"tang": ("t", "ang"),
|
| 331 |
+
"tao": ("t", "ao"),
|
| 332 |
+
"te": ("t", "e"),
|
| 333 |
+
"tei": ("t", "ei"),
|
| 334 |
+
"teng": ("t", "eng"),
|
| 335 |
+
"ti": ("t", "i"),
|
| 336 |
+
"tian": ("t", "ian"),
|
| 337 |
+
"tiao": ("t", "iao"),
|
| 338 |
+
"tie": ("t", "ie"),
|
| 339 |
+
"ting": ("t", "ing"),
|
| 340 |
+
"tong": ("t", "ong"),
|
| 341 |
+
"tou": ("t", "ou"),
|
| 342 |
+
"tu": ("t", "u"),
|
| 343 |
+
"tuan": ("t", "uan"),
|
| 344 |
+
"tui": ("t", "ui"),
|
| 345 |
+
"tun": ("t", "un"),
|
| 346 |
+
"tuo": ("t", "uo"),
|
| 347 |
+
"wa": ("w", "a"),
|
| 348 |
+
"wai": ("w", "ai"),
|
| 349 |
+
"wan": ("w", "an"),
|
| 350 |
+
"wang": ("w", "ang"),
|
| 351 |
+
"wei": ("w", "ei"),
|
| 352 |
+
"wen": ("w", "en"),
|
| 353 |
+
"weng": ("w", "eng"),
|
| 354 |
+
"wo": ("w", "o"),
|
| 355 |
+
"wu": ("w", "u"),
|
| 356 |
+
"xi": ("x", "i"),
|
| 357 |
+
"xia": ("x", "ia"),
|
| 358 |
+
"xian": ("x", "ian"),
|
| 359 |
+
"xiang": ("x", "iang"),
|
| 360 |
+
"xiao": ("x", "iao"),
|
| 361 |
+
"xie": ("x", "ie"),
|
| 362 |
+
"xin": ("x", "in"),
|
| 363 |
+
"xing": ("x", "ing"),
|
| 364 |
+
"xiong": ("x", "iong"),
|
| 365 |
+
"xiu": ("x", "iu"),
|
| 366 |
+
"xu": ("x", "v"),
|
| 367 |
+
"xuan": ("x", "van"),
|
| 368 |
+
"xue": ("x", "ve"),
|
| 369 |
+
"xun": ("x", "vn"),
|
| 370 |
+
"ya": ("y", "a"),
|
| 371 |
+
"yan": ("y", "an"),
|
| 372 |
+
"yang": ("y", "ang"),
|
| 373 |
+
"yao": ("y", "ao"),
|
| 374 |
+
"ye": ("y", "e"),
|
| 375 |
+
"yi": ("y", "i"),
|
| 376 |
+
"yin": ("y", "in"),
|
| 377 |
+
"ying": ("y", "ing"),
|
| 378 |
+
"yo": ("y", "o"),
|
| 379 |
+
"yong": ("y", "ong"),
|
| 380 |
+
"you": ("y", "ou"),
|
| 381 |
+
"yu": ("y", "v"),
|
| 382 |
+
"yuan": ("y", "van"),
|
| 383 |
+
"yue": ("y", "ve"),
|
| 384 |
+
"yun": ("y", "vn"),
|
| 385 |
+
"za": ("z", "a"),
|
| 386 |
+
"zai": ("z", "ai"),
|
| 387 |
+
"zan": ("z", "an"),
|
| 388 |
+
"zang": ("z", "ang"),
|
| 389 |
+
"zao": ("z", "ao"),
|
| 390 |
+
"ze": ("z", "e"),
|
| 391 |
+
"zei": ("z", "ei"),
|
| 392 |
+
"zen": ("z", "en"),
|
| 393 |
+
"zeng": ("z", "eng"),
|
| 394 |
+
"zha": ("zh", "a"),
|
| 395 |
+
"zhai": ("zh", "ai"),
|
| 396 |
+
"zhan": ("zh", "an"),
|
| 397 |
+
"zhang": ("zh", "ang"),
|
| 398 |
+
"zhao": ("zh", "ao"),
|
| 399 |
+
"zhe": ("zh", "e"),
|
| 400 |
+
"zhei": ("zh", "ei"),
|
| 401 |
+
"zhen": ("zh", "en"),
|
| 402 |
+
"zheng": ("zh", "eng"),
|
| 403 |
+
"zhi": ("zh", "i"),
|
| 404 |
+
"zhong": ("zh", "ong"),
|
| 405 |
+
"zhou": ("zh", "ou"),
|
| 406 |
+
"zhu": ("zh", "u"),
|
| 407 |
+
"zhua": ("zh", "ua"),
|
| 408 |
+
"zhuai": ("zh", "uai"),
|
| 409 |
+
"zhuan": ("zh", "uan"),
|
| 410 |
+
"zhuang": ("zh", "uang"),
|
| 411 |
+
"zhui": ("zh", "ui"),
|
| 412 |
+
"zhun": ("zh", "un"),
|
| 413 |
+
"zhuo": ("zh", "uo"),
|
| 414 |
+
"zi": ("z", "i"),
|
| 415 |
+
"zong": ("z", "ong"),
|
| 416 |
+
"zou": ("z", "ou"),
|
| 417 |
+
"zu": ("z", "u"),
|
| 418 |
+
"zuan": ("z", "uan"),
|
| 419 |
+
"zui": ("z", "ui"),
|
| 420 |
+
"zun": ("z", "un"),
|
| 421 |
+
"zuo": ("z", "uo"),
|
| 422 |
+
}
|
| 423 |
+
|
resource/singer/singer_embedding_ace-1.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ac07d73eb172609c87329b35af91f0d27c1c20c30dcd90f23f1d4eb8c6450ca6
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-10.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e6b4da3cb369b0d4f2bcdb76986e6fbfb3ebba727a8e5a899227d6b70f73769d
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-11.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cf65222a416d9786feea3ac91672683727973aa7f7a89b533117a2bdf5dd706b
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-12.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4f07e7da7629c222318beaafee2b43f913be6f5137842f7d771225bb76268c7f
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-13.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:edfc4aba22a1adb4680a70ab872d2522a12587180d91176d64b03bdb4f181dfd
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-14.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6f43b58502afc550af2eff7c358e370b72433163b319b97b4c3b3d3eff9557ce
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-15.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ee8771b428b1f2bd5f680d54287eff436b3a9b84c6dd15797502942fe22ad18b
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-16.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:edea4a167679d619d66fc972a273b310290f9e5eac75a7857e81a7f25286b67b
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-17.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2bffeb7f3364168310939320f885d3ccf1502915365873050602eac7b557b12f
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-18.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7e3ffe2c7f0e583f97d58c13bc7318e64f1a33c0549e171f01d90c1fc0659a10
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-19.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:32d8abcf1ce64bdbe38c959a43103da2f08b7e0399de1de44ab0ba64caf63deb
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-2.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:11410fa00026e13862d6636e77e3f8932b6f1986ceec3039dc5ebfcfb865cd8e
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-20.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:911d7f112b52b8644742d18c97346a5d10731dc2f001c3523297e01641e22b21
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-21.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4c62c1b06d0448bdc3709d994bb54593a41d27356f1cabd6ec5818cf523ee66f
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-22.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:db4b2821e3a955da34a3369f36f7eac366fd7c7e742f43676d753ca5f60ba7fa
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-23.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a9e98c6885c860bd9393c6829a430c9956dd6d0a7e286dc0e19e58a8cdb26ddc
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-24.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5753ebb8bed09c7d03565166282c38def512c9a686f8cc6ce672b0ad71d7fd7c
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-25.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cfdeb67333e1c316bc50ef9ce05cd4e894f9ad3af307a5c41e5cf2314a021fc3
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-26.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ea4a02e11fa0287f247f057396e70bde203883c00f0fbb266bc28ecff44a1533
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-27.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eecbf3c017c1b6cffbc5ae393a6f78544154ab1e88f714904f56889a1065a74f
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-28.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b3f23bf949e26a7486aa0d8905b79bd80af6ab77afa1f7f5e6c8d6ac074558ff
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-29.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7b6807858aff6652a354e2945ca36de2cce5f766d09e0a14efcca6cc5576a2bd
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-3.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ab0dd74df2d47ee5de50eab7adc0a771b52e1cb10ebabdf47620001027a6f113
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-30.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7d0f99a41d7b459e5e96bea65ac793d68d62e92c75c42e0bfb0e04d8c0313ad3
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-4.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3c0361d54e0df795e1d60b8d10d32e459aadcd0a867ba1888c36a9c6f09b2eb2
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-5.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50a9b21470c213422954ce1ce3f1cc8d5c295862896acc9fb772fa5c54f8bb57
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-6.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c3a7de10b1f824cc6ed4f4c203a434fa0990bc6cf58e9e1c73c3103b92041a0c
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-7.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ce7059ef8ae835777f53e3c89af722773f0e5792eeced0a4c131c1aeeeb342f1
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-8.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b27ddeda52d4e2298d95c77ae85d22d35ac83393f3b00417d21041be38ebacf3
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ace-9.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:17547452ee7b536dbf3ccda567cd0230bf53f103c27d66687a1ca8959782b45c
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_ameboshi.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:58f65d89d76060bb5406cdde4001bde87c29b0ef3fefd3a2072ab937a379cc9c
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_itako.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c94e137f090bb8376114a3aadf42423db4e59d0236a46049f8cee9c387fd5fd6
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kiritan.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:68583154587392d29729c270bc82778c203bbfe2f2101f5ec5bc68c8aa40bd22
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_barber.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5643c312089790dc95d97e4a8b24f152d7e4caa703170143f1c1f9ecb0179564
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_blanca.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fec31eacdb733f13185daf155f75d73f0fdcf1eda1cce92d02b93d02878da3e0
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_changge.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f0ad51d26b771f2460b146a8984bab73f929e943ce15932c287f6252a241026a
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_chuci.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:764e6424b167dd4ff798f7c608985de31e6dadea68ee578b5dd66eba938cc835
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_chuming.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c4d1847080412e765208bdc09db64cf1e117e998e410e3afe6c061171afcab92
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_crimson.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9c6a67b36899aa0f4c62144fa63fc719e2448618fc730a0073ad66b16ee59593
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_david.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eef8cd6416850059b5e8fc7c11a8fc2fb2165ea59177623133e33a30497a41b0
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_dvaid.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8ae99f524321f6836c71e83115308ba1117f7235b352f8c2135489bcd54dde5f
|
| 3 |
+
size 896
|
resource/singer/singer_embedding_kising_ghost.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ed8b0f26a4bf60b5dea57c2bad28c1757052d04fcb131b64515da95cd2addcfa
|
| 3 |
+
size 896
|