Skip to content

EE/KN: Reusable Audio Augmentation (SpecAugment) Framework for the Training Pipeline - #975

Open
KCP17 wants to merge 7 commits into
mainfrom
EE/KN/audio-augmentation-framework
Open

EE/KN: Reusable Audio Augmentation (SpecAugment) Framework for the Training Pipeline#975
KCP17 wants to merge 7 commits into
mainfrom
EE/KN/audio-augmentation-framework

Conversation

@KCP17

@KCP17 KCP17 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

This pull request contains all the deliverables for my Sprint 1 task: Reusable Audio Augmentation (SpecAugment) Framework for the Training Pipeline. It also consists of the other files from last trimester needed to run the experiments.

What changed

All are added to src/prototypes/engine/augmentation/

  • Added augment.py: an improved SpecAugment (improved from the original one from last trimester)
  • Added config/config.yaml and config/augmentation/*.yaml: augmentation configuration options.
  • Added config/local/cpu.yaml: bundle file to fix environmental gaps.
  • Modified README.md: full usage instructions to run augmentation (modified from the old placeholder file).
  • Added visualise_spec_augment.py and spectrogram_examples/*.png: before-and-after spectrogram examples (PNG files), generated by the associated code file.
  • Added build_experiment_subset.py, run_validation_experiment.py, and experiment_results/{none,original_unfixed,default}/: a three-arm
    validation experiment (no augmentation, original unfixed settings, and fixed
    default settings) confirming augmented training data remains valid.
  • Added main.py, train.py, dataset.py, model/,
    config/{model,teacher_model}/*.yaml
    - existing training pipeline
    SpecAugment plugs into. Not authored or modified this sprint, included because the framework above isn't runnable without them.

Checklist

  • Existing augment.py reviewed and augmentation connects to the training dataloader confirmed - in Review of current SpecAugment implementation and its connection to the training dataloader.pdf uploaded to MS Teams Project - Project Echo/T2 2026/Sprint 1/Engine/Kiernan folder.
  • Improved and reusable SpecAugment implementation (augment.py)
  • Configuration options and usage instructions (config/augmentation/*, README.md)
  • Spectrogram comparison examples (spectrogram_examples/, visualise_spec_augment.py)
  • Spectrogram comparison explanation uploaded to MS Teams folder specified above as Spectrogram Comparison Examples.pdf
  • Initial validation results (experiment_results/, run_validation_experiment.py)
  • The full document of validation experiment uploaded to MS Teams folder specified above as Validation Experiment.pdf
  • Sprint 2 augmentation-comparison plan uploaded to MS Teams folder specified above as Sprint 2 Plan.pdf
  • The full report of my Sprint 1 work uploaded to MS Teams folder specified above as Project_Echo_Sprint1_Augmentation_Framework_Report.pdf

@Mangon3 Mangon3 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SpecAugment work, visualisations, and the three-arm validation experiment are good. One small problem on merging (not your code):

Since this branch was opened, #976 merged into main and it also landed the augmentation/ pipeline, including a different version of augment.py and the shared main.py/train.py/dataset.py. So this PR is currently conflicting.

Could you rebase onto current main and scope this PR down to just your additions:

  • augment.py (see note below)
  • visualise_spec_augment.py, run_validation_experiment.py, build_experiment_subset.py
  • spectrogram_examples/

and also drop the pipeline files already in main (main.py, train.py, dataset.py, model/, config/model|teacher_model/) so the diff is only your work?

Two more things:

  1. augment.py main already has #976's rewrite and yours is different. Please apply your changes on top of the current one or message me to discuss which to keep.
  2. Please drop the committed artifacts: the experiment_results/ tfevents files and train_log.txts (and ideally the large PNGs). A short summary in the README/report is enough.

Not approving yet because of the conflict + overlap. The work is good. Ping me once it's rebased and I'll re-review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants