Archive for the ‘Uncategorized’ Category

3 April

Wednesday, April 3rd, 2013 by Magnus

Idag analyserades Impulserna vi spelat in i förra veckan.

Anledningen till att vi analyserade de är för att vi skall ha en insikt hur inspelningarna blev och om de kan tänkas fungera och uppnå sökt effekt.

Vi använde audacity för att rita upp ett hanning fönster med FFT analys av några av inpsleningarna.

Nedan följer två av inspelningarna, vid 30 d.v.s. snett framför testpersonen, och vid nittio grader, rakt ut från höger öra.

Vi valde att namnge inspelningarna efter vinkel med början framifrån och hela varvet runt (360 grader) istället för att som man tydligen brukar göra i sådana här sammanhang, 180 grader för respektive öra, eftersom det blir mer logiskt ur spelsammanhang, då fft filtret inte skall agera på ett öra utan en riktningsvektor +- 90 grader.

Vi spelade in en ‘ren’ brus signal, d.v.s. vi försökte spela in ett brus som inte fick någon yttre påverkan innan det nådde mikrofonen, vi hoppades på att detta skulle få en jämn frekvensrespons, då kunde vi ha varit gelt säkra på impulsenrnas trovärdighet. Den inspelning vi gjorde utan påverkan fick dock vissa dalar och kurvor.

Vi kan tyvärr inte veta om desssa är från högtalaren vi använde, från mikrofonerna eller från rummet vi spelade in i. Vi gjorde ett försök at balansera denna inspelning med en equalizer för att få en baskurva att applicera på de andra impulserna, detta fungerade dock inte då det uppstod missjlud när samma eq-kurva applicerades på de andra impulserna.

Om man tittar på dessa två impulser ser man det mönster vi är ute efter, man kan se att topparna och dalarna varierar med vinkeln, både i dess frekvenser och i dess amplitud.

Förhoppningsvis räcker 12 inspelningar för att trovärdigt återge 360 grader.

 WorkbookFFTANALYSIS

Det som förvåmade oss mest med resultaten var hur mycket amplituden skiljde sig så for ljudet inte var framför lyssnaren, redan vid 30 grader märktes väldigt stor skillnad.

20 Mars

Wednesday, April 3rd, 2013 by Magnus

Idag satt jag (Magnus) Med lite unrealscript, enkel kod dock eftersom jag egentligen inte kan unrealscript, men vi behövde an klass som agerar som ljudkälla så att vi inte behöver programmera in alla dessa i max/msp. Optimalt vore att kunna instancera ljudkällor i max/msp beroende på information från UDK men det är inte säkert att Max/Msp’s ‘poly’ funktion är snabb nog eller kan instanceras på detta viiset, kanske med en java klass.

Jusst nu skickar klassen ut info om vart den befinner sig och vilket ljud den spelar upp, och så kollar den om det finns nåt mellan spelaren och ljudet, förhoppningsvis kan detta användas för att kontrollera volym och filtrering.

Jag implementerade även nya structs i Rob Hamiltons DLL binder för att kunna använda Unreal klassen med Max.

Jag och pontus skrev även en java klass för att tolka signalen från oscen beroende på nyckelord.

 

28 Mars

Thursday, March 28th, 2013 by Magnus

Idag har vi spelat in impulssvaren som vi skall basera FFT filtret på.

Inspelningarna gjordes med ett par speciella mikrofoner (Soundman OMK II) som placeras i öronen för att fånga upp det ljud som påverkats av ytterörat.

Vi gjorde inspelningarna med en speciell rigg där vi satte en högtalare, riggan höll högtalaren på ett jämt avstånd, vi valde 1 meter som mätavståndet vilket är något lågt för denna typen av inspelning, det vi sett i andra impulsmätninngar är 1 meter och uppåt, men brist på utrymme gjorde att vi inte kunde få ett jämt avstånd längre än 1 meter.

 

Högtalaren flyttades sedan runt en vår inspelningsperson, och vi spelade impulserna för varje vinkel.

