SONIA
A biblioteca SONIA criada por Amit Pitaru permite o processamento de ficheiros de som externos e som criado em tempo real dentro do proce55ing.
exemplo:
import pitaru.soniav29.*;
/* Processing Workshop atmosferas.net David Pereira 26-30 Setembro 2005 */
// Mouse Functions
// by REAS
float bx;
float by;
int bs = 20;
boolean bover = false;
boolean locked = false;
float bdifx = 0.0;
float bdify = 0.0;
Sample mySample;
void setup(){
size(400,300);
background(250,150,150);
// sonia começa
Sonia.start(this);
// cria o sample
mySample = new Sample(”sine.aiff”);
//
framerate(30);
rectMode(CORNER);
fill(150,100,100);
stroke(230,230,230);
}
void draw()
{
background(250,150,150);
// Test if the cursor is over the box
if (mouseX > bx-bs && mouseX < bx+bs && mouseY > by-bs && mouseY < by+bs) {
bover = true;
if(!locked) {
stroke(255);
fill(153);
}
} else {
stroke(153);
fill(153);
bover = false;
}
// Draw the box
rect(bx, by, bs, bs);
}
void mousePressed() {
if(bover) {
locked = true;
fill(255, 255, 255);
} else {
locked = false;
}
bdifx = mouseX-bx;
bdify = mouseY-by;
}
void mouseDragged() {
if(locked) {
setRate();
mySample.repeat();
bx = mouseX-bdifx;
by = mouseY-bdify;
}
}
void mouseReleased() {
locked = false;
}
void setRate(){
// set the speed (sampling rate) of the sample.
// Values:
// 0 -> very low pitch (slow playback).
// 88200 -> very high pitch (fast playback).
float rate = (height - mouseY)*88200/(height);
mySample.setRate(rate);
}
