Framtagning av algoritm för artificiell efterklang

Relevanta dokument
Digital Signalbehandling i Audio/Video

TNMK054 - LJUDTEKNIK 1 RUM, REVERB,

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1

Faltningsreverb i realtidsimplementering

Ljud. Låt det svänga. Arbetshäfte

Talets akustik repetition

F10 Rumsakustik, efterklangstid

Att fånga den akustiska energin

Mätningar med avancerade metoder

Effekter och ljudprocessorer

Ljudteknik 5p tch Hz from Scra

Poler och nollställen, motkoppling och loopstabilitet. Skrivet av: Hans Beijner

Laborationsprojekt i digital ljudsyntes

Digital signalbehandling Digitalt Ljud

App for measurements

3D- LJUD. Binaural syntes med hjälp av HRTF- filter och duplexteorin. DT1174 Ljud som informationsbärare Sandra Liljeqvist

Grundläggande Akustik

MEDIESIGNALER INTRODUKTION

Signalkedjan i små PA-system. Illustrationen till vänster. Grundläggande signalflöde i ett PA-system. Delar i de gråmarkerade

Ljudteknikern.se - din ljudtekniker på nätet

Lab 1 Analog modulation

Elektronik 2018 EITA35

Ljudabsorption - Rumsakustik. Hur stoppar vi ljudet? Kvantifiering Isolering. 2. Absorption

Mäta ljudnivåer och beräkna vägt reduktionstal för skiljevägg i byggnad

Ljudteknik 5p htc Hz from Sc ra

Mål med temat vad är ljud?

Introduktion och övningar

FÖRELÄSNING 13: Analoga o p. 1 Digitala filter. Kausalitet. Stabilitet. Ex) på användning av analoga p. 2 filter = tidskontinuerliga filter

Tillämpning av komplext kommunikationssystem i MATLAB

Akustikformler. Pascal db db = 20 log ( p/20 µpa) p = trycket i µpa. db Pascal µpa = 20 x 10 db/20. Multiplikationsfaktor (x) db db = 10 log x

Bilaga A, Akustiska begrepp

F8 Rumsakustik, ljudabsorption. Hur stoppar vi ljudet? Rumsakustik 3 förklaringsmodeller. Statistisk rumsakustik.

Mätning av högtalarens tonkurva

Aalto-Universitetet Högskolan för ingenjörsvetenskaper. KON-C3004 Maskin- och byggnadsteknikens laboratoriearbeten DOPPLEREFFEKTEN.

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

Aktivt stereo delningsfilter för hifi och High End

Ämnesområde Hörselvetenskap A Kurs Akustik och ljudmiljö, 7 hp Kurskod: HÖ1015 Tentamenstillfälle 4

Signalbehandling Röstigenkänning

Spektrala Transformer

Formelsamling finns sist i tentamensformuläret. Ämnesområde Hörselvetenskap A Kurs Akustik och ljudmiljö, 7,5hp Kurskod: HÖ1004 Tentamenstillfälle 1

Spektrala Transformer

Ljudteknikern.se - din ljudtekniker på nätet

Prov i vågrörelselära vt06 Lösningsförslag

DT1130 Spektrala transformer Tentamen

Grundläggande akustik. Rikard Öqvist Tyréns AB

Apparater på labbet. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Elektronik/JH. Personalia: Namn: Kurs: Datum:

Spektrala Transformer

System, Modeller och Metoder

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1

Kod: Datum Kursansvarig Susanne Köbler. Tillåtna hjälpmedel. Miniräknare Linjal Språklexikon vid behov

Snabbmanual till ZOOM H1

Tentamen i Signaler och kommunikation, ETT080

RealSimPLE: Pipor. Laborationsanvisningar till SimPLEKs pipa

Fö Inspelningsrummet. [Everest kapitel 20 och 22-24]

QUBE HÖGTALARE GOLVHÖGTALARE SOM FYLLER HELA DITT RUM MED REFLEKTERAT LJUD

F8 Rumsakustik, ljudabsorption. Hur stoppar vi ljudet? Rumsakustik 3 förklaringsmodeller. Isolering. Absorption. Statistisk rumsakustik

Välkomna till TSRT19 Reglerteknik M Föreläsning 9

