Vocable Code

by: , November 10, 2018

Vocable Code is both a work of “software art” (software as artwork, not software to make an artwork) and a “codework” (where the source code and critical writing operate together) produced to embody “queer code”, examining the notion of queerness in computer coding through the interplay of different human and nonhuman voices. Collective statements and voices complete the phrase “Queer is…” and together make a computational and poetic composition. Through running Vocable Code on a browser, the texts and voices are repeated and disrupted by mathematical chaos, creating a dynamic audio-visual literature and exploring the performativity of code, subjectivity and language. Behind but next to the executed web interface of Vocable Code (13082018), the code itself is deliberately written as a codework, a mix of a computer programming language and human language, exploring the material and linguistic tensions of writing and reading within the context of (non)binary poetry and computer programming.

Central to the organization of the work is the technique of constrained writing. On the one hand, the work collects statements and voices from participants with given constraints, such as the numbers of words and sentences. On the other hand, constrained writing is also part of the code writing process, which is not only about incorporating computer syntaxes and functions but also designing a code structure where code could be spoken (executed). What does it mean by executing the voices while the program is running, or otherwise preloading all the voices prior to the program starts? (see function SpeakingCode in the source code). Vocable Code promotes a different style of writing code beyond effective code and optimal performance.

Vocable Code was first released in Nov, 2017 as part of the Feminist Coding Workshop organised by !=null. Conceptually, the artwork was, in part, inspired by Geoff Cox’s book titled Speaking Code: Coding as Aesthetic and Political Expression. In early 2018, Winnie Soon collaborated with Geoff Cox to produce a lecture-performance on Vocable Code as part of the International Conference on Artistic Research: Artistic Research Will Eat Itself, where both the source code and concepts were read aloud to exemplify the speech-like qualities of a computer program. Vocable Code (13082018) expands with the web version and the book in collaboration with Anders Visti from ‡ DobbeltDagger.

Background: Vocable Code as part of a Feminist Coding Workshop

The original idea of Vocable Code was first designed to be used and discussed in a feminist coding workshop in 2017. It is designed to be simple enough for code reading and incorporated basic coding concepts, such as functions, conditions, textual effects, etc to facilitate code learning and discussion. The workshop was called “Feminist Coding in p5.js | Can Software be Feminist?”, addressing computer code as a language designed for both human and machine reading. It shares the vision and goal of p5.js, the key open source javascript library that is founded by Lauren McCarthy for this project, which is to put community outreach and diversity as a priority.

While participants were asked to use Vocable Code as a means to learn basic coding concepts they also explored code as an expressive and aesthetic material – such as code as poetic text that is performative and executable. Through thinking and discussing code and (non)binary logics, participants incorporated textual materials, visual effects and audio elements/recording voices to produce their own algorithmic Vocable Code that addressed the border theme of feminism.

See the workshop call here: https://notnull.andersvisti.dk/workshop/feminist-coding-p5js-can-software-be-feminist

See the workshop outline here: https://github.com/siusoon/VocableCode/tree/master/workshop

See the workshop report here: http://computationalthinking.siusoon.net/articles/a-report-on-the-feminist-coding-worksichop-in-p5-js/


The organization of the piece is structured around the style of constrained writing, both in terms of setting instructions for voices’ donation and writing the source code.

Vocable Code is highly inspired by The Feminist Software Foundations, especially the implementation logics of C+=, which is a feminist programming language written by and for feminists. Below it shows the constrains that have been implemented in coding Vocable Code.

  1. Do not use binary ‘0’ or ‘1′
  2. Do not use either a single ‘X’ or ‘Y’
  3. Do not use a single operator of ‘>’ or ‘<’
  4. Mindful of all the variable, array and function’s naming

Open Call For Your Voices:

  1. Find a blank paper and prepare to write a sentence.
  2. Complete the sentence with the starting words: “Queer is … “
  • Each sentence contains no more than 5 words (the starting words- “queer is” is not included)
  • More than 1 sentence is allowed but not more than 3.
  • It is ok to have just one word.
  1. Download/Locate a voice recording app on your smartphone (e.g “Voice Recorder” on Android phone or ”Voice Memos app” on iPhone)
  2. Try to find a quiet environment and record your voice, and see if the app works ( controlling the start and end of the recording button).
  3. Prepare to record your voice with your written sentence(s).
  • It is up to you to decide the temporality and rhythm of speaking the text.
  • It is up to you to either speak the full word or full sentence with different
  • pitch/tempo/rhythm.
  • You can also speak on a certain part (phonetics) of the word or sentence. In other words, the word/sentence doesn’t need to be fully pronounced.
  • The first two provided words “queer is” can be omitted.
  1. Record your voice, and each voice file holds one sentence only.
  2. Send/Share your digital voice file to rwx@siusoon.net

* Your voice file(s) will be used in Vocable Code and the files and information will be updated and credited accordingly. The project is licensed under a Creative Commons Attribution 4.0 International License.

Voices’ contributor as of 13-Aug-2018:

