Skip to content

Commit 6e59b7a

Browse files
committed
Initial commit
1 parent 6713fba commit 6e59b7a

File tree

10 files changed

+23820
-0
lines changed

10 files changed

+23820
-0
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ ENV/
110110
env.bak/
111111
venv.bak/
112112

113+
# PyCharm project settings
114+
.idea
115+
113116
# Spyder project settings
114117
.spyderproject
115118
.spyproject
@@ -127,3 +130,6 @@ dmypy.json
127130

128131
# Pyre type checker
129132
.pyre/
133+
134+
# Data files
135+
.npy

config.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"preprocessing": {
3+
"sample_rate": 16000,
4+
"num_fft": 2048,
5+
"num_mels": 80,
6+
"fmin": 50,
7+
"preemph": 0.97,
8+
"top_db": 80,
9+
"hop_length": 160,
10+
"win_length": 400
11+
},
12+
13+
"model": {
14+
"encoder_channels": 256,
15+
"z_dim": 256,
16+
"c_dim": 256
17+
},
18+
19+
"training": {
20+
"n_sample_frames": 128,
21+
"n_speakers": 8,
22+
"n_utterances_per_speaker": 6,
23+
"learning_rate": 2e-4,
24+
"n_prediction_steps": 12,
25+
"n_negatives": 17,
26+
"n_epochs": 5000,
27+
"checkpoint_interval": 500
28+
}
29+
}