!!!!!!!!!!!! Examensarbete! Musik!i!hemmastudion! !!!!!!!!!!!!!!!!!!! 2MU602! Moheda! 20/5913! David!Gällring! Mikael!Rosman!&!Karin!Eriksson!

Innehåll. Innehåll. sida i

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Laboration i tidsdiskreta system

Ljudinteraktion. Kirsten Rassmus-Gröhn, Avd. för Rehabiliteringsteknik, Inst. för Designvetenskaper

1. Simulering av ett rums efterklang i surround

Uppgifter 2 Grundläggande akustik (II) & SDOF

Ljud och interaktion. Kirsten Rassmus-Gröhn, Avd. för Rehabiliteringsteknik, Inst. för Designvetenskaper

Lab 4: Digital transmission Redigerad av Niclas Wadströmer. Mål. Uppstart. Genomförande. TSEI67 Telekommunikation

EXAMENSARBETE. Konstruktion och undersökning av portabel basabsorbent baserad på slavbasar. Samuel Svanlund. Filosofie kandidatexamen Ljudteknik

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

Guide till att använda Audacity för uttalsövningar

Komponenter i ett PA-system (Ludwig Ronquist, Grupp 1)

Liveinspelning (Johan Johansson, Grupp 4) Att göra en Liveinspelning

Videoförstärkare med bipolära transistorer

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Upp gifter. c. Hjälp Bengt att förklara varför det uppstår en stående våg.

Audio & Videoteknik 2D2021, 2D1518

TR

Ljudrum. Inspelningsstudio Projektstudio Masteringstudio Hörsal Konsertsal

Handledning laboration 1

Digitala filter. FIR Finit Impulse Response. Digitala filter. Digitala filter. Digitala filter

Elektroakustik. Laboration B2, lyssningstest :27:00. Svante Granqvist

Mixern. Ingångskanal. Vi tänker oss att vi ska följa signalen genom en typisk mixer, från mikrofon till utgång.

Tentamen i Elektronik, ESS010, del 2 den 17 dec 2007 klockan 8:00 13:00 för inskrivna på elektroteknik Ht 2007.

Ljudteknikern.se - din ljudtekniker på nätet

C-UPPSATS. Johan Rova Johansson. Luleå tekniska universitet

Signal- och bildbehandling TSBB03

Simulering av högtalare

Källorienterat ljud Del 1

Svängningar och frekvenser

2 Laborationsutrustning

Signalbehandling, förstärkare och filter F9, MF1016

TSKS06 Linjära system för kommunikation Lab2 : Aktivt filter

Harry Peronius. ilife

Övningar med Digitala Filter med exempel på konstruktion och analys i MatLab

Att placera studiomikrofoner

Ljudteknik 5p tch Hz from Scra

Vågor. En våg är en störning som utbreder sig En våg överför energi från en plats till en annan. Det sker ingen masstransport

TNMK054 - LJUDTEKNIK 1 FILTER OCH VCF

För alla som älskar musik.

Lathund för Bose T1 ToneMatch engine

Transkript:

Fakulteten för teknik- och naturvetenskap Framtagning av algoritm för artificiell efterklang Development of an Algorithm for Artificial Reverberation Gustav Rathsman Examensarbete vid Musik- och ljudsättningsingenjörsprogrammet vt2012

Framtagning av algoritm för artificiell efterklang Development of an Algorithm for Artificial Reverberation Gustav Rathsman Examensarbete Degree Project Musik- och ljudsättningsingenjörsprogrammet vt2012 Handledare: Thorbjörn Andersson, Karlstads universitet Detta examensarbete omfattar 22.5 hp och ingår i Musik- och ljudsättningsingenjörsprogrammet, 180 hp, vid Karlstads universitet. This 22.5 hp Degree Project is part of the 3 year, 180 hp, Music and Sound Engineering course at Karlstad University, Sweden

Denna rapport är skriven som en del av det arbete som krävs för att erhålla Musik- och ljudsättningsingenjörsexamen. Allt material i denna rapport som inte är mitt eget, har blivit tydligt identifierat och inget material är inkluderat som tidigare använts för erhållande av annan examen. Gustav Rathsman ------------------------------------------------------------------------------------------- Rapporten godkänd, Handledare: Thorbjörn Andersson Examinator: Arild Moldsvor

