nkululeko 0.90.4__tar.gz → 0.91.1__tar.gz

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.
Files changed (171) hide show
  1. {nkululeko-0.90.4 → nkululeko-0.91.1}/CHANGELOG.md +8 -0
  2. {nkululeko-0.90.4/nkululeko.egg-info → nkululeko-0.91.1}/PKG-INFO +10 -3
  3. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/constants.py +1 -1
  4. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/ensemble.py +5 -8
  5. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/segment.py +21 -34
  6. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/segmenting/seg_silero.py +35 -9
  7. {nkululeko-0.90.4 → nkululeko-0.91.1/nkululeko.egg-info}/PKG-INFO +10 -3
  8. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko.egg-info/entry_points.txt +1 -0
  9. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko.egg-info/requires.txt +0 -1
  10. {nkululeko-0.90.4 → nkululeko-0.91.1}/setup.cfg +1 -2
  11. {nkululeko-0.90.4 → nkululeko-0.91.1}/setup.py +1 -0
  12. {nkululeko-0.90.4 → nkululeko-0.91.1}/LICENSE +0 -0
  13. {nkululeko-0.90.4 → nkululeko-0.91.1}/README.md +0 -0
  14. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/aesdd/process_database.py +0 -0
  15. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/androids/process_database.py +0 -0
  16. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/ased/process_database.py +0 -0
  17. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/asvp-esd/process_database.py +0 -0
  18. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/baved/process_database.py +0 -0
  19. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/cafe/process_database.py +0 -0
  20. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/clac/process_database.py +0 -0
  21. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/cmu-mosei/process_database.py +0 -0
  22. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/demos/process_database.py +0 -0
  23. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/ekorpus/process_database.py +0 -0
  24. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emns/process_database.py +0 -0
  25. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emofilm/convert_to_16k.py +0 -0
  26. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emofilm/process_database.py +0 -0
  27. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emorynlp/process_database.py +0 -0
  28. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emov-db/process_database.py +0 -0
  29. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emovo/process_database.py +0 -0
  30. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/emozionalmente/create.py +0 -0
  31. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/enterface/process_database.py +0 -0
  32. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/esd/process_database.py +0 -0
  33. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/gerparas/process_database.py +0 -0
  34. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/iemocap/process_database.py +0 -0
  35. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/jl/process_database.py +0 -0
  36. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/jtes/process_database.py +0 -0
  37. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/meld/process_database.py +0 -0
  38. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/mesd/process_database.py +0 -0
  39. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/mess/process_database.py +0 -0
  40. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/mlendsnd/process_database.py +0 -0
  41. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/msp-improv/process_database2.py +0 -0
  42. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/msp-podcast/process_database.py +0 -0
  43. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/oreau2/process_database.py +0 -0
  44. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/portuguese/process_database.py +0 -0
  45. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/ravdess/process_database.py +0 -0
  46. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/ravdess/process_database_speaker.py +0 -0
  47. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/savee/process_database.py +0 -0
  48. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/shemo/process_database.py +0 -0
  49. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/subesco/process_database.py +0 -0
  50. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/tess/process_database.py +0 -0
  51. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/thorsten-emotional/process_database.py +0 -0
  52. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/urdu/process_database.py +0 -0
  53. {nkululeko-0.90.4 → nkululeko-0.91.1}/data/vivae/process_database.py +0 -0
  54. {nkululeko-0.90.4 → nkululeko-0.91.1}/docs/source/conf.py +0 -0
  55. {nkululeko-0.90.4 → nkululeko-0.91.1}/meta/demos/demo_best_model.py +0 -0
  56. {nkululeko-0.90.4 → nkululeko-0.91.1}/meta/demos/my_experiment.py +0 -0
  57. {nkululeko-0.90.4 → nkululeko-0.91.1}/meta/demos/my_experiment_local.py +0 -0
  58. {nkululeko-0.90.4 → nkululeko-0.91.1}/meta/demos/plot_faster_anim.py +0 -0
  59. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/__init__.py +0 -0
  60. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/aug_train.py +0 -0
  61. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augment.py +0 -0
  62. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augmenting/__init__.py +0 -0
  63. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augmenting/augmenter.py +0 -0
  64. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augmenting/randomsplicer.py +0 -0
  65. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augmenting/randomsplicing.py +0 -0
  66. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/augmenting/resampler.py +0 -0
  67. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/__init__.py +0 -0
  68. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_age.py +0 -0
  69. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_arousal.py +0 -0
  70. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_dominance.py +0 -0
  71. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_gender.py +0 -0
  72. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_mos.py +0 -0
  73. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_pesq.py +0 -0
  74. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_sdr.py +0 -0
  75. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_snr.py +0 -0
  76. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_stoi.py +0 -0
  77. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/ap_valence.py +0 -0
  78. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/autopredict/estimate_snr.py +0 -0
  79. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/cacheddataset.py +0 -0
  80. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/data/__init__.py +0 -0
  81. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/data/dataset.py +0 -0
  82. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/data/dataset_csv.py +0 -0
  83. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/demo-ft.py +0 -0
  84. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/demo.py +0 -0
  85. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/demo_feats.py +0 -0
  86. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/demo_predictor.py +0 -0
  87. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/experiment.py +0 -0
  88. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/explore.py +0 -0
  89. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/export.py +0 -0
  90. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/__init__.py +0 -0
  91. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_agender.py +0 -0
  92. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
  93. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_analyser.py +0 -0
  94. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_ast.py +0 -0
  95. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_auddim.py +0 -0
  96. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_audmodel.py +0 -0
  97. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_clap.py +0 -0
  98. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_hubert.py +0 -0
  99. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_import.py +0 -0
  100. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_mld.py +0 -0
  101. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_mos.py +0 -0
  102. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  103. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  104. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_praat.py +0 -0
  105. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_snr.py +0 -0
  106. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_spectra.py +0 -0
  107. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  108. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_squim.py +0 -0
  109. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_trill.py +0 -0
  110. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  111. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  112. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feats_whisper.py +0 -0
  113. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/featureset.py +0 -0
  114. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/feinberg_praat.py +0 -0
  115. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feat_extract/transformer_feature_extractor.py +0 -0
  116. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/feature_extractor.py +0 -0
  117. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/file_checker.py +0 -0
  118. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/filter_data.py +0 -0
  119. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/fixedsegment.py +0 -0
  120. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/glob_conf.py +0 -0
  121. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/losses/__init__.py +0 -0
  122. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/losses/loss_ccc.py +0 -0
  123. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/losses/loss_softf1loss.py +0 -0
  124. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/modelrunner.py +0 -0
  125. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/__init__.py +0 -0
  126. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model.py +0 -0
  127. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_bayes.py +0 -0
  128. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_cnn.py +0 -0
  129. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_gmm.py +0 -0
  130. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_knn.py +0 -0
  131. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_knn_reg.py +0 -0
  132. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_lin_reg.py +0 -0
  133. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_mlp.py +0 -0
  134. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_mlp_regression.py +0 -0
  135. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_svm.py +0 -0
  136. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_svr.py +0 -0
  137. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_tree.py +0 -0
  138. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_tree_reg.py +0 -0
  139. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_tuned.py +0 -0
  140. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_xgb.py +0 -0
  141. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/models/model_xgr.py +0 -0
  142. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/multidb.py +0 -0
  143. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/nkuluflag.py +0 -0
  144. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/nkululeko.py +0 -0
  145. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/plots.py +0 -0
  146. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/predict.py +0 -0
  147. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/__init__.py +0 -0
  148. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/defines.py +0 -0
  149. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/latex_writer.py +0 -0
  150. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/report.py +0 -0
  151. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/report_item.py +0 -0
  152. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/reporter.py +0 -0
  153. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/reporting/result.py +0 -0
  154. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/resample.py +0 -0
  155. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/runmanager.py +0 -0
  156. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/scaler.py +0 -0
  157. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/segmenting/__init__.py +0 -0
  158. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  159. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/syllable_nuclei.py +0 -0
  160. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/test.py +0 -0
  161. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/test_predictor.py +0 -0
  162. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/test_pretrain.py +0 -0
  163. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/utils/__init__.py +0 -0
  164. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/utils/files.py +0 -0
  165. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/utils/stats.py +0 -0
  166. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko/utils/util.py +0 -0
  167. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko.egg-info/SOURCES.txt +0 -0
  168. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko.egg-info/dependency_links.txt +0 -0
  169. {nkululeko-0.90.4 → nkululeko-0.91.1}/nkululeko.egg-info/top_level.txt +0 -0
  170. {nkululeko-0.90.4 → nkululeko-0.91.1}/pyproject.toml +0 -0
  171. {nkululeko-0.90.4 → nkululeko-0.91.1}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,14 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ --------------
