Sei sulla pagina 1di 49

Kandidatarbete i Medieteknik, 30 hp

Vrtermin 2013

I cant believe its not surround sound


En studie i realtidsgenererat binauralt ljud

Magnus Fredrikson
Pontus Svensson

Handledare: Pirjo Elovaara & Sebastian Hastrup


Examinator: Peter Ekdahl
Blekinge Tekniska Hgskola, Sektionen fr planering och
mediedesign

Tack till:
Vi vill hr ge tack till alla de som bidragit till detta projekt, i stor eller liten utstrckning.
Thank you Robert Hamilton for all your help and the graciousness to let us use your software
Tack till Jacob Westberg som var med under impuls-inspelningarna
Tack till alla de som kom p testningen.
Tack till Andreas Rossholm.
Tack till vra handledare Pirjo Elovaara och Sebastian Hastrup

Kontaktuppgifter:
Magnus Fredrikson
krummelur@gmail.com
+46 (0)762176128
Pontus Svensson
polle.svensson@gmail.com
+46 (0)708690243

Abstrakt
Mnga av dagens dator och TV-spelsljud r anpassade fr hgtalaruppspelning, i mnga fall ven
flerkanalssystem som 5.1 surround och liknande. F spel r anpassade fr uppspelning genom
hrlurar och fr att f en bra ljudlokalisering i hrlurar behvs ofta ngon form av
surroundhrlurar. Vi tror att man kan skapa trovrdig (Riktnings)tergivning av ljud i hrlurar
genom bara tv ljudkanaler genom s kallat binauralt ljud. Vi kommer i detta arbete att beskriva
de faktorer som spelar roll i vr stereohrsel, varfr de fungerar samt vilka svagheter som finns i
detta system. Vi kommer att skapa ett system fr att behandla realtidsgenererat binauralt ljud fr
spel och beskriva de verktyg vi valt och den generella arbetsprocessen. Genom att gra detta
hoppas vi visa att man genom snabb fouriertransform och andra signalbehandlingsmetoder kan
skapa en ljudtergivning som lmpar sig till hrlurar och hller en niv fr realism som r hgre
n den traditionella stereotergivningen i hrlurar.

Nyckelord: Binauralt ljud, Ljudmotor, Spelljud, Max/MSP, UDK, Digital ljudproduktion.

Abstract
Many of todays TV and computer games are designed for loudspeaker audio playback, in many
cases even multichannel sound such as 5.1 surround. Few games are designed for playback
through earphones, and to attain good sound localization through headphones. Some kind of
surround headphone is often required. We believe that good audio localization can be attained in
headphones through the use of binaural sound. In this essay we will describe those factors that
matter in to human stereo hearing and how they work. We will create a system for processing
real-time binaural audio for games. We hope that through the use of fast fourier transform and
other audio processing tools create headphone audio that holds a higher standard for sound
localization than traditional stereo audio.

Keywords: Binaural sound, Sound engine, Game sound, Max/MSP, UDK, Digital sound
production.

Innehllsfrteckning
1. Inledning...............................................................................................................1
2. Problemomrde...................................................................................................2
2.1 Bakgrund..............................................................................................................................2
2.2 Syfte.....................................................................................................................................2
2.3 Problemformulering.3
2.4 Tidigare Forskning...............................................................................................................3
2.4.1 Ljudmotor...................................................................................................................3
2.4.2 rats funktioner..........................................................................................................3
2.4.2.1 Tidsskillnad......................................................................................................4
2.4.2.2 Inner och Ytterra (frekvenspverkan)............................................................8
2.4.2.3 Nivskillnad.....................................................................................................9
2.4.3 Binauralt ljud11
2.4.3.1 Binaural syntes...............................................................................................12

3. Tillvgagngsstt...............................................................................................17
3.1 Produktion..........................................................................................................................17
3.1.1 Fungerande kommunikation/verktygsval..................................................................18
3.1.2 Implementering.........................................................................................................18
3.1.3 Optimering/Testning.................................................................................................18
3.1.4 Metoder.....................................................................................................................19
3.1.5 Verktygsval...............................................................................................................21
3.1.6 Arkitektur..................................................................................................................24
3.1.7 Arbetsprocess i Max/MSP........................................................................................25
3.1.8 Mtning fr HRTF....................................................................................................26
3.2 Test.....................................................................................................................................27
3.2.1 Testsyfte....................................................................................................................27
3.2.2 Material.29
3.2.3 Testresultat....30
3.2.4 Sammanstllning...31

4. Resultat och diskussion.31


4.1 Resultat..31
4.1.1 Mjlighet till vidareutveckling.32
4.2 Diskussion..33

5. Ordlista...35
6. Kllfrteckning..36

1.Inledning
De vanligaste stten att idag terge ljud frn spel r med ett stereosystem, en uppsttning med tv
hgtalare dr ljud frn hger och vnster skiljs, eller ett flerkanalssystem dr mnga hgtalare
placeras runt lyssnaren. Ett sdant hr system ger en mer definierad ljudbild n ett stereosystem
eftersom det kan terge ljud frn fler infallsvinklar men det har vissa brister. Fr att ljudet skall
kunna presenteras frn mnga olika vinklar behvs flera hgtalare, exempelvis i den vanliga
konfigurationen 5.1 surround behvs 5 hgtalare; tv frmre, tv fr sidan samt en framfr
lyssnaren i centrum fr att kunna f en surround effekt. Trots att det i detta system finns hgtalare
frn mnga vinklar i det horisontella planet s blir sweetspotten, d.v.s. det omrde dr
hgtalarnas ljud samverkar optimalt, liten (Lee & Lee, 2010, s.835). Fr att kunna terge ljud frn
fler infallsvinklar mste fler hgtalare lggas till, exempelvis finns det system dr ljud ven
kan lokaliseras ovanifrn (11.x surround).

Binauralt ljud r inspelat p ett sdant stt att det skall stadkomma trovrdig tergivning av ljud
frn alla mjliga infallsvinklar med enbart tv ljudkllor, i de flesta fall hrlurar (Rumsey &
McCormick, 2003, s.374). Skillnaden mellan denna tergivning och normalt mixat ljud, d.v.s. ljud
anpassat fr uppspelning med stereohgtalare eller hrlurar, r att den binaurala mixningen skall
utnyttja rats naturliga filtrering och frstrkning av ljuden.
rat r specifikt utformat fr att pverka det inkommande ljudet s att vi skall kunna avgra var
det kommer ifrn. Det faktum att vi har tv ron, placerade p motstende sidor av huvudet
frenklar hrseln i horisontellt plan framfrallt d ljudkllan r placerad rakt ut frn huvudet sett.
Den mnskliga hrseln anvnder ett antal olika metoder fr att lokalisera ljudkllor, dels
volymskillnaden mellan ronen, tidsfrdrjningen mellan ronen, samt den frekvenspverkan som
rat, skallen och resten av kroppen ger ljudet.

2. Problemomrde
2.1 Bakgrund
Anledningen till att vi valt detta mne r att mjligheter som fr ngra r sedan inte fanns har
ppnat sig i och med att datortekniken utvecklats. Dagens snabba processorer klarar av att hantera
ljudberkningar

som

fr

tidigare

generationer

processorer

var

otnkbara.

Binauralt inspelat ljud r ljud inspelat med ett artificiellt huvud och artificiella ron i form av
mikrofoner s att den effekt kroppen har p ljudet terskapas. Vid lyssning i hrlurar skall det det
binauralt inpelade ljudet upplevas precis som om du befann dig vid inspelningen (Rumsey &
McCormick, 2003, s374).
2011 gjordes en underskning p KTH fokuserad p binauralt ljud i spel (Brieger & Gthner, 2011,
s.24-33). Underskningen gick ut p ett speltest i spelet Unreal Tournament 3(Epic Games, 2009)
dr binauralt ljud testades av ett antal frivilliga som sedan bedmde tekniken i olika kategorier,
frn frmga att rikningsbestmma och avstndsbestmma ljud till spelgldje. Reaktionerna p
tekniken var enligt underskningen mycket positiva i riktning och avstndsurskiljning; alla de
tillfrgade svarade att de skulle anvnda tekniken om den fanns som menyval. Vi ser detta som ett
grund fr att tekniken uppskattas av dagens spelare och en anledning att fortstta forska inom
mnet.
Trots att tekniken idag finns att gra spel med ljud som bygger p binaural princip s r det svrt
att hitta spel som produceras med detta i tanke. Av de hr anledningarna tycker vi att just nu r
en bra tidpunkt att utforska mnet.

2.2 Syfte
Syftet med kandidatarbetet r att underska hur man kan generera binauralt ljud i realtid och se
om de det gr att anvnda i en spelproduktion och genom detta bidra till utvecklingen av nya
ljudlggningstekniker.

2.3 Problemformulering
Vrt kandidatarbete kommer att handla om hur denna teknik kan appliceras p digitala spelmiljer.
Vr huvudsakliga problemformulering r:
Hur utvecklar man en ljudmotor som fungerar efter binaural princip?

2.4 Tidigare forskning


I detta kapitel kommer vi g igenom tidigare forskning kring mnsklig hrsel fr att ge en verblick
av hur mnsklig stereohrsel fungerar samt ge definiera begrepp som behver etableras fr att
frst vrt probelmomrde