SAMMANFATTNING Artificiell efterklang används i ljudinspelning och produktion för att placera ljud spatialt. En algoritm som simulerar efterklang med hjälp av ett filternätverk togs fram. Fokus vid resultat lades på objektiv analys och framför allt spektrogram och vattenfallsdiagram. Viktiga slutsatser drogs om justering av parametrar och filtermodeller. ABSTRACT Artificial reverberation is used in audio recordings and productions in order to place sounds spatially. An algorithm that simulates reverberation using a filter network was developed. Results were assessed by objective analysis mainly focused on spectrograms and waterfall diagrams. Important conclusions were drawn on adjusting parameters and filter models.

Innehåll!"#$%&'(%)%*#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!!!"!#+,%-.'%#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!!!"/#0'1%)1'%#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!!!"2#0)()*3#,45#-'%3#6'7&'1.),%'6#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#/! /"#89&-:..%)%*#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#;! 2"#<.7=63%('#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#;! 2"!#>456,'('6?@,('&&'%#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#A! 2"/#+3@7)&.'6#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#A! 2"2#B&&C3--7)&.'6#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#D! 2";#>'%3#6'7&'1.),%'6#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#E! 2"A#0)()*3#6'7&'1.),%'6#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!F! 2"G#8,(H&'63(#7=6(6=I%)%*#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!F! 2"D#>.'6',3%C3--%)%*#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!!! 2"E#>&H.*)&.)*#@,('&&#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!/! ;"#J'-H&.3.#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!/! A"#>&H.-3.-'6#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!G! J'7'6'%-'6#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!E! K)L&),*637)#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#!E!

1. Inledning 1.1 Konsten Så länge som inspelningar har gjorts har man strävat efter att få en perfekt blandning av ljudkällan och rummets efterklang. Badrumsekot i Heartbreak Hotel 1958 skapades genom att man placerade en mikrofon och en högtalare i en yttre korridor [1]. Högtalaren spelade upp Elvis sång och mikrofonen plockade upp Elvis sång inklusive efterklangen i hallen. På så sätt placerade man Elvis röst i ett badrum, ett originellt sound men framför allt också ett nytänkande i att man faktiskt kan lägga på efterklangen i efterhand. Ordet efterklang har i engelskan sin närmaste motsvarighet i ordet reverberation. Effekter som skapar efterklang kallas reverb, och att lägga på efterklang kallas oftare att lägga på ett reverb. Medan ljudteknikern som placerade Elvis i ett badrum var fantasirik blev det ingen normal ljudbild han skapade. Hur mycket efterklang som följer med i förhållande till direktljudet blir beroende på hur nära man tar upp ljudet. Med hjälp av tekniken kan man förstärka eller återskapa effekten för att placera ljud spatialt och i olika miljöer. Vid filmproduktion håller ofta det ljud som plockas upp på inspelningsplatsen dålig kvalitet på grund av ojämn dialogvolym eller bakgrundsljud som man inte kan kontrollera. Dialogen spelas då in på nytt och om scenen till exempel utspelar sig i ett varuhus kommer artificiell efterklang väl till hands för att placera rösterna spatialt för en naturlig ljudbild. En signal med lite eller ingen efterklang i förhållande till direktljudet kallas torr och en med mycket efterklang våt. Ju närmare en ljudkälla man tar upp ljud, med mikrofon eller öron, desto torrare signal får man. Hur mycket efterklang som följer ett ljud indikerar hur det placeras spatialt. Ju närmare du ställer dig en ljudkälla desto närmare upplever du den, delvis för den visuella information man tar in, men även mängden efterklang är en informationskälla för lokalisering. En våt signal placeras spatialt längre bort i rummet och en torr väldigt nära. 1.2 Tekniken Ett modernare sätt att återskapa efterklang är med hjälp av faltning (convolution på engelska). En grov beskrivning är att man kopierar ljudbilden av ett rum genom att spela upp ett ljudsvep med alla hörbara frekvenser (vanligtvis specificerat som 20 20 000 Hz) och sedan trycka ihop detta som att det var en puls som innehöll samtliga frekvenser som exciterade rummet. Sedan utför man faltning på varje in-sampel med det erhållna resultatet. Problemet med denna Gustav Rathsman 2012-11-05 1 (18)

