Musik via AI-tråden

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

Musik via AI-tråden

Indlæg af Mike-air »

Jeg tænkte det kunne være fedt med en tråd hvor vi kan diskutere muligheder og begrænsninger indenfor det her område. Der er sket utroligt meget indenfor de sidste 3 år, "recent advances" har gjort at man kan generere både kunstige midi-sekvenser, tekster, stemmer og selv ansigter hvis ikke man selv gider være frontfigur!

Jeg tænker tråden her kan bruges til at poste egne projekter, samt reflektere over de muligheder og begrænsninger der ligger i forbindelse med at generere musik via AI.

Så byd gerne ind med egne projekter, artikler eller andet relateret til emnet.

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

Indlæg af Mike-air »

Mit eget, første projekt:
Jeg har længe været lidt fascineret af denne kobling, så nu har jeg skrevet noget kode (og stjålet lidt hist og her på github) til en model som genererer en sekvens af noder, baseret på noget andet musik den "lærer fra", kort fortalt.

Min model er (på grund af min computers kapacitet og den tid jeg kan dedikere til projektet), begrænset til at generere et enkelt instrument af gangen. Input midi er også simplificeret en del, forstået på den måde at det er "Quantized" til 1/16. Igen af samme årsag.

Mit personlige mål med projektet er at kunne generere midi indenfor nogle rammer jeg selv stiller op, lidt random, men også med en logik bagved, så jeg efterfølgende kan importere det til ableton og bruge tid på at tweake synths etc. Det er måske ikke så "musikalsk" men jeg kunne godt forestille mig det var sjovt.

Problemstillinger:
En "model" er somregel garbage in, garbage out, og arkitekturen på modellen tager ikke højde for harmoni - det forventes lidt at modellen "lærer" harmoni baseret på de sange den skal kværne. Det betyder først og fremmest at den skal køre i et døgn eller mere, før den har opfanget de her connections, men samtidigt også at det er super vigtigt at jeg giver den "det rigtige" input data. Altså de rigtige sange.

Jeg forestiller mig, at det at blande sange i forskellige skalaer sammen, vil betyde at modellen også kommer til at ha en rimeligt random stil - som måske ikke altid er harmonisk, uanset om jeg træner den i 2 uger. Derfor skal jeg have indsamlet nogle midi sekvenser som:

1) er i en stil jeg gerne vil have modellen til at outputte efterfølgende
2) er konsistent i forhold til skala
3) alle er det samme instrument

Og så melder det store spørgsmål sig: Hvor finder man det?

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

Indlæg af Mike-air »

Hvis man selv vil prøve kræfter med musik eller anden form for kunst via AI, uden at skulle opfinde den dybe tallerken, er der Magenta, som er udviklet af nogle medlemmer af Google brain-teamet: https://magenta.tensorflow.org/

Der ligger færdige modeller til både musik og billedprocessering, samt instruktioner til hvordan man kan få magenta til at spille et instrument.

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

Indlæg af Christoffer I. N. »

Jeg har tidligere postet om emnet, prøv evt. søgefunktionen. De skal næsten være med her i tråden, nu de allerede er en del af "vores historie".

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

Indlæg af Joachip »

Jeg synes generelt løsningerne indenfor AI har været for dårlige. For svære at compile, alt er skrevet i Python (som jeg ikke kan) og alterntiverne har været online løsninger som kører max 22 kHz mono.

Desuden synes jeg det med at tage en hel masse eksisterende indhold og så bare scramble det rundt er lidt for meget copy-cat til min smag, omend det da stadigvæk klart er fascinerende ud fra et teknisk synspunkt. Så i stedet har jeg eksperimenteret med at generere ting ud fra ingenting. Det begyndte jeg på før hele den her deep-learning ting kom frem.

Her et fiktivt orkester der (ved et tilfælde) ramte en ret japansk stemning:


Og der er også café-pianisten der gradvist udvikler en psykose:
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:Så i stedet har jeg eksperimenteret med at generere ting ud fra ingenting. Det begyndte jeg på før hele den her deep-learning ting kom frem.

Her et fiktivt orkester der (ved et tilfælde) ramte en ret japansk stemning:


Og der er også café-pianisten der gradvist udvikler en psykose:
f*ck, hvor cool! Hvordan er din model skruet sammen? Du må have givet den nogle rammer den kan handle indenfor, right?
Joachip skrev:Jeg synes generelt løsningerne indenfor AI har været for dårlige. For svære at compile, alt er skrevet i Python (som jeg ikke kan) og alterntiverne har været online løsninger som kører max 22 kHz mono.

Desuden synes jeg det med at tage en hel masse eksisterende indhold og så bare scramble det rundt er lidt for meget copy-cat til min smag, omend det da stadigvæk klart er fascinerende ud fra et teknisk synspunkt.
Jeg forestiller mig at der snart kommer en masse tools, altså plugins eller decideret letvægts-software med en user interface, så man slipper for at programmere noget selv. I øvrigt er det mest min model ovenfor, som er "copycat". Google magenta er også baseret på reinforcement-learning (ren trial and error).

Prøv evt. AI-Jam: https://github.com/tensorflow/magenta-d ... /ai-jam-js

Personligt mener jeg ikke det er programmerings-sproget som er en hindring for at tage de forskellige løsninger i brug, da der eksisterer implementeringer i de fleste sprog (selv javascript). Det er mere matematik/statistik delen af det, som gør det kompliceret. Og så er der konvertering fra midi til tal, og tilbage igen (hvis jeg selv har stjålet både kode og ideer).
Christoffer I. N. skrev:Jeg har tidligere postet om emnet, prøv evt. søgefunktionen. De skal næsten være med her i tråden, nu de allerede er en del af "vores historie".
Har søgt tidligere, men "musik og ai" gav ikke så meget relevant. Hva ska jeg søge på?

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

Indlæg af Christoffer I. N. »

Mike-air skrev:
Christoffer I. N. skrev:Jeg har tidligere postet om emnet, prøv evt. søgefunktionen. De skal næsten være med her i tråden, nu de allerede er en del af "vores historie".
Har søgt tidligere, men "musik og ai" gav ikke så meget relevant. Hva ska jeg søge på?
Her er de tråde jeg fandt der evt. kan have interesse for tråden her:
Juni 2014: Landr Online Mastering:
http://lydmaskinen.dk/viewtopic.php?f=16&t=61971

September 2016: Første popsange komponeret af AI:
http://lydmaskinen.dk/viewtopic.php?f=16&t=71361

August 2017: Første album komponeret og produceret af AI - Taryn Southern:
http://lydmaskinen.dk/viewtopic.php?f=16&t=74312

December 2017: SKYGGE featuring Kiesza - Hello Shadow - Komponeret med AI:
http://lydmaskinen.dk/viewtopic.php?f=16&t=75253

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

Indlæg af Mike-air »

Christoffer I. N. skrev:
Mike-air skrev:
Christoffer I. N. skrev:Jeg har tidligere postet om emnet, prøv evt. søgefunktionen. De skal næsten være med her i tråden, nu de allerede er en del af "vores historie".
Har søgt tidligere, men "musik og ai" gav ikke så meget relevant. Hva ska jeg søge på?
Her er de tråde jeg fandt der evt. kan have interesse for tråden her:
Juni 2014: Landr Online Mastering:
http://lydmaskinen.dk/viewtopic.php?f=16&t=61971

September 2016: Første popsange komponeret af AI:
http://lydmaskinen.dk/viewtopic.php?f=16&t=71361

August 2017: Første album komponeret og produceret af AI - Taryn Southern:
http://lydmaskinen.dk/viewtopic.php?f=16&t=74312

December 2017: SKYGGE featuring Kiesza - Hello Shadow - Komponeret med AI:
http://lydmaskinen.dk/viewtopic.php?f=16&t=75253
Tak, christoffer! :-)

Har nu hentet 96 "free chord-progression" midi-filer, og trænet min model på dem i cirka 2 timer. Hypotesen var at det skulle give noget behageligt at lytte på, da modellen opfanger hvordan akkorderne er relateret til hinanden.

Det er dog ikke blevet SÅ fantastisk igen:

Music_NN_30_epochs.wav

