OU blog

Personal Blogs

Christopher Douce

Reading Shakespeare with a ChatBot

Visible to anyone in the world

I’ve had to read quite a few plays during my study of A334 English literature from Shakespeare to Austen I have found that some plays are easier to read than others; it really does depend on how much I know something about them.

One play I’ve enjoyed reading is Hamlet. To help with my study of the text, I tried an experiment. Could I get an AI chat bot to read Hamlet with me? After a conversation with a friend, I tried Pi, a general purpose chatbot.

We’ve been studying the Arden edition of Hamlet, which is an annotated version of the Q2 edition (if you know about these things). To keep things simple, I focussed on the very start of the play, where Barnardo and Francisco have a chat about keeping watch.

Using my mobile phone and a headset, I told Pi that I would play the role of Barnardo, and that Pi (who I configured to have a male voice) should play the role of Francisco. Pi insisted on saying ‘Francisco says…’, which was really annoying. After a bit of persuasion, Pi agreed just to immediately move onto the next line in the text after I had finished my line.

Although I was initially hopeful that I could have a cool digital performance buddy, things fell apart very quickly; ‘Francisco’ began to say lines that were not in the Q2 edition. Responding to this, I patiently explained which edition I was using, and Pi said something like, ‘okay, I understand, I’ll use the Q2 edition’.

We started again… and it all fell apart. Pi started to speak the wrong lines again.

Knowing that AI models have drawn on resources such as Project Guttenberg, I tried it out on a different play, using a version that we could both have access to: the Project Guttenberg version of Julius Caesar. Out of curiosity, I asked it to speak Mark Antony’s famous speech about Brutus being an honest man.

My reason for asking this was simple: perhaps Pi could be a helpful accessibility tool, and may help me to work through passages of bits of texts that I might have trouble with.

Pi refused. It didn’t want to read the speech for me. It told me that it wasn’t designed to help me in that way.

All this messing about with AI chatbots does beg some interesting questions. To what extent could it be possible to create a digital tool to help with the performance of play texts? I didn’t get too far with the use of a general purpose AI chat bot. My guess is that it would be better to tool that is specific to the problem. I have in my mind something where you could give different voices to different roles. Alternatively, the tool could play real recorded human voices too.

My questions are: what bits of technology could help to do this? There are speech recognition APIs and speech generation APIs. How might it be possible to create the middle bit? How could the idea of virtual actors be used in live performance, or to help to prepare for live performance?

I'm pretty sure there must be something like a text annotation language, to specify how a fragment of text should be read, i.e. whether something should be read slowly, or quickly, or in a friendly tone, or in an angry hurried manner.

Collaborators welcome.

Permalink Add your comment
Share post