Skip to content
 
 

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PML Project

Probabilistic machine learning project for lyric/dramatic voice structure prediction.

The aim of this work is to use Bayesian inference to explore this theme:

Given a known voice type and a set of vocalizations from a singer unseen during training, estimate the probability that the singer is lyric or dramatic. Then we study how uncertainty changes as more vocalizations from that singer are observed.

Requirements

  • Python 3.9
  • packages listed in requirements.txt

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Data

The raw workbook used by the project is committed here:

data/raw/Timbre-Nov-21-SciRep-All-Data.xlsx

Processed tables are generated by the pipeline:

data/processed/vocalization_table.csv
data/processed/singer_level_table.csv

We took raw data from https://www.nature.com/articles/s41598-022-22821-w#data-availability

Run

From the repository root:

source .venv/bin/activate
bash scripts/run_pipeline.sh

This runs the complete pipeline and the evaluation with seed 2026.

Pipeline Details

Pipeline details can be found inside the scripts/ folder

Outputs

outputs/tables/final_metrics.csv
outputs/tables/bootstrap_intervals.csv
outputs/tables/mcmc_diagnostics_summary.csv
outputs/tables/uncertainty_by_m.csv
outputs/figures/test_uncertainty_vs_m.png
outputs/models/final_train_model_idata.nc
outputs/models/final_train_model_metadata.json

EDA and baseline outputs are written under:

outputs/tables/
outputs/figures/

Model Scope

  • known voice type: soprano, tenor, baritone, bass
  • target class: lyric vs dramatic
  • main features: PHE, SC
  • model: one hierarchical Bayesian model indexed by voice type
  • covariance: diagonal

Tests

python -m pytest -q -p no:cacheprovider

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages