Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Computermodel leert overtuigende Bach-achtige muziekstukken componeren

Door , 46 reacties

Computers muziek laten componeren is niet zo moeilijk, maar om ze polyfone stukken te laten maken die harmonieus en melodieus zijn, is al lastiger. Om mensen te laten denken dat het Bach-stukken zijn, was nog niet mogelijk, tot nu toe.

Twee onderzoekers van de Sony Computer Science Laboratories in Parijs hebben een computermodel gemaakt dat ze de naam DeepBach hebben gegeven. Ze trainden het model met een basisdataset van 352 door Bach gecomponeerde koralen. Vervolgens pasten ze de toonhoogten van deze stukken aan om het model inzicht te geven in de harmonisaties zoals Bach die toepaste. Uiteindelijk bestond de dataset uit 2503 muziekstukken, waarvan het model 80 procent gebruikte om de harmonisaties te leren en 20 procent ter validatie.

De wetenschappers konden het model na het trainingstraject een melodie voeren, waarna DeepBach drie andere stemmen toevoegde, alt, tenor en bas, in de harmonieuze stijl van Bach. Er zijn meer algoritmes die Bach-achtige stukken kunnen componeren, schrijft Technology Review, maar luisteraars konden deze tot nu toe eenvoudig herkennen als muziek die niet van de grote meester zelf afkomstig is.

DeepBach daarentegen wist bij een test de helft van de luisteraars de indruk van Bach te geven. Bij deze test werden de composities van het computermodel aan 1600 mensen ten gehore gebracht, 400 van hen waren professionele muzikanten of studenten van een muziekgerelateerde studie. Toen de testgroep daadwerkelijk door Bach gecomponeerde muziek te horen kreeg, beoordeelde 75 procent van de luisteraars dit correct als van de hand van de Duitse componist.

"Een belangrijke kracht van DeepBach is dat het flexibel is en zonder voorkennis werkt. Gebruikers kunnen bestaande melodieën herharmoniseren", schrijven de ontwikkelaars. Daarnaast schrijven ze dat hun model snel stukken kan genereren, waardoor het gebruikt kan worden voor interactieve compositieapplicaties.

Door Olaf van Miltenburg

Nieuwsco÷rdinator

16-12-2016 • 15:25

46 Linkedin Google+

Reacties (46)

Wijzig sortering
Het verschil is nog wel te horen hoor, ze hebben een leuke test op de site staan om te kijken of je het zelf kan beoordelen :)
8/10

Wat niet wegneemt dat het behoorlijk overtuigend gedaan is!
(edit: laatste reactie nog toegevoegd)

[Reactie gewijzigd door Pep7777 op 16 december 2016 15:46]

De vraag is dan wel of je het werk van Bach (onbewust) al eens gehoord hebt. Dat zou namelijk enorme gevolgen hebben voor de uitslag van zo'n vergelijkingstest.
Als je de paper leest zie je dat dat dus wel meevalt. Verschil tussen experts en mensen die zelden klassieke muziek luisteren is max 5%

Source: https://arxiv.org/abs/1612.01010
Best verrassend dat het verschil tussen die twee groepen zo klein is, aangezien nieuw gegenereerde partijen nog steeds ÚÚn onderliggende originele chorale hebben van Bach zelf. Ik zou dan verwachten dat experts die stukken kunnen herkennen en merken dat de gegenereerde chorales niet kloppen met het origineel.
Er waren twee perceptietests. In de eerste test werd inderdaad hetzelfde onderliggende koraal gebruikt, de uitslag daarvan staat in Fig. 5. Daar kun je zien dat alle proefpersonen vrij goed in staat zijn om de originele Bach van de imitaties te onderscheiden, maar dat de experts het onderscheid toch nog wel een stuk sterker kunnen maken. Eomer had het over de tweede test; het artikel geeft niet duidelijk aan of daarvoor dezelfde samples zijn gebruikt, of dat de computerprogramma's hier op basis van een aparte melodie genereerden. Overigens was het verschil tussen experts en ongetrainde luisteraars daar ook wel iets groter dan Eomer suggereerde.
Dat is wel een beetje slordig weergegeven: in Fig. 6 zie ik een verschil van 11 procentpunt bij MaxEnt, 7 procentpunt bij MLP, 10 procentpunt bij DeepBach en 9 procentpunt bij de originele Bach (als we de onzekerheidsbalkjes even negeren). Maar je hebt een punt dat ongetrainde oren beter onderscheid kunnen maken dan je misschien in eerste instantie zou verwachten.
Ik heb wel bewust wat Bach gehoord hoor, en zelfs wat van gespeeld.
En ik weet niet precies hoe ik het moet omschrijven, alles klinkt idd wel als bach. Maar het is een beetje als met computer spraak. De klank aan het einde van een woord verandert al een beetje afhankelijk van het volgende woord dat mist computer spraak ook (of de pauze tussen woorden is net te lang). Zoiets hoor ik hier soms subtiel ook
ouch ik twijfel of ik back van Mozart zou kunnen onderscheiden. dus laat staan dat ik deepback van back kan onderscheiden.

