moved the radioactive project here

master
Angeliki 5 years ago
parent bb1cbb4a79
commit dc49fa56bc

@ -0,0 +1,219 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="styles/jquery-ui.css" rel="stylesheet" type="text/css">
<link href="styles/widescreen.css" rel="stylesheet" type="text/css">
<!-- <link href="styles/smallscreen.css" rel="stylesheet" type="text/css"> -->
<title>Radioactive Monstrosity</title>
<link rel="shortcut icon" href="images/headphones_logo.png" />
<style>
h3 {font-weight: normal !important}
a {
text-decoration: none;
color: #A19696;
}
</style>
</head>
<body>
<!-- draggable -->
<br><br>
<!-- <h1 id="box-title" style="left: 45%; position: absolute;">
Voice's Transition
</h1> -->
<!-- draggable menu-->
<div class="draggable scaleable-wrapper menu" style="top: 110%; right: 3%;">
<h2><a href="amplification.php">Amplification of female voices</a></h2>
<div class="drag-content">
(workshops)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 90%; right: 5%;">
<h2 ><a href="player.php">Player<div class="hover-icon-speaker"><img src="images/icon-speaker.png"></div></a></h2>
<div class="drag-content">
(audio archive)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 83%; left: 2%;">
<h2 ><a href="index.php">About</a></h2>
<div class="drag-content">
(main page)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 110%; left: 1%;">
<h2 ><a href="thesis-angeliki.php">"Let' s Talk About Unspeakable Things"</a></h2>
<div class="drag-content">
(thesis)
</div>
</div>
<br><br><br><br><br>
<div align="center">
<?php include 'texts/radioactive_contribution.txt'; ?>
<!-- recorder -->
<div class="recorder">
<input type="button" class="start" value="Record" />
<input type="button" class="stop" value="Stop" />
<pre class="status"></pre>
</div>
<div id="playerContainer"></div>
<br />
<div><button id="button_upload" onclick="upload()">Upload</button></div>
<br />
<div id="saved_msg"></div>
<div id="dataUrlcontainer" hidden></div>
<pre id="log" hidden></pre>
<h3>VISITORS' VOICES</h3>
<?php
$items=array();
$handle=fopen('./uploads/5/index.jsons','r');
if ($handle) {
while (($line=fgets($handle)) !== false) {
$item=json_decode($line,true);
$items[]=$item;
}
}
$items=array_reverse($items);
foreach($items as $item) {
$url=substr($item['file'],3);
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio><br />';
echo '<div class="filename">'.$item['name'].'</div>';
echo '<div class="file_date">'.$item['date'].'</div>';
echo '<div class="file_type">'.$item['type'].'</div>';
echo '</div><br />';
}
?>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/mp3recorder.js"></script>
<script src="js/draggable.js"></script>
<script src="js/jquery-1.12.4.js"></script>
<script src="js/jquery-ui.js"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
<script src="js/main.js"></script>
<!-- scripts for recorder -->
<script type="text/javascript">
var audio_context;
function __log(e, data) {
log.innerHTML += "\n" + e + " " + (data || '');
}
$(function() {
try {
// webkit shim
window.AudioContext = window.AudioContext || window.webkitAudioContext;
navigator.getUserMedia = ( navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
window.URL = window.URL || window.webkitURL;
var audio_context = new AudioContext;
__log('Audio context set up.');
__log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!'));
} catch (e) {
alert('No web audio support in this browser!');
}
$('.recorder .start').on('click', function() {
$this = $(this);
$recorder = $this.parent();
navigator.getUserMedia({audio: true}, function(stream) {
var recorderObject = new MP3Recorder(audio_context, stream, { statusContainer: $recorder.find('.status'), statusMethod: 'replace' });
$recorder.data('recorderObject', recorderObject);
recorderObject.start();
}, function(e) { });
});
document.getElementById("button_upload").style.display='none';
$('.recorder .stop').on('click', function() {
$this = $(this);
$recorder = $this.parent();
recorderObject = $recorder.data('recorderObject');
recorderObject.stop();
recorderObject.exportMP3(function(base64_data) {
var url = 'data:audio/mp3;base64,' + base64_data;
var au = document.createElement('audio');
document.getElementById("playerContainer").innerHTML = "";
// console.log(url)
document.getElementById("button_upload").style.display='block';
var duc = document.getElementById("dataUrlcontainer");
duc.innerHTML = url;
au.controls = true;
au.src = url;
//$recorder.append(au);
$('#playerContainer').append(au);
recorderObject.logStatus('');
});
});
});
</script>
<script>
function upload(){
var name = prompt('Enter a title or/and your name','Unnamed clip');
var type = prompt('Enter type of distortion','No Type');
var dataURL = document.getElementById("dataUrlcontainer").innerHTML;
$.ajax({
type: "POST",
url: "scripts/uploadMp3_5.php",
data: {
base64: dataURL,
name: name,
type: type
}
}).done(function(o) {
console.log('saved');
document.getElementById("saved_msg").innerHTML = "Uploaded!! Refresh and see your voice message in the list below :<";
});
}
</script>
</body>
</html>

@ -0,0 +1 @@
Subproject commit 6df469f9731ec98e7b359cfc8772645ee8892567

@ -0,0 +1,280 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="styles/jquery-ui.css" rel="stylesheet" type="text/css">
<link href="styles/radioactive.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- <link href="styles/smallscreen.css" rel="stylesheet" type="text/css"> -->
<title>Radioactive Monstrosities</title>
<link rel="shortcut icon" href="images/headphones_logo.png" />
<style>
h3 {font-weight: normal !important; float: left;}
body {background:none !important;}
</style>
</head>
<body>
<!-- table of voices -->
<h1>Radio-active <div class="tooltip-wrap">Monstrosities<div class="tooltip-content-right" ><div>
<?php
include 'texts-radioactive/female_monstrosity.txt';
?>
</div></div></div></h1>
<!-- <h3>CONTRIBUTORS' VOICES</h3> -->
<table class="radioactive">
<tr>
<th><div class="tooltip-wrap">./collective_voice<div class="tooltip-content-right" >The speaker's voice is channeled through multiple voices and in this case through distorted mediated voices of the same person</div></div></th>
<th><div class="tooltip-wrap">./echo_voice<div class="tooltip-content-right">A voice that is more distant from the speaker, sounding like being
in an outer space inside the medium. This voice resembles sounds from an online call</div></div></th>
<th><div class="tooltip-wrap">./lowpith_voice<div class="tooltip-content-right" >A voice that sounds more male because of lowering its pitch</div></div></th>
<th><div class="tooltip-wrap">./lowpass_voice<div class="tooltip-content-right" >A voice that sounds like "shrill" if it is in high frequencies.
This script doesn't allow high frequencies to pass through</div></div></th>
</tr>
<tr>
<?php
$items=array();
$handle=fopen('./uploads/5/index.jsons','r');
if ($handle) {
while (($line=fgets($handle)) !== false) {
$item=json_decode($line,true);
$items[]=$item;
}
}
$items=array_reverse($items);
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'collective') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'echo') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'lowpitch') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'lowpass') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
?>
</tr>
<!-- recorder -->
<tr>
<td colspan="4">
<div align="center">
<div class="recorder">
<input type="button" class="start" value="Record" />
<input type="button" class="stop" value="Stop" />
<pre class="status"></pre>
</div>
<div id="playerContainer"></div>
<br />
<div><button id="button_upload" onclick="upload()">Upload</button></div>
<br />
<div id="saved_msg"></div>
<div id="dataUrlcontainer" hidden></div>
<pre id="log" hidden></pre>
</div>
<div class="tooltip-wrap"><i class="fa fa-copyright fa-flip-horizontal"></i><div class="tooltip-content-right" ><div>
[Angeliki Diakrousi, Radioactive Monstrosities, 2020. Rotterdam].
Copyleft: This is a free work, you can copy, distribute, and modify it under the terms of the Free Art License
http://artlibre.org/licence/lal/en/
You can choose the type of lisence you want
If you want your full name to appear in the contributors send me your name here: angeliki@genderchangers.org
The copyrights of the voices belong to you. I ask you to use them in the performance radio-active monstrosities where I will narrate ...Only for this recording. You can choose to include your name or not.Your voice recordings will be used and credited accordingly
</div></div></div>
<br>
<div class="tooltip-wrap"><i class="fa fa-file"></i><div class="tooltip-content-right" ><div>
<?php
include 'texts-radioactive/about.txt';
?>
</div></div></div><br>
<div class="tooltip-wrap"><i class="fa fa-gears"></i><div class="tooltip-content-right" ><div>
<?php
include 'texts-radioactive/instructions.txt';
?>
</div></div></div><br>
<a href="https://gitlab.com/nglk/radioactive-web">git</a>
</td>
</tr>
<!-- texts-radioactive and references -->
<tr>
<?php
echo '<td>';
include 'texts-radioactive/voice_collective.txt';
echo '</td>';
echo '<td>';
include 'texts-radioactive/voice_echo.txt';
echo '</td>';
echo '<td>';
include 'texts-radioactive/voice_lowpitch.txt';
echo '</td>';
echo '<td>';
include 'texts-radioactive/voice_lowpass.txt';
echo '</td>';
?>
</tr>
</table>
<?php
exec("~/virtualenvs/radioactive/bin/python3 scripts/echo.py").$name;
?>
<!-- <audio src='uploads/5/out.wav' controls></audio> -->
<!-- exec("~/virtualenvs/radioactive/bin/python3 mypythonscript.py " -->
<!-- exec("scripts/echo.py ".$name, $output); -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/mp3recorder.js"></script>
<script src="js/draggable.js"></script>
<script src="js/jquery-1.12.4.js"></script>
<script src="js/jquery-ui.js"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
<script src="js/main.js"></script>
<!-- scripts for recorder -->
<script>
var audio_context;
function __log(e, data) {
log.innerHTML += "\n" + e + " " + (data || '');
}
$(function() {
try {
// webkit shim
window.AudioContext = window.AudioContext || window.webkitAudioContext;
navigator.getUserMedia = ( navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
window.URL = window.URL || window.webkitURL;
var audio_context = new AudioContext;
__log('Audio context set up.');
__log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!'));
} catch (e) {
alert('No web audio support in this browser!');
}
$('.recorder .start').on('click', function() {
$this = $(this);
$recorder = $this.parent();
navigator.getUserMedia({audio: true}, function(stream) {
var recorderObject = new MP3Recorder(audio_context, stream, { statusContainer: $recorder.find('.status'), statusMethod: 'replace' });
$recorder.data('recorderObject', recorderObject);
recorderObject.start();
}, function(e) { });
});
document.getElementById("button_upload").style.display='none';
$('.recorder .stop').on('click', function() {
$this = $(this);
$recorder = $this.parent();
recorderObject = $recorder.data('recorderObject');
recorderObject.stop();
recorderObject.exportMP3(function(base64_data) {
var url = 'data:audio/mp3;base64,' + base64_data;
var au = document.createElement('audio');
document.getElementById("playerContainer").innerHTML = "";
// console.log(url)
document.getElementById("button_upload").style.display='block';
var duc = document.getElementById("dataUrlcontainer");
duc.innerHTML = url;
au.controls = true;
au.src = url;
//$recorder.append(au);
$('#playerContainer').append(au);
recorderObject.logStatus('');
});
});
});
</script>
<script>
function upload(){
var name = prompt('Enter a title or/and your name','Unnamed clip');
var type = prompt('Enter type of distortion. Choose between collective,echo,lowpitch,lowpass','No Type');
var license = prompt('Enter a license. Choose between collective,echo,lowpitch,lowpass','No Type');
var dataURL = document.getElementById("dataUrlcontainer").innerHTML;
$.ajax({
type: "POST",
url: "scripts/uploadMp3_5.php",
data: {
base64: dataURL,
name: name,
type: type
}
}).done(function(o) {
console.log('saved');
document.getElementById("saved_msg").innerHTML = "Uploaded!! Refresh and see your voice message in the list below :<";
});
}
</script>
</body>
</html>

@ -3,81 +3,32 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link href="styles/jquery-ui.css" rel="stylesheet" type="text/css"> <link href="styles/jquery-ui.css" rel="stylesheet" type="text/css">
<link href="styles/widescreen.css" rel="stylesheet" type="text/css"> <link href="styles/radioactive.css" rel="stylesheet" type="text/css">
<!-- <link href="styles/smallscreen.css" rel="stylesheet" type="text/css"> --> <!-- <link href="styles/smallscreen.css" rel="stylesheet" type="text/css"> -->
<title>Radioactive Monstrosity</title> <title>Radioactive Monstrosity</title>
<link rel="shortcut icon" href="images/headphones_logo.png" /> <link rel="shortcut icon" href="images/headphones_logo.png" />
<style> <style>
h3 {font-weight: normal !important} h3 {font-weight: normal !important; float: left;}
a { a {
text-decoration: none; text-decoration: none;
color: #A19696; color: #A19696;
} }
body {background:none !important;}
</style> </style>
</head> </head>
<body> <body>
<!-- table of voices -->
<!-- draggable --> <!-- <h3>CONTRIBUTORS' VOICES</h3> -->
<br><br> <table class="radioactive">
<!-- <h1 id="box-title" style="left: 45%; position: absolute;"> <tr>
Voice's Transition <th>./collective_voice</th>
</h1> --> <th>./echo_voice</th>
<th>./lowpitch_voice</th>
<th>./lowpass_voice</th>
<!-- draggable menu--> </tr>
<div class="draggable scaleable-wrapper menu" style="top: 110%; right: 3%;"> <tr>
<h2><a href="amplification.php">Amplification of female voices</a></h2> <?php
<div class="drag-content">
(workshops)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 90%; right: 5%;">
<h2 ><a href="player.php">Player<div class="hover-icon-speaker"><img src="images/icon-speaker.png"></div></a></h2>
<div class="drag-content">
(audio archive)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 83%; left: 2%;">
<h2 ><a href="index.php">About</a></h2>
<div class="drag-content">
(main page)
</div>
</div>
<div class="draggable scaleable-wrapper menu" style="top: 110%; left: 1%;">
<h2 ><a href="thesis-angeliki.php">"Let' s Talk About Unspeakable Things"</a></h2>
<div class="drag-content">
(thesis)
</div>
</div>
<br><br><br><br><br>
<div align="center">
<?php include 'texts/radioactive_contribution.txt'; ?>
<!-- recorder -->
<div class="recorder">
<input type="button" class="start" value="Record" />
<input type="button" class="stop" value="Stop" />
<pre class="status"></pre>
</div>
<div id="playerContainer"></div>
<br />
<div><button id="button_upload" onclick="upload()">Upload</button></div>
<br />
<div id="saved_msg"></div>
<div id="dataUrlcontainer" hidden></div>
<pre id="log" hidden></pre>
<h3>VISITORS' VOICES</h3>
<?php
$items=array(); $items=array();
$handle=fopen('./uploads/5/index.jsons','r'); $handle=fopen('./uploads/5/index.jsons','r');
if ($handle) { if ($handle) {
@ -88,24 +39,100 @@
} }
} }
$items=array_reverse($items); $items=array_reverse($items);
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'collective') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'echo') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
echo '<td>';
foreach($items as $item) { foreach($items as $item) {
$url=substr($item['file'],3); $url=substr($item['file'],3);
echo '<div class=file>'; if (strpos($item['type'], 'lowpitch') !== false){
echo '<audio src='.$url.' controls></audio><br />'; echo '<div class=file>';
echo '<div class="filename">'.$item['name'].'</div>'; echo '<audio src='.$url.' controls></audio> ';
echo '<div class="file_date">'.$item['date'].'</div>'; echo $item['name'];
echo '<div class="file_type">'.$item['type'].'</div>'; echo '</div><br />';
echo '</div><br />'; }
} }
echo '</td>';
echo '<td>';
foreach($items as $item) {
$url=substr($item['file'],3);
if (strpos($item['type'], 'lowpass') !== false){
echo '<div class=file>';
echo '<audio src='.$url.' controls></audio> ';
echo $item['name'];
echo '</div><br />';
}
}
echo '</td>';
?>
</tr>
<!-- recorder -->
<tr>
<td colspan="4">
<div align="center">
<div class="recorder">
<input type="button" class="start" value="Record" />
<input type="button" class="stop" value="Stop" />
<pre class="status"></pre>
</div>
<div id="playerContainer"></div>
<br />
<div><button id="button_upload" onclick="upload()">Upload</button></div>
<br />
<div id="saved_msg"></div>
<div id="dataUrlcontainer" hidden></div>
<pre id="log" hidden></pre>
</div>
</td>
</tr>
<!-- texts and references -->
<tr>
<?php
echo '<td>';
include 'texts/voice_collective.txt';
echo '</td>';
echo '<td>';
include 'texts/voice_echo.txt';
echo '</td>';
echo '<td>';
include 'texts/voice_lowpitch.txt';
echo '</td>';
echo '<td>';
include 'texts/voice_lowpitch.txt';
echo '</td>';
?> ?>
</div> </tr>
</table>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/mp3recorder.js"></script> <script type="text/javascript" src="js/mp3recorder.js"></script>
@ -117,13 +144,13 @@
<!-- scripts for recorder --> <!-- scripts for recorder -->
<script type="text/javascript"> <script type="text/javascript">
var audio_context; var audio_context;
function __log(e, data) { function __log(e, data) {
log.innerHTML += "\n" + e + " " + (data || ''); log.innerHTML += "\n" + e + " " + (data || '');
} }
$(function() { $(function() {
try { try {
// webkit shim // webkit shim
window.AudioContext = window.AudioContext || window.webkitAudioContext; window.AudioContext = window.AudioContext || window.webkitAudioContext;
@ -132,35 +159,35 @@
navigator.mozGetUserMedia || navigator.mozGetUserMedia ||
navigator.msGetUserMedia); navigator.msGetUserMedia);
window.URL = window.URL || window.webkitURL; window.URL = window.URL || window.webkitURL;
var audio_context = new AudioContext; var audio_context = new AudioContext;
__log('Audio context set up.'); __log('Audio context set up.');
__log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!')); __log('navigator.getUserMedia ' + (navigator.getUserMedia ? 'available.' : 'not present!'));
} catch (e) { } catch (e) {
alert('No web audio support in this browser!'); alert('No web audio support in this browser!');
} }
$('.recorder .start').on('click', function() { $('.recorder .start').on('click', function() {
$this = $(this); $this = $(this);
$recorder = $this.parent(); $recorder = $this.parent();
navigator.getUserMedia({audio: true}, function(stream) { navigator.getUserMedia({audio: true}, function(stream) {
var recorderObject = new MP3Recorder(audio_context, stream, { statusContainer: $recorder.find('.status'), statusMethod: 'replace' }); var recorderObject = new MP3Recorder(audio_context, stream, { statusContainer: $recorder.find('.status'), statusMethod: 'replace' });
$recorder.data('recorderObject', recorderObject); $recorder.data('recorderObject', recorderObject);
recorderObject.start(); recorderObject.start();
}, function(e) { }); }, function(e) { });
}); });
document.getElementById("button_upload").style.display='none'; document.getElementById("button_upload").style.display='none';
$('.recorder .stop').on('click', function() { $('.recorder .stop').on('click', function() {
$this = $(this); $this = $(this);
$recorder = $this.parent(); $recorder = $this.parent();
recorderObject = $recorder.data('recorderObject'); recorderObject = $recorder.data('recorderObject');
recorderObject.stop(); recorderObject.stop();
recorderObject.exportMP3(function(base64_data) { recorderObject.exportMP3(function(base64_data) {
var url = 'data:audio/mp3;base64,' + base64_data; var url = 'data:audio/mp3;base64,' + base64_data;
var au = document.createElement('audio'); var au = document.createElement('audio');
@ -177,12 +204,12 @@
//$recorder.append(au); //$recorder.append(au);
$('#playerContainer').append(au); $('#playerContainer').append(au);
recorderObject.logStatus(''); recorderObject.logStatus('');
}); });
}); });
}); });
</script> </script>
@ -196,13 +223,13 @@
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "scripts/uploadMp3_5.php", url: "scripts/uploadMp3_5.php",
data: { data: {
base64: dataURL, base64: dataURL,
name: name, name: name,
type: type type: type
} }
}).done(function(o) { }).done(function(o) {
console.log('saved'); console.log('saved');
document.getElementById("saved_msg").innerHTML = "Uploaded!! Refresh and see your voice message in the list below :<"; document.getElementById("saved_msg").innerHTML = "Uploaded!! Refresh and see your voice message in the list below :<";
}); });
@ -211,9 +238,6 @@
</script> </script>
</body> </body>
</html> </html>

@ -0,0 +1,27 @@
# Import the package and create an audio effects chain function.
from pydub import AudioSegment
from pysndfx import AudioEffectsChain
import sys
mp3_audio = AudioSegment.from_file(sys.argv[1], format="mp3")
mp3_audio.export("../uploads/5/page_echo.wav", format="wav")
infile = '../uploads/5/page_echo.wav'
outfile = '../uploads/5/out.wav'
# Apply phaser and reverb directly to an audio file.
#fx(infile, outfile)
AudioEffectsChain().reverb()(infile, outfile)
# Or, apply the effects directly to a ndarray.
#from librosa import load
#y, sr = load(infile, sr=None)
#y = fx(y)
# Apply the effects and return the results as a ndarray.
#y = fx(infile)
# Apply the effects to a ndarray but store the resulting audio to disk.
#fx(x, outfile)

@ -0,0 +1 @@
Subproject commit 08563ca6cc1f5e620703ef23d3241a30bf42f325

@ -0,0 +1,782 @@
/*@media only screen and (min-width: 900px) {*/
body {
background: #F6F5F5;
/*background: #fcf4f6;*/
font-family: "Old Standard TT";
font-size: 95%;
line-height: 1.3;
letter-spacing: 1px;
padding: 20px;
/*transform: scale(1.0);*/
}
section {
display: block;
}
.menu {
background-color: #FFE6EA !important;
}
.underline {
color: black;
text-decoration: underline !important;
}
a:hover, .underline:hover {
font-weight: bold;
}
a {
color: #FF00FF;
text-decoration: none;
}
s {
color: #A19696;
}
.active {
color: red;
font-size: 125% ;
}
.active-draggable{
width: 30% !important;
font-size: 130%;
}
a img {
line-height: 0px;
}
.navbar {
letter-spacing: 4px;
text-align: center;
}
.navbar a:hover {
background-color: #ddd;
color: black;
font-weight: thin;
}
.navbar a.active {
font-size: 50px;
font-weight: bold;
}
h1 {
font-size: 150%;
font-style: italic;
text-align: center;
letter-spacing: 5px;
color:black;
animation: color-change 1s infinite;
animation-name: example;
animation-duration: 4s;
animation-play-state: running;
}
@keyframes example {
from {color: #FF00FF;}
to {color:purple;}
}
h2 {
text-align: center;
letter-spacing: 4px;
font-size: 135%;
margin: 5px;
margin-bottom: 10px;
color: red;
}
h2 a {
text-decoration: none;
color: purple;
}
h2 a:hover {
color: red;
}
h2 a:hover .hover-icon {
opacity: 1;
}
h2 a:hover .hover-icon-speaker {
opacity: 1;
}
li a {
text-decoration: none;
color: purple;
}
li a:hover {
color: red;
}
.hover-icon {
transition: .5s ease;
opacity: 0;
position: absolute;
top:20px;
left:-7%;
}
.hover-icon img{
width: 20%;
}
.hover-icon-speaker
{
transition: .5s ease;
opacity: 0;
position: absolute;
top:20px;
left:-60%;
}
.hover-icon-speaker img{
width: 5%;
}
h3 {
font-size: 95%;
text-align: center;
}
table, th, td {
vertical-align: top;
text-align: left;
border-collapse: separate;
padding:20px;
}
button {
width: 100px;
}
.short-description {
margin-left: 40%;
margin-right: 40%;
text-align: center;
}
.internet {
font-weight: regular;
font-size: 70%;
text-decoration: none;
}
.list a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.list {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 0;
list-style: none;
border-top: 1px solid #47505e;
}
/* .mini-player {
background-size: 100% 100%;
background-image: url(/project/images/player.png);
cursor: pointer;
}*/
.audio-mini {
width: 50px;
}
.dropbtn {
font-family: "Old Standard TT";
font-weight: bold;
font-size: 24px;
color: black;
padding: 16px;
border: none;
cursor: pointer;
}
#overlay{
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1000;
display: none;
}
#overlay.show{
display: block;
}
.show {
display: block;
}
/* Make the clips use as much space as possible, and
* also show a scrollbar when there are too many clips to show
* in the available space */
.sound-clips {
flex: 1;
overflow: auto;
}
/*section, article {
display: block;
}*/
.clip {
padding-bottom: 1rem;
}
/*audio {
width: 100%;
display: block;
margin: 1rem auto 0.5rem;
}*/
.clip p {
display: inline-block;
font-size: 1rem;
}
.clip button {
font-size: 1rem;
}
button.delete {
background: #f00;
padding: 0.5rem 0.75rem;
font-size: 0.8rem;
}
/* Checkbox hack to control information box display */
/*label {
font-size: 3rem;
position: absolute;
top: 2px;
right: 3px;
z-index: 5;
cursor: pointer;
}*/
input[type=checkbox] {
position: absolute;
top: -100px;
}
/*aside {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform: translateX(100%);
transition: 0.3s all ease-out;
background-color: #efefef;
padding: 1rem;
}
aside p {
font-size: 1.2rem;
margin: 0.5rem 0;
}
aside a {
color: #666;
}
*/
/* Toggled State of information box */
input[type=checkbox]:checked ~ aside {
transform: translateX(0);
}
/* Cursor when clip name is clicked over */
.clip p {
cursor: pointer;
}
/*hover of images and transcriptions style*/
.tooltip-wrap {
position: relative;
display: inline;
}
.no-pink {
background-color: white !important;
}
.tooltip-wrap {
margin-bottom:4rem;
}
.fa {
margin-bottom:.5rem;
}
/*.tooltip-wrap:hover {
background-color: lightgrey;
}*/
.no-underline {
text-decoration: none !important;
}
.tooltip-wrap .tooltip-content-down {
display: none;
position: absolute;
z-index: 1;
top: 75%;
/*bottom: 100%;*/
left: 10%;
/*right: 100%;*/
padding: 0.2em;
background-color: white;
/*background-color: rgba(255, 255, 255, 0.8);*/
border: 1px;
border-style: solid;
border-color: black;
text-align: left;
min-width:300%;
font-size: 80%;
}
.content-transcription {
left: -1000% !important;
top: 175% !important;
min-width:5500% !important;
}
.tooltip-wrap .tooltip-content-right {
display: none;
position: absolute;
z-index: 1;
top: 100%;
/*bottom: 100%;*/
left: 1.5rem;
/*right: 100%;*/
padding: 0.6em;
background-color: white;
border: none;
text-align: left;
min-width: 20em;
border: 1px solid black;
font-size: 13pt !important;
font-weight: normal !important;
font-style: normal !important;
text-align: left !important;
letter-spacing: 0px !important;
word-wrap: break-word;
box-shadow: 5px 5px rgba(255,0,255,0.5);
}
.fa-file {
width:100rem !important;
}
.tooltip-wrap .tooltip-content-up {
display: none;
position: absolute;
z-index: 1;
/*top: 100%;*/
bottom: 100%;
/*right: 100%;*/
padding: 0.2em;
background-color: rgba(255, 255, 255, 0.93);
border: 1px;
border-style: solid;
border-color: black;
text-align: left;
}
.tooltip-wrap:hover .tooltip-content-down {
display: block;
}
.tooltip-wrap:hover .tooltip-content-up {
display: block;
}
.tooltip-wrap:hover .tooltip-content-right {
display: block;
}
/*.tooltip-wrap:hover {
background-color: pink;
}
*/
/*transcript wrapper,text following audio style*/
#transcriptWrapper {
overflow: hidden;
}
#transcript > div {
transition: all 0.8s ease;
list-style-type: disc;
}
.speaking {
font-weight: bold;
}
#transcriptWrapper3 {
overflow: hidden;
}
#transcript3 > div {
transition: all 0.8s ease;
list-style-type: disc;
}
.speaking3 {
font-weight: bold;
}
/*one image next to the other*/
.column {
float: left;
width: 30%;
}
/* Clear floats after image containers */
.row::after {
content: "";
clear: both;
display: table;
}
/* Style the tab */
.tab {
overflow: hidden;
width: 20%;
}
/* Style the buttons inside the tab */
.tab button {
background-color: inherit;
border: 1px solid black;
outline: none;
cursor: pointer;
padding: 12px;
transition: 0.3s;
font-size: 80%;
width: 30%;
}
/* Change background color of buttons on hover */
.tab button:hover {
background-color: #ddd;
}
/* Create an active/current tablink class */
.tab button.active {
background-color: #ccc;
}
.tabpink {
overflow: hidden;
width: 50%;
}
.tabpink button {
background-color: inherit;
border: 1px solid black;
outline: none;
cursor: pointer;
padding: 12px;
transition: 0.3s;
font-size: 10%;
width: 50%;
}
.tabpink button:hover {
background-color: pink;
}
/* Create an active/current tablink class */
.tabpink button.active {
background-color: pink;
}
/* Style the tab content */
.tabcontent {
display: none;
padding: 6px 12px;
border: 1px solid black;
float: left;
position: absolute;
width: 40%;
z-index: 1;
background-color: white;
top: 5px;
}
/* Style the close button */
.topleft {
float: right;
cursor: pointer;
font-size: 100%;
}
.container .rowcircle {
margin: 25px;
text-align: center;
}
.container .rowcircle span {
margin: 0 200px;
/*margin-right: 90px;*/
}
.full-width {
width: 100% !important;
}
.draggable {
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
background-color: white;
cursor: all-scroll;
position: absolute !important;
width: 15%;
display: inline;
/* transform: scale(20);*/
/*min-height: 100px;*/
background-image: url("../images/resize-icon.png");
background-position: 100% 100%;
background-size: 30px 30px;
background-repeat: no-repeat;
}
.draggable-circle {
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
background-color: white;
cursor: all-scroll;
position: absolute !important;
width: 20%;
display: inline;
}
.draggable-circle p {
text-align: center;
color: #A19696;
}
#img {
line-height: 0 !important;
}
.drag-content {
/*float: right;*/
font-weight: normal !important;
padding: 0.8%;
padding-bottom: 0.8%;
text-align: center;
}
.scaleable-wrapper {
padding: 0.8%;
padding-bottom: 0.8%;
resize: both;
position: relative;
/*height: 400px;*/
/*min-height: 100px; */
}
.ui-resizable-se {
width: 10px;
height: 10px;
/*background: pink;*/
position: absolute;
bottom: 0;
right: 0;
}
#show1, #show2, #show3, #show4 {
display: none;
left: 20%;
width: 23% !important;
}
#box-title {
color: #A19696;
position: absolute;
font-weight: bold;
}
/*for thesis html*/
#maintext {
width: 120%;
margin-top: 2%;
}
.toc_title {
font-weight: 700;
text-align: center;
}
#toc_container li, #toc_container ul, #toc_container ul li {
list-style: outside none none !important;
}
li, #angela, #judith, #laurie, #dana, #katalin {
border-bottom: 1px dashed;
list-style: none;
border-color: #d0caca;
color: #A19696;
}
.group_photos {
width:20%;
}
.box_metadata {
background: white none repeat scroll 0 0;
border: 1px solid #aaa;
display: table;
font-size: 95%;
margin-bottom: 1em;
padding: 20px;
width: 20%;
left: 0px;
position: absolute;
}
#metadata-thesis {
width:50%;
}
/*# sourceMappingURL=stylesheet.css.map */
.status {
color: red;
}
/*#button_upload {
background-color: pink;
padding: 10px;
font-size: 20px;
}*/
#saved_msg {
color: red;
font-size: 100%;
}
/*reshuffle piles*/
.group_vowels {
position:absolute;
}
.group_photos {
position:absolute;
}
.group_extracts {
position:absolute;
}
.group_metadata {
position:absolute;
}
.audio-tag {
width: 100%;
}
.left_col {
float:left;
margin-left: 0.8%;
border-right: 1px dashed grey;
width:49%;
}
.right_col {
float:right;
width:49%;
}
/*players in circle*/
.ciclegraph {
position: relative;
width: 50%;
height: 30%;
top: 200px;
left: 30%
}
.ciclegraph:before {
content: "";
position: absolute;
top: 0; left: 0;
/* width: calc( 100% - 2px * 2);
height: calc( 100% - 2px * 2 );*/
}
.ciclegraph .circle {
position: absolute;
top: 50%; left: 50%;
width: 20%;
/*height: 100px;*/
}
.ciclegraph .circle:hover {
z-index:1;
}
/*}*/
/*radioactive */
.radioactive td {
overflow: auto;
width: 20%;
height: 200px;
border: 1px solid black;
padding: 2%;
}
.radioactive {
width: 100% !important;
}
.radioactive audio{
width: 70px;
}
.radioactive button, .recorder input {
background-color: #F6F5F5;
border: 1px solid black;
padding: 20px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 2px 2px;
cursor: pointer;
width:300px;
border-radius: 25px;
font-size: 100%;
}

