Facebook Engineering Icon

Facebook Engineering

Insights from the Facebook engineering blog.
code.fb.com • 3 Stories
All Sources

Facebook Engineering Icon Facebook Engineering

Using AI for music source separation

What exactly is ‘music source separation’?

If you have ever stumbled across those online videos of Freddie Mercury singing what sounds like an a cappella rendition of “Another One Bites the Dust” or a version of Alanis Morissette’s “You Oughta Know” featuring only Flea’s distinctive slapped bass, then you’re already familiar with the concept of music source separation.

Facebook’s research team has figured out a way to do that “with an uncanny level of accuracy”. The technique is called “Demucs” (a portmanteau from “deep extractor for music sources”) and it’s out-performing other methods (spectogram analysis being the primary) by quite a bit. Code here.

Using AI for music source separation

Facebook Engineering Icon Facebook Engineering

Rome is an experimental JavaScript toolchain

It includes a compiler, linter, formatter, bundler, testing framework and more. It aims to be a comprehensive tool for anything related to the processing of JavaScript source code.

Rome aims to be a replacement for many existing JavaScript tools. We will, however, offer integrations for components in other tools. For example, using the Rome compiler as a plugin for another bundler.

This comes out of Facebook’s React Native team. It’s MIT licensed and was started by Sebastian McKenzie, who also authored Babel and Yarn.

Facebook Engineering Icon Facebook Engineering

Facebook has a tool that learns to fix bugs automatically?!

This week on the Facebook code blog they shared details about a new tool called Getafix that automatically finds fixes for bugs and offers them to engineers to approve. 😎

Modern production codebases are extremely complex and are updated constantly. To create a system that can automatically find fixes for bugs — without help from engineers — we built Getafix to learn from engineers’ previous changes to the codebase. It finds hidden patterns and uses them to identify the most likely remediations for new bugs.

Getafix has been deployed to production at Facebook, where it now contributes to the stability of apps that billions of people use.

The goal of Getafix is to let computers take care of the routine work, albeit under the watchful eye of a human, who must decide when a bug requires a complex, nonroutine remediation.

Whether or not this tool will be open sourced or shared at large remains to be seen. How cool would it be to have something like this deployed to your codebase to find and suggest fixes to your bugs?

Facebook has a tool that learns to fix bugs automatically?!
0:00 / 0:00