metod är att det kräver mycket minne och processorkraft och dessutom kan resultatet bli statiskt och onaturligt. Datorbelastning är en viktig faktor i återskapande av efterklang. Att effektivisera koden och kompromissa ljudkvalitet mot effektivitet kan vara en stor del av att utveckla en reverbalgoritm beroende på dess användningsområde. Inom Digital Signal Processing (DSP) finns två viktiga distinktioner mellan filterfunktioner, ändlig impulsrespons (Finite Impulse Response, FIR) och oändlig impulsrespons (Infinite Impulse Response, IIR). Faltning är ett exempel på FIR där varje in-sampel multipliceras med ett förbestämt antal värden framåt i tiden. IIR-filter använder sig av en rekursiv funktion där en faktor av tidigare ut-sampel tas med i vad som sänds ut. Om man gör ett enkelt IIR-filter som skickar ut in-sampel direkt och adderar föregående utsampel multiplicerat med en faktor 0,5 så får man som respons på en impuls {1, 0, 0, } en utsignal {1; 0,5; 0,25; 0,125; } med endast en beräkning per in-sampel. Ska man göra samma filterfunktion med ett FIR-filter behöver man för bara de fyra värdena göra fyra beräkningar för varje in-sampel och lagra resultatet i fyra sampels tid. Om man då ser till ett FIR-filter som ska ge en sekunds efterklang innebär detta minst 44100 beräkningar per insampel. Ett IIR-filter kan dock inte återskapa med samma noggrannhet som ett FIR-filter. 1.3 Tidiga och sena reflektioner Figur 1 visar hur efterklang brukar delas upp i tidiga och sena reflektioner. Figur 2 visar hur de tidiga reflektionerna i ett rektangulärt rum typiskt studsar en eller ett par gånger medan sena reflektioner tar en längre väg innan de träffar mottagaren. I den tidiga efterklangen går ljudet den kortaste vägen med bara ett fåtal studsar. Diskant har inte hunnit absorberas av väggar, luft och andra absorbenter och de kan därför ha ett relativt skarpt ljud. Medan det ofta är tacksamt för musiker på scen som får extra medhörning av tidiga reflektioner så upplevs de i inspelningar ofta som att de bara gör ljudbilden mindre tydlig på grund av att varje transient mer eller mindre dupliceras. Den sena efterklangen slår sedan som en våg (Reverberant field i Figur 1) och rinner sakta ut med ett mer diffust ljud på grund av absorption. Ju större rum desto längre tid tar det för den att avklinga. Som allt annat ska det brukas i lagom mängd och för mycket och/eller för lång efterklang kan göra det svårt att urskilja information från musik eller röster. Längre efterklang innebär också mer luft att flytta för ljudvågen och därmed ett större bortfall av höga frekvenser. Gustav Rathsman 2012-11-05 2 (18)

Ett vanligt sätt att definiera längden på efterklang är Sabines standard RT60. Man mäter då tiden det tar för efterklangen att sjunka 60 db från direktljudet. Figur 1. Exempel på hur en typisk impulsrespons för ett rum delas upp [2] Figur 2. Ett exempel på hur tidiga och sena reflektioner kan utbreda sig i ett rum [2] Gustav Rathsman 2012-11-05 3 (18)

2. Målsättning Målet med projektet är att ta fram en algoritm för verklighetstrogen återskapning av rumsklang i en sal. Analys för slutsatser om dess verklighetstrogenhet ska utföras genom jämförelse i frekvens- och tidsplan med uppmätta rum och/eller erkända digitalreverb. Som förebild har jag valt en impulsrespons från digitalreverbet Bricasti M7 inställd på algoritmen Amsterdam Hall. Den har enligt specifikation en RT60-tid på 2,3 sekunder. Eftersom jag kommer att bygga algoritmen från grunden kommer jag med stor sannolikhet få ett resultat som skiljer sig avsevärt sett ur subjektiv synpunkt, dock kan det vara bra att ha någonting att förhålla sig till och sträva efter ur teknisk synpunkt. Jag kommer att prioritera ljudmässiga resultat framför att hålla nere datorbelastningen och kommer också därför att utföra analysen och värdera resultaten därefter. Spektrogram och vattenfallsdiagram där amplituden ställs i förhållande till både tid och frekvens kommer att vara essentiella för utvecklingen och får därför också till stor del visa resultatet av arbetet. 3. Utförande Algoritmen har skrivits i C++ där filter har realiserats som objekt, kompilerats och sedan konverterats till ljudfil med hjälp av MATLAB. Samplingsfrekvens är genomgående 44100 Hz. Beslut har fattats efter plottning av amplitud i förhållande till tid och senare med hjälp av vattenfallsdiagram och spektrogram med hjälp av Room EQ Wizard. Arbetet på algoritmen för sena reflektioner har prioriterats framför tidiga eftersom det främst är de som används vid efterproduktion. Gustav Rathsman 2012-11-05 4 (18)

