Audio innovation in real-time streaming- QC-404

Project type: Research
Desired discipline(s): Engineering - computer / electrical, Engineering
Company: BeatConnect
Project Length: 6 months to 1 year
Preferred start date: 04/15/2021
Language requirement: Flexible
Location(s): Montreal, QC, Canada; Canada; Canada
No. of positions: 2-4
Desired education level: CollegeUndergraduate/BachelorMaster'sPhDPostdoctoral fellow
Open to applicants registered at an institution outside of Canada: No

About the company: 

BeatConnect is a Montreal IT startup that focuses on the development, and commercialization of remote collaboration software for music producers and musicians. While traditional musicians do not need a computer to perform, music producers arrange sounds and tracks to create a song, therefore relying heavily on electronic hardware and software.  The BeatConnect platform uses a single common interface where all users can participate in the creative process, regardless of their operating systems or the tools they use to produce music. In the last 6 months, BeatConnect was showcased at the international music event NAMM Believe in Music, was accepted into two highly competitive accelerator programs (Zu in Montreal and Project Music and Enterntainment in Nashville), and has secured thousands of users all over the world. BeatConnect aims to become a leader within the music tech industry by focusing on delivering inovative and easy to use softwares to new and existing producers and musicians.

Describe the project.: 

We're not short of R&D projects at BeatConnect. We're the first to market in this industry and pretty much everything we has some research aspect to it. Here are the projects that would be available:

1. Synchronous Audio Relay

Develop a VST effect plugin which allows real-time transfer of audio between processes on the same machine. Although the base version has been developed, it seems possible through low-level innovation to have sample-accurate audio synchronization between processes - though this will need to be properly researched and tested in order to determine suitability of implementation.

2. Binary Communication Protocol

Refactor the TCP/IP socket messaging system to introduce mixed mode messages, enabling a much faster transfer of audio between server and clients. Many different approaches are possible so it will be necessary to experiment and measure in order to determine an optimum solution.

3. Integrated VST Store
Research and develop an integrated VST store comprising a number of technical innovations such as: allowing users the possibility of previewing effects without the need of downloading them, developing a new authentication protocol over legacy software, enabling real time synchronization of parameter changes, and more.

4. Virtual QA Environment

Develop a solution for allowing automated tests to be run on a number of black-box closed digital audio workstation hosts (DAWs) so that it would be possible to have a CI/CD pipeline with tests that could be checked against Ableton, FL Studio, etc. without needing to open and run these solutions locally each time.

5. Studio Link

Develop a “Zoom like” link which would open the standalone version of BeatConnect and direct the user to the correct studio with other users.

6. Stream DAW Audio to VideoChat

Research and develop a proof of concept for streaming audio from the DAW via a VST plugin to our video chat service (AWS Chime).

7. VST Wrapper
Research and develop an effective wrapper for loading VST effects in order to allow dynamic loading and unloading of plugins, and catching exceptions in order to prevent host crashes from loaded plugins.

8. Cloud VSTs

Develop an entirely new format of virtual instrument hosted on the cloud and capable of taking midi notes as input and outputting audio in realtime to the plugin (clients).

Required expertise/skills: 

  • Knowledge of cloud solutions
  • Java
  • C++ skills 
  • Strong understanding of modern design patterns and principles
  • Familiar with all aspect of the software development cycle from the design/prototype phase, to building, iterating, testing, code freeze and release processes
  • SQL
  • Experience with distributed source control tools such as git

Nice to haves:

  • Familiar with AWS
  • Familiar with REST API development
  • Familiarity with macos and windows development
  • Previous experience with JUCE and/or other audio frameworks