User:Mitsa/Final presentation
First Year
Si16
Personal reflection
In the SI16 I co-produced the project "...And I wish that your question has been answered". I also participated in the writing of the Manifesto of and the Terms of service of the publication. In the project I worked on the functions Respell, Stitch and Reveal, which are based on the Replace Python function. I was occupied by the urge to understand how the choice of specific words inside a text can shape our ideologies. In that sense I proposed to use the three functions on the political speeches of Mark Rutte and Kiriakos Mitsotakis, prime ministers of Netherlands and Greece, about the pushbacks on the EU borders. As a result, we came out with an interface where a user can interchange specific words of these 2 speeches with others words, characters or blankets in order to disrupt and question the meaning of the original texts.
...and I wish that your question has been answered
About
This text is a transcribed excerpt from the Press Conference that followed the meeting between the Greek Prime Minister Kyriakos Mitsotakis and the Dutch Prime Minister Mark Rutte on November the 9th, 2021 in Athens. During the Q&A, the Dutch reporter Ingeborg Beugel asked Mitsotakis for clarity and honesty referring to pushbacks which Greek border guards keep committing towards refugees, while the Greek Government systematically conceals such violence. She continued by asking Mark Rutte what the political stance of the Netherlands towards refugees' relocation and Mitsotakis's policy would be.
The choice of this text as our source material has different reasons. First of all, we were interested in how language can produce categories and shape identities: how does wording create precise borders between the "us" and the "them"? Our second step would be reflecting on text processing strategies through which a speech or a narration can be recontextualised and reclaimed. By replacing or taking out words of a discourse, and thus making some parts of it interchangeable, we tried to highlight how its phrasing is never neutral, but always a choice led by a particular purpose.
We decided to work on this text as the Press Conference took place at the moment we were developing our research, and as we were really interested on the distinctive rhetoric strategies that Beugel, Mitsotakis and Rutte choose for voicing their goals. It is clear that the reporter uses an emotional and provocative tone to address Mitsotakis' politics, which challenges his composure to a point where he can not keep it anymore, while when talking to Rutte, her speech is more calm and detached. In response to her question, both Prime Ministers refuse responsibility of their actions: they use a rather managerial and pre-designed language to neutralize the reporter's provocation while at the same time praising the generosity and the efforts of their countries. In particular, Mitsotakis denies any of Beugel's accusations and declares them as unsupported assumptions which is a mere demonstration of power. Alongside, Rutte uses a colder and more restrained language to rationalize the EU and the Greek Government's choices: While shifting the responsibilities for refugee protection, he actually justifies the crimes that are committed within the EU borders as an inevitable "tough, but fair, policy".
Concerning our project, it is an act of persistent resistance. We created three functions to facilitate an iterative process of refusal towards the two Prime Ministers' answers and any of their possible versions. We invite you to play as much as you want with these functions and create your own answers as counter-reaction to Mark Rutte's final sentence: "So this is my answer and I wish that your question has been answered". Every new answer, every new iteration, can be submitted to our Archive of Repetitive Answers. Although they will never be good enough, nor shall they be accepted as exhaustive, we consider the modified answers as a trigger for a never-ending dialogue.
Research
Articles about pushbacks in the EU borders, that influenced the editing of the functions.
- https://www.lighthousereports.nl/investigation/frontex-chapter-ii-complicit-in-pushbacks/
- https://www.spiegel.de/international/europe/eu-border-agency-frontex-complicit-in-greek-refugee-pushback-campaign-a-4b6cba29-35a3-4d8c-a49f-a12daad450d7
- https://www.bellingcat.com/news/2020/10/23/frontex-at-fault-european-border-force-complicit-in-illegal-pushbacks
- https://www.lighthousereports.nl/investigation/torment-in-turkey/
- https://www.lighthousereports.nl/investigation/unmasking-europes-shadow-armies/
- https://www.lighthousereports.nl/investigation/frontex-in-the-central-mediterranean/
- https://www.keeptalkinggreece.com/2021/11/17/beugel-greece-safety-leave-dutch-journalist/
The pad that we analysed the corpora, and therefore formed our strategies
Functions
Respell
Respell receives as input a text as a string type, and substitute all the occurrences of a targeted word with a replacement as a string type chosen by the user.
from nltk.tokenize import word_tokenize # text, target, and replacement are string types def respell(text, target, replacement): target = target.lower() txt = word_tokenize(text) new = [] for w in txt: if w == target: w = replacement new = new + [w] elif w == target[0:1].upper() + target[1:]: w = replacement[0:1].upper() + replacement[1:] new = new + [w] elif w == target.upper(): w = replacement.upper() new = new + [w] else: new = new + [w] text = ' '.join(new) final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&') return final
This function in itself could be understood as a filter to process and alter texts. By targeting specific words and replacing them, either for another word, for specific characters or for blank spaces, the user of the tool can intervene inside a text. One could break down the meaning of a text or create new narrative meanings by exposing its structure, taking out or highlighting specific and meaningful words and detaching such text from its original context. This tool offers a broad spectrum of possibilities in which it can be used, from a very political and subversive use, to a more playful and poetic one.
Stitch
Stitch receives as input a text as a string type, and replaces all the occurrences of a target word, with a character or a word that is repeated as many times as the length of the target.
from nltk.tokenize import word_tokenize # text, target, and replacement are string types def stich(text, target, replacement): target = target.lower() txt = word_tokenize(text) new = [] for w in txt: if w == target: w = len(w)*replacement new = new + [w] elif w == target[0].upper() + target[1:]: w = len(w)*replacement new = new + [w] elif w== target.upper(): w = len(w)*replacement new = new + [w] else: new = new + [w] text = ' '.join(new) final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&') return final
This function in itself could be understood as a filter to process and alter texts. By targeting specific words and stitching them, with a character or a word that is repeated as many times as the length of the target , the user of the tool can intervene inside a text. One could break down the meaning of a text or create new narrative meanings by exposing its structure, taking out or highlighting specific and meaningful words and detaching such text from its original context. This tool offers a broad spectrum of possibilities in which it can be used, from a very political and subversive use, to a more playful and poetic one.
Reveal
Reveal takes a text as string input and deletes all its characters except the input list of words.
def reveal(text,group): txt = word_tokenize(text) txt_linebr = [] for token in txt: if token == '<': continue elif token == 'br/': token= txt_linebr.append(token) elif token == '>': continue else: txt_linebr.append(token) new = [] for w in txt_linebr: if w==: new = new + [w] elif w not in group: w = len(w) * ' ' new = new + [w] elif w in group : new = new + [w] text = ' '.join(new) final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&') return final
This function in itself could be understood as a filter to process and alter texts. By chosing to keeping specific words of a text and deleting all the others, the user of the tool can intervene inside a text. One could break down the meaning of a text or create new narrative meanings by exposing its structure, taking out or highlighting specific and meaningful words and detaching such text from its original context. This tool offers a broad spectrum of possibilities in which it can be used, from a very political and subversive use, to a more playful and poetic one.
Online publication of the interface
...And I wish that your question has been answered interface
Zines for the launch event with an answer made by us
We created several zines for the launch event. Each zine had consisted of the original question and the original answer + an answer that we each one of us created through our functions
Si17
Personal reflection
On the Special 17 I put my attention on how can we work as group with more care. How can we have our individual needs met, while still we meet the production deadlines. I have a lot to learn on how to express my needs and how I can contribute in a non-violent group communication. In terms of the publication, I co-developed and co-created the production of the contents. Mostly, I edited the collective inputs, while I participated in the overall process of designing and outsourcing our material.
Si18
Personal Reflection
In this Special Issue I participated as a listener, a contributor and a caretaker. It was a rich experience to unplug from the screen and listen every week to each new release. The discussion after each launch was rich. We tryed to unpack what we collectively listened to and raise questions. As a contributor I tried to discuss about the dynamics of a public space, while being on a public space, to jam outside with bottles, to create pop national anthems, to experiment with spoken word and the detuning of my voice and my guitar, to field record and edit, to try a diffractive reading of a text and a video, to jam at Paris, to reflect on the releases. I did all these alone or by being part of a duo or a trio. As a caretaker, I put together the first release with Chae and curated the 4th release with Miriam and Erica. Finally I curated and performed the diffractive dj set with Alex and Supi.
Second Year
Thesis
introduction
Research Question
In which ways we can hear and deconstruct gender essentialism, if we approach it through a voice produced by somebody's phonatory system, or through a system of sounds emerging from a body's relation to a technological artefact - like a guitar -.
Sub-questions
I wonder in which ways a guitar located inside a patriarchal, anthropocentric and ableist culture
orients a body into cis-heteronormativity and in which ways can a guitar support a fluid gender expression?
What are the consequences of technically classifying one's voice to a gender binary depending on their vocal
pitch?
In which ways can a voice deconstruct these technical classifications, while connecting to the here and
now of its embodied situation?
What can be the processes that help to caress and amplify queer voices, as the sound imprints created by the systemically unheard?
my guitar as regulation, my guitar as prosthesis
talking about gender through my story as a guitarist: guitar as prosthetic, guitar as regulatory device
-guitar as regulation through cis heteronomrative spaces
-the fretless as prosthesis
voice coming from the inside voice negotiating with the outside
-timbre as a genuine, personal intimate sound quality
-to voice as fingerprints that urge tor reach
-what about those voices that have learnt to be out of reach?
trying to create our own rules that could possibly fit us
-process than outcome
Practice and Graduation Project
jams as safer space on action / parallel practice, that influenced the graduation project
playing at re#sister radio
preparation: I refer analytically to that in the thesis
Announcement text
This Sunday the research of Supisara Burapachaisri, Ål Nik and Mitsitron will meet at a Sound Jam at WORM. We are happy to invite you to join us at #Wunderbar or online at Radio WORM - we will be part of Expanded Radio’s session with spotlight is on RE#SISTER, WORM’s very own studio community run by and for female and non-binary musicians!
Our performance will be an improvisation based on a visual score we’ve been working on during the last week. The three of us were experimenting by asking ourselves questions, connected to our current researches, part of our master programme of Experimental Publishing at the Piet Zwart Institute. We created and collected images that resonate with our research queries and turned them into cards. Those cards will serve as a visual score of our performance.
We have been questioning “performing” as a concept, oftentimes associated with perfection, pressure and preparedness. What if we focus on the process instead? Is there a way to embrace slowness, latency and even failure? To put our attention on the small scale instruments and sounds, play with the basics. To be fully present in the current moment and space. Our sound jam will explore these questions.
Where: Radio WORM & Wunderbar When: doors 14:30, start 15:00 h // 12-02-2023 More info: https://worm.org/production/expanded-radio-16-resister/ https://www.instagram.com/p/CofgpKooa05mNuyBmYTXBl5TTv7UppUxGPCVY40/?igshid=MTc4MmM1YmI2Ng==
playing at VARIA
3 parts,
impro.
finding the anchor point
File:352591952 7361766433850368 4881866066540879741 n.mp4
Research Log
https://pzwiki.wdka.nl/mediadesign/Research_Log
voice feminisation and timbre
Process for making a live coding process around vocal timbre, embodiment, gender inscriptions
first prototypes with sonic pi that influenced the final
Here are tryouts with small vocal excerpts I recorded. I tried to loop steadily and not, to pitch, to stretch. The excerpts were part of the thesis
#first time that i enter my own breath on the code #it is moving, deep, is like listening to my old self, or to the air, there is a level of intimacy #that i cannot put into words define :mybreath do with_fx :reverb do use_bpm rrand(5,100) live_loop :breath do sample "C:/Users/luzza/Desktop/samples/my breath2.wav", amp: rrand(1,3), rate: rrand(0, 2), pan: rrand(-0.8,0.8) sleep 1 end end end
define :myshortbreath do use_bpm rrand(100,1000) with_fx :gverb do live_loop :breath do sample "C:/Users/luzza/Desktop/samples/my breath.wav", amp: rrand(0.5,1), rate: rrand(-2, 2), krush: rrand(10,40) sleep 1 end end end
#layering and repeating the voice changing the point of repetion in time define :staticloop do #with_fx :reverb do live_loop :sentence do use_bpm 350 sample "C:/Users/luzza/Desktop/samples/sentence.wav" sleep 5 end #end end #a mechanic, static repetition that interfers with the clarity of the message #it's interesting how agressive it becomes quickly #but then it is static, like a machine that is working
define :fluctuatingloop do #with_fx :reverb do live_loop :sentence do use_bpm rrand(5,1000) sample "C:/Users/luzza/Desktop/samples/sentence.wav", amp: 2 sleep 5 end #end end #a fluctuating, repetition #it opens up interpretation, the changing rythme says something about a structure? #i hear how it is to be like a wall, when the one voice bumps into each other #and i feel the gap when there is a big stop between the one voice to the other #not really agressive
#stretching my vocal excerpt taking about a moment of misgendering define :exposure do #with_fx :reverb do live_loop :sentence do #use_bpm rrand(10,1000) with_fx :pitch_shift, pitch_dis: 0.001, pitch: 2 do sample "C:/Users/luzza/Desktop/samples/misgender.wav", amp: 2 sleep 10 end end end #i feel exposed. #i am not sure how it works. #like if it works with the stretching or if it is like too obvious #it feels better that the voices don't overlap with each other because then it becomes too dramatic #the weird element of fast and super slow. can feel sometime really econographic with a speach #because this has been probably overused in satire, it creates an akward childish result #when my real voice appears, it's like i am exposed... like we understand for whom we talk about #like the masks are falling
define :masc do #with_fx :reverb do live_loop :sentence do #use_bpm rrand(10,1000) with_fx :pitch_shift, pitch_dis: 0.001, pitch: rrand(-15,5) do sample "C:/Users/luzza/Desktop/samples/misgender.wav", amp: 2, krush: 10 sleep 10 end end end
Creating an instrument through a midi device, cables, sonic pi, a sound card, speakers, my laptop, my voice, my body
Small text introducing the performance
mitsitron (mitsa chaida) will get modulated by sound produced by their voice, cables, bodies, a midi device, sonic pi, a microphone, speakers, memories, biases, desires and discomforts. This moment is part of their graduation research process : Reaching for the different gender imprints through someone's voice and getting lost.
messy pad with notes from where I chose the text for the performance
This pad got created through a series of improvisation I had with the instrument.
I would listen to the soundscape created by the my voice and the different types of stretches and pitching and respond.
I tried also to implement thoughts that evolved throughout my thesis, but in a more oral, here and now way.
https://pad.xpub.nl/p/processing_the_perfomance_i_am_a_hipster
representative recording
This recording is one of the many impros I had during the process of creating the performance.
The "final" thing will sound something like that.
I have some anchor points as a score that I try to reach throughout the playing.
https://hub.xpub.nl/soupboat/~mitsa/XPUB2/final%20assesment/modulate%20me_mp3.mp3
Finalised Script for the live coding performance in sonic pi
File:352845371 6439099259462777 5305920842621635230 n.mp4 File:353067575 9318771208197045 6476006884235405665 n.mp4 File:353465721 6673688296015997 2610817662109932067 n.mp4
#heyy can you hear me? #do I reach you? #do I wanna reach you? #do you want to be reached by me? #I am so happy that you are here tonight #I am so happy that you came here to listen to me #Thank you, thank you so much #I would like to be bigger #i don't know what to do with all this energy #i was taught to be scared of it #I am a small creature #Trapped inseid a eh eh ehe eh eh eh... body #What do you think? #What do you think of me? #They wanted to put my head into the ground #They didn't want us! They don't want us! #I can stay in the corner and observe #I can stay I can open my ears and listen #We have learnt to hide #It's hard to not be recognised #It's like you don't exist, but you exist hahaha #You have a body #I like to adapt A LOT that's what i do in life #I just adapt my voice #What ? What ? Whaat? What the fuck is this? #STOP STOP STOOOOP #What do you do usually? Do you adapt? Do you resist? Do you fight? #DO you fly? Do you stay?? #i want to be regulated #i want ot be filtered #How do you filter what you hear? #FILTER MEEEEE #but did this even happen this way? #Did she say this did she love me or i don't know #I wanna go in the corner and suck my thumb #do i need to be stronger? #do i need to be oversized? #do i need to shrink? #do i need to be something more? #do i need to be something less? #do i need to stand out? maybe #is that ok? #i am sorry, don't leave me #thank you i love you #thank you that you came to listen to me
#adding amplitude level with_fx :level do |le| #adding low pass filter with_fx :lpf, mix: 0 do |l| #adding pitch shifter with_fx :pitch_shift, pitch_dis: 0.001 do |p| #adding echo with_fx :echo, pre_mix: 0, decay: 2 do |e| #adding reverb with_fx :reverb, pre_mix: 1, room: 1 do |r| #for latency prevention use_real_time #inserting the microphone to the system live_audio :mic #a live_loop for mapping the midi faders, buttons and knobs with the above effects live_loop :process do #for latency prevention use_real_time #the variables cc and val are syncronised with the midi machine i use cc, val = sync "/midi:5-_zero_mkii_0:1/control_change" # the numbers that cc corresponds with are the different faders, knobs buttons if cc == 23 control le, amp: val / 127.0 end if cc == 24 if cc > 63.5 control p, pitch: (val - 63.5) / 1.7 else control p, pitch: (-val + 63.5) / 6 end end if cc == 25 control e, pre_mix: val / 127 end if cc == 26 control e, phase: val * 0.1 + 0.000001 end if cc == 73 control e, decay: val / 5 + 0.000001 end if cc == 75 control r, pre_mix: val / 127 end if cc == 70 control r, room: val / 127 end if cc == 20 control l, cutoff: val end if cc == 14 control l, mix: val /127.0 end #create a buffer of 10 seconds if cc == 77 with_fx :record, buffer: [:voice,10] do print "record recording" use_real_time live_audio :mic1 end end #play the buffer if cc == 95 print "play recording" sample buffer[:voice,10] end #small stretch of the buffer if cc == 7 control sample buffer[:voice,10], rate: val * 0.1 + 0.000001 end #bigger stretch of the buffer if cc == 10 control sample buffer[:voice,10], rate: val + 0.000001 end #reverse stretch of the buffer if cc == 22 control sample buffer[:voice,10], rate: -val * 0.1 + 0.000001 end #create a buffer of 100 seconds if cc == 82 with_fx :record, buffer: [:voice2,100] do print "record recording" use_real_time live_audio :mic1 end end #play the buffer if cc == 83 print "play recording" sample buffer[:voice2,100] end #small stretch of the buffer if cc == 74 control sample buffer[:voice2,100], rate: val * 0.1 + 0.000001 end #bigger stretch of the buffer if cc == 71 control sample buffer[:voice2,100], rate: val + 0.000001 end #reverse stretch of the buffer if cc == 85 control sample buffer[:voice2,100], rate: -val * 0.1 + 0.000001 end end end end end
end
end
#creating a second channel for my voice. this one is for the moments that i want the signal created by my vocal chords to be as not altered as possible with_fx :level do |le3| with_fx :pitch_shift, pitch_dis: 0.001 do |p1| live_loop :process2 do use_real_time cc, val = sync "/midi:5-_zero_mkii_0:1/control_change" if cc == 72 control le3, amp: val / 127.0 end if cc == 92 and val == 0 use_real_time live_audio :mic3 end if cc == 92 and val == 127 kill live_audio :mic3 end if cc == 19 if cc > 63.5 control p1, pitch: (val - 63.5) / 1.7 else control p1, pitch: (-val + 63.5) / 6 end end end end
end