sonusai 0.18.0__py3-none-any.whl → 0.18.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sonusai/mixture/db_datatypes.py +72 -0
- sonusai/mixture/generation.py +3 -0
- sonusai/mixture/helpers.py +17 -15
- sonusai/mixture/mixdb.py +81 -84
- {sonusai-0.18.0.dist-info → sonusai-0.18.1.dist-info}/METADATA +1 -1
- {sonusai-0.18.0.dist-info → sonusai-0.18.1.dist-info}/RECORD +8 -7
- {sonusai-0.18.0.dist-info → sonusai-0.18.1.dist-info}/WHEEL +0 -0
- {sonusai-0.18.0.dist-info → sonusai-0.18.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
from collections import namedtuple
|
2
|
+
|
3
|
+
TruthSettingRecord = namedtuple('TruthSettingRecord', [
|
4
|
+
'id',
|
5
|
+
'setting'])
|
6
|
+
|
7
|
+
TargetFileRecord = namedtuple('TargetFileRecord', [
|
8
|
+
'id',
|
9
|
+
'name',
|
10
|
+
'samples',
|
11
|
+
'level_type',
|
12
|
+
'speaker_id'])
|
13
|
+
|
14
|
+
NoiseFileRecord = namedtuple('NoiseFileRecord', [
|
15
|
+
'id',
|
16
|
+
'name',
|
17
|
+
'samples'])
|
18
|
+
|
19
|
+
TopRecord = namedtuple('TopRecord', [
|
20
|
+
'id',
|
21
|
+
'version',
|
22
|
+
'class_balancing',
|
23
|
+
'feature',
|
24
|
+
'noise_mix_mode',
|
25
|
+
'num_classes',
|
26
|
+
'seed',
|
27
|
+
'truth_mutex',
|
28
|
+
'truth_reduction_function',
|
29
|
+
'mixid_width',
|
30
|
+
'speaker_metadata_tiers',
|
31
|
+
'textgrid_metadata_tiers'])
|
32
|
+
|
33
|
+
ClassLabelRecord = namedtuple('ClassLabelRecord', [
|
34
|
+
'id',
|
35
|
+
'label'])
|
36
|
+
|
37
|
+
ClassWeightsThresholdRecord = namedtuple('ClassWeightsThresholdRecord', [
|
38
|
+
'id',
|
39
|
+
'threshold'])
|
40
|
+
|
41
|
+
ImpulseResponseFileRecord = namedtuple('ImpulseResponseFileRecord', [
|
42
|
+
'id',
|
43
|
+
'file'])
|
44
|
+
|
45
|
+
SpectralMaskRecord = namedtuple('SpectralMaskRecord', [
|
46
|
+
'id',
|
47
|
+
'f_max_width',
|
48
|
+
'f_num',
|
49
|
+
't_max_width',
|
50
|
+
't_num',
|
51
|
+
't_max_percent'])
|
52
|
+
|
53
|
+
TargetRecord = namedtuple('TargetRecord', [
|
54
|
+
'id',
|
55
|
+
'file_id',
|
56
|
+
'augmentation',
|
57
|
+
'gain'])
|
58
|
+
|
59
|
+
MixtureRecord = namedtuple('MixtureRecord', [
|
60
|
+
'id',
|
61
|
+
'name',
|
62
|
+
'noise_file_id',
|
63
|
+
'noise_augmentation',
|
64
|
+
'noise_offset',
|
65
|
+
'noise_snr_gain',
|
66
|
+
'random_snr',
|
67
|
+
'snr',
|
68
|
+
'samples',
|
69
|
+
'spectral_mask_id',
|
70
|
+
'spectral_mask_seed',
|
71
|
+
'target_snr_gain'
|
72
|
+
])
|
sonusai/mixture/generation.py
CHANGED
@@ -992,6 +992,9 @@ def _populate_speaker_table(location: str, target_files: TargetFiles, test: bool
|
|
992
992
|
description[0] not in ('id', 'parent')]
|
993
993
|
con.execute("UPDATE top SET speaker_metadata_tiers=? WHERE top.id = ?", (json.dumps(tiers), 1))
|
994
994
|
|
995
|
+
if 'speaker_id' in tiers:
|
996
|
+
con.execute("CREATE INDEX speaker_speaker_id_idx ON speaker (speaker_id)")
|
997
|
+
|
995
998
|
con.commit()
|
996
999
|
con.close()
|
997
1000
|
|
sonusai/mixture/helpers.py
CHANGED
@@ -26,6 +26,8 @@ from sonusai.mixture.datatypes import TargetFiles
|
|
26
26
|
from sonusai.mixture.datatypes import Targets
|
27
27
|
from sonusai.mixture.datatypes import TransformConfig
|
28
28
|
from sonusai.mixture.datatypes import Truth
|
29
|
+
from sonusai.mixture.db_datatypes import MixtureRecord
|
30
|
+
from sonusai.mixture.db_datatypes import TargetRecord
|
29
31
|
from sonusai.mixture.mixdb import MixtureDatabase
|
30
32
|
|
31
33
|
|
@@ -228,7 +230,7 @@ def from_mixture(mixture: Mixture) -> tuple[str, int, str, int, float, bool, flo
|
|
228
230
|
mixture.target_snr_gain)
|
229
231
|
|
230
232
|
|
231
|
-
def to_mixture(entry:
|
233
|
+
def to_mixture(entry: MixtureRecord, targets: Targets) -> Mixture:
|
232
234
|
import json
|
233
235
|
|
234
236
|
from sonusai.utils import dataclass_from_dict
|
@@ -238,32 +240,32 @@ def to_mixture(entry: tuple[str, int, str, int, float, bool, float, int, int, in
|
|
238
240
|
from .datatypes import UniversalSNR
|
239
241
|
|
240
242
|
return Mixture(targets=targets,
|
241
|
-
name=entry
|
242
|
-
noise=Noise(file_id=entry
|
243
|
-
augmentation=dataclass_from_dict(Augmentation, json.loads(entry
|
244
|
-
offset=entry
|
245
|
-
noise_snr_gain=entry
|
246
|
-
snr=UniversalSNR(is_random=entry
|
247
|
-
samples=entry
|
248
|
-
spectral_mask_id=entry
|
249
|
-
spectral_mask_seed=entry
|
250
|
-
target_snr_gain=entry
|
243
|
+
name=entry.name,
|
244
|
+
noise=Noise(file_id=entry.noise_file_id,
|
245
|
+
augmentation=dataclass_from_dict(Augmentation, json.loads(entry.noise_augmentation)),
|
246
|
+
offset=entry.noise_offset),
|
247
|
+
noise_snr_gain=entry.noise_snr_gain,
|
248
|
+
snr=UniversalSNR(is_random=entry.random_snr, value=entry.snr),
|
249
|
+
samples=entry.samples,
|
250
|
+
spectral_mask_id=entry.spectral_mask_id,
|
251
|
+
spectral_mask_seed=entry.spectral_mask_seed,
|
252
|
+
target_snr_gain=entry.target_snr_gain)
|
251
253
|
|
252
254
|
|
253
255
|
def from_target(target: Target) -> tuple[int, str, float]:
|
254
256
|
return target.file_id, target.augmentation.to_json(), target.gain
|
255
257
|
|
256
258
|
|
257
|
-
def to_target(entry:
|
259
|
+
def to_target(entry: TargetRecord) -> Target:
|
258
260
|
import json
|
259
261
|
|
260
262
|
from sonusai.utils import dataclass_from_dict
|
261
263
|
from .datatypes import Augmentation
|
262
264
|
from .datatypes import Target
|
263
265
|
|
264
|
-
return Target(file_id=entry
|
265
|
-
augmentation=dataclass_from_dict(Augmentation, json.loads(entry
|
266
|
-
gain=entry
|
266
|
+
return Target(file_id=entry.file_id,
|
267
|
+
augmentation=dataclass_from_dict(Augmentation, json.loads(entry.augmentation)),
|
268
|
+
gain=entry.gain)
|
267
269
|
|
268
270
|
|
269
271
|
def read_mixture_data(name: str, items: list[str] | str) -> Any:
|
sonusai/mixture/mixdb.py
CHANGED
@@ -129,32 +129,32 @@ class MixtureDatabase:
|
|
129
129
|
@cached_property
|
130
130
|
def num_classes(self) -> int:
|
131
131
|
with self.db() as c:
|
132
|
-
return int(c.execute("SELECT top.num_classes
|
132
|
+
return int(c.execute("SELECT top.num_classes FROM top").fetchone()[0])
|
133
133
|
|
134
134
|
@cached_property
|
135
135
|
def truth_mutex(self) -> bool:
|
136
136
|
with self.db() as c:
|
137
|
-
return bool(c.execute("SELECT top.truth_mutex
|
137
|
+
return bool(c.execute("SELECT top.truth_mutex FROM top").fetchone()[0])
|
138
138
|
|
139
139
|
@cached_property
|
140
140
|
def truth_reduction_function(self) -> str:
|
141
141
|
with self.db() as c:
|
142
|
-
return str(c.execute("SELECT top.truth_reduction_function
|
142
|
+
return str(c.execute("SELECT top.truth_reduction_function FROM top").fetchone()[0])
|
143
143
|
|
144
144
|
@cached_property
|
145
145
|
def noise_mix_mode(self) -> str:
|
146
146
|
with self.db() as c:
|
147
|
-
return str(c.execute("SELECT top.noise_mix_mode
|
147
|
+
return str(c.execute("SELECT top.noise_mix_mode FROM top").fetchone()[0])
|
148
148
|
|
149
149
|
@cached_property
|
150
150
|
def class_balancing(self) -> bool:
|
151
151
|
with self.db() as c:
|
152
|
-
return bool(c.execute("SELECT top.class_balancing
|
152
|
+
return bool(c.execute("SELECT top.class_balancing FROM top").fetchone()[0])
|
153
153
|
|
154
154
|
@cached_property
|
155
155
|
def feature(self) -> str:
|
156
156
|
with self.db() as c:
|
157
|
-
return str(c.execute("SELECT top.feature
|
157
|
+
return str(c.execute("SELECT top.feature FROM top").fetchone()[0])
|
158
158
|
|
159
159
|
@cached_property
|
160
160
|
def fg_decimation(self) -> int:
|
@@ -282,14 +282,16 @@ class MixtureDatabase:
|
|
282
282
|
|
283
283
|
:return: Spectral masks
|
284
284
|
"""
|
285
|
+
from .db_datatypes import SpectralMaskRecord
|
286
|
+
|
285
287
|
with self.db() as c:
|
286
|
-
|
287
|
-
|
288
|
-
return [SpectralMask(f_max_width=spectral_mask
|
289
|
-
f_num=spectral_mask
|
290
|
-
t_max_width=spectral_mask
|
291
|
-
t_num=spectral_mask
|
292
|
-
t_max_percent=spectral_mask
|
288
|
+
spectral_masks = [SpectralMaskRecord(*result) for result in
|
289
|
+
c.execute("SELECT * FROM spectral_mask").fetchall()]
|
290
|
+
return [SpectralMask(f_max_width=spectral_mask.f_max_width,
|
291
|
+
f_num=spectral_mask.f_num,
|
292
|
+
t_max_width=spectral_mask.t_max_width,
|
293
|
+
t_num=spectral_mask.t_num,
|
294
|
+
t_max_percent=spectral_mask.t_max_percent) for spectral_mask in spectral_masks]
|
293
295
|
|
294
296
|
def spectral_mask(self, sm_id: int) -> SpectralMask:
|
295
297
|
"""Get spectral mask with ID from db
|
@@ -309,27 +311,29 @@ class MixtureDatabase:
|
|
309
311
|
|
310
312
|
from .datatypes import TruthSetting
|
311
313
|
from .datatypes import TruthSettings
|
314
|
+
from .db_datatypes import TargetFileRecord
|
312
315
|
|
313
316
|
with self.db() as c:
|
314
317
|
target_files: TargetFiles = []
|
315
|
-
for
|
316
|
-
|
318
|
+
target_file_records = [TargetFileRecord(*result) for result in
|
319
|
+
c.execute("SELECT * FROM target_file").fetchall()]
|
320
|
+
for target_file_record in target_file_records:
|
317
321
|
truth_settings: TruthSettings = []
|
318
|
-
for
|
322
|
+
for truth_setting_records in c.execute(
|
319
323
|
"SELECT truth_setting.setting " +
|
320
324
|
"FROM truth_setting, target_file_truth_setting " +
|
321
325
|
"WHERE ? = target_file_truth_setting.target_file_id " +
|
322
326
|
"AND truth_setting.id = target_file_truth_setting.truth_setting_id",
|
323
|
-
(
|
324
|
-
|
325
|
-
truth_settings.append(TruthSetting(config=
|
326
|
-
function=
|
327
|
-
index=
|
328
|
-
target_files.append(TargetFile(name=
|
329
|
-
samples=
|
330
|
-
level_type=
|
327
|
+
(target_file_record.id,)).fetchall():
|
328
|
+
truth_setting = json.loads(truth_setting_records[0])
|
329
|
+
truth_settings.append(TruthSetting(config=truth_setting.get('config', None),
|
330
|
+
function=truth_setting.get('function', None),
|
331
|
+
index=truth_setting.get('index', None)))
|
332
|
+
target_files.append(TargetFile(name=target_file_record.name,
|
333
|
+
samples=target_file_record.samples,
|
334
|
+
level_type=target_file_record.level_type,
|
331
335
|
truth_settings=truth_settings,
|
332
|
-
speaker_id=
|
336
|
+
speaker_id=target_file_record.speaker_id))
|
333
337
|
return target_files
|
334
338
|
|
335
339
|
@cached_property
|
@@ -439,18 +443,16 @@ class MixtureDatabase:
|
|
439
443
|
"""
|
440
444
|
from .helpers import to_mixture
|
441
445
|
from .helpers import to_target
|
446
|
+
from .db_datatypes import MixtureRecord
|
447
|
+
from .db_datatypes import TargetRecord
|
442
448
|
|
443
449
|
with self.db() as c:
|
444
450
|
mixtures: Mixtures = []
|
445
|
-
for mixture in c.execute(
|
446
|
-
|
447
|
-
"
|
448
|
-
"FROM mixture").fetchall():
|
449
|
-
targets = [to_target(target) for target in c.execute(
|
450
|
-
"SELECT target.file_id, augmentation, gain " +
|
451
|
-
"FROM target, mixture_target " +
|
451
|
+
for mixture in [MixtureRecord(*record) for record in c.execute("SELECT * FROM mixture").fetchall()]:
|
452
|
+
targets = [to_target(TargetRecord(*target)) for target in c.execute(
|
453
|
+
"SELECT target.* FROM target, mixture_target " +
|
452
454
|
"WHERE ? = mixture_target.mixture_id AND target.id = mixture_target.target_id",
|
453
|
-
(mixture
|
455
|
+
(mixture.id,)).fetchall()]
|
454
456
|
mixtures.append(to_mixture(mixture, targets))
|
455
457
|
return mixtures
|
456
458
|
|
@@ -474,7 +476,7 @@ class MixtureDatabase:
|
|
474
476
|
@cached_property
|
475
477
|
def mixid_width(self) -> int:
|
476
478
|
with self.db() as c:
|
477
|
-
return int(c.execute("SELECT top.mixid_width
|
479
|
+
return int(c.execute("SELECT top.mixid_width FROM top").fetchone()[0])
|
478
480
|
|
479
481
|
def location_filename(self, name: str) -> str:
|
480
482
|
"""Add the location to the given file name
|
@@ -1001,17 +1003,8 @@ class MixtureDatabase:
|
|
1001
1003
|
def speech_metadata_tiers(self) -> list[str]:
|
1002
1004
|
return sorted(set(self.speaker_metadata_tiers + self.textgrid_metadata_tiers))
|
1003
1005
|
|
1004
|
-
def speaker(self,
|
1005
|
-
|
1006
|
-
return None
|
1007
|
-
|
1008
|
-
with self.db() as c:
|
1009
|
-
data = c.execute(f'SELECT {tier} FROM speaker WHERE ? = id', (speaker_id,)).fetchone()
|
1010
|
-
if data is None:
|
1011
|
-
return None
|
1012
|
-
if data[0] is None:
|
1013
|
-
return None
|
1014
|
-
return data[0]
|
1006
|
+
def speaker(self, s_id: int | None, tier: str) -> Optional[str]:
|
1007
|
+
return _speaker(self.db, s_id, tier)
|
1015
1008
|
|
1016
1009
|
def speech_metadata(self, tier: str) -> list[str]:
|
1017
1010
|
from .helpers import get_textgrid_tier_from_target_file
|
@@ -1096,27 +1089,22 @@ class MixtureDatabase:
|
|
1096
1089
|
return x == value
|
1097
1090
|
|
1098
1091
|
# First get list of matching target files
|
1099
|
-
|
1092
|
+
target_file_ids: list[int] = []
|
1100
1093
|
is_textgrid = tier in self.textgrid_metadata_tiers
|
1101
|
-
for target_file in self.target_files:
|
1094
|
+
for target_file_id, target_file in enumerate(self.target_files):
|
1102
1095
|
if is_textgrid:
|
1103
1096
|
metadata = get_textgrid_tier_from_target_file(target_file.name, tier)
|
1104
1097
|
else:
|
1105
1098
|
metadata = self.speaker(target_file.speaker_id, tier)
|
1106
1099
|
|
1107
1100
|
if not isinstance(metadata, list) and predicate(metadata):
|
1108
|
-
|
1101
|
+
target_file_ids.append(target_file_id + 1)
|
1109
1102
|
|
1110
1103
|
# Next get list of mixture IDs that contain those target files
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
if mixid_target_file in target_files:
|
1116
|
-
m_ids.append(m_id)
|
1117
|
-
|
1118
|
-
# Return sorted, unique list of mixture IDs
|
1119
|
-
return sorted(list(set(m_ids)))
|
1104
|
+
with self.db() as c:
|
1105
|
+
m_ids = c.execute("SELECT mixture_id FROM mixture_target " +
|
1106
|
+
f"WHERE mixture_target.target_id IN ({','.join(map(str, target_file_ids))})").fetchall()
|
1107
|
+
return [x[0] - 1 for x in m_ids]
|
1120
1108
|
|
1121
1109
|
def mixture_all_speech_metadata(self, m_id: int) -> list[dict[str, SpeechMetadata]]:
|
1122
1110
|
from .helpers import mixture_all_speech_metadata
|
@@ -1300,17 +1288,16 @@ def _spectral_mask(db: partial, sm_id: int) -> SpectralMask:
|
|
1300
1288
|
:param sm_id: Spectral mask ID
|
1301
1289
|
:return: Spectral mask
|
1302
1290
|
"""
|
1291
|
+
from .db_datatypes import SpectralMaskRecord
|
1292
|
+
|
1303
1293
|
with db() as c:
|
1304
|
-
spectral_mask = c.execute(
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
t_max_width=spectral_mask[2],
|
1312
|
-
t_num=spectral_mask[3],
|
1313
|
-
t_max_percent=spectral_mask[4])
|
1294
|
+
spectral_mask = SpectralMaskRecord(*c.execute("SELECT * FROM spectral_mask WHERE ? = spectral_mask.id",
|
1295
|
+
(sm_id,)).fetchone())
|
1296
|
+
return SpectralMask(f_max_width=spectral_mask.f_max_width,
|
1297
|
+
f_num=spectral_mask.f_num,
|
1298
|
+
t_max_width=spectral_mask.t_max_width,
|
1299
|
+
t_num=spectral_mask.t_num,
|
1300
|
+
t_max_percent=spectral_mask.t_max_percent)
|
1314
1301
|
|
1315
1302
|
|
1316
1303
|
@lru_cache
|
@@ -1325,11 +1312,11 @@ def _target_file(db: partial, t_id: int) -> TargetFile:
|
|
1325
1312
|
|
1326
1313
|
from .datatypes import TruthSetting
|
1327
1314
|
from .datatypes import TruthSettings
|
1315
|
+
from .db_datatypes import TargetFileRecord
|
1328
1316
|
|
1329
1317
|
with db() as c:
|
1330
|
-
|
1331
|
-
"SELECT
|
1332
|
-
(t_id,)).fetchone()
|
1318
|
+
target_file = TargetFileRecord(
|
1319
|
+
*c.execute("SELECT * FROM target_file WHERE ? = target_file.id", (t_id,)).fetchone())
|
1333
1320
|
|
1334
1321
|
truth_settings: TruthSettings = []
|
1335
1322
|
for ts in c.execute(
|
@@ -1342,11 +1329,11 @@ def _target_file(db: partial, t_id: int) -> TargetFile:
|
|
1342
1329
|
truth_settings.append(TruthSetting(config=entry.get('config', None),
|
1343
1330
|
function=entry.get('function', None),
|
1344
1331
|
index=entry.get('index', None)))
|
1345
|
-
return TargetFile(name=
|
1346
|
-
samples=
|
1347
|
-
level_type=
|
1332
|
+
return TargetFile(name=target_file.name,
|
1333
|
+
samples=target_file.samples,
|
1334
|
+
level_type=target_file.level_type,
|
1348
1335
|
truth_settings=truth_settings,
|
1349
|
-
speaker_id=
|
1336
|
+
speaker_id=target_file.speaker_id)
|
1350
1337
|
|
1351
1338
|
|
1352
1339
|
@lru_cache
|
@@ -1387,19 +1374,29 @@ def _mixture(db: partial, m_id: int) -> Mixture:
|
|
1387
1374
|
"""
|
1388
1375
|
from .helpers import to_mixture
|
1389
1376
|
from .helpers import to_target
|
1377
|
+
from .db_datatypes import MixtureRecord
|
1378
|
+
from .db_datatypes import TargetRecord
|
1390
1379
|
|
1391
1380
|
with db() as c:
|
1392
|
-
mixture = c.execute(
|
1393
|
-
|
1394
|
-
"
|
1395
|
-
"FROM mixture " +
|
1396
|
-
"WHERE ? = mixture.id",
|
1397
|
-
(m_id + 1,)).fetchone()
|
1398
|
-
|
1399
|
-
targets = [to_target(target) for target in c.execute(
|
1400
|
-
"SELECT target.file_id, augmentation, gain " +
|
1381
|
+
mixture = MixtureRecord(*c.execute("SELECT * FROM mixture WHERE ? = mixture.id", (m_id + 1,)).fetchone())
|
1382
|
+
targets = [to_target(TargetRecord(*target)) for target in c.execute(
|
1383
|
+
"SELECT target.* " +
|
1401
1384
|
"FROM target, mixture_target " +
|
1402
1385
|
"WHERE ? = mixture_target.mixture_id AND target.id = mixture_target.target_id",
|
1403
|
-
(mixture
|
1386
|
+
(mixture.id,)).fetchall()]
|
1404
1387
|
|
1405
1388
|
return to_mixture(mixture, targets)
|
1389
|
+
|
1390
|
+
|
1391
|
+
@lru_cache
|
1392
|
+
def _speaker(db: partial, s_id: int | None, tier: str) -> Optional[str]:
|
1393
|
+
if s_id is None:
|
1394
|
+
return None
|
1395
|
+
|
1396
|
+
with db() as c:
|
1397
|
+
data = c.execute(f'SELECT {tier} FROM speaker WHERE ? = id', (s_id,)).fetchone()
|
1398
|
+
if data is None:
|
1399
|
+
return None
|
1400
|
+
if data[0] is None:
|
1401
|
+
return None
|
1402
|
+
return data[0]
|
@@ -36,13 +36,14 @@ sonusai/mixture/class_count.py,sha256=_wFnVl2yEOnbor7pLg7cYOUeX6nioov-03Cv3SEbh2
|
|
36
36
|
sonusai/mixture/config.py,sha256=d2IzZ1samHWGMpoKzSmUwMyAWWhgmyNoxyO8oiUwbsg,22193
|
37
37
|
sonusai/mixture/constants.py,sha256=ZRM7Z8e6EwnL9RwaMVxks-QokN9KMWxnQzAf9VNxa9M,1408
|
38
38
|
sonusai/mixture/datatypes.py,sha256=uVJtT2sVGS531pSglhaLLF5hZcI3_0oKQOWmMkrCwqo,8253
|
39
|
+
sonusai/mixture/db_datatypes.py,sha256=GDYbcSrlgUJsesiUUNnR4s5aBkMgviiNSQDaBcgYX7I,1428
|
39
40
|
sonusai/mixture/eq_rule_is_valid.py,sha256=MpQwRA5M76wSiQWEI1lW2cLFdPaMttBLcQp3tWD8efM,1243
|
40
41
|
sonusai/mixture/feature.py,sha256=Rwuf82IoXzhHPGbKYVGcatImF_ssBf_FfvbqghVPXtg,4116
|
41
|
-
sonusai/mixture/generation.py,sha256=
|
42
|
-
sonusai/mixture/helpers.py,sha256=
|
42
|
+
sonusai/mixture/generation.py,sha256=ohZnhtHIrdQDql2OF703NnhK07Ys-1qAjiwrIql-oMw,42694
|
43
|
+
sonusai/mixture/helpers.py,sha256=eC9ZysEa-83VLKen_9PKWzr8w9dkHj4lp6rMB2fNLbg,24759
|
43
44
|
sonusai/mixture/log_duration_and_sizes.py,sha256=baTUpqyM15wA125jo9E3posmVJUe3WlpksyO6v9Jul0,1347
|
44
45
|
sonusai/mixture/mapped_snr_f.py,sha256=Fdf2uw62FvyKvVy5VywaUtPZGO1zCWQsHlte0bwkKPQ,3121
|
45
|
-
sonusai/mixture/mixdb.py,sha256=
|
46
|
+
sonusai/mixture/mixdb.py,sha256=XSJQKYaUfQylpWbGjfxfP7dendr-9JFcmLWNyE0qUwQ,51697
|
46
47
|
sonusai/mixture/soundfile_audio.py,sha256=mHa5SIXsu_uE0j3DO52GydRJrvWSzU_nII-7YJfQ6Qo,4154
|
47
48
|
sonusai/mixture/sox_audio.py,sha256=HT3kYA9TP5QPCuoOJdUMnGVN-qY6q96DGL8zxuog76o,12277
|
48
49
|
sonusai/mixture/sox_augmentation.py,sha256=kBWPrsFk0EBi71nLcKt5v0GA34bY7g9D9x0cEamNWbU,4564
|
@@ -115,7 +116,7 @@ sonusai/utils/stratified_shuffle_split.py,sha256=rJNXvBp-GxoKzH3OpL7k0ANSu5xMP2z
|
|
115
116
|
sonusai/utils/write_audio.py,sha256=ZsPGExwM86QHLLN2LOWekK2uAqf5pV_1oRW811p0QAI,840
|
116
117
|
sonusai/utils/yes_or_no.py,sha256=eMLXBVH0cEahiXY4W2KNORmwNQ-ba10eRtldh0y4NYg,263
|
117
118
|
sonusai/vars.py,sha256=m2AefF0m5bXWGXpJj8Pi42zWL2ydeEj7bkak3GrtMyM,940
|
118
|
-
sonusai-0.18.
|
119
|
-
sonusai-0.18.
|
120
|
-
sonusai-0.18.
|
121
|
-
sonusai-0.18.
|
119
|
+
sonusai-0.18.1.dist-info/METADATA,sha256=cLhSYAb5FSCHlrBCG0xA2hwa_4S86JUEWIqY85xA5o8,2591
|
120
|
+
sonusai-0.18.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
121
|
+
sonusai-0.18.1.dist-info/entry_points.txt,sha256=zMNjEphEPO6B3cD1GNpit7z-yA9tUU5-j3W2v-UWstU,92
|
122
|
+
sonusai-0.18.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|