Audio Machine Learning Engineer

Rave is a media-focused technology company located in Waterloo, Ontario. Rave's two main products are an artificial intelligence DJ capable of autonomously mixing music together and a synchronous media viewing platform on mobile and in VR.

Rave utilizes machine learning to process, analyzing, and artfully combine user-selected music into mixes, or "mashups". Users have created over a million mashups at, such as Thunder vs. Turn Down For What, Wild Thoughts vs. Sua Casa, and Napal Baji vs. Uptown Funk.

Regarding the Rave app, it's available on iOS, Android, Samsung Galaxy Gear VR, and Google Daydream VR. Rave enables users to enjoy content from Netflix, YouTube, Vimeo, Viki, Google Drive, Dropbox, and RaveDJ. Rave syncs playback down to the millisecond, allowing users to create local speaker systems from their phones. When users are distant, they can chat over text and speak on VoIP while they watch videos and listen to music. Rave is a combination of the best elements of a media player and a messenger.

Job Summary

Developing an algorithm that aims to revolutionize the music industry. You will be working as a part of a team, using Python and VCS (Git) to develop and manage the software, and applying machine learning techniques to advance the current technology used by RaveDJ.

Job Description

  • Conducting high and low-level analysis of audio signals taken from music videos, and extracting features (e.g. beats, keys, etc.),

  • Applying conventional and unconventional approaches to take apart songs and recombine them into one, generating a new music video as its output.

  • Incorporating various machine learning techniques (pre-trained classifiers, SVMs, neural nets, LSTM networks, ...)

  • Refactoring previous work and producing well-documented production quality code. The algorithm is fully automated and will be expected to run in near real-time.

Required Skills

  • Python (2.7)

  • Object-oriented programming

  • Experience working in a Linux environment

  • Git

  • Experience working in team environments

  • Willingness to learn

Preferred Skills

  • Background in software engineering/computer science/mathematics

  • Experience with machine learning techniques

  • Musical experience / Knowledge of music theory

  • Previous research and development experience

  • ffmpeg

  • C++


  • Working with Docker containers

  • Experience with Ableton/Audacity/etc.