TangRain commited on
Commit
8d24b90
1 Parent(s): 11fadcc

test adding photo and add speaker embedding:

Browse files

1) test the function to add new logo
2) add pretrained speaker embedding file

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. app.py +78 -71
  2. resource/Muskits_ESPnet_logo.png +0 -0
  3. resource/all_plans.json +0 -0
  4. midi-note.scp → resource/midi-note.scp +0 -0
  5. pinyin_dict.py → resource/pinyin_dict.py +0 -2
  6. resource/singer/singer_embedding_ace-1.npy +3 -0
  7. resource/singer/singer_embedding_ace-10.npy +3 -0
  8. resource/singer/singer_embedding_ace-11.npy +3 -0
  9. resource/singer/singer_embedding_ace-12.npy +3 -0
  10. resource/singer/singer_embedding_ace-13.npy +3 -0
  11. resource/singer/singer_embedding_ace-14.npy +3 -0
  12. resource/singer/singer_embedding_ace-15.npy +3 -0
  13. resource/singer/singer_embedding_ace-16.npy +3 -0
  14. resource/singer/singer_embedding_ace-17.npy +3 -0
  15. resource/singer/singer_embedding_ace-18.npy +3 -0
  16. resource/singer/singer_embedding_ace-19.npy +3 -0
  17. resource/singer/singer_embedding_ace-2.npy +3 -0
  18. resource/singer/singer_embedding_ace-20.npy +3 -0
  19. resource/singer/singer_embedding_ace-21.npy +3 -0
  20. resource/singer/singer_embedding_ace-22.npy +3 -0
  21. resource/singer/singer_embedding_ace-23.npy +3 -0
  22. resource/singer/singer_embedding_ace-24.npy +3 -0
  23. resource/singer/singer_embedding_ace-25.npy +3 -0
  24. resource/singer/singer_embedding_ace-26.npy +3 -0
  25. resource/singer/singer_embedding_ace-27.npy +3 -0
  26. resource/singer/singer_embedding_ace-28.npy +3 -0
  27. resource/singer/singer_embedding_ace-29.npy +3 -0
  28. resource/singer/singer_embedding_ace-3.npy +3 -0
  29. resource/singer/singer_embedding_ace-30.npy +3 -0
  30. resource/singer/singer_embedding_ace-4.npy +3 -0
  31. resource/singer/singer_embedding_ace-5.npy +3 -0
  32. resource/singer/singer_embedding_ace-6.npy +3 -0
  33. resource/singer/singer_embedding_ace-7.npy +3 -0
  34. resource/singer/singer_embedding_ace-8.npy +3 -0
  35. resource/singer/singer_embedding_ace-9.npy +3 -0
  36. resource/singer/singer_embedding_ameboshi.npy +3 -0
  37. resource/singer/singer_embedding_itako.npy +3 -0
  38. resource/singer/singer_embedding_kiritan.npy +3 -0
  39. resource/singer/singer_embedding_kising_barber.npy +3 -0
  40. resource/singer/singer_embedding_kising_blanca.npy +3 -0
  41. resource/singer/singer_embedding_kising_changge.npy +3 -0
  42. resource/singer/singer_embedding_kising_chuci.npy +3 -0
  43. resource/singer/singer_embedding_kising_chuming.npy +3 -0
  44. resource/singer/singer_embedding_kising_crimson.npy +3 -0
  45. resource/singer/singer_embedding_kising_david.npy +3 -0
  46. resource/singer/singer_embedding_kising_dvaid.npy +3 -0
  47. resource/singer/singer_embedding_kising_ghost.npy +3 -0
  48. resource/singer/singer_embedding_kising_growl.npy +3 -0
  49. resource/singer/singer_embedding_kising_hiragi-yuki.npy +3 -0
  50. resource/singer/singer_embedding_kising_huolian.npy +3 -0
app.py CHANGED
@@ -1,34 +1,31 @@
 
1
  import numpy as np
2
  import gradio as gr
 