2.4.1 Ljudmotor
Fr att vi skall kunna diskutera detta mne behvs en gemensam definition av begreppet ljudmotor.
Med ljudmotor menar vi den del av ett frdigt spel som skter signalbehandlingen, d.v.s. den del
av spelmotorn som skter om att spela och manipulera ljud s att de placeras rtt i frhllande till
lyssnaren. Vi utesluter frn begreppet den del av spelet som skter logiken fr hur ljuden skall
spelas, exempelvis den del av spellogiken som berknar spelarens avstnd till ljudet.
Det system som skter om logiken fr ljuden, r frsts nd en viktig del av att ljudet fungerar,
men vi anser att denna logik ser ungefr likadan ut oavsett vilket signalbehandlingsverktyg som
anvnds, medan signalbehandlingen i sig skiljer sig dramatiskt.

2.4.2 rats funktioner


I detta kapitel kommer vi att g igenom hur rat och hjrnan tar in och tolkar ljudsignaler frn
omgivningen ur ett lokaliseringsperspektiv. D vi syftar till att presentera information fr
anvndning i skapandet av digitala ljudmiljer kommer informationen begrnsas till vad som r
relevant fr detta, allts kommer mer invecklade psykoakustiska fenomen 1 samt neurologiska
perspektiv inte tas upp.
1

vetenskapen om mnniskans subjektiva uppfattning av ljud.

2.4.2.1 Tidsskillnad
D ljudets hastighet r relativt lngsam (c:a 340 m/s) kan vi uppfatta en viss tidsskillnad mellan
den tid den inkommande signalen nr vnster och hger ra (se Fig 1) Denna tidsfrskjutning
brukar kallas Interaural Time Difference, vilket hrefter kommer hnvisas till som ITD.

Fig. 1. ITD med hnsyn till en 3 dimensionell form (frfattares illustration)


Mnniskors ron r placerade p varsin sida om huvudet i samma hjdposition, vilket gr att vi
genom ITD har svrt att avgra ett ljuds hjdposition eller snarare vi kan avgra vilken vinkel
ljudet kommer frn relativt huvudet men inte om ljudkllan befinner sig ovanfr eller under
huvudet. Andra djur, exempelvis ugglor har ronen placerade p olika hjd, vilket ger en klar
frdel i ITD-urskiljning jmfrt med mnniskor d mnniskor har samma ITD oavsett om man
skulle invertera ljudkllans avstnd i framt-bakt ledd eller upp-ner ledd i alla kombinationer (se
Cone of Confusion s.7).
ITDn r vldigt liten; normal maximal frdrjning, d.v.s d en signal r positionerad rakt till hger
eller vnster om en persons huvud har uppmtts till drygt 600s (Blauert, 1997, s76). Denna
uppfattning fungerar huvudsakligen p ljud under 1000 Hz d fas-skillnaden fr ljud ver denna
frekvens r svr att urskilja, d.v.s. skillnaden mellan var i signalens period man befinner sig nr
den trffar ronen blir fr svr att urskilja p.g.a. den snabba perioden (hga frekvensen).

Trots detta kan rat hra ljudets ansats och slut och p s stt ven tolka ITD p ljud som ligger
ovanfr 1 kHz om de har en ojmn natur, t.e.x. ljudet frn en EKG maskin.

I ett fritt flt, d.v.s. ett hypotetiskt rum dr inga reflektioner frekommer (Rumsey & Mccormick,
2002, s.22) fungerar denna funktion som bst. Kvaliteten p ITD-lokalisering sjunker d det
omgivande rummet str den inkommande signalen genom att reflektera ljudet, vid reflektionerna
diffrakteras ljudet och rat fr in fler signaler n den ursprungliga (torra) signalen, vilket leder till
frvirring d hjrnan skall tolka dessa. Experiment har dock visat att det trots dessa reflektioner r
mjligt att lokalisera ljud (Wallach, Newman & Rosenweig, 1949, s.315) och att dessa reflektioner
kan till och med hjlpa oss att lokalisera ett ljud.
Hjrnan anvnder ett antal olika tekniker fr att uppfatta ett ljuds position, denna teknik har som
nmnts brister och det finns ven flera scenarier dr den r oduglig.
I de omstndigheter d ljudkllan befinner sig p symmetriplanet(se Fig.2.), d.v.s. d den befinner
sig framfr, bakom, ver eller under personen kommer ljudet att trffa bde hger och vnster
trumhinna vid samma tidpunkt.

Fig. 2. Planindelning av huvudet (frfattares illustration)

Ett liknande fenomen uppstr ven nr en ljudklla befinner sig i det s kallade cone of
confusion(se Fig.3.). Med cone of confusion menas alla punkter som kan ns genom en kon med
toppunkt i ena rat som gr rakt ut, eller in genom huvudet. Fr varje mjlig ljudposition finns
allts ett antal punkter i vilka ITD fr hger repektive vnster ra r identiska, detta r annorlunda
frn punkter p symmetriplanet dr ITD fr bda ronen r densamma.
Konen fr en given ljudklla bildar alltid en lodrt cirkel. I bda ovan nmnda scenarier kan vi
istllet anvnda andra signaler, exempelvis ytterrats effekt p ljudet fr att bttre faststlla en
ljudklla. Ett vanligt stt att frska lokalisera ljud d de befinner sig utanfr vrt synflt eller i
cone of confusion r att vrida p huvudet s att det hamnar framfr oss (Blauert, 1997, s.179),
denna vridning sker mer eller mindre reflexmssigt, vi vill ha ljudet framfr oss eftersom det r d
vr hrsel fungerar som bst.

Fig. 3. Cone of Confusion (frfattares illustration)


Det enklaste sttet att berkna ITD fr en specifik ljudposition r att anta att ljudet passerar genom
huvudet, i detta fall kan man enkelt anta en rtvinklig triangel fr att faststlla en rak linje mellan
ljudklla och ra. En annan modell som anvnds r att berkna den kortaste strcka som ljudet kan
n varje ra utan att passera igenom huvudet (Blauert, 1997, s.76). ven i enkla fall som nr man
antar huvudets form till en sfr blir denna metod ngot mer komplicerad n att berkna en rt linje.
Fr att berkna ITD med hnsyn till en komplexare form som ett mnskligt huvud blir det
uppenbarligen mer komplicerat.
Sanningen r att bda dessa modeller r i verkan, ljud kan passera igenom olika material i mn av
dess frekvens. I regel har lgfrekventa ljud lttare att ta sig igenom fasta material, exempelvis
vggar eller ett mnskligt huvud, medan ljud med hgre frekvens absorberas mer. Detta r dock

en generalisering. Andra faktorer t.ex. fremlets egna resonanta frekvens 2 kan pverka dess
inverkan.

2.4.2.2 Inner och Ytterra


Ytterrat har flera funktioner, huvudsakligen syftar det till att lttare lta oss hra de frekvenser
som ingr i mnskligt tal och frstrker dem med c:a 5db (Everest & Pohlman, 2009, s40).
Utformningen varierar frn individ till individ och r en av de faktorer som r mest individuell vid
ljudlokalisering. Ytterrat agerar p det inkommande ljudet p mnga stt och fungerar som ett
filter som frsvagar och frstrker olika frekvenser. Beroende p vinkeln till ljudkllan varierar
frekvenserna. Varje individs ra har en unik utformning vilket leder till en unik utformad
skuggning och frstrkning av frekvenser.
ven innerrat pverkar ljudet och har en egen frekvenspverkan. Denna frekvenspverkan beror
likvl som ytterrats p det inkommande ljudets vinkel. Man har lnge vetat om dessa effekter
men har inte kunnat mta dessa p.g.a. mikrofonkvalitet samt att det krvs stor berkningskraft fr
att sammanstlla resultaten (Blauert, 1997, s.290).
rat r extremt komplext och ytterrat r bara en liten del av allt som spelar in i hur vi upplever
ljud.

Innerrat pverkar ljudet, bland annat genom hrselgngen, vars utformning till strsta delen r
till fr att frstrka de inkommande ljuden fr att de lttare skall uppfattas. Dess utformning r den
av ett slutet rr, slutet vid den sidan som har frbindelse med trumhinnan. De akustiska
egenskaperna fr ett slutet rr r allts relevanta d man vill ta reda p vilka frekvenser som
kommer att frstrkas som mest i hrselgngen.
Everest och Pohlman (2009, s41) skriver att den normala lngden fr hrselgngen r 2,5 cm, och
att detta resulterar i en maximal frstrkning av 12db vid 3000Hz, vertoner tillkommer till denna
frstrkning.

De flesta objekt har en inneboende resonant frekvens, om ett objekt blir utsatt fr denna frekvens kommer det i
medvibration.

