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.
- {nkululeko-0.80.1 → nkululeko-0.80.3}/CHANGELOG.md +8 -0
- {nkululeko-0.80.1/nkululeko.egg-info → nkululeko-0.80.3}/PKG-INFO +9 -5
- {nkululeko-0.80.1 → nkululeko-0.80.3}/docs/source/conf.py +12 -3
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/constants.py +1 -1
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo_predictor.py +4 -1
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_agender.py +12 -5
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_agender_agender.py +6 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_audmodel.py +6 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_audmodel_dim.py +8 -1
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_mlp.py +2 -2
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_mlp_regression.py +6 -1
- {nkululeko-0.80.1 → nkululeko-0.80.3/nkululeko.egg-info}/PKG-INFO +9 -5
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/requires.txt +0 -4
- {nkululeko-0.80.1 → nkululeko-0.80.3}/setup.cfg +0 -4
- {nkululeko-0.80.1 → nkululeko-0.80.3}/LICENSE +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/README.md +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/aesdd/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids_orig/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/androids_test/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ased/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/asvp-esd/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/baved/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/cafe/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/clac/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/cmu-mosei/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/crema-d/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/demos/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ekorpus/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emns/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emofilm/convert_to_16k.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emofilm/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emorynlp/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emov-db/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emovo/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/emozionalmente/create.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/enterface/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/esd/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/gerparas/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/iemocap/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/jl/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/jtes/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/meld/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mesd/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mess/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/mlendsnd/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/msp-improv/process_database2.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/msp-podcast/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/oreau2/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/portuguese/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ravdess/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/ravdess/process_database_speaker.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/savee/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/shemo/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/subesco/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/tess/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/thorsten-emotional/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/urdu/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/data/vivae/process_database.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/demo_best_model.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/multiple_exeriments/do_experiments.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/multiple_exeriments/parse_nkulu.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/my_experiment.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/my_experiment_local.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/meta/demos/plot_faster_anim.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/aug_train.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augment.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/augmenter.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/randomsplicer.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/randomsplicing.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/augmenting/resampler.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_age.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_arousal.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_dominance.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_gender.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_mos.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_pesq.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_sdr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_snr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_stoi.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/ap_valence.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/autopredict/estimate_snr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/cacheddataset.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/dataset.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/data/dataset_csv.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/demo_feats.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/experiment.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/explore.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/export.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_analyser.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_clap.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_hubert.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_import.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_mld.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_mos.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_opensmile.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_oxbow.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_praat.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_snr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_spectra.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_spkrec.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_squim.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_trill.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feats_wavlm.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/featureset.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feat_extract/feinberg_praat.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/feature_extractor.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/file_checker.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/filter_data.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/glob_conf.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/loss_ccc.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/losses/loss_softf1loss.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/modelrunner.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_bayes.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_cnn.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_gmm.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_knn.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_knn_reg.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_lin_reg.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_svm.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_svr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_tree.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_tree_reg.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_xgb.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/models/model_xgr.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/multidb.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/nkululeko.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/plots.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/predict.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporter.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/defines.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/latex_writer.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/report.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/reporting/report_item.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/resample.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/result.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/runmanager.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/scaler.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segment.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/segmenting/seg_silero.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/syllable_nuclei.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/test.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/test_predictor.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/__init__.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/files.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/stats.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko/utils/util.py +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/SOURCES.txt +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/dependency_links.txt +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/nkululeko.egg-info/top_level.txt +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/pyproject.toml +0 -0
- {nkululeko-0.80.1 → nkululeko-0.80.3}/setup.py +0 -0
- {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.
|
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 =
|
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
|
+
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
|
-
|
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(
|
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(
|
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.
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|