User:Mitsa/Final presentation: Difference between revisions

From XPUB & Lens-Based wiki
Line 317: Line 317:
<br><br>
<br><br>


#adding amplitude level
#adding amplitude level
with_fx :level do |le|
with_fx :level do |le|
#adding low pass filter
#adding low pass filter
with_fx :lpf, mix: 0 do |l|
with_fx :lpf, mix: 0 do |l|
   #adding pitch shifter
   #adding pitch shifter
   with_fx :pitch_shift, pitch_dis: 0.001 do |p|
   with_fx :pitch_shift, pitch_dis: 0.001 do |p|
Line 420: Line 420:
end
end


#creating a second chanel 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
#creating a second chanel 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 :level do |le3|
with_fx :pitch_shift, pitch_dis: 0.001 do |p1|
with_fx :pitch_shift, pitch_dis: 0.001 do |p1|
   live_loop :process2 do
   live_loop :process2 do
     use_real_time
     use_real_time

Revision as of 14:04, 12 June 2023

First Year

Si16

Personal reflection

Photo 2022-03-26 16-15-02.jpg

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

the question

Ingeborg Beugel De Groene Amsterdammer reporter:

I have one question for both of you.

Prime Minister Mitsotakis, when at last will you stop lying, lying about pushbacks, lying about what is happening with the refugees in Greece?

Please don’t insult mine and neither the intelligence of all the journalists in the world.

There has been overwhelming evidence and you keep denying and lying.

This is like narcissistic abuse.

Why are you not honest?

Why don’t you say Brussels left us alone?

We waited for six years. Nobody did anything.

We need to relocate.

They don’t do it.

Now, I have my say and yes I do cruel, barbarian pushbacks.

Why did you stop knocking on Brussels’ door for relocation?


For you Mr. Rutte, what according to you are the sanctions that should be imposed on Greece and maybe on Holland for accepting this violation of human rights that Holland is co-responsible of also?

Many, many municipalities in Holland want to take many refugees from Greece, like many minor unaccompanied children.

They are many to accept them, but this prime minister opposes to that, so maybe you could find an understanding and the Dutch municipality who are so ready to unburden Greece can actually take in refugees from Greece, which his [the Greek PM’s] government opposes.

the answers

Kyriakos Mitsotakis, greek PM

I understand that in the Netherlands you have a culture of asking direct questions to politicians, which I very much respect.

What I will not accept is that, in this office, you will insult me, or the Greek people, with accusations and expressions that are not supported by material facts when this country has been dealing with a migration crisis of unprecedented intensity, has been saving hundreds, if not thousands of people at sea.

We just rescued 250 people in danger of drowning south of Crete, we are doing this every single day rescuing people at sea, while, at the same time, we are intercepting boats that come from Turkey, as we have the right to do in accordance with European regulations and waiting for the Turkish Coast Guard to come and pick them up and return them to Turkey.

So, rather than putting the blame on Greece, you should put the blame on those who have been instrumentalizing migration systematically pushing people in(to a) desperate situation from a safe country, because I need to remind you that people who are in Turkey are not in danger, their life is not in danger and you should put the blame on others and not us.

We have a tough, but fair, policy on migration, we have processed and given the right to protection in Greece to 50,000 people, including tens of thousands of Afghans, in accordance…

Allow me. Have you visited the new camps on our islands? Have you been to Samos? … No listen to me, you have not been to Samos… No you have not been...

Please…Look, you will not come into this building and insult me.

Am I very clear on this?

I am answering now and you will not interrupt me, in the same way that I listened to you very carefully.

If you go to Samos, you will find an impeccable camp, with impeccable conditions, funded by EU money, with clean facilities, with playgrounds for…the children to play, no comparison to what we had in the past.

This is our policy, we will stand by it, and I will not accept anyone pointing the finger to [sic] this government and accusing it of inhumane behavior.