Eftersom denna effekt kvarstr ven i lyssning i hrlurar r det verfldigt att terskapa den vid
lyssning. Det r dock inte helt otnkbart d denna effekt ocks beror p ljudets riktning, problem
uppstr dock d effekten skulle bli dubbel eftersom ljudet alltid kommer att vara placerat rakt utt
frn vardera ra. En lsning p detta skulle kunna vara att vga upp fr den verkliga effekt som
uppstr i verfrandet av ljud frn hrlur till trumhinna genom att anvnda filter som motverkar
den.
En bieffekt av den roll ytterrat spelar fr vr ljuduppfattning r den att vi ltt kan misstolka ljud
d de har en klangfrg som innefattar naturliga eller syntetiskt framstllda bandsprrfilter, d.v.s.
ett filter som sprrar ett specifikt frekvensband. Vr hjrna r byggd fr att tolka sdana
klangfrgsegenskaper som ett signalement fr var ljudet befinner sig snarare n en naturlig
egenskap hos ljudet och vi har ett specifikt omrde i hjrnan som reagerar p dessa ljud (Davis.
2005, s294). Ett enkelt experiment som illustrerar det hr gr ut p att en person fr lyssna p vitt
brus3 i ena rat med endast en hrlur och sedan ftt anpassa ett bandsprrfilter visar att en snka
vid 7.2kHz gett en subjektiv uppfattning att ljudkllan befann sig i ronhjd. Experimentet visar
att en snka vid 8kHz dremot ger intrycket att ljudkllan flyttat sig hgre n ronhjd, medan en
filtersnka vid 6.3kHz ger intrycket att ljudet befinner sig lgre n gonhjd (Everest & Pohlman,
2009, s.41).

2.4.2.3 Nivskillnad
Ett ljuds nivskillnad mellan hger och vnster ra, ven kallad Interaural Level Difference (ILD)
ger oss mjlighet att urskilja ett ljuds riktning. Denna nivskillnad kan dock inte ge direkt
information om vilket avstnd kllan ligger. Precis som vid ITD, r det en relativ skillnad mellan
de tv ronen. Relationen mellan niverna i ronen sger allts ingenting om avstndet till kllan.
Relationen mellan det inkommande ljudet och den frsta reflektionen sger dremot mycket om
ljudets avstnd, ju hgre andel reflektion desto lngre avstnd till kllan, exempelvis, en viskning
p nra avstnd ger ett i stort sett helt torrt ljud. (Rumsey & McCormick, 2002, s35).

En ljudsignal som innehller alla mjliga frekvenser och har en likvrdig energi fr alla frekvensband.

ILD kan illustreras genom ett hypotetiskt frsk med tv punkter representerande ron och en
punkt representerande ljudklla i ett fritt flt. Ljudtrycket frn en oriktad4 ljudklla frdas utt i en
sfrisk form. Trycket i en given punkt p sfrens yta kommer drfr att frsvagas enligt:
I = W/4r^2

Dr r r avstndet till ljudkllan.


rat jmfr drfr de inkommande signalerna och hrleder positionen genom skillnaden. Enligt
Blauert r det svrare att avgra en persons position d talaren inte r tidigare knd av lyssnaren
(9 felmarginal fr knd talare respektive 17 fr oknd talare i horisontellt plan)(Blauert, 1997,
s.44).
Det br dock noteras att de tv underskningar Blauert baserar detta pstende p har olika
frhllanden, den ena r utfrd med en talarvolym p 35 phon6 medan den andra anvnder 65
phon. Det noteras ven att vitt brus har lgre felmarginal n bda dessa (4 vid 60 phon). Detta
kan bero p att vitt brus skiljer sig frn en mnniskas rst i och med att dess bandbredd r strre,
vilket skulle kunna vara anledningen till att den r mer lttlokaliserad; vitt brus skall ha en likvrdig
energi fr alla frekvenser och hypotetiskt strcker sig till alla mjliga frekvenser vilket innebr att
det trffar alla mnskligt hrbara frekvenser.
Blauert nmner ven att det r lttare att lokalisera ett ljud med smal bandbredd d signalens
frekvens r hgre n 5 kHz (Blauert, 1997, s.311).
I de fall personen har en tidigare referens till ljudet som upplevs borde ven ljudets avstnd kunna
identifieras.

De medel vi har beskrivit som hjrnan kan anvnda fr att avgra ljudets position r allts den
inkommande signalens tidsskillnad, dess nivskillnad mellan ronen samt det stt som ytter och
innerrat pverkar ljudet. De olika metoderna skiljer sig vilt i deras komplexitet samt hur enkelt
de kan verfras till digital form. Digitalisering av ITD samt ljudnivjustering r tmligen simpla

Ljudklla som ger lika ljudtryck i alla riktningar.


I = Intensitet vid given punkt, W = Effekten vid ljudkllan
6
skala fr ljudintensitet baserad p mnsklig ljuduppfattning
5

10

berkningar fr en dator medan ytterrats effekt inte r genomfrbart utan ngon typ av
frekvensfiltrering, ngot som har tmligen hg berkningskostnad7 att utfra.

2.4.3 Binauralt ljud


Detta kapitel kommer att behandla binauralt ljud och kommer att g igenom olika tekniker fr
inspelning av det. Kapitlet kommer ven att frklara skillnaden mellan binauralt inspelat ljud och
syntetiserat binauralt ljud samt hur de hr teknikerna lmpar sig fr interaktivt anvndande.

Med binauralt ljud menas ljud som spelas upp p ett sdant stt att det terskapar de akustiska
frhllande som rat och resten av kroppen utgr. Binauralt ljud kan uppns genom inspelning av
ljud genom en simulerad lyssnare som pverkar ljudet som en mnniska skulle ha gjort. Vanligtvis
sker det hr genom en speciell mikrofonuppsttning inbyggd i en modell av ett mnskligt huvud
eller en mnsklig kropp, de hr modellerna brukar kallas fr dummyheads. (Rumsey &
McCormick, 2003, s374). Man kan ven uppn detta genom speciella mikrofoner som kan placeras
i en mnniskas ytterra, exempelvis Soundman OMK II.

ven innerrsmirofoner (Probe

microphones) har anvnts (Blauert, 1997, s.32), de hr mikrofonerna r annorlunda i och med att
de nr nnu lngre in i hrselgngen n mikrofoner av OMK II typen och drfr kan mta trycket
inne i hrselgngen.
Denna mikrofonpositionering terskapar rats influens p det inkommande ljudet, vilket
underlttar lyssnarens frmga att lokalisera ljudets ursprungsposition.

Det finns olika typer av dummyheads, de som har mikrofoner vid ronppningen och de som
har mikrofoner lngre in i huvudet.
De sistnmnda r utformade mestadels fr ljudmtningar och inte fr produktionssammanhang
(innehller ven ibland simulering av rats inre delar) medan de andra r designade fr inspelning.
Bda de hr modellerna kan anvndas i produktionssammanhang men vilken modell som br
vljas beror p den typ av lyssning man avser. Fr lyssning med utanpsittande hrlurar, d.v.s.

En berkningsinstensiv process fr en dator.

11

ronkpor med sm hgtalare i br man inte anvnda dummyheads med simulering av rats inre
delar d detta leder till en dubblering av innerrats effekt p ljudet. De hr inspelningarna kan dock
vara bra om man lyssnar med innerrslurar d.v.s. sm hrlurar som sticks in i ronen, d ljudkllan
kommer lngre in i rat. Detta innebr att filtreringen sker under inspelningen i stllet fr i rat
vid lyssning.

Lyssnar man med utanpsittande hrlurar s r det en inspelning gjord med ett dummyhead med
mikrofoner vid ronppningen bst lmpat, eftersom innerrat sjlv pverkar ljudet(Rumsey &
McCormick, 2003, s.375).

2.4.3.1 Binaural Syntes


Binauralt inspelat ljud r allts fast och drfr inget som r optimalt fr spel i frstapersonsvy
eftersom ljudets riktning behver ndras vldigt ofta helt beroende p hur spelaren rr sig.
Fr att komma runt detta men nd uppn en binaural effekt kan man anvnda sig av ngot som
heter Head Related Transfer Function, som r en syntetisk avbild av en persons individuella
ronsignatur. Denna funktion kommer hrefter hnvisas till som HRTF.
En personlig HRTF skapas genom att spela in mnga impulssvar frn olika infallsvinklar med
mikrofoner placerade i personens ron som sedan faltas med originalsignalen. Faltning (se bilaga
1.) innebr att man tar in signalerna i frekvensdomn fr att multiplicera dem. Fr att kunna
terskapa en persons HRTF behver man mtningar som visar hur ljudet av en impuls frndras
beroende p hur ljudkllan r placerad gentemot hraren. Liknande mtningar kan gras med ett
ett dummyhead eller ibland ven med en artificiell kropp. Ett dummyhead har som tidigare
nmnt frdelen att mikrofonerna kan byggas in i modellen och ven simulera innerrat och torsons
effekt p ljudet.

Vad man r ute efter nr man gr mtningar av detta slag r kroppens effekt p ljudet vid olika
vinklar.
Mtningarna sammanstlls fr att man skall f fram ett register dr vinklarna representeras.

12

Det finns olika stt att praktiskt genomfra mtningarna, tv praktiska metoder r att antingen
anvnda en rigg med hgtalare som kan roteras medan en testperson eller ett dummyhead sitter
statiskt i centrum, den andra metoden r att rotera en hrare i rummet.
Fr att en impulsmtning skall vara effektiv behvs en s kort impuls som mjligt, optimal tid
anses vara 4.5ms (Algazy, 2001, s.1). Digitalt sett innebr detta 200 sampel vid 44.1kHz. impulsen
skall ven vara av hg amplitud, vilket kan leda till problem fr bde mnsklig hrsel och
mtutrustning; r signalen hgre n mikrofonen klarar av att ta upp kommer signalen att klippas 8
i de hr fallen kan man anvnda en serie impulser (Blauert, 1997, s.24).