Medlemsavatar
SustainerPlayer
Medlem
Indlæg: 12411
Sted: På kanten

Indlæg af SustainerPlayer »

Men ikke helt skævt alligevel. En halv-jazzet improv a la Drømte Mig En Drøm I Nat :)

Medlemsavatar
SustainerPlayer
Medlem
Indlæg: 12411
Sted: På kanten

Indlæg af SustainerPlayer »

Men lidt sjovt for jeg sad og tænkte over det for et par dage siden, (og når jeg tænker, så googler jeg) og faldt over denne tråd med dette indlæg:

https://www.kvraudio.com/forum/viewtopi ... f#p6892974

har dog ikke fået kigget videre på det endnu.

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

Indlæg af Mike-air »

SustainerPlayer skrev:Men lidt sjovt for jeg sad og tænkte over det for et par dage siden, (og når jeg tænker, så googler jeg) og faldt over denne tråd med dette indlæg:

https://www.kvraudio.com/forum/viewtopi ... f#p6892974

har dog ikke fået kigget videre på det endnu.
Coolt! Mon ikke deeplearning kommer til at spille en rolle i nogle af de plugins eller ihvertfald det marked, i fremtiden :)

Har trænet den lidt længere, og syntes personligt det begynder at lyde mere som musik nu. Ihvertfald er der passager jeg kan stjæle til min musik. Og det tager cirka 2 sekunder at generere et nyt klip :-D


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

Indlæg af Christoffer I. N. »

Omkring deep/machine learning, der er flere plugin firmaer der allerede bruger det. Her nogle eksempler jeg kunne huske:
Accusonus: http://cdm.link/2017/11/accusonus-expla ... musicians/
iZotope RX: https://www.izotope.com/en/blog/audio-r ... ology.html


Medlemsavatar
raoul
Medlem
Indlæg: 2126

Indlæg af raoul »

Jeg bruger accusonus´ regroover pro.
Vild plugin - der til tider kan noget helt utroligt - andre gange fungerer det ikke så godt.
Kommer an på materialet.
Ret besynderligt workflow men jeg tror på det i de fremtidige updates :)
God support. Lidt dyrt måske set i bakspejlet.

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

Indlæg af Christoffer I. N. »

Jeg har Essential udgaven gratis fra sidste sommer, som jeg ser frem til at gå ombord i.

Medlemsavatar
raoul
Medlem
Indlæg: 2126

Indlæg af raoul »

Christoffer I. N. skrev:Jeg har Essential udgaven gratis fra sidste sommer, som jeg ser frem til at gå ombord i.
Af regroover ?

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

Indlæg af Christoffer I. N. »

raoul skrev:
Christoffer I. N. skrev:Jeg har Essential udgaven gratis fra sidste sommer, som jeg ser frem til at gå ombord i.
Af regroover ?
Yes:
http://lydmaskinen.dk/viewtopic.php?f=1&t=73743

Medlemsavatar
raoul
Medlem
Indlæg: 2126

Indlæg af raoul »

ah ok.

Jeg købte PRO pga "expansion kit" funktionen. Det er det jeg vil have ud af pluginnet.
Så man kan isolere elementerne og trække over i "expansion kit" . Det kan man kun i Pro.
Jeg er ligeglad med resten tror jeg. Men spooky plugin - måske jeg ændrer mening.
Men en sjov ting er deres eq,comp og gate osv - de stinker MAX! har aldrig hørt værre næsten :)

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

Indlæg af Mike-air »

Jeg lover det er sidste sample jeg poster i denne tråd, men vil blot lige vise hvad man kan få ud af teknikken.

Har brugt det meste af dagen på at justere og træne modellen (cirka 6 timer til at træne). Generede herefter 5 forskellige random klips jeg genererede fra den "færdige" model, hvoraf jeg fandt et 'sample' som lød interessant. Det har jeg så brugt cirka 45 minutter på nu, med std. Ableton live plugins;

[soundcloud][/soundcloud]

Hele midi sekvensen jeg ‘samplede’ fra;
21_45_07.112204.mid

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

Indlæg af Joachip »