3
  from pypinyin import lazy_pinyin
4
-
5
- from pinyin_dict import PINYIN_DICT
6
 
7
  from espnet_model_zoo.downloader import ModelDownloader
8
  from espnet2.fileio.read_text import read_label
9
  from espnet2.bin.svs_inference import SingingGenerate
10
 
11
 
12
- spks = {
13
- "singer1 (man)": 1,
14
- "singer2 (man)": 2,
15
- "singer3 (female)": 5,
16
- "singer4 (female)": 9,
17
- "singer5 (man)": 18,
18
- "singer6 (female)": 15,
19
- "singer7 (man)": 23,
20
- "singer8 (man)": 25,
21
- "singer9 (female)": 29,
22
- "singer10 (man)": 27,
23
  }
24
 
25
- def gen_song(lang, tempo, texts, durs, pitchs, spk):
26
- if lang == "zh":
27
- PRETRAIN_MODEL = "espnet/aceopencpop_svs_visinger2_40singer_pretrain"
28
- fs = 44100
29
- text_list = lazy_pinyin(texts)
30
 
31
- # preprocess
 
 
 
 
 
 
32
  if texts is None:
33
  return (fs, np.array([0.0])), "Error: No Text provided!"
34
  if durs is None:
@@ -36,7 +33,16 @@ def gen_song(lang, tempo, texts, durs, pitchs, spk):
36
  if pitchs is None:
37
  return (fs, np.array([0.0])), "Error: No Pitch provided!"
38
 
 
 
 
 
 
 
 
 
39
  dur_list = durs.strip().split()
 
40
  pitch_list = pitchs.strip().split()
41
 
42
  if len(text_list) != len(dur_list):
@@ -45,23 +51,20 @@ def gen_song(lang, tempo, texts, durs, pitchs, spk):
45
  return (fs, np.array([0.0])), f"Error: len in text({len(text_list)}) mismatch with pitch({len(pitch_list)})!"
46
 
47
  ## text to phoneme
 
48
  sybs = []
49
- if lang == "zh":
50
- pinyin_dict = PINYIN_DICT
51
- for text in text_list:
52
- text = text.lower()
53
- if text not in pinyin_dict:
54
- return (fs, np.array([0.0])), f"Error: pinyin `{text}` is invalid!"
55
- phns = "_".join(pinyin_dict[text])
56
- sybs.append(phns)
57
-
58
- ## pitch
59
- pitch_dict = {}
60
- with open("./midi-note.scp", "r", encoding="utf-8") as f:
61
- for line in f:
62
- items = line.strip().split()
63
- pitch_dict[items[0]] = int(items[1])
64
- pitch_dict[items[1]] = int(items[1])
65
 
66
  labels = []
67
  notes = []
@@ -87,19 +90,24 @@ def gen_song(lang, tempo, texts, durs, pitchs, spk):
87
  ),
88
  "text": phns_str,
89
  }
90
-
 
 
91
  # Infer
92
  device = "cpu"
93
  # device = "cuda" if torch.cuda.is_available() else "cpu"
94
- d = ModelDownloader()
95
- pretrain_downloaded = d.download_and_unpack(PRETRAIN_MODEL)
96
  svs = SingingGenerate(
97
  train_config = pretrain_downloaded["train_config"],
98
  model_file = pretrain_downloaded["model_file"],
99
  device = device
100
  )
101
- sid = spks[spk]
102
- output_dict = svs(batch, sids=np.array([sid]))
 
 
 
103
  wav_info = output_dict["wav"].cpu().numpy()
104
  return (fs, wav_info), "success!"
105
 
@@ -107,19 +115,24 @@ def gen_song(lang, tempo, texts, durs, pitchs, spk):
107
  title = "Demo of Singing Voice Synthesis in Muskits-ESPnet"
108
 