dus dergelijke subtiliteiten gaan wss ook aan mij verloren.
ik hoor of zie ook nooit wat de muziek zou moeten uitbeelden of van emotie zou moeten weergeven. het is gewoon mooie muziek waar ik kan van genieten, of lelijke en dan is het mijn aandacht niet waard.
Normaal concentreer ik me ook helemaal niet zo op de details hoor, en luister ik ook alleen maar omdat ik iets mooi/leuk/bij mijn stemming hoort.
En dat is toch ook de bedoeling van muziek, dat het je wat doet :)

En grappig genoeg: klassiek luister ik eigenlijk nooit (meer) stond alleen vroeger thuis veel op.

Luister ze!
Ik had 6/10. Maar de stukjes zijn werk erg kort om hormonie te horen en overgangen te beoordelen... als het choatisch klikt druk ik op deepbach en als er hormonie in zit of een speciale overgang klik ik op bach.
Die link werkt helaas niet meer. Was benieuwd naar de verschillen!
Ik heb vroeger veel Bach gespeeld op piano. Zijn muziek heeft een specifieke en herkenbare signature, en het is niet ontzettend moeilijk om zelf "Bach-achtig" te klinken als je je een beetje muziekaal bent. Het is ook behoorlijk regelmatig, en ik ben dan ook niet verbaasd dat een computer er goed mee overweg kan.

Voor de volgende uitdaging wil ik Chopin of Satie suggereren... En voor de gevorderden Rachmaninov of Tchaikovsky ;-)

[Reactie gewijzigd door hansg op 16 december 2016 15:35]

Wel, nu kun je vervangen worden door een pc. Daar gaat je act op partijtjes en verjaardagen.

Ik vraag me echt af waar dit voor nodig is. Muziek is iets typisch menselijks, een van de dingen waar we onszelf om roemen. Geen ander dier maakt muziek. Het is een van de triomfen van onze soort en het raakt aan het diepste van onze emoties.

En wat gaan ze doen? De aanval op menselijkheid is al geruime tijd aan de gang. Alles wat menselijk is moet door computers ook gedaan kunnen worden. Weg met ons! Als een pc, algoritme, robot of AI het kan, dan moet het ook gebeuren!

Op den duur is de menselijke maat weg, no pun intended en zijn we per stuk en als soort wegwerp artikelen. Irrelevant.

Maar wacht, er zal wel een Pipo de Clown zijn die zal zeggen dat 'die algoritmen ook gebruikt kunnen worden voor de ontwikkeling van medicijnen...' Wel, atoombommen zijn ook medicijnen, tegen alles! Geloof me, zo'n ding op je kop en alle kwalen zijn weg.

Dus ja, het zal allemaal wel.
Het is juist vanuit de interesse in wat ons mensen zo uniek maakt dat dit soort projecten voortkomen. Wij zijn zo extreem nieuwsgierig dat we zelfs willen weten hoe onze nieuwsgierigheid en creativiteit in elkaar steekt, en we willen dat zo graag dat we ook willen weten hoe het kan dat wij iets willen. We snappen er geen bal van, van dat hele scala van intelligentie en emoties en creativiteit. Daarom zijn er studies kunstmatige intelligentie. Je moet dit soort programma's meer zien als vingeroefeningen van gefascineerde mensen-kijkers, het is de spelende mens in actie, om te kijken of we een apparaatje kunnen maken dat iets kan wat wij ook kunnen maar wat geen enkel apparaat ooit gekund heeft. Dat is toch vet. Wij willen leren. En stel nu, alles wat ons raakt en wat we mooi vinden en prachtig aan muziek kan gewoon snoeihard door een slim algoritme in elkaar geflanst worden: wat leert dat ons over onszelf? Dat is de interessante vraag. Namelijk dat wij reactieve wezens zijn, en dat er geen absolute maatstaven zijn, en dat we geen gelijk hebben. Dat is geen aanval op de menselijkheid, dat is menselijkheid ontbloot, ontmaskerd, en op het podium gezet in zijn puurste essentie. Voor minder doen we het niet.
Denk jij dat we ooit onszelf zullen snappen? Dat kennis van onszelf op een rationele, wetenschappelijke manier verzameld, ons inzicht geeft en dat er een grens van kennis is, die, als we die overgaan, we als het ware 'verlicht' zullen raken?

