Viola melody in the timbre of an electric guitar
MuseTimbre: Zero-Shot Timbre Transfer by Controlling a Frozen Music Generator
MuseTimbre plays the notes of a source recording in the timbre of an audio reference clip. Two plug-in control modules steer a frozen Stable Audio 3 Medium: a pitch module reads a piano roll through cross-attention, and a timbre module reads a fine-tuned CLAP embedding through adaptive layer norm.
Source and reference come from different instruments and different datasets, and none of the recordings was seen in training. All systems run on the same pairs. Clips are 5-second mono. Each example has one player: switch versions with the buttons below it, and playback continues from the same point.
Zero-shot timbre transfer
The notes come from the source and the timbre from the reference. Audio-reference baselines: CTD, SS-VQ-VAE, TokenSynth-A. Text baselines: TokenSynth-T, MuseControlLite, DDIM-inv, DDPM-inv.
Viola melody in the timbre of a saxophone
Electric guitar melody in the timbre of a piano
Bassoon melody in the timbre of an electric guitar
Electric guitar melody in the timbre of a clarinet
Violin melody in the timbre of a piano
Double bass melody in the timbre of a clarinet
Clarinet melody in the timbre of a flute
Flute melody in the timbre of a violin
Electric guitar melody in the timbre of a double bass
Oboe melody in the timbre of an electric guitar
MIDI input and text control
The pitch module takes a MIDI score in place of a transcription, and the backbone's original text control still works on top of the transferred timbre.
“in a large reverberant concert hall” (text prompt for the last version)
“with heavy rain and distant thunder in the background” (text prompt for the last version)
“in a huge cathedral with a long reverb tail” (text prompt for the last version)
“lo-fi vintage radio recording, warm and distant” (text prompt for the last version)
Paper and code
Paper: arXiv:2609.30548. Code: github.com/barry-mir/muse-timbre. Weights: huggingface.co/barry-mir/muse-timbre.