Versie 1 Een plat overzicht van muziekgenres en substijlen.
Verzamelen van data met Chat-GPT
Het zoeken naar data heb ik uitbesteed aan Chat-GPT. Voor dit experiment maak ik me niet al te druk over de juistheid van de antwoorden. De duiding van genres en stijlen is sowieso geen exacte wetenschap, daarnaast is Chat-GPT wel erg creatief in het vinden van antwoorden. Door verschillende vragen te stellen kon de data stap voor stap verzameld worden in Excel. Als je geen betaalversie gebruikt moet dat in kleine stapjes. Teveel data ineens vragen leidt tot time-outs. Probleem met herhaalde stappen is dat de antwoorden van Chat-GPT behoorlijk inconsistent zijn. Exact dezelfde prompt geeft elke keer een wat andere inhoud en Chat-GPT verandert op 'eigen initiatief' de vorm van het antwoord. Zo krijg je de ene keer een lijst en de andere keer een tabel, of worden opeens allemaal emoticons toegevoegd. Door per genre te vragen naar de genres die van invloed waren en de genres die er door zijn beïnvloed kun je aan de onderlinge relaties komen.
Ordenen van data in Excel
Excel is een handige tool om de data bij elkaar te brengen en te categoriseren. Omdat Chat-GPT in stapjes moet kun je in Excel een consistente datapositie opbouwen door steeds nieuwe kolommen met attributen toe te voegen.
Importeren van data in Blender
Met export van .csv naar Blender krijg je de data in Blender. De lijst met genrenamen kun je via het scriptingvenster en de blenderfunctie text-to-object importeren. Een door Chat-GPT gemaakt pythonscript zorgt er voor dat ieder tekstobject de genrenaam als objectnaam krijgt.
import bpy
# Get all text objects in the scene
text_objects = [obj for obj in bpy.data.objects if obj.type == "FONT"]
# Loop through each text object
for obj in text_objects:
# Check if the object has a text data block
if obj.data:
# Get the content of the text object
text_content = obj.data.body.strip()
# Rename the text object with its content
obj.name = text_content
# Print the new name for verification
print(f"Renamed '{obj.name}' to '{text_content}'")
Ik heb geprobeerd Chat-GPT pythonscripts te laten maken om ook de relaties in Blender te krijgen. Dat leverde prachtige Pythonscode op die helaas niet werkend waren te krijgen.
Visualiseren van data in Blender
Het relatienetwerk bestaat uit 1 mesh, waarvan de edges de relaties weergeven. Het voordeel van 1 mesh is dat je iedere genrenaam kunt koppelen aan een vertice. Daarna kun je flexibel groeperen zonder dat het netwerk breekt. Met dit netwerk zie je wel de cluster in genres en stijlen ontstaan. Blender kent veel handige functies om de visualisatie vorm te geven. Onderstaande image is het resultaat.
Versie 2 Een image met links naar een voorbeeld van ieder genre en iedere stijl.
Voor deze versie heb Chat-GPT gevraag voorbeelden van artiesten per genre te noemen. Dat betekent een lijst geven in de prompt en een bruikbare tabel zien terug te krijgen.
De png van versie 1 opgenomen in een pdf. Met PDF-expert, -helaas- handmatig, de links naar voorbeelden in Spotify toegevoegd.
Versie 3 Een datawolk van genres, relaties en piekperiodes
Chat-GPT kan ook de piekjaren per genre genereren (in sommige gevallen verzinnen?). Door van ieder vertice de Z-coördinaat te vervangen door het jaartal wordt het netwerk in een derde dimensie uitgerekt.