Fundamentals of Audio and Video Programming for Games (Pro-Developer)
Chapter 1: Getting Started with DirectSound
- Figure 1.1: Standard speaker layout for 5.1 sound.
- Figure 1.2: Standard speaker layout for 6.1 sound.
- Figure 1.3: Standard speaker layout for 7.1 sound.
Chapter 2: Changing the Volume, Panning, and Frequency of Stereo Sound
- Figure 2.1: Main dialog box of the Cacophony tool.
- Figure 2.2: Add or Edit Sound dialog box for 2-D sounds.
Chapter 3: Moving Sounds in 3-D Space
- Figure 3.1: Rumpus 3-D SFX main dialog box.
- Figure 3.2: Doppler effect.
- Figure 3.3: Add or Edit Sound dialog box for 3-D sounds.
- Figure 3.4: Relationship between minimum distance and volume.
- Figure 3.5: Inside and outside sound cones.
- Figure 3.6: Listener in a 3-D world.
Chapter 4: Adding Special Effects and Environmental Reverb to 3-D Sounds
- Figure 4.1: Special Effects group box.
- Figure 4.2: Special effects settings for the Distortion effect.
- Figure 4.3: Environmental Reverb dialog box.
- Figure 4.4: Change Special Effect Settings dialog box for the Chorus effect.
Chapter 5: Understanding Audio Special Effects
- Figure 5.1: Spectrum analysis showing a fundamental tone and its harmonics.
- Figure 5.2: Dynamic range of human hearing compared to 16-bit digital audio.
- Figure 5.3: Block diagram of wet/dry mix functionality.
- Figure 5.4: Block diagram of feedback functionality.
- Figure 5.5: Sine wave before and after clipping.
- Figure 5.6: Three waveform shapes .
- Figure 5.7: Two sine waves in quadrature phase.
- Figure 5.8: Peaking equalization showing three different bandwidths at the same center frequency.
- Figure 5.9: Signal amplitude before and after compression.
Chapter 6: Streaming Sounds into Circular Buffers
- Figure 6.1: Circular Streams dialog box.
- Figure 6.2: Three Streams dialog box.
Chapter 7: Driving Hardware with Property Sets
- Figure 7.1: Examples of occluded and obstructed sound.
- Figure 7.2: Property Values dialog box.
- Figure 7.3: Sewer pipe environment.
Chapter 8: Building an Application with the Concertina Framework
- Figure 8.1: Concertina framework test dialog box.
Chapter 9: Introducing DirectShow and Video Rendering
- Figure 9.1: DirectShow filter graph for AVI file playback.
- Figure 9.2: Filter Graph Manager.
- Figure 9.3: DirectShow GraphEdit utility.
- Figure 9.4: AVI file playback in GraphEdit.
- Figure 9.5: AVI file playback using the VMR-9.
- Figure 9.6: Video-mixing preferences in the VMR-9.
Chapter 10: Taking Video to the Third Dimension
- Figure 10.1: VMR plug-in components .
- Figure 10.2: VMR mixing mode.
- Figure 10.3: VMR pass-through mode.
- Figure 10.4: Two fields of interlaced video.
- Figure 10.5: Bob and weave modes.
Chapter 11: Customizing Compositors
- Figure 11.1: Source and target rectangles in the video 15 puzzle.
- Figure 11.2: Texture and vertex coordinates in the compositor.
- Figure 11.3: Calculating the destination rectangle.
- Figure 11.4: Texture stages in the AlphaBurst compositor.
- Figure 11.5: Dependent read for sepia tone shader.
Chapter 12: MultiMon, ProcAmp, Deinterlacing, and Other Odds and Ends
- Figure 12.1: Multi-VMR application.
- Figure 12.2: DirectShow filter graph for writing AVI files.
Chapter 13: Producing Content with Technical Quality
- Figure 13.1: Steps for using chromakey to layer video.
- Figure 13.2: Frames before and after the video was repositioned and cropped.
- Figure 13.3: Five steps of the production process.
- Figure 13.4: Two examples of camcorders that feature three CCD chips.
- Figure 13.5: Example of a portable DAT recorder.
- Figure 13.6: Example of a small lavalier microphone.
- Figure 13.7: Record dialog box with VU meters that show audio levels.
- Figure 13.8: Components of a video-editing program.
Chapter 14: Optimizing Quality Throughout Production
- Figure 14.1: Microphone showing a cardioid pickup pattern.
- Figure 14.2: Music file opened in a digital audio workstation (DAW).
- Figure 14.3: Low-end shelf EQ added with an equalizer.
- Figure 14.4: EQ settings in a parametric equalizer.
- Figure 14.5: EQ settings in a graphic equalizer.
- Figure 14.6: Waveform of a voice before noise reduction is applied.
- Figure 14.7: Same waveform of a voice after noise reduction is applied.
- Figure 14.8: Sound profile of noise in an audio file.
- Figure 14.9: Waveform showing a static pop.
- Figure 14.10: Same waveform after pop removal was applied.
- Figure 14.11: Waveform zoomed-in to show a transient noise.
- Figure 14.12: Same waveform after the pencil tool was used to remove the noise.
- Figure 14.13: Waveform showing clipped audio.
- Figure 14.14: Same waveform after a restoration process is used.
- Figure 14.15: Original waveform of a voice track.
- Figure 14.16: Same waveform after a portion was replaced with room tone.
- Figure 14.17: Same waveform with a portion muted or silenced.
- Figure 14.18: Sample waveform of a track from a video.
- Figure 14.19: Original waveform showing a pop.
- Figure 14.20: Same waveform after the pop was replaced with room tone.
- Figure 14.21: Typical audio compressor plug-in.
- Figure 14.22: Waveform of the video track in Figure 14.18 after compression is applied.
- Figure 14.23: Video-editor timeline showing the original video track synchronized with the processed track.
- Figure 14.24: Background audio track layered with an edited voice track.
- Figure 14.25: Using a multitrack program to overlap audio segments.
- Figure 14.26: Volume graph added to overlapped audio in a multitrack program.
- Figure 14.27: Color-correction plug-in.
- Figure 14.28: Software video waveform monitor display.
- Figure 14.29: Software video vectorscope display.
Appendix B: Multichannel Audio Tool
- Figure B.1: Multi-channel audio tool.
Color Insert
- Color Plate 1: Cacaphony tool running the DistantCannons file.
- Color Plate 2: Rumpus tool running the CarShop file.
- Color Plate 3: To calculate echo delays use the formula: echo delay (ms) = 6 * distance to cliff in meters. file.
- Color Plate 4: The natural world provides great inspiration for audio occlusion and obstruction effects.
- Color Plate 5: Mixing two video streams in DirectShow with the VMR-9 filter.
- Color Plate 6: 3-D mesh rendered on top of a video cut scene.
- Color Plate 7: Video texture applied to a 3-D scene.
- Color Plate 8: Using custom video mixing to create a 15 puzzle.
- Color Plate 9: Two videos blended with an alpha map.
- Color Plate 10: Gray scale pixel shader.
- Color Plate 11: Sepia tone pixel shader.
- Color Plate 12: "Grue" (green-blue) pixel shader.
- Color Plate 13: Texture bitmaps used in the Pixellator sample.
- Color Plate 14: "Fuzzy dots" pixel shader, using a volumetric texture lookup.
- Color Plate 15: ProcAmp controls for brightness, contrast, hue, and saturation.
- Color Plate 16: Playing multiple videos in a 3-D scene.