Fast ML regressors that predict vocal-fold acoustic outputs (fundamental frequency F0, sound pressure level SPL) from three motor inputs: cricothyroid activation a_CT, thyroarytenoid activation a_TA, and subglottal pressure PS. The point: train on a cheap source model (BCM) and transfer-learn to expensive targets (TBCM, Beam-Membrane FEM) to reduce expensive simulations.
# Python 3.13 is what we develop against; 3.10+ should work.
pip install scikit-learn torch tensorflow pandas numpy matplotlib joblib scipy
# TabPFN scripts additionally need the cloud client (free account + token):# pip install tabpfn-client# export TABPFN_TOKEN=<your token> # PowerShell: $env:TABPFN_TOKEN = "<token>"# Set TABPFN_FORCE_LOCAL=1 to use the local `tabpfn` package instead.# --- Original female-BCM transfer (Ben) ---
python "VocalFoldRegression/BCM Model/RandomForest/MaleRF.py"
python "VocalFoldRegression/BCM Model/RandomForest/FemaleRFTransfer.py"# --- BCM → BM transfer (Callum) ---
MPLBACKEND=Agg python Beam_Membrane/BM_TransferRF.py # 6 RF methods (Callum)
MPLBACKEND=Agg python Beam_Membrane/BM_TransferAE.py # 3 autoencoder methods (Callum)
MPLBACKEND=Agg python Beam_Membrane/BM_SmallData.py # 10–500 sample sweep (Callum)# --- Non-transfer alternates (Ben) ---
MPLBACKEND=Agg python Beam_Membrane/BM_GP.py # Gaussian Process baseline
MPLBACKEND=Agg python Beam_Membrane/BM_TabPFN.py # Pretrained tabular foundation model# --- Comparison summary (reads all of the above) ---
MPLBACKEND=Agg python Beam_Membrane/BM_Summary.py # cross-method comparison + figures
MPLBACKEND=Agg python Beam_Membrane/BM_Showcase.py # presentation-quality figures: headline, sim-budget, bootstrap# --- BCM → TBCM transfer (Callum) ---
MPLBACKEND=Agg python TBCM/TBCM_TransferRF.py
MPLBACKEND=Agg python TBCM/TBCM_Autoencoder.py
MPLBACKEND=Agg python TBCM/TBCM_Summary.py
# --- Extended BM outputs (adds ACFL and friends beyond F0/SPL) ---
MPLBACKEND=Agg python Beam_Membrane/BM_Extended_TransferRF.py
MPLBACKEND=Agg python Beam_Membrane/BM_Extended_TabPFN.py
MPLBACKEND=Agg python Beam_Membrane/BM_Extended_Runtime.py
MPLBACKEND=Agg python Beam_Membrane/BM_Extended_Compare.py # reads the three above# --- JASA-target comparison (TabPFN vs TransferRF, multihead vs single) ---
MPLBACKEND=Agg python JASA/JASA_TransferRF.py
MPLBACKEND=Agg python JASA/JASA_TabPFN.py
MPLBACKEND=Agg python JASA/JASA_Compare.py
# --- TBCM motor-control maps (sparse-data replication of JASA Fig. 6) ---
MPLBACKEND=Agg python TBCM/TBCM_MotorMaps.pyScripts resolve all paths relative to their own location, so they can be run from any working directory.
Datasets:
VocalFoldRegression/BCM Model/MaleBCM.csv— ~54k male BCM samplesVocalFoldRegression/BCM Model/FemaleBCM.csv— female BCM (filteredACFL > 30)Beam_Membrane/dataset_BM.csv— ~5,000 BM simulations (generated byGenerate_BM_Dataset.m)TBCM/dataset_TBCM.csv— ~43k TBCM samplesTBCM/dataset_TBCM_enriched.csv— TBCM + waveform features
CSVs are gitignored; rebuild from MATLAB or pull from your local data location.
| Doc | Purpose |
|---|---|
team/TODO.md | Master task list with owner + status. Single source of truth for "what is there to do" |
team/BOARD.md | Kanban view (Backlog / In Progress / Review / Recently Done) |
team/MEETING_NOTES.md | Append-only log of ~1pm syncs |
team/README.md | Folder conventions, owner / status / priority values, cadence |
| Doc | Purpose |
|---|---|
CLAUDE.md | Entry point, conventions, repo map (auto-loaded by Claude) |
docs/ARCHITECTURE.md | System design, regressor matrix, transfer strategies (incl. autoencoder methods) |
docs/MILESTONES.md | Dated history of what's shipped |
docs/ROADMAP.md | Strategic research phases (multi-month) |
docs/GLOSSARY.md | Domain terms, methods, file references |
docs/DECISIONS.md | Append-only judgment log |
PROJECT_GUIDE.md | Callum's hands-on guide for Beam_Membrane/ and TBCM/ (his standalone notes) |
main and feature/fem are aligned. Work continues on feature/fem and is fast-forwarded to main after sync points.
Equal collaborators; per-task ownership tracked in team/TODO.md. Original authorship of code areas:
- Ben Gladney —
VocalFoldRegression/(male/female BCM, RF/NN/PR baselines and transfer) - Callum Camazzola —
Beam_Membrane/,TBCM/(BCM → BM and BCM → TBCM transfer; RF and autoencoder methods)