sonusai 0.19.6__py3-none-any.whl → 0.19.8__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 +1 -1
- sonusai/aawscd_probwrite.py +1 -1
- sonusai/calc_metric_spenh.py +1 -1
- sonusai/genft.py +29 -14
- sonusai/genmetrics.py +60 -42
- sonusai/genmix.py +41 -29
- sonusai/genmixdb.py +54 -62
- sonusai/metrics/calc_class_weights.py +1 -3
- sonusai/metrics/calc_optimal_thresholds.py +2 -2
- sonusai/metrics/calc_phase_distance.py +1 -1
- sonusai/metrics/calc_speech.py +6 -6
- sonusai/metrics/class_summary.py +6 -15
- sonusai/metrics/confusion_matrix_summary.py +11 -27
- sonusai/metrics/one_hot.py +3 -3
- sonusai/metrics/snr_summary.py +7 -7
- sonusai/mixture/__init__.py +2 -17
- sonusai/mixture/augmentation.py +5 -6
- sonusai/mixture/class_count.py +1 -1
- sonusai/mixture/config.py +36 -46
- sonusai/mixture/data_io.py +30 -1
- sonusai/mixture/datatypes.py +29 -40
- sonusai/mixture/db_datatypes.py +1 -1
- sonusai/mixture/feature.py +3 -23
- sonusai/mixture/generation.py +202 -235
- sonusai/mixture/helpers.py +29 -187
- sonusai/mixture/mixdb.py +386 -159
- sonusai/mixture/soundfile_audio.py +1 -1
- sonusai/mixture/sox_audio.py +4 -4
- sonusai/mixture/sox_augmentation.py +1 -1
- sonusai/mixture/target_class_balancing.py +9 -11
- sonusai/mixture/targets.py +23 -20
- sonusai/mixture/truth.py +21 -34
- sonusai/mixture/truth_functions/__init__.py +6 -0
- sonusai/mixture/truth_functions/crm.py +51 -37
- sonusai/mixture/truth_functions/energy.py +95 -50
- sonusai/mixture/truth_functions/file.py +12 -8
- sonusai/mixture/truth_functions/metadata.py +24 -0
- sonusai/mixture/truth_functions/metrics.py +28 -0
- sonusai/mixture/truth_functions/phoneme.py +4 -5
- sonusai/mixture/truth_functions/sed.py +32 -23
- sonusai/mixture/truth_functions/target.py +62 -29
- sonusai/mkwav.py +20 -19
- sonusai/queries/queries.py +9 -15
- sonusai/speech/l2arctic.py +6 -2
- sonusai/summarize_metric_spenh.py +1 -1
- sonusai/utils/__init__.py +1 -0
- sonusai/utils/asr_functions/aaware_whisper.py +1 -1
- sonusai/utils/audio_devices.py +27 -18
- sonusai/utils/docstring.py +6 -3
- sonusai/utils/energy_f.py +5 -3
- sonusai/utils/human_readable_size.py +6 -6
- sonusai/utils/load_object.py +15 -0
- sonusai/utils/onnx_utils.py +2 -2
- sonusai/utils/print_mixture_details.py +3 -3
- {sonusai-0.19.6.dist-info → sonusai-0.19.8.dist-info}/METADATA +2 -2
- {sonusai-0.19.6.dist-info → sonusai-0.19.8.dist-info}/RECORD +58 -56
- sonusai/mixture/truth_functions/datatypes.py +0 -37
- {sonusai-0.19.6.dist-info → sonusai-0.19.8.dist-info}/WHEEL +0 -0
- {sonusai-0.19.6.dist-info → sonusai-0.19.8.dist-info}/entry_points.txt +0 -0
sonusai/utils/audio_devices.py
CHANGED
@@ -4,14 +4,17 @@ import pyaudio
|
|
4
4
|
def get_input_device_index_by_name(p: pyaudio.PyAudio, name: str | None = None) -> int:
|
5
5
|
info = p.get_host_api_info_by_index(0)
|
6
6
|
device_count = info.get("deviceCount")
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
if isinstance(device_count, int):
|
8
|
+
for i in range(0, device_count):
|
9
|
+
device_info = p.get_device_info_by_host_api_device_index(0, i)
|
10
|
+
if name is None:
|
11
|
+
device_name = None
|
12
|
+
else:
|
13
|
+
device_name = device_info.get("name")
|
14
|
+
if isinstance(device_name, str) or device_name is None:
|
15
|
+
input_channels = device_info.get("maxInputChannels")
|
16
|
+
if name == device_name and isinstance(input_channels, int) and input_channels > 0:
|
17
|
+
return i
|
15
18
|
|
16
19
|
raise ValueError(f"Could not find {name}")
|
17
20
|
|
@@ -20,11 +23,14 @@ def get_input_devices(p: pyaudio.PyAudio) -> list[str]:
|
|
20
23
|
names = []
|
21
24
|
info = p.get_host_api_info_by_index(0)
|
22
25
|
device_count = info.get("deviceCount")
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
if isinstance(device_count, int):
|
27
|
+
for i in range(0, device_count):
|
28
|
+
device_info = p.get_device_info_by_host_api_device_index(0, i)
|
29
|
+
device_name = device_info.get("name")
|
30
|
+
if isinstance(device_name, str):
|
31
|
+
input_channels = device_info.get("maxInputChannels")
|
32
|
+
if isinstance(input_channels, int) and input_channels > 0:
|
33
|
+
names.append(device_name)
|
28
34
|
|
29
35
|
return names
|
30
36
|
|
@@ -32,10 +38,13 @@ def get_input_devices(p: pyaudio.PyAudio) -> list[str]:
|
|
32
38
|
def get_default_input_device(p: pyaudio.PyAudio) -> str:
|
33
39
|
info = p.get_host_api_info_by_index(0)
|
34
40
|
device_count = info.get("deviceCount")
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
41
|
+
if isinstance(device_count, int):
|
42
|
+
for i in range(0, device_count):
|
43
|
+
device_info = p.get_device_info_by_host_api_device_index(0, i)
|
44
|
+
device_name = device_info.get("name")
|
45
|
+
if isinstance(device_name, str):
|
46
|
+
input_channels = device_info.get("maxInputChannels")
|
47
|
+
if isinstance(input_channels, int) and input_channels > 0:
|
48
|
+
return device_name
|
40
49
|
|
41
50
|
raise ValueError("No input audio devices found")
|
sonusai/utils/docstring.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
def trim_docstring(docstring: str) -> str:
|
1
|
+
def trim_docstring(docstring: str | None) -> str:
|
2
2
|
"""Trim whitespace from docstring"""
|
3
3
|
from sys import maxsize
|
4
4
|
|
@@ -30,11 +30,14 @@ def trim_docstring(docstring: str) -> str:
|
|
30
30
|
return "\n".join(trimmed)
|
31
31
|
|
32
32
|
|
33
|
-
def add_commands_to_docstring(docstring: str, plugin_docstrings: list[str]) -> str:
|
33
|
+
def add_commands_to_docstring(docstring: str | None, plugin_docstrings: list[str]) -> str:
|
34
34
|
"""Add commands to docstring"""
|
35
35
|
import sonusai
|
36
36
|
|
37
|
-
|
37
|
+
if not docstring:
|
38
|
+
lines = []
|
39
|
+
else:
|
40
|
+
lines = docstring.splitlines()
|
38
41
|
|
39
42
|
start = lines.index("The sonusai commands are:")
|
40
43
|
end = lines.index("", start)
|
sonusai/utils/energy_f.py
CHANGED
@@ -29,14 +29,16 @@ def compute_energy_f(
|
|
29
29
|
if transform is None:
|
30
30
|
raise ValueError("Must provide ForwardTransform object")
|
31
31
|
|
32
|
-
|
32
|
+
_frequency_domain = transform.execute_all(torch.from_numpy(time_domain))[0].numpy()
|
33
|
+
else:
|
34
|
+
_frequency_domain = frequency_domain
|
33
35
|
|
34
|
-
frames, bins =
|
36
|
+
frames, bins = _frequency_domain.shape
|
35
37
|
result = np.empty((frames, bins), dtype=np.float32)
|
36
38
|
|
37
39
|
for f in range(frames):
|
38
40
|
for b in range(bins):
|
39
|
-
value =
|
41
|
+
value = _frequency_domain[f, b]
|
40
42
|
result[f, b] = np.real(value) * np.real(value) + np.imag(value) * np.imag(value)
|
41
43
|
|
42
44
|
return result
|
@@ -1,7 +1,7 @@
|
|
1
|
-
def human_readable_size(
|
1
|
+
def human_readable_size(num: float, decimal_places: int = 3, suffix: str = "B") -> str:
|
2
2
|
"""Convert number into string with units"""
|
3
|
-
for unit in
|
4
|
-
if
|
5
|
-
|
6
|
-
|
7
|
-
return f"{
|
3
|
+
for unit in ("", "k", "M", "G", "T", "P", "E", "Z"):
|
4
|
+
if abs(num) < 1024.0:
|
5
|
+
return f"{num:.{decimal_places}f} {unit}{suffix}"
|
6
|
+
num /= 1024.0
|
7
|
+
return f"{num:.{decimal_places}f} Y{suffix}"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from functools import lru_cache
|
2
|
+
from typing import Any
|
3
|
+
|
4
|
+
|
5
|
+
@lru_cache
|
6
|
+
def load_object(name: str) -> Any:
|
7
|
+
"""Load an object from a pickle file (with LRU caching)"""
|
8
|
+
import pickle
|
9
|
+
from os.path import exists
|
10
|
+
|
11
|
+
if exists(name):
|
12
|
+
with open(name, "rb") as f:
|
13
|
+
return pickle.load(f) # noqa: S301
|
14
|
+
|
15
|
+
raise FileNotFoundError(name)
|
sonusai/utils/onnx_utils.py
CHANGED
@@ -3,8 +3,8 @@ from collections.abc import Sequence
|
|
3
3
|
from onnx import ModelProto
|
4
4
|
from onnx import ValueInfoProto
|
5
5
|
from onnxruntime import InferenceSession
|
6
|
-
from onnxruntime import NodeArg
|
7
|
-
from onnxruntime import SessionOptions
|
6
|
+
from onnxruntime import NodeArg # pyright: ignore [reportAttributeAccessIssue]
|
7
|
+
from onnxruntime import SessionOptions # pyright: ignore [reportAttributeAccessIssue]
|
8
8
|
|
9
9
|
REQUIRED_HPARAMS = (
|
10
10
|
"feature",
|
@@ -37,10 +37,10 @@ def print_mixture_details(
|
|
37
37
|
print_fn(f'{" Samples":{desc_len}} {mixture.samples}')
|
38
38
|
print_fn(f'{" Feature frames":{desc_len}} {mixdb.mixture_feature_frames(mixid)}')
|
39
39
|
print_fn(f'{" Noise file":{desc_len}} {noise_file.name}')
|
40
|
-
noise_offset_percent = int(np.round(100 * mixture.
|
41
|
-
print_fn(f'{" Noise offset":{desc_len}} {mixture.
|
40
|
+
noise_offset_percent = int(np.round(100 * mixture.noise_offset / float(noise_file.duration * SAMPLE_RATE)))
|
41
|
+
print_fn(f'{" Noise offset":{desc_len}} {mixture.noise_offset} samples ({noise_offset_percent}%)')
|
42
42
|
print_fn(f'{" SNR":{desc_len}} {mixture.snr} dB{" (random)" if mixture.snr.is_random else ""}')
|
43
|
-
print_fn(f'{" Target gain":{desc_len}} {[target.gain for target in mixture.targets]}')
|
43
|
+
print_fn(f'{" Target gain":{desc_len}} {[target.gain if not mixture.is_noise_only else 0 for target in mixture.targets]}')
|
44
44
|
print_fn(f'{" Target SNR gain":{desc_len}} {mixture.target_snr_gain}')
|
45
45
|
print_fn(f'{" Noise SNR gain":{desc_len}} {mixture.noise_snr_gain}')
|
46
46
|
print_fn("")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sonusai
|
3
|
-
Version: 0.19.
|
3
|
+
Version: 0.19.8
|
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
|
@@ -27,7 +27,7 @@ Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
|
27
27
|
Requires-Dist: pesq (>=0.0.4,<0.0.5)
|
28
28
|
Requires-Dist: praatio (>=6.2.0,<7.0.0)
|
29
29
|
Requires-Dist: psutil (>=6.0.0,<7.0.0)
|
30
|
-
Requires-Dist: pyaaware (>=1.
|
30
|
+
Requires-Dist: pyaaware (>=1.6.3,<2.0.0)
|
31
31
|
Requires-Dist: pyaudio (>=0.2.14,<0.3.0)
|
32
32
|
Requires-Dist: pydub (>=0.25.1,<0.26.0)
|
33
33
|
Requires-Dist: pystoi (>=0.4.1,<0.5.0)
|
@@ -1,7 +1,7 @@
|
|
1
|
-
sonusai/__init__.py,sha256=
|
2
|
-
sonusai/aawscd_probwrite.py,sha256=
|
1
|
+
sonusai/__init__.py,sha256=NSb0bvmAh6Rm2MDtchpAGsg8a3BrmVnShYb-vC_emH8,2802
|
2
|
+
sonusai/aawscd_probwrite.py,sha256=QZLMQrmPr3OjZ06buyYDwlnk9YPCpyr4KHkBjPsiqjU,3700
|
3
3
|
sonusai/audiofe.py,sha256=iFdthh4UrOvziT8urjrjD7dACWZPQz9orM5bVAW3WSQ,11269
|
4
|
-
sonusai/calc_metric_spenh.py,sha256=
|
4
|
+
sonusai/calc_metric_spenh.py,sha256=NTqYBNDR6LTSdDA8s4WCSEwajE3-fNJg1TUzhNzJC9g,46719
|
5
5
|
sonusai/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
sonusai/data/genmixdb.yml,sha256=U_kLbE7gZ5rA7yNSB2NW7eK5dnYP5grJVMR321VMLt8,940
|
7
7
|
sonusai/data/speech_ma01_01.wav,sha256=PK0vMKg-NR6rPE3KouxHGF6PKXnJCr7AwjMqfu98LUA,76644
|
@@ -12,68 +12,69 @@ sonusai/deprecated/tplot.py,sha256=0p238DvTaP4oU9y-dp0JdLaTV4TKrooAwbx7zdz_QAc,1
|
|
12
12
|
sonusai/doc/__init__.py,sha256=KyQ26Um0RM8A3GYsb_tbFH64RwpoAw6lja2f_moUWas,33
|
13
13
|
sonusai/doc/doc.py,sha256=VZXauwbOb-VIufWw-lu0yfrd6jMRPeFeVPaaEjZNvn4,18881
|
14
14
|
sonusai/doc.py,sha256=zSmXpioB0YS_5-7kqfS5cr--veSaXkxRKzldId9Hyoc,878
|
15
|
-
sonusai/genft.py,sha256=
|
16
|
-
sonusai/genmetrics.py,sha256=
|
17
|
-
sonusai/genmix.py,sha256=
|
18
|
-
sonusai/genmixdb.py,sha256=
|
15
|
+
sonusai/genft.py,sha256=TqtmexKw7tZsugU1DbZ3fY7_YZ2hFlIU-ema6f0LRgQ,5586
|
16
|
+
sonusai/genmetrics.py,sha256=RiEYmkRl0yVCIr9PHkKRqEG68WR77pP9WpWAYeKnMLE,5723
|
17
|
+
sonusai/genmix.py,sha256=pugp74prksf4ZiJYMXWg2l3v48Qqi9KpP2WhPEBpZOU,6702
|
18
|
+
sonusai/genmixdb.py,sha256=QB9iARnAutuPPxML-g-kc3C-W1Sodabr68e4GSRD21Q,18680
|
19
19
|
sonusai/lsdb.py,sha256=0HOGDDndB3LT9cz9AaxKIpt9vslAoSP4F239gply4Xg,5149
|
20
20
|
sonusai/main.py,sha256=HbnEia1B1-Z-mlHkLfojH8aj9GIpL1Btw3oH60T_CCQ,2590
|
21
21
|
sonusai/metrics/__init__.py,sha256=ssV6JEK_oklRSocsp6HMcG-GtJvV8IkRQtdKhHHmwU8,878
|
22
22
|
sonusai/metrics/calc_audio_stats.py,sha256=IHgYEPaob_Nw35SaH3tyHp7Wwju4f-2-BJZ99JyeLmc,1572
|
23
|
-
sonusai/metrics/calc_class_weights.py,sha256=
|
24
|
-
sonusai/metrics/calc_optimal_thresholds.py,sha256=
|
23
|
+
sonusai/metrics/calc_class_weights.py,sha256=SUOCdM4w03rFpyxAriPnPwCtEEFsAH3WxpK9N_fupwo,3637
|
24
|
+
sonusai/metrics/calc_optimal_thresholds.py,sha256=0JOqU__doeOpNtgEZgeO1Kg7pttJRpITTVmqLU6TadY,3513
|
25
25
|
sonusai/metrics/calc_pcm.py,sha256=yBQV9UJ1GK5f4c_8TNABMtZR-xyStKJCsSTT0FQGa50,1886
|
26
26
|
sonusai/metrics/calc_pesq.py,sha256=dCztUTaPyyjkUI2DpejqhiPzQv4FOtigzffFnDXDs-M,949
|
27
|
-
sonusai/metrics/calc_phase_distance.py,sha256
|
27
|
+
sonusai/metrics/calc_phase_distance.py,sha256=MFuBtGXb5qfQvRVciJ0Soz1w0GMSeJLBJud-aK4Loow,1870
|
28
28
|
sonusai/metrics/calc_sa_sdr.py,sha256=IdCzlQ_w94A3eK42t-gy_DrFN_tziwfDjTU6-WKuCFs,2531
|
29
29
|
sonusai/metrics/calc_sample_weights.py,sha256=0O2EH1-FKlCa0HFgKPUF1BJiknR1hCH7zLbXnoXH7Ag,945
|
30
30
|
sonusai/metrics/calc_segsnr_f.py,sha256=-ncM0OGRcOBDh2PnGsQOQccHs1QXHBTd3eCv4YpF3fs,2923
|
31
|
-
sonusai/metrics/calc_speech.py,sha256=
|
31
|
+
sonusai/metrics/calc_speech.py,sha256=3Gs6lmEaZj7XPZYuQnal2_Wa-z-6naktSfLRnl0H53g,14754
|
32
32
|
sonusai/metrics/calc_wer.py,sha256=1MQYMx8ldHeodtJEtGibvDKhvSaGe6DBmZV4L8qOMgg,2362
|
33
33
|
sonusai/metrics/calc_wsdr.py,sha256=vcALY-zuhyThRa1QMz2qW8L9kSBc2v32gV9u8bV7VaM,2556
|
34
|
-
sonusai/metrics/class_summary.py,sha256=
|
35
|
-
sonusai/metrics/confusion_matrix_summary.py,sha256=
|
36
|
-
sonusai/metrics/one_hot.py,sha256=
|
37
|
-
sonusai/metrics/snr_summary.py,sha256=
|
38
|
-
sonusai/mixture/__init__.py,sha256=
|
34
|
+
sonusai/metrics/class_summary.py,sha256=ZA7zNgwBpmTs1TP_t4jRT0pWnDnATC_up_8qE4aH-do,2809
|
35
|
+
sonusai/metrics/confusion_matrix_summary.py,sha256=zBL_Ke7wF6oKtrKZPr0fsyF_taofdjxBlZmKodu0xUA,3143
|
36
|
+
sonusai/metrics/one_hot.py,sha256=hmuyh-9tpRjb_oyqU3WqZ14zItpRJQfcqBDKJeb5H9I,13930
|
37
|
+
sonusai/metrics/snr_summary.py,sha256=t8Fi_8WtboTi8flkZuOiHq9H3-nIELx4AKvnm-qvxLQ,5785
|
38
|
+
sonusai/mixture/__init__.py,sha256=ccz_UpB7Rh6wUB7uwLgNhciMZhKE9Qt9ICLyjq08kxs,5126
|
39
39
|
sonusai/mixture/audio.py,sha256=Tg0-HzSgZDttKwWwONqgK6qK4maTSmWcfiL1atZcIXQ,2390
|
40
|
-
sonusai/mixture/augmentation.py,sha256=
|
41
|
-
sonusai/mixture/class_count.py,sha256=
|
42
|
-
sonusai/mixture/config.py,sha256=
|
40
|
+
sonusai/mixture/augmentation.py,sha256=s8QlPHnFJOblRU59fMQ-Zqysiv4OUJ7CxLRcV81lnaA,10407
|
41
|
+
sonusai/mixture/class_count.py,sha256=zcC3BDYMPN6wJYmO1RcOuqmrnTQIbMSznl33oN3e2sc,597
|
42
|
+
sonusai/mixture/config.py,sha256=g5ZmOhFYqmEdRQYSgfDIZ9VM0QiTwBqk7vIyAvxnPMo,24211
|
43
43
|
sonusai/mixture/constants.py,sha256=fXcWuSI4YZOAuncLGEUeEW9WWNZeN-6mI8LFNILwyTc,1494
|
44
|
-
sonusai/mixture/data_io.py,sha256=
|
45
|
-
sonusai/mixture/datatypes.py,sha256=
|
46
|
-
sonusai/mixture/db_datatypes.py,sha256=
|
44
|
+
sonusai/mixture/data_io.py,sha256=KZGqhHd9_ucAfZEAXPIc5XL3aHYgdV5CyqaBx5_t8OM,5551
|
45
|
+
sonusai/mixture/datatypes.py,sha256=xNDBWFTVQ3plJ7qHKzrXyV4pffPYuf1xMVqBsR40n4o,10487
|
46
|
+
sonusai/mixture/db_datatypes.py,sha256=kvdUOMS6Pkkj9AmxCiq6zM8x7jbPPi933tVaXRxbTdQ,1534
|
47
47
|
sonusai/mixture/eq_rule_is_valid.py,sha256=O3gCAs_0hpxENK5b7kxxpDmOpKHlXGBWuLGT_97ARSM,1210
|
48
|
-
sonusai/mixture/feature.py,sha256=
|
49
|
-
sonusai/mixture/generation.py,sha256=
|
50
|
-
sonusai/mixture/helpers.py,sha256=
|
48
|
+
sonusai/mixture/feature.py,sha256=L0bPFG0RO-CrrtTStUMt_14euYsVo8_TWTP2IKSFKaA,2335
|
49
|
+
sonusai/mixture/generation.py,sha256=sPsl-r5d9mkSglHOG5_VbmoDNqOscuWTdu7F6OJa-Qw,38751
|
50
|
+
sonusai/mixture/helpers.py,sha256=UEN_9LttIZwvms9nOkjMr_Yf3lpb7sMPmDVUoX8D7yQ,15225
|
51
51
|
sonusai/mixture/log_duration_and_sizes.py,sha256=qhgl87C2KbjxLdKEpjYOoqNL6rc-8-PB4R7Gx_7UG8g,1240
|
52
|
-
sonusai/mixture/mixdb.py,sha256=
|
53
|
-
sonusai/mixture/soundfile_audio.py,sha256=
|
54
|
-
sonusai/mixture/sox_audio.py,sha256=
|
55
|
-
sonusai/mixture/sox_augmentation.py,sha256=
|
52
|
+
sonusai/mixture/mixdb.py,sha256=W8B54U6f-8szMylXSnU0YzOR-a9M3XoCRpyqOgBIJuQ,73498
|
53
|
+
sonusai/mixture/soundfile_audio.py,sha256=At_ZC2b9pZ_9IYp1UxyPzRoBK9-1cKPCLMm74F1AjKE,4092
|
54
|
+
sonusai/mixture/sox_audio.py,sha256=7ouCLqXYS6tjG2L0v5lugVO7z5UwJmsr1VigbrXhs74,16725
|
55
|
+
sonusai/mixture/sox_augmentation.py,sha256=DtfGLPaB1BIt2wvTEA__MYkGFNU85Tuup5BFsIVrh0E,4546
|
56
56
|
sonusai/mixture/spectral_mask.py,sha256=U9XJ_SAoI9b67K_3SE7bNw6U8cPGFOBttaZAxMjA_Jc,2042
|
57
|
-
sonusai/mixture/target_class_balancing.py,sha256=
|
58
|
-
sonusai/mixture/targets.py,sha256=
|
57
|
+
sonusai/mixture/target_class_balancing.py,sha256=o_TZ8kVYq10lgeXHh3GUFfflfdUvRt0FekFu2eaNkDs,4251
|
58
|
+
sonusai/mixture/targets.py,sha256=6emo2fxxp9ZhSpHuUM9xIjYMz8zeIHAw684jT3l7fAs,6442
|
59
59
|
sonusai/mixture/tokenized_shell_vars.py,sha256=lXTzUDutuBWGV1zIsqeIxWmy-eKm0Vx1y8-iLdsL1gQ,4921
|
60
60
|
sonusai/mixture/torchaudio_audio.py,sha256=169VXKEoOHc5nyiHJwaihkcQ_a1ZH_O-nnk9Gq4JtaQ,2887
|
61
61
|
sonusai/mixture/torchaudio_augmentation.py,sha256=68QpJ4JcAH2fsL4qVck7VvBv615UbCBPEnNe4HMvA_8,3844
|
62
|
-
sonusai/mixture/truth.py,sha256
|
63
|
-
sonusai/mixture/truth_functions/__init__.py,sha256=
|
64
|
-
sonusai/mixture/truth_functions/crm.py,sha256=
|
65
|
-
sonusai/mixture/truth_functions/
|
66
|
-
sonusai/mixture/truth_functions/
|
67
|
-
sonusai/mixture/truth_functions/
|
68
|
-
sonusai/mixture/truth_functions/
|
69
|
-
sonusai/mixture/truth_functions/
|
70
|
-
sonusai/mixture/truth_functions/
|
71
|
-
sonusai/
|
62
|
+
sonusai/mixture/truth.py,sha256=-CwwawFRGjqodR2yKvAMGL1XaYLct-tli7wZ2gbhLtQ,2121
|
63
|
+
sonusai/mixture/truth_functions/__init__.py,sha256=0mlOFChPnXG5BC0eKOe4n9VH17jY4iOqZFLuF6Gprdk,1505
|
64
|
+
sonusai/mixture/truth_functions/crm.py,sha256=iidcffXfqV8k9O5wt5KTWIAFaTSjmhV5ucKZPbTgpvQ,3809
|
65
|
+
sonusai/mixture/truth_functions/energy.py,sha256=dlxl5c58bv012KgyKeO78urXSh6FK3LdqiKk0SDkmS8,6540
|
66
|
+
sonusai/mixture/truth_functions/file.py,sha256=pyCAhx3PhJRBoZMrjoQI4Tbi5TN7sPembSVEr80Bu3g,1431
|
67
|
+
sonusai/mixture/truth_functions/metadata.py,sha256=aEZly5bJEaZpUBZonWvcu14_Dn3M2HamwTaM5Bg7Tm8,778
|
68
|
+
sonusai/mixture/truth_functions/metrics.py,sha256=xfH98eXBe20kwRk-tdWbBkOplF1cCA-u_naJUiTps0Y,873
|
69
|
+
sonusai/mixture/truth_functions/phoneme.py,sha256=jwBYiNwwBwh2tHtOJ2NopYWhT6y19kXzSIag0XW9GSY,778
|
70
|
+
sonusai/mixture/truth_functions/sed.py,sha256=C0n9DkfBNQblFsFCkPbooy54KuHSY7B0f1vLft2asdw,3832
|
71
|
+
sonusai/mixture/truth_functions/target.py,sha256=nSkHFESzCEOljcYf4jQ7FmxsAWJtMCRRWFKM_DyjoLU,4926
|
72
|
+
sonusai/mkwav.py,sha256=xoqrX76gC1zE-Xb1Zfm9ZpcZ95l0qF1ZyOPmLMkFomk,4053
|
72
73
|
sonusai/onnx_predict.py,sha256=Y1VUN0wuvloEW46uxg7X4ywaec_Xx92djCU3BP0KAx0,8699
|
73
74
|
sonusai/queries/__init__.py,sha256=bhoeOFfu9GA5DOUuxRrIev7MYdXaGN8xdKJ6BXyNNtQ,277
|
74
|
-
sonusai/queries/queries.py,sha256=
|
75
|
+
sonusai/queries/queries.py,sha256=N84UcRrgDPLGJZesS2KQ9eyRzPRSyukjOlc786h5Ehs,7509
|
75
76
|
sonusai/speech/__init__.py,sha256=vqAymCBPjMUSM4OZKHTai6BYwXsOBlf_G_vOhELVf8I,133
|
76
|
-
sonusai/speech/l2arctic.py,sha256=
|
77
|
+
sonusai/speech/l2arctic.py,sha256=VQNKuTbmlbW0PJ7bOjx9sr0VjUYxJnxfTiPJIa4OOaA,3829
|
77
78
|
sonusai/speech/librispeech.py,sha256=ugP3NVOenSsBF1cUG4Nyl7dumGHQmE4Ugk1yYjtOyj4,3070
|
78
79
|
sonusai/speech/mcgill.py,sha256=sgPHEZTPHlFXF8GVYFfKXMUEyBikfKha2RWOPfpNy_U,1981
|
79
80
|
sonusai/speech/textgrid.py,sha256=WvsUeamKoYyXBNnNnZgug-xfTiq2Z6RnFc1u0swmqNw,2813
|
@@ -81,13 +82,13 @@ sonusai/speech/timit.py,sha256=B1DZCS5Crt9Y54drqVqurhEiOMUZGxVOW7gxzZA5ErY,4099
|
|
81
82
|
sonusai/speech/types.py,sha256=4eKVPAktpkIrZ2qoVp2iT45zxTVNocQEGT6O_Zlub_w,214
|
82
83
|
sonusai/speech/vctk.py,sha256=WInvRRRkZCW6t_NcZAJffJzgCbyetal-j2w0kKX5SDw,1527
|
83
84
|
sonusai/speech/voxceleb.py,sha256=Uu1kB1krf8hess1yuvGbYfV_VgYhklEyoz4I7KfrVpw,2658
|
84
|
-
sonusai/summarize_metric_spenh.py,sha256=
|
85
|
-
sonusai/utils/__init__.py,sha256=
|
85
|
+
sonusai/summarize_metric_spenh.py,sha256=2w81ZgJahYvD6wCpE3DFoUFrXexLXjO44ITRVm1HJXw,1858
|
86
|
+
sonusai/utils/__init__.py,sha256=z72OlzZCHpYfYHKnHn7jznj6Zt7zB-FyO6hIgFk45As,2379
|
86
87
|
sonusai/utils/asl_p56.py,sha256=cPUVwXawF7vLJgs4zUtoRGk7Wdbe5KKti_-v_8xIU10,3862
|
87
88
|
sonusai/utils/asr.py,sha256=20eKkatNqGrbxFQoyeCRzqXaSH3lcA-9ZXGneCXjLvs,2791
|
88
89
|
sonusai/utils/asr_functions/__init__.py,sha256=HKGRm_c48tcxlfwqH63m-MvhAoK_pCcw76lxmFmiP_U,63
|
89
|
-
sonusai/utils/asr_functions/aaware_whisper.py,sha256=
|
90
|
-
sonusai/utils/audio_devices.py,sha256=
|
90
|
+
sonusai/utils/asr_functions/aaware_whisper.py,sha256=M9Y8Pgh1oIrDOPZZPSRPDig8foxfgs3f8AsoZ8W00B0,2120
|
91
|
+
sonusai/utils/audio_devices.py,sha256=_Eiah86SZjbdp2baD2AUVF4FmhseiNuG3KJkd_LbULk,2041
|
91
92
|
sonusai/utils/braced_glob.py,sha256=uvxo7USbxH6cWuVdNeGrz1SbZISFR1gPGbpy0EWm3m8,1645
|
92
93
|
sonusai/utils/calculate_input_shape.py,sha256=TIa_rHW3VIvOhlv5Wa3orcWFPMT-a3EPrIFHstbrmo4,906
|
93
94
|
sonusai/utils/compress.py,sha256=tT983XlgRf9bzutCegtHzkfKHK5LZD6a_mMFP47FGMI,605
|
@@ -96,20 +97,21 @@ sonusai/utils/create_timestamp.py,sha256=s7ALOX3MAyK3EOX2BVOiYTIcspsKlIM6zXJk2cb
|
|
96
97
|
sonusai/utils/create_ts_name.py,sha256=3xu10hbZkV18sDqK4oR1JYvXeYE53ufzddmvGYx83Vg,405
|
97
98
|
sonusai/utils/dataclass_from_dict.py,sha256=iUagjF7CzbDIBKTX4ktd7EXn8q1jxmiRClMH3fu2_oA,389
|
98
99
|
sonusai/utils/db.py,sha256=lI77MJJLs4CTYxhjFUvBom2Kk2imAP34okOeO4irbDc,371
|
99
|
-
sonusai/utils/docstring.py,sha256=
|
100
|
-
sonusai/utils/energy_f.py,sha256=
|
100
|
+
sonusai/utils/docstring.py,sha256=aPFrVpqlbYq3kIJE_sLCjhXWEqWCBo_q_DUmEXcGONQ,1516
|
101
|
+
sonusai/utils/energy_f.py,sha256=k1S5ELsNsm3Sn0RogFEzZv1bW-X8yl2dc2KjWne_t2I,1515
|
101
102
|
sonusai/utils/engineering_number.py,sha256=SToFf6S0Xu0NtAJ1SjsVH4wxylH7qK8S9TBkPa15opY,5510
|
102
103
|
sonusai/utils/get_frames_per_batch.py,sha256=xnq4tV7MT74N0H6b5ZsiAezqdXucboCLQw1Np9XpZbs,134
|
103
104
|
sonusai/utils/get_label_names.py,sha256=df4jZVaQ3WnYQqNj21iUV4aYWyQEZUNmgs93qKW-_rA,820
|
104
105
|
sonusai/utils/grouper.py,sha256=qyZ0nj84yOrC-RZsXHC-KJvcUliGktnV8S6-P3PD6_w,203
|
105
|
-
sonusai/utils/human_readable_size.py,sha256=
|
106
|
+
sonusai/utils/human_readable_size.py,sha256=DOCS7SAymrtTZli8AczvyCMCh44r7ZDgVBA7jSZupmA,356
|
107
|
+
sonusai/utils/load_object.py,sha256=-XMMwSNUPhtg6G6FhLwL1zvxwu-PLwj25QYUEielW2k,356
|
106
108
|
sonusai/utils/max_text_width.py,sha256=pxiJMwb_zlkNntexgo7S6lAuF7NLLZvFdOCkxdsQJVY,315
|
107
109
|
sonusai/utils/model_utils.py,sha256=OIJBhOjxR0wpxsd7A2r6J2AjqfdYgZzi6UEThw4S1lI,828
|
108
110
|
sonusai/utils/numeric_conversion.py,sha256=iFPXFU8C_1mW5tmDqHq8-xP1tL8nVaSmhQRakdCqy30,328
|
109
|
-
sonusai/utils/onnx_utils.py,sha256=
|
111
|
+
sonusai/utils/onnx_utils.py,sha256=cN8NZDrERPvbbJFSGI9YzseCezAz-Bckfel-EhkfRUU,5860
|
110
112
|
sonusai/utils/parallel.py,sha256=yvRZvZWPR5slM51i08m7sYx-Mvsb5oryCqqJXVoJ8tQ,2190
|
111
113
|
sonusai/utils/path_info.py,sha256=QY7iQ0nYpeEDnPN9RyPh4DsgYmVYsLrrlAzKuzkqX1o,118
|
112
|
-
sonusai/utils/print_mixture_details.py,sha256=
|
114
|
+
sonusai/utils/print_mixture_details.py,sha256=EypVeiQ8IjA0rGVfU91S3IIhzgGjkhU2oJ0DKJUBbWQ,2947
|
113
115
|
sonusai/utils/ranges.py,sha256=-TtAR0Vg_j4kYtJOvEOYQllBZEat_KfUKsfRxr5oj-o,1235
|
114
116
|
sonusai/utils/read_predict_data.py,sha256=PUSroxmWQGtr6_EcdSHmIFQoRGou8CKKqcggWylfTqQ,1056
|
115
117
|
sonusai/utils/reshape.py,sha256=Ozuh3UlmAS5NCeOK7NR8KgcQacHvgq10pys0VfCnOPU,5746
|
@@ -119,7 +121,7 @@ sonusai/utils/stratified_shuffle_split.py,sha256=d7WLUirywSvgZWkt_5a0F8YvTnJjuXl
|
|
119
121
|
sonusai/utils/write_audio.py,sha256=0lKdaX57N6H-UWdioqmXCJMjwT1eBz5B-bSGqDvloAc,838
|
120
122
|
sonusai/utils/yes_or_no.py,sha256=0h1okjXmDNbJp7rZJFR2V-HFU1GJDm3YFTUVmYExkOU,263
|
121
123
|
sonusai/vars.py,sha256=kBBzuvC8szmdIZEEDA7XXmD765addZKdM2aFipeGO1w,933
|
122
|
-
sonusai-0.19.
|
123
|
-
sonusai-0.19.
|
124
|
-
sonusai-0.19.
|
125
|
-
sonusai-0.19.
|
124
|
+
sonusai-0.19.8.dist-info/METADATA,sha256=KQEqF0XgSi8xV6rSYzn-bync-wXfEjzGyWXgb909gDo,2535
|
125
|
+
sonusai-0.19.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
126
|
+
sonusai-0.19.8.dist-info/entry_points.txt,sha256=zMNjEphEPO6B3cD1GNpit7z-yA9tUU5-j3W2v-UWstU,92
|
127
|
+
sonusai-0.19.8.dist-info/RECORD,,
|
@@ -1,37 +0,0 @@
|
|
1
|
-
from dataclasses import dataclass
|
2
|
-
|
3
|
-
from sonusai.mixture.datatypes import AudioT
|
4
|
-
|
5
|
-
|
6
|
-
class TruthFunctionConfig:
|
7
|
-
def __init__(self, feature: str, num_classes: int, class_indices: list[int], target_gain: float, config: dict):
|
8
|
-
from pyaaware import ForwardTransform
|
9
|
-
from pyaaware import InverseTransform
|
10
|
-
from pyaaware import feature_forward_transform_config
|
11
|
-
from pyaaware import feature_inverse_transform_config
|
12
|
-
from pyaaware import feature_parameters
|
13
|
-
|
14
|
-
self.feature = feature
|
15
|
-
self.num_classes = num_classes
|
16
|
-
self.class_indices = class_indices
|
17
|
-
self.target_gain = target_gain
|
18
|
-
self.config = config
|
19
|
-
|
20
|
-
self.feature_parameters = feature_parameters(feature)
|
21
|
-
ft_config = feature_forward_transform_config(feature)
|
22
|
-
it_config = feature_inverse_transform_config(feature)
|
23
|
-
|
24
|
-
self.ttype = it_config["ttype"]
|
25
|
-
self.frame_size = it_config["overlap"]
|
26
|
-
|
27
|
-
self.target_fft = ForwardTransform(**ft_config)
|
28
|
-
self.noise_fft = ForwardTransform(**ft_config)
|
29
|
-
self.mixture_fft = ForwardTransform(**ft_config)
|
30
|
-
self.swin = InverseTransform(**it_config).window
|
31
|
-
|
32
|
-
|
33
|
-
@dataclass
|
34
|
-
class TruthFunctionData:
|
35
|
-
target_audio: AudioT
|
36
|
-
noise_audio: AudioT
|
37
|
-
mixture_audio: AudioT
|
File without changes
|
File without changes
|