Vi valde att göra 12 inspelningar per varv, och tre varv; ett under lyssnaren, ett över lyssnaren och ett i höjd med lyssnaren, vi mätte innan varje inspelning för att få ett jämt avstånd. Vi spelade även in ett impulssvar rakt ovanför och ett rakt under. Eftersom vi hade 2 OMK II mikrofoner kunde vi nöja oss med att spela in ett 7 (egentligen 6 men ändå) impulser för varje 360 grader och använda den andra mikrofonen som 180-n (n = mätvinkel).

Här är en bild på proceduren, han som sitter i stolen är Jakob Westberg.

21/3 – Post handledning

Thursday, March 21st, 2013 by potnus

Idag hade vi handledning dör vi diskuterade hur det gick på redovisningen och vad vi tar med oss från opponenterna samt examinatorn.
Vi känner att redovisningen gick helt ok men vi kunde ha förberett oss mer och haft mer bilder, vilket några även påpekade.

Vi har kommit fram till att vi ska skippa vår underfrågeställning och fokusera på huvudfrågeställningen till 100%
Detta gör att vi slipper göra diverse speltester för att bevisa att det gör skillnad i spel och kan lägga mer tid på att finjustera motorn och göra spelet bättre.
Vi har ju redan kandidatarbetet skrivet av Breigner och Göthner som en grund till att spelare faktiskt är positivt inställda till tekniken.

Vi har även satt får första deadline som är att innan månaden är slut ska vi ha gjort HRTF-mätningar och vi diskuterar just nu hur detta skulle kunna gå till väga.

21 Mars

Thursday, March 21st, 2013 by Magnus

Idag satt vi och funderade på hur vi kan lösa filtreringen.

FFT står för fast fourier transform och är en process med vilken man kan få fram en represantion av en vågform, bild, funktion, eller vad som helst.

En FFT transform, är en process med vilken man omvandlar data som existerar i tid till data som existerar i frekvensform, d.v.s. en samling frekvenser.

Varje frekvens har två dimensioner, reell och imaginär dessa namnen är helt godtyckliga och skulle kunnat heta t.e.x. X och Y.

I vilket fall som helst så betyder dessa Frekvens respektive fas.

När man plockat isär dessa kan man manipulera egenskaperna för vågformerna lite hur man vill.

I vårt skall vi göra ett filter, då multiplicerar vi den ena vågens  (impulsen) amplitud med den andra vågens, och sedan sätter man ihop vågen igen, från information i frekvens, till information i tid.

Detta ger dock hemska artefakter, dessa kan reduceras genom att öka antalet samples som ‘buffras’ till FFT filtret, men även vid 16284 samples så är ljudkvaliteten oacceptabel.

Dessutom så får man en fördröjning på filtret som är lika stor som buffern, eller som är genomsnittet av filtersignalen (impulsen) för buffern.

man kan lösa detta genom att använda ‘vectral’ noden i max/msp. Jag vet inte vad denna gör men den jämnar ut effekten över ett fixerat antal sampels, i detta fallet använder jag 256 sampels.

 

19/3 Tisdag

Tuesday, March 19th, 2013 by potnus

Vi har nu börjat förbereda oss inför examinationen av första delen som är i morgon 20/3
Vi sitter alltså och läser vårt arbete om och om igen för att utifrån det skriva något liknande ett manus för redovisningen.
Under tiden vi har suttit har vi kommit fram till att vi måste yxa en hel del saker från texten då vi var uppe i 40min från början och bara har 20min på oss.
Vi måste även försöka göra presentationen så lättförståelig som möjligt då det bara är examinatorn och opponenterna som har läst arbetet innan presentationen.
Så en hel del av förberedandet ligger på det.

Vi har även börjat läsa igenom den text vi ska opponera på för att kunna ställa frågor och ge vettig feedback till dem som har skrivit det.

Allt detta gör att det försvinner en hel del tid denna veckan från själva produktionen.