3.1 Schroeder-modellen I rapporten Natural Sounding Artificial Reverberation [3] föreslår Schroeder en modell där kamfilter parallellkopplas i serie med allpassfilter enligt Figur 3 för att modellera de sena reflektionerna. Eftersom filtereffekterna realiseras genom att rekursivt addera fördröjd insignal används dessa för att simulera reflektioner i ett rum. Figur 3. Flödesschema för Schroeders modell för sen efterklang Minst 1000 reflektioner per sekund hävdas vara nödvändigt för att få reflektionerna tätt nog så att ljudet inte blir fluttrigt (hastiga svängningar i volym, till exempel som att ljudet flyger fram och tillbaka i rummet mellan två väggar). För tidiga reflektioner föreslås ett tapped delay. Detta kan realiseras med ett FIR-filter och mata modellen för sena reflektioner med insignal. 3.2 Kamfilter Kamfiltret är den första länken i Schroeder-modellen. Figur 4 visar hur modellen fördröjer insignalen innan den skickas vidare. En faktor av den fördröjda signalen återkopplas för att skapa ett IIR-filter. Figur 5 visar hur impulsresponsen med tiden matar ut en svagare portion av signalen. Figur 6 visar frekvensresponsen för ett filter där fördröjningen satts till 441 sampel, vid given samplingsfrekvens motsvarande 10 ms fördröjning. Eftersom signalen återkommer var tionde millisekund blir det en periodiskt återkommande signal med frekvensen 100 Hz och i frekvensresponsen syns periodiska maximum och minimum med intervaller på 100 Hz. Gustav Rathsman 2012-11-05 5 (18)

Figur 4. Flödesschema för kamfiltermodellen CCombFilter g g 2 g 3 g 4 GAIN 0 1 2 3 4 TIME Figur 5. Impulsrespons för kamfiltermodellen Gustav Rathsman 2012-11-05 6 (18)

Figur 6. Frekvensrespons för kamfiltermodellen. (T = 441 sampel; g = 0,5) 3.3 Allpassfilter Figur 7 visar hur kamfiltret modifierats för att realisera ett allpassfilter. En faktor av insignalen tas ut tillsammans med en fördröjd och återkopplad insignal. Impulsresponsen som visas i Figur 8 visar främst en skillnad från kamfiltret i Figur 5 vid tidpunkten 0. Detta beror på att allpassfiltret till skillnad från kamfiltret sänder ut en faktor av signalen utan fördröjning. Filtret skapar en opåverkad frekvensrespons enligt Figur 9. Med hjälp av allpassfilter kan alltså reflektioner simuleras utan att färga signalens frekvensinnehåll. Figur 7. Flödesschema för allpassfiltermodellen Gustav Rathsman 2012-11-05 7 (18)

CAllPassFilter 1 g 2 Gain (1 g 2 )g (1 g 2 )g 2 (1 g 2 )g 3 g 0 1 2 3 4 TIME Figur 8. Impulsrespons för allpassfiltermodellen Figur 9. Frekvensrespons för allpassfilter-modellen (T=441 sampel, g = 0,5) 3.4 Sena reflektioner Jag började med hjälp av filtermodellerna att skapa ett nätverk enligt den ursprungliga Schroeder-modellen, dvs. 4 kamfilter och 2 allpassfilter, där den minsta fördröjningen i ett av de parallellkopplade kamfiltrena motsvarar den minsta fördröjningen efterklangen kan få från direktljudet. Fördröjningsvärdena sattes mellan 30ms och 45ms. Faktorn g räknades fram enligt följande formel, där T är önskad efterklang, t fördröjning mellan reflektionerna [3]. Gustav Rathsman 2012-11-05 8 (18)