@ -184,6 +184,7 @@ button {
background-image: url(/project/images/player.png); background-image: url(/project/images/player.png);
cursor: pointer; cursor: pointer;
}*/ }*/
.audio-mini { .audio-mini {
width: 50px; width: 50px;
} }
@ -715,4 +716,36 @@ li, #angela, #judith, #laurie, #dana, #katalin {
z-index:1; z-index:1;
} }
/*}*/ /*}*/
/*radioactive */
.radioactive td {
overflow: auto;
width: 30%;
height: 200px;
border: 1px solid black;
padding: 2%;
}
.radioactive {
width: 100% !important;
}
.radioactive audio{
width: 70px;
}
.radioactive button, .recorder input {
background-color: #F6F5F5;
border: 1px solid black;
padding: 20px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 2px 2px;
cursor: pointer;
width:300px;
border-radius: 25px;
font-size: 100%;
}

@ -0,0 +1,19 @@
This web-audio interface challenges the ways we are listening to certain female sounding voices that are perceived as inappropriate - because of the quality of their sound, their gender, the medium's distortions but also stereotypes and collective memories that they often awake. These are verbal expressions that have been associated with forms of monstrosity since ancient times. Contributors are invited to record themselves with their own microphones, expressing their thoughts and choose a type of distortion. They are invited to participate in forming new imaginaries around a technologically mediated collective voice that through its 'monstrosity' can reveal other forms of speech that embrace their damage. They can choose what type of mediated voice they want to do that. A series of writings reveals stories and theories on the topic. The interface allows any voice to be recorded and saved in the artist's server where the website is hosted. There they get distorted through several scripts. Then the new sounds are categorized, depending on the chosen distortion, and published back in the platform. They can be played at the same time or in any desired order.<p>
n: Women apologize or prove that what they say make sense [ref to text of zapatista].
Women's voices are often going through censorship and critique when they appear in public. They have to be adjusted and filtered in order to be heard and avoid silencing. This is extended to the technological apparatus/the medium used to channel their voices, like the radio. The listeners then, are hearing a distorted voice that expresses needs and opinions of its physical proprietor and it goes beyond its control. In this work I focus on the sound of that voice that is asking to become part of public dialogues. In the platform I refer to several examples that such voices have been through some distortion. But it is not only women's voices that are going through these filters. It is also the queer, any feminine sounding voice, the collective, the resistant, the black. The examples I refer to have attracted my attention and are situated in my personal identity. This platform intends to welcome any case of medium's transformations that certain voices are going through as an extension of the society's censorship. I want to open the dialogue to more communities and people that have noticed an exclusion through mediated speech platforms.
I invite you to reclaim these distortions that characterize excluded voices. Their distortion becomes their quality that is also their damage, through which needs and rights are expressed [text of queer damaging]. I made a set of tools that distort the voice in ways borrowed from the examples I have encountered in my research. I invite you to choose the voice that you think reflects your personal needs, damages or you want to talk through it and become part of this dialogue and share your own experience or your imaginations about this voice. Sometimes this mediated voice is safer as it camouflages the actual identity of our voice, and become anonymous, like the example of witness voices. Categorize the distortions
The interface was first made for the performance "Radioactive Monstrosities" as part of the event <a href="https://www.facebook.com/events/524864625047957/"> NL_CL #2 : FLESH</a> hosted by <a href="https://instrumentinventors.org/">iii</a> and <a href="https://netherlands-coding-live.github.io/">Netherlands Coding Live</a> and its conceptualization is an ongoing process related to my graduation research <a href="eaiaiaiaoi.w-i-t-m.net"> Let's Amplify Unspeakable Things</a> and previous <a href="http://w-i-t-m.net/2019/radio-active-female-monstrosity_2019.html">performances </a>
Credits: the platform is inspired by Vocable Code <a href="http://siusoon.net/vocable-code/">http://siusoon.net/vocable-code/</a>. Regarding the references thanks Alice, Gert, Joana for sharing with me, as well Amy for her publication made for the workshop <a href="http://w-i-t-m.net/2020/ecstatic-speech-2020.html">Eclectic Speech</a>.
My fascination started through these perfoamnces that I want to open through them with a possibility in the future to become a more open dialogue.
(Technology is seamlessly related to socity and its dynamics amd biases)
I will narrate/describe what it is about and I ask you to contribute by adding your comment
Women have to transform their voices or train more in order to be heard. They are 'monsters' anyway