5
+ * minor refactoring in ensemble module
6
+
7
+ Version 0.91.0
8
+ --------------
9
+ * fixed duration display in segmentation
10
+ * added possibility to use original segmentations (without max. duration)
11
+
4
12
  Version 0.90.4
5
13
  --------------
6
14
  * added plot format for multidb
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.90.4
3
+ Version: 0.91.1
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
@@ -10,7 +10,7 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Development Status :: 3 - Alpha
12
12
  Classifier: Topic :: Scientific/Engineering
13
- Requires-Python: >=3.6
13
+ Requires-Python: >=3.9
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
  Requires-Dist: audeer
@@ -23,7 +23,6 @@ Requires-Dist: audonnx
23
23
  Requires-Dist: confidence_intervals
24
24
  Requires-Dist: datasets
25
25
  Requires-Dist: imageio
26
- Requires-Dist: laion-clap
27
26
  Requires-Dist: matplotlib
28
27
  Requires-Dist: numpy
29
28
  Requires-Dist: opensmile
@@ -356,6 +355,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
356
355
  Changelog
357
356
  =========
358
357
 
358
+ --------------
359
+ * minor refactoring in ensemble module
360
+
361
+ Version 0.91.0
362
+ --------------
363
+ * fixed duration display in segmentation
364
+ * added possibility to use original segmentations (without max. duration)
365
+
359
366
  Version 0.90.4
