10
PHYSICS - BASED SOUND SYNTHESIS FOR VIDEO GAME ENVIRONMENTS E RIN B RYSON M ENTORS : E DGAR B ERDAHL & M ARC A UBANEL J ULY 26, 2016 CCT REU

Physics-Based Sound Synthesis for Video Game Environmentsreu.cct.lsu.edu/documents/2016-presentations/Bryson-Presentation.pdf · physics-based sound synthesis for video game environments

Embed Size (px)

Citation preview

PHYSICS-BASED SOUND

SYNTHESIS FOR VIDEO GAME

ENVIRONMENTSERIN BRYSON

MENTORS: EDGAR BERDAHL & MARC AUBANEL

JULY 26, 2016

CCT REU

PROJECT OVERVIEW

• Traditionally, sound effects in video games consist of pre-recorded sounds

• Synth-A-Modeler (SaM) allows users to create physical models that can be compiled

to creating code that generates sound based on changeable physical variables,

such as mass.

• By placing generated C++ code into a native plugin, Unity can utilize the computed

sound data.

• An interface can be made to directly change the values of each physical

component of the model from within Unity.

WHAT IS SYNTH-A-MODELER?• Open-source modular environment for designing physical models

composed of:

• Virtual strings

• Masses

• Ground

• Resonators

• Port

• Various touch links

• Audio Output

• Display

• Models can be used for:

• Synthesizing sound

• Haptic Feedback

• Visual feedback

• Compiled via the Faust (Functional AUdio STream) programming

language into a wide range of targets for musical applications

SYNTH-A-MODELER

TARGETS

FOOTSTEP MODEL USED

FROM SYNTH-A-MODELER TO UNITY

Model

Specification

File

MDL

Faust

DSP

File

Generic

CPP

File

Native

Plugin

SaM

Compiler

Faust

Compiler

G++

Compiler

C#

Script

Game

Object

Animations

AnimatorGame

Object

• Step by step process of converting a physical

model in SaM into a useable C++ code for a

native plugin

• Information is passed back and forth

between the native plugin and C# script

within Unity

• For game objects that rely on Unity’s physics

engine for behavior, game object animations

and an animator is not necessary to utilize

the plugin.

• Unity uses Microsoft .NET Framework for

interoperability between C-Family languages

THE RESULT

GENERAL DISCUSSION

Current Limitations:

• Interface must be manually created within a game object’s C# scripting

component

• Physical Models are currently made outside of Unity• DSP files cannot be directly used within Unity

Goals for the Future

• Automate user interface creation

• Integrate the graphical interface of Synth-A-Modeler into Unity, allowing

users to create models from within

• Get Unity to accept and utilize DSP files

REFERENCES

• Synth-A-Modeler Syntax For Version 1.0,

Berdahl, Edgar, 4 July 2015.

• https://docs.unity3d.com/Manual/

• http://msdn.Microsoft.com/en-US/

QUESTIONS?