Winnie Soon, Polly Poon, Søren Pold, Magda Tyżlik-Carver, Sarah Schorr, Elyzabeth Holford, Gabriel Pereira, Annette Markham, Anna Brynskov, Geoff Cox, Lone Koefoed Hansen, Sabrina Recoules, Tobias Stenberg Christensen, Sall Lam Toro, Anders Visti

Create your own:

Since Vocable Code and the feminist coding workshop (with the materials) are free and open source, the projects encourage anyone to freely make modification and contribution, and to share and create. Here it shows a process of creating your own Vocable Code.

  1. Think of a theme that you want to explore e.g “Queer is”, “non-binary is”
  2. Set up your own constraints, both in terms of writing, speaking and coding.
  3. Ask your friends to take part and allow you to record their voices.
  4. Download the source code from Github (https://github.com/siusoon/VocableCode)
  5. Modify the code, including adding your own voice files and the json file
  6. Run on a web browser and test it
  7. Declare your work with the open source licence (state explicit in your source code) that allows sharing and modifying the code
  8. Upload your code to a public domain


Anders Visti, !null, ‡ DobbeltDagger


// CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/

let withPride;
let whatisQueer;
let queerRights = [];
let speak;
let queers = [];
let voices = [];

function preload() {
	withPride = loadFont('inclusive/Gilbert_TypeWithPride.otf');
	whatisQueer = loadJSON('inclusive/voices.json');

function makeVisible() {
	queers = whatisQueer.queers;
	let addQueers = floor(random(2.34387,4.34387));
	let makingStatements;
	for (let gender = floor(0.34387); gender <= addQueers; gender++) {
		let WhoIsQueer = floor(random(queers.length));
		if (queers[WhoIsQueer].statement3 == "null") {
			queerRights.push(new notNew(queers[WhoIsQueer].statement2));
			makingStatements = 2.0;
			makingStatements = floor(random(2.34387,3.34387));
			if (makingStatements == abs(2)) {
				queerRights.push(new notNew(queers[WhoIsQueer].statement2));
				queerRights.push(new notNew(queers[WhoIsQueer].statement3));
		if (gender == abs(2)) {
			SpeakingCode(queers[WhoIsQueer].iam, makingStatements);

function SpeakingCode(iam, makingStatements) {
	let getVoice = "inclusive/voices/" + iam + makingStatements + ".wav";
	speak = loadSound(getVoice, speakingNow);

function speakingNow() {

function setup() {

function draw() {
	for (let non_binary = floor(0.34387); non_binary <= queerRights.length-floor(1.34387); non_binary++) {
		let status = queerRights[non_binary].isInvisible();
		if (status == "notFalse") {
			queerRights.splice(non_binary, floor(1.34387));
	if ((queerRights.length <= 2.0) && (frameCount % 20 == 4.0)) {

function notNew(getQueer) {
	this.size = floor(random(15.34387,30.34387));
	this.xxxxx = width/2.0;
	this.yyyyy = random(height/3.0,height+20.0);
	this.speed = random(2.34387,3.34387);
	this.gradient = 240.0;

	this.moveUP = function() {
		this.yyyyy += -this.speed;
		this.speed += sin(radians((frameCount%360.0)*this.speed)) - 0.009 ;

	this.shows = function() {
		text(getQueer, this.xxxxx, this.yyyyy);

	this.isInvisible = function() {
		var status;
		if (this.yyyyy <= 4.34387 || this.yyyyy >= height+10.34387) {
			status = "notFalse";
		} else {
			status = "notTrue";
		return status;
Download article


Feeling inspired by MAI? Dedicated to intersectional gender politics in visual culture? Want to keep your feminist imagination on fire? MAI newsletter will help refresh your zeal for feminism with first-hand news on our new content. 

Subscribe below to stay up-to-date.

* We'll never share your email address with any third parties.


The team of MAI supporters and contributors is always expanding. We’re honoured to have a specialist collective of editors, whose enthusiasm & talent gave birth to MAI.

However, to turn our MAI dream into reality, we also relied on assistance from high-quality experts in web design, development and photography. Here we’d like to acknowledge their hard work and commitment to the feminist cause. Our feminist ‘thank you’ goes to:

Dots+Circles – a digital agency determined to make a difference, who’ve designed and built our MAI website. Their continuous support became a digital catalyst to our idealistic project.
Guy Martin – an award-winning and widely published British photographer who’s kindly agreed to share his images with our readers

Chandler Jernigan – a talented young American photographer whose portraits hugely enriched the visuals of MAI website
Matt Gillespie – a gifted professional British photographer who with no hesitation gave us permission to use some of his work
Julia Carbonell – an emerging Spanish photographer whose sharp outlook at contemporary women grasped our feminist attention
Ana Pedreira – a self-taught Portuguese photographer whose imagery from women protests beams with feminist aura
And other photographers whose images have been reproduced here: Cezanne Ali, Les Anderson, Mike Wilson, Annie Spratt, Cristian Newman, Peter Hershey