360
367
  --------------
361
368
  * added plot format for multidb
@@ -1,2 +1,2 @@
1
- VERSION="0.90.4"
1
+ VERSION="0.91.1"
2
2
  SAMPLING_RATE = 16000
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env python3
1
2
  """
2
3
  Ensemble predictions from multiple experiments.
3
4
 
@@ -16,9 +17,6 @@ Raises:
16
17
  AssertionError: If the number of config files is less than 2 for majority voting.
17
18
  """
18
19
 
19
- #!/usr/bin/env python
20
- # -*- coding: utf-8 -*-
21
-
22
20
 
23
21
  import configparser
24
22
  import time
@@ -300,10 +298,10 @@ def ensemble_predictions(
300
298
  return ensemble_preds
301
299
 
302
300
 
303
- def main(src_dir: Path) -> None:
301
+ def main():
304
302
  parser = ArgumentParser()
305
303
  parser.add_argument(
306
- "configs",
304
+ "--config",
307
305
  nargs="+",
308
306
  help="Paths to the configuration files of the experiments to ensemble. \
309
307
  Can be INI files for Nkululeko.nkululeko or CSV files from Nkululeko.demo.",
@@ -356,7 +354,7 @@ def main(src_dir: Path) -> None:
356
354
  start = time.time()
357
355
 
358
356
  ensemble_preds = ensemble_predictions(
359
- args.configs, args.method, args.threshold, args.weights, args.no_labels
357
+ args.config, args.method, args.threshold, args.weights, args.no_labels
360
358
  )
361
359
 
362
360
  # save to csv
@@ -368,5 +366,4 @@ def main(src_dir: Path) -> None:
368
366
 
369
367
 
370
368
  if __name__ == "__main__":
371
- cwd = Path(__file__).parent
372
- main(cwd)
369
+ main()
@@ -1,5 +1,22 @@
1
- # segment.py
2
- # segment data splits
1
+ """
2
+ Segments the samples in the dataset into chunks based on voice activity detection using SILERO VAD [1].
3
+
4
+ The segmentation results are saved to a file, and the distributions of the original and
5
+ segmented durations are plotted.
6
+
7
+ The module also handles configuration options, such as the segmentation method and sample
8
+ selection, and reports the segmentation results.
9
+
10
+ Usage:
11
+ python3 -m nkululeko.segment [--config CONFIG_FILE]
12
+
13
+ Example:
14
+ nkululeko.segment --config tests/exp_androids_segment.ini
15
+
16
+ References:
17
+ [1] https://github.com/snakers4/silero-vad
18
+
19
+ """
3
20
 
4
21
  import argparse
5
22
  import configparser
@@ -7,9 +24,9 @@ import os
7
24
 
8
25
  import pandas as pd
9
26
 
10
- import nkululeko.glob_conf as glob_conf
11
27
  from nkululeko.constants import VERSION
12
28
  from nkululeko.experiment import Experiment
29
+ import nkululeko.glob_conf as glob_conf
13
30
  from nkululeko.reporting.report_item import ReportItem
14
31
  from nkululeko.utils.util import Util
15
32
 
@@ -78,6 +95,7 @@ def main():
78
95
 
79
96
  if "duration" not in df.columns:
80
97
  df["duration"] = df.index.to_series().map(lambda x: calc_dur(x))
98
+ df_seg["duration"] = df_seg.index.to_series().map(lambda x: calc_dur(x))
81
99
  num_before = df.shape[0]
82
100
  num_after = df_seg.shape[0]
83
101
  # plot distributions
@@ -115,36 +133,5 @@ def main():
115
133
  print("DONE")
116
134
 
117
135
 
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
136
  if __name__ == "__main__":
150
137
  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.1
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
@@ -10,7 +10,7 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Development Status :: 3 - Alpha
12
12
  Classifier: Topic :: Scientific/Engineering
13
- Requires-Python: >=3.6
13
+ Requires-Python: >=3.9
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
  Requires-Dist: audeer
@@ -23,7 +23,6 @@ Requires-Dist: audonnx
23
23
  Requires-Dist: confidence_intervals
24
24
  Requires-Dist: datasets
25
25
  Requires-Dist: imageio
26
- Requires-Dist: laion-clap
27
26
  Requires-Dist: matplotlib
28
27
  Requires-Dist: numpy
29
28
  Requires-Dist: opensmile
@@ -356,6 +355,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
356
355
  Changelog
357
356
  =========
358
357
 
358
+ --------------
359
+ * minor refactoring in ensemble module
360
+
361
+ Version 0.91.0
362
+ --------------
363
+ * fixed duration display in segmentation
364
+ * added possibility to use original segmentations (without max. duration)
365
+
359
366
  Version 0.90.4
360
367
  --------------
361
368
  * added plot format for multidb
@@ -1,6 +1,7 @@
1
1
  [console_scripts]
2
2
  nkululeko.augment = nkululeko.augment:main
3
3
  nkululeko.demo = nkululeko.demo:main
4
+ nkululeko.ensemble = nkululeko.ensemble:main
4
5
  nkululeko.explore = nkululeko.explore:main
5
6
  nkululeko.export = nkululeko.export:main
6
7
  nkululeko.nkululeko = nkululeko.nkululeko:main
@@ -8,7 +8,6 @@ audonnx
8
8
  confidence_intervals
9
9
  datasets
10
10
  imageio
11
- laion-clap
12
11
  matplotlib
13
12
  numpy
14
13
  opensmile
@@ -27,7 +27,6 @@ install_requires =
27
27
  confidence_intervals
28
28
  datasets
29
29
  imageio
30
- laion-clap
31
30
  matplotlib
32
31
  numpy
33
32
  opensmile
@@ -45,7 +44,7 @@ install_requires =
45
44
  umap-learn
46
45
  xgboost
47
46
  pylatex
48
- python_requires = >=3.6
47
+ python_requires = >=3.9
49
48
  include_package_data = False
50
49
 
51
50
  [egg_info]
@@ -16,6 +16,7 @@ setup(
16
16
  "nkululeko.resample=nkululeko.resample:main",
17
17
  "nkululeko.segment=nkululeko.segment:main",
18
18
  "nkululeko.test=nkululeko.test:main",
19
+ "nkululeko.ensemble=nkululeko.ensemble:main",
19
20
  ],
20
21
  },
21
22
  )
File without changes
File without changes
File without changes
File without changes
File without changes