Varje individ r unik, en HRTF mtning utfrd fr en person kommer inte ndvndigtvis att
fungera fr en annan.
Ngra fenomen terfinns hos alla individers ron, t.ex. hur ljudet skuggas av ronvingen d
infallsvinkeln nrmar sig baksidan av huvudet, ven hur rat frstrker vissa frekvenser.

Fig 4. Frekvensrespons (Duraiswami s.34)


Bilden ovan r en visualisering av en impulsinspelning frn olika vinklar i hjdled vid 45 grader
horisontell vinkel fr ett ronpar. De olika infallsvinklarna ger frstrkningar och frsvagningar

Klippning uppstr nr en signal r starkare n ett medium kan terge. Vid klippning uppstr vertoner eftersom
sinustonens rundade form inte fr plats. Detta leder till ofta onskade vertoner, s kallad distortion.

13

av responsen hos de olika frekvenserna. De mrka regionerna p frekvenserna ver 4kHz r


filtrering frn ytterrat (Duraiswami s.34)
Vi kan se att de hr frsvagningarna och frstrkningarna r sammanhngande och att de med
vinkeln flyttar sig i spektrumet. Som nmnt tidigare finns de hr mnstren hos alla olika individer
men skiljer sig i sitt yttrande beroende p rats och huvudets utformning. Detta mnster kan ses
som ett individuellt ras signatur och med hjlp av detta kan man frst sin ljudomgivning,
lokalisera ljud etc. Problemet med denna teknik blir drfr att nr individen tolkar sin omgivning
anvnder sitt eget ras signatur fr att lokalisera ljuden, en signatur som r inlrd genom lng tids
exponering fr den.

Underskningar har gjorts dr en individ anvnder en artificiell modifikation till sitt ytterra fr
att frndra sitt ras unika signatur. Det visade sig att lokalisering till en brjan var dlig men att
frmgan efter viss tid terhmtade sig d personen lrde sig sin nya signatur (Hofman, Van
Riswickand & Van Opstal, 1998). Det br dock noteras att trots att lokaliseringsfrmgan
frsmrades vid modifieringen s behlls dock viss lokaliseringsfrmga och att den frsmrade
lokaliseringsfrmgan nstan helt och hllet handlade om ljud i hjdled medan lokaliseringen i
horisontell vinkel(denna vinkel utgr rakt framifrn, vilket innebr att 0 befinner sig rakt framfr
personen och sedan rknas t hger) frblev i stort sett ofrndrad (Hofman, 1998, s.418).
Frvirring kan allts uppst om en milj presenteras genom en annan individs signatur. HTRF
upplevs frn den inspelade signaturens perspektiv.
Ett av problemen med en digitalisering av en persons ronsignatur r den generalisering som mste
ske om resultaten inte skall behva berknas per individ, en av de tnkbara lsningarna p detta r
vad fretaget Blue Ripple Sound har gjort fr sin mjukvara Rapture 3D9: att lta anvndaren vlja
mellan 5 olika generella typer.
En annan tekniskt mjlig lsning kan vara att lta anvndaren anpassa HRTF-logaritmen genom
att sjlv stlla in vrden som lngd p hrselgng och utformning av ytterra genom att stlla in
parametrar. Detta r frsts inte information som man kan anta att en lyssnare har omedelbar

mjukvara byggd fr att simulera 3d ljud fr redan existerande spel genom att agera som ett tillgg till dessa.

14

tillgng till. Blauert anvnder begreppet det typiska rat (the typical ear) och hnvisar till ett
generaliserat ytterra som ger upphov till en viss frekvenspverkan.
Med HRTF teknik tillkommer ven linjr interpolering10 av ljudets vinkel eftersom mtningar inte
praktiskt kan gras vid alla mjliga vinklar; antalet mtpunkter r begrnsade. Interpoleringen
innebr att de olika inspelningarna skall blandas p ett sdant stt att ljudet upplevs flytta p sig
nr spelaren gr det fr att placeras i rummet. Detta antal skulle ocks bli avsevrt mycket strre
om man ven utfr mtningar vid olika avstnd.
Vid anvndande av binauralt ljud i en digital 3d milj dr spelaren sjlv fr navigera omgivningen
fritt, kan antingen denna tekniken eller binaural inspelning tillmpas. Skillnaden mellan de tv
teknikerna i detta sammanhang r enorm, den ena, riktig binaural inspelning r mer statisk d ljud
mste spelas in frn alla de tnkbara vinklarna. Bda teknikerna mste tillmpa interpolering, men
vid den binaurala inspelningen mste interpolering mellan inspelade ljudfiler ske snarare n en
frekvenskurva.

De praktiska skillnaderna mellan HRTF Syntes och binauralt inspelat ljud r stora.
En inspelning fr digital milj gjord med binaural mikrofonuppsttning blir otroligt komplicerad
nr spelaren fr rum att fritt rra sig i miljn. Fr att inspelning av detta slaget skall bli vertygande
mste inspelningar gras fr ett tillfredsstllande antal inspelningar. Det antal som behvs fr
bestms av ljuddesignerns krav p kvalitet, fler inspelningar ger ett mer exakt resultat. I det fall
man skulle nja sig med korrekt lokalisering i vgrtt plan skulle man t.ex. kunna anvnda sig av
10 inspelningspositioner som omger spelaren.
Inspelningarna mste dessutom fnga exakt samma ljud varje gng, fr att interpolering skall
fungera. Fr att klargra vad vi menar med detta stycke kan vi anvnda ett exempel av hur
inspelningsmetoden skulle kunna anvndas vid ett spelprojekt. Frst och frmst skulle en
inspelningsrigg behvas, d.v.s. en rigg dr bde inspelningsmekanism, mnskligt huvud med
mikrofoner eller ett dummyhead, samt ljudkllor; hgtalare finns. Fr ljud som skulle vara
placerade statiskt gentemot spelaren t.e.x. fotsteg skulle man kunna placera ljudkllan p rtt plats

10

Att anta ett vrde fr en punkt genom att utg frn andra knda vrden. Linjr interpolering innebr att mellan
varje knd punkt dra en rak linje

15

och sedan spela in det. Fr ljudkllor som skall vara dynamiskt placerade relativt lyssnaren skulle
man behva spela in ljudet frn alla vinklar man vill ha med i spelet.
Vi nmner att alla inspelningar skulle behva vara likadana, anledningen till detta r s att spelaren
nr den vrider sig skall hra samma ljud, fast frn den nya positionen. Vi freslr att fr att uppn
detta anvnda en rigg dr man flyttar en hgtalare och sedan spelar in varje individuellt ljud.
Bda de hr teknikerna krver dock en ljudnivjustering som motsvarar objektets avstnd frn
spelaren. Denna justering mste stmma verens med hur ljud avtar i verkligheten, som vi beskrivit
tidigare.

Det finns allts olika alternativ att vlja d man skall uppn binauralt ljud. Binauralt ljud ter sig
som ett utmrkt val av ljudteknik d man skall uppn virtuella miljer dr anvndaren skall hra
frn ett frstapersonsperspektiv. Vi har beskrivit nackdelar och frdelar med olika tekniker och
kommit fram till att det rimligaste alternativet fr binauralt ljud i sammanhang som skall vara
dynamiska r binaural syntes snarare n binaurala inspelningar gjorda med de speciella
stereomikrofonuppsttningar vi nmnt.

16

3. Tillvgagngsstt
Vrt produktionsml fr denna delen av arbetet var att verfra den forskning vi gjort under
fregende delar till en anvndbar ljudmotor, detta eftersom vr frgestllning var:
Hur utvecklar man en ljudmotor som fungerar efter binaural princip?

Med ljudmotor menar vi en enhet som hanterar data frn ett spel, och spelar upp ljud drefter, med
hnsyn till variabler som avstnd, vinkel etc. ven funktionalitet som inte ingr i den tidigare
forskningen ingr i begreppet ljudmotor som vi definierade i brjan i arbetet (se kapitel 2.4.1.).
Fr att vi skulle anse vr ljudmotor vara frdig fr anvndning skulle den kunna spela upp ljud p
ett sdant stt att ljuden uppfattas som rtt placerade i spelmiljn, men ven kunna utfra
funktioner som att stnga av och sl p ljud, hantera bde repeterande ljud och s kallade one shots
(ljud som bara hrs en gng och sedan tystnar) samt hantera ambiensljud (skiljer sig frn andra
ljudeffekter eftersom de inte spatialiseras11 utan ger ett ljud som omger spelaren frn alla vinklar).
Vi ville hlla oss till en hg standard fr ljudet i vr produkt, detta inebar att vi ven
implementerade ett system fr att hantera efterklang, fr att ge en knsla av rumslighet.
Vi dpte vr ljudmotor till BaSE (Binaural Sound Engine) och kommer att anvnda denna
frkortning nr vi skriver om ljudmotorn.

3.1 Produktion
I denna del kommer vi att g igenom den process som ledde till resultatet. Vi kommer att g igenom
verktygsval, samt hur arbetsprocessen och testningen gick till.
Vr process skedde med ett antal delml som ledde processen:

11

Att rumsligt placera ljudeffekten.

17

3.1.1 Fungerande kommunikation/verktygsval.


Med fungerande kommunikation menar vi att hitta en lsning fr att f anvndbara data frn en
spelmotor till BaSE. Drfr var vi tvungna att vlja verktyg (programvara), samt en
kommunikationsmetod som var kompatibel med de program vi vill jobba i. Att vlja ut
programvara blev det frsta steget vi genomfrde eftersom resten av produktionen berodde p de
verktygsval vi gjorde.

