nkululeko 0.90.0__tar.gz → 0.90.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.
- {nkululeko-0.90.0 → nkululeko-0.90.1}/CHANGELOG.md +4 -0
- {nkululeko-0.90.0/nkululeko.egg-info → nkululeko-0.90.1}/PKG-INFO +6 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/README.md +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/androids/process_database.py +2 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emofilm/convert_to_16k.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emofilm/process_database.py +3 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emov-db/process_database.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emozionalmente/create.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/mlendsnd/process_database.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/msp-improv/process_database2.py +3 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/msp-podcast/process_database.py +6 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/oreau2/process_database.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/ravdess/process_database.py +3 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/meta/demos/demo_best_model.py +8 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/meta/demos/my_experiment.py +12 -8
- {nkululeko-0.90.0 → nkululeko-0.90.1}/meta/demos/my_experiment_local.py +13 -9
- {nkululeko-0.90.0 → nkululeko-0.90.1}/meta/demos/plot_faster_anim.py +9 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/aug_train.py +6 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augment.py +6 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augmenting/augmenter.py +4 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augmenting/randomsplicer.py +6 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augmenting/randomsplicing.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augmenting/resampler.py +9 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_age.py +4 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_arousal.py +4 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_dominance.py +3 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_gender.py +4 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_mos.py +5 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_pesq.py +5 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_sdr.py +5 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_snr.py +5 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_stoi.py +5 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/ap_valence.py +4 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/estimate_snr.py +10 -14
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/constants.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/data/dataset.py +11 -14
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/data/dataset_csv.py +5 -3
- nkululeko-0.90.1/nkululeko/demo-ft.py +29 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/demo_feats.py +5 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/demo_predictor.py +3 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/ensemble.py +27 -28
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/experiment.py +3 -5
- nkululeko-0.90.1/nkululeko/experiment_felix.py +728 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/explore.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/export.py +7 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_agender.py +5 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_agender_agender.py +7 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_analyser.py +18 -16
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_ast.py +9 -8
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_auddim.py +3 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_audmodel.py +2 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_clap.py +9 -12
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_hubert.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_import.py +5 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_mld.py +3 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_mos.py +4 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_opensmile.py +4 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_oxbow.py +5 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_praat.py +4 -7
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_snr.py +3 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_spectra.py +8 -9
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_spkrec.py +6 -11
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_squim.py +2 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_trill.py +2 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_wav2vec2.py +8 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_wavlm.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feats_whisper.py +4 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/featureset.py +4 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/feinberg_praat.py +1 -3
- nkululeko-0.90.1/nkululeko/feat_extract/transformer_feature_extractor.py +147 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/file_checker.py +3 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/filter_data.py +3 -1
- nkululeko-0.90.1/nkululeko/fixedsegment.py +83 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model.py +3 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_bayes.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_cnn.py +4 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_gmm.py +13 -9
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_knn.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_knn_reg.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_lin_reg.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_mlp.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_mlp_regression.py +1 -6
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_svm.py +2 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_svr.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_tree.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_tree_reg.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_tuned.py +54 -33
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_xgb.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/model_xgr.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/multidb.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/predict.py +4 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/defines.py +6 -8
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/latex_writer.py +3 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/report.py +2 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/report_item.py +1 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/reporter.py +20 -19
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/resample.py +8 -12
- nkululeko-0.90.1/nkululeko/resample_cli.py +99 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/runmanager.py +3 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/scaler.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/segment.py +6 -5
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/segmenting/seg_inaspeechsegmenter.py +3 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/segmenting/seg_silero.py +4 -4
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/syllable_nuclei.py +9 -22
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/test_pretrain.py +6 -7
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/utils/stats.py +0 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/utils/util.py +2 -3
- {nkululeko-0.90.0 → nkululeko-0.90.1/nkululeko.egg-info}/PKG-INFO +6 -2
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko.egg-info/SOURCES.txt +5 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/setup.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/LICENSE +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/aesdd/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/ased/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/asvp-esd/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/baved/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/cafe/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/clac/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/cmu-mosei/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/demos/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/ekorpus/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emns/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emorynlp/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/emovo/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/enterface/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/esd/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/gerparas/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/iemocap/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/jl/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/jtes/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/meld/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/mesd/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/mess/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/portuguese/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/ravdess/process_database_speaker.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/savee/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/shemo/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/subesco/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/tess/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/thorsten-emotional/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/urdu/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/data/vivae/process_database.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/docs/source/conf.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/augmenting/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/autopredict/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/cacheddataset.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/data/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/demo.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feat_extract/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/feature_extractor.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/glob_conf.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/losses/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/losses/loss_ccc.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/losses/loss_softf1loss.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/modelrunner.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/models/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/nkuluflag.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/nkululeko.py +1 -1
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/plots.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/reporting/result.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/segmenting/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/test.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/test_predictor.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/utils/__init__.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko/utils/files.py +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko.egg-info/dependency_links.txt +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko.egg-info/requires.txt +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/nkululeko.egg-info/top_level.txt +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/pyproject.toml +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/setup.cfg +0 -0
- {nkululeko-0.90.0 → nkululeko-0.90.1}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nkululeko
|
3
|
-
Version: 0.90.
|
3
|
+
Version: 0.90.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
|
@@ -275,7 +275,7 @@ There's my [blog](http://blog.syntheticspeech.de/?s=nkululeko) with tutorials:
|
|
275
275
|
|
276
276
|
|
277
277
|
### <a name="helloworld">Hello World example</a>
|
278
|
-
* NEW: [Here's a Google colab that runs this example out-of-the-box](https://colab.research.google.com/drive/
|
278
|
+
* NEW: [Here's a Google colab that runs this example out-of-the-box](https://colab.research.google.com/drive/1Up7t5Nn7VwDPCCEpTg2U7cpZ_PdoEgj-?usp=sharing), and here is the same [with Kaggle](https://www.kaggle.com/felixburk/nkululeko-hello-world-example)
|
279
279
|
* [I made a video to show you how to do this on Windows](https://www.youtube.com/playlist?list=PLRceVavtxLg0y2jiLmpnUfiMtfvkK912D)
|
280
280
|
* Set up Python on your computer, version >= 3.8
|
281
281
|
* Open a terminal/commandline/console window
|
@@ -356,6 +356,10 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
|
|
356
356
|
Changelog
|
357
357
|
=========
|
358
358
|
|
359
|
+
Version 0.90.1
|
360
|
+
--------------
|
361
|
+
* Add balancing for finetune and update data README
|
362
|
+
|
359
363
|
Version 0.90.0
|
360
364
|
--------------
|
361
365
|
* augmentation can now be done without target
|
@@ -231,7 +231,7 @@ There's my [blog](http://blog.syntheticspeech.de/?s=nkululeko) with tutorials:
|
|
231
231
|
|
232
232
|
|
233
233
|
### <a name="helloworld">Hello World example</a>
|
234
|
-
* NEW: [Here's a Google colab that runs this example out-of-the-box](https://colab.research.google.com/drive/
|
234
|
+
* NEW: [Here's a Google colab that runs this example out-of-the-box](https://colab.research.google.com/drive/1Up7t5Nn7VwDPCCEpTg2U7cpZ_PdoEgj-?usp=sharing), and here is the same [with Kaggle](https://www.kaggle.com/felixburk/nkululeko-hello-world-example)
|
235
235
|
* [I made a video to show you how to do this on Windows](https://www.youtube.com/playlist?list=PLRceVavtxLg0y2jiLmpnUfiMtfvkK912D)
|
236
236
|
* Set up Python on your computer, version >= 3.8
|
237
237
|
* Open a terminal/commandline/console window
|
@@ -1,8 +1,11 @@
|
|
1
|
+
import argparse
|
2
|
+
import glob
|
1
3
|
import os
|
2
|
-
from os.path import basename
|
4
|
+
from os.path import basename
|
5
|
+
from os.path import join as path_join
|
6
|
+
from os.path import splitext
|
7
|
+
|
3
8
|
import pandas as pd
|
4
|
-
import glob
|
5
|
-
import argparse
|
6
9
|
|
7
10
|
LABEL_DIR_PATH = 'Labels'
|
8
11
|
WAV_DIR_PATH = 'Audios'
|
@@ -2,28 +2,30 @@
|
|
2
2
|
# Demonstration code to use the ML-experiment framework
|
3
3
|
|
4
4
|
import sys
|
5
|
+
|
5
6
|
sys.path.append("./src")
|
6
|
-
from reporter import Reporter
|
7
|
-
import experiment as exp
|
8
7
|
import configparser
|
8
|
+
|
9
|
+
import experiment as exp
|
9
10
|
from util import Util
|
10
11
|
|
12
|
+
|
11
13
|
def main(config_file):
|
12
14
|
# load one configuration per experiment
|
13
15
|
config = configparser.ConfigParser()
|
14
16
|
config.read(config_file)
|
15
17
|
util = Util()
|
16
|
-
|
18
|
+
|
17
19
|
# create a new experiment
|
18
20
|
expr = exp.Experiment(config)
|
19
|
-
print(f
|
21
|
+
print(f"running {expr.name}")
|
20
22
|
|
21
23
|
# load the experiment
|
22
|
-
expr.load(f
|
24
|
+
expr.load(f"{util.get_exp_name()}.pkl")
|
23
25
|
|
24
26
|
expr.demo()
|
25
27
|
|
26
|
-
print(
|
28
|
+
print("DONE")
|
27
29
|
|
28
30
|
|
29
31
|
if __name__ == "__main__":
|
@@ -2,34 +2,37 @@
|
|
2
2
|
# Demonstration code to use the ML-experiment framework
|
3
3
|
|
4
4
|
import sys
|
5
|
+
|
5
6
|
sys.path.append("./nkululeko/src")
|
6
|
-
import experiment as exp
|
7
7
|
import configparser
|
8
|
-
from util import Util
|
9
8
|
import os.path
|
9
|
+
|
10
10
|
import constants
|
11
|
+
import experiment as exp
|
12
|
+
from util import Util
|
13
|
+
|
11
14
|
|
12
15
|
def main(config_file):
|
13
16
|
# test if the configuration file exists
|
14
17
|
if not os.path.isfile(config_file):
|
15
|
-
print(f
|
18
|
+
print(f"ERROR: no such file: {config_file}")
|
16
19
|
exit()
|
17
20
|
|
18
21
|
# load one configuration per experiment
|
19
22
|
config = configparser.ConfigParser()
|
20
23
|
config.read(config_file)
|
21
|
-
|
24
|
+
|
22
25
|
# create a new experiment
|
23
26
|
expr = exp.Experiment(config)
|
24
27
|
util = Util()
|
25
|
-
util.debug(f
|
28
|
+
util.debug(f"running {expr.name}, nkululeko version {constants.VERSION}")
|
26
29
|
|
27
30
|
# load the data
|
28
31
|
expr.load_datasets()
|
29
32
|
|
30
33
|
# split into train and test
|
31
34
|
expr.fill_train_and_tests()
|
32
|
-
util.debug(f
|
35
|
+
util.debug(f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}")
|
33
36
|
|
34
37
|
# extract features
|
35
38
|
expr.extract_feats()
|
@@ -40,9 +43,10 @@ def main(config_file):
|
|
40
43
|
# run the experiment
|
41
44
|
expr.run()
|
42
45
|
|
43
|
-
print(
|
46
|
+
print("DONE")
|
47
|
+
|
44
48
|
|
45
49
|
if __name__ == "__main__":
|
46
50
|
cwd = os.path.dirname(os.path.abspath(__file__))
|
47
|
-
main(
|
51
|
+
main("./nkululeko/demos/exp_emodb.ini")
|
48
52
|
# main(sys.argv[1]) # use this if you want to state the config file path on command line
|
@@ -2,20 +2,23 @@
|
|
2
2
|
# Demonstration code to use the ML-experiment framework
|
3
3
|
|
4
4
|
import sys
|
5
|
+
|
5
6
|
sys.path.append("./src")
|
6
|
-
import experiment as exp
|
7
7
|
import configparser
|
8
|
+
|
9
|
+
import experiment as exp
|
8
10
|
from util import Util
|
9
11
|
|
12
|
+
|
10
13
|
def main(config_file):
|
11
14
|
# load one configuration per experiment
|
12
15
|
config = configparser.ConfigParser()
|
13
16
|
config.read(config_file)
|
14
|
-
|
17
|
+
|
15
18
|
# create a new experiment
|
16
19
|
expr = exp.Experiment(config)
|
17
20
|
util = Util()
|
18
|
-
util.debug(f
|
21
|
+
util.debug(f"running {expr.name}")
|
19
22
|
|
20
23
|
# load the data
|
21
24
|
expr.load_datasets()
|
@@ -32,13 +35,14 @@ def main(config_file):
|
|
32
35
|
# run the experiment
|
33
36
|
expr.run()
|
34
37
|
|
35
|
-
print(
|
38
|
+
print("DONE")
|
39
|
+
|
36
40
|
|
37
41
|
if __name__ == "__main__":
|
38
|
-
# main('./demos/exp_danish_local.ini')
|
39
|
-
# main('./demos/exp_emodb_wav2vec.ini')
|
40
|
-
# main('./demos/exp_cross_wav2vec1pager.ini')
|
41
|
-
# main('./demos/exp_emodb_local.ini')
|
42
|
-
main(
|
42
|
+
# main('./demos/exp_danish_local.ini')
|
43
|
+
# main('./demos/exp_emodb_wav2vec.ini')
|
44
|
+
# main('./demos/exp_cross_wav2vec1pager.ini')
|
45
|
+
# main('./demos/exp_emodb_local.ini')
|
46
|
+
main("./demos/exp_cross_local.ini")
|
43
47
|
# main('./demos/exp_bdtgfir pul_local.ini')
|
44
48
|
# main(sys.argv[1]) # use this if you want to state the config file path on command line
|
@@ -2,30 +2,33 @@
|
|
2
2
|
# Demonstration code to use the ML-experiment framework
|
3
3
|
|
4
4
|
import sys
|
5
|
+
|
5
6
|
sys.path.append("./src")
|
6
|
-
from reporter import Reporter
|
7
|
-
import experiment as exp
|
8
7
|
import configparser
|
8
|
+
|
9
|
+
import experiment as exp
|
10
|
+
from reporter import Reporter
|
9
11
|
from util import Util
|
10
12
|
|
13
|
+
|
11
14
|
def main(config_file):
|
12
15
|
# load one configuration per experiment
|
13
16
|
config = configparser.ConfigParser()
|
14
17
|
config.read(config_file)
|
15
18
|
util = Util()
|
16
|
-
|
19
|
+
|
17
20
|
# create a new experiment
|
18
21
|
expr = exp.Experiment(config)
|
19
|
-
print(f
|
22
|
+
print(f"running {expr.name}")
|
20
23
|
|
21
24
|
# load the experiment
|
22
25
|
# expr.load(f'{util.get_exp_name()}.pkl')
|
23
26
|
|
24
27
|
reporter = Reporter([], [])
|
25
28
|
|
26
|
-
reporter.make_conf_animation(
|
29
|
+
reporter.make_conf_animation("test.gif")
|
27
30
|
|
28
|
-
print(
|
31
|
+
print("DONE")
|
29
32
|
|
30
33
|
|
31
34
|
if __name__ == "__main__":
|
@@ -1,15 +1,17 @@
|
|
1
1
|
# aug_train.py
|
2
2
|
# train with augmentations
|
3
|
+
import argparse
|
3
4
|
import ast
|
5
|
+
import configparser
|
4
6
|
import os.path
|
7
|
+
|
5
8
|
import numpy as np
|
6
|
-
|
7
|
-
import argparse
|
9
|
+
|
8
10
|
import nkululeko.experiment as exp
|
9
|
-
from nkululeko.utils.util import Util
|
10
|
-
from nkululeko.constants import VERSION
|
11
11
|
import nkululeko.glob_conf as glob_conf
|
12
12
|
from nkululeko.augment import doit as augment
|
13
|
+
from nkululeko.constants import VERSION
|
14
|
+
from nkululeko.utils.util import Util
|
13
15
|
|
14
16
|
|
15
17
|
def doit(config_file):
|
@@ -2,13 +2,15 @@
|
|
2
2
|
# augment the training sets
|
3
3
|
|
4
4
|
import argparse
|
5
|
-
import pandas as pd
|
6
|
-
import os
|
7
5
|
import ast
|
8
|
-
from nkululeko.experiment import Experiment
|
9
6
|
import configparser
|
10
|
-
|
7
|
+
import os
|
8
|
+
|
9
|
+
import pandas as pd
|
10
|
+
|
11
11
|
from nkululeko.constants import VERSION
|
12
|
+
from nkululeko.experiment import Experiment
|
13
|
+
from nkululeko.utils.util import Util
|
12
14
|
|
13
15
|
|
14
16
|
def doit(config_file):
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# augmenter.py
|
2
2
|
import os
|
3
|
-
|
3
|
+
|
4
|
+
import audeer
|
5
|
+
import audiofile
|
4
6
|
import pandas as pd
|
5
7
|
from audiomentations import *
|
6
8
|
from tqdm import tqdm
|
7
|
-
|
8
|
-
import audiofile
|
9
|
-
from audformat.utils import map_file_path
|
9
|
+
|
10
10
|
from nkululeko.utils.util import Util
|
11
11
|
|
12
12
|
|
@@ -13,15 +13,15 @@ F. Burkhardt, Anna Derington, Matthias Kahlau, Klaus Scherer, Florian Eyben and
|
|
13
13
|
|
14
14
|
"""
|
15
15
|
|
16
|
-
import pandas as pd
|
17
|
-
from tqdm import tqdm
|
18
16
|
import os
|
19
|
-
|
20
|
-
import audiofile as af
|
21
|
-
from audformat.utils import map_file_path
|
17
|
+
|
22
18
|
import audeer
|
23
|
-
|
19
|
+
import audiofile as af
|
20
|
+
import pandas as pd
|
21
|
+
from tqdm import tqdm
|
22
|
+
|
24
23
|
import nkululeko.augmenting.randomsplicing as rsp
|
24
|
+
from nkululeko.utils.util import Util
|
25
25
|
|
26
26
|
|
27
27
|
class Randomsplicer:
|
@@ -10,9 +10,9 @@ Evaluated in:
|
|
10
10
|
F. Burkhardt, Anna Derington, Matthias Kahlau, Klaus Scherer, Florian Eyben and Björn Schuller: Masking Speech Contents by Random Splicing: is Emotional Expression Preserved?, Proc. ICASSP, 2023
|
11
11
|
|
12
12
|
"""
|
13
|
-
|
13
|
+
|
14
14
|
import librosa
|
15
|
-
import
|
15
|
+
import numpy as np
|
16
16
|
|
17
17
|
|
18
18
|
def random_splicing(
|
@@ -54,7 +54,6 @@ def split_wav_naive(wav, top_db=12):
|
|
54
54
|
|
55
55
|
|
56
56
|
def remix_random_reverse(wav, indices, p_reverse=0):
|
57
|
-
import random
|
58
57
|
|
59
58
|
wav_remix = []
|
60
59
|
|
@@ -2,12 +2,14 @@
|
|
2
2
|
resample a data frame
|
3
3
|
|
4
4
|
"""
|
5
|
+
|
5
6
|
import os
|
6
7
|
import shutil
|
7
8
|
|
8
9
|
import audformat
|
9
10
|
import pandas as pd
|
10
11
|
import torchaudio
|
12
|
+
|
11
13
|
from nkululeko.utils.util import Util
|
12
14
|
|
13
15
|
|
@@ -18,8 +20,11 @@ class Resampler:
|
|
18
20
|
self.util = Util("resampler", has_config=not_testing)
|
19
21
|
self.util.warn(f"all files might be resampled to {self.SAMPLING_RATE}")
|
20
22
|
self.not_testing = not_testing
|
21
|
-
self.replace =
|
22
|
-
"RESAMPLE", "replace", "False"))
|
23
|
+
self.replace = (
|
24
|
+
eval(self.util.config_val("RESAMPLE", "replace", "False"))
|
25
|
+
if not not_testing
|
26
|
+
else replace
|
27
|
+
)
|
23
28
|
|
24
29
|
def resample(self):
|
25
30
|
files = self.df.index.get_level_values(0).values
|
@@ -45,8 +50,7 @@ class Resampler:
|
|
45
50
|
continue
|
46
51
|
if org_sr != self.SAMPLING_RATE:
|
47
52
|
self.util.debug(f"resampling {f} (sr = {org_sr})")
|
48
|
-
resampler = torchaudio.transforms.Resample(
|
49
|
-
org_sr, self.SAMPLING_RATE)
|
53
|
+
resampler = torchaudio.transforms.Resample(org_sr, self.SAMPLING_RATE)
|
50
54
|
signal = resampler(signal)
|
51
55
|
if replace:
|
52
56
|
torchaudio.save(
|
@@ -63,8 +67,7 @@ class Resampler:
|
|
63
67
|
self.df = self.df.set_index(
|
64
68
|
self.df.index.set_levels(new_files, level="file")
|
65
69
|
)
|
66
|
-
target_file = self.util.config_val(
|
67
|
-
"RESAMPLE", "target", "resampled.csv")
|
70
|
+
target_file = self.util.config_val("RESAMPLE", "target", "resampled.csv")
|
68
71
|
# remove encoded labels
|
69
72
|
target = self.util.config_val("DATA", "target", "emotion")
|
70
73
|
if "class_label" in self.df.columns:
|
@@ -2,10 +2,12 @@
|
|
2
2
|
A predictor for age.
|
3
3
|
Currently based on audEERING's agender model.
|
4
4
|
"""
|
5
|
-
|
6
|
-
from nkululeko.feature_extractor import FeatureExtractor
|
5
|
+
|
7
6
|
import ast
|
7
|
+
|
8
8
|
import nkululeko.glob_conf as glob_conf
|
9
|
+
from nkululeko.feature_extractor import FeatureExtractor
|
10
|
+
from nkululeko.utils.util import Util
|
9
11
|
|
10
12
|
|
11
13
|
class AgePredictor:
|
@@ -2,10 +2,12 @@
|
|
2
2
|
A predictor for emotional arousal.
|
3
3
|
Currently based on audEERING's emotional dimension model.
|
4
4
|
"""
|
5
|
-
|
6
|
-
from nkululeko.feature_extractor import FeatureExtractor
|
5
|
+
|
7
6
|
import ast
|
7
|
+
|
8
8
|
import nkululeko.glob_conf as glob_conf
|
9
|
+
from nkululeko.feature_extractor import FeatureExtractor
|
10
|
+
from nkululeko.utils.util import Util
|
9
11
|
|
10
12
|
|
11
13
|
class ArousalPredictor:
|
@@ -3,10 +3,11 @@ A predictor for emotional dominance.
|
|
3
3
|
Currently based on audEERING's emotional dimension model.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from nkululeko.utils.util import Util
|
7
|
-
from nkululeko.feature_extractor import FeatureExtractor
|
8
6
|
import ast
|
7
|
+
|
9
8
|
import nkululeko.glob_conf as glob_conf
|
9
|
+
from nkululeko.feature_extractor import FeatureExtractor
|
10
|
+
from nkululeko.utils.util import Util
|
10
11
|
|
11
12
|
|
12
13
|
class DominancePredictor:
|
@@ -2,10 +2,12 @@
|
|
2
2
|
A predictor for biological sex.
|
3
3
|
Currently based on audEERING's agender model.
|
4
4
|
"""
|
5
|
-
|
6
|
-
from nkululeko.feature_extractor import FeatureExtractor
|
5
|
+
|
7
6
|
import ast
|
7
|
+
|
8
8
|
import nkululeko.glob_conf as glob_conf
|
9
|
+
from nkululeko.feature_extractor import FeatureExtractor
|
10
|
+
from nkululeko.utils.util import Util
|
9
11
|
|
10
12
|
|
11
13
|
class GenderPredictor:
|
@@ -1,11 +1,14 @@
|
|
1
1
|
""""
|
2
2
|
A predictor for MOS - mean opinion score.
|
3
3
|
"""
|
4
|
-
|
4
|
+
|
5
5
|
import ast
|
6
|
+
|
7
|
+
import numpy as np
|
8
|
+
|
6
9
|
import nkululeko.glob_conf as glob_conf
|
7
10
|
from nkululeko.feature_extractor import FeatureExtractor
|
8
|
-
|
11
|
+
from nkululeko.utils.util import Util
|
9
12
|
|
10
13
|
|
11
14
|
class MOSPredictor:
|
@@ -1,11 +1,14 @@
|
|
1
1
|
""""
|
2
2
|
A predictor for PESQ - Perceptual Evaluation of Speech Quality.
|
3
3
|
"""
|
4
|
-
|
4
|
+
|
5
5
|
import ast
|
6
|
+
|
7
|
+
import numpy as np
|
8
|
+
|
6
9
|
import nkululeko.glob_conf as glob_conf
|
7
10
|
from nkululeko.feature_extractor import FeatureExtractor
|
8
|
-
|
11
|
+
from nkululeko.utils.util import Util
|
9
12
|
|
10
13
|
|
11
14
|
class PESQPredictor:
|
@@ -2,11 +2,14 @@
|
|
2
2
|
A predictor for SDR - Signal to Distortion Ratio.
|
3
3
|
as estimated by Scale-Invariant Signal-to-Distortion Ratio (SI-SDR)
|
4
4
|
"""
|
5
|
-
|
5
|
+
|
6
6
|
import ast
|
7
|
+
|
8
|
+
import numpy as np
|
9
|
+
|
7
10
|
import nkululeko.glob_conf as glob_conf
|
8
11
|
from nkululeko.feature_extractor import FeatureExtractor
|
9
|
-
|
12
|
+
from nkululeko.utils.util import Util
|
10
13
|
|
11
14
|
|
12
15
|
class SDRPredictor:
|
@@ -1,11 +1,14 @@
|
|
1
1
|
""""
|
2
2
|
A predictor for SNR - signal-to-noise ratio.
|
3
3
|
"""
|
4
|
-
|
4
|
+
|
5
5
|
import ast
|
6
|
+
|
7
|
+
import numpy as np
|
8
|
+
|
6
9
|
import nkululeko.glob_conf as glob_conf
|
7
10
|
from nkululeko.feature_extractor import FeatureExtractor
|
8
|
-
|
11
|
+
from nkululeko.utils.util import Util
|
9
12
|
|
10
13
|
|
11
14
|
class SNRPredictor:
|
@@ -1,11 +1,14 @@
|
|
1
1
|
""""
|
2
2
|
A predictor for STOI - Short-Time Objective Intelligibility (STOI)
|
3
3
|
"""
|
4
|
-
|
4
|
+
|
5
5
|
import ast
|
6
|
+
|
7
|
+
import numpy as np
|
8
|
+
|
6
9
|
import nkululeko.glob_conf as glob_conf
|
7
10
|
from nkululeko.feature_extractor import FeatureExtractor
|
8
|
-
|
11
|
+
from nkululeko.utils.util import Util
|
9
12
|
|
10
13
|
|
11
14
|
class STOIPredictor:
|