sonusai 0.18.5__py3-none-any.whl → 0.18.7__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 +6 -0
- sonusai/genmetrics.py +4 -4
- sonusai/metrics/__init__.py +2 -1
- sonusai/metrics/calc_audio_stats.py +9 -1
- sonusai/metrics/calc_segsnr_f.py +84 -0
- sonusai/metrics/calc_speech.py +5 -5
- sonusai/mixture/__init__.py +3 -0
- sonusai/mixture/datatypes.py +65 -6
- sonusai/mixture/feature.py +4 -19
- sonusai/mixture/helpers.py +47 -38
- sonusai/mixture/mixdb.py +147 -57
- sonusai/mixture/sox_audio.py +125 -0
- sonusai/mixture/truth_functions/data.py +23 -22
- sonusai/mixture/truth_functions/energy.py +3 -1
- sonusai/mixture/truth_functions/sed.py +2 -1
- sonusai/mixture/truth_functions/target.py +3 -4
- sonusai/post_spenh_targetf.py +7 -7
- sonusai/utils/__init__.py +2 -0
- sonusai/utils/compress.py +25 -0
- sonusai/utils/energy_f.py +3 -4
- {sonusai-0.18.5.dist-info → sonusai-0.18.7.dist-info}/METADATA +1 -1
- {sonusai-0.18.5.dist-info → sonusai-0.18.7.dist-info}/RECORD +24 -23
- sonusai/metrics/calc_snr_f.py +0 -34
- {sonusai-0.18.5.dist-info → sonusai-0.18.7.dist-info}/WHEEL +0 -0
- {sonusai-0.18.5.dist-info → sonusai-0.18.7.dist-info}/entry_points.txt +0 -0
sonusai/utils/energy_f.py
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
from
|
2
|
-
|
1
|
+
from sonusai import ForwardTransform
|
3
2
|
from sonusai.mixture import AudioF
|
4
3
|
from sonusai.mixture import AudioT
|
5
4
|
from sonusai.mixture import EnergyF
|
@@ -19,7 +18,7 @@ def compute_energy_f(frequency_domain: AudioF = None,
|
|
19
18
|
:return: Frequency domain per-bin energy data [frames, bins]
|
20
19
|
"""
|
21
20
|
import numpy as np
|
22
|
-
|
21
|
+
import torch
|
23
22
|
from sonusai import SonusAIError
|
24
23
|
|
25
24
|
if frequency_domain is None:
|
@@ -28,7 +27,7 @@ def compute_energy_f(frequency_domain: AudioF = None,
|
|
28
27
|
if transform is None:
|
29
28
|
raise SonusAIError('Must provide ForwardTransform object')
|
30
29
|
|
31
|
-
frequency_domain
|
30
|
+
frequency_domain = transform.execute_all(torch.from_numpy(time_domain))[0].numpy()
|
32
31
|
|
33
32
|
frames, bins = frequency_domain.shape
|
34
33
|
result = np.empty((frames, bins), dtype=np.float32)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
sonusai/__init__.py,sha256=
|
1
|
+
sonusai/__init__.py,sha256=zV3NEEnPJs_dFdCpCS5dM8vJ8nW1bvNQDSNVbJOU7KQ,3150
|
2
2
|
sonusai/aawscd_probwrite.py,sha256=GukR5owp_0A3DrqSl9fHWULYgclNft4D5OkHIwfxxkc,3698
|
3
3
|
sonusai/audiofe.py,sha256=3LssRiL73DH8teihD9f3nCvfZ0a65WQtXCqWGnKHuJM,11157
|
4
4
|
sonusai/calc_metric_spenh.py,sha256=ee2xrx6L1lFyWSoQSiq56He3RQ1cF7T_ak-6TjejXsc,47738
|
@@ -10,14 +10,14 @@ sonusai/doc/__init__.py,sha256=rP5Hgn0Iys_xkuv4caxngdqehuU4zLZsiKuv8Nde67M,19
|
|
10
10
|
sonusai/doc/doc.py,sha256=8gftMlCaVa0hIA_BjSHbEYgSTq_BAZwC5Ipk-BFgGp8,22919
|
11
11
|
sonusai/doc.py,sha256=l8CaFgLI8mqx4tn0aXfxKqa2dy9GgC0zjYxZAkpmi1E,878
|
12
12
|
sonusai/genft.py,sha256=OzET3iTE-QhrUckzidfZvCDXZlAxIF5Xe5NEf856Vvk,5662
|
13
|
-
sonusai/genmetrics.py,sha256=
|
13
|
+
sonusai/genmetrics.py,sha256=dyonwsztn23-iPPg_5FOzai-n6veuThsvrdt6iBycTE,5007
|
14
14
|
sonusai/genmix.py,sha256=TU5aTebGHsbfwsRbynYbegGBelSma9khuQkDk0dFE3I,7075
|
15
15
|
sonusai/genmixdb.py,sha256=gF2qas1tH9MHEFLoEMrN3kYVm-vhAKaOuZ8ev-w4MQM,19553
|
16
16
|
sonusai/gentcst.py,sha256=W1ZO3xs7CoZkFcvOTH-FLJOIA4I7Wzb0HVRC3hGGSaM,20223
|
17
17
|
sonusai/lsdb.py,sha256=oLyGoq46hkravDUXhI-wwhKdX_GESoOD5-E7nEJl7rc,5996
|
18
18
|
sonusai/main.py,sha256=GC-pQrSqx9tWwIcmEo6V9SraEv5KskBLS_W_wz-f2ZM,2509
|
19
|
-
sonusai/metrics/__init__.py,sha256=
|
20
|
-
sonusai/metrics/calc_audio_stats.py,sha256=
|
19
|
+
sonusai/metrics/__init__.py,sha256=uLRKJNPxrSYtLL5zhPyr8mGGVdterS_Pi9kYDru1GHA,858
|
20
|
+
sonusai/metrics/calc_audio_stats.py,sha256=R_s-j4GA_QuFBMjR-tZn3v7QkRiIPE0QlkmczCyt2aw,1553
|
21
21
|
sonusai/metrics/calc_class_weights.py,sha256=dyY7daEIf5Ms5tfTf6wF0fkx_GnMADHOZR_rtsfGoVM,3933
|
22
22
|
sonusai/metrics/calc_optimal_thresholds.py,sha256=9fRfwl-aKAbzHJyqGHv4o8BpZXG9HHB7zUJObHXfYM4,3522
|
23
23
|
sonusai/metrics/calc_pcm.py,sha256=n_QoDwdM09HZx0zMbCkJR07e9fCLo03Ilpi1nqdizRg,1906
|
@@ -25,30 +25,30 @@ sonusai/metrics/calc_pesq.py,sha256=vO3HnQfyzYLy6VILhP5E-Yi6HkI6T9ob_CEfPo6NG50,
|
|
25
25
|
sonusai/metrics/calc_phase_distance.py,sha256=Oh7UrH4ekm48pIhOnAOmkSr1OWueq2GUlwJheoAQmnk,1905
|
26
26
|
sonusai/metrics/calc_sa_sdr.py,sha256=pup1uzHbSqV3JprYCXmu_hbWILqRME5KAnFJGe4WXCY,2566
|
27
27
|
sonusai/metrics/calc_sample_weights.py,sha256=0O2EH1-FKlCa0HFgKPUF1BJiknR1hCH7zLbXnoXH7Ag,945
|
28
|
-
sonusai/metrics/
|
29
|
-
sonusai/metrics/calc_speech.py,sha256=
|
28
|
+
sonusai/metrics/calc_segsnr_f.py,sha256=9-fFrQ2Ilcayab8bJw_nBqyF4Q15Nqyef_EFihxaMRs,3125
|
29
|
+
sonusai/metrics/calc_speech.py,sha256=r0KKY-wlNN9mEkIRUhh1hap73A4rw4G9QzSOChXQorc,14437
|
30
30
|
sonusai/metrics/calc_wer.py,sha256=7VVW_YsbeysKOZOTtvXVAvWi8lb0PZtu-Xg2HiXomWc,2483
|
31
31
|
sonusai/metrics/calc_wsdr.py,sha256=9wiCJsGgRGHzBpHv0zSxorMsN_JZNBPyge280Hd1W0w,2531
|
32
32
|
sonusai/metrics/class_summary.py,sha256=4Mb25nuk6eqotnQSFMuOQL3zofGcpNXDfDlPa513ZLQ,3286
|
33
33
|
sonusai/metrics/confusion_matrix_summary.py,sha256=3qg6TMKjJeHtNjj2YnNjPFSlMrQXt0Zcu1dLkGB_aPU,4001
|
34
34
|
sonusai/metrics/one_hot.py,sha256=QSeH_GdqBpOAKLrNnQ8gjcPC-vSdUqC0yPEQueTA6VI,13548
|
35
35
|
sonusai/metrics/snr_summary.py,sha256=P4U5_Xr7v9F8kF-rZBnpsVNt3p42rIVS6zmch8yfVfg,5575
|
36
|
-
sonusai/mixture/__init__.py,sha256=
|
36
|
+
sonusai/mixture/__init__.py,sha256=uX0NT0EWLYK0rR2jgZiMR0VQ7wM6lV6FU2RLzWn485w,5466
|
37
37
|
sonusai/mixture/audio.py,sha256=2u7nnKdKwXRA6YWVwCurst5D6CQinKZj5jlm9LhXe9c,2445
|
38
38
|
sonusai/mixture/augmentation.py,sha256=Blb90tdTwBOj5w9tRcYyS5H67YJuFiXsGqwZWd7ON4g,10468
|
39
39
|
sonusai/mixture/class_count.py,sha256=_wFnVl2yEOnbor7pLg7cYOUeX6nioov-03Cv3SEbh2k,996
|
40
40
|
sonusai/mixture/config.py,sha256=Fu6-HkenI_h7BdOTuGX9B-vsbLJD5pvTPd_LAncZgI4,22828
|
41
41
|
sonusai/mixture/constants.py,sha256=90qaRIEcmIoS3Od5h_UP0_SkkvG2aE_eYPv6WsIktC0,1427
|
42
|
-
sonusai/mixture/datatypes.py,sha256=
|
42
|
+
sonusai/mixture/datatypes.py,sha256=2vegllgZcmFLq5NjqS7Lo97dOpOJOAj0Eml4ggP_tGo,10966
|
43
43
|
sonusai/mixture/db_datatypes.py,sha256=GDYbcSrlgUJsesiUUNnR4s5aBkMgviiNSQDaBcgYX7I,1428
|
44
44
|
sonusai/mixture/eq_rule_is_valid.py,sha256=MpQwRA5M76wSiQWEI1lW2cLFdPaMttBLcQp3tWD8efM,1243
|
45
|
-
sonusai/mixture/feature.py,sha256=
|
45
|
+
sonusai/mixture/feature.py,sha256=bHAPRaYGyS-ZTOb-RLCwDau7n1NDKsVEW30Gd9SRZYo,3676
|
46
46
|
sonusai/mixture/generation.py,sha256=W3n6ipI-dxg4Wj6YBJn8RTpFqkAyIXzxwObeFbSLq08,42801
|
47
|
-
sonusai/mixture/helpers.py,sha256=
|
47
|
+
sonusai/mixture/helpers.py,sha256=ijADvIy_xVf0btAsvrQtHv6_6UqDIuesYESp_p3B1KA,24647
|
48
48
|
sonusai/mixture/log_duration_and_sizes.py,sha256=baTUpqyM15wA125jo9E3posmVJUe3WlpksyO6v9Jul0,1347
|
49
|
-
sonusai/mixture/mixdb.py,sha256=
|
49
|
+
sonusai/mixture/mixdb.py,sha256=63LnDBfVKKXSgi825tXCELoQ3xH_jAguW91Xlb86_qE,62807
|
50
50
|
sonusai/mixture/soundfile_audio.py,sha256=BwO4lftNvrhoPTJERONcrpxSpM2fjO6kL_e5Ylz742A,4220
|
51
|
-
sonusai/mixture/sox_audio.py,sha256=
|
51
|
+
sonusai/mixture/sox_audio.py,sha256=DbHuyLtEuQYtKsIRxx6g1webW_LsdgLz52P5VO37MqI,17119
|
52
52
|
sonusai/mixture/sox_augmentation.py,sha256=kBWPrsFk0EBi71nLcKt5v0GA34bY7g9D9x0cEamNWbU,4564
|
53
53
|
sonusai/mixture/spectral_mask.py,sha256=8AkCwhy-PSdP1Uri9miKZP-bXFYnFcH_c9xZCGrHavU,2071
|
54
54
|
sonusai/mixture/target_class_balancing.py,sha256=NTNiKZH0_PWLooeow0l41CjJKK8ZTMVbUqz9ZkaNtWk,4900
|
@@ -59,16 +59,16 @@ sonusai/mixture/torchaudio_augmentation.py,sha256=1vEDHI0caL1vrgoY2lAWe4CiHE2jKR
|
|
59
59
|
sonusai/mixture/truth.py,sha256=Y41pZ52Xkols9LUler0NlgnilUOscBIucmw4GcxXNzU,1612
|
60
60
|
sonusai/mixture/truth_functions/__init__.py,sha256=82lKYHhLy8KW3gHngrocoqwupGVLVsWdIXdYs3vhjOc,359
|
61
61
|
sonusai/mixture/truth_functions/crm.py,sha256=_Vy8UMrOUQXsrM3nutvUMWCpvI8GePr01QFlyqLFd4k,2626
|
62
|
-
sonusai/mixture/truth_functions/data.py,sha256=
|
63
|
-
sonusai/mixture/truth_functions/energy.py,sha256=
|
62
|
+
sonusai/mixture/truth_functions/data.py,sha256=UcjldGSTQIQ5hq38zVKHx7X6GMmXcsChU2lyvQb8vpI,2752
|
63
|
+
sonusai/mixture/truth_functions/energy.py,sha256=BSdD1sHFs4bDnB09d5k21yb-2qECF4PScIAejKrq5uU,4907
|
64
64
|
sonusai/mixture/truth_functions/file.py,sha256=jOJuC_3y9BH6GGOp9eKcbVrHLVRzUA80BJq59LhcBUM,1539
|
65
65
|
sonusai/mixture/truth_functions/phoneme.py,sha256=stYdlPuNytQK_LLT61OJLfYSqKd-sDjQZdtJKGzt5wA,479
|
66
|
-
sonusai/mixture/truth_functions/sed.py,sha256=
|
67
|
-
sonusai/mixture/truth_functions/target.py,sha256=
|
66
|
+
sonusai/mixture/truth_functions/sed.py,sha256=ak6_GAdw2VxG2svHvKWHLvkL5nCDon0rD2osJbzkU3E,2512
|
67
|
+
sonusai/mixture/truth_functions/target.py,sha256=XypzXVMi24Ys13TiEM9JFY_cvHK61Lop7AB-UL5AObw,5731
|
68
68
|
sonusai/mkwav.py,sha256=zfSyIiQTIK3KV9Ij33jkLhhZIMVYqaROcRQ4S7c4sIo,5364
|
69
69
|
sonusai/onnx_predict.py,sha256=jSxhD2oFyGSTHOGCXbW4fRT-k4SqKOboK2JaDO-yWcs,8737
|
70
70
|
sonusai/plot.py,sha256=ERkmxMM3qjcCDm4LGDQY4fRAncCYAzP7uW8iZ7_brcg,17105
|
71
|
-
sonusai/post_spenh_targetf.py,sha256=
|
71
|
+
sonusai/post_spenh_targetf.py,sha256=MBikRQfVfSZtRz9I5R3muxUtzR83S-i5INu3fAXliT4,4959
|
72
72
|
sonusai/queries/__init__.py,sha256=oKY5JeqZ4Cz7DwCwPc1_ydB8bUs6KaMcWFp_w02TjOs,255
|
73
73
|
sonusai/queries/queries.py,sha256=oV-m9uiLZOwYTK-Wo7Gf8dpGisaoGf6uDsAJAarVqZI,7553
|
74
74
|
sonusai/speech/__init__.py,sha256=SuPcU_K9wQISsZRIzsRNLtEC6cb616l-Jlx3PU-HWMs,113
|
@@ -82,7 +82,7 @@ sonusai/speech/vctk.py,sha256=EAMEBAzjZUI6dw15n-yI2oCN-H4tzM9t4aUVlOxpAbo,1540
|
|
82
82
|
sonusai/speech/voxceleb.py,sha256=aJGN0yDb2LFLmCKmRzmUEjpZWQ-QGWw6XWOpy9967AI,2686
|
83
83
|
sonusai/summarize_metric_spenh.py,sha256=OiZe_bhCq5esXNhsOkHDD7g4ssYrpENDHvDVoPzV9iw,1822
|
84
84
|
sonusai/tplot.py,sha256=85T6OPZfxVegHBiSuilFpdgCNMEE0VKAuciNy4rCY5Y,14544
|
85
|
-
sonusai/utils/__init__.py,sha256=
|
85
|
+
sonusai/utils/__init__.py,sha256=ivPBOtc6m5xnHC1BKVUNxcXOxwaPc-u3jgS4jLKoGio,2347
|
86
86
|
sonusai/utils/asl_p56.py,sha256=-bvQpd-jRQVURbkZJpRoyEAq6gTv9Rc3oFDbh5_lcjY,3861
|
87
87
|
sonusai/utils/asr.py,sha256=V0-cW56KS6aOSakSVwQIbhkqEkKf5l8T11b8ciNxWDw,2132
|
88
88
|
sonusai/utils/asr_functions/__init__.py,sha256=JyHK67s97bw7QzrlkboWhws4yNytdPatqzLJxfwx-yw,43
|
@@ -90,13 +90,14 @@ sonusai/utils/asr_functions/aaware_whisper.py,sha256=NPqc62wKhshYecu368Yvl2xcImp
|
|
90
90
|
sonusai/utils/audio_devices.py,sha256=LgaXTln1oRArBzaet3rZiIO2plgtaThuGBc3sJ_sLlo,1414
|
91
91
|
sonusai/utils/braced_glob.py,sha256=Z_XIpPK17QiP1JbzAnUC5w3oyG8ZovoyM22Wh-Q_vWU,1675
|
92
92
|
sonusai/utils/calculate_input_shape.py,sha256=63ILxibYKuTQozY83QN8Y2OOhBEbW_1X47Q0askcHDM,984
|
93
|
+
sonusai/utils/compress.py,sha256=NSiYXSnA2WifFYbq7ZSv0wX1YKwcPNwAkrWc4-9rbDM,606
|
93
94
|
sonusai/utils/convert_string_to_number.py,sha256=i17yIxurp8Iz6NPE-imTRlARrXWqadwm8qbOTuzHZvE,236
|
94
95
|
sonusai/utils/create_timestamp.py,sha256=TxoQXWZ3SFdBEHLOv-ujeIsTEJuiFnKOGRy-FQq45YU,148
|
95
96
|
sonusai/utils/create_ts_name.py,sha256=8RLKmgXwuGcbDMGgtTuc0MvGFfA7IOVqfjkE2T18GOo,405
|
96
97
|
sonusai/utils/dataclass_from_dict.py,sha256=vAGnuMjhy0W9bxZ5usrH7mbQsFog3n0__IC4xyJyVUc,390
|
97
98
|
sonusai/utils/db.py,sha256=lI77MJJLs4CTYxhjFUvBom2Kk2imAP34okOeO4irbDc,371
|
98
99
|
sonusai/utils/docstring.py,sha256=JBecAq_a7KSzZ04tan0BlFA9SzhOQqY9A7Ue85kFQdU,1446
|
99
|
-
sonusai/utils/energy_f.py,sha256=
|
100
|
+
sonusai/utils/energy_f.py,sha256=EALYk5C7vpvh8v417lneM1t4gZTfVyIlPVcF9e6-m_U,1502
|
100
101
|
sonusai/utils/engineering_number.py,sha256=6lWRg-XW3FEllh-Zui1WHYcDnsBEY9cqcwcXPIs2-6o,5515
|
101
102
|
sonusai/utils/get_frames_per_batch.py,sha256=xnq4tV7MT74N0H6b5ZsiAezqdXucboCLQw1Np9XpZbs,134
|
102
103
|
sonusai/utils/get_label_names.py,sha256=bfFV_iFbXdtDp70zAz_CQQN9-QxBw_kt8vyAcr3TITM,828
|
@@ -119,7 +120,7 @@ sonusai/utils/stratified_shuffle_split.py,sha256=rJNXvBp-GxoKzH3OpL7k0ANSu5xMP2z
|
|
119
120
|
sonusai/utils/write_audio.py,sha256=ZsPGExwM86QHLLN2LOWekK2uAqf5pV_1oRW811p0QAI,840
|
120
121
|
sonusai/utils/yes_or_no.py,sha256=eMLXBVH0cEahiXY4W2KNORmwNQ-ba10eRtldh0y4NYg,263
|
121
122
|
sonusai/vars.py,sha256=m2AefF0m5bXWGXpJj8Pi42zWL2ydeEj7bkak3GrtMyM,940
|
122
|
-
sonusai-0.18.
|
123
|
-
sonusai-0.18.
|
124
|
-
sonusai-0.18.
|
125
|
-
sonusai-0.18.
|
123
|
+
sonusai-0.18.7.dist-info/METADATA,sha256=sVH6EUuzc-eaPUUAPtOqWJrvCYtuGyaSytSdf2q44p0,2591
|
124
|
+
sonusai-0.18.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
125
|
+
sonusai-0.18.7.dist-info/entry_points.txt,sha256=zMNjEphEPO6B3cD1GNpit7z-yA9tUU5-j3W2v-UWstU,92
|
126
|
+
sonusai-0.18.7.dist-info/RECORD,,
|
sonusai/metrics/calc_snr_f.py
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
import numpy as np
|
2
|
-
|
3
|
-
from sonusai.mixture.datatypes import Segsnr
|
4
|
-
from sonusai.mixture.datatypes import SnrFMetrics
|
5
|
-
|
6
|
-
|
7
|
-
def calc_snr_f(segsnr_f: Segsnr) -> SnrFMetrics:
|
8
|
-
"""Calculate metrics of snr_f truth data.
|
9
|
-
|
10
|
-
For now, includes mean and variance of the raw values (usually energy)
|
11
|
-
and mean and standard deviation of the dB values (10 * log10).
|
12
|
-
"""
|
13
|
-
if np.count_nonzero(segsnr_f) == 0:
|
14
|
-
# If all entries are zeros
|
15
|
-
return SnrFMetrics(0, 0, -np.inf, 0)
|
16
|
-
|
17
|
-
tmp = np.ma.array(segsnr_f, mask=np.logical_not(np.isfinite(segsnr_f)), dtype=np.float32)
|
18
|
-
if np.ma.count_masked(tmp) == np.ma.size(tmp, axis=0):
|
19
|
-
# If all entries are infinite
|
20
|
-
return SnrFMetrics(np.inf, 0, np.inf, 0)
|
21
|
-
|
22
|
-
snr_mean = np.mean(tmp, axis=0)
|
23
|
-
snr_var = np.var(tmp, axis=0)
|
24
|
-
|
25
|
-
tmp = 10 * np.ma.log10(tmp)
|
26
|
-
if np.ma.count_masked(tmp) == np.ma.size(tmp, axis=0):
|
27
|
-
# If all entries are masked, special case where all inputs are either 0 or infinite
|
28
|
-
snr_db_mean = -np.inf
|
29
|
-
snr_db_std = np.inf
|
30
|
-
else:
|
31
|
-
snr_db_mean = np.mean(tmp, axis=0)
|
32
|
-
snr_db_std = np.std(tmp, axis=0)
|
33
|
-
|
34
|
-
return SnrFMetrics(snr_mean, snr_var, snr_db_mean, snr_db_std)
|
File without changes
|
File without changes
|