109
  description = """
110
- This is the demo page of our toolkit <b>Muskits-ESPnet: A Comprehensive Toolkit for Singing Voice Synthesis in New Paradigm<b>.
111
-
112
-
113
- <p>How to use:</p>
114
- <ol>
115
- <li> Choose language ID. Language id </li>
116
- <li> Input tempo in integer </li>
117
- <li> Input text, duration, pitch of equal length </li>
118
- <li> Choose ons singer </li>
119
- <li> Click submit button </li>
120
- </ol>
121
-
122
-
 
 
 
 
 
123
  """
124
 
125
  article = """
@@ -133,7 +146,7 @@ article = """
133
  @inproceedings{wu2024muskits,
134
  title = {{Muskits-ESPnet}: A Comprehensive Toolkit for Singing Voice Synthesis in New Paradigm},
135
  author = {Yuning Wu and Jiatong Shi and Yifeng Yu and Yuxun Tang and Tao Qian and Yueqian Lin and Jionghao Han and Xinyi Bai and Shinji Watanabe and Qin Jin},
136
- booktitle={Proc. ACM Multimedia},
137
  year={2024},
138
  }
139
  </pre>
@@ -144,15 +157,16 @@ article = """
144
 
145
  # SP: silence, AP: aspirate.
146
  examples = [
147
- ["zh", 89, "雨淋湿了SP天空AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.50 0.21", "60 62 62 62 0 62 58 0", "singer1 (man)"],
148
- ["zh", 89, "雨淋湿了SP天空AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.50 0.21", "C4 D4 D4 D4 rest D4 A#3 rest", "singer2 (man)"],
149
- ["zh", 89, "雨淋湿了SP天空AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.50 0.21", "C4 D4 D4 D4 rest D4 Bb3 rest", "singer3 (female)"],
 
150
  ]
151
 
152
- gr.Interface(
153
  fn=gen_song,
154
  inputs=[
155
- gr.Radio(label="language", choices=["zh"], value="zh"),
156
  gr.Textbox(label="Tempo"),
157
  gr.Textbox(label="Text"),
158
  gr.Textbox(label="Duration"),
@@ -160,18 +174,9 @@ gr.Interface(
160
  gr.Radio(
161
  label="Singer",
162
  choices=[
163
- "singer1 (man)",
164
- "singer2 (man)",
165
- "singer3 (female)",
166
- "singer4 (female)",
167
- "singer5 (man)",
168
- "singer6 (female)",
169
- "singer7 (man)",
170
- "singer8 (man)",
171
- "singer9 (female)",
172
- "singer10 (man)",
173
  ],
174
- value="singer1 (man)"
175
  ),
176
  ],
177
  outputs=[
@@ -182,4 +187,6 @@ gr.Interface(
182
  description=description,
183
  article=article,
184
  examples=examples,
185
- ).launch()
 
 
 
1
+ import os
2
  import numpy as np
3
  import gradio as gr
4
+ import pyopenjtalk
5
  from pypinyin import lazy_pinyin
6
+ from util import preprocess_input, get_tokenizer, load_pitch_dict
 
7
 
8
  from espnet_model_zoo.downloader import ModelDownloader
9
  from espnet2.fileio.read_text import read_label
10
  from espnet2.bin.svs_inference import SingingGenerate
11
 
12
 
13
+ singer_embeddings = {
14
+ "singer1 (female)": "resource/singer/singer_embedding_opencpop.npy",
 
 
 
 
 
 
 
 
 
15
  }
16
 
17
+ langs = {
18
+ "zh": 2,
19
+ "jp": 1,
20
+ }
 
21
 
22
+ def gen_song(lang, tempo, texts, durs, pitchs, spk):
23
+ fs = 44100
24
+ # PRETRAIN_MODEL = "espnet/aceopencpop_svs_visinger2_40singer_pretrain"
25
+ # pretrain_downloaded = {
26
+ # "train_config": "/data7/tyx/espnet/egs2/mixed/svs1/exp/svs_train_visinger2_spk_embed_lang_raw_phn_None_mix_all/config.yaml",
27
+ # "model_file": "/data7/tyx/espnet/egs2/mixed/svs1/exp/svs_train_visinger2_spk_embed_lang_raw_phn_None_mix_all/500epoch.pth",
28
+ # }
29
  if texts is None:
30
  return (fs, np.array([0.0])), "Error: No Text provided!"
31
  if durs is None:
 
33
  if pitchs is None:
34
  return (fs, np.array([0.0])), "Error: No Pitch provided!"
35
 
36
+ # preprocess
37
+ if lang == "zh":
38
+ texts = preprocess_input(texts, "")
39
+ text_list = lazy_pinyin(texts)
40
+ elif lang == "jp":
41
+ texts = preprocess_input(texts, " ")
42
+ text_list = texts.strip().split()
43
+ durs = preprocess_input(durs, " ")
44
  dur_list = durs.strip().split()
45
+ pitchs = preprocess_input(pitchs, " ")
46
  pitch_list = pitchs.strip().split()
47
 
48
  if len(text_list) != len(dur_list):
 
51
  return (fs, np.array([0.0])), f"Error: len in text({len(text_list)}) mismatch with pitch({len(pitch_list)})!"
52
 
53
  ## text to phoneme
54
+ tokenizer = get_tokenizer(lang)
55
  sybs = []
56
+ for text in text_list:
57
+ if text == "AP" or text == "SP":
58
+ rev = [text]
59
+ else:
60
+ rev = tokenizer(text)
61
+ rev = [phn + f"@{lang}" for phn in rev]
62
+ if rev == False:
63
+ return (fs, np.array([0.0])), f"Error: text `{text}` is invalid!"
64
+ phns = "_".join(rev)
65
+ sybs.append(phns)
66
+
67
+ pitch_dict = load_pitch_dict()
 
 
 
 
68
 
69
  labels = []
70
  notes = []
 
90
  ),
91
  "text": phns_str,
92
  }
93
+ print(batch)
94
+ return (fs, np.array([0.0])), "success!"
95
+
96
  # Infer
97
  device = "cpu"
98
  # device = "cuda" if torch.cuda.is_available() else "cpu"
99
+ # d = ModelDownloader()
100
+ # pretrain_downloaded = d.download_and_unpack(PRETRAIN_MODEL)
101
  svs = SingingGenerate(
102
  train_config = pretrain_downloaded["train_config"],
103
  model_file = pretrain_downloaded["model_file"],
104
  device = device
105
  )
106
+ # sid = spks[spk]
107
+ lid = langs[lang]
108
+ spk_embed = np.load(singer_embeddings[spk])
109
+ # output_dict = svs(batch, sids=np.array([sid]))
110
+ output_dict = svs(batch, lids=np.array([lid]), spembs=spk_embed)
111
  wav_info = output_dict["wav"].cpu().numpy()
112
  return (fs, wav_info), "success!"
113
 
 
115
  title = "Demo of Singing Voice Synthesis in Muskits-ESPnet"
116
 
117
  description = """
