DSP-teoretisk spørgsmål

Musikbranche og ophavsrettigheder, musikteori, artister, sange og videoer, butikker.
Nyt svar
Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

DSP-teoretisk spørgsmål

Indlæg af Mike-air »

Overvejer pt. om følgende er muligt. Vil godt advare om at det er lidt teknisk, men med vilje også simplificeret nogle steder:

Forestil dig at tage et kort lydklip L hvor der sker noget i hele frekvensspektret. Tag herefter furier-transformationen f(l) for hvert sample l i lydklip L, med og uden DSP behandling (kunne være en GSSL komp), hvilket så skulle give to L x F matricer (X1 og X2), hvor F er frekvensspektret på spektrogrammerne, f(l), og L her er mængden af samples i lydklippet. X1 er L uden DSP og X2 er L med.

Herefter fittes en F-dimensionel ikke-lineær regressionsmodel M (et neuralt net), som tager X1 som input, -og X2 som output vektor.

Teoretisk set, burde modellen jo så indlære funktionen af GSSL’en, og hvis blot M er defineret/trænet rigtigt, på nok samples l, så burde det vel kunne generaliseres til andre lydklip?

Kort sagt burde man vel kunne klone analog (hvilken som helst) signal processering via følgende metode, sålænge vi kan måle alt i spektrogrammet?

Men det er vel sikkert også noget lignende alle de dyre plugins bruger? Eller har de manuelt siddet og forsøgt at emulere alle komponenterne i eks. En GSSL, og tweaket deres kode indtil det lød rigtigt?

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

(Tanken kom fra DIY plugin tråden, men fordi det er meget teoretisk, tænkte jeg det var bedre at spørgsmålet kom her ind)

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

(Så det kunne dø i fred)

Medlemsavatar
Joachip
Forum Donator
Indlæg: 2641
Sted: Vesterbro

Indlæg af Joachip »

"Tag herefter furier-transformationen f(l) for hvert sample l i lydklip L"
Normalt laver man sådan en fourier-transformation på en hel blok af samples. Den virker slet ikke på en enkelt sample. (Typiske størrelser på sådan en blok er 2^n ... f.eks. 2048, 4096 eller helt op til 32768 samples alt efter hvad man leder efter.)

Det næste problem du vil få, er at FFT generelt er godt til at sige noget om frekvenser, men ikke særligt godt til at sige noget om tid og fase. Og noget som en kompressor arbejder meget med transienter, hvilket FFT er notorisk dårligt til at genkende.

Hvor meget machine learning så kan gøre, skal jeg ikke kunne sige. Jeg har ikke forstand på den slags.
Jeg laver også gratis plugins: www.robotplanet.dk/audio_plugins

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

Joachip skrev:"Tag herefter furier-transformationen f(l) for hvert sample l i lydklip L"
Normalt laver man sådan en fourier-transformation på en hel blok af samples. Den virker slet ikke på en enkelt sample. (Typiske størrelser på sådan en blok er 2^n ... f.eks. 2048, 4096 eller helt op til 32768 samples alt efter hvad man leder efter.)

Det næste problem du vil få, er at FFT generelt er godt til at sige noget om frekvenser, men ikke særligt godt til at sige noget om tid og fase. Og noget som en kompressor arbejder meget med transienter, hvilket FFT er notorisk dårligt til at genkende.

Hvor meget machine learning så kan gøre, skal jeg ikke kunne sige. Jeg har ikke forstand på den slags.
Ah, shit. Det kom også lidt på gefühl. Godt du fangede det.

Okay, ja det er da bestemt et problem. Er der andre typer transformeringer der ville give mening at gøre, som supplement til ovenstående?

Medlemsavatar
Joachip
Forum Donator
Indlæg: 2641
Sted: Vesterbro

Indlæg af Joachip »

Hvis man vil prøve at analysere hvorfor én kompressor lyder godt, og en anden ikke gør, så skal man jo helst have et ret godt clue om hvad forskellen virkeligt skyldes. Og hvis jeg vidste det, ville jeg allerede være i gang med at implementere det som et plugin nu! :-D

Mit bedste bud er nok at se på hvilken form og størrelse attack og release kurverne har ved forskellige niveau'er, og det er et meget stort flerdimensionelt rum der skal undersøges. Jeg ville nok lave en sinustone ved f.eks. -30 dB (minimumsværdi) og så pludselig skrue den op til -10 dB (maximumsværdi) og se hvordan attack tiden reagerer. Efter lidt tid vil jeg så skrue den tilbage ned på -30 dB og se hvordan release tiden reagerer.

Dette vil jeg så gøre for...
*) Forskellige minimumsværdier ud af den ene akse
*) Forskellige maximumsværdier ud af den anden akse
*) Forskellige frekvenser ud af den tredie
*) Forskellige waveforms, ikke bare sinus

