Musik via AI-tråden
Re: Musik via AI-tråden
Jeg tror fordelen ved en GRU er at den er simplere og derfor hurtigere at træne, men kan opnå lignende performance som en LSTM.
Jeg kender ikke GAN netværk, men det lyder meget spændende. Generelt burde jeg sætte mig ned en dag og lære Tensorflow ordenligt. Har kun kørt et par simple tutorials igennem.
Jeg kender ikke GAN netværk, men det lyder meget spændende. Generelt burde jeg sætte mig ned en dag og lære Tensorflow ordenligt. Har kun kørt et par simple tutorials igennem.
Tensorflow er et genialt redskab, hvis man gerne vil lave custom modeller. Man skal virkeligt være kreativ med matematikken hvis man skulle støde på ting som ikke er implementeret på en eller anden måde i TF. En ven som forsker i NLP har dog fortalt mig at han er gået over til Facebook's Torch, fordi TF modeller (selv med samme seed) er umulige at genskabe. Overvejer også lidt at se lidt nærmere på detKTAS skrev:Jeg kender ikke GAN netværk, men det lyder meget spændende. Generelt burde jeg sætte mig ned en dag og lære Tensorflow ordenligt. Har kun kørt et par simple tutorials igennem.
Er du nysgerrig på GAN's, så er der en artikel om dem her:
https://www.analyticsvidhya.com/blog/20 ... orks-gans/
Men helt kort er det 2 neurale netværk, hvor den ene genererer syntetisk data, som den prøver på at snyde den anden til at tro er ægte. Så det er en binær klassifikations model (discriminator) og en auto-encoder (generator), som har samme antal outputs discriminatoren er trænet på. Rimeligt sejt hvad sådan et setup kan generere.
Heh... jeg kan egentlig ikke huske hvornår det slog mig første gang, at musik egentlig er en fraktal struktur. Men det er nok over 15 år siden. Det har så været sådan en tanke der er dukket op en gang imellem... sådan, "kan man mon bruge den antagelse til noget?" Og så på et tidspunkt havde jeg fået nok idéer til at lave et eksperiment med det.Mike-air skrev:Super spændende, Joachip! Hvad gav dig inspiration til at forsøge på den måde?Joachip skrev: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):Mike-air skrev:Hvordan er din model skruet sammen? Du må have givet den nogle rammer den kan handle indenfor, right?
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.
Jeg laver også gratis plugins: www.robotplanet.dk/audio_plugins
https://deepmind.com/blog/wavenet-gener ... raw-audio/
Jeg faldt over denne post, da jeg sad og fjollede rundt med en tensorflow tale-genkendelsesmodel. Nederst er der nogle lydklip hvor de bruger deres model til at generere musik ala det som denne tråd handler om. Der er også et link til et paper i bunden.
Jeg faldt over denne post, da jeg sad og fjollede rundt med en tensorflow tale-genkendelsesmodel. Nederst er der nogle lydklip hvor de bruger deres model til at generere musik ala det som denne tråd handler om. Der er også et link til et paper i bunden.
f*cking fascinerende! Super fedt du delte denne!KTAS skrev:https://deepmind.com/blog/wavenet-gener ... raw-audio/
Jeg faldt over denne post, da jeg sad og fjollede rundt med en tensorflow tale-genkendelsesmodel. Nederst er der nogle lydklip hvor de bruger deres model til at generere musik ala det som denne tråd handler om. Der er også et link til et paper i bunden.
Roder du med trigger-word detection?
Heh, nej egentligt ikke. Jeg prøvede bare at forstå teknikerne bag og har nogle vage tanker om hvad det kan bruges til i andre sammenhænge. Det er kun for interessens skyld lige nu. Jeg er dog lidt fascineret af WaveNet modellen og overvejer om jeg skal bruge tid på at dykke ned i den og forstå den bedre.
Super cool! Approachen med wavenet er jo direkte prediktion af en wave stream, mod midi-pieces som har været mit fokus. Jeg er lidt delt, fordi det for det første er super fedt og interessant. Men mit udganspunkt var mest at få lavet en komposition, og derefter ha en menneskelig berøringsflade i form af valg af instrumenter osv. (hvilket jo er meget sjovt, hvis man kan lide at lave musik).KTAS skrev:Heh, nej egentligt ikke. Jeg prøvede bare at forstå teknikerne bag og har nogle vage tanker om hvad det kan bruges til i andre sammenhænge. Det er kun for interessens skyld lige nu. Jeg er dog lidt fascineret af WaveNet modellen og overvejer om jeg skal bruge tid på at dykke ned i den og forstå den bedre.
Wavenet tilgangen flytter så hele processen over i et neuralt netværk. Potentialet kan jo først og fremmest være at gøre som de har gjort, og få et random klaverstykke ud. Og på længere sigt få et meta-lag på, som sørger for at stykket har den rigtige opbygning etc. Jeg syntes det er cool, men det tager lidt det sjove af det, for mit vedkommende. Helt subjektivt syntes jeg det er sjovere når der er en interaktion imellem "mand og maskine" i forbindelse med skabelsen af musikken.
En anden retning man kan gå med Wavenet etc., er at skabe nogle syrede synths; hvis man tager tankegangen fra Neural style-transfer, og fører den over på en modificeret udgave af et typisk RNN. Hvis f.eks. de features der er lært fra klavérspil på Wavenet, bliver brugt som et filter på anden audio, så tror jeg vi kan skabe nogle lyde vi ikke havde evnen til selv at forestille os Eks. en (post processing) vocoder hvor en stemme smelter sammen med et klavér. Eller lyden af en motorsav
Vil ta et kig på Wavenet, og prediktion af wave sekvenser i weekenden. Så kan vi måske ta en diskussion omkring den konkrete arkitektur og dens muligheder ifht. musik efterfølgende.
Jeg forstår hvad du mener, men jeg tror ikke det er et problem at bruge Wavenet på midi-data istedet for rå audio. Faktisk læste jeg i artiklen at de kvantiserer wavefilen vha. mu-law companding til kun 256 værdier og så bruger en softmax i output laget. Det er lidt en "fuske" løsning da 16 bit data har en langt højere opløsning, mens pitchen i midi kun har 128 værdier.
Som jeg har forstået Wavenet indtil videre er det et ikke-lineært filter der bruger en speciel smart struktur for at kunne få en lang hukommelse (sammenlignelig med LSTM networks). Der er så alle mulige tricks i det som jeg endnu ikke har forstået.
Mht. din ide med Neural style-transfer så lyder det som en rigtig fed ide! Jeg kan dog også forestille mig at det kan misbruges på utallige måder, som f.eks. til at ændre sin stemme til en anden person...
Som jeg har forstået Wavenet indtil videre er det et ikke-lineært filter der bruger en speciel smart struktur for at kunne få en lang hukommelse (sammenlignelig med LSTM networks). Der er så alle mulige tricks i det som jeg endnu ikke har forstået.
Mht. din ide med Neural style-transfer så lyder det som en rigtig fed ide! Jeg kan dog også forestille mig at det kan misbruges på utallige måder, som f.eks. til at ændre sin stemme til en anden person...
Hehe, ja præcist! Jeg fik lidt noia da jeg så den første gang hehe. Men heldigvis er det ikke så forfærdeligt svært at træne en classifier som kan flagge det som fake.
Er pt. ved at skrive et (ret akademisk) blog indlæg omkring Neural style transfer, og i min research falder jeg over dette fantastiske paper, som gør præcist det som jeg skrev om ovenfor: Stil-ændring på lyd.
https://arxiv.org/pdf/1710.11385.pdf
Umiddelbart ser det ud som om de også bruger gram-matricen fra nogle layers, og bruger (et sæt af?) spektrogramme(r) fra et lydklip som stilen der skal projeceres over på et andet lydklip.
Jeg er meget skeptisk, men også spændt på at se hvad det kan gøre ved lyd.
Er pt. ved at skrive et (ret akademisk) blog indlæg omkring Neural style transfer, og i min research falder jeg over dette fantastiske paper, som gør præcist det som jeg skrev om ovenfor: Stil-ændring på lyd.
https://arxiv.org/pdf/1710.11385.pdf
Umiddelbart ser det ud som om de også bruger gram-matricen fra nogle layers, og bruger (et sæt af?) spektrogramme(r) fra et lydklip som stilen der skal projeceres over på et andet lydklip.
Jeg er meget skeptisk, men også spændt på at se hvad det kan gøre ved lyd.
Problemet med den slags er nok snarere alle dem der ikke kører det igennem en classifier (læs: kritisk analyse) først, men bare tager det for gode varer.
Jeg hørte på lydfilerne her: https://egrinstein.github.io/2017/10/25/ast.html
Det må vi kunne kunne gøre bedre
Jeg hørte på lydfilerne her: https://egrinstein.github.io/2017/10/25/ast.html
Det må vi kunne kunne gøre bedre
Bestemt!KTAS skrev:Problemet med den slags er nok snarere alle dem der ikke kører det igennem en classifier (læs: kritisk analyse) først, men bare tager det for gode varer.
Jeg hørte på lydfilerne her: https://egrinstein.github.io/2017/10/25/ast.html
Det må vi kunne kunne gøre bedre
Jeg syntes bedst om shallow arkitekturen. Og det bedste resultat er efter min mening når kvinde-stemmen gøres mandelig. Men jeg kommer lidt i tvivl om der er et eller andet fundamentalt omkring signal behandling af lyd de har overset?
Har du nogle indspark her?
Edit:
Jeg har btw. lavet en første draft på en blog post omkring neural style transfer hvis du er interesseret
http://riess.dk/2018/05/24/neural-style-transfer/
Jeg har ikke nærlæst artiklen, men jeg tænker at de mangler at finde den rigtige repræsentation af lyd. Meget af udviklingen indenfor det her område ser ud til at foregå indenfor billeder, mens lyd ikke har helt samme fokus. Eller også har vi endnu ikke knækket koden til at anvende det på lyd.
Fed blogpost!
Fed blogpost!
Det mest indlysende er vel det vi allerede har diskuteret her i tråden, altså sekventielle modeller som eksempeltvist LSTM. Jeg havde faktisk tanken, men forkastede den fordi "der måtte vel være en indlysende grund til at de ikke har valgt at bruge dem". Det eneste jeg kan komme på er "vanishing gradient" problemet (når en model får for mange parametre, bliver gradienten ubetydelig lille).KTAS skrev:Jeg har ikke nærlæst artiklen, men jeg tænker at de mangler at finde den rigtige repræsentation af lyd. Meget af udviklingen indenfor det her område ser ud til at foregå indenfor billeder, mens lyd ikke har helt samme fokus. Eller også har vi endnu ikke knækket koden til at anvende det på lyd.
Det er bare en tanke, men svaret kunne måske ligge i en kombination af LSTM og convolutions. Men det vil jo i så fald betyde en custom arkitektur for at løse problemet. Og det kræver desværre lidt tid. Men det er da et interessant problem.
I sin blogpost skriver han at spørgsmålet stadigt er åbent omkring hvad style, og hvad content er - måske definitionen er forkert, og man burde se lidt nærmere på tidligere forskning af "signaturer" på lyd.
Tusind tak! Hvis du har noget kritik eller ting der kunne gøres anderledes, siger du bare til. Det er min første post af den art, så jeg har ikke nogen ide om jeg bør fortsætte på den måde.KTAS skrev:Fed blogpost!
Ja, LSTM eller lign. tidsrække-model. Jeg er stadig lidt interesseret i Wavenet. Pga. "dilation" fordobles for hvert lag, vil der være langt færre ikke-lineariteter for et givent "receptive field" end i f.eks. LSTM, hvilket burde hjælpe på vanishing gradient problemet. (En ting jeg så ikke forstår er hvorfor de stopper ved en dilation på 512 og så stacker denne block flere gange istedet for at bruge en større dilation. Jeg synes ikke forklaringen i paperet er fyldestgørende?). Derudover bruger de en residual struktur i netværket, hvilket også burde hjælpe på vanishing gradient problemet.
Problemet for mig er at jeg ikke er god nok til Python til at kunne implementere en custom model uden videre.
Det du skriver med hvad style og content er tror jeg er den helt afgørende årsag til at vi endnu ikke har knækket nødden mht. hvordan vi skal lave modellen. Hvordan skal man vurdere om den ene model er bedre end den anden hvis man ikke kan formulere et præcist kriterie? (Det samme gælder iøvrigt for musik generering som er trådens egentlige topic...)
Problemet for mig er at jeg ikke er god nok til Python til at kunne implementere en custom model uden videre.
Det du skriver med hvad style og content er tror jeg er den helt afgørende årsag til at vi endnu ikke har knækket nødden mht. hvordan vi skal lave modellen. Hvordan skal man vurdere om den ene model er bedre end den anden hvis man ikke kan formulere et præcist kriterie? (Det samme gælder iøvrigt for musik generering som er trådens egentlige topic...)
Jeg synes bare det er fedt at der er nogen der gør den slags. Mere takMike-air skrev:Tusind tak! Hvis du har noget kritik eller ting der kunne gøres anderledes, siger du bare til. Det er min første post af den art, så jeg har ikke nogen ide om jeg bør fortsætte på den måde.
Jeg ved heller ikke hvorfor alting absolut skal skrives i python for tiden.
Ku' de ikke bare lave det i C++ ... så ville det sikkert også køre stærkere.
Ku' de ikke bare lave det i C++ ... så ville det sikkert også køre stærkere.
Jeg laver også gratis plugins: www.robotplanet.dk/audio_plugins