118
+ <div style="font-size: 20px;">
119
+ <p>This is the demo page of our toolkit <b>Muskits-ESPnet: A Comprehensive Toolkit for Singing Voice Synthesis in New Paradigm</b>.</p>
120
+ <p>Singing Voice Synthesis (SVS) takes a music score as input and generates singing vocal with the voice of a specific singer.
121
+ Music score contains information about tempo (singing speed), lyrics, as well as duration and pitch of each word in lyrics.</p>
122
+
123
+ <img src="resource/Muskits_ESPnet_logo.png" alt="Muskits-ESPnet logo" style="width: 300px; height: auto;" />
124
+
125
+ <p>How to use:</p>
126
+ <ol>
127
+ <li> <b>Choose language ID</b>: "zh" indicates lyrics input in Chinese, and "jp" indicates lyrics input in Japanese. </li>
128
+ <li> <b>Input tempo</b>: tempo is a positive integer, typically ranging between 60 and 180, representing the number of beats per minute. </li>
129
+ <li> <b>Input lyrics, duration, pitch in equal length</b>: lyrics should match the language setting. Each word of input should be split with " " (blankspace) or "\\n" (newline) without quotes. Examples are provided.</li>
130
+ <li> <b>Choose one singer</b> </li>
131
+ <li> <b>Click submit button</b> </li>
132
+ </ol>
133
+
134
+ <b>Notice</b>: Values outside this range may result in suboptimal generation quality!
135
+ </div>
136
  """
137
 
138
  article = """
 