!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!"!"!!!!"!!"#!!!! Enligt Schroeder bör värden på g inte överskrida 0,85 på grund av instabilitet. Eftersom beräkningen ger ett alldeles för högt värde för den önskade efterklangen på ca 2,3 sekunder valdes 0,75 som värde för att vara på den goda sidan av stabilitet och att se vad som händer med en hypotes att antalet filter kan ökas och på så sätt dra ut efterklangen. De två allpassfiltrena sattes till 1,7ms respektive 5ms med förstärkningsfaktor 0,7. Resultatet av modellen med dessa inställningar blev alldeles för få reflektioner och ett väldigt metalliskt fluttrigt ljud. För att öka antalet reflektioner sattes två allpassfilter till i serie på slutet med samma faktor och fördröjningstider satta till värden mellan de två tidigare. I ett försök att åstadkomma en mjukare uppbyggnad av signalen faltades utsignalen med ett åtta sampels långt Hammingfönster. Medan detta inte hade någon inverkan på uppbyggnaden gav det högre densitet för reflektionerna och en speciell sorts lågpassfiltrering. Tester med fyra extra kamfilter gjorde ingen större skillnad. Fyra extra allpassfilter hjälpte till att göra uppbyggnaden mjukare samt reflektionsdensiteten större, men även antalet beräkningar ökar. Här prioriterades ljudkvalitet framför antalet beräkningar. I ett försök att lösa problem med metalliskt ljud ändrades förstärkningsfaktorn från filter till filter, så att alla inte hade exakt samma värde (0,75 för kamfilter och 0,7 för allpassfilter). Genom att sätta kortare tider på kamfilter erhölls ett tätare och bättre ljud som gav mindre flutter men också kortare efterklang. Resultatet var ett väldigt metalliskt onaturligt ljud. Hammingfönstret jämfördes med fönstermodellerna Tukey och Cosine för att välja det bästa fönstret ur en subjektiv synpunkt och eventuellt få bukt på det metalliska ljudet, men Hamming stod kvar som det bästa alternativet. Efter experimenterande med filtrens fördröjningstider drogs slutsatsen att nuvarande värden var för proportionella gentemot varandra. Eftersom jämna multiplar av fördröjningstider i filtermodellerna kan orsaka superposition och på så sätt släcka ut eller förstärka enskilda frekvenser bör detta undvikas. En mer exponentiell ökning från kortaste till längsta fördröjning gjorde resultatet mindre metalliskt och ger dessutom en mjukare byggnad till högsta algoritmens högsta värde. I ett försök att få ner antalet beräkningar ändrades antalet kamfilter för att se hur den nya kedjan skulle reagera (i detta fall bestod uppsättningen av 4 kamfilter parallellt följt av 8 Gustav Rathsman 2012-11-05 9 (18)

allpassfilter i serie). En minskning till två kamfilter gav för lite reflektioner och återigen ett fluttrigt metalliskt ljud. Ökning av antalet innebar fortsatt ingen större skillnad. För att öka diskantbortfall med tiden likt luftabsorption placerades ett lågpassfilter i återkopplingen av kamfiltermodellen enligt Figur 10. Ju längre fördröjning för reflektionen, desto hårdare lågpassfiltrering för att simulera att ljudet färdats längre i luften. Figur 10. Kamfilter med lågpassfilter i återkopplingen för att simulera absorption 3.5 Tidiga reflektioner Det första försöket att konstruera en modell för tidiga reflektioner gjordes enligt Schroeder med hjälp av ett tapped delay. Detta innebär att man tar ut faktorer av signalen efter ett par valda antal sampels fördröjning. Detta realiserades med hjälp av ett FIR-filter, men lyckades inte skapa bra densitet på reflektionerna och genererade onaturlig respons. En likhet med impulsresponsen från kamfilter märktes och modellen realiseras istället med hjälp av parallella kamfilter. 3.6 Modulerad fördröjning Metalliskt ljud och uppenbara amplitudsvängningar kan finnas i ljud om det är ett statiskt system där vissa frekvenser adderas ihop och på så sätt skapar förstärkningar och utsläckningar i den totala vågen. I ett försök att hålla nere dessa skapades en modell där varje in-sampel fördröjs med en tid som ändras periodiskt. David Griesinger ser också detta som ett sätt att simulera till exempel en musiker som rör sig på scenen eller en lyssnare som inte sitter still och på så sätt få ett mer naturligt ljud [4]. Modulerings-modellen fungerar bäst placerad i de tidigare allpassfiltrena och på låga modulationshastigheter då tidsändring i fördröjningstider har en tendens att skapa klick och andra digitala artefakter som då kan smetas ut av andra filter. Gustav Rathsman 2012-11-05 10 (18)

