nkululeko 0.90.4__py3-none-any.whl → 0.91.0__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.
nkululeko/constants.py CHANGED
@@ -1,2 +1,2 @@
1
- VERSION="0.90.4"
1
+ VERSION="0.91.0"
2
2
  SAMPLING_RATE = 16000
nkululeko/segment.py CHANGED
@@ -7,9 +7,9 @@ import os
7
7
 
8
8
  import pandas as pd
9
9
 
10
- import nkululeko.glob_conf as glob_conf
11
10
  from nkululeko.constants import VERSION
12
11
  from nkululeko.experiment import Experiment
12
+ import nkululeko.glob_conf as glob_conf
13
13
  from nkululeko.reporting.report_item import ReportItem
14
14
  from nkululeko.utils.util import Util
15
15
 
@@ -78,6 +78,7 @@ def main():
78
78
 
79
79
  if "duration" not in df.columns:
80
80
  df["duration"] = df.index.to_series().map(lambda x: calc_dur(x))
81
+ df_seg["duration"] = df_seg.index.to_series().map(lambda x: calc_dur(x))
81
82
  num_before = df.shape[0]
82
83
  num_after = df_seg.shape[0]
83
84
  # plot distributions
@@ -115,36 +116,5 @@ def main():
115
116
  print("DONE")
116
117
 
117
118
 
118
- def get_segmentation(file):
119
- # print(f'segmenting {file[0]}')
120
- print(".", end="")
121
- wav = read_audio(file[0], sampling_rate=SAMPLING_RATE)
122
- speech_timestamps = get_speech_timestamps(
123
- wav, vad_model, sampling_rate=SAMPLING_RATE
124
- )
125
- files, starts, ends = [], [], []
126
- for entry in speech_timestamps:
127
- start = float(entry["start"] / 1000.0)
128
- end = float(entry["end"] / 1000.0)
129
- files.append(file[0])
130
- starts.append(start)
131
- ends.append(end)
132
- seg_index = segmented_index(files, starts, ends)
133
- return seg_index
134
-
135
-
136
- def segment_dataframe(df):
137
- dfs = []
138
- for file, values in df.iterrows():
139
- index = get_segmentation(file)
140
- dfs.append(
141
- pd.DataFrame(
142
- values.to_dict(),
143
- index,
144
- )
145
- )
146
- return audformat.utils.concat(dfs)
147
-
148
-
149
119
  if __name__ == "__main__":
150
120
  main() # use this if you want to state the config file path on command line
@@ -32,8 +32,30 @@ class Silero_segmenter:
32
32
  self.no_testing = not_testing
33
33
  self.util = Util(has_config=not_testing)
34
34
 
35
- def get_segmentation(self, file):
36
- # print(f'segmenting {file[0]}')
35
+ def get_segmentation_simple(self, file):
36
+ (
37
+ get_speech_timestamps,
38
+ save_audio,
39
+ read_audio,
40
+ VADIterator,
41
+ collect_chunks,
42
+ ) = vad_utils
43
+ SAMPLING_RATE = 16000
44
+ wav = read_audio(file[0], sampling_rate=SAMPLING_RATE)
45
+ speech_timestamps = get_speech_timestamps(
46
+ wav, vad_model, sampling_rate=SAMPLING_RATE
47
+ )
48
+ files, starts, ends = [], [], []
49
+ for entry in speech_timestamps:
50
+ start = float(entry["start"] / SAMPLING_RATE)
51
+ end = float(entry["end"] / SAMPLING_RATE)
52
+ files.append(file[0])
53
+ starts.append(start)
54
+ ends.append(end)
55
+ seg_index = segmented_index(files, starts, ends)
56
+ return seg_index
57
+
58
+ def get_segmentation(self, file, min_length, max_length):
37
59
  (
38
60
  get_speech_timestamps,
39
61
  save_audio,
@@ -42,12 +64,6 @@ class Silero_segmenter:
42
64
  collect_chunks,
43
65
  ) = vad_utils