Het lijkt me een vreselijke wereld. Als je jezelf volkomen begrijpt in hoe je bent, reageert, denkt, de grenzen weet van je kennis en wijsheid, en daarmee als god bent, het leven uiterst saai wordt.

Zijn er geen dingen die een mysterie moeten blijven? Ik denk dat een boel problemen in de wereld met meer zelfkennis opgelost kunnen worden. Maar ik wil ook het mysterie behouden. We hebben dat ook nodig. Alles te weten is de nekslag voor dezelfde nieuwsgierigheid die jij benoemt.

Hoe kan er kennis zijn zonder het gebrek er aan? Als je alles weet, dan is er de ultieme stagnatie. Iedereen die god wordt gaat onmiddellijk undercover als mens. Want een mens weet niet alles en kan verrast worden.En dat maakt het leven leuk en waardig.

Je maakt een goed argument echter. :) Goed geschreven. _/-\o_
Dit is de volgende stap in het tonen van het menselijke kunnen.
Muziek componeren is knap, een computer die net zulke goede muziek kan maken als een mens is nog knapper.
Ik vind dit niet net zo goed. Een bestaande componist nadoen is veel makkelijker dan zelf iets nieuws verzinnen.
Ik zie wel degelijk een verschil tussen dit programma en het werkelijk schrijven van muziek.
de computer imiteert nu Bach, maar wat veel meer creativiteit en 'menselijkheid' kost is zelf muziek creŰren. dan laat je zien dat de computer ook echt gevoelens heeft bij bepaalde geluiden.
Waarom? En met wie zijn we aan het racen?

[Reactie gewijzigd door Vendar op 16 december 2016 16:37]

Moet iets altijd een race zijn om een vooruitgang te zijn? Niet alles is een competitie, dat betekent niet dat je maar geen ontwikkelingen moet doen
Maar wanneer is iets vooruitgang? En op welk vlak.

Jij zou stellen dat ICT een vooruitgang is. Want...vele voordelen. Er zijn ook nadelen. Op welk vlak zijn er nadelen?

- auteursrecht
- verdienmodellen van allerlei bij uitgifte betrokken partijen zoals uitgevers
- terroristen kunnen be´nvloedbare kinderen werven
- nep nieuws
- cyber crime
- privacyverlies
- cyber-pesten (zelfmoord van mensen, o.a. kinderen)
- loverboys die via internet werken
- chantage vanwege naakt films van kids en eigenlijk iedereen
- macht inlichtingendiensten en overheid t.o.v. de burger
- macht bedrijven via kennis van de consument is enorm vergroot
- democratie onder druk door inmenging andere landen
- banenverlies door startups

Soms is het nadeel het voordeel en vice versa. Dus wanneer, hoe en vanaf welke balans tussen goed en fout sta je ICT toe?

[Reactie gewijzigd door Vendar op 17 december 2016 12:03]

Waar dit voor nodig is?
Vrij simpel, omdat mensen nooit tevreden kunnen zijn met wat ze hebben en er altijd maar meer en beter moet komen.
Ik vraag me echt af waar dit voor nodig is. Muziek is iets typisch menselijks, een van de dingen waar we onszelf om roemen. Geen ander dier maakt muziek. Het is een van de triomfen van onze soort en het raakt aan het diepste van onze emoties.
Het ligt aan je definitie van muziek(de term is tenslotte uitgevonden door mensen), maar er zijn wel degelijk dieren die geluiden/melodieŰn produceren en daar op bepaalde manieren op reageren die vrij veel overeen hebben als hoe wij muziek interpreteren. Vogels en walvissen zijn maar een enkel voorbeeld. Hetzelfde geldt voor zaken als taal waarvan eerst gedacht werd dat het voorbehouden was aan mensen (apen die zinnen maken). Hoe meer we zelf leren, hoe meer overeenkomsten we ontdekken.