Mike-air skrev:Hvordan er din model skruet sammen? Du må have givet den nogle rammer den kan handle indenfor, right?
Den første er faktisk et ufærdigt stadie hvor der var en bug i timingen der gjorde at det blev til en slags ballade uden noget egentlig bpm-tal kørende, og algoritmen var også mere simpel. Hovedfokus her var at køre gennem disse steps (stærkt forsimplet forklaring):
1) Lav en tilfældig skala vha. Joseph Schillinger notation (dur er f.eks. 2+2+1+2+2+2+1, dur-pentaton er 2+2+3+2+3 osv.)
2) Lav en tilfældig bassline og en tilfældig melodi indenfor denne skala ved at bevæge sig lidt op og ned (a'la hvordan en pink noise waveform bevæger sig op og ned.)
3) For nogle af tonerne i bassen, start med den pågældende bastone, skab en akkord ved at springe hver andet trin i skalaen over så man får tertsen og kvinten og evt. 7eren (hvis det er dur) eller nogle intervaller med større afstand imellem hvis det f.eks. er pentaton eller en japansk insen skala.

Den sære pianist er langt mere kompliceret. Her har jeg prøvet at undgå det problem som jeg synes det meste auto-genererede musik har, nemlig at det er for statisk, og der ikke er nogen udvikling i det. Og jeg har eksperimenteret med at bruge fraktale strukturer, både for at opnå et forløb der udvikler sig i det lange løb, og også for at opnå det man kalder "self-similarity", d.v.s. den opfinder en figur som så går igen i forskellige størrelser. Jeg har brugt det der hedder en L-system fraktal. De ser normalt sådan her ud:

Billede

Den slags fraktaler har den fordel at de både giver mig små og store detaljer, d.v.s. ud over at lave små krøller på melodien, laver den også de store bevægelser i nummeret, f.eks. at det starter simpelt og bliver mere hektisk med tiden eller omvendt. Eller at det starter med mange svage toner på nogle instrumenter og gradvist bevæger sig over mod nogle andre instrumenter og med kraftigere toner - dog af og til med små indskydelser/afvigelser som minder om den store bevægelse. Og ligesom at de små figurer i træet ovenfor ligner hele træet, så får man også samme effekt i musikken, at nogen af de små krøller faktisk er en gengivelse af hele nummerets overordnede forløb. Hvor billedet så er i 2 dimensioner (X og Y) er min musikfraktal i 5 dimensioner: Tid, tonehøjde, velocity, midi-kanal og skala. Og ligesom at man kan vælge mellem 0-4 iterationer i billedet ovenfor, så ligger mit script også og vælger mellem 3-5 iterationer for at opnå forskellige grader af kompleksitet.

Her er en anden fraktal som også mindt lidt om hvad der foregår i mit program:

Billede

PRØV SELV!
(Kræver typisk en del forsøg før man rammer en god en. Den bruger alle 16 midi manaler.)
Jeg laver også gratis plugins: www.robotplanet.dk/audio_plugins

Medlemsavatar
KTAS
Medlem
Indlæg: 254
Sted: Farum

Indlæg af KTAS »

Mike-air skrev:Har trænet den lidt længere, og syntes personligt det begynder at lyde mere som musik nu. Ihvertfald er der passager jeg kan stjæle til min musik. Og det tager cirka 2 sekunder at generere et nyt klip :-D

Når du generer et nyt klip, hvor forskelligt er det så fra de tidligere klip? Jeg tænker på hvor generaliserbar din model er mht. at lave "musik". Spørgsmålet er vel om den bare har sat sig fast i et lokalt minimum og gentager den samme sekvens med små ændringer eller om der virkelig er tale om "ny musik".

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

Indlæg af Mike-air »

KTAS skrev:
Mike-air skrev:Har trænet den lidt længere, og syntes personligt det begynder at lyde mere som musik nu. Ihvertfald er der passager jeg kan stjæle til min musik. Og det tager cirka 2 sekunder at generere et nyt klip :-D

