Ohjelmallinen audion generointi
Matilainen, Cecilia (2015)
Matilainen, Cecilia
2015
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021061415920
https://urn.fi/URN:NBN:fi:amk-2021061415920
Tiivistelmä
Tässä opinnäytetyössä esitellään vaihtoehtoinen tapa tuottaa pelin audiosisältö eli äänisynteesin käyttäminen äänitiedostojen sijasta. Äänisynteesi on analogisessa muodossaan ollut ainoa tapa tuottaa peliaudiota menneinä vuosikymmeninä. Kun muistia oli erittäin vähän, sisälsivät kotikonsolit ja kolikkopelit rautatasolla äänipiirin, joka huolehti äänisynteesistä ohjelmakoodissa annettujen komentojen mukaisesti. Nykyään kovalevytilan ja keskusmuistin suuri määrä mahdollistavat esiäänitettyjen äänitiedostojen käyttämisen peleissä.
Toisaalta, digitaalisten äänitiedostojen koko on edelleen suuri. Prosessorit taas ovat kehittyneet niin tehokkaiksi, että reaaliaikaisen digitaalisen äänisynteesin mahdollisuudet ovat suuremmat kuin koskaan aikaisemmin. Äänisynteesillä pystytään, toteutuksen laadusta riippuen, jopa korvaamaan äänitiedostojen käyttö. Tämän uuden mahdollisuuden haluaa opinnäytetyö nostaa tietoisuuteen. Tutkielmaa voi ehkä pitää jopa haasteena tai provokaationa uuden (vai pitäisikö sanoa unohdetun) taidelajin harjoittamiseen: kuinka hyvä musiikkikappale tai mehukas ääniefekti voidaan aikaansaada pelkästään ohjelmakoodia käyttäen?
Tutkielman aihe syntyi sitä kautta, että siinä yhdistyy ohjelmointi, retropelien estetiikka, elektroninen musiikki ja matematiikka. Aihepiireinä tutkielman teoriaosiossa ovat äänioppi, ääniaallot, digitaaliset signaalit, aaltomuotojen matemaattinen tarkastelu Fourier-analyysiä käyttäen sekä äänisynteesi peleissä. Teoriatiedon lisäksi tutkielma sisältää C++ -kielellä toteutetun ohjelmointiesimerkin, joka on ladattavissa internetistä ja jota voi vapaasti jatkokehittää omiin tarkoituksiinsa. Jatkokehittämisessä voi hyödyntää tutkielman esittämää tietoa. This thesis introduces an alternative way to produce game audio. That is, synthesizing the sound instead of playing audio files. In the early decades of gaming, analog sound synthesis was the only way to implement game sound. When the amount of memory was highly limited, home consoles and arcade cabinets contained a built-in audio circuit that executed the audio synthesis according to the commands in the code. These days, the great amount of hard disk space and RAM memory make it possible to use pre-recorded audio files in games, which seemingly has made sound synthesis unnecessary.
On the other hand, the size of digital audio files is still considered big, but the processor speed has evolved into such a degree, that the potential of digital sound synthesis is bigger than ever. Synthesized sound could sometimes even replace the usage of audio files. This thesis pursues to bring this possibility into awareness. It can even be considered as a challenge or provocation to practice this new (or forgotten) kind of art: how to produce the coolest music track or the juiciest sound effect with just a piece of code?
The goal for this thesis was to combine four interesting things: programming, retro game aesthetics, electronic music and mathematics. The theory part of this thesis includes the following topics: acoustics, sound waves, digital signals, Fourier analysis of waveforms and utilizing audio synthesis in games. This thesis is not limited to theory, but also contains a synthesizer program as a programming example. Anyone can download the programming example from the internet and freely develop it for their own purposes.
Toisaalta, digitaalisten äänitiedostojen koko on edelleen suuri. Prosessorit taas ovat kehittyneet niin tehokkaiksi, että reaaliaikaisen digitaalisen äänisynteesin mahdollisuudet ovat suuremmat kuin koskaan aikaisemmin. Äänisynteesillä pystytään, toteutuksen laadusta riippuen, jopa korvaamaan äänitiedostojen käyttö. Tämän uuden mahdollisuuden haluaa opinnäytetyö nostaa tietoisuuteen. Tutkielmaa voi ehkä pitää jopa haasteena tai provokaationa uuden (vai pitäisikö sanoa unohdetun) taidelajin harjoittamiseen: kuinka hyvä musiikkikappale tai mehukas ääniefekti voidaan aikaansaada pelkästään ohjelmakoodia käyttäen?
Tutkielman aihe syntyi sitä kautta, että siinä yhdistyy ohjelmointi, retropelien estetiikka, elektroninen musiikki ja matematiikka. Aihepiireinä tutkielman teoriaosiossa ovat äänioppi, ääniaallot, digitaaliset signaalit, aaltomuotojen matemaattinen tarkastelu Fourier-analyysiä käyttäen sekä äänisynteesi peleissä. Teoriatiedon lisäksi tutkielma sisältää C++ -kielellä toteutetun ohjelmointiesimerkin, joka on ladattavissa internetistä ja jota voi vapaasti jatkokehittää omiin tarkoituksiinsa. Jatkokehittämisessä voi hyödyntää tutkielman esittämää tietoa.
On the other hand, the size of digital audio files is still considered big, but the processor speed has evolved into such a degree, that the potential of digital sound synthesis is bigger than ever. Synthesized sound could sometimes even replace the usage of audio files. This thesis pursues to bring this possibility into awareness. It can even be considered as a challenge or provocation to practice this new (or forgotten) kind of art: how to produce the coolest music track or the juiciest sound effect with just a piece of code?
The goal for this thesis was to combine four interesting things: programming, retro game aesthetics, electronic music and mathematics. The theory part of this thesis includes the following topics: acoustics, sound waves, digital signals, Fourier analysis of waveforms and utilizing audio synthesis in games. This thesis is not limited to theory, but also contains a synthesizer program as a programming example. Anyone can download the programming example from the internet and freely develop it for their own purposes.