sonusai 1.0.7__py3-none-any.whl → 1.0.9__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/__init__.py +8 -7
- sonusai/audiofe.py +1 -1
- sonusai/calc_metric_spenh.py +9 -9
- sonusai/doc/doc.py +64 -61
- sonusai/genft.py +1 -1
- sonusai/genmetrics.py +3 -3
- sonusai/genmix.py +1 -1
- sonusai/genmixdb.py +1 -1
- sonusai/lsdb.py +1 -1
- sonusai/metrics_summary.py +7 -8
- sonusai/mixture/__init__.py +1 -1
- sonusai/mixture/db.py +163 -0
- sonusai/mixture/db_file.py +10 -0
- sonusai/mixture/effects.py +19 -52
- sonusai/mixture/generation.py +331 -391
- sonusai/mixture/mixdb.py +11 -68
- sonusai/mkwav.py +1 -1
- sonusai/onnx_predict.py +1 -1
- sonusai/utils/numeric_conversion.py +2 -2
- sonusai/utils/print_mixture_details.py +24 -28
- {sonusai-1.0.7.dist-info → sonusai-1.0.9.dist-info}/METADATA +2 -1
- {sonusai-1.0.7.dist-info → sonusai-1.0.9.dist-info}/RECORD +24 -22
- {sonusai-1.0.7.dist-info → sonusai-1.0.9.dist-info}/WHEEL +0 -0
- {sonusai-1.0.7.dist-info → sonusai-1.0.9.dist-info}/entry_points.txt +0 -0
sonusai/mixture/mixdb.py
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
from functools import cached_property
|
3
3
|
from functools import lru_cache
|
4
4
|
from functools import partial
|
5
|
-
from sqlite3 import Connection
|
6
|
-
from sqlite3 import Cursor
|
7
5
|
from typing import Any
|
8
6
|
|
9
7
|
from ..datatypes import ASRConfigs
|
@@ -31,66 +29,8 @@ from ..datatypes import TruthDict
|
|
31
29
|
from ..datatypes import TruthsConfigs
|
32
30
|
from ..datatypes import TruthsDict
|
33
31
|
from ..datatypes import UniversalSNR
|
34
|
-
|
35
|
-
|
36
|
-
def db_file(location: str, test: bool = False) -> str:
|
37
|
-
from os.path import join
|
38
|
-
|
39
|
-
from .constants import MIXDB_NAME
|
40
|
-
from .constants import TEST_MIXDB_NAME
|
41
|
-
|
42
|
-
if test:
|
43
|
-
name = TEST_MIXDB_NAME
|
44
|
-
else:
|
45
|
-
name = MIXDB_NAME
|
46
|
-
|
47
|
-
return join(location, name)
|
48
|
-
|
49
|
-
|
50
|
-
def db_connection(
|
51
|
-
location: str,
|
52
|
-
create: bool = False,
|
53
|
-
readonly: bool = True,
|
54
|
-
test: bool = False,
|
55
|
-
verbose: bool = False,
|
56
|
-
) -> Connection:
|
57
|
-
import sqlite3
|
58
|
-
from os import remove
|
59
|
-
from os.path import exists
|
60
|
-
|
61
|
-
from .. import logger_db
|
62
|
-
|
63
|
-
name = db_file(location, test)
|
64
|
-
if create and exists(name):
|
65
|
-
remove(name)
|
66
|
-
|
67
|
-
if not create and not exists(name):
|
68
|
-
raise OSError(f"Could not find mixture database in {location}")
|
69
|
-
|
70
|
-
if not create and readonly:
|
71
|
-
name += "?mode=ro"
|
72
|
-
|
73
|
-
connection = sqlite3.connect("file:" + name, uri=True, timeout=20)
|
74
|
-
|
75
|
-
if verbose:
|
76
|
-
connection.set_trace_callback(logger_db.debug)
|
77
|
-
|
78
|
-
return connection
|
79
|
-
|
80
|
-
|
81
|
-
class SQLiteContextManager:
|
82
|
-
def __init__(self, location: str, test: bool = False, verbose: bool = False) -> None:
|
83
|
-
self.location = location
|
84
|
-
self.test = test
|
85
|
-
self.verbose = verbose
|
86
|
-
|
87
|
-
def __enter__(self) -> Cursor:
|
88
|
-
self.con = db_connection(location=self.location, test=self.test, verbose=self.verbose)
|
89
|
-
self.cur = self.con.cursor()
|
90
|
-
return self.cur
|
91
|
-
|
92
|
-
def __exit__(self, exc_type, exc_val, exc_tb) -> None:
|
93
|
-
self.con.close()
|
32
|
+
from .db import SQLiteDatabase
|
33
|
+
from .db_file import db_file
|
94
34
|
|
95
35
|
|
96
36
|
class MixtureDatabase:
|
@@ -108,19 +48,22 @@ class MixtureDatabase:
|
|
108
48
|
if not exists(db_file(self.location, self.test)):
|
109
49
|
raise OSError(f"Could not find mixture database in {self.location}")
|
110
50
|
|
111
|
-
self.db = partial(
|
51
|
+
self.db = partial(SQLiteDatabase, location=self.location, test=self.test, verbose=self.verbose)
|
112
52
|
|
113
|
-
# Check config.yml to see if asr_configs has changed and update database if needed
|
53
|
+
# Check config.yml to see if asr_configs has changed and update the database if needed
|
114
54
|
config = load_config(self.location)
|
115
55
|
new_asr_configs = json.dumps(config["asr_configs"])
|
116
56
|
with self.db() as c:
|
117
57
|
old_asr_configs = c.execute("SELECT asr_configs FROM top").fetchone()
|
118
58
|
|
119
59
|
if old_asr_configs is not None and new_asr_configs != old_asr_configs[0]:
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
60
|
+
with SQLiteDatabase(
|
61
|
+
location=self.location,
|
62
|
+
readonly=False,
|
63
|
+
test=self.test,
|
64
|
+
verbose=self.verbose,
|
65
|
+
) as cur:
|
66
|
+
cur.execute("UPDATE top SET asr_configs = ? WHERE ? = id", (new_asr_configs,))
|
124
67
|
|
125
68
|
@cached_property
|
126
69
|
def json(self) -> str:
|
sonusai/mkwav.py
CHANGED
sonusai/onnx_predict.py
CHANGED
@@ -210,7 +210,7 @@ def main() -> None:
|
|
210
210
|
if mixdb_path is not None or len(pfiles) > 1: # log file only if mixdb or more than one file
|
211
211
|
makedirs(output_dir, exist_ok=True)
|
212
212
|
# Setup logging file
|
213
|
-
create_file_handler(join(output_dir, "onnx-predict.log"))
|
213
|
+
create_file_handler(join(output_dir, "onnx-predict.log"), verbose)
|
214
214
|
update_console_handler(verbose)
|
215
215
|
initial_log_messages("onnx_predict")
|
216
216
|
# print some previous messages
|
@@ -2,10 +2,10 @@ import numpy as np
|
|
2
2
|
|
3
3
|
|
4
4
|
def int16_to_float(x: np.ndarray) -> np.ndarray:
|
5
|
-
"""Convert int16 array to floating point with range +/- 1"""
|
5
|
+
"""Convert an int16 array to a floating point array with range +/- 1"""
|
6
6
|
return x.astype(np.float32) / 32768
|
7
7
|
|
8
8
|
|
9
9
|
def float_to_int16(x: np.ndarray) -> np.ndarray:
|
10
|
-
"""Convert
|
10
|
+
"""Convert a floating point array with range +/- 1 to an int16 array"""
|
11
11
|
return (x * 32768).astype(np.int16)
|
@@ -1,18 +1,15 @@
|
|
1
1
|
from collections.abc import Callable
|
2
2
|
|
3
3
|
from ..datatypes import ClassCount
|
4
|
+
from ..mixture.helpers import mixture_all_speech_metadata
|
4
5
|
from ..mixture.mixdb import MixtureDatabase
|
5
6
|
|
6
7
|
|
7
8
|
def print_mixture_details(
|
8
9
|
mixdb: MixtureDatabase,
|
9
10
|
mixid: int | None = None,
|
10
|
-
desc_len: int = 1,
|
11
11
|
print_fn: Callable = print,
|
12
12
|
) -> None:
|
13
|
-
import numpy as np
|
14
|
-
|
15
|
-
from ..constants import SAMPLE_RATE
|
16
13
|
from ..utils.seconds_to_hms import seconds_to_hms
|
17
14
|
|
18
15
|
if mixid is not None:
|
@@ -21,30 +18,29 @@ def print_mixture_details(
|
|
21
18
|
|
22
19
|
print_fn(f"Mixture {mixid} details")
|
23
20
|
mixture = mixdb.mixture(mixid)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
print_fn(f"
|
29
|
-
print_fn(f"
|
30
|
-
print_fn(f"
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
print_fn(f"
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
)
|
46
|
-
print_fn(f"
|
47
|
-
print_fn(f"{' Noise SNR gain':{desc_len}} {mixture.noise_snr_gain}")
|
21
|
+
speech_metadata = mixture_all_speech_metadata(mixdb, mixture)
|
22
|
+
for category, source in mixture.all_sources.items():
|
23
|
+
source_file = mixdb.source_file(source.file_id)
|
24
|
+
print_fn(f" {category}")
|
25
|
+
print_fn(f" name: {source_file.name}")
|
26
|
+
print_fn(f" effects: {source.effects.to_dict()}")
|
27
|
+
print_fn(f" pre_tempo: {source.pre_tempo}")
|
28
|
+
print_fn(f" duration: {seconds_to_hms(source_file.duration)}")
|
29
|
+
print_fn(f" start: {source.start}")
|
30
|
+
print_fn(f" repeat: {source.repeat}")
|
31
|
+
print_fn(f" snr: {source.snr}")
|
32
|
+
print_fn(f" random_snr: {source.snr.is_random}")
|
33
|
+
print_fn(f" snr_gain: {source.snr_gain}")
|
34
|
+
for key in source_file.truth_configs:
|
35
|
+
print_fn(f" truth '{key}' function: {source_file.truth_configs[key].function}")
|
36
|
+
print_fn(f" truth '{key}' config: {source_file.truth_configs[key].config}")
|
37
|
+
print_fn(
|
38
|
+
f" truth '{key}' stride_reduction: {source_file.truth_configs[key].stride_reduction}"
|
39
|
+
)
|
40
|
+
for key in speech_metadata[category]:
|
41
|
+
print_fn(f"{category} speech {key}: {speech_metadata[category][key]}")
|
42
|
+
print_fn(f" samples: {mixture.samples}")
|
43
|
+
print_fn(f" feature frames: {mixdb.mixture_feature_frames(mixid)}")
|
48
44
|
print_fn("")
|
49
45
|
|
50
46
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: sonusai
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.9
|
4
4
|
Summary: Framework for building deep neural network models for sound, speech, and voice AI
|
5
5
|
Home-page: https://aaware.com
|
6
6
|
License: GPL-3.0-only
|
@@ -31,6 +31,7 @@ Requires-Dist: psutil (>=6.0.0,<7.0.0)
|
|
31
31
|
Requires-Dist: pyaaware (>=2.0.0,<3.0.0)
|
32
32
|
Requires-Dist: pyaudio (>=0.2.14,<0.3.0)
|
33
33
|
Requires-Dist: pydub (>=0.25.1,<0.26.0)
|
34
|
+
Requires-Dist: pyparsing (>=3.2.3,<4.0.0)
|
34
35
|
Requires-Dist: pystoi (>=0.4.1,<0.5.0)
|
35
36
|
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
36
37
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
@@ -1,7 +1,7 @@
|
|
1
|
-
sonusai/__init__.py,sha256=
|
1
|
+
sonusai/__init__.py,sha256=uIuqSf_XWSVHTj4Q7bfJaO7uK1C25XpSK90DWMRKyx4,3773
|
2
2
|
sonusai/aawscd_probwrite.py,sha256=QZLMQrmPr3OjZ06buyYDwlnk9YPCpyr4KHkBjPsiqjU,3700
|
3
|
-
sonusai/audiofe.py,sha256=
|
4
|
-
sonusai/calc_metric_spenh.py,sha256=
|
3
|
+
sonusai/audiofe.py,sha256=un6fbS1fHWo9rpgRYG6SdBjaCWuxLkDKtg6N_ZkC1dk,19457
|
4
|
+
sonusai/calc_metric_spenh.py,sha256=UW4ItryjYgb4NHkwki9LHvyDBwdIHIARc1yT6yCPJno,50084
|
5
5
|
sonusai/config/__init__.py,sha256=NeXdBQiuRKIm77pK9WHaxkdst9-jwhX1IDrHvpZecpI,52
|
6
6
|
sonusai/config/config.py,sha256=nM1W7dQXBWMdMLrgh3o7_cEItztFf1UTW-4faM0hIqY,1692
|
7
7
|
sonusai/config/config.yml,sha256=9y8wWXemU8tnvm_O21treyCpZF85QzokHsHQ8yl6IfE,283
|
@@ -18,14 +18,14 @@ sonusai/deprecated/gentcst.py,sha256=nKbHy3aHreHqA-XnLQOzOApS8RuTNUFqnx52a8I5zLQ
|
|
18
18
|
sonusai/deprecated/plot.py,sha256=ZzOP4b_7cotArSxbTDDDbhc7hj1BFMzooeZ20ppKneg,17430
|
19
19
|
sonusai/deprecated/tplot.py,sha256=0p238DvTaP4oU9y-dp0JdLaTV4TKrooAwbx7zdz_QAc,14641
|
20
20
|
sonusai/doc/__init__.py,sha256=KyQ26Um0RM8A3GYsb_tbFH64RwpoAw6lja2f_moUWas,33
|
21
|
-
sonusai/doc/doc.py,sha256=
|
21
|
+
sonusai/doc/doc.py,sha256=FURO3pvGKrUCHs5iHf0L2zeNofdePW_jiEwtKQX4pJw,19520
|
22
22
|
sonusai/doc.py,sha256=ZgFSSI56oNDb-yC3xi-RHMClMjryR2VrgGyi3ggX8gM,1098
|
23
|
-
sonusai/genft.py,sha256=
|
24
|
-
sonusai/genmetrics.py,sha256=
|
25
|
-
sonusai/genmix.py,sha256=
|
26
|
-
sonusai/genmixdb.py,sha256=
|
23
|
+
sonusai/genft.py,sha256=yiADvi0J-Fy4kNpNOEB3wVvU9RZowGvOsCTJndQYXFw,5580
|
24
|
+
sonusai/genmetrics.py,sha256=9l7g_DAKa126RGq23-Wilzdh1M3QHCCeNfUVYaQS1mU,6193
|
25
|
+
sonusai/genmix.py,sha256=gcmqcPqZ1Vz_TtZMp29L8cGnqTK5jcw0cAOc16NOR9A,5753
|
26
|
+
sonusai/genmixdb.py,sha256=VDQMF6JHcHc-yJAZ1Se3CM3ac8fFKIgnaxv4e5jdE1I,11281
|
27
27
|
sonusai/ir_metric.py,sha256=nxS_mARPSZG5Y0G3L8HysOnkPj4v-RGxAxAVBYe-gJI,19600
|
28
|
-
sonusai/lsdb.py,sha256
|
28
|
+
sonusai/lsdb.py,sha256=-Fhwd7YuL-OIymFqaNcBHtOq8l_8LxzoEE6ztduQCpY,5059
|
29
29
|
sonusai/main.py,sha256=72feJv5XEVJE_CQatmNIL1VD9ca-Mo0QNDbXxLrHrbQ,2619
|
30
30
|
sonusai/metrics/__init__.py,sha256=ssV6JEK_oklRSocsp6HMcG-GtJvV8IkRQtdKhHHmwU8,878
|
31
31
|
sonusai/metrics/calc_audio_stats.py,sha256=tIfTa40UdYCkj999kUghWafwnFBqFtJxB5yZhVp1YpA,1244
|
@@ -44,22 +44,24 @@ sonusai/metrics/class_summary.py,sha256=mQbMxQ8EtFIN7S2h7A4Dk0X4XF_CIxKk3W8zZMmp
|
|
44
44
|
sonusai/metrics/confusion_matrix_summary.py,sha256=lhd8TyHVMC03khX85h_D75XElmawx56KkqpX3X2O2gQ,3133
|
45
45
|
sonusai/metrics/one_hot.py,sha256=aKc-xYd4zWIjbmoQikIcQ6BJB1k-68XKTg8eJCacHTU,13906
|
46
46
|
sonusai/metrics/snr_summary.py,sha256=qKHctpmvGeu2cmjTG7iQPX1lvVUEtEnCIKwUGu6VrEQ,5773
|
47
|
-
sonusai/metrics_summary.py,sha256=
|
48
|
-
sonusai/mixture/__init__.py,sha256=
|
47
|
+
sonusai/metrics_summary.py,sha256=jtSwHomw23qwTYfzjFo_JmqzrkZcts1CMFFzTmJCmWk,12189
|
48
|
+
sonusai/mixture/__init__.py,sha256=l4CgJN0gH4Z19jcQvXJbR8KSZ5f_ysnoAGi93LQaTjM,1260
|
49
49
|
sonusai/mixture/audio.py,sha256=JyrVtVPLH3aTXFgyl446f5uVHxlFRa4aBaSPYaMdg80,5814
|
50
50
|
sonusai/mixture/class_balancing.py,sha256=lubicVCzxs4TMh2dZSsuIffkLkk1gmwjmwtrtQ27BVQ,3638
|
51
51
|
sonusai/mixture/config.py,sha256=2_hEndyRXxyBpGzyBFaDT9REYGoK9Q7HQy8vDqPozus,23320
|
52
52
|
sonusai/mixture/constants.py,sha256=Kklzhf5DL30yb3TpqRbvRUhcFrEXJ4s2S3D_nw4ARxM,1498
|
53
53
|
sonusai/mixture/data_io.py,sha256=DV48sFcP2Qp3NBzvcnlptQOXU3aUEcAeLuh3XOtC5jI,5341
|
54
|
+
sonusai/mixture/db.py,sha256=yd0bCiihuUAw3IgRlLqcshXB2QHep837O3TwjPyo-LM,5132
|
54
55
|
sonusai/mixture/db_datatypes.py,sha256=VvNtbOgt5WSeSnBoVcNGC5gs_7hX_38pDUPjy5KRbG4,1471
|
55
|
-
sonusai/mixture/
|
56
|
+
sonusai/mixture/db_file.py,sha256=P48TWYNyqchycENIqBu1QqhfsRDP6WK2VanPgxN1Imk,278
|
57
|
+
sonusai/mixture/effects.py,sha256=zIb6ir0WSdKQJo7uJ3QQnV52RA6lJaqgQqvQh-s0dhc,11038
|
56
58
|
sonusai/mixture/feature.py,sha256=7GJvFhfqeqerfjy9Vq9aKt-cecgYblK0IypNNo5hgwY,2285
|
57
|
-
sonusai/mixture/generation.py,sha256=
|
59
|
+
sonusai/mixture/generation.py,sha256=_vGTyqo0ocyOK84rTj_1QXciq1Tmxxl5XhwaXPWIEL0,33105
|
58
60
|
sonusai/mixture/helpers.py,sha256=dmyHwf1C5dZjYOd11kVV16KI33CaM-dU_fyaxOrrKt8,11642
|
59
61
|
sonusai/mixture/ir_delay.py,sha256=aiC23HMWQ08-v5wORgMx1_DOJSdh4kunULqiQ-SGuMo,2026
|
60
62
|
sonusai/mixture/ir_effects.py,sha256=PqiqD4PS42-7kD6ESnsZi2a3tnKCFa4E0xqUujRBvGg,2152
|
61
63
|
sonusai/mixture/log_duration_and_sizes.py,sha256=3ekS27IMKlnxIkQAmprzmBnzHOpRjZh3d7maL2VqWQU,927
|
62
|
-
sonusai/mixture/mixdb.py,sha256=
|
64
|
+
sonusai/mixture/mixdb.py,sha256=5YI0zKisFw_B-jKpB-Y1EYlJ8pHQDvOQLs9LEe0gT1w,84905
|
63
65
|
sonusai/mixture/pad_audio.py,sha256=KNxVQAejA0hblLOnMJgLS6lFaeE0n3tWQ5rclaHBnIY,1015
|
64
66
|
sonusai/mixture/resample.py,sha256=jXqH6FrZ0mlhQ07XqPx88TT9elu3HHVLw7Q0a7Lh5M4,221
|
65
67
|
sonusai/mixture/sox_effects.py,sha256=tndS9qrh3eJOTUPrufyWHCt3UqjbPuh81I4Lo4MNmDg,5328
|
@@ -75,8 +77,8 @@ sonusai/mixture/truth_functions/metrics.py,sha256=Mu6o4Hf-I0-f-dVA_egFBUvf1OBj5v
|
|
75
77
|
sonusai/mixture/truth_functions/phoneme.py,sha256=PhSev7PNDOECcdjnCwiISDZlXQwAiOdk_hD0p3eoXN4,763
|
76
78
|
sonusai/mixture/truth_functions/sed.py,sha256=bMYHLBNPfzo4K-22_iGNi2NwDAG82vNtlDioA8VqcOo,3750
|
77
79
|
sonusai/mixture/truth_functions/target.py,sha256=06zNRu4aD7TReZiaq0HQgukqOrYr1sDgYhHCTIPV1Es,4913
|
78
|
-
sonusai/mkwav.py,sha256=
|
79
|
-
sonusai/onnx_predict.py,sha256=
|
80
|
+
sonusai/mkwav.py,sha256=CExhCtnCvWm2pOS0JW_1FL0Te63JC_WbgA78tS4GB1Q,4200
|
81
|
+
sonusai/onnx_predict.py,sha256=w_gyvxWlDIxj0ySG3c1y8bMV7xlPb-ecVUtun_LInms,15781
|
80
82
|
sonusai/queries/__init__.py,sha256=gB7mgKVg8nIIgH-M1Oivoxkc3TGieOlIFzRHMwBQmrY,277
|
81
83
|
sonusai/queries/queries.py,sha256=HLbwbd7OSXKO-IH6LxKzpr98_vfNlNQXIKZSUvQ98lw,7702
|
82
84
|
sonusai/speech/__init__.py,sha256=vqAymCBPjMUSM4OZKHTai6BYwXsOBlf_G_vOhELVf8I,133
|
@@ -115,11 +117,11 @@ sonusai/utils/keyboard_interrupt.py,sha256=fqBFn8ue_BZ4B2Pw5fk5WPvT4w3aKRNrCExIB
|
|
115
117
|
sonusai/utils/load_object.py,sha256=if4Vammcd-jZTz_n7QzwNIlN4HqSL0v91I9YQzcvEEA,493
|
116
118
|
sonusai/utils/max_text_width.py,sha256=pxiJMwb_zlkNntexgo7S6lAuF7NLLZvFdOCkxdsQJVY,315
|
117
119
|
sonusai/utils/model_utils.py,sha256=OIJBhOjxR0wpxsd7A2r6J2AjqfdYgZzi6UEThw4S1lI,828
|
118
|
-
sonusai/utils/numeric_conversion.py,sha256=
|
120
|
+
sonusai/utils/numeric_conversion.py,sha256=2Ie9ATgJRAo-1y0ECX2YYS23XZ3BG7AB7M7Bys1-pqY,353
|
119
121
|
sonusai/utils/onnx_utils.py,sha256=XkG7ldYD43_pQXkn-1XFSuwwC8HB7-FH7Y4-AYZOUFo,5591
|
120
122
|
sonusai/utils/parallel.py,sha256=yvRZvZWPR5slM51i08m7sYx-Mvsb5oryCqqJXVoJ8tQ,2190
|
121
123
|
sonusai/utils/path_info.py,sha256=QY7iQ0nYpeEDnPN9RyPh4DsgYmVYsLrrlAzKuzkqX1o,118
|
122
|
-
sonusai/utils/print_mixture_details.py,sha256=
|
124
|
+
sonusai/utils/print_mixture_details.py,sha256=7HObpltY60WdPcrC9lcT3zYHkw-clEZZQbESM9a9DKk,2521
|
123
125
|
sonusai/utils/rand.py,sha256=yQMpYuJFi8GkIocDYIT3ESfNYEgWA7KZMWpgjqr0UXQ,225
|
124
126
|
sonusai/utils/ranges.py,sha256=-TtAR0Vg_j4kYtJOvEOYQllBZEat_KfUKsfRxr5oj-o,1235
|
125
127
|
sonusai/utils/read_predict_data.py,sha256=ZcIlfwxfav8Lh3gye7V150t0c6k-C9y5SbzWtDQ6TuU,1037
|
@@ -131,7 +133,7 @@ sonusai/utils/tokenized_shell_vars.py,sha256=EDrrAgz5lJ0RBAjLcTJt1MeyjhbNZiqXkym
|
|
131
133
|
sonusai/utils/write_audio.py,sha256=IHzrJoFtFcea_J6wo6QSiojRkgnNOzAEcg-z0rFV7nU,810
|
132
134
|
sonusai/utils/yes_or_no.py,sha256=0h1okjXmDNbJp7rZJFR2V-HFU1GJDm3YFTUVmYExkOU,263
|
133
135
|
sonusai/vars.py,sha256=m8pdgfR4A6A9TCGf_rok6jPAT5BgrEsYXTSISIh1nrI,1163
|
134
|
-
sonusai-1.0.
|
135
|
-
sonusai-1.0.
|
136
|
-
sonusai-1.0.
|
137
|
-
sonusai-1.0.
|
136
|
+
sonusai-1.0.9.dist-info/METADATA,sha256=PnNdFaS3cIoP8dZEDP6bKK-QoR5W_rV-z5OwEhxhlQs,2694
|
137
|
+
sonusai-1.0.9.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
138
|
+
sonusai-1.0.9.dist-info/entry_points.txt,sha256=zMNjEphEPO6B3cD1GNpit7z-yA9tUU5-j3W2v-UWstU,92
|
139
|
+
sonusai-1.0.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|