Vanaf de lancering van Chordify staan eenvoud en gebruiksgemak voorop, zowel voor de apps als de website. Toch schuilt er complexe AI-technologie onder de motorkap van ons bedrijf. Het goede nieuws is dat je geen kunstmatige intelligentie hoeft te studeren om te begrijpen hoe ons algoritme de akkoorden van je favoriete nummers uitspuugt. In deze blogpost laten we je zien hoe dit in zijn werk gaat.
Twee processen zijn belangrijk bij het generen van akkoorden hier bij Chordify: we willen de akkoorden van een song weten en we willen de posities van de akkoorden op de maat van de muziek weten, oftewel chord recognition en beat tracking. Hoe werkt dat?
Spelen met spectrogrammen
We beginnen met het audiosignaal van een nummer – ik hoor je denken: wat is dat precies? Goeie vraag! Een audiosignaal is een gedigitaliseerde golfvorm die afwijkingen in luchtdruk beschrijft in de tijd, die wij als mensen uiteindelijk als geluid herkennen. Het is bijna onmogelijk om bruikbare informatie over de akkoorden of de maatsoort hieruit op te maken. Daarom converteren we de audio in een representatie die wel inzicht kan verschaffen: een spectrogram. Een spectrogram is een weergave van een tijdsfrequentie die ons een beter beeld geeft van de muzikale inhoud van de audio. Maar daarmee zijn we er nog niet; Chord recognition en beat tracking zijn op dit punt nog aardig uitdagende aangelegenheden.
Deep neural networks – Wel voeren a.u.b.
Om dit op te lossen gebruiken we deep neural networks. Een deep neural network is als een robot die je vertelt wat de input is en wat de output moet zijn. Bijvoorbeeld, je ‘voert’ het een spectrogram en vraagt er akkoorden voor terug, of je voert het een spectrogram en vraagt er de beat voor terug. In het begin heeft de robot geen idee hoe het dit moet herkennen, dus geeft het random outputs.
Hoe train je een robot?
Weet je nog die ene keer dat ons algoritme op summer bootcamp ging om helemaal in topvorm te komen? Waarschijnlijk niet, daarom hebben we er een verslag over geschreven.
De volgende stap naar de juiste akkoorden vinden is het trainen van de robot. Dit gebeurt door grote hoeveelheden spectrogrammen met akkoordlabels of beatlabels te tonen aan het algoritme. Je geeft de robot als het ware les in wat wèl goed is. Aan de hand van deze goede voorbeelden leert het algoritme akkoorden en beats herkennen. Het is eigenlijk net een kind. Uiteindelijk vindt de robot zijn eigen weg van input naar output.
Als je de robot genoeg voorbeelden (duizenden en duizenden liedjes) hebt laten zien, is het in staat om dezelfde taak te vervullen voor audio die het nog nooit heeft gehoord. Als dat moment is aangebroken laten we de nieuwe versie van het algoritme los op onze website om de nieuwe skills aan jullie te laten zien.
Onze research afdeling is continu bezig om de technologie en daarmee de kwaliteit van de akkoorden te verbeteren. Wist je dat je door nummers te editen meehelpt aan dit proces? Het Chordify algoritme wil ook leren van jou, echt waar. Happy jamming!
Wil je meer weten over ons algoritme? Hier zijn wat suggesties:
Could artificial intelligence disrupt the music industry?
Chordify team members publish an article about subjectivity in chord recognition
Our algorithm went on summer bootcamp to track beats even better
The Chordify Algorithm wants to learn from you
Make your chords even more specific
The science behind writing down chords