44
66
  SAMPLING_RATE = 16000
45
- if self.no_testing:
46
- min_length = float(self.util.config_val("SEGMENT", "min_length", 2))
47
- max_length = float(self.util.config_val("SEGMENT", "max_length", 10))
48
- else:
49
- min_length = 2
50
- max_length = 10
51
67
  wav = read_audio(file[0], sampling_rate=SAMPLING_RATE)
52
68
  speech_timestamps = get_speech_timestamps(
53
69
  wav, vad_model, sampling_rate=SAMPLING_RATE
@@ -76,8 +92,18 @@ class Silero_segmenter:
76
92
 
77
93
  def segment_dataframe(self, df):
78
94
  dfs = []
95
+ max_length = eval(self.util.config_val("SEGMENT", "max_length", "False"))
96
+ if max_length:
97
+ if self.no_testing:
98
+ min_length = float(self.util.config_val("SEGMENT", "min_length", 2))
99
+ else:
100
+ min_length = 2
101
+ self.util.debug(f"segmenting with max length: {max_length+min_length}")
79
102
  for file, values in tqdm(df.iterrows()):
80
- index = self.get_segmentation(file)
103
+ if max_length:
104
+ index = self.get_segmentation(file, min_length, max_length)
105
+ else:
106
+ index = self.get_segmentation_simple(file)
81
107
  dfs.append(
82
108
  pd.DataFrame(
83
109
  values.to_dict(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.90.4
3
+ Version: 0.91.0
4
4
  Summary: Machine learning audio prediction experiments based on templates
5
5
  Home-page: https://github.com/felixbur/nkululeko
6
6
  Author: Felix Burkhardt
@@ -356,6 +356,11 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
356
356
  Changelog
357
357
  =========
358
358
 
359
+ Version 0.91.0
360
+ --------------
361
+ * fixed duration display in segmentation
362
+ * added possibility to use original segmentations (without max. duration)
363
+
359
364
  Version 0.90.4
360
365
  --------------
361
366
  * added plot format for multidb
@@ -2,7 +2,7 @@ nkululeko/__init__.py,sha256=62f8HiEzJ8rG2QlTFJXUCMpvuH3fKI33DoJSj33mscc,63
2
2
  nkululeko/aug_train.py,sha256=FoMbBrfyOZd4QAw7oIHl3X6-UpsqAKWVDIolCA7qOWs,3196
3
3
  nkululeko/augment.py,sha256=3RzaxB3gRxovgJVjHXi0glprW01J7RaHhUkqotW2T3U,2955
4
4
  nkululeko/cacheddataset.py,sha256=XFpWZmbJRg0pvhnIgYf0TkclxllD-Fctu-Ol0PF_00c,969
5
- nkululeko/constants.py,sha256=jZ8xPXzwC4olxRWBxh7QNAfDpWxH99Bim1eoRIcVwtY,39
5
+ nkululeko/constants.py,sha256=-UMUKbVCG7HZtHGjf1N3s2BVchQTrro_MuNxqPUHr3Q,39
6
6
  nkululeko/demo-ft.py,sha256=iD9Pzp9QjyAv31q1cDZ75vPez7Ve8A4Cfukv5yfZdrQ,770
7
7
  nkululeko/demo.py,sha256=4Yzhg6pCPBYPGJrP7JX2TysVosl_R1llpVDKc2P_gUA,4955
8
8
  nkululeko/demo_feats.py,sha256=BvZjeNFTlERIRlq34OHM4Z96jdDQAhB01BGQAUcX9dM,2026
@@ -25,7 +25,7 @@ nkululeko/predict.py,sha256=b35YOqovGb5PLDz0nDuhJGykEAPq2Y45R9lzxJZMuMU,2083
25
25
  nkululeko/resample.py,sha256=akSAjJ3qn-O5NAyLJHVHdsK7MUZPGaZUvM2TwMSmj2M,5194
26
26
  nkululeko/runmanager.py,sha256=AswmORVUkCIH0gTx6zEyufvFATQBS8C5TXo2erSNdVg,7611
27
27
  nkululeko/scaler.py,sha256=7VOZ4sREMoQtahfETt9RyuR29Fb7PCwxlYVjBbdCVFc,4101
28
- nkululeko/segment.py,sha256=lSeI1i96HZTloSqdH75FhD7VyDQ16Do99-5mhI30To8,4571
28
+ nkululeko/segment.py,sha256=5yJ3QpdAfw-lecWNiEC94iHIyC2j8FV7hjP3OmrNrYs,3784
29
29
  nkululeko/syllable_nuclei.py,sha256=5w_naKxNxz66a_qLkraemi2fggM-gWesiiBPS47iFcE,9931
30
30
  nkululeko/test.py,sha256=1w624vo5KTzmFC8BUStGlLDmIEAFuJUz7J0W-gp7AxI,1677
31
31
  nkululeko/test_predictor.py,sha256=DEHE_D3A6m6KJTrpDKceA1n655t_UZV3WQd57K4a3Ho,2863
@@ -105,14 +105,14 @@ nkululeko/reporting/reporter.py,sha256=4OlYZAParkfJKO_aAyxqVpLc21zxZ-jDhtJKIMeUs
105
105
  nkululeko/reporting/result.py,sha256=G63a2tHCwHhM6NBJgYzsWKWJm4Yu3r4hsCHA2Km7eHU,1073
106
106
  nkululeko/segmenting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  nkululeko/segmenting/seg_inaspeechsegmenter.py,sha256=b3t0zdpJYofKWMyKRMtMMX91xeR-k8d5pbnNaQHcsOE,1902
108
- nkululeko/segmenting/seg_silero.py,sha256=CnhjKGTW5OXf-bmw4YsSJeN2yUwkY5m3xnulM_PYCW0,3256
108
+ nkululeko/segmenting/seg_silero.py,sha256=ulodnvtRq5MLHDxy_RmAK4tJg6h1d-mPq-uCPFkGVKg,4258
109
109
  nkululeko/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
110
  nkululeko/utils/files.py,sha256=UiGAtZRWYjHSvlmPaTMtzyNNGE6qaLaxQkybctS7iRM,4021
111
111
  nkululeko/utils/stats.py,sha256=vCRzhCR0Gx5SiJyAGbj1TIto8ocGz58CM5Pr3LltagA,2948
112
112
  nkululeko/utils/util.py,sha256=XFZdhCc_LM4EmoZ5tKKaBCQLXclcNmvHwhfT_CXB98c,16723
113
- nkululeko-0.90.4.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
114
- nkululeko-0.90.4.dist-info/METADATA,sha256=t64nFqxKkX3gaQ8J0PjpiRxc03LBS0yGO3i5wTR1bxc,41242
115
- nkululeko-0.90.4.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
116
- nkululeko-0.90.4.dist-info/entry_points.txt,sha256=KpQhz4HKBvYLrNooqLIc83hub76axRbYUgWzYkH3GnU,397
117
- nkululeko-0.90.4.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
118
- nkululeko-0.90.4.dist-info/RECORD,,
113
+ nkululeko-0.91.0.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
114
+ nkululeko-0.91.0.dist-info/METADATA,sha256=Mm26CeymZjX8L2fOThZXWM6M-my4u45hQ4aFPfDdyzc,41388
115
+ nkululeko-0.91.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
116
+ nkululeko-0.91.0.dist-info/entry_points.txt,sha256=KpQhz4HKBvYLrNooqLIc83hub76axRbYUgWzYkH3GnU,397
117
+ nkululeko-0.91.0.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
118
+ nkululeko-0.91.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5