3.1.2 Implementering.
Vi var tvungna att bestmma oss fr vilka data vi kommer att behva och hur vi processar dessa i
de program vi vljer. Detta steg innefattar ven att terskapa de effekter vi beskrivit i forskningen.
De hr effekterna r:
ITD (se kap.2.4.2.1)
rats och resten av kroppens frekvenspverkan av ljudet(se s8)
Ljudets avtagning beroende p avstndet (se kap.2.4.2.3)

ven effekter som inte nmns i problemomrde kommer att terskapas:


Doppler effekt12
Ljudskymning (ljud som skyms av geometri i miljn)

3.1.3 Optimering/Testning
Dessa tv steg sker verlappande eftersom optimeringen skedde under hela slutfasen av
arbetsprocessen och behvde gras allteftersom ndringar i programmet gjordes. Vi genomfrde
ett konsumenttest, dr vi lt personer testa BaSE och en annan ljudmotor utan binaural funktion.
12

Dopplereffekt (inom ljud) r ett fenomen som uppstr d en ljudklla nrmar eller avlgsnar sig frn en hrare.
Dopplereffekten pverkar ljudkllans tonhjd; om ljudkllan nrmar sig blir den hgre men om kllan avlgsnar sig
blir den lgre.

18

3.1.4 Metoder
Vr utvecklingsmetod var vldigt iterativ; vi skapade modulerna, testade dem och satte de sedan i
sitt sammanhang. I varje steg av den hr processen har vi testat och kunnat g tillbaka och redigera,
eller helt slopa delar av ljudmotorn. Processen ansgs som frdig nr vi gtt tillbaka till
testningsteget utan att hitta ngra fel eller ngonting som behvde tgrdas.

19

Denna karta illustrerar den iterativa processen:

Fig. 5. Karta ver arbetsprocess

20

3.1.5 Verktygsval
De verktyg vi anvnt oss av i vr produktion r UDK13 och Max/MSP14, i detta kapitlet kommer vi
g igenom hur vi anvnde dessa och hur de fungerar tillsammans i vr produktion.

Max/MSP r ett modulrt anvndargrnssnitt fr ljud och bild med mycket inbyggd
signalbehandlings funktionalitet15. Beslutet att anvnda Max/MSP som utvecklingsmilj byggde
p ett antal faktorer, den strsta av vilka r att vi har fregende utbildning i programmet som vi
ftt genom kursen Modulr Ljuddesign lst p BTH, och tidigare hobbyanvndning av
programmet. Det finns ett antal liknande program, exempelvis Pd (PureData16), vars grnssnitt
liknar Max/MPSs och Supercollider 17 som r ett programmeringssprk fr ljud. Den stora
skillnaden r den rikedom av dokumentation som finns fr Max/MSP18, exempelvis dess forum
dr man snabbt kan f svar p frgor samt det anvndargenererade innehll som vningsvideor
och andras forumtrdar. Vi vervgde till en brjan att anvnda programmet Supercollider men
efter svrigheter att hitta information s som tutorials etc. fr att f en inblick i hur utveckling i
denna milj gr till bestmde vi oss fr att inte anvnda det.
Vi ansg att risken fr att inlrningsprocessen skulle hindra vrt arbete var fr stor.

Max/MSPs grnssnitt r objektorienterat 19 och programmen byggs av s kallade Patcher. En


Patch kan vara ett slutgiltigt program men kan ocks instanseras (d.v.s. anvndas som ett objekt,
inuti en annan patch, se: objektorienterat) i flera niver inuti en patch. Inom Max/MSP grs det
skillnad p objekt som hanterar ljud (dessa kallas MSP-objekt) och objekt som hanterar annan data
13

Unreal Development Kit http://www.unrealengine.com/udk/ [senast lst: 2013-05-10]


http://cycling74.com/ [senast lst 2013-05-09]
15
Signalbehandling innebr att manipulera signaler med hjlp av matematiska metoder.
16
http://puredata.info/ [senast lst 2013-05-09]
17
http://supercollider.sourceforge.net/ [senast lst 2013-05-09]
18
Max/MSP Dokumentation: http://www.cycling74.com/docs/max5/vignettes/intro/docintro.html [senast
lst 2013-05-09]
18
Cycling74 Forum: http://www.cycling74.com/docs/max5/vignettes/intro/docintro.html[senast lst 201305-09]
18
Exempel p utbudet av anvndarskapat innehll kring Max/MSP
http://www.youtube.com/playlist?list=PLD45EDA6F67827497 [senast lst 2013-05-09]
19
Objektorienterad programmering innebr en programmeringsmetod dr ett program kan innehlla ett
antal objekt som interagerar med varandra.
14

21

(dessa kallas Max-objekt). Den strsta skillnaden mellan de hr fr oss som utvecklare r att MSPobjekten kan hantera data mycket snabbare n andra objekt, eftersom de arbetar med ljudkortets
samplingsfrekvens. MSP-objekten r drfr mer processorkrvande n Max-objekt, eftersom
Max-objekt bara updateras efter en bestmd frekvens (minst 1ms, men i vrt fall c:a 50ms).
Frutom patcher har man ven mjlighet att programmera sina egna specialanpassade objekt. Det
huvudsakliga programmeringssprket fr Max/MSP r C, men mjlighet finns att skriva objekt i
Java. Eftersom Java hanterar ljuddata c:a 1,52,5 gnger s lngsamt som C objekt (La Fata, 2000,
s.43) bestmde vi oss fr att av prestandaskl inte skriva ngra egna MSP objekt i Java. Vi hade
inte heller nog kunskap av C fr att kunna skriva objekt i det.
Max/MSP har dock ett stort utbud av frdiga ljud-objekt och alla de signalbehandlingarna vi
frvntade oss behva gra, ven de mer komplicerade, finns tillgngliga bland dessa. Java objekt
anvndes fr att filtrera den data som vi skickar frn spelmotorn till Max/MSP. Exempelvis mste
ljuddata, d.v.s. data om ljuds position, volym etc. och spelardata (information om spelarens
position etc.) skiljas t. De utrkningar som behver gras vljer vi att gra till s stor del som
mjligt i UnrealScript20 snarare n Java och MAX objekt, eftersom det ger en mindre komplicerad
MAX-patch.

P vilket stt lmpar sig Max/MSP till att producera en ljudmotor avsedd till 3d-spel?
Tidigare projekt har gjorts och dokumenterats dr Max/MSP anvnts som en ljudhanterare fr spel.
Exempel p ett sdant projekt r denna videoserie21 (Max/MSP Audio Engine for Space Invaders).
I detta exempel har en student gjort en MAX-patch fr att ljudlgga ett Space Invaders spel.
Hndelser s som nr ett skott avfyras av spelaren startar ljud i Max/MSP. Ett annat exempel dr
en extern ljudutvecklingsmilj anvnds i samband med en spelmotor r Teleharmonium.
Teleharmonium r en installation, eller konsert, som till stor del bygger p UDK.
UDK (Unreal Development Kit, Epic Games) r en utvecklingsmilj fr dator och TV-Spel. Det
som gr installationen relevant fr vr produktion r att Teleharmonium genomfrs med datatrafik
mellan UDK och en extern ljudhanterare.

20
21

http://udn.epicgames.com/Three/UnrealScriptReference.html [senast lst 2013-05-09]


http://www.youtube.com/watch?v=-rcJZxIPg7w [senast lst 2013-05-09]

22

Detta sker genom ett tillgg till UDK som heter UDKOSC(Unreal Developement Kit Open Sound
Control). UDKOSC anvnder sig av UDP (User Datagram Protocol) kommunikation mellan
program. Efter att ha sett Teleharmonium samt ett par andra videobaserade exempel p UDKOSC
bestmde vi oss fr att detta var ett utmrkt stt att skapa en lnk mellan Max/MSP och en
spelmilj; Teleharmonium och de andra exemplena vertygade oss om att det var mjligt att
anvnda Max/MSP som ljudmotor.
UDKOSC r utvecklat av Robert Hamilton vid CCRMA, avdelningen fr musik, Stanford
University, och r gratis22. Robert Hamilton var till mycket stor hjlp i det tidiga skedet av arbetet
och delgav oss information om hur vi kunde anvnda UDKOSC samt svarade p de frgor vi hade
om programmet. Exempelvis hjlpte han oss att f igng fungerande UDP traffik mellan UDK och
Max/MSP.

3.1.6 Arkitektur
De programmen som nmnts kommer allts att sammarbeta p detta stt:

22

https://ccrma.stanford.edu/~rob/software.php [senast lst 2013-05-09]


23

Fig. 6. karta ver programvaror

UDK, hanterar alla data i spelet, utvalda data som r relevanta fr att skapa ljudbilden skickas frn
UDK till Max/MSP via programtillgget UDKOSC. Dessa data r exempelvis spelarens position
och rotation, samt information om ljudkllorna i scenen, deras ljudstyrka, hur mycket efterklang
som skall appliceras, och om deras radie skall modifieras, exempelvis behver ljudet av en fluga
inte ha en stor radie, medan ljudet av en jumbojet behver en mycket stor radie. Ytterligare UDKobjekt anvnds till exempel fr att stlla in rumsklangen i Max/MSP. Datan behandlas i Max/MSP
och anvnds fr att skapa de effekterna vi nmnt i tidigare kapitel(se Kap. 2).
24

