David Gouveia - Getting Started with C++ Audio Programming for Game Development


David Gouveia - Getting Started with C++ Audio Programming for Game Development

Getting Started with C++ Audio Programming for Game Development

Год: 2013

Автор: David Gouveia

Издательство: Packt Publishing

ISBN: 978-1-84969-910-5

Язык: Английский

Формат: PDF/EPUB

Качество: Изначально компьютерное (eBook)

Интерактивное оглавление: Да

Количество страниц: 116


In Detail

Audio plays a fundamental role in video games. From music to sound effects or dialogue, it helps to reinforce the experience, convey the mood, and give feedback to the player. Presently, many games have achieved commercial success by incorporating game sounds that have enhanced the user experience. You can achieve this in your games with the help of the FMOD library. This book provides you with a practical guide to implementing the FMOD toolkit in your games.

Getting Started with C++ Audio Programming for Game Developers is a quick and practical introduction to the most important audio programming topics that any game developer is expected to know. Whether you need to play only a few audio files or you intend to design a complex audio simulation, this book will help you get started enhancing your game with audio programs.

Getting Started with C++ Audio Programming for Game Developers covers a broad range of topics – from loading and playing audio files to simulating sounds within a virtual environment and implementing interactive sounds that react to events in the game.

The book starts off with an explanation of the fundamental audio concepts, after which it proceeds to explain how to use the FMOD Ex library, how to implement a 3D audio simulation, how to use the FMOD Designer toolkit, and how best to work with multi-layered sounds with complex behaviors attached to them. The final part of the book deals with working with audio at a much lower level by manipulating audio data directly.

This book will provide you with a good foundation so that you can successfully implement audio into your games and begin pursuing other advanced topics in audio programming with confidence.


This book is a standard tutorial targeted at game developers which aims to help them incorporate audio programming techniques to enhance their gameplay experience.

Who this book is for

This book is perfect for C++ game developers who have no experience with audio programming and who would like a quick introduction to the most important topics required to integrate audio into a game.


Chapter 1: Audio Concepts

Sound waves

Analog and digital audio

Multi-channel audio

Audio fie formats


Chapter 2: Audio Playback

Understanding FMOD

Installing FMOD Ex Programmer's API

Creating and managing the audio system

Loading and streaming audio fies

Playing sounds

Checking for errors

Project 1 – building a simple audio manager

Class defiition

Initialization and destruction

Loading or streaming sounds

Playing sounds

A note about the code samples


Chapter 3: Audio Control

The channel handle

Controlling the playback

Controlling the volume

Controlling the pitch

Controlling the panning

Grouping channels together

Controlling groups of channels

Project 2 – improving the audio manager

Class defiition

Initialization and destruction

Loading songs and sound effects

Playing and stopping sound effects

Playing and stopping songs

Controlling the master volume of each category


Chapter 4: 3D Audio

Positional audio

Positional audio in FMOD

Creating an audio source

Setting the audio source's position and velocity

Setting the audio source's direction

Setting the audio source's range

Setting the audio listener's properties

Integration with a game


Reverb in FMOD

Creating a reverb object

Setting reverb properties

Setting reverb position and radius

Setting the default ambient reverb

Obstruction and occlusion

Obstruction and occlusion in FMOD


Effects in FMOD

Example 1 – time stretching

Example 2 – simple radio effect


Chapter 5: Intelligent Audio

Audio fies versus sound events

Introducing the FMOD Designer

Simple events

Examples of simple events

Avoiding repetitive sound effects

Creating a footsteps sound loop

Creating a breaking glass sound effect

Creating an ambient track of singing birds

Multi-track events

Examples of multi-track events

Creating an interactive footsteps sound loop

Simulating the sound of a car engine

Creating a complex ambient track of a forest

Interactive music

The vertical approach (re-orchestration)

The horizontal approach (re-sequencing)

Calling sound events from the game code


Chapter 6: Low-level Audio

Representing audio data

Playing audio data

Loading a sound

Playing a sound

Pausing a sound

Looping a sound

Changing volume

Changing pitch

Changing panning

Mixing multiple sounds

Implementing a delay effect

Synthesizing a sound