Pop2piano: Kunstmatige intelligentie zet nummers om naar pianoversie
Achterhalen hoe muziek precies in elkaar zit, is vaak lastig. Gelukkig schiet kunstmatige intelligentie (AI) tegenwoordig te hulp. Pop2piano herkent niet alleen de structuren, maar zet ze ook om naar een volwaardige pianoversie.
Heb je ooit willen weten hoe je favoriete nummers op de piano klinken, maar heb je geen idee hoe je dat voor elkaar kan krijgen? Dan is er goed nieuws: AI kan je hierbij helpen! Met Pop2piano kun je nu nummers converteren naar een volwaardige pianoversie. In dit artikel ontdek je: wat Pop2piano kan | hoe je het programma installeert | hoe de upload en analyse werken.
Wil jij meer leren over kunstmatige intelligentie? Lees dan ook: 10 veelgestelde vragen over AI
Pianonummers maken
Professionals kunnen een nummer vaak op gehoor naspelen, maar dat is voor de meesten van ons niet weggelegd. De laatste jaren verschenen daarom apps die nummers konden analyseren, maar die herkenden vaak alleen basisakkoorden en haakten af wanneer het complexer werd. Nu is er echter AI die nummers kan converteren naar een versie met uitsluitend piano (in de muziekwereld transcriptie geheten), die je bovendien als midi-bestand kunt downloaden. Daaruit haal je alle informatie die je maar nodig hebt.
Het enige nadeel van Pop2piano, zoals dit moois heet, is dat het draait in Google Colab en dat schrikt mensen vaak af. Met de hulp van deze workshop mag het gebruik ervan echter geen probleem zijn. Om met Colab te kunnen werken, is een Google-account vereist. Mocht je dit niet hebben dan moet je dat eerst aanmaken via deze site.
Kennismaking
Je vindt Pop2piano via colab.research.google.com/drive Je wordt nu getrakteerd op een programma dat in blokken is verdeeld en draait op hardware van Google. Zo’n programma jaagt veel mensen de stuipen op het lijf, maar dat is nergens voor nodig.
Een Colab-script, zoals zo’n programma ook wel wordt genoemd, is te vergelijken met een spreadsheet. Elk blok met code is als een cel in een rekenblad. Zoals elk van die cellen zijn eigen stukje bijdraagt aan de berekening, zo voert elk blok met code een afgerond stukje van het programma uit. Elk van deze blokken kun je afzonderlijk uitvoeren door middel van een afspeelknop of in één keer via het menu Runtime / Run all.
Voorbereiding
Omdat al deze Colab scripts door hobbyisten worden gemaakt, zijn er grote verschillen in de hoeveelheid hulp en uitleg die je krijgt. De uitleg in Pop2piano is summier, zeker als je de procedures niet kent. Al dit soort scripts downloaden en installeren eerst de nodige software om Python-programma’s te kunnen draaien. Het installeren van benodigde programmabibliotheken (ook wel ‘dependencies’ genoemd) gebeurt vrijwel altijd in een cel die Setup wordt genoemd en dat is ook bij ons het geval.
Pc niet krachtig genoeg?
Kijk dan vast rond naar een vervanger
De maker vraag ons eerst te controleren of Google ons wel de juiste hardware geeft. Programma’s om AI te gebruiken vereisen namelijk flink wat rekenkracht en draaien bij voorkeur op een grafische processor (gpu) of speciale AI-processor (tpu). Om te zorgen dat je zo’n processor krijgt toegewezen, ga je naar het menu Runtime / Change runtime type. Daar kies je voor GPU of TPU en klik je op Save. Welke processor je krijgt, hangt af van de beschikbaarheid op dat moment.
Setup uitvoeren
We zijn nu klaar om het programma uit te gaan voeren. Zoals gezegd, kun je een script in één keer uitvoeren. Maar omdat dit onze eerste keer is, doen we het rustig aan en klikken we op de afspeelknop van de eerste cel (Setup Environment). De eerste keer dat je dit doet, zul je een waarschuwing zien. Wij vertrouwen dit script en klikken daarom op Run Anyway. Er wordt nu van alles gedownload en geïnstalleerd. Als dit na enkele minuten klaar is, zie je bij het celnummer een groen vinkje verschijnen.
Python maakt gebruik van bibliotheken die te vergelijken zijn met de dll-bestanden van Windows. Tijdens ónze installatie krijgen we een melding (in rood) dat we het script opnieuw moeten starten vanwege een nieuwe versie van een van die componenten Daarvoor kunnen we klikken op de knop Restart Runtime die is verschenen, en de herstart bevestigen. Of je zo’n melding krijgt, hangt af van de actuele programmaversie die je gebruikt. Ontvang je deze melding, dan moet je deze extra stap doen en vervolgens nogmaals de eerste cel uitvoeren.
Volgende cellen
De volgende stap is het uitvoeren van het bovenste deel van cel 2 (Import codes) door weer op de afspeelknop te klikken. Deze is binnen enkele seconden klaar. De eerstvolgende afspeelknop vinden we in datzelfde blok bij device=. Dit blok downloadt de laatste benodigdheden om aan de slag te kunnen.
De AI kent meerdere methoden om muziek te analyseren. Deze worden aangeduid met de naam composer, en standaard is composer1 geselecteerd. Achter de regel met die naam zie je een driehoekje. Klik je daarop, dan kun je een van de vele andere composers kiezen. Deze selectiemethode wordt veel gebruikt in Colab-scripts. Houd het voor nu bij composer1 en voer daarmee ook de cel Select Arranger uit.
Upload en analyse
Al deze voorbereidingen zijn eenmalig. Als we meerdere nummers willen analyseren, hoeven we vanaf nu (tijdens deze sessie) alleen de cellen vanaf 4 opnieuw uit te voeren. Wij hebben 4 al gedaan, dus klikken we nu op de afspeelknop bij Upload audio file.
Er verschijnen twee knoppen: browse en cancel. Klik op de eerste en zoek op je harde schijf naar het nummer dat je wilt uploaden. Als de upload voltooid is, kun je het nummer laten analyseren door de cel Result uit te voeren. Afhankelijk van de lengte van het nummer is de AI hier enkele minuten mee bezig.
Als alles goed verloopt, zie je een voor een drie kleine audiospelers verschijnen met de namen Stereo MIX, Rendered MIDI en Original Song (afbeelding 5). Hier kun je beluisteren of de AI zijn werk naar wens heeft gedaan. Als dat niet zo is, zou je een nieuwe analyse kunnen doen met een andere composer. Ben je tevreden, dan kun je de laatste cel (Download) uitvoeren om de piano-transcriptie als midi-bestand te downloaden.
Losse eindjes
Colab-scripts kunnen soms wat nukkig zijn. Zo kregen wij op zeker moment een foutmelding bij het uitvoeren van de cel Result vanwege een verbroken verbinding. Het verversen van de pagina biedt dan vaak soelaas.
Soms kun je problemen ook voorkomen door een script naar je eigen Google Drive te kopiëren en vanaf daar uit te voeren. Dat doe je met de knop Copy to Drive bovenaan de pagina. Je kunt het script dan voortaan vanaf je Google Drive starten. Als je verstand hebt van Python zou je het dan zelfs kunnen aanpassen, wat bij het origineel niet kan. Aan de midi-bestanden die je hebt gedownload heb je natuurlijk niets als je ze niet ook kunt bekijken. Dat kan met gratis programma’s, zoals Bandlab of MuseScore of met je eigen favoriete midi-programma.