3.1.7 Arbetsprocess i Max/MSP


Fr att terskapa de binaurala effekter som beskrivits i den kontextualiserande delen (Kap. 2) av
detta arbete anvnder vi Max/MSP objekt. ITD(se s4) grs genom att rkna ut respektive ras
avstnd till varje ljudklla. UDK-karaktrer har inga ron, s positioner fr dessa mste antas,
detta grs genom sinus och cosinus

23

av spelarens horisontella riktning, eller girning

(Engelskans yaw).
Ljuden skickas sedan genom Max/MSP-objekt som frdrjer hger respektive vnster kanal med
bestmd tid. Vi behvde skapa extremt korta frdrjningstider, eftersom frdrjningstider s lga
som 100 mikrosekunder gr stor skillnad p ljudupplevelsen.
Problemet med s hr korta frdrjningar ligger i hur datorer processar ljud. Ljud processas och
skickas ut till ljudkortet i flera steg. Frst berknas ljudet i segment, sedan skickas det ut till
hgtalare/frstrkare i segment. Segmenten kallas vanligtvis vektorer och storleken p de bda
vektorerna definieras individuellt, och beskrivs i sampel. En normal vektorstorlek fr
ljudberkning (signalvektor) kan ligga p 64 upp till 2048 sampel beroende p ljudkort och
anvndarens preferenser. Lgre vektorstorlek leder till strre berkningskrav d processorn
behver behandla ett nytt segment oftare. Signalvektorns storlek begrnsar den minimala tiden fr
en frndring i en MAX-patch och drfr den minsta mjliga frdrjningstiden fr en signal.
Signalvektorstorleken fr att uppn en frdrjning p 100 mikrosekunder kan hrledas p fljande
stt:

Antal sekunder per sampel = 1/44100


Antal millisekunder per sampel = 1000/44100 = 0.022675

23

http://sv.wikipedia.org/wiki/Sinus [senast lst 2013-05-09]

25

Den strsta mjliga vektorstorlek fr 100 mikrosekunders frdrjning r drfr 4 sampel:


0.022675*4 0.1
Denna vektorstorlek r vldigt lg och pverkar prestandan negativt.

3.1.8 Mtning fr HRTF


Till motorn behvde vi gra HRTF-mtningar motsvarande de olika positionerna runt lyssnaren.
Fr mer information om HRTF-teknik se kapitel 2.4.3.1.
Vi tnkte oss att vi skulle ha en hrare och sedan flytta en hgtalare runt till olika positioner och
med den spela upp vitt brus. hrare skulle ven ha ett par MK2-mikrofoner frn Soundman
placerade i ronen som ett par hrlurar. Fr att kunna mta p ett fast avstnd behvde vi en
stllning som kunde flyttas runt p olika bestmda positioner, vi hade mnga olika tankar om hur
den skulle kunna se ut och fungera (se bilaga 2). Det resulterade i att vi bestmde oss fr att
anvnda en del av ett mikrofonstativ som vi monterade ihop med ett cymbalstativ.
Resultatet blev ett stativ som kunde flyttas och vridas i nstan alla mjliga positioner och vinklar,
vilket var vldigt anvndbart d vi behvde mta i en sfrisk form runt hraren. Lsningen var
dock ngot opraktisk d vi hela tiden fick hlla koll p att vi hade hgtalaren p rtt avstnd (1m)
frn hraren och att vi var rakt ver punkterna vi hade satt ut p golvet som vi skulle g efter.

Vi valde att mta p 1 meters avstnd p totalt 38 positioner runt hraren vid 5 olika hjder.
Mtningarna knns i efterhand tillrckliga men man hade kunnat gra det mer hgupplst och mtt
p fler positioner bde runt hraren och p fler hjder (ls mer om detta i bilaga 2)
Detta r ngot vi ser som en vidare utvecklingsmjlighet av motorn.

Dessa impulssvar anvnds sedan av Max/MSP fr att skapa en s kallad FFT (Fast fourier
Transform, se Bilaga FFT) filtrering.
Impulssvaret som matas till FFT objektet mixas med hjlp av spelarens relativa vinkel mot
ljudkllan i tv steg, relativ horisontell vinkel och sedan relativ hjdposition.

26

Genom att mata tv ljudspr som r frskjutna med x (spelarens relativa vinkel) respektive 360-x
grader fr respektive hger och vnster ra mot ljudkllan till FFT filtret fr spelaren en ljudmix
som efterliknar den som uppstr under liknande frhllanden i verkligheten.

3.2 Test
3.2.1 Testsyfte
Anledning till att vi genomfrde ett test var delvis att f en uppfattning om hur BaSE frhller sig
till en alternativ ljudmotor, i detta fallet UDKs Unreal Audio System, genom att lta
testpersonerna testa bda versionerna. Vi ville ven testa BaSE p flera personer, eftersom ett
lngre test dr UDK-banor mste startas och stngas om och om igen och ljud mste laddas in fr
varje test utstter ljudmotorn fr fr strre pfrestning n att bara testa den en gng med en bana.
Detta leder till att fel som vi tidigare missat kan uppdagas. Vi ville ocks hra testarnas sikter om
motorn s att vi kan frbttra den efter den feedback vi fr.

Testet gick ut p att deltagarna fick utfra tv ljudrelaterade utmaningar, den ena i form av en vg
med osynliga bilar som man skulle akta sig fr, rumsligheten i detta test var som ett fritt flt (utan
efterklang), eftersom vi ville fokusera framfrallt p panoreringseffekten i de tv olika versionerna
(miljn hade heller inga vggar, s ett fritt flt tycktes naturligt).

27

Fig. 7. Vgen med de osynliga bilarna

28

Den andra banan var i form av en ljudjakt: 8 ljud var placerade i en labyrintisk bana dr man
skulle hitta alla ljud, ett t gngen.

Fig. 8. Scen ur ljudlabyrinten


Vi mtte tiderna fr deltagarna att klara av ljudlabyrinten och stllde frgor om upplevelsen.
Vi frskte utforma frgorna fr att de skulle ge oss en bild av skillnaderna mellan ljudmotorerna,
ur lokaliseringsprespektiv, d.v.s. hur ltt det r att avgra ett ljuds position. Vi stllde ocks frgor
om den generella uppfattningen av ljudmotorerna.

3.2.2 Material
Vi lt alla testpersoner spela med samma dator och hrlurar, eftersom vi tror att vilka hrlurar som
anvnds kan pverka upplevelsen.
Vi gjorde underskningen fr att jmfra BaSE med en redan existerande, UDKs inbyggda
ljudmotor.
29

UDKs ljudmotor, ven om den har vissa brister (exempelvis knns panoreringar pltsliga vid
hrlurslyssning), anvnds i populra spel, exempelvis Tribes Ascend (Hi-Rez Studios, 2012).

3.2.3 Testresultat
Vi utfrde testet p fem personer, det var s mnga som vi hann med under dagen, eftersom det
tog lng tid att utfra varje test. Tre av de fem av testpersonerna upplevde det lttare, d.v.s. de
upplevde en strre klarhet i var ljuden befan sig nr de navigerade i den versionen som var ljudlagd
med BaSE.
Den strsta skillnaden verkade ligga i att panoreringen var pltsligare i Unreal Audio System;
testpersonerna upplevde det som om panoreringen gick fr snabbt mellan hger och vnster.
En testperson skrev:
i version 1 (Unreal Audio System) s var panoreringarna vldigt hackiga. Man hrde ordentligt
nr den gick frn hger-center-vnster. Ngra av testpersonerna upplevde att BaSE fungerade
smre och motiverade det med hackiga panoreringar. De som svarat att detta var ett problem har
dock kommenterat att det var det enda som gjorde skillnaden mellan vilken version de fredrog;
Hackigt som sagt. Dremot lt ljuden i sig bttre, de "rrde" sig mer naturligt, frutom hacket
d., Bara p grund av "hacket" jag beskrev tidigare.
I det andra testet valde fem av fem deltagare versionen med BaSE som den fredragna versionen.
Motiveringen var i ngra av fallen att man knde rumsligheten bttre, vilket troligtvis beror att
efterklangen inte fungerade som vi ville i Unreal Audio System, vilket gr detta test orttvist och
ledde till att vi inte kunde tolka att alla valde denna som fredragna som ett rttvist resultat.
Dremot kommenterade mnga av deltagarna p saker som ...i den andra fanns det vldigt mycket
skillnader mellan att vara nra/lngt ifrn ljudet, och vnster/hger och ver/under och (Det)
Gr att urskilja vart ljudet r genom att kolla p det

30

3.2.4 Sammanstllning
Vi upplever resultaten som positiva, trots en del kritik av vrt system. Anledningen till att vi kan
tolka dessa resultat som positiva r att de som klagat p saker i BaSE frmst klagat p saker som
gtt snett i Max/MSP, det hackiga som beskrivs kommer utav att Max/MSP hade problem att
processa data frn UDK, detta troligtvis eftersom datorn sttt p med flera versioner av bde UDK
och Max/MSP under en lngre tid. Denna feedback ger oss ven information om vilken optimering
som behver gras. Exempelvis ndrade vi vr FFT-filtrering enligt klagomlen p den hackiga
panoreringen som beskrevs av ngra testpersoner.
Kommentarerna p den andra delen av testet tyder p att den FFT-filtrering vi anvnde fr att
skapa panoreringen mrktes av och gav bra inlevelse, och kommentaren Gr att urskilja vart
ljudet r genom att kolla p det, tyder p att den funktion som filtrerar och snker ljudstyrkan p
ljud nr de befinner sig bakom en vgg ocks bidrar till inlevelsen.

