Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ctralie/LetItBee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LetItBee

A Python Implementation of Driedger's "Let It Bee" Technique for Audio Mosaicing (1), which mashes up sounds from a source file (e.g. buzzing bees) to approximate an audio file (e.g. The Beatles' "Let It Be") to create a result which sounds like the target, but with the timbre of the source (e.g. bees buzzing "Let It Be"). This uses a modified version of NMF which uses the source audio as the W matrix and the target as the V matrix, searching for V ~= WH, but with modifications so that timbral characteristics are preserved. See for more details.

  • (1) Driedger, Jonathan, Thomas Prätzlich, and Meinard Müller. "Let it Bee-Towards NMF-Inspired Audio Mosaicing." ISMIR. 2015.

Dependencies

Running

To see all options, run the script as follows

python Musaicing.py --help

To obtain the buzzing bees (Bees_Buzzing.mp3) and The Beatles (Beatles_LetItBe.mp3) audio file, please visit the supporting web site for the original paper. Below shows an example of how to execute the code with this example, plotting progress

python Musaicing.py --source Bees_Buzzing.mp3 --target Beatles_LetItBe.mp3 --result result.wav --saveplots 1

The audio result is as follows:

Result

Below shows a plot of the iterations and final spectrogram decomposition

NMF Decomposition of Let It Be into Bees Buzzing

Notice that the KL error does not monotonically decrease and starts to go up towards the end, but this is consistent with the choices made in (1) to preserve timbral characteristics of the source.

About

A Python Implementation of Driedger's "Let It Bee" Technique for Audio Mosaicing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages