Programming Etude 1: Poets of Sound and Time


In this programming etude, I use ChucK and Word2Vec to create experimental poetry involving text, sound, and time. I use Word2Vec to generate words for the poem and ChucK for sound and timing. This is based off the CS 470 Programming Etude 1 Assignment.


Overall, combining using ChucK and Word2vec in order to create poetry was a fun and challenging process. Previously, I had worked with Word2vec and training it to learn word associations, but I had never given much thought to how it could be used in creative and artistic settings. Creating these poems not only allowed me to learn more about the Word2vec but also to reflect more on not only how they can be used and their limitations.

I found it challenging to integrate all three aspects of text, sound, and time. I had never given much thought to the aspects of sound and time in poetry, but these provided additional dimensions of creativity and thought. In my creation process for these poems, I ended up first focusing on generating text, then on the timing of the text, and finally on the sound. I spent the most time testing how I wanted the words of the poem to be generated. However, all three aspects were highly linked together. For example, the way I chose words was greatly influenced by the sound and timing aspects because I wanted all three aspects to mesh together. It was interesting to have to consider all the different factors and not just the content of the words.

At times, I felt limited by Word2vec because I would start off with an idea of how I wanted the poem to come together, but the generated words didn’t quite match my intent. It would be interesting to expand beyond Word2vec and work with a more advanced and powerful word retrieval model.


For this exericse, I created two poems. One poem is interactive and takes in user input. The user is prompted to input a line of poetry, and a poem stanza is generated based on this line. The other poem is automatically generated from an input poem text file. The program will take an existing poem and generate a new poem based off of it. I used starter code from the assignment and ChucK examples to help create these.

Poem 1: Poetry Generation

Poem 2: Poetry Remix