Nu ben ik verre van een boomknuffelaar, maar misschien dat als we erachter komen dat wat we doen niet bijzonder uniek of complex is, dat we dan als mensheid eens een bescheidenere positie in zullen nemen. Eentje met wat meer met respect omgaan richting de andere (dierlijke) bewoners op aarde. Wie weet wordt deze periode later in de geschiedenis wel gezien als een barbaarse egocentrische periode waarin de mens zich verheven voelde over alles en iedereen. Een brute periode waarin onnodig diersoorten zijn uitgestorven door onze typische menselijke ontwetendheid.
Geluiden die dieren maken is taal. Muziek is niet als taal bedoeld, hoewel het wel zo gebruikt kan worden. Het kan bedoeling overdragen en emotie.

Dus als een dier taal mooi klinkt moet je niet meteen antropomorfiseren. :)

Ik ben het met je eens wat betreft je laatste paragraaf.
Walvissen maken niet enkel geluid om te spreken met elkaar, maar soms gewoon om voor elkaar te zingen zoals een moeder een lulaby zingt voor haar kinderen, zo ook zingen walvissen om zich aan elkaar te binden.
De vogels van de Gaai familie staan er ook om bekend om gewoon te zingen en andere geluiden na te maken, maar daar kunnen we ons nog de vraag stellen of alle geluid dat ze maken niet enkel dient om hun territorium af te bakenen.

en dan gaan we naar de iets intelligentere vogels over , papegaaien.
Die kunnen menselijke taal begrijpen en spreken.
En de papegaai van mijn tante was fan van Vlaamse slagers, helaas zong hij die nog valser dan hetgeen uit de radio kwam.
En nee de radio uitzetten vond hij niet leuk, dan kraste hij constant "radio aan, radio aan".

Dus voor mij is het zeker, Tenminste sommige vogels kunnen zingen en kennen het verschil tussen "zang" en spraak.
Hoe weet je het verschil tussen zingen en taal in walvissen? Als jij schrijft dat een walvis dat doet om banden te versterken, dan is het taal. Geen zingen.

Moeders die een liedje zingen voor een baby, dat is taal, het is communicatie gericht op een ontvanger met een doel. Muziek is zonder doel. Het wordt gedaan voor de leuk.

Papegaaien snappen menselijke taal niet. Ze doen het geluid na. En er is een associatie op welk moment ze dat geluid maken. Zoals het geluid van een deur die open gaat. Omdat vader elke dag thuis komt op dezelfde tijd. Dat is een reflex, geen begrip.

Radio aan is hem aangeleerd, hij heeft niets zelf bedacht en grammaticaal in elkaar gezet om te bewerkstelligen dat de radio aan moet.
Een harmonie in "Bach stijl" toevoegen is inderdaad niet zo heel moeilijk als je muzikaal bent. Een neuraal netwerk moet dat zeker kunnnen (al is het natuurlijk wel knap programmeerwerk).

Wat ik Úcht indrukwekkend zou vinden is als men kon zeggen: Hier heb je de eerste 5 maten van BWV 578, Little Fugue in G Minor. (Het "thema", wat constant terugkomt in de verschillende stemmen, op verschillende toonhoogten.) Maak er een complete 4-stemmige, overtuigende fugue van door ZELF expositie en episodes toe te voegen.

Ik ben benieuwd hoe "BWV 578A by Bach & Computer" eruit zou zien.

(Ik denk dat je de intro van BWV 578 wel herkent, zelfs als je nooit Bach luistert. Iedereen kent die, netzoals die van BWV 565, Toccata & Fugue in D Minor, het klassieke "verplicht te gebruiken in een film over vampiers" muziekstuk.)

[Reactie gewijzigd door Katsunami op 16 december 2016 22:41]

Toen de testgroep daadwerkelijk door Bach gecomponeerde muziek te horen kreeg, beoordeelde 75 procent van de luisteraars dit correct als van de hand van de Duitse componist.
Ok, dat is de baseline, hoe doet dit systeem het?
Edit: bedankt voor de replies mensen! Ik heb het ook even in de paper opgezocht, pagina 11, fig 6 (pdf op arxiv)
Conclusie, mensen hebben bij deze muziek rond de 50% kans om goed te kiezen op een keuze uit computer of Bach (experts 45%). Feitelijk dus ongeveer even goed als gokken (op zich knap dat mensen gaan gokken).
Daarentegen, als ze Bach horen dan kiest 75% correct (experts 80 oid).

