csd-mfccmatch : native concatenative resynthesis for Csound
Overview
csd-mfccmatch presents an experimental native concatenative resynthesis method using the mfb opcode for MFCC analysis. The mfcc_matching.udo file can be used in your own Csound instruments, and also an interactive FLTK based demonstration is provided as mfcc_match_fltk_demo.csd. The remainder of this file currently covers the FLTK example, but the intention is to expand the udo and make that more reusable.
Usage
All sound paths in the gSsounds array are analysed upon initialisation and made available. You may also wish to alter gifftsize and gimfccbands according to the character of your source sounds.
The spin boxes in the top left and top right can be used to cycle through the sounds in gSsounds, and the selected sound will be shown just underneath. The corpus sound will be the sound used to select the 'best match' from and the driver sound will inform that matching. Below the sound selections is a crossfader which permits fading between the original (driver) sound and the matched (corpus) sound, when played with the Play/Stop button.
The read mode spin box allows selection of two modes used to granularly replay the corpus sound: 0 uses an instrument call for each grain and allows control over the envelope and size; 1 uses sndwarp and allows the read position to be stretched/slowed - selecting the relevant type in the read mode spin box will change the UI controls.
The blur checkbox adds pvsblur to the output which can aid smoothing of the playback grains if necessary.
Repitch and match amps are currently experimental and attempt to alter the pitch and rms of the matched corpus sound to that of the driver, though at the moment they produce generally unusual artefacts.