Today I tried experimenting with ChatGPTs code interpreter. See here for a nice overview. It has recently been renamed to Advanced Data Analysis so it’s more approachable to non-programmers and I found that I didn’t need to write any code for this experiment.

I first uploaded my tune database (consisting of the tunes from www.thesession.org) to see if ChatGPT could discover any insights from the data or maybe write a new tune

Analyzing and Composing Irish Traditional Tunes with ChatGPT

Irish traditional music has a rich corpus of melodies. The tunes are usually played with rigid timing and reels, which have no syncopation, are probably the most common tune type. I think there are often similar melodic patterns found throughout many of the tunes which are commonly played in open sessions. So my goal was to see if I could derive any insights and perhaps have ChatGPT compose a new tune.

Exploring the Dataset

I first switched on Advanced Data Analysis on my ChatGPT account (a ChatGPT plus subscription is required to use Advanced Data Analysis or plugins). The data, a SQL file, with tune entries in ABC notation format, contained various types of tunes like reels, jigs, hornpipes, and more. ChatGPT initially offered me prompts to output the count of tunes of various types, key signatures, titles, sources etc. so I let it run its suggested queries.

Pattern Analysis in Reels

I asked ChatGPT to focus on reels, one of the most popular types of Irish tunes. By analyzing the notations of reels, it identified recurring melodic patterns, which can be considered the ‘building blocks’ of these tunes.

Identifying Canonical Tunes

Using the recurring patterns, we (ChatGPT and I) then ranked tunes based on their “canonicity” — a measure of how many common patterns a tune contains. This identified tunes could be considered “standard” or “canonical” in the context of the dataset. The most “canonical” (or common sounding I guess) reel using this method is it turns out is called “Toss the Feathers”

https://www.youtube.com/watch?v=F1X_M8QGHYM

Composing a New Reel

I then asked ChatGPT to compose a new reel which it named, “ChatGPT’s Fancy”. The initial attempt sounded a bit dull, so I asked for some ornamentation (rolls and triplicates), as well as a high and low part. ChatGPT seemed to have trouble sticking to the 4/4 timing and a couple of iterations of the tune had too many or too few beats. And here it is with a couple of human driven modifications.

Drumroll………….

ChatGPTs Fancy