Nick Collins

Home [Music] Research {Software} [Teaching] Contact


To accompany the paper:

(2011) [PDF (9 MB)] [sound examples and code] "Sound Cross-synthesis and Morphing Using Dictionary-based Methods". Nick Collins and Bob Sturm. Proceedings of ICMC2011, International Computer Music Conference, Huddersfield

Custom source code in C++ for DBM cross-synthesis by Nick Collins [] (requires libsndfile and Accelerate framework on Mac, or substitute your own FFT lib)

Source code of modifications to the Matching Pursuit Toolkit (MPTK 0.5.6): []

Sound Examples

All combinations of transformation were calculated, just some representative results are presented here. All sparse approximations involve 10000 atoms unless otherwise stated.

Four sources:


Sparse approximation and residuals (10000 atoms):


Cross analysis using just inner products, equation (3):

[changing p weighting in equation (4)]

Cross analysis with same atoms enforced in DBM, equation (7), (same block, frame, index in MPTK):

D via A, 50000 atoms [same50000atomorderDviaA.wav]
C via A, 50000 atoms [same50000atomorderCviaA.wav]

Cross analysis with same block and frame enforced in DBM, equation (9) (free in index but fixed within block and frame):


Probabilistic cross-wipe of atoms:

A to D [soundAD.wav] 10000 atoms
A to D [soundAD50000.wav] 50000 atoms
C to D [soundCD.wav] 50000 atoms

Atom substitution

Stretch atom lengths [soundAgrain100000.wav]
Dynamically changing atom lengths, from short to long [soundAlengthstretch.wav]
Transition of atoms A to C, with selective lengthening of some atoms (50000 atoms in analysis of each sound) [soundAClengthens.wav]