Når du generer et nyt klip, hvor forskelligt er det så fra de tidligere klip? Jeg tænker på hvor generaliserbar din model er mht. at lave "musik". Spørgsmålet er vel om den bare har sat sig fast i et lokalt minimum og gentager den samme sekvens med små ændringer eller om der virkelig er tale om "ny musik".
689E5508-208E-4575-A411-545714BBDDA6.jpeg
Modellen er en LSTM, med en hulens masse regularisering i form af f.eks. dropout. Så 100% ‘ny’ musik vil det ikke være. Den husker overgange, men sekvenserne er korte og randomiseret, så den vil derfor pr. Definition ikke kunne huske et helt nummer.

Hvis det var en hvilken som helst anden model så ville jeg selvfølgelig altid have et dev set og et test set at validere på, men til dette formål (læs min motivation længere oppe) er det 1) kompliceret 2) ikke super nødvendigt.

Havde jeg haft mere tid, og en større GPU, så havde jeg måske forsøgt mig med en GAN struktur i stedet.

Medlemsavatar
KTAS
Medlem
Indlæg: 254
Sted: Farum

Indlæg af KTAS »

Hehe overfitting er jo ikke nødvendigvis dårligt i den forstand at det meste etableret musik i en eller anden grad er overfitted ud fra en eller anden model. At dømme ud fra music charts'ne kan vores øre åbenbart godt lide overfitted musik ;)

LSTM er vel den nye standard (sammen med gated recurrent units) indenfor den verden. Som "erfaren" signalbehandler ligner det meget ikke-lineære rekursive filtre der bliver fittet fra et dataset.

Personligt betragter jeg alle trends som en form for overfitting.

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

Indlæg af Mike-air »

KTAS skrev:Hehe overfitting er jo ikke nødvendigvis dårligt i den forstand at det meste etableret musik i en eller anden grad er overfitted ud fra en eller anden model. At dømme ud fra music charts'ne kan vores øre åbenbart godt lide overfitted musik ;)
Hvor er det fedt sagt! Havde egentlig ikke tænkt på det på den måde
KTAS skrev:LSTM er vel den nye standard (sammen med gated recurrent units) indenfor den verden. Som "erfaren" signalbehandler ligner det meget ikke-lineære rekursive filtre der bliver fittet fra et dataset.
Ja, jeg har godt set at nogle som har forsøgt at lave jazz-soloer, har brugt GRU'er i stedet. Jeg husker dog ikke begrundelsen.

Men hvis du har hørt om Generative aversarial networks (GAN), så tror jeg at det kunne tage musikken til et helt andet niveau, når man tænker på hvad det kan gøre for eks. billeder (generering af ansigter og sådan). Jeg er dog ikke nået så langt at jeg har hverken computer-power eller kompetencer til at sætte en sådan model op.

Iøvrigt, så har jeg lavet en zipfil med 97 midifiler som er predicted fra den samme model, efter hinanden.
http://lydmaskinen.dk/viewtopic.php?f=27&t=76540

Ideelt set kunne man sammenligne et random udpluk af disse, for at se hvor stor ligheden er. Det har jeg dog ikke haft tid til endnu

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

Indlæg af Mike-air »

Joachip skrev:
Mike-air skrev:Hvordan er din model skruet sammen? Du må have givet den nogle rammer den kan handle indenfor, right?
Den første er faktisk et ufærdigt stadie hvor der var en bug i timingen der gjorde at det blev til en slags ballade uden noget egentlig bpm-tal kørende, og algoritmen var også mere simpel. Hovedfokus her var at køre gennem disse steps (stærkt forsimplet forklaring):
1) Lav en tilfældig skala vha. Joseph Schillinger notation (dur er f.eks. 2+2+1+2+2+2+1, dur-pentaton er 2+2+3+2+3 osv.)
2) Lav en tilfældig bassline og en tilfældig melodi indenfor denne skala ved at bevæge sig lidt op og ned (a'la hvordan en pink noise waveform bevæger sig op og ned.)
3) For nogle af tonerne i bassen, start med den pågældende bastone, skab en akkord ved at springe hver andet trin i skalaen over så man får tertsen og kvinten og evt. 7eren (hvis det er dur) eller nogle intervaller med større afstand imellem hvis det f.eks. er pentaton eller en japansk insen skala.
Super spændende, Joachip! Hvad gav dig inspiration til at forsøge på den måde?

Nyt svar