S ven om testet inte hade s mnga deltagare fick vi nd in bra feedback som hjlpte oss hitta
buggar i BaSE, vilka nu r tgrdade.

4. Resultat och diskussion


Syftet med denna del av arbetet r att presentera resultatet av arbetet i form av en granskning av
den frdiga produkten och dess funktionalitet. Vi kommer att g igenom det hr och ven hur
arbete med BaSE fungerar i praktiken. Vi vill gna en del till att jmfra de frvntningar vi hade
i brjan av projektet med det slutgiltiga resultatet, inklusive vr frgestllning.

4.1 Resultat
Resultatet av detta arbete har blivit en fungerande ljudmotor: BaSE, som kan anvndas med UDK
men som dock inte r begrnsad till UDK; BaSE kan anvndas med alla spelmotorer som har
mjlighet att anvnda UDP trafik.
BaSE har de funktioner som kan frvntas av en modern ljudmotor, s som efterklang som kan
ndras beroende p spelminjn och ven funktioner som vissa moderna ljudmotorer saknar, som
31

simulering av ljudskymning nr ett objekt befinner sig mellan ljudklla och lyssnare och
efterklang per ljudklla som kan anpassas beroende p avstndet. Det som gr att BaSE str ut
mest i mngden ljudmotorer r anvndningen av FFT filtrering fr att simulera en lyssnares
position i ljudmiljn.

Arbetsfldet i BaSE r anpassat fr att enkelt kunna anvndas av utvecklare som r vana vid
UDK. Praktiskt sett fungerar anvndandet av BaSE likadant som arbetet i Unreal Audio System;
unrealklassen som hanterar BaSE ljud har ungefr samma egenskaper som en vanlig
unrealljudklass: skall ljudet spela, vilken ljudvolym har ljudet, vilken tonhhjd har ljudet, skall
det repetera etc. Det enda anvndaren behver gra r att stlla in dessa parametrar som de skulle
gjort i UDK, och sedan vlja ett unikt ljudnamn i BaSE (i Max/MSP).

4.1.1 Mjlighet till vidareutveckling


Den slutgilitga lsning vi hittat p vr problemformulering lser problemet med binaural syntes,
men vilka problem finns i vr lsning?
Det strsta problemet med vr lsning r att den r beroende av tredjepartsprogram. P ett antal
plan r detta inget egentligt problem; de program vi anvnt finns tillgngliga fr gratis
distrubuering, d.v.s. om man som spelutvecklare vill anvnda BaSE som ljudmotor till ett spel
finns all mjlighet att distribuera spelet utan extra kostnad jmfrt med en annan kostnadsfri
ljudmotor. Problemet ligger snarare i att gra BaSE attraktiv fr spelutvecklare. Vi tror att ett
system som krver frre, eller inga externa mjukvaror skulle vara mer attraktivt fr spelutvecklare, ven
om dessa externa mjukvaror inte krver extra utgifter i form av licenser. Anledningen till detta r den
upplevda tid som kommer att g t till att lra sig arbeta med ett nytt system snarare n det man r van
vid, eller vad man skulle kunna sammanfatta som rdsla fr att prova nya oprvade verktyg.
Frhoppningsvis stmmer denna oro frn vr sida inte verens med hur spelutvecklare resonerar i
verkligheten. Det finns exempel p spelutvecklare som kombinerat flera frdiga utvecklingsmiljer fr
att uppn en nskad kvalitet, exempelvis Bioshock Infinite (Irrational Games, 2013), dr Unreal Engine
(Epic Games, 2012) anvnts i kombination med ljudmjukvaran Wwise (Audiokinetic, 2012), ngot som
definitivt skulle kunna jmfras med att anvnda vr ljudmotor i kombination med UDK.

32

4.2 Diskussion
Generellt sett r vi njda med resultatet av vrt arbete, vi har lyckats skapa en ljudmotor som
uppfyller alla krav p ljudkvalitet och ven verstiger i mnga aspekter de frvntningar vi hade i
brjan av detta projekt.
Men har vi genom arbetet svarat p vra frgestllningar?
Vr frgestllning ld:
Hur utvecklar man en ljudmotor som fungerar efter binaural princip?
Ytterligare tycker vi att det r viktigt att ifrgastta hur den forskning vi gjorde under
problemomrde relaterade till utvecklingen av BaSE; om forskningen inte kan relateras till vr
utveckling och vra metoder, till vilken nytta var den, och borde vi gjort annorlunda?

Nr vi utvecklade BaSE stod den forskning vi gjorde under problemomrde (Kap. 2) som frmst
till nytta som en referens till tekniker och fenomen vi skulle komma att terskapa i ljudmotorn.
Ett exempel p detta r d vi skulle terskapa ITD (se kap. 2.4.2.1) effekten i vr ljudmotor, utfra
ljudmtningar, eller tillmpa FFT.
Vi knner dock att ven om allt som all forskning gjord under problemomrde var relevant till
produktionen, skulle produktionsdelen kunna gjorts tydligare fr oss sjlva; mlet: att skapa en binaural
ljudmotor kan tyckas vara enkelt definierat fr en ljuddesigner.
Begreppet binauralt grs vldigt tydligt i vr text, men begreppet ljudmotor skulle behvt gras tydligare.
Delvis fr att en verenskommelse om vad som ingr i begreppet skall vara sjlvklar mellan oss som skriver
arbetet och gr produktionen. Definitionen behvs ven fr att pvisa relevans till vr forskning fr ngra
av processerna i vr produktion. Vad vi menar r att en ljudmotor r s mycket strre n det binaurala ven
om det binaurala var i fokus och drmed det viktigaste s gr inte det binaurala en komplett ljudmotor. De
begreppen som vi syftar p definieras tydligt i texten men kopplingen mellan dem och ljudmotor skulle
behvt gras bttre. Exempelvis s beskrivs efterklangen och dess karaktr i frhllande till subjektiv
uppfattning av ett ljuds position, men det kopplas inte till begreppet ljudmotor, trots att det ingr i att skapa
en vlljudande ljudmotor. Problemet upptcktes dock aldrig frrn vi kom till vr produktionsdel, trots att
vi gng p gng reflekterade kring vr frgestllning och dess relevans till den kommande produktionen.

33

Vi tror att det hr problemet beror p att grnsen mellan vad som ingr i produktionen och vad som ingr i
problemomrdet inte r s sjlvklar som vi inledningsvis trodde.
Vi tror att det hr har berott p att vi valde att fokusera p de fenomen kring mnsklig hrsel vi skulle
terskapa snarare n ngonting rrande programvara och praktiskt genomfrande.
Vi anser att vi genom produktionen av BaSE svarat p vr frgestllning och att baserat vr produktion p
den forskning vi gjort i problemomrde.

Ngot som vi i efterhand upplevde kunde ha varit bttre r vr tidsestimering och planering av
arbetet. Det hr var mestadels ett problem under problemomrde, eftersom att produktionsdelen
var en iterativ process, och drfr inte behvde en strng planering. Vi anvnde oss av deadlines
p vissa delar som t.ex att impulsmtningarna skulle utfras vid ett visst tillflle och att ett test av
motorn skulle g att utfra vid ett visst tillflle men i resten av arbetet jobbade vi frn dag till dag.
Detta gjorde att det var svrt att f en verblick av arbetet som helhet.

34

5. Ordlista
Hr finns terigen definitionerna som vi gett i fotnoterna.

Psykoakustik - Vetenskapen om mnniskans subjektiva uppfattning av ljud.


Resonant frekvens - De flesta objekt har en inneboende resonant frekvens, om ett objekt blir utsatt
fr denna frekvens kommer det i medvibration.
Vitt brus - En ljudsignal som innehller alla mjliga frekvenser och har en likvrdig energi fr
alla frekvensband.
Oriktad ljudklla - Ljudklla som ger lika ljudtryck i alla riktningar.
Phon - Skala fr ljudintensitet baserad p mnsklig ljuduppfattning.
Klippning - Klippning uppstr nr en signal r starkare n ett medium kan terge. Vid klippning
uppstr vertoner eftersom sinustonens rundade form inte fr plats. Detta leder till ofta onskade
vertoner, s kallad distorsion.
Linjr interpolering - Att anta ett vrde fr en punkt genom att utg frn andra knda vrden.
Linjr interpolering innebr att mellan varje knd punkt dra en rak linje.
Sinuston - En ren ton, tar sitt namn frn sinus som beskriver avstndet i hjdled frn centrum av
en cirkel med radien 1 till en punkt p dess kant fr en given vinkel. Detta ger sinustonen en rundad
form. Frekvensen p sinustonen bestmmer hur ofta cirkeln varvas.
Resonant frekvens - De flesta objekt har en inneboende resonant frekvens, om ett objekt blir utsatt
fr denna frekvens kommer det i medvibration.
Psykoakustisk - Vetenskapen om mnniskans subjektiva uppfattning av ljud.
Spatialiseras - Att rumsligt placera en ljudeffekt.
Signalbehandling - Signalbehandling innebr att manipulera signaler med hjlp av matematiska
metoder.
Objektorienterad - Objektorienterad programmering innebr en programmeringsmetod dr ett
program kan innehlla ett antal objekt som interagerar med varandra.
Hz - Hertz, en enhet fr att beskriva frekvens, Hz rknas per sekund.
Dopplereffekt Dopplereffekt (inom ljud) r ett fenomen som uppstr d en ljudklla nrmar eller
avlgsnar sig frn en hrare. Dopplereffekten pverkar ljudkllans tonhjd; om ljudkllan nrmar
sig blir den hgre men om kllan avlgsnar sig blir den lgre.
35