[Reactie gewijzigd door Eomer op 16 december 2016 15:41]

Op het eerste oog lijkt het inderdaad geslaagd te zijn. Zo goed (of beter: herkenbaar) als Bach zelf is het nog niet, maar het brengt mensen wel aan het twijfelen. En dat is wel anders geweest.

Het is jammer dat er geen directe vergelijking wordt gemaakt met andere bestaande algoritmes die eenzelfde doel nagestreefd hebben (Ze hebben wel een vergelijking gemaakt tussen verschillende eigen algoritmes: Maximum Entropy model en een Multilayer Perceptron). Dan zou het namelijk duidelijk kunnen worden of dit echt een hele verbetering is ten opzichte van wat er was uit andere kampen. Zelf claimen ze van wel.

Een quote uit een ander nieuwsartikel:

"The results make for interesting reading. When given a DeepBach-generated harmony, around half the voters judged that it was composed by Bach. That’s significantly higher than with music generated by any other algorithm. “We consider this to be a good score knowing the complexity of Bach’s compositions,” say Hadjeres and Pachet."

EÚn van de bestaande algoritmes dat aan wordt gehaald in het paper is BachBot (ook een vergelijkbare implementatie met een LSTM neural net), maar hier kan ik nog geen paper van vinden en concrete vergelijkingsscores zie ik niet terugkomen.

[Reactie gewijzigd door Reynouts op 16 december 2016 18:23]

DeepBach daarentegen wist bij een test de helft van de luisteraars de indruk van Bach te geven.
DeepBach daarentegen wist bij een test de helft van de luisteraars de indruk van Bach te geven.
50% dus! alsnog een aardig verschil
1600 mensen hebben meegedaan aan deze test. Waarvan de helft heeft kunnen aanduiden dat wat de AI gecomponeerd heeft niet van Bach afkomstig is. Ik vraag me dan af wat die groep van 400 experts hun resultaat is.
Dat kan je op pagina 11 zien van het paper.
Zit ongeveer rond de 45%, zo te zien.
Ik scoorde 90% op de test. Het fragment dat ik niet kon plaatsen was grappig genoeg niet van het DeepBach algoritme.
Muziek is emotie. Press f5 to generate new tune.
Het tweede hier getoonde stuk bevat octaaf- en kwintparallellen. Soms ook irritant hoorbaar. Dat komt bij Bach niet voor. Broddelwerk!
Dat is niet zo moeilijk te maken serieus.
Als je teveel tijd hebt.

Na een tiental renders heb je het wel gehoord, en is het net zo vaak renderen tot je weer een uitblinker vind.

[Reactie gewijzigd door Coder op 16 december 2016 15:43]

Het mooie is dat dit model deze stukken on-the-fly kan maken. Waarbij een nog nooit "gezien" chorale van Bach door dit model aangevuld wordt met de rest van de chorales. En al deze gegeneerde stukken zijn in dat opzich uitblinkers, zonder dat iemand ze ooit gehoord of bestempeld heeft als "uitblinker"!

Het is dus geen kwestie van random/brute-force dingen proberen en deze stukken zelf evalueren en de beste eruit pikken. Dan kan je dat niet zomaar on-the-fly doen voor nieuwe stukken.
DeepBach daarentegen wist bij een test de helft van de luisteraars de indruk van Bach te geven.
50% dus!
De helft is ook precies de uitkomst die je verwacht als mensen een onderscheid niet kunnen maken tussen twee dingen. De antwoorden worden dan willekeurig, (men "gokt"). Je verwacht dus, net als met kop/munt, dat 50% het gemiddeld dan goed heeft en 50% het fout.
Maar als je een origineel Bach stuk zou vergelijken met een randomly generated muziekstuk, kan jij met een veel hogere kans kiezen welk stuk van Bach is. Je hoeft dan dus helemaal niet te gokken.

Dat mensen Řberhaupt gaan gokken, wijst erop dat het algoritme het best goed doet!
Alle westerse muziek met contrapunt is Bach-achtig, dat is geen kunst.
Dat ligt eraan wie je dat vraagt. Een tiener zal inderdaad zeggen dat het allemaal Bach-achtig is terwijl een expert ieder stuk tot op de componist kan herleiden en alleen de stukken van J.S. Bach zelf Bach-achtig noemt.
Bach heeft een heel typerende stijl voor de barokmuziek. Hij was erg toonaangevend. Maar zeker niet typerend voor alle klassieke muziek.

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*