A “Kirn”el of Sound
Way Back When...
A cohesive story on the history of sound in games and procedural audio provided insight into past and current examples. Interesting examples of pre-computer uses for dynamic compositions used in wayang puppet theatre. This approach uses percussionists that perform in relation to the story being told. In contrast to linear compositions, the musical score is adaptively tailored to the characters actions and narrative events. Sound familiar?
Majority of game audio is adaptive, dynamic and interactive. Nonlinearity in games requires audio systems to provide cohesive sound that supports detailed narrative decision trees and player interactions.
Early game audio was all integrated into the hardware so as the game played so did the audio. An example of this is Famitracker, used for producing music for the NES/Famicom-systems.
Further down the line developments were made to deal with the increasing nonlinear aspects in game designs. The XMF (eXtensible Music Format) file format developed by MMA (MIDI Manufacturers Association) was a result of this. This enabled interactive music to be implemented into games through the Soundtrack Manager from IASIG (Interactive Audio Special Interest Group). Lucasarts used these tools and processes but began to phase it out when the popularity of CD-ROM increased significantly among game developers.
Other attempts have been made to design systems that support the concept of indeterminacy. Brian Eno and Peter Chilvers created a generative music system called Bloom.
Following this, Eno teamed up with William Wright to develop generative based game Spore. An attempt was made to hack Pure Data disabling the GUI to allow patches to run within the game.
This guest lecture presented interesting and thought provoking opinions on uses for Pure Data and its position in the industry. Although its open source and easily portable this can be a negative thing raising issues of version control and constant maintenance to avoid deprecation.
Interesting points were raised in relation to licensing acts and regulations on open source projects. Something to consider if commercial market is the end goal for this bespoke middleware project.
PD EVERYWHERE - Article on Pure Data uses.
PdPod - Video demonstrating a Pure Data patch being ported to iPod.
Dimensions - Video of app by RJDJ.
Pugs Love Beats - Article on app.
Bloom app - Video demonstrating the app in use.
GPL license - Information on open source developed projects.
Diggin’ in the carts - documentary about wavetable synthesis in video games.
Previously stated things to look into:
Integration of a sampler into the patch was explored and tested. Results showed multiple objects not supported by the Heavy compiler. For now the idea has been put on hold until further investigation can be done. Options include switching to another integration workflow such as Kalimba or Libpd or finding and replacing the objects in order to make the patch compatible with the Heavy compiler. A final option would be to try and build a sampler from scratch using only Vanilla objects.
Integration of audio effects chains on patch elements. Brief attempts were made with little success. Integration of a basic reverb worked but exposing the paramters to control dry/wet mix caused issues. Further investigation within a separate patch to understand the configuration will provide transferable techniques.
Setup presets section. Concept is simple enough and easily achievable. Simply creating a set of parameter values in number object that can then be sent to the relevant parameters controlling various characteristics of sounds. This could be trailed with the already exposed parameters to see how it operates.