@ -0,0 +1,23 @@
This web-audio interface challenges the ways we are listening to certain female sounding voices that are perceived as inappropriate - because of the quality of their sound, their gender, the medium's distortions but also stereotypes and collective memories that they often awake. These are verbal expressions that have been associated with forms of monstrosity since ancient times. Contributors are invited to record themselves with their own microphones, expressing their thoughts and choose a type of distortion. They are invited to participate in forming new imaginaries around a technologically mediated collective voice that through its 'monstrosity' can reveal other forms of speech that embrace their damage. They can choose what type of mediated voice they want to do that. A series of writings reveals stories and theories on the topic. The interface allows any voice to be recorded and saved in the artist's server where the website is hosted. There they get distorted through several scripts. Then the new sounds are categorized, depending on the chosen distortion, and published back in the platform. They can be played at the same time or in any desired order.<p>
n: Women apologize or prove that what they say make sense [ref to text of zapatista].
Women's voices are often going through a lot of censorship and critique when they appear in public. They have to be adjusted and filtered in order to be heard and avoid silencing. This is extended to the medium that is used to channel their voices, like radio. The censorship extends in the technological apparatus. The listeners then, are listening to a distorted voice that expresses needs and opinions of its physical proprietor and it goes beyond its control. In this work I focus on the sound of that voice that is asking to become part of public dialogues. In the platform I refer to several examples that these voices have been going through some distortion.
But it is not only women's voices that are going through these filters. It is also the queer, any feminine sounding voice, the collective, the resistant, the black, the refugee and more. The examples I refer to have attracted my attention and are situated in my personal connections. But this platform intends to welcome any case of these medium's/technological transformations that certain voices are going through as an extension of the society's censorship. I want to open the dialogue to more communities and people that have noticed an exclusion like that through mediated speech platforms. (If you have more personal or not examples of such distortions, don't hesitate to refer to them. )
I invite you to reclaim these distortions that characterize excluded voices. Their distortion becomes their quality that is also their damage and their pain. I want to hear these distorions and express my needs and rights through this damaged [text of queer damaging] voice. So I made these tools that distort the voice in ways that are borrowed from the examples I have encountered in my research. I invite you to choose the voice that you think reflects your personal needs, damages or you want to talk through them and become part of this dialogue. To share your own experience or your imaginations about this voice. Sometimes this mediated voice is safer as it camouflages the actual identity of our voice, so you can become anonymous, like the witness voices. The copyrights of the voices belong to you. I ask you to use them in the performance radio-active monstrosities where I will narrate ...Only for this recording. You can choose to include your name or not. Categorize the distortions
The interface was first made for the performance "Radioactive Monstrosities" as part of the event <a href="https://www.facebook.com/events/524864625047957/"> NL_CL #2 : FLESH</a> hosted by <a href="https://instrumentinventors.org/">iii</a> and <a href="https://netherlands-coding-live.github.io/">Netherlands Coding Live</a> and its conceptua;ization is an ongoing process related to the graduation research <a href="eaiaiaiaoi.w-i-t-m.net"> Let's Amplify Unspeakable Things</a> and previous <a href="http://w-i-t-m.net/2019/radio-active-female-monstrosity_2019.html">performances </a> Your voice recordings will be used and credited accordingly
My fascination started through these perfoamnces that I want to open through them with a possibility in the future to become a more open dialogue.
Credit: the work is inspired by vocable code <a href="http://siusoon.net/vocable-code/">http://siusoon.net/vocable-code/</a>
(Technology is seamlessly related to socity and its dynamics amd biases)
I will narrate/describe what it is about and I ask you to contribute by adding your comment
Women have to transform their voices or train more in order to be heard. They are 'monsters' anyway

@ -0,0 +1,24 @@
<h2>Colophon</h2>
<li>This work has been produced in the context of the graduation research of Angeliki Diakrousi from the Experimental Publishing (<div class="tooltip-wrap">XPUB<div class="tooltip-content-right"><div>XPUB is a two year Master of Arts in Fine Art and Design that focuses on the intents, means and consequences of making things public and creating publics in the age of post-digital networks</div></div></div>) Master course at the Piet Zwart Institute, Willem de Kooning Academy, Rotterdam University of Applied Sciences.</li>
<li><a href="https://xpub.nl">https://xpub.nl</a></li>
<li>Special thanks to Christina Karagianni for organising together these inspiring workshops, Angelique, Fatima, Lidia, Dionne and other women from <div class="tooltip-wrap">Wereldvrouwen<div class="tooltip-content-right"><div>Wereldvrouwen Rotterdam Foundation does various social, educational and recreational activities for and by women from various cultures, many of them with a low income and low education level. One of their meeting points is at Leeszaal</div></div></div> for participating in the workshops, and all the other participants who came in the beginning, but also the online participants who generously contributed with their voices to the website. More thanks to my tutors, XPUB comrades and all my friends with whom I had interesting discussions and tryouts that pushed my research further.</li>
<li>The last 6 workshops are part of <div class="tooltip-wrap">Women@Art<div class="tooltip-content-right"><div>(free translation) Wereldvrouwen Rotterdam Foundation does various social, educational and recreational activities for and by women from various cultures, many of them with a low income and low education level. Most women hardly ever come into contact with the world of Art & Culture. Participants are encouraged to develop with inspiring examples from the art world by visiting exhibitions / studios in the city. A number of female (amateur) artists give workshops on their own work. The aim is to make the world of art more accessible, to help women to develop their own creativity and to transform it into strength</div></div></div> and funded by the <div class="tooltip-wrap">Municipality of Rotterdam<div class="tooltip-content-right"><div>The municipality granted to us a structural subsidy called Pitcher Perfect 010</div></div></div></li>
<li>The studies of Angeliki Diakrousi were funded through a scholarship by the <a href="https://www.onassis.org/">Onassis Foundation</a></li>
<li>This work is licensed under the <div class="tooltip-wrap">Free Art Licence<div class="tooltip-content-right"><div>[Angeliki Diakrousi, Let's Amplify Unspeakable Things, 2019. Rotterdam].<br>
Copyleft: This is a free work, you can copy, distribute, and modify it under the terms of the Free Art License <a href="http://artlibre.org/licence/lal/en/">http://artlibre.org/licence/lal/en/</a></div></div></div>.</li>
<li><a href="https://git.xpub.nl/Angeliki/eaiaiaiaoi">Source code</a> of the website</li>

@ -0,0 +1,8 @@
<div style="background-color: white; width: 500px;border:1px red;border-style: dashed;padding: 10px;">
<p>Dear listener,</p>
you are invited to <div class="tooltip-wrap">amplify</div> parts of the podcasts that you find worthy of attention by listening, recording and repeating them, with your own voice, and upload them in the archive. The stories and sounds, you will listen to, are related to how female voices have been marginalised and what methods (rational/irrational) amplify and bring them in the front. Amplification can happen through repetition and multiplication. Your recording becomes part of a gathering of multiple individual voices, that repeat fragments of situations and things that are unspeakable, and can appear as feedback to them. Your voice, no matter what gender, with its own quality and uniqueness will channel these fragmented female voices. This audio collection may be, then, used as an input for <a href="amplification.php" class="underline" target="_blank">workshops</a>.
<p>Maximum duration: 1 min</p>
<p>Best recorded from a computer</p>
<p><a href="images/letter-20190704.jpg" class="underline" target="_blank">Something like a Privacy Policy</a></p>

@ -0,0 +1,3 @@
**In a text of Anne Carson I find many adjectives and expressions of how people describe . . . of how our society describes . . . women's voices . . . high-pitched, loud shouting, having too much smile in it . . . decapitated hen, heartchilling groan, garg . . . horrendous, howling dogs, being tortured in hell, deadly, incredible babbling, fearsome hullabaloo . . . she shrieks obscenities, haunting garrulity, monstrous, prodigious noise level, . . . otherwordly echo, making such a racket . . . a loud roaring noise . . . wailing, sobbing, shrill lament, loud laughter, screams of pain or of pleasure, eruptions of raw emotion . . . groan, barbarous excesses, female outpourings, bad sound, craziness . . . non-rational, weeping, emotional display . . . oral disorder, disturbing, abnormal, "hysteria", "Not public property", exposing her inside facts . . . private data, permits direct continuity between inside and outside, female ejaculation . . . "saying ugly things", objectionable, pollution, remarkable . . .**

@ -0,0 +1,9 @@
Instructions:<p>
Press record<br>
Speak to the microphone<br>
Press stop<br>
Listen to it <br>
Press upload<br>
Type your name or nickname<br>
Choose the distortion<br>
Choose license<br>

@ -0,0 +1,20 @@
<div style="background-color: white; width: 500px;border:1px red;border-style: dashed;padding:
10px;">
<p>Dear listener,</p>
you are invited to <div class="tooltip-wrap">amplify</div> contribute with
your own voice to a collection of voices
<a href="amplification.php"
class="underline" target="_blank"></a>
<p>Maximum duration: 1 min</p>
<p>Best recorded from a computer</p>
<p><a href="images/letter-20190704.jpg" class="underline" target="_blank">Something like a Privacy Policy</a></p>
<ul>
<li>is your voice valid?</li>
<li>how does your voice sound like?</li>
<li>is your voice being interrupted often?</li>
<li>what is the gender of your voice?</li>
<li>is it in low-pitch or high-pitch?</li>
<li>had you ever had to transform or change the quality of your voice?</li>
<li>does this voice represent you?</li>
</ul>

@ -0,0 +1,21 @@
Urban spaces host a variety of political activities such as squatting, demonstrations, displays of the politics of culture and identity which are visible on the street and which are not dependent on mainstream media technologies. Since the beginning of human societies there has been a need for gatherings and sharing knowledge through verbal communication. Today the agonistic dynamics of primitive oral thought, which have effected the development of Western literate culture, have been "institutionalized by the art of rhetoric, and by the related dialectic of Socrates and Plato, which furnished agonistic oral verbalization with a scientific base" (Ong, 2002, pg. 45). 'Agonistic pluralism' a term proposed by Chantal Mouffe is a type of democracy that acknowledges the multiplicity of voices and values, as well as conflicts of contemporary pluralist societies.[2]
A space, where is open for dialogue, can facilitate a democracy of agonism. Part of the occupy events would be public speeches in the context of public assemblies, often delivered by philosophers, writers, academics, resistance figures on the site of the occupied space site specificity is also very characteristic in these cases. The audience would often be very big and therefore an amplifier was needed for the voice of the speaker to be heard by everyone. However, in the case of Occupy Wall Street, amplified sound devices, like microphones and megaphones, were only allowed outside, in public spaces when special permission from the police was given. But "when the technologies above them are removed somehow, the foundational elements remain embedded and embodied in our cyborg bodies and brains" (Moraine, 2011). The participants of #occupy became the 'human microphone', as they called it. This means that all together they would repeat the words of the speaker for the benefit of those located in the rear. "Even given that many of the participants of #occupy are in full possession of smartphones, verbal address to the crowd from a singular source is still important" (Pages, 2011). Saskia Sassen (Sassen, 2012) observes that in cities today a big mix of people coexist. Those who lack power can make themselves present through face-to-face communication. According to Sassen, this condition reveals another type of politics and political actors, based on hybrid contexts of acting, outside of the formal system[6]<p>
<i>[2] 'Agonistic pluralism' is based on 'agonism', instead of competitive antagonism, which means that people can see each other as adversaries who disagree, rather than enemies. Mouffe says that "a pluralist democracy cannot be to reach a rational consensus in the public sphere" (Mouffe, 2000a, pg. 104), because such a consensus cannot exist as it always implies a form of exclusion. 'Agonism' can be achieved by providing channels through which all collective passions can be expressed and mobilized towards democratic approaches between adversaries rather than a process of rational persuasion that refuses the existence of such passions.</i><p>
<i>[6]Kanaveli (Kanaveli, 2012) maintains that something that is visible and can be heard is reality and can create and give power.</i><p>
<ul>
<li>Kanaveli, E. (2012) 'Φύλο, φόβος και δημόσιος λόγος' [Gender, fear and public speech], Βαβυλωνία [Babylonia], (4), pp. 5052. [In Greek]</li>
<li>Moraine, S. (2011) '“Mic check!”: #occupy, technology & the amplified voice', The Society Pages, 6 October. Available at: https://thesocietypages.org /cyborgology/2011/10/06/mic-check-occupy-technology-the-amplified-voice/ (Accessed: 6 December 2018).</li>
<li>Mouffe, C. (2000) -'For an Agonistic Model of Democracy', in The Democratic Paradox. London; New York: Verso, pp. 80107.
-'Politics and Passions: the Stakes of Democracy', Ethical Perspectives, 7(23), pp. 146150.</li>
<li>Ong, W. J. (2002) Orality and Literacy. 2 edition. London: Routledge.</li>
<li>Preston, J. (2011) 'Occupy Movement Shows Potential of Live Online Video', The New York Times, 11 December. Available at: https://www.nytimes.com/2011/12/12/business/media/occupy-movement-shows-potential-of-live-online-video.html (Accessed: 6 December 2018).</li>
<li>Sassen, S. (2012) 'The Shifting Meaning of the Urban Condition', archive public, 12 May. Available at: https://archivepublic.wordpress.com/texts/saskia-sassen/ (Accessed: 5 March 2019).</li>
</ul>

@ -0,0 +1,4 @@
We often feel uncanny listening back to our voices through phones, video calls, voice messages. Imagine what a break through radio was when it became public and accessible to everyone.
Federici on gossip and “The Transformation of Silence into Language and Action” by Audre Lorde

@ -0,0 +1,10 @@
**TINA TALLON:. . . Newspapers and magazines repeatedly referred to women on air as “affected,” “stiff,” “forced,” and “unnatural.” . . . they asserted that women sounded “shrill,” “nasal,” and “distorted” on the radio, and claimed that womens higher voices created technical problems.**<p>
As Tina Tallon observes in 1927, the Federal Radio Commission decided to provide each station its own little 10000 hertz slice of bandwidth. So there's a segment . . . before you take the signal and modulate it into something that can be transferred . . . `{./radio-voice.sh}` in between stations known as the base band or the pre- modulated signal that had to be actually limited to 5000 hertz because amplitude modulation actually doubles the bandwidth of the signal. So initially they said, OK, we're gonna take all of our baseband signals and limit them to 5000 hertz. What that meant was all of the microphones and all of the equipment that people were using to record didn't need to go above 5000 hertz because none of that information would get transmitted.<p>
**TINA TALLON: `{./lowpass.sh}`Steinbergs experiments showed that the voiceband frequencies reduced the intelligibility of female speech by cutting out the higher frequency components necessary for the perception of certain consonants. Steinberg asserted that “nature has so designed womans speech that it is always most effective when it is of soft and well modulated tone.” Hinting at the age-old notion that women are too emotional, he wrote that a womans raised voice would exceed the limitations of the equipment, thus reducing her clarity on air**. <p>
<ul>
<li>Tallon, T. (2019) A Century of “Shrill”: How Bias in Technology Has Hurt Womens Voices, The New Yorker. Available at: https://www.newyorker.com/culture/cultural-comment/a-century-of-shrill-how-bias-in-technology-has-hurt-womens-voices
</li>
</ul>

@ -0,0 +1,8 @@
During the conflict in Syria, a group of people that wanted to broadcast their own news for the safety of the citizens and the avoidance of more killings, set up a radio station. Its programs would include urgent announcements of battles, strikes, and skirmishes, tutorials for medical care, music and other topical issues. The station, which was called Radio Fresh, ceased to exist in 2016 because of a sudden intervention from Nusra, an extremist Islamist group. While it was on the air the male initiators invited women, who were mainly hidden in their houses, to produce their own programs. Some groups of women decided to first learn vocal techniques. They then broadcasted their own music and speech, but after a while Nusra threatened to close the station if women didn't leave. "Nusra considered their voices shameful, a form of nakedness" (Ballout, 2019) it sounds similar to the political nakedness that Anne Carson refers to in her text. When Alkaios, an archaic poet, was exiled in the outskirts of the city, he is surrounded by the cries of women "[n]o proper civic space would contain it unregulated" (Carson, 1996, pg. 125). A man would not make a sound like that and for Alkaios to be exposed to it is a condition of political nakedness. Pythagoras had a similar opinion about his wife's voice; he believed that her speech like her body should not exposed to public, "and she should as modestly guard against exposing her voice to outsiders as she would guard against stripping off her clothes" (Carson, 1996, pg. 129).<p>
Nusra refused to listen to whatever they want to say, because they were women. The group said that female voices in public is like a form of 'nakedness', that should not be exposed. However, when women transformed their voices technically to a male register technicians helped them to change electronically the quality of their voice as they speak in the microphone everybody would listen carefully to their words. For the purpose of making their own radio program, and include their voices in airwaves, they changed the gender of their voice. Their female body accepted a distortion into male. And by extension, the distorted mediation of their voice broke the fixed gender binary regarding their bodies being in public. <p>
<ul>
<li>Ballout, D. (2019) 'Good Morning, Kafranbel', Wartime Radio This American Life. Available at: https://www.thisamericanlife.org/667/transcript (Accessed: 5 February 2019).</li>
<li>Carson, A. (1996) 'The Gender of Sound', in Glass, Irony and God. First Edition edition. New York: New Directions, pp. 119142.</li>

@ -0,0 +1,6 @@
Urban spaces host a variety of political activities such as squatting, demonstrations, displays of the politics of culture and identity which are visible on the street and which are not dependent on mainstream media technologies. Since the beginning of human societies there has been a need for gatherings and sharing knowledge through verbal communication. Today the agonistic dynamics of primitive oral thought, which have effected the development of Western literate culture, have been "institutionalized by the art of rhetoric, and by the related dialectic of Socrates and Plato, which furnished agonistic oral verbalization with a scientific base" (Ong, 2002, pg. 45). 'Agonistic pluralism' a term proposed by Chantal Mouffe is a type of democracy that acknowledges the multiplicity of voices and values, as well as conflicts of contemporary pluralist societies.[2]
A space, where is open for dialogue, can facilitate a democracy of agonism. Part of the occupy events would be public speeches in the context of public assemblies, often delivered by philosophers, writers, academics, resistance figures on the site of the occupied space site specificity is also very characteristic in these cases. The audience would often be very big and therefore an amplifier was needed for the voice of the speaker to be heard by everyone. However, in the case of Occupy Wall Street, amplified sound devices, like microphones and megaphones, were only allowed outside, in public spaces when special permission from the police was given. But "when the technologies above them are removed somehow, the foundational elements remain embedded and embodied in our cyborg bodies and brains" (Moraine, 2011). The participants of #occupy became the 'human microphone', as they called it. This means that all together they would repeat the words of the speaker for the benefit of those located in the rear. "Even given that many of the participants of #occupy are in full possession of smartphones, verbal address to the crowd from a singular source is still important" (Pages, 2011). Saskia Sassen (Sassen, 2012) observes that in cities today a big mix of people coexist. Those who lack power can make themselves present through face-to-face communication. According to Sassen, this condition reveals another type of politics and political actors, based on hybrid contexts of acting, outside of the formal system[6]
* Ballout, D. (2019) 'Good Morning, Kafranbel', Wartime Radio This American Life. Available at: https://www.thisamericanlife.org/667/transcript (Accessed: 5 February 2019).
* Beard, M. (2017) Women & Power: A Manifesto. 1 edition. New York: Liveright.

@ -0,0 +1,6 @@
Urban spaces host a variety of political activities such as squatting, demonstrations, displays of the politics of culture and identity which are visible on the street and which are not dependent on mainstream media technologies. Since the beginning of human societies there has been a need for gatherings and sharing knowledge through verbal communication. Today the agonistic dynamics of primitive oral thought, which have effected the development of Western literate culture, have been "institutionalized by the art of rhetoric, and by the related dialectic of Socrates and Plato, which furnished agonistic oral verbalization with a scientific base" (Ong, 2002, pg. 45). 'Agonistic pluralism' a term proposed by Chantal Mouffe is a type of democracy that acknowledges the multiplicity of voices and values, as well as conflicts of contemporary pluralist societies.[2]
A space, where is open for dialogue, can facilitate a democracy of agonism. Part of the occupy events would be public speeches in the context of public assemblies, often delivered by philosophers, writers, academics, resistance figures on the site of the occupied space site specificity is also very characteristic in these cases. The audience would often be very big and therefore an amplifier was needed for the voice of the speaker to be heard by everyone. However, in the case of Occupy Wall Street, amplified sound devices, like microphones and megaphones, were only allowed outside, in public spaces when special permission from the police was given. But "when the technologies above them are removed somehow, the foundational elements remain embedded and embodied in our cyborg bodies and brains" (Moraine, 2011). The participants of #occupy became the 'human microphone', as they called it. This means that all together they would repeat the words of the speaker for the benefit of those located in the rear. "Even given that many of the participants of #occupy are in full possession of smartphones, verbal address to the crowd from a singular source is still important" (Pages, 2011). Saskia Sassen (Sassen, 2012) observes that in cities today a big mix of people coexist. Those who lack power can make themselves present through face-to-face communication. According to Sassen, this condition reveals another type of politics and political actors, based on hybrid contexts of acting, outside of the formal system[6]
* Ballout, D. (2019) 'Good Morning, Kafranbel', Wartime Radio This American Life. Available at: https://www.thisamericanlife.org/667/transcript (Accessed: 5 February 2019).
* Beard, M. (2017) Women & Power: A Manifesto. 1 edition. New York: Liveright.

@ -0,0 +1 @@
n the radio program Radio Fresh in Syria an example I will return in the next chapter when women started to broadcast and host their own radio programs, an extremist group, Nusra, stopped them from speaking on air. Nusra refused to listen to whatever they want to say, because they were women. The group said that female voices in public is like a form of 'nakedness', that should not be exposed. However, when women transformed their voices technically to a male register technicians helped them to change electronically the quality of their voice as they speak in the microphone everybody would listen carefully to their words. For the purpose of making their own radio program, and include their voices in airwaves, they changed the gender of their voice. Their female body accepted a distortion into male. And by extension, the distorted mediation of their voice broke the fixed gender binary regarding their bodies being in public.

@ -1 +0,0 @@
Subproject commit 3d9dee2cd294eb58d46c31b17855f2ceee5cde21
Loading…
Cancel
Save