R&D Software internships

Job description

The Software team is in charge of developing and maintaining instruments and fx plugins, making them compliant with multiples protocol (midi, vst2, aax, au) and differents os platform (mac, windows)

You'll find below all 4 internships opened within the team.


Design and build a modern C++ package manager

6-month internship


Each year, Arturia is releasing multiple new software instruments, effects and tools. Each product is based on core libraries written in C++, mostly for the audio and GUI parts.

Now we maintain about 50 softwares. Building them for both Windows and Mac takes a lot of time and computation, and the need to optimise the build process becomes urgent. First for the development process,. Then for our automatic integrated system that builds every night all our instruments, and thus many times the same libraries. This optimisation would allow us to gain a lot of time and also improve our energy footprint.
For these reasons, we would like to design and integrate a library manager tool with the following features:

  • it should store our prebuilt libraries, ready to be used in different build configuration (Release, Debug), for different platforms (Win, Mac, Linux)
  • we use git as version controlled system, thus it should be able to store several versions of the lib depending on the branch
  • automatic rebuild of the library when its code has been changed


In the first part of the internship, you will acquire information on existing technologies used for C++ library management, like the recent Conan project developed by Jfrog.
Then you will dive in our SDK, understand and evaluate our current build system and finally propose a technical solution that meets the specification.


Profile - What we expect:

In order to understand the current system and provide the best technical solution to build the next one you will need:

  • Good knowledge of the Python programming language
  • Experience with Git
  • Good knowledge of Windows, Mac and Linux


Update software instrument to new DSP framework

6-month internship


Some of the Arturia’s software instruments has been released many years ago. Since then the Arturia DSP framework has evolved a lot. Unfortunately the instrument itself has not been updated with all these modifications. The purpose of the internship is to completely rewrite the DSP engine of the Instrument using the new framework.

Some of the DSP algorithms will have to be moved to match the new API.

The goals for Arturia are:

  • Validate the new DSP framework in the context of an existing instrument
  • Improve CPU performance of the existing instrument
  • Ease the maintenance of the Instrument
  • Eventually, add some new audio features to the instrument

Profile:

  • A good knowledge of C++ or Object Oriented Programming is required
  • Some experience with DSP is a plus



Making our VST product more accessible

6-month internship


Arturia’s software is famous for its amazing sound design that reproduce the sound used in famous songs. But programming this sound can take a lot of time and needs adjustment and refinement to make it the most pleasant to listen.

To this day, Arturia has already worked on the ergonomics and has made products easy to use for beginners. The idea is to take this workflow a step further, and to make our software instrument accessible, for example by adapting the software behaviour for people who have difficulty typing or seeing the screen.


The goals for Arturia are:

  • Analyze how accessibility works on others products.
  • Analyze accessibility tools and framework on Windows and Mac
  • Define the specification of an adapted workflow
  • Implement accessibility support on our sdk

Profile - What we expect:

  • Good knowledge of C++
  • Good understanding of Object Oriented Programming, versioning systems, Xcode or Visual
  • An experience with Python and Juce would be appreciated.


Improvement of an existing GUI Interface Builder
4-month internship


Arturia’s software is famous for its lovely realistic graphical interfaces that reproduce the look and feel of the original synthesizers that they are emulating. But programming graphical user interfaces can take a lot of time, and needs a lot of prototyping before getting to the most user friendly, and elegant design. Hence the need to speed up the process of creating quick prototypes of the interfaces we want to provide the users with.

To this day, Arturia has already implemented tools to facilitate the developer’s work immensely, providing a whole library of widgets to use without having to code them, and therefore to build graphical interfaces rather quickly from nothing. Currently, we have an incomplete GUI Editor that has the main required features needed. The idea is to take this workflow a step further, to graphically be able to edit any of our software’s interfaces in a non-destructive way. The point of the internship is to analyze the existing product, understand the key points to target to make this product usable by our software team, and in a third time, explore the things you can do on such a product.

The goals for Arturia are:

  •  Evaluating common practices in terms of graphical user interface builders
  • Analysing an existing product and the needs for quick prototyping with a graphical user interface builder
  • Understand the key points to target to make this product usable by our teams
  • Creating a whole GUI without having to write a single line of code

Profile - What we expect:

  • Good knowledge of C++
  • Good understanding of Object Oriented Programming, versioning systems, Xcode or Visual 
  • An experience with graphical design software (Adobe Illustrator, Inkscape, Corel Draw, etc) would be appreciated


Job requirements

Location : Montbonnot-Saint-Martin, France.

Please note that only applications from students registered in EU universities/schools will be considered, and that no remote work is foreseen.


If you are willing to join passionate teams and a growing international company in the music industry, send us your resume and cover letter, specifying the internship for which you apply.