Deep learning förvandlar monoinspelningar till uppslukande ljud

Samuel Dixon | Unsplash





Lyssna på en fågel som sjunger i ett närliggande träd, så kan du relativt snabbt identifiera dess ungefärliga plats utan att titta. Lyssna på dånet från en bilmotor när du korsar vägen, och du kan vanligtvis direkt se om den är bakom dig.

Den mänskliga förmågan att lokalisera ett ljud i tredimensionellt rum är extraordinär. Fenomenet är väl förstått - det är resultatet av den asymmetriska formen på våra öron och avståndet mellan dem.

Men medan forskare har lärt sig hur man skapar 3D-bilder som lätt lurar våra visuella system, har ingen hittat ett tillfredsställande sätt att skapa syntetiska 3D-ljud som på ett övertygande sätt lurar våra ljudsystem.



Idag ser det ut att förändras åtminstone delvis, tack vare arbetet av Ruohan Gao vid University of Texas vid och Kristen Grauman på Facebook Research. De har använt ett knep som människor också utnyttjar för att lära ett AI-system att konvertera vanliga monoljud till ganska bra 3D-ljud. Forskarna kallar det 2,5D-ljud.

Först lite bakgrund. Hjärnan använder en mängd olika ledtrådar för att ta reda på var ett ljud kommer ifrån i 3D-rymden. En viktig ledtråd är skillnaden mellan ett ljuds ankomsttider vid varje öra - den interaurala tidsskillnaden.

Ett ljud som produceras till vänster kommer uppenbarligen till ditt vänstra öra före det högra. Och även om du inte är medveten om denna skillnad, använder hjärnan den för att avgöra var ljudet kommer ifrån.



En annan ledtråd är skillnaden i volym. Samma ljud kommer att vara högre i vänster öra än i höger, och hjärnan använder också denna information för att göra sin beräkning. Detta kallas den interaurala nivåskillnaden.

Dessa skillnader beror på avståndet mellan öronen. Stereoinspelningar återger inte denna effekt, eftersom separationen av stereomikrofoner inte matchar den.

Hur ljud interagerar med öronlappar är också viktigt. Klaffarna förvränger ljudet på sätt som beror på riktningen det kommer ifrån. Till exempel når ett ljud framifrån hörselgången innan det träffar öronfliken. Däremot förvrängs samma ljud som kommer bakom huvudet av öronfliken innan det når hörselgången.



Hjärnan kan också känna av dessa skillnader. I själva verket är den asymmetriska formen på örat anledningen till att vi kan se när ett ljud kommer från ovan, till exempel, eller från många andra håll.

Tricket att återge 3D-ljud på konstgjord väg är att återskapa effekten som all denna geometri har på ljud. Och det är ett tufft problem.

Ett sätt att mäta distorsionen är med binaural inspelning. Det här är en inspelning som görs genom att placera en mikrofon inuti varje öra, som kan fånga upp dessa små variationer.



Genom att analysera variationerna kan forskare sedan reproducera dem med hjälp av en matematisk algoritm som kallas en huvudrelaterad överföringsfunktion. Det förvandlar alla vanliga hörlurar till extraordinära 3D-ljudmaskiner.

Men eftersom allas öron är olika, hör alla ljud på olika sätt. Så att skapa en persons huvudrelaterade överföringsfunktion innebär att man mäter formen på personens öron innan man spelar en inspelning. Och även om det kan göras i labbet, har ingen räknat ut hur man gör det i naturen.

Ändå finns det sätt att approximera 3D-ljud med hjälp av ljudförvrängningar som inte beror på öronformen – interaural tid och nivåskillnader.

Knepet som Grauman och Gao använder är att avgöra vilken riktning ett ljud kommer från med hjälp av visuella signaler (som människor ofta också gör). Så givet en video av en scen och monoljudinspelning, räknar maskininlärningssystemet ut var ljuden kommer ifrån och förvränger sedan de interaurala tids- och nivåskillnaderna för att producera den effekten för lyssnaren.

Föreställ dig till exempel en video som visar ett par musiker som spelar en trumma och ett piano. Om trumman är på vänster sida av synfältet och pianot till höger, är det enkelt att anta att trumljuden ska komma från vänster och pianot från höger. Det är vad detta maskininlärningssystem gör och förvränger ljudet därefter.

Forskarnas utbildningsmetod är relativt okomplicerad. Det första steget i att träna ett maskininlärningssystem är att skapa en databas med exempel på effekten det behöver lära sig. Grauman och Gao skapade en genom att göra binaurala inspelningar av över 2 000 musikklipp som de också filmade.

Deras binaurala inspelare består av ett par syntetiska öron åtskilda av bredden på ett mänskligt huvud, som också spelar in scenen framför sig med en GoPro-kamera.

Teamet använde sedan dessa inspelningar för att träna en maskininlärningsalgoritm för att känna igen var ett ljud kom ifrån med tanke på videon av scenen. Efter att ha lärt sig detta kan den titta på en video och sedan förvränga en monoinspelning på ett sätt som simulerar varifrån ljudet borde komma. Vi kallar den resulterande utmatningen för 2.5D visuellt ljud – den visuella strömmen hjälper till att 'lyfta' det platta enkanalsljudet till rumsligt ljud, säger Grauman och Gao.

Resultaten är imponerande. Du kan titta en video av deras arbete här – se till att ha hörlurar på dig när du tittar.

Videon jämför resultatet av 2.5D-inspelningar med monoinspelning och visar hur bra det kan vara. Det förutspådda visuella 2.5D-ljudet erbjuder en mer uppslukande ljudupplevelse, säger Grauman och Gao.

Den producerar dock inte fullt 3D-ljud på grund av de skäl som nämns ovan - forskarna skapar inte en personlig huvudrelaterad överföringsfunktion.

Och det finns vissa situationer som algoritmen har svårt att hantera. Uppenbarligen kan systemet inte hantera någon ljudkälla som inte syns i videon. Den kan inte heller hantera ljudkällor som den inte har tränats i att känna igen. Detta system är främst inriktat på musikvideor.

Ändå har Grauman och Gao en smart idé som fungerar bra för många musikvideor. Och de har ambitioner att utöka dess tillämpningar. Vi planerar att utforska sätt att införliva objektlokalisering och rörelse, och explicit modellera scenljud, säger de.

Ref: arxiv.org/abs/1812.04204 : 2,5D visuellt ljud

Dölj