6. Kllfrteckning
Algazy, V.R. Duda, R. O. Thompson, D. M. Avendano C. (2001) THE CIPIC HRTF DATABASE
[PDF]
Tillgnglig via: http://interface.cipic.ucdavis.edu/data/doc/CIPIC_HRTF_Database.pdf
Blauert J. (1997) Spatial Hearing Revised Edition. MIT press
Brieger, S. and Gthner, F. (2011) Spelares instllning till HRTF-teknik i FPS-spel. Stockholm.
Davis, K A. (2005) Contralateral Effects and Binaural Interactions
in Dorsal Cochlear Nucleus. JARO nummer 6. University of Rochester USA
Duraiswami, R. (n.d.) Introduction to HRTFs. [PDF] p.33. Tillgnglig via:
http://www.umiacs.umd.edu/~ramani/cmsc828d_audio/HRTF_INTRO.pdf [Lst: 2013-02-19].
Everest, F A. Pohlman, K C. (2009) Master Handbook of Acoustics. 5 uppl. McGraw Hill
Hofman, P M. Van Rickwick, J G.A. Van Opstal A.J. (1998) Nature neuroscience Volume 1 no
5, [online] Tillgnglig p: http://www.mbfys.ru.nl/~johnvo/papers/nn98.pdf [Lst: 2013-02-05].
Lee, K. Lee, S. (2010) A Real-time Audio System for Adjusting the Sweet Spot to the Listener's
Position frn IEEE Transactions on Consumer Electronics vol.56 nummer 2.
La Fata, T. (2000) Writing Max Externals in Java V 0.3 (PDF) Tillgnglig via:
http://blog.lib.umn.edu/geers001/compmusprog2007/WritingMaxExternalsInJava.pdf [Lst
2013-05-10]
Moore, B. C. J. (2008) An introduction to the psychology of hearing. Bingley, Emerald.
Rapture 3D (2009) [Mjukvara]. USA: Blue Ripple Audio
Rumsey, F. McCormick, T. (2002) Sound and recording: an introduction. 4 uppl. Focal Press.
Tribes Ascend (2012) [Digitalt Spel]. Exekutiv Producent: Todd Harris. USA: Hi-Rez Studios
Unreal Tournament 3 (2007) [Digitalt Spel]. Producent: Jerry Huber. USA: Epic Games
Wallach, H. Newman, E B. Rosenweig M R. (1949) The Precedence Effect in Sound
Localization frn The American Journal of Psychology Volym 62, Nummer 3
36

37

Bilaga 1. FFT
(Fast Fourier Transform/ Snabb Fouriertransform)
Denna bilaga kommer inte att ge en komplett bild av snabb fouriertransform eftersom detta r ett
komplicerat begrepp, bilagan syftar istllet till att ge en mycket ytlig verblick av FFT samt visa
hur FFT anvndes i vrt arbete.
FFT r ett begrepp som inom ljudvrlden mest anvnds nr man syftar p filtrering. All FFT r
en typ av filtrering, men hur det anvnds kan skilja sig mycket stort. FFT r en matematisk
teknik som gr ut p att en signal, i detta fallet en ljudsignal tas frn tidsdomnen, som r det
vanligaste sttet att se ljudsignaler, till frekvensdomnen, dr man istllet fr tid och amplitud,
har frekvens och amplitud som grundegenskaper.

Fig. 1. Visualisering av en ljudvg i tidsdomn (1) respektive frekvensdomn (2).


Genom att flytta ljudet frn tidsdomnen till frekvensdomnen kan man gra operationer som
inte r mjliga i tidsspektrat. I vrt fall filtrerade vi ljudfiler med hjlp av impulser genom att
multiplicera de tv signalernas amplitud fr de olika frekvensbanden, denna operation kallas
faltning.
1

Exemepel p FFT i Max/MSP24

Detta r r vr slutgiltiga FFT patch

Fig. 1. FFT patch


Vectral objektet i patchen r en optimeringstgrd, den skapar en buffer av de fregnde fft fnstrena, och
skickar ut genomsnittet av dessa. Genom att anvnda vectral objektet kan man snka
updateringsfrekvensen p den data som skickas in i FFT objektet utan att skapa knaster eller andra
missljud.

24

http://www.youtube.com/watch?v=69A1kGNFYIc [Senast lst 2013-05-10]


2

FIG. 2: Kurvor som representerar de olika vinklarna

Bilden ovan r ett exempel p de filterkurvor (Graferna) som skickas in i FFT objektet.
Som en optimeringstgrd valde vi att inte anvnda impulssvaren vi spelat in, utan verstta dessa till
kurvor med en upplsning p 128 steg. Anledningen till detta r att en lsning med impulser mste
hantera 74 (12*3+2 fr varje ra) ljudsignaler fr varje ljudfi som skall binauraliseras. Med detta
systemet kan man stadkomma samma sak men med filter som ger ett vgt genomsnitt istllet. Detta
genomsnitt updateras bara en gng var 50e millisekund.

Bilaga 2. Impulsmtningar.
En stor del av motorn bygger p HRTF- impulser. De spelas in igenom att spela upp vitt brus ur
en eller flera hgtalare, dock bara en t gngen, som r positionerade runt en hrare. hraren
kan vara i form av en mnniska med mikrofoner placerade i ronen eller ett s kallat
dummyhead. De hr impulserna anvnds sedan i Max/MSP dr fr att filtrera de ljud som skall
spelas upp.
Ett ljud som skall spelas upp med knslan att det kommer snett bakifrn till hger t.e.x. filtreras
igenom den impulsen som r inspelad vid den positionen. Det hr gr att ljudets spektrum
pverkas p samma stt som det hade gjort i verkligheten.
Fr att kunna gra en sdan inspelning behvde vi en stllning som vi kunde montera en eller
flera hgtalare p, som sedan kunde flyttas runt till olika positioner runt hraren.
Frn brjan tnkte vi oss att stllningen skulle se ut shr:

Fig. 1. Tidig id till stllning (frfattares illustration)


Vi kom dock rtt snabbt fram till att den hr stllningen inte skulle fungera d den inte gr att
stlla in p alla de positioner vi behver spela in impulser p. Den gr allts enbart att flytta runt
hraren i det horisontella planet och det gr drfr inte att spela in impulser snett uppifrn,
uppifrn, underifrn och snett underifrn med den. De hr mjligheterna krvs d impulser
1

behver spela in i sfrisk form runt hraren s att ljud frn alla mjliga positioner kan spelas
upp och filtreras p rtt stt i Max/MSP.
Vi hittade senare THE CIPIC HRTF DATABASE (V. R. Algazi, 2001) och anvnde detta
dokument som grund fr vra mtningar. I dokumentet finns t.e.x. information om antalet
mtpunkter och det avstnd de mtte p (V. R. Algazi, 2001, s1). Den stllning de anvnde sig av
var i form av en halvcirkel med flera hgtalare monterade likt Fig 2.

Fig. 2. Inspelningsstllning (Duraiswami s.11)


D vi varken hade tillgng till en sdan stllning eller mjlighet att bygga en p.g.a. bde
praktiska och ekonomiska skl fick vi komma p en annan lsning. Det hela resulterade i att vi
anvnde oss av ett mikrofonstativ som vi monterade ihop med ett cymbalstativ. Denna rigg var
vldigt anvndbar d den kunde vridas i alla mjliga positioner och som vi tidigare nmnt r
detta viktigt d vi behvde spela in impulser frn mnga olika vinklar i en sfrisk form.
Vi valde att spela in impulserna p 1m avstnd precis som det beskrivits i THE CIPIC HRTF
DATABASE. Vi kunde inte spela in p lika mnga punkter som CIPIC beskriver utan valde att
enbart spela in p 38. CIPIC beskriver en inspelning av 1250 punkter per ra.

Fig. 3. Visualisering av inspelningspunkter (Frfattares illustration)


Anledningen till att vi valde att spela in p 38 punkter (se Fig 3) var delvis att vr stllning inte
hll hg nog precision att gra mnga fler n s, dels fr att vi vid fler punkter skulle belasta
hrdvara oerhrt i Max/MSP men ocks fr att vi enbart ville testa principerna fr binauralt ljud
och drfr ansg att precision p 38 punkter rckte fr att gra det. I efterhand upplevde vi att
antalet punkter faktiskt var tillrckliga och effekten vi strvade efter fungerar som den skulle.
D vi inte hade ngot att jmfra med vet vi inte hur stor skillnaden r, en
vidareutvecklingsmjlighet r att mta p fler positioner fr att f strre precision.
Fler mtningar skulle dock behva annan mtutrustning exempelvis enklare rigg med flera
hgtalare och ett stt att se till att hrare sitter precis likadant varje mtning.
Nedan fljer en bild frn inspelningen

Fig. 4. Bild frn impulsinspelningarna

Potrebbero piacerti anche