146
  @inproceedings{wu2024muskits,
147
  title = {{Muskits-ESPnet}: A Comprehensive Toolkit for Singing Voice Synthesis in New Paradigm},
148
  author = {Yuning Wu and Jiatong Shi and Yifeng Yu and Yuxun Tang and Tao Qian and Yueqian Lin and Jionghao Han and Xinyi Bai and Shinji Watanabe and Qin Jin},
149
+ booktitle={Proceedings of the 32st ACM International Conference on Multimedia},
150
  year={2024},
151
  }
152
  </pre>
 
157
 
158
  # SP: silence, AP: aspirate.
159
  examples = [
160
+ ["zh", 89, "雨 淋 湿 了 SP 天 空 AP\n毁 的 SP 很 讲 究 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.5 0.21 0.3 0.12 0.12 0.25 0.5 0.48 0.34", "60 62 62 62 0 62 58 0 58 58 0 58 58 63 0", "singer1 (female)"],
161
+ # ["zh", 89, "雨 淋 湿 了 SP 天 空 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.50 0.21", "C4 D4 D4 D4 rest D4 A#3 rest", "singer2 (male)"],
162
+ # ["zh", 89, "雨 淋 湿 了 SP 天 空 AP", "0.23 0.16 0.36 0.16 0.07 0.28 0.50 0.21", "C4 D4 D4 D4 rest D4 Bb3 rest", "singer3 (female)"],
163
+ ["jp", 152, "きっ と と べ ば そ ら ま で と ど く 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", "singer1 (female)"],
164
  ]
165
 
166
+ app = gr.Interface(
167
  fn=gen_song,
168
  inputs=[
169
+ gr.Radio(label="language", choices=["zh", "jp"], value="zh"),
170
  gr.Textbox(label="Tempo"),
171
  gr.Textbox(label="Text"),
172
  gr.Textbox(label="Duration"),
 
174
  gr.Radio(
175
  label="Singer",
176
  choices=[
177
+ "singer1 (female)",
 
 
 
 
 
 
 
 
 
178
  ],
179
+ value="singer1 (female)"
180
  ),
181
  ],
182
  outputs=[
 
187
  description=description,
188
  article=article,
189
  examples=examples,
190
+ )
191
+
192
+ app.launch()
resource/Muskits_ESPnet_logo.png ADDED
resource/all_plans.json ADDED
The diff for this file is too large to render. See raw diff
 
midi-note.scp → resource/midi-note.scp RENAMED
File without changes
pinyin_dict.py → resource/pinyin_dict.py RENAMED
@@ -419,7 +419,5 @@ PINYIN_DICT = {
419
  "zui": ("z", "ui"),
420
  "zun": ("z", "un"),
421
  "zuo": ("z", "uo"),
422
- "sp": ("SP",),
423
- "ap": ("AP",),
424
  }
425
 
 
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
resource/singer/singer_embedding_kising_growl.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca44c134bf0fcbc808743e6da1e441782ffd4043e5aeea29e3dd8fc74cfe37f1
3
+ size 896
resource/singer/singer_embedding_kising_hiragi-yuki.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8fbb4a7243b36a2c5ebdcd2d6b42b1280b552a159303c976f4c9d28fe3c0a431
3
+ size 896
resource/singer/singer_embedding_kising_huolian.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db470188fcc158e1a410fd7854884b51e142070adbce3f8be09a3055bf575886
3
+ size 896