Mark Rutte, dutch PM
I am absolutely convinced that this prime minister and this government is applying the highest standards and the fact that they have immediately launched an investigation on the issue of the pushbacks is testimony of that.

I will now bo back on the situation of 2015 and 2016 when we had many people dying on the Aegean Sea trying to get from Turkey into Greece and then to Germany, Sweeden, the Netherlands etc. And I am happy that Germany and we -were holding at that time the rotating presidency of the EU- were able to negotiate the EU and Turkey aggreement.

By which indeed Turkey is a safe country for people to stay.

And Turkey at this moment is hosting over 3 million Syrian refugees in the South of Turkey in camps but also in the local communities.

What this country is trying to do is to defend the outer borders of the European Union.

It is a lot of tasks that countries have who are lying on the outside like Italy, Spain, Hungary, Slovenia, but also Poland and Greece, and there is an extremely difficult situation.

What I don’t want again is for people to take boats that are not fully equipped to pass the Mediterranean or to pass the Aegean Sea, to die in those circumstances.

I want them to stay there [in Turkey], to be safe, and then we are willing as European Union to take a fair share of people from Africa, from Turkey – refugees, in line with the plans devised in 2015 [the EU-Turkey Statement on refugees-migrants] and 2016.

So this is my answer 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.

The pad that we analysed the corpora, and therefore formed our strategies

https://pad.xpub.nl/p/mitsotakis_mitsa?fbclid=IwAR3WcyBVOBwpeMPYVLpxyKnwO67M3C5PgzFoKBFlD3B3EF8rD2DdaxQGYH0

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

Interface form.jpg

...And I wish that your question has been answered interface

Zines for the launch event with an answer made by us

277212447 677150646857991 854869514669607839 n.jpg

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

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

Project

jams as safer space on action

playing at re#sister

preparation: I refer analytical to that in the thesis

playing at VARIA

3 parts, impro.
finding the anchor point

Research Log

https://pzwiki.wdka.nl/mediadesign/Research_Log

voice feminisation and timbre

Resonance and anatomical space.png
Screen Shot 2023-02-22 at 14.40.35.png

Process for making a live coding process around vocal timbre, embodiment, gender inscriptions

Systima.jpg

prototypes with sonic pi

messy pad with notes for what I could voice in the performance

https://pad.xpub.nl/p/processing_the_perfomance_i_am_a_hipster

representative recording

https://hub.xpub.nl/soupboat/~mitsa/__lab__/files/public_html/XPUB2/final%20assesment/modulated%20by_mp3.mp3?_xsrf=2%7C117d8e9e%7Cefa1df2683fb5fc6126ca14a741ff2c2%7C1686241370

Lampoun ta chains.jpg

Script for the live coding performance in sonic pi

#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 inside 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 not to 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 to 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 here 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
         if cc == 77
           with_fx :record, buffer: [:voice,10] do
             print "record recording"
             use_real_time
             live_audio :mic1
           end
         end
         if cc == 95
           #print "play recording"
           sample buffer[:voice,10]
         end
         if cc == 7
           control sample buffer[:voice,10], rate: val * 0.1 + 0.000001
         end
         if cc == 10
           control sample buffer[:voice,10], rate: val + 0.000001
         end
         if cc == 22
           control sample buffer[:voice,10], rate: -val * 0.1 + 0.000001
         end
         if cc == 15
           control sample buffer :voice, amp: val / 127
         end
         if cc == 82
           with_fx :record, buffer: [:voice2,100] do
             print "record recording"
             use_real_time
             live_audio :mic1
           end
         end
         if cc == 83
           print "play recording"
           sample buffer[:voice2,100]
         end
         if cc == 74
           control sample buffer[:voice2,100], rate: val * 0.1 + 0.000001
         end
         if cc == 71
           control sample buffer[:voice2,100], rate: val + 0.000001
         end
         if cc == 85
           control sample buffer[:voice2,100], rate: -val * 0.1 + 0.000001
         end
       end
     end
   end
 end

end end

#creating a second chanel 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