home/ atoms/ ddsp-self-supervised-pitch-detection

DDSP's inverse synthesis approach detects pitch without pitch labels by reconstructing synthetic audio

The ICML 2020 workshop paper introduced self-supervised pitch detection using DDSP by inverse audio synthesis: a transcribing autoencoder is pretrained on a large synthetic dataset of harmonic notes (10M examples, generated with known f0 by ddsp_generate_synthetic_dataset) so it learns to predict pitch without any real-audio pitch labels. It is then fine-tuned on small real-instrument datasets. Because the synthetic data is created by DDSP’s own differentiable synthesizer, the ground-truth f0 comes for free, side-stepping expensive manual pitch annotation. The reproduction recipe is a three-step pipeline: generate the synthetic dataset, pretrain the model on it, then fine-tune on real recordings.

Examples

Self-supervised pitch training pipeline:

# 1. Generate synthetic dataset
ddsp_generate_synthetic_dataset ...
# 2. Pretrain on synthetic
ddsp_run --gin_file=papers/icml2020/pretrain_model.gin ...
# 3. Fine-tune on real audio
ddsp_run --restore_dir=/pretrained_ckpt --gin_file=papers/icml2020/finetune_model.gin ...

Assessment

Why does pretraining on synthetic data (with known pitch labels) enable pitch detection on real audio without real pitch labels? Why is DDSP’s own differentiable synthesizer a natural source of that labeled synthetic data?

“# Self-supervised Pitch Detection by Inverse Audio Synthesis _ICML SAS Workshop 2020_ ([paper](https://openreview.net/forum?id=RlVTYWhsky7)) Instructions for reproducing the results of the paper.”
corpus · ddsp-differentiable-digital-signal-processing-magenta-code-c · chunk 125