3.7 Stereoanpassning Stereo kan simuleras enkelt genom att i andra kanalen ändra fas- och/eller amplitudinnehåll. För att få en liknande impulsrespons men som ändå skiljer sig från originalet vore det bästa att köra algoritmen på nytt med lite annorlunda värden. Sett till processorutnyttjande vore detta oerhört ineffektivt. För att förskjuta fasen kanalerna emellan behöver man endast fördröja den ena kanalen gentemot den andra. Om man tittar på Amsterdam Hall-algoritmens frekvensrespons är den helt identisk i båda kanaler och det är bara fasinnehållet som ändras för en stereobild. Gustav Rathsman 2012-11-05 11 (18)

3.8 Slutgiltig modell Efter att de tidiga reflektionerna satts först i kedjan som matning till de sena reflektionerna gjordes ett sista försök att minska antalet filter, och antalet allpassfilter kunde reduceras till fem. För att sänka överdriven energi i subbas-frekvenser placerades ett högpassfilter före utgången. Flödesschemat för den slutgiltiga modellen kan ses i Figur 11. Figur 11. Flödesschema för slutgiltig modell för algoritmen 4. Resultat I Figur 12 och Figur 13 visas diagram över frekvensrespons respektive RT60-värde för de två algoritmerna. Den framtagna algoritmen visas som grön och Amsterdam Hall-algoritmen som röd. Decibelvärdena för ljudtryck är relativa till datorns kalibrering. I Figur 12 syns toppar som sticker ut vid cirka 90 Hz och 1,2 khz för den framtagna algoritmen. Vattenfallsdiagrammen i Figur 16 och Figur 17 urskiljer tydligast de största skillnaderna mellan algoritmerna. Den syns framförallt i de högre frekvensområdenas bortfall med tiden i, där den framtagna algoritmen har ett brantare avfall. Det syns även på RT60-jämförelsen i Figur 13 där skillnaden i efterklang vid 10 khz är drygt 0,6 sekunder. Avfallet syns inte lika tydligt på spektrogrammen i Figur 14 och Figur 15, men att lutningen börjar vid högre frekvenser och är brantare i den framtagna algoritmen går att urskilja. Gustav Rathsman 2012-11-05 12 (18)

Spektrogrammen visar också en tydlig skillnad i frekvensområdet runt 200-800 Hz. Den framtagna algoritmen har initialt högre energi, men efter knappt en sekund har den fallit av och färre frekvenser klingar ut lika länge. Figur 12. Jämförelse av frekvensrespons för de två algoritmerna Figur 13. Jämförelse av RT60-värden för de två algoritmerna Gustav Rathsman 2012-11-05 13 (18)

Framtagning av algoritm för artificiell efterklang Figur 14. Spektrogram för den framtagna algoritmen Figur 15. Spektrogram för Amsterdam Hall-algoritmen Gustav Rathsman 2012-11-05 14 (18)

Figur 16. Vattenfallsdiagram för den framtagna algoritmen Figur 17. Vattenfallsdiagram för Amsterdam Hall-algoritmen Gustav Rathsman 2012-11-05 15 (18)

