add: spliter

32k
大蒟蒻 3 years ago
parent 873b9f0ec4
commit 80eef94e65

1
.gitignore vendored

@ -8,3 +8,4 @@ filelists/
data*/
raw/
results/
model*/

@ -1,7 +1,7 @@
{
"train": {
"log_interval": 200,
"eval_interval": 200,
"log_interval": 100,
"eval_interval": 100,
"seed": 1234,
"epochs": 10000,
"learning_rate": 0.0001,
@ -27,9 +27,9 @@
"validation_files": "filelists/val.txt",
"max_wav_value": 32768.0,
"sampling_rate": 32000,
"filter_length": 1280,
"filter_length": 1024,
"hop_length": 320,
"win_length": 1280,
"win_length": 1024,
"n_mel_channels": 80,
"mel_fmin": 0.0,
"mel_fmax": null
@ -85,6 +85,6 @@
"n_speakers": 2
},
"spk": {
"JP_Serika": 0
"JP_Arona": 0
}
}

@ -1,2 +0,0 @@
./dataset/32k/JP_Serika/Serika_Battle_Victory_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_5.ogg.wav

@ -1,146 +0,0 @@
./dataset/32k/JP_Serika/Serika_Cafe_Act_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Lobby_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_NewYear.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_LogIn_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_6.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Victory_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_5.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_2.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_6.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_5.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Halloween.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Recovery_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Xmas.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_4.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_4.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday_Player.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Gachaget.ogg.wav
./dataset/32k/JP_Serika/Serika_LogIn_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Victory_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_5.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Gachaget.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_2.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_ExWeapon_Get.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_5.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_Defeat_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Lobby_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_ExSkill_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Recovery_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_6.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_4.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_Level_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Tactic_Victory_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_1_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Tactic_In_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_In_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_Select.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_LogIn_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_In_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Lobby_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_3_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday_Player.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_4.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Retire.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Halloween.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_5.ogg.wav
./dataset/32k/JP_Serika/Serika_Season_NewYear.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_6.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Shout_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Formation_In_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Xmas.ogg.wav
./dataset/32k/JP_Serika/Serika_Lobby_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Formation_Select.ogg.wav
./dataset/32k/JP_Serika/Serika_ExSkill_1.ogg.wav
./dataset/32k/JP_Serika/Serika_LogIn_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Season_Birthday.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_1.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_4.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_4.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_2.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_1.ogg.wav
./dataset/32k/JP_Serika/Serika_Battle_Retire.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Lobby_3.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_2_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_4_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_ExSkill_3.ogg.wav
./dataset/32k/JP_Serika/Serika_ExWeapon_Get.ogg.wav
./dataset/32k/JP_Serika/Serika_Cafe_Act_3.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_5_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Growup_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_3.ogg.wav
./dataset/32k/JP_Serika/Serika_Formation_In_2.ogg.u8.wav
./dataset/32k/JP_Serika/Serika_Battle_Damage_1.ogg.wav
./dataset/32k/JP_Serika/Serika_MemorialLobby_6_2.ogg.wav

@ -1,2 +0,0 @@
./dataset/32k/JP_Serika/Serika_Lobby_2.ogg.wav
./dataset/32k/JP_Serika/Serika_Relationship_Up_4.ogg.wav

@ -123,7 +123,7 @@ def cut(audio_path, db_thresh=-30, min_len=5000):
sr=sr,
threshold=db_thresh,
min_length=min_len,
min_interval=100,
# min_interval=100,
)
chunks = slicer.slice(audio)
return chunks

@ -0,0 +1,20 @@
from glob import glob
import soundfile
from inference import slicer
import os
from tqdm.auto import tqdm
files = glob("dataset_prepare/arona_channel/**/vocals.wav", recursive=True)
target_prefix = ("dataset_prepare/arona_channel_slice/")
if not os.path.exists(target_prefix):
os.mkdir(target_prefix)
for idx, f in enumerate(tqdm(files)):
tqdm.write(f)
chunks = slicer.cut(f, db_thresh=-50)
audio_data, audio_sr = slicer.chunks2audio(f, chunks)
for idx2, (slice_tag, data) in enumerate(tqdm(audio_data, leave=False)):
if not slice_tag:
res_path = target_prefix + f'aronach_{idx:02d}_{idx2:03d}.wav'
soundfile.write(res_path, data, audio_sr, format="wav")

@ -7,14 +7,14 @@ from random import shuffle
import json
config_template = {
"train": {
"log_interval": 200,
"eval_interval": 1000,
"log_interval": 100,
"eval_interval": 100,
"seed": 1234,
"epochs": 10000,
"learning_rate": 1e-4,
"betas": [0.8, 0.99],
"eps": 1e-9,
"batch_size": 12,
"batch_size": 6,
"fp16_run": False,
"lr_decay": 0.999875,
"segment_size": 17920,
@ -31,9 +31,9 @@ config_template = {
"validation_files":"filelists/val.txt",
"max_wav_value": 32768.0,
"sampling_rate": 32000,
"filter_length": 1280,
"filter_length": 1024,
"hop_length": 320,
"win_length": 1280,
"win_length": 1024,
"n_mel_channels": 80,
"mel_fmin": 0.0,
"mel_fmax": None
@ -92,9 +92,10 @@ if __name__ == "__main__":
print(f"warning{speaker}数据集数量小于10条请补充数据")
wavs = [i for i in wavs if i.endswith("wav")]
shuffle(wavs)
train += wavs[2:-2]
val += wavs[:2]
test += wavs[-2:]
sp=max(2,int(len(wavs)/20))
train += wavs[sp:-sp]
val += wavs[:sp]
test += wavs[-sp:]
n_speakers = len(spk_dict.keys())*2
shuffle(train)
shuffle(val)

Loading…
Cancel
Save