nkululeko 0.80.1__tar.gz → 0.80.3__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 (166) hide show
  1. {nkululeko-0.80.1 → nkululeko-0.80.3}/CHANGELOG.md +8 -0
  2. {nkululeko-0.80.1/nkululeko.egg-info → nkululeko-0.80.3}/PKG-INFO +9 -5
  3. {nkululeko-0.80.1 → nkululeko-0.80.3}/docs/source/conf.py +12 -3
  4. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/constants.py +1 -1
  5. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo_predictor.py +4 -1
  6. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_agender.py +12 -5
  7. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_agender_agender.py +6 -0
  8. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_audmodel.py +6 -0
  9. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_audmodel_dim.py +8 -1
  10. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_mlp.py +2 -2
  11. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_mlp_regression.py +6 -1
  12. {nkululeko-0.80.1 → nkululeko-0.80.3/nkululeko.egg-info}/PKG-INFO +9 -5
  13. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/requires.txt +0 -4
  14. {nkululeko-0.80.1 → nkululeko-0.80.3}/setup.cfg +0 -4
  15. {nkululeko-0.80.1 → nkululeko-0.80.3}/LICENSE +0 -0
  16. {nkululeko-0.80.1 → nkululeko-0.80.3}/README.md +0 -0
  17. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/aesdd/process_database.py +0 -0
  18. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids/process_database.py +0 -0
  19. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids_orig/process_database.py +0 -0
  20. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids_test/process_database.py +0 -0
  21. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ased/process_database.py +0 -0
  22. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/asvp-esd/process_database.py +0 -0
  23. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/baved/process_database.py +0 -0
  24. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/cafe/process_database.py +0 -0
  25. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/clac/process_database.py +0 -0
  26. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/cmu-mosei/process_database.py +0 -0
  27. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/crema-d/process_database.py +0 -0
  28. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/demos/process_database.py +0 -0
  29. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ekorpus/process_database.py +0 -0
  30. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emns/process_database.py +0 -0
  31. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emofilm/convert_to_16k.py +0 -0
  32. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emofilm/process_database.py +0 -0
  33. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emorynlp/process_database.py +0 -0
  34. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emov-db/process_database.py +0 -0
  35. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emovo/process_database.py +0 -0
  36. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emozionalmente/create.py +0 -0
  37. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/enterface/process_database.py +0 -0
  38. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/esd/process_database.py +0 -0
  39. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/gerparas/process_database.py +0 -0
  40. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/iemocap/process_database.py +0 -0
  41. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/jl/process_database.py +0 -0
  42. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/jtes/process_database.py +0 -0
  43. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/meld/process_database.py +0 -0
  44. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mesd/process_database.py +0 -0
  45. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mess/process_database.py +0 -0
  46. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mlendsnd/process_database.py +0 -0
  47. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/msp-improv/process_database2.py +0 -0
  48. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/msp-podcast/process_database.py +0 -0
  49. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/oreau2/process_database.py +0 -0
  50. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/portuguese/process_database.py +0 -0
  51. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ravdess/process_database.py +0 -0
  52. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ravdess/process_database_speaker.py +0 -0
  53. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/savee/process_database.py +0 -0
  54. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/shemo/process_database.py +0 -0
  55. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/subesco/process_database.py +0 -0
  56. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/tess/process_database.py +0 -0
  57. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/thorsten-emotional/process_database.py +0 -0
  58. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/urdu/process_database.py +0 -0
  59. {nkululeko-0.80.1 → nkululeko-0.80.3}/data/vivae/process_database.py +0 -0
  60. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/demo_best_model.py +0 -0
  61. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/multiple_exeriments/do_experiments.py +0 -0
  62. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/multiple_exeriments/parse_nkulu.py +0 -0
  63. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/my_experiment.py +0 -0
  64. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/my_experiment_local.py +0 -0
  65. {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/plot_faster_anim.py +0 -0
  66. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/__init__.py +0 -0
  67. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/aug_train.py +0 -0
  68. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augment.py +0 -0
  69. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/__init__.py +0 -0
  70. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/augmenter.py +0 -0
  71. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/randomsplicer.py +0 -0
  72. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/randomsplicing.py +0 -0
  73. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/resampler.py +0 -0
  74. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/__init__.py +0 -0
  75. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_age.py +0 -0
  76. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_arousal.py +0 -0
  77. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_dominance.py +0 -0
  78. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_gender.py +0 -0
  79. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_mos.py +0 -0
  80. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_pesq.py +0 -0
  81. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_sdr.py +0 -0
  82. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_snr.py +0 -0
  83. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_stoi.py +0 -0
  84. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_valence.py +0 -0
  85. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/estimate_snr.py +0 -0
  86. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/cacheddataset.py +0 -0
  87. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/__init__.py +0 -0
  88. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/dataset.py +0 -0
  89. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/dataset_csv.py +0 -0
  90. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo.py +0 -0
  91. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo_feats.py +0 -0
  92. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/experiment.py +0 -0
  93. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/explore.py +0 -0
  94. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/export.py +0 -0
  95. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/__init__.py +0 -0
  96. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_analyser.py +0 -0
  97. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_clap.py +0 -0
  98. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_hubert.py +0 -0
  99. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_import.py +0 -0
  100. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_mld.py +0 -0
  101. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_mos.py +0 -0
  102. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  103. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  104. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_praat.py +0 -0
  105. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_snr.py +0 -0
  106. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_spectra.py +0 -0
  107. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  108. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_squim.py +0 -0
  109. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_trill.py +0 -0
  110. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  111. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  112. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/featureset.py +0 -0
  113. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feinberg_praat.py +0 -0
  114. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feature_extractor.py +0 -0
  115. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/file_checker.py +0 -0
  116. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/filter_data.py +0 -0
  117. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/glob_conf.py +0 -0
  118. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/__init__.py +0 -0
  119. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/loss_ccc.py +0 -0
  120. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/loss_softf1loss.py +0 -0
  121. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/modelrunner.py +0 -0
  122. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/__init__.py +0 -0
  123. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model.py +0 -0
  124. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_bayes.py +0 -0
  125. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_cnn.py +0 -0
  126. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_gmm.py +0 -0
  127. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_knn.py +0 -0
  128. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_knn_reg.py +0 -0
  129. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_lin_reg.py +0 -0
  130. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_svm.py +0 -0
  131. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_svr.py +0 -0
  132. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_tree.py +0 -0
  133. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_tree_reg.py +0 -0
  134. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_xgb.py +0 -0
  135. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_xgr.py +0 -0
  136. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/multidb.py +0 -0
  137. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/nkululeko.py +0 -0
  138. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/plots.py +0 -0
  139. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/predict.py +0 -0
  140. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporter.py +0 -0
  141. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/__init__.py +0 -0
  142. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/defines.py +0 -0
  143. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/latex_writer.py +0 -0
  144. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/report.py +0 -0
  145. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/report_item.py +0 -0
  146. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/resample.py +0 -0
  147. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/result.py +0 -0
  148. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/runmanager.py +0 -0
  149. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/scaler.py +0 -0
  150. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segment.py +0 -0
  151. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/__init__.py +0 -0
  152. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  153. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/seg_silero.py +0 -0
  154. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/syllable_nuclei.py +0 -0
  155. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/test.py +0 -0
  156. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/test_predictor.py +0 -0
  157. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/__init__.py +0 -0
  158. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/files.py +0 -0
  159. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/stats.py +0 -0
  160. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/util.py +0 -0
  161. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/SOURCES.txt +0 -0
  162. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/dependency_links.txt +0 -0
  163. {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/top_level.txt +0 -0
  164. {nkululeko-0.80.1 → nkululeko-0.80.3}/pyproject.toml +0 -0
  165. {nkululeko-0.80.1 → nkululeko-0.80.3}/setup.py +0 -0
  166. {nkululeko-0.80.1 → nkululeko-0.80.3}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,14 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ Version 0.80.3
5
+ --------------
6
+ * made sounddevice use optional as Portaudio library causes difficulties
7
+
8
+ Version 0.80.2
9
+ --------------
10
+ * fixed bug that caused clash with GPU/CPU use
11
+
4
12
  Version 0.80.1
5
13
  --------------
6
14
  * added support for string value in import_features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.80.1
3
+ Version: 0.80.3
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
@@ -19,22 +19,18 @@ Requires-Dist: audinterface
19
19
  Requires-Dist: audiofile
20
20
  Requires-Dist: audiomentations
21
21
  Requires-Dist: audonnx
22
- Requires-Dist: cylimiter
23
22
  Requires-Dist: datasets
24
23
  Requires-Dist: imageio
25
- Requires-Dist: imbalanced-learn
26
24
  Requires-Dist: laion-clap
27
25
  Requires-Dist: matplotlib
28
26
  Requires-Dist: numpy
29
27
  Requires-Dist: opensmile
30
28
  Requires-Dist: pandas
31
29
  Requires-Dist: praat-parselmouth
32
- Requires-Dist: pylatex
33
30
  Requires-Dist: scikit_learn
34
31
  Requires-Dist: scipy
35
32
  Requires-Dist: seaborn
36
33
  Requires-Dist: sounddevice
37
- Requires-Dist: splitutils
38
34
  Requires-Dist: tensorflow
39
35
  Requires-Dist: tensorflow_hub
40
36
  Requires-Dist: torch
@@ -323,6 +319,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
323
319
  Changelog
324
320
  =========
325
321
 
322
+ Version 0.80.3
323
+ --------------
324
+ * made sounddevice use optional as Portaudio library causes difficulties
325
+
326
+ Version 0.80.2
327
+ --------------
328
+ * fixed bug that caused clash with GPU/CPU use
329
+
326
330
  Version 0.80.1
327
331
  --------------
328
332
  * added support for string value in import_features
@@ -32,7 +32,9 @@ extensions = [
32
32
  'sphinx.ext.autodoc',
33
33
  'sphinx.ext.viewcode',
34
34
  # 'nbsphinx', # to embedd ipynb files
35
- 'sphinx.ext.mathjax' # to enable latex
35
+ 'sphinx.ext.mathjax', # to enable latex
36
+ 'sphinx_rtd_theme',
37
+ 'myst_parser', # to enable markdown
36
38
  ]
37
39
 
38
40
  # Add any paths that contain templates here, relative to this directory.
@@ -54,10 +56,17 @@ html_theme = 'sphinx_rtd_theme'
54
56
  # Add any paths that contain custom static files (such as style sheets) here,
55
57
  # relative to this directory. They are copied after the builtin static files,
56
58
  # so a file named "default.css" will overwrite the builtin "default.css".
57
- html_static_path = ['_static']
59
+ # html_static_path = ['_static']
58
60
 
59
61
  # suffix for source files
60
- source_suffix = '.rst'
62
+ source_suffix = {
63
+ '.rst': 'restructuredtext',
64
+ '.txt': 'restructuredtext',
65
+ '.md': 'markdown',
66
+ }
67
+
68
+ # headed anchors until h3
69
+ myst_heading_anchors = 3
61
70
 
62
71
  # The master toctree document.
63
72
  master_doc = 'index'
@@ -1,2 +1,2 @@
1
- VERSION="0.80.1"
1
+ VERSION="0.80.3"
2
2
  SAMPLING_RATE = 16000
@@ -1,6 +1,5 @@
1
1
  import pandas as pd
2
2
  import numpy as np
3
- import sounddevice as sd
4
3
  import audiofile
5
4
  import nkululeko.glob_conf as glob_conf
6
5
  from nkululeko.utils.util import Util
@@ -84,6 +83,8 @@ class Demo_predictor:
84
83
  return dict_2
85
84
 
86
85
  def record_audio(self, seconds):
86
+ import sounddevice as sd
87
+
87
88
  print("recording ...")
88
89
  y = sd.rec(int(seconds * self.sr), samplerate=self.sr, channels=1)
89
90
  sd.wait()
@@ -91,6 +92,8 @@ class Demo_predictor:
91
92
  return y
92
93
 
93
94
  def play_audio(self, signal):
95
+ import sounddevice as sd
96
+
94
97
  print("playback ...")
95
98
  sd.play(signal.T, self.sr)
96
99
  status = sd.wait()
@@ -18,6 +18,9 @@ class AudModelAgenderSet(Featureset):
18
18
 
19
19
  def __init__(self, name, data_df):
20
20
  super().__init__(name, data_df)
21
+ self.model_loaded = False
22
+
23
+ def _load_model(self):
21
24
  model_url = "https://zenodo.org/record/7761387/files/w2v2-L-robust-6-age-gender.25c844af-1.1.1.zip"
22
25
  model_root = self.util.config_val(
23
26
  "FEATS", "agender.model", "./audmodel_agender/"
@@ -25,12 +28,15 @@ class AudModelAgenderSet(Featureset):
25
28
  if not os.path.isdir(model_root):
26
29
  cache_root = audeer.mkdir("cache")
27
30
  model_root = audeer.mkdir(model_root)
28
- archive_path = audeer.download_url(
29
- model_url, cache_root, verbose=True
30
- )
31
+ archive_path = audeer.download_url(model_url, cache_root, verbose=True)
31
32
  audeer.extract_archive(archive_path, model_root)
32
33
  device = self.util.config_val("MODEL", "device", "cpu")
33
34
  self.model = audonnx.load(model_root, device=device)
35
+ pytorch_total_params = sum(p.numel() for p in self.model.parameters())
36
+ self.util.debug(
37
+ f"initialized agender model with {pytorch_total_params} parameters in total"
38
+ )
39
+ self.model_loaded = True
34
40
 
35
41
  def extract(self):
36
42
  """Extract the features based on the initialized dataset or re-open them when found on disk."""
@@ -43,9 +49,10 @@ class AudModelAgenderSet(Featureset):
43
49
  no_reuse = eval(self.util.config_val("FEATS", "no_reuse", "False"))
44
50
  if no_reuse or extract or not os.path.isfile(storage):
45
51
  self.util.debug(
46
- "extracting agender model embeddings, this might take a"
47
- " while..."
52
+ "extracting agender model embeddings, this might take a" " while..."
48
53
  )
54
+ if not self.model_loaded:
55
+ self._load_model()
49
56
  hidden_states = audinterface.Feature(
50
57
  self.model.labels("hidden_states"),
51
58
  process_func=self.model,
@@ -18,6 +18,9 @@ class AgenderAgenderSet(Featureset):
18
18
 
19
19
  def __init__(self, name, data_df):
20
20
  super().__init__(name, data_df)
21
+ self.model_loaded = False
22
+
23
+ def _load_model(self):
21
24
  model_url = "https://zenodo.org/record/7761387/files/w2v2-L-robust-6-age-gender.25c844af-1.1.1.zip"
22
25
  model_root = self.util.config_val(
23
26
  "FEATS", "agender.model", "./audmodel_agender/"
@@ -33,6 +36,7 @@ class AgenderAgenderSet(Featureset):
33
36
  self.util.debug(
34
37
  f"initialized agender model with {pytorch_total_params} parameters in total"
35
38
  )
39
+ self.model_loaded = True
36
40
 
37
41
  def extract(self):
38
42
  """Extract the features based on the initialized dataset or re-open them when found on disk."""
@@ -48,6 +52,8 @@ class AgenderAgenderSet(Featureset):
48
52
  self.util.debug(
49
53
  "extracting agender model age and gender, this might take a" " while..."
50
54
  )
55
+ if not self.model_loaded:
56
+ self._load_model()
51
57
  outputs = ["logits_age", "logits_gender"]
52
58
  logits = audinterface.Feature(
53
59
  self.model.labels(outputs),
@@ -20,6 +20,9 @@ class AudModelSet(Featureset):
20
20
 
21
21
  def __init__(self, name, data_df):
22
22
  super().__init__(name, data_df)
23
+ self.model_loaded = False
24
+
25
+ def _load_model(self):
23
26
  model_url = "https://zenodo.org/record/6221127/files/w2v2-L-robust-12.6bc4a7fd-1.1.0.zip"
24
27
  model_root = self.util.config_val("FEATS", "aud.model", "./audmodel/")
25
28
  if not os.path.isdir(model_root):
@@ -30,6 +33,7 @@ class AudModelSet(Featureset):
30
33
  cuda = "cuda" if torch.cuda.is_available() else "cpu"
31
34
  device = self.util.config_val("MODEL", "device", cuda)
32
35
  self.model = audonnx.load(model_root, device=device)
36
+ self.model_loaded = True
33
37
 
34
38
  def extract(self):
35
39
  """Extract the features based on the initialized dataset or re-open them when found on disk."""
@@ -44,6 +48,8 @@ class AudModelSet(Featureset):
44
48
  self.util.debug(
45
49
  "extracting audmodel embeddings, this might take a while..."
46
50
  )
51
+ if not self.model_loaded:
52
+ self._load_model()
47
53
  hidden_states = audinterface.Feature(
48
54
  self.model.labels("hidden_states"),
49
55
  process_func=self.model,
@@ -18,6 +18,9 @@ class AudModelDimSet(Featureset):
18
18
 
19
19
  def __init__(self, name, data_df):
20
20
  super().__init__(name, data_df)
21
+ self.model_loaded = False
22
+
23
+ def _load_model(self):
21
24
  model_url = "https://zenodo.org/record/6221127/files/w2v2-L-robust-12.6bc4a7fd-1.1.0.zip"
22
25
  model_root = self.util.config_val("FEATS", "aud.model", "./audmodel/")
23
26
  if not os.path.isdir(model_root):
@@ -25,8 +28,10 @@ class AudModelDimSet(Featureset):
25
28
  model_root = audeer.mkdir(model_root)
26
29
  archive_path = audeer.download_url(model_url, cache_root, verbose=True)
27
30
  audeer.extract_archive(archive_path, model_root)
28
- device = self.util.config_val("MODEL", "device", "cpu")
31
+ cuda = "cuda" if torch.cuda.is_available() else "cpu"
32
+ device = self.util.config_val("MODEL", "device", cuda)
29
33
  self.model = audonnx.load(model_root, device=device)
34
+ self.model_loaded = True
30
35
 
31
36
  def extract(self):
32
37
  """Extract the features based on the initialized dataset or re-open them when found on disk."""
@@ -41,6 +46,8 @@ class AudModelDimSet(Featureset):
41
46
  self.util.debug(
42
47
  "extracting audmodel dimensions, this might take a while..."
43
48
  )
49
+ if not self.model_loaded:
50
+ self._load_model()
44
51
  logits = audinterface.Feature(
45
52
  self.model.labels("logits"),
46
53
  process_func=self.model,
@@ -107,8 +107,8 @@ class MLP_model(Model):
107
107
  logits[start_index:end_index, :] = model(features.to(device))
108
108
  targets[start_index:end_index] = labels
109
109
  loss = self.criterion(
110
- logits[start_index:end_index, :],
111
- labels.to(self.device, dtype=torch.int64),
110
+ logits[start_index:end_index, :].to(device),
111
+ labels.to(device, dtype=torch.int64),
112
112
  )
113
113
  losses.append(loss.item())
114
114
 
@@ -185,7 +185,12 @@ class MLP_Reg_model(Model):
185
185
  end_index = len(loader.dataset)
186
186
  logits[start_index:end_index] = model(features.to(device)).reshape(-1)
187
187
  targets[start_index:end_index] = labels
188
- loss = self.criterion(logits[start_index:end_index], labels.to(device))
188
+ loss = self.criterion(
189
+ logits[start_index:end_index].to(
190
+ device,
191
+ ),
192
+ labels.to(device),
193
+ )
189
194
  losses.append(loss.item())
190
195
  self.loss_eval = (np.asarray(losses)).mean()
191
196
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.80.1
3
+ Version: 0.80.3
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
@@ -19,22 +19,18 @@ Requires-Dist: audinterface
19
19
  Requires-Dist: audiofile
20
20
  Requires-Dist: audiomentations
21
21
  Requires-Dist: audonnx
22
- Requires-Dist: cylimiter
23
22
  Requires-Dist: datasets
24
23
  Requires-Dist: imageio
25
- Requires-Dist: imbalanced-learn
26
24
  Requires-Dist: laion-clap
27
25
  Requires-Dist: matplotlib
28
26
  Requires-Dist: numpy
29
27
  Requires-Dist: opensmile
30
28
  Requires-Dist: pandas
31
29
  Requires-Dist: praat-parselmouth
32
- Requires-Dist: pylatex
33
30
  Requires-Dist: scikit_learn
34
31
  Requires-Dist: scipy
35
32
  Requires-Dist: seaborn
36
33
  Requires-Dist: sounddevice
37
- Requires-Dist: splitutils
38
34
  Requires-Dist: tensorflow
39
35
  Requires-Dist: tensorflow_hub
40
36
  Requires-Dist: torch
@@ -323,6 +319,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
323
319
  Changelog
324
320
  =========
325
321
 
322
+ Version 0.80.3
323
+ --------------
324
+ * made sounddevice use optional as Portaudio library causes difficulties
325
+
326
+ Version 0.80.2
327
+ --------------
328
+ * fixed bug that caused clash with GPU/CPU use
329
+
326
330
  Version 0.80.1
327
331
  --------------
328
332
  * added support for string value in import_features
@@ -4,22 +4,18 @@ audinterface
4
4
  audiofile
5
5
  audiomentations
6
6
  audonnx
7
- cylimiter
8
7
  datasets
9
8
  imageio
10
- imbalanced-learn
11
9
  laion-clap
12
10
  matplotlib
13
11
  numpy
14
12
  opensmile
15
13
  pandas
16
14
  praat-parselmouth
17
- pylatex
18
15
  scikit_learn
19
16
  scipy
20
17
  seaborn
21
18
  sounddevice
22
- splitutils
23
19
  tensorflow
24
20
  tensorflow_hub
25
21
  torch
@@ -23,22 +23,18 @@ install_requires =
23
23
  audiofile
24
24
  audiomentations
25
25
  audonnx
26
- cylimiter
27
26
  datasets
28
27
  imageio
29
- imbalanced-learn
30
28
  laion-clap
31
29
  matplotlib
32
30
  numpy
33
31
  opensmile
34
32
  pandas
35
33
  praat-parselmouth
36
- pylatex
37
34
  scikit_learn
38
35
  scipy
39
36
  seaborn
40
37
  sounddevice
41
- splitutils
42
38
  tensorflow
43
39
  tensorflow_hub
44
40
  torch
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes