Getting Started with C++ Audio Programming for Game Development

Getting Started with C++ Audio Programming for Game Development
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Add audio to your game using FMOD and wrap it in your own code
  • Understand the core concepts of audio programming and work with audio at different levels of abstraction
  • Work with a technology that is widely considered to be the industry standard in audio middleware

Book Details

Language : English
Paperback : 116 pages [ 235mm x 191mm ]
Release Date : August 2013
ISBN : 1849699097
ISBN 13 : 9781849699099
Author(s) : David Gouveia
Topics and Technologies : All Books, Game Development

Table of Contents

Chapter 1: Audio Concepts
Chapter 2: Audio Playback
Chapter 3: Audio Control
Chapter 4: 3D Audio
Chapter 5: Intelligent Audio
Chapter 6: Low-level Audio
    • Chapter 2: Audio Playback
      • Understanding FMOD
      • Installing FMOD Ex Programmer's API
      • Creating and managing the audio system
      • Loading and streaming audio files
      • Playing sounds
      • Checking for errors
      • Project 1 – building a simple audio manager
        • Class definition
        • Initialization and destruction
        • Loading or streaming sounds
        • Playing sounds
        • A note about the code samples
      • Summary
      • 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 definition
          • Initialization and destruction
          • Loading songs and sound effects
          • Playing and stopping sound effects
          • Playing and stopping songs
          • Controlling the master volume of each category
        • Summary
        • 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
          • 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
            • Effects in FMOD
            • Example 1 – time stretching
            • Example 2 – simple radio effect
          • Summary
          • Chapter 5: Intelligent Audio
            • Audio files 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
            • Summary
            • 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
              • Summary

              David Gouveia

              David Gouveia is a Software Engineer and Game Developer from Portugal, Madeira Island. He recently finished his MSc in Computer Science, with a specialization in graphics and multimedia, and is currently working full-time as a game programmer for a local company. He runs an educational blog about game development and enjoys sharing his knowledge with the community whenever possible. His main interests in game development are graphics and audio programming. He also has a strong interest in music and synthesizers, having played the keyboard most of his life.

              Code Downloads

              Download the code and support files for this book.

              Submit Errata

              Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

              Sample chapters

              You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

              Frequently bought together

              Getting Started with C++ Audio Programming for Game Development +    Implementing Splunk: Big Data Reporting and Development for Operational Intelligence =
              50% Off
              the second eBook
              Price for both: $37.50

              Buy both these recommended eBooks together and get 50% off the cheapest eBook.

              What you will learn from this book

              • Design complex generative /interactive sounds
              • Simulate an environment with 3D audio and effects
              • Load and play audio files in several formats
              • Control audio playback and many sound parameters
              • Adapt an audio API to fit the needs of a game

              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.

              Code Download and Errata
              Packt Anytime, Anywhere
              Register Books
              Print Upgrades
              eBook Downloads
              Video Support
              Contact Us
              Awards Voting Nominations Previous Winners
              Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
              Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software