5. Slutsatser De första försöken att simulera tidiga reflektioner med hjälp av ett FIR-filter övergavs väldigt fort då likheten med parallellkopplade kamfilter upptäcktes. Vidare experiment med denna teknik skulle potentiellt kunna minska antalet beräkningar med liknande resultat. För att testa algoritmen subjektivt implementerades algoritmen i en VST-plugin, ett gränssnitt kompatibelt med många musikprogram. Tyvärr lyckades inte integreringen med pålitlig funktion. Det som faktiskt fungerat i ett program har skiljt sig från mätningar och har inte fungerat alls i andra program som ska stödja gränssnittet. Den modulerade fördröjningen som tagit bort svängningar och metalliskt ljud och gett ett jämnt resultat då impulsresponsen exporterats till WAV-filer med hjälp av MATLAB har i andra program gjort ljudet fluttrigt. På grund av dessa oregelbundenheter har subjektiv analys lämnats till endast impulsresponsen som exporterats i samband med experiment. Under utvecklingen har det hela tiden tagits beslut från hur det låter och hur det ser ut på skärmen. Jämförelse med spektrogram påbörjades relativt sent i arbetet och det skulle kunna ha hjälpt mer på vägen. Det visar densiteten vid specifika frekvenser bra och de områden där det varit för mycket eller för lite energi har kunnat identifieras snabbt och enkelt. Samtidigt kan spektrogrammet inte höra när någonting blir fel ur en subjektiv synpunkt, så som flutter eller knaster. Beslut som fattas efter subjektiv analys förutsätter dock att det som hörs analyseras rätt. Frågan kvarstår om flitigare analys av mätdata hade kunnat ge bättre resultat. Topparna som syns i Figur 12 väcker tankar om att ett flertal kamfilter har maximum i just dessa frekvensområden. Noder där särskilda frekvenser sticker ut på det här sättet är sällan önskvärt. Vidare beräkning och justering av de parametrar som använts på filtermodellerna skulle kunna förhindra att för många filter arbetar i samma frekvensområden. När man jämför bortfallet av energi vid högre frekvenser mellan de två algoritmerna i Figur 14 och Figur 15 ser man ett betydligt mjukare avfall som även når lägre frekvenser i Amsterdam Hall-algoritmen. Lågpassfiltret är en essentiell del av nätverket och vidare arbete för att förbättra den modellen skulle påverka slutresultatet positivt. En sak som visade sig ha oerhörd inverkan på reflektionsdensiteten i den sena efterklangen är Schroeders förslag att använda de tidiga reflektionerna som insignal till algoritmen som skapar de sena. Istället för ett sampel in i modellen som skapar flera tiotal tusen reflektioner i modellen för sena reflektioner multipliceras detta antalet med de tusental som skapas som tidiga reflektioner. Utan några extra beräkningar erhölls betydligt högre densitet. Gustav Rathsman 2012-11-05 16 (18)

Om en ny algoritm skulle tas fram enligt den här modellen skulle det vara en god idé att börja med framtagningen av tidiga reflektioner. Eftersom de matas vidare till modellen för sena reflektioner hade förhöjd kvalitet på de tidiga reflektionerna kunnat bidra till en högre kvalitet även på sena reflektioner. Det hade också kunnat underlätta det arbete som gjorts att få hög densitet och rätt längd på efterklangen. Gustav Rathsman 2012-11-05 17 (18)

Referenser [1] Holger Larsen, Att överlista mediet, STM-Online, 1998, vol. 1. [2] Reverberation, SAE Institute Amsterdam. Tillgänglig på internet: http://www.sae.edu/reference_material/audio/pages/reverb.htm [2012-05-28]. [3] M. R. Schroeder, Natural Sounding Artificial Reveberation, Journal of the Audio Engineering Society, 1962, vol. 10, nr 3. [4] David Griesinger, Practical Processors and Programs for Digital Reverberation, 1989, 21/3. Bibliografi Andrea Primavera, Lorenzo Palestini, Stefania Cecchi, Francesco Piazza och Marco Moschetti, A Hybrid Approach for Real-Time Room Acoustic Response Simulation, Audio Engineering Society Convention Paper 8055, 2010. Andrea Primavera, Stefania Cecchi, Laura Romoli, Paolo Peretti och Francesco Piazza, An Advanced Implementation of a Digital Artificial Reveberator, Audio Engineering Society Convention Paper 8333, 2011. Francis Rumsey och Tim McCormick, Sound and Recording, Focal Press, 2009. F. Alton Everest & Ken C. Pohlmann, Master Handbook of Acoustics, McGraw Hill, 2009. Richard Boulanger och Victor Lazzarini, The Audio Programming Book, The MIT Press, 2011. Spin Semiconductor Knowledge Base. Tillgänglig på internet: http://www.spinsemi.com/knowledge_base/effects.html#reverberation [2012-05-28]. Freeverb 3 Reverb Algorithms Tips. Tillgänglig på internet: http://freeverb3.sourceforge.net/reverb.shtml [2012-05-28]. Music-DSP Source Code Archive. Tillgänglig på internet: http://www.musicdsp.org/archive.php?classid=4 [2012-05-28]. Gustav Rathsman 2012-11-05 18 (18)