Og hele ovenstående vil så kun sige noget om én indstilling af sådan en kompressor. Og jeg er ikke engang sikker på at man vil fange alting på den måde.
Jeg laver også gratis plugins: www.robotplanet.dk/audio_plugins

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

Joachip skrev:Hvis man vil prøve at analysere hvorfor én kompressor lyder godt, og en anden ikke gør, så skal man jo helst have et ret godt clue om hvad forskellen virkeligt skyldes. Og hvis jeg vidste det, ville jeg allerede være i gang med at implementere det som et plugin nu! :-D
Men det er ikke målet. Her er det en arbitrær DSP på et lydklip der er interessant.

Målet er her at finde nogle input dimensioner som kan bruges til at finde funktionen for DSP-processen.

Det her lyder rigtigt;
Joachip skrev:Mit bedste bud er nok at se på hvilken form og størrelse attack og release kurverne har ved forskellige niveau'er, og det er et meget stort flerdimensionelt rum der skal undersøges.
Flerdimensionelle rum er vi ikke bange for, så længe vi har masser af samples. Og det er jo heldigvis ikke et problem her.

Spektrogrammet er jeg stadig tilhænger af, fordi det giver mulighed for at opfange ændringer i frekvensspektret.
Måske man kunne kombinere den med en vektor med de originale samples. Eks. 2048-dimensionel spektrogram, kobineret med 2048-dimensionel vektor med amplituden, hvilket vil gi et 4096-dimensionelt rum, som for et lydklip med 409600 samples, vil give 100 eksempler at træne regressionsmodellen på.

Medlemsavatar
Christoffer I. N.
Lydmaskinist
Indlæg: 35557
Sted: Hørsholm

Indlæg af Christoffer I. N. »

Med fare for at de-raile tråden, så har Unfiltered Audio bygget en compressor ind i SpecOps:
https://www.plugin-alliance.com/en/prod ... ecops.html

Billede

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

Christoffer I. N. skrev:Med fare for at de-raile tråden, så har Unfiltered Audio bygget en compressor ind i SpecOps:
https://www.plugin-alliance.com/en/prod ... ecops.html

Billede
Det er ikke helt i skoven. Så er det bare at tænke over hvordan de mon har gjort;
The magic all starts with SpecOps’ powerful analysis engine, which instantly splits your audio into thousands of tiny frequency slices, or “bins,” for real-time processing. You can apply pitch and frequency shifting or a Freeze effect to all bins, but that’s just the start. In a snap, you can add up to three unique spectral effects from dropdown menus for simultaneous use - with each processor applied to a different frequency band! Then compress or expand thousands of frequency bins independently and at once using the Spectral Compander’s simple.......

Medlemsavatar
Smittefar
Forum Donator
Indlæg: 5191
Sted: Søborg

Indlæg af Smittefar »

Det er vist noget i den dur, en Kemper Profiling Amp laver. Ved at sende forskellige testsignaler gennem (pedaler)->guitarforstærker->Højttaler->Mikrofon->MikrofonPreamp prober den, hvordan kæden reagerer på de forskellige input (inkl. frekvensgang, distortion/saturation, kompression, etc), og derefter laver den en model, og man kan nu spille gennem Kemperen, og det lyder utroligt tæt på den analoge kæde, man havde til at begynde med.

Find mig på: Youtube | Facebook | Hjemmeside - eller i mit band Jump

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

Smittefar skrev:Det er vist noget i den dur, en Kemper Profiling Amp laver. Ved at sende forskellige testsignaler gennem (pedaler)->guitarforstærker->Højttaler->Mikrofon->MikrofonPreamp prober den, hvordan kæden reagerer på de forskellige input (inkl. frekvensgang, distortion/saturation, kompression, etc), og derefter laver den en model, og man kan nu spille gennem Kemperen, og det lyder utroligt tæt på den analoge kæde, man havde til at begynde med.
Super sejt! Så gad jeg bare godt vide noget mere om hvilken datastruktur/transformationer der ligger inde bagved, så man forstod det 100%..

Men det ligger jo nok bare ikke frit tilgængeligt, siden det er kommerciel software :-/

Medlemsavatar
Smittefar
Forum Donator
Indlæg: 5191
Sted: Søborg

Indlæg af Smittefar »

Nej, det er de vist rimelig hemmelighedsfulde omkring. Der findes Kemperfora - jeg ved ikke, om man kunne finde ledetråde på nogen af dem.
Find mig på: Youtube | Facebook | Hjemmeside - eller i mit band Jump

Medlemsavatar
Mike-air
Forum Donator
Indlæg: 10300
Sted: Oslo

Indlæg af Mike-air »

Fandt et paper som nævner en masse spændende ting om preprocessering:

https://arxiv.org/pdf/1406.7314.pdf

Nyt svar