Real-time Convolution of Two Unknown Signals for Use in a Musical Context
Abstract
I denne oppgaven foreslås en fremgangsmåte for konvolusjon av to sanntids lydsignaler, til bruk i live-opptredener eller post-produksjon. I motsetning til tradisjonelle konvolusjonsteknikker, som krever en forhåndsdefinert impulsrespons som ett av inngangssignalene, tillater vår metode konvolusjon av to kontinuerlig oppdaterte, og ukjente, signaler, slik at to musikere kan forme hverandres klanglige og tidsmessige bidrag.Målet var å skape en effekt som høres ut som konvolusjon, tilbyr lav utgangsforsinkelse, og gir tilfredsstillende tilbakemelding til musikere. For å oppnå dette har en kombinasjon av tids- og frekvensdomeneteknikker blitt brukt. Dette kombinerer lav CPU-belastning, takket være FFT-basert frekvensplanprosessering, med den lave forsinkelsen assosiert med tidsdomenet. For å håndtere begrensningene forbundet med konvolusjon, nemlig at for å utføre ideell konvolusjon av to uendelige signaler, kreves det etter hvert uendelig minne og prosessorkraft, har transientdeteksjon blitt brukt til å segmentere signalene på en musikalsk relevant måte. Segmentering ved hjelp av transienter gjør også effekten mer intuitiv for brukerne ved å øke deres evne til å samhandle rytmisk.Et grafisk brukergrensesnitt ble utviklet, og effekten ble implementer som en VST plug-in, slik at brukere enkelt kan benytte effekten i DAWer.Effekten ble prototypet i Matlab, og senere implementert i Csound og C. Cabbage-rammeverket ble benyttet for VST-implementasjonen.