dataset.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import numpy as np
2+
import torch
3+
import csv
4+
import random
5+
from torch.utils.data import Dataset
6+
from pathlib import Path
7+
8+
9+
class SpeakerDataset(Dataset):
10+
def __init__(self, root, n_sample_frames, n_utterances_per_speaker, hop_length, sample_rate):
11+
self.root = Path(root)
12+
self.n_sample_frames = n_sample_frames
13+
self.n_utterances_per_speaker = n_utterances_per_speaker
14+
15+
with open(self.root / "speakers.csv") as file:
16+
reader = csv.reader(file)
17+
self.speakers = sorted([speaker for speaker, in reader])
18+
19+
min_duration = n_sample_frames * hop_length / sample_rate
20+
with open(self.root / "train.csv") as file:
21+
reader = csv.reader(file)
22+
metadata = dict()
23+
for _, _, duration, out_path in reader:
24+
if float(duration) > min_duration:
25+
out_path = Path(out_path)
26+
speaker = out_path.stem.split("_")[0]
27+
metadata.setdefault(speaker, []).append(out_path)
28+
self.metadata = [(k, v) for k, v in metadata.items() if len(v) >= n_utterances_per_speaker]
29+
30+
def __len__(self):
31+
return len(self.metadata)
32+
33+
def __getitem__(self, index):
34+
speaker, paths = self.metadata[index]
35+
36+
mels = list()
37+
paths = random.sample(paths, self.n_utterances_per_speaker)
38+
for path in paths:
39+
path = self.root.parent / path
40+
mel = np.load(path.with_suffix(".mel.npy"))
41+
pos = random.randint(0, mel.shape[1] - self.n_sample_frames)
42+
mel = mel[:, pos:pos + self.n_sample_frames]
43+
mels.append(mel)
44+
mels = np.stack(mels)
45+
46+
return torch.from_numpy(mels), self.speakers.index(speaker)
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
S015
2+
S020
3+
S021
4+
S023
5+
S027
6+
S031
7+
S032
8+
S033
9+
S034
10+
S035
11+
S036
12+
S037
13+
S038
14+
S039
15+
S040
16+
S041
17+
S042
18+
S043
19+
S044
20+
S045
21+
S046
22+
S047
23+
S048
24+
S049
25+
S050
26+
S051
27+
S052
28+
S053
29+
S054
30+
S055
31+
S056
32+
S058
33+
S059
34+
S060
35+
S061
36+
S063
37+
S064
38+
S065
39+
S066
40+
S067
41+
S069
42+
S070
43+
S071
44+
S072
45+
S073
46+
S074
47+
S075
48+
S076
49+
S077
50+
S078
51+
S079
52+
S080
53+
S082
54+
S083
55+
S084
56+
S085
57+
S086
58+
S087
59+
S088
60+
S090
61+
S091
62+
S092
63+
S093
64+
S094
65+
S095
66+
S096
67+
S097
68+
S098
69+
S099
70+
S100
71+
S101
72+
S102
73+
S103
74+
S104
75+
S105
76+
S106
77+
S107
78+
S109
79+
S110
80+
S111
81+
S112
82+
S113
83+
S114
84+
S115
85+
S116
86+
S117
87+
S118
88+
S119
89+
S120
90+
S121
91+
S122
92+
S123
93+
S125
94+
S126
95+
S127
96+
S128
97+
S129
98+
S131
99+
S132
100+
S133
101+
V001
102+
V002
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
english/test/S002_0379088085,V002
2+
english/test/S002_3329644604,V002
3+
english/test/S002_0716659834,V002
4+
english/test/S002_0034198090,V001
5+
english/test/S002_3675593510,V001
6+
english/test/S002_1248863180,V002
7+
english/test/S002_1811315103,V001
8+
english/test/S002_0150793611,V001
9+
english/test/S002_0488457066,V002
10+
english/test/S002_1927813378,V002
11+
english/test/S002_3835497764,V001
12+
english/test/S002_2613999357,V001
13+
english/test/S002_3397632494,V001
14+
english/test/S003_2650563980,V001
15+
english/test/S003_3628811388,V001
16+
english/test/S003_2246977596,V001
17+
english/test/S003_4143021831,V002
18+
english/test/S003_2221495694,V002
19+
english/test/S003_1178890909,V002
20+
english/test/S003_2611431933,V002
21+
english/test/S003_2240019245,V001
22+
english/test/S003_2299041764,V002
23+
english/test/S003_1478639117,V001
24+
english/test/S003_3732887959,V001
25+
english/test/S003_0348166629,V002
26+
english/test/S003_2098261986,V001
27+
english/test/S005_1869043913,V001
28+
english/test/S005_2462667879,V002
29+
english/test/S005_2857012128,V002
30+
english/test/S005_0337854417,V001
31+
english/test/S005_1255051908,V001
32+
english/test/S005_3817578655,V001
33+
english/test/S005_1369359729,V002
34+
english/test/S005_2339421144,V002
35+
english/test/S005_1674880857,V001
36+
english/test/S005_1027254890,V001
37+
english/test/S005_0525058276,V002
38+
english/test/S005_3335289900,V001
39+
english/test/S005_2243904656,V002
40+
english/test/S005_3148422380,V002
41+
english/test/S006_3547507286,V001
42+
english/test/S006_0256405871,V001
43+
english/test/S006_2402232073,V001
44+
english/test/S006_1744073907,V002
45+
english/test/S006_0791080940,V002
46+
english/test/S006_2309191462,V002
47+
english/test/S006_2467127665,V002
48+
english/test/S006_3907468490,V001
49+
english/test/S006_1919833715,V002
50+
english/test/S006_2233331201,V001
51+
english/test/S006_2068766372,V001
52+
english/test/S006_1788089822,V002
53+
english/test/S006_1876582974,V001
54+
english/test/S007_1670529004,V001
55+
english/test/S007_2106426595,V001
56+
english/test/S007_1328762623,V002
57+
english/test/S007_0678239348,V001
58+
english/test/S007_3243217924,V002
59+
english/test/S007_0204997433,V001
60+
english/test/S007_3771169705,V002
61+
english/test/S007_2836644370,V001
62+
english/test/S007_1179982703,V002
63+
english/test/S008_4096000418,V001
64+
english/test/S008_0374594724,V001
65+
english/test/S008_0316936606,V002
66+
english/test/S008_2311158062,V001
67+
english/test/S008_2210326791,V002
68+
english/test/S008_4101672507,V001
69+
english/test/S008_1533376143,V002
70+
english/test/S008_2684330882,V001
71+
english/test/S008_1680359331,V002
72+
english/test/S009_1134572964,V001
73+
english/test/S009_0951978018,V001
74+
english/test/S009_2963764176,V002
75+
english/test/S009_3172133024,V002
76+
english/test/S009_2409126958,V001
77+
english/test/S009_2230685767,V001
78+
english/test/S009_1637278923,V002
79+
english/test/S009_2554341485,V001
80+
english/test/S009_2664556587,V001
81+
english/test/S009_3009558539,V002
82+
english/test/S009_2922384978,V002
83+
english/test/S009_3769715709,V002
84+
english/test/S009_3852218745,V002
85+
english/test/S009_0722532299,V001
86+
english/test/S009_2675987928,V001
87+
english/test/S011_3385425823,V001
88+
english/test/S011_1485461930,V002
89+
english/test/S011_4204160922,V002
90+
english/test/S011_1220140001,V001
91+
english/test/S011_1056847685,V001
92+
english/test/S011_4019527684,V001
93+
english/test/S011_1004261560,V002
94+
english/test/S011_2504494747,V002
95+
english/test/S011_2020332133,V001
96+
english/test/S011_0826602971,V001
97+
english/test/S011_4248927546,V002
98+
english/test/S011_0538842874,V001
99+
english/test/S011_1486905221,V002
100+
english/test/S011_3070188133,V002
101+
english/test/S013_1647107851,V001
102+
english/test/S013_2857211736,V001
103+
english/test/S013_1546167225,V001
104+
english/test/S013_0990512588,V002
105+
english/test/S013_3906392480,V002
106+
english/test/S013_0694888237,V002
107+
english/test/S013_1319297801,V002
108+
english/test/S013_0717685577,V001
109+
english/test/S013_3843497491,V002
110+
english/test/S013_0461257464,V001
111+
english/test/S013_2195076294,V001
112+
english/test/S013_1720378819,V002
113+
english/test/S013_3050055609,V001
114+
english/test/S016_0033179769,V001
115+
english/test/S016_4001194935,V002
116+
english/test/S016_2410213271,V002
117+
english/test/S016_3036296225,V001
118+
english/test/S016_0909866182,V001
119+
english/test/S016_1604362137,V001
120+
english/test/S016_4241276147,V002
121+
english/test/S016_4079864915,V002
122+
english/test/S016_1517581208,V001
123+
english/test/S016_1426116964,V001
124+
english/test/S016_0015229803,V002
125+
english/test/S016_2853428649,V001
126+
english/test/S016_0007211729,V002
127+
english/test/S016_4184772113,V002
128+
english/test/S019_2459060426,V002
129+
english/test/S019_1203011745,V002
130+
english/test/S019_2784269462,V002
131+
english/test/S019_1370348056,V001
132+
english/test/S019_2465622735,V001
133+
english/test/S019_3655501544,V002
134+
english/test/S019_0444395040,V001
135+
english/test/S019_1864848970,V001
136+
english/test/S019_2946419609,V002
137+
english/test/S019_0163264856,V002
138+
english/test/S019_3566025888,V001
139+
english/test/S019_0876437283,V001
140+
english/test/S019_1517717992,V001
141+
english/test/S022_4213163508,V001
142+
english/test/S022_1587635681,V001
143+
english/test/S022_1579158408,V002
144+
english/test/S022_1376425751,V002
145+
english/test/S022_2936194818,V001
146+
english/test/S022_1341990990,V001
147+
english/test/S022_3801674752,V002
148+
english/test/S022_2436309351,V001
149+
english/test/S022_2467872015,V001
150+
english/test/S022_3587271288,V002
151+
english/test/S022_1990728118,V002
152+
english/test/S022_3599507778,V002
153+
english/test/S022_0598465739,V002
154+
english/test/S022_0799854662,V001
155+
english/test/S022_2211405183,V001
156+
english/test/S029_0296750778,V001
157+
english/test/S029_4256753032,V001
158+
english/test/S029_4193376528,V001
159+
english/test/S029_2159765033,V002
160+
english/test/S029_4188495052,V002
161+
english/test/S029_0319474799,V001
162+
english/test/S029_1929874338,V001
163+
english/test/S029_2318301126,V001
164+
english/test/S029_0016520932,V001
165+
english/test/S029_1068142416,V002
166+
english/test/S029_4050153366,V001
167+
english/test/S029_0601534788,V001
168+
english/test/S029_1148954548,V002
169+
english/test/S029_2285517287,V002
170+
english/test/S029_1480335310,V001
171+
english/test/S029_3513270162,V001
172+
english/test/S029_3694116817,V001
173+
english/test/S029_1644893934,V001
174+
english/test/S030_1756493637,V002
175+
english/test/S030_3313878040,V002
176+
english/test/S030_2768730427,V002
177+
english/test/S030_0405736610,V001
178+
english/test/S030_3045276808,V001
179+
english/test/S030_1317267807,V002
180+
english/test/S030_2540374847,V002
181+
english/test/S030_2477652858,V002
182+
english/test/S030_1644595354,V002
183+
english/test/S030_0038139088,V001
184+
english/test/S030_1515780978,V001
185+
english/test/S030_1930457209,V002
186+
english/test/S030_3624094171,V001
187+
english/test/S030_1524414356,V001
188+
english/test/S030_2091192866,V001
189+
english/test/S030_0730141577,V001
190+
english/test/S030_3923466856,V001
191+
english/test/S030_2739033792,V001
192+
english/test/S030_0244072828,V001
193+
english/test/S030_0378256235,V001

0 commit comments

Comments
 (0)