Asking ChatGPT to be creative in 2023

After reading Amy Goodchild’s post on ChatGPT-3 vs ChatGPT-4’s abilities on Sol Lewitt’s Wall Drawings, I wanted to see what I could do with ChatGPT.

My first prompt:

What are some things people have NOT yet asked you to do for them?

ChatGPT’s response was:

As an AI language model, I don’t keep track of specific requests from individual users, but there are certain things that are not within my capabilities or are not appropriate for me to do. For example, I cannot physically perform tasks like cooking or cleaning, and I cannot violate ethical or legal boundaries such as hacking into someone’s computer or providing illegal advice.

However, some possible examples of things that people have not yet asked me to do could include creating a completely original work of art or music, generating a completely new scientific theory or hypothesis, or developing a new language or communication system from scratch. These tasks require a high level of creativity and originality that are typically associated with human intelligence rather than artificial intelligence.

OpenAI’s ChatGPT

So I asked it to create an original work of art. In my head, I wanted it to create an image. It went left.

Here’s a short poem that I just generated for you:

In the stillness of the night,
The stars dance in pure delight,
Their twinkling lights, so serene,
Guide us through the darkness unseen.

The moon rises with a graceful air,
Its silvery glow, so bright and fair,
Reflects upon the world below,
A wondrous sight, a gentle glow.

The universe sings a symphony,
Of light and sound, so full of harmony,
A masterpiece of art and grace,
A timeless beauty, in every space.

ChatGPT, the bard

Then I asked it to generate a p5.js drawing based off of the poem it just wrote.

a moon on a black background

To see it in action, Go here and click play.

I then asked it to create a song from the poem. It generated the code in python and saved as a midi. I converted it to mp3. ChatGPT is much better at poetry and the visual arts than music.

Here’s the code it generated:

from midiutil import MIDIFile

# Define the tempo, time signature, and duration
tempo = 120
time_signature = (4, 4)
duration = 1
output_file = 'output.mid'


# Define the melody for the first track
melody = [60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 62, 62, 64, 64, 65, 65, 67, 67, 69, 69, 71, 71, 72, 72]

# Define the chords for the second track
chords = [
    [60, 64, 67],
    [62, 65, 69],
    [64, 67, 71],
    [65, 69, 72],
    [67, 71, 74],
    [69, 72, 76],
    [71, 74, 77],
    [72, 76, 79]
]

# Define the bassline for the third track
bassline = [48, 50, 51, 53, 55, 57, 59, 60]

# Define the melody for the fourth track
melody2 = [72, 71, 69, 67, 65, 64, 62, 60]

# Define the string section for the fifth track
strings = [60, 64, 67, 72, 76, 79, 84, 88]

# Define the woodwind section for the sixth track
woodwinds = [62, 64, 66, 67, 69, 71, 73, 74]

# Define the brass section for the seventh track
brass = [65, 67, 69, 71, 72, 74, 76, 77]

# Define the percussion for the eighth track
percussion = [
    [35, 51],
    [35, 49],
    [36, 49],
    [35, 51],
    [35, 49],
    [36, 49],
    [35, 51],
    [35, 49]
]

# Create a new MIDI file with 8 tracks
midi_file = MIDIFile(8)

# Set the time signature and tempo for all tracks
for track in range(8):
    midi_file.addTimeSignature(track, 0, 4, 2, 24)

    midi_file.addTempo(track, 0, tempo)
# Add the notes for each track
for i, note in enumerate(melody):
    midi_file.addNote(0, 0, note, i * duration, duration, 100)

for i, chord in enumerate(chords):
    for note in chord:
        midi_file.addNote(1, 0, note, i * duration, duration, 100)

for i, note in enumerate(bassline):
    midi_file.addNote(2, 0, note, i * duration, duration, 100)

for i, note in enumerate(melody2):
    midi_file.addNote(3, 0, note, i * duration, duration, 100)

for i, note in enumerate(strings):
    midi_file.addNote(4, 0, note, i * duration, duration, 100)

for i, note in enumerate(woodwinds):
    midi_file.addNote(5, 0, note, i * duration, duration, 100)


# Write the MIDI file to disk
with open(output_file, 'wb') as file:
    midi_file.writeFile(file)

And here’s what it sounds like. ChatGPT is no Mozart.

ChatGPT’s Magum Opus concerto #1

In summary, ChatGPT is good at sounding smart but can’t yet make smart sounds. It also needs more art appreciation classes.