This website lets you generate music using an artificial intelligence called a “recurrent neural network” (RNN). It's called “folk-rnn” because the RNN is trained on transcriptions of folk music. Each press of the ‘compose’ button will create a new tune, shaped by your initial input. For example, raising ‘temperature’ will make the algorithm more adventurous. Or if a generated tune has a feature you like, you can copy that back into the ‘Initial ABC’ field and generate new tunes led by that feature.
Folk music is part of a rich cultural context that stretches back into the past, encompassing the real and the mythical, bound to the traditions of the culture in which it arises. Artificial intelligence, on the other hand, has no culture, no traditions. But it has shown great ability: beating grand masters at chess and Go, for example, or demonstrating uncanny wordplay skills when IBM Watson beat human competitors at Jeopardy. Could the power of AI be put to use to create music?
— ‘Machine folk’ music composed by AI shows technology’s creative side. The Conversation, March 2017
Why do this? As that article goes on to say, the original folk-rnn was developed, and its developers composed music using its successes and failures. This website aims to make that possible for everyone. It’s a tool anyone can use.
To get started, you might want to simply download a generated tune and import it into your composition app of choice. For each generated tune this site exports MIDI. The downloaded files have successfully been imported into e.g. Logic. It's worth noting that site is not, and never will be, a composition app where you can then hand-edit the tunes generated by folk-rnn. That's already well served elsewhere.
Explore the generation parameters. The ‘about’ section mentioned raising ‘temperature’. 1.0 is normal, 2.0 is more wild, and 0.5 more cautious. It also mentioned copying back into the ‘Initial ABC’ field features in the generated tune you like; to make this easier clicking on notes in the staff notation will highlight the associated note in the generated ABC. Or, take some of your favourite tunes and set ‘Initial ABC’ with a snippet of ABC from there.
See these useful links:
The transcriptions are in ABC format, which is a way of writing music with plain text. “In basic form it uses the letters A through G to represent the given notes, with other elements used to place added value on these - sharp, flat, the length of the note, key, ornamentation.” – more on wikipedia. We also transposed everything into the key of ‘C’ so folk-rnn learnt the patterns in the music rather than the differences in key.
For more on ABC itself:
In the controls on the left, you can select between two models built using data from thesession.org: (w/ :||:) and (w/o :||:). The first model is trained on abc with the repeat signs preserved. The second is trained on abc with the repeats unrolled.
Sometimes, yes. The same goes for the staff notation. The open source library abcjs is used to render the tunes that folk-rnn generates, which includes the audio playback. It’s an amazing library, but is not always perfect. And sometimes this site asks the impossible, given folk-rnn doesn't always output entirely valid ABC. In these cases, try downloading the MIDI and playing back on your device of choice.
The Machine Folk Session is a community website dedicated to folk music generated by, or co-created with, machines. Give your generated tune a title, hit 'Archive', and it will become part of the collection there. You'll be taken to its page on the machine folk session site, where you can hand-craft settings of the tune and discuss it with others.