Propostas Submetidas

DEI - FCTUC
Gerado a 2024-04-23 10:59:50 (Europe/Lisbon).
Voltar

Titulo Estágio

GPU processing of 3D audio

Áreas de especialidade

Engenharia de Software

Local do Estágio

Leiria

Enquadramento

Sound Particles is an audio software company that uses computer graphics techniques applied to sound. Our software is used in top videogame companies (Blizzard, Epic Games, PlayStation) and in all major Hollywood studios, being used in productions such as "Game of Thrones", "Frozen 2", "StarWars 9".

Imagine Maya or Blender, but for audio... An endless void 3D space, where you position and animate sound sources (instead of 3D objects), which are captured bu virtual microphones (instead of virtual cameras) that move through the scene. The same way that a CGI software renders the images of a virtual scene, Sound Particles does exactly the same but with sound. On top of that, Sound Particles uses the concepts of particles systems, allowing users to generate thousands of sound sources around you.

For instance, imagine that you want to create the sound of an epic battle. Using the traditional approach, you would use an audio editing software, and start adding sounds: an explosion here, another explosion there, a machine-gun somewhere, etc... and after 1 day of work, you would have 50 sounds playing at the same time.
With Sound Particles, you can say that you want 10.000 sound sources, spread over a square with 1 km length, import 200 war-related sounds effects, add some random movements, add some random audio effects, and place a 5.1 microphone moving in the middle of the battle, everything under 15 minutes.

More info at www.soundparticles.com

Objetivo

Currently, the audio render pipeline of Sound Particles software uses the CPU as the main source of processing. The goal of this internship is to migrate the processing into the GPU, releasing the CPU for other tasks, and increasing the scalability of the software.

The 3D audio render engine, that you will migrate from CPU to GPU, is responsible for several tasks:
- What is the position of sound source Sn at time t1 (start zone type, animation, particle systems, movement modifiers, etc.)?
- What is the position/direction of the microphone Mx at time t1? (keyframe animation, settings, etc.)
- Which audio is coming out of Sx into Mx? How long does it take to reach the microphone? How does that affect the captured audio?
- Considering the position/direction of the microphone regarding the sound source, how will that affect each one of its channels (left, right, HRTF's, etc.)
Etc.

In terms of technology, the work may be done with Metal (Apple), Vulkan, or both.

Plano de Trabalhos - Semestre 1

1. Understanding Sound Particles (knowing the software, what it does, its internal structure, the building pipeline, etc.)

2. Understanding the GPU architecture, their development process and their tools.

3. Design and implement a Sound Particles GPU integration architecture.

4. Start migrating audio rendering code from CPU to GPU.

5. Write the mid-project report

Plano de Trabalhos - Semestre 2

5. Full migration of the audio rendering code into GPU.

6. Performance measurement and optimization.

7. Documentation and final report

Condições

1. Monthly salary of 1.200 € + ~100€ ("subsidio de alimentação"), considering a 40 hours/week schedule
2. iMac 27" computer or Windows equivalent, plus a second 27" display
3. Training sessions, several times per week
4. Any books you wish to order

More info at www.soundparticles.com/carrers

You will be working with a team of 12 developers and 2 testers, including 3 PhDs, 2 book authors, 7 former university professors, with deep knowledge in topics such as audio, AI, software engineering, programming, videogames, video, etc., in a development team that is overseen by one of the best software developers in Portugal.

Observações

Do you want to create software for Hollywood?

Orientador

Nuno Miguel da Costa Santos Fonseca
nuno.fonseca@soundparticles.com 📩