moved the radioactive project here
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>
|
Binary file not shown.
@ -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%;
|
||||||
|
}
|
@ -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,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 @@
|
|||||||
|
echo
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 3d9dee2cd294eb58d46c31b17855f2ceee5cde21
|
|
Loading…
Reference in New Issue