Merge branch 'master' of git.xpub.nl:/var/www/git.xpub.nl/repos/tgc3
commit
c9a29ee4c8
@ -1,17 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<link rel="stylesheet" type="text/css" href="style.css">
|
|
||||||
|
|
||||||
|
|
||||||
<title>The fine line - Existencialism and spirituality</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="wrap">
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script language="javascript" type="text/javascript" src="libraries/p5.min.js"></script>
|
||||||
|
<!-- uncomment lines below to include extra p5 libraries -->
|
||||||
|
<script language="javascript" src="libraries/p5.dom.min.js"></script>
|
||||||
|
<script language="javascript" src="libraries/p5.sound.min.js"></script>
|
||||||
|
<script language="javascript" type="text/javascript" src="sketch.js"></script>
|
||||||
|
<!-- this line removes any default padding and style. you might only need one of these values set. -->
|
||||||
|
<style> body {padding: 0; margin: 0;} </style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,267 @@
|
|||||||
|
var carrier; // this is the carrierillator we will hear
|
||||||
|
var modulator; // this carrierillator will modulate the amplitude of the carrier
|
||||||
|
var fft; // we'll visualize the waveform
|
||||||
|
|
||||||
|
var opac;
|
||||||
|
var carrier;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function getRandomArbitrary(min, max) {
|
||||||
|
return Math.random() * (max - min) + min;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function setup() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
createCanvas(innerWidth,innerHeight);
|
||||||
|
noFill();
|
||||||
|
|
||||||
|
|
||||||
|
//SETING FIRST OSCILLATOR: CARRIER
|
||||||
|
// EXPLANATION FROM WEBSITE: The carrier is typically set at an audible frequency (i.e. 440 Hz) and connected to master output by default. The carrier.amp is set to zero because we will have the modulator control its amplitude.
|
||||||
|
|
||||||
|
var randomnumb = getRandomArbitrary(0, 20);
|
||||||
|
|
||||||
|
console.log(randomnumb);
|
||||||
|
carrier = new p5.Oscillator(); // connects to master output by default
|
||||||
|
carrier.freq(200 + randomnumb); // it sets the frequency of the carrier. AN AUDIBLE ONE.
|
||||||
|
carrier.amp(1);
|
||||||
|
// carrier's amp is 0 by default, giving our modulator total control
|
||||||
|
|
||||||
|
carrier.start();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// create an fft to analyze the audio
|
||||||
|
//an FFT (fast Fourier transform) converts a signal from its original domain (often time or space) to a representation in the frequency domain and vice versa
|
||||||
|
|
||||||
|
fft = new p5.FFT();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function draw() {
|
||||||
|
|
||||||
|
|
||||||
|
//depen de la alçada, la nota TOCADA se sent mes for o menys (volum = amplitud)
|
||||||
|
if(mouseY <= height/2) {
|
||||||
|
|
||||||
|
var ampli = map(mouseY, 0, height, 0.01, 2.02);
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
|
||||||
|
var ampli = map(mouseY, height, 0, 0.01, 2.02);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// change carrierillator frequency based on mouseX
|
||||||
|
|
||||||
|
var modFreq = 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// si el mouseY és igual o el mateix que la meitat de l'altura, fes aixo. ((DEFINEIX LA AMPLITUD.))
|
||||||
|
if(mouseY <= height/2) {
|
||||||
|
|
||||||
|
var modAmp = map(mouseY, 0, height, 0.01, 2.02);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
var modAmp = map(mouseY, height, 0, 0.01, 2.02);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
carrier.amp(modAmp, 0.01); // fade time of 0.1 for smooth fading
|
||||||
|
|
||||||
|
|
||||||
|
// analyze the waveform
|
||||||
|
waveform = fft.waveform();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// drawText(modFreq, modAmp);
|
||||||
|
|
||||||
|
if (mouseIsPressed || (touches && touches.length)){
|
||||||
|
|
||||||
|
opac = 100;
|
||||||
|
var mx = mouseX || (touches[0] && touches[0][0]);
|
||||||
|
if (mx > 0 && mx < width/20 ){
|
||||||
|
|
||||||
|
carrier.freq(220.0);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
|
||||||
|
|
||||||
|
}else if ( mx > width/20 && mx < 2*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(233.08);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
|
||||||
|
}else if (mx > 2*(width/20) && mx < 3*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(246.94);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 3*(width/20) && mx < 4*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(261.63);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}else if (mx > 4*(width/20) && mx < 5*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(277.18);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 5*(width/20) && mx < 6*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(293.66);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 6*(width/20) && mx < 7*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(311.13);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 7*(width/20) && mx < 8*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(329.63);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 8*(width/20) && mx < 9*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(349.23);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 9*(width/20) && mx < 10*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(369.99);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 10*(width/20) && mx < 11*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(392.0);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 11*(width/20) && mx < 12*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(415.3);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 12*(width/20) && mx < 13*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(440.0);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 13*(width/20) && mx < 14*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(466.16);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 14*(width/20) && mx < 15*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(493.88);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 15*(width/20) && mx < 16*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(523.25);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 16*(width/20) && mx < 17*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(554.37);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 17*(width/20) && mx < 18*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(587.33);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 18*(width/20) && mx < 19*(width/20)){
|
||||||
|
|
||||||
|
carrier.freq(622.25);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}else if (mx > 19*(width/20) && mx < width){
|
||||||
|
|
||||||
|
carrier.freq(659.26);
|
||||||
|
carrier.amp(ampli);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//draw a new line
|
||||||
|
stroke(0,0,0);
|
||||||
|
strokeWeight(0.5);
|
||||||
|
|
||||||
|
line(0, height/2,mx, mouseY);
|
||||||
|
line(mx, mouseY, width, height/2);
|
||||||
|
background(255, 255, 255,100);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// IF MOUSE IS NOT PRESSED
|
||||||
|
if(mouseY <= height/2) {
|
||||||
|
|
||||||
|
opac = map(mouseY, 0,height/2, 100, 0);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
opac = map(mouseY, height, height/2, 100, 0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
background(255,255,255,opac); // alpha
|
||||||
|
// draw the shape of the waveform
|
||||||
|
//drawWaveform();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function drawWaveform() {
|
||||||
|
|
||||||
|
|
||||||
|
if(mouseIsPressed){
|
||||||
|
|
||||||
|
stroke(255,255,255);
|
||||||
|
strokeWeight(1);
|
||||||
|
|
||||||
|
line(0, height/2,mx, mouseY);
|
||||||
|
line(mx, mouseY, width, height/2);
|
||||||
|
background(0, 0, 0,100);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
stroke(0,0,0,100);
|
||||||
|
strokeWeight(0.5);
|
||||||
|
beginShape();
|
||||||
|
for (var i = 0; i<waveform.length; i++){
|
||||||
|
var x = map(i, 0, (waveform.length)/8, 0, width);
|
||||||
|
var y = map((waveform[i])/8, -1, 1, -height/2, height/2);
|
||||||
|
vertex(x, y + height/2);
|
||||||
|
}
|
||||||
|
endShape();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<link rel="stylesheet" type="text/css" href="style.css">
|
|
||||||
|
|
||||||
|
|
||||||
<title>The fine line - Score</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="wrap">
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1 +1,19 @@
|
|||||||
FLOPPYLEFT - 2017
|
Creative Commons License
|
||||||
|
|
||||||
|
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||||
|
|
||||||
|
You are free to:
|
||||||
|
|
||||||
|
Share — copy and redistribute the material in any medium or format
|
||||||
|
Adapt — remix, transform, and build upon the material
|
||||||
|
for any purpose, even commercially.
|
||||||
|
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
||||||
|
|
||||||
|
Under the following terms:
|
||||||
|
|
||||||
|
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
|
||||||
|
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
|
||||||
|
Notices:
|
||||||
|
|
||||||
|
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
|
||||||
|
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
|
@ -1,7 +1,11 @@
|
|||||||
Author: Slavoj Žižek
|
Author: Max Franklin
|
||||||
Date: 1989
|
Date: 2017
|
||||||
Title: The Sublime Object of Floppy
|
Title: euclid
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
|
||||||
And so on, and so on, and so on.
|
A chaotic software and hardware synthesiser and generative sequencer. Designed to explore improvisation, and musical interactivity.
|
||||||
|
|
||||||
|
To play, touch the metal contacts, connecting them. The more conductive you are, the more you will be able to affect the instrument.
|
||||||
|
|
||||||
|
The state of your composition is recorded, and displayed here as a downloadable score. Never to be played, nor heard again.
|
@ -1,7 +1,7 @@
|
|||||||
r4 16 7 0;
|
r4 16 9 0;
|
||||||
r4 18 6 0;
|
r4 16 10 0;
|
||||||
r3 18 7 0;
|
r3 17 7 0;
|
||||||
r2 9 2 0;
|
r2 7 5 0;
|
||||||
r1 7 8 0;
|
r1 6 6 0;
|
||||||
melody 51 43 34 26 37 43 33;
|
melody 71 63 76 85 89 80 82;
|
||||||
bass 73 75 74 86 87 70 86;
|
bass 64 62 72 68 60 57 45;
|
||||||
|
Loading…
Reference in New Issue