Goldsmiths College ::MFA Computational Studio Arts ::Programming For Artists ::Eleanor Dare (Tutor)

Term1

Term2

             
Pulsate_Code
       
Report Brief Present Code  

 

 

 

 

/** 'Pulsate.pde'

* Allows the user to input id i.e. name, surname, age and mood as primitive data used in -
* drawing ellipse in 'micInputPulsate'.
* Creates strings to hold keys pressed and parses characters to numberic values using toCharArray()
* The first character of id (except age) is collected and used as primitive data
* Presents the texts typed by the user. This gives sense of privilege to the user and gives them -
* a clue that their input data will be used to create something on the screen. (This was also -
* tested by fellow students and friends to participate with the work and they were agree.)

* Display next screens when the user press <ENTER> button

* Records user data in .TXT file. This might be used in the future

* Differentiates file names from users' name and time they participate with the work.

* Devleoped
* from Processing Library-'Clock'
* from Eleanor Dare's 'Screen', 'TextModesandSOUND', 'KeyBoardIN', 'mousePressSonia'
* from Nanda Kha's 'ScreensTypeStringToCharToInt', 'myTextModesandSOUND_7'

* Last modified by nanda kha 16th March 2008
*/
import pitaru.sonia_v2_9.*;

String name; // my name variable
String surname;
String age;
String mood;
char [] name2;
char [] surname2;
char [] mood2;
int n; // create a variable for holding a numerical value of the first letter of String name
int s; // create a variable for holding a numerical value of the first letter of String surname
int f; // create a variable for holding a numerical value of the first letters of fullname
int a; // create a variable for holding a numerical value of age
int m; // create a variable for holding a numerical value of the first letter of String mood

//int unique_file_name;
PrintWriter output; //for writing txt file
String data_for_file; //our data put into one string
boolean writeo; //we will only write to txt file when this boolean is true
//which will be when we have collected all our data
String letters = "";
String submit = "press ENTER to submit your answer";
PFont font, font1;

int mode = 0;
int numCorrect = 0;

int thisSec = second();
int thisMin = minute();
int thisHr = hour();
int thisD = day();
int thisM = month();
int thisY = year();

void setup() {
size(800, 600); // big enough to cover 3 partitions in the presentation area

////Ess.start(this);
Sonia.start(this); // Start Sonia engine.
LiveInput.start(256); // Start LiveInput and return 256 FFT frequency bands.

font=loadFont("CenturySchoolbook-20.vlw");
font1=loadFont("CenturySchoolbook-40.vlw");
// textAlign(CENTER);
fill(0);
writeo = false; //default starting value for this boolean

}

void draw() {
background(0); // black goes best on the off-white sheet (already tested)
if(mode == 0) { // start screen
textFont(font);
fill(62, 130, 233);
text("To see a unique display of your pulse"+"\n"+
"you are agree to input real data", 15, 60);

fill(255 );
text("press ENTER to start", 15, 380);
}
else if (mode == 1) { // name screen
textFont(font);
fill(62, 130, 233);
text("Please type your first name", 15, 60);

textFont(font1);
fill(255,100,80);
text(letters, 15, 110);

textFont(font);
fill(255);
text(submit, 15, 380);
}
else if (mode == 2) { // surname screen
textFont(font);
fill(62, 130, 233); // blue
text("Please type your last name", 15, 60);

textFont(font1);
fill(255,100,80);
text(letters, 15, 110);

textFont(font);
fill(255);
text(submit, 15, 380);
}
else if (mode == 3) { // age screen
textFont(font);
fill(62, 130, 233);
text("Welcome " + name + " how old are you?" , 15, 60);

textFont(font1);
fill(255,100,80);
text(letters, 15, 110);

textFont(font);
fill(255);
text(submit, 15, 380);
}
else if (mode == 4) { // comment screen
textFont(font);
fill(62, 130, 233); // blue
text(" So young! " + name, 15, 60);

fill(255,100,80); // orange
text(age, 15, 60); // my age variable

fill(255);
text("press ENTER >>", 15, 380);

}
else if (mode == 5) { // mood screen
textFont(font);
fill(62, 130, 233); // blue
text("How are you feeling " + name + " ?", 15, 60);

textFont(font1);
fill(255,100,80); // orange
text(letters, 15, 110);

textFont(font);
fill(255);
text(submit, 15, 380);
}
else if (mode == 6) {
writeo = true;
// Adds time in file name. The files from the same user will never been written over
output = createWriter( name+"."+surname2[0]+"_"+thisY+":"+thisM+":"+thisD+
"_"+thisHr+":"+thisMin+":"+thisSec+"DATA.txt"); //name of file is users name
//and "DATA", txt file will appear in sketch folder
textFont(font);
fill(62,130,255);
text("I see", 15, 60);
text(name+" "+surname+", a "+age+" year-old is feeling "+mood, 15, 90);
text("You will soon see interesting results " + name, 15, 120);
print("DATA: " +name+" "+ age + " " );

textFont(font);
fill(41, 180, 93); //green
text("Please attach your left wrist to the prototype", 15, 290);
//text("and adjust the shaft", 15, 320);
fill(255);
text("press ENTER >>", 15, 380);
// These data will be added inside the TXT file
String data_for_file = "\n" + "DATA: " +name+" "+surname+"\n"+"age "+age+
"\n"+thisY+":"+thisM+":"+thisD+"\n"+thisHr+":"+thisMin+":"+thisSec+"\n"+mood;

//write data to a xt file:
if(writeo == true) {
output.println(data_for_file);
output.flush(); // Write the remaining data
output.close(); // Finish the file
// exit(); // Stop the program for writing data to txt
}

}
else if (mode == 7) {

drawStuff(); //from micInputPUlsate class responds to mic input

}
else if (mode == 8) {

textFont(font);
fill(160,206,60);
text("Thank you", 15, 60);

fill(62, 130, 233); // blue
text(name, 122, 60);

}
else {
if(numCorrect == 8) {

textFont(font);
fill(160,206,60);
text(" " + numCorrect + " ", 100, 180);
}
else {

textFont(font);
fill(255);
text("END", 15, 380);
}
}
}

void keyPressed() {
if (key == ENTER || key == RETURN) {
letters = letters.toLowerCase();
if (mode == 1) { // screen name
name = letters;
println("name is " + name);

// converse values of String name to char[] name2 and then assign the first value
// of name2 to int n
name2 = name.toCharArray();
println("name2[0] is letter " + name2[0]);
n = name2[0]; // assign the first letter of char[] name2 to int n
println("int n = "+n);
println("---");

// serves no purpose here but needed to compile:
if (letters.equals("")|| letters.equals("")) {
numCorrect++;
}
}
else if (mode == 2) { // surname screen
surname = letters;
println("surname is " + surname);

// converse first value of String to char and then to int
surname2 = surname.toCharArray();
println("surname2[0] is letter " + surname2[0]);
s = surname2[0]; // assign the first letter of char[] surname2 to int s
println("int s = "+s);

f = n+s; // combine values of the first letters of char[] name and char[] surname
// to int f (fullname)
println("int f = "+f);
println("---");

// serves no purpose here but needed to compile:
if (letters.equals("")) {
numCorrect++;
}
}
else if (mode == 3) { // age screen
age = letters;
println("age is " + age);

// converse String to int
a = int(age); // assign age to int a
println("int a = "+a);
println("---");

// serves no purpose here but needed to compile:
if (letters.equals("")) {
numCorrect++;
}
}
else if (mode == 4) { // serves no purpose here but needed to compile:
if (letters.equals("") || letters.equals("")) {
numCorrect++;
}
}
else if (mode == 5) { // serves no purpose here but needed to compile:
mood = letters;
println("mood is " + mood);

// converse values of String mood to char[] mood2 and then assign the first
// value of mood2 to int m
mood2 = mood.toCharArray();
println("mood2[0] is letter " + mood2[0]);
m = mood2[0]; // assign the first letter of char[] mood2 to int m
println("int m = "+m);
println("---");

// serves no purpose here but needed to compile:
if (letters.equals("")) {
numCorrect++;
}
}
else if (mode == 6) { // serves no purpose here but needed to compile:
if (letters.equals("")) {
numCorrect++;
}
}
else if (mode == 7) { // serves no purpose here but needed to compile:
if (letters.equals("")||letters.equals("") ) {
numCorrect++;
}
}
else if (mode == 8) { // serves no purpose here but needed to compile:
if (letters.equals("")||letters.equals("") ) {
numCorrect++;
}
}
letters = ""; // Clear the variable
mode++;
}
else if ((key > 31) && (key != CODED)) {
// serves no purpose here but needed to compile!
letters = letters + key;
}
else if (key == BACKSPACE) {
if (letters.length() > 0){
letters=letters.substring(0, letters.length()-1);
// serves no purpose here but needed to compile!
}
}
}

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

/** 'micInputPulsate'
*
* Uses microphone to detect all heart tones (peak and faint volumes)
* It's easy to analyse the int value of volume so i combine left and right channels -
* into myLeftRight value
*
* Represents pulse cycle by displaying the changig values of all tones in sequences.
* This is seen in the changing of stroke size, which is controlled by the combined -
* left and right channels
*
* Checks total milliseconds
* Counts total beats every 15 seconds and return value of beats in 1 minute
* Divides total beats per minute with 4 because in every pulse cycle there are 4 tones -
* created by Bicuspid, Tricuspid, Aortic and Pulmonic valves. See further detail in -
* http://en.wikipedia.org/wiki/Heart_sounds#Splitting_of_the_second_heart_sound
* This is to solve the problem of the total beats value that is much higher than regular
* value of bpm from medical and commercial heartbeats reader machines
*
* DIFFICULTIES AND SOLUTIONS:
* It's difficult to set the minimum and maximum value for mic to detect heart tones.
* This is because different users has different volume range of heart tones and -
* white noise inside their bodies. So, i use minVolume value to limit the white noise.
* The best part of the body for mic to detect all heart tones is chest and the second -
* best part is wrist.
* The force of mic pressed on the skin also has effect on the ability of mic to detect -
* the tones.
* So, i check myLeftRight value every 15 seconds if it's below the minValue, the system
* will automatically reset the minValue to equal myLeftRight value.
* This makes the code become flexible for any heart tones and force.
*
* Instead of drawing 3-4 layers of pattern to serve 4 tones of heartbeats, i use only -
* 1 drawing condition and use bpm and myLeftRight values to identify each layer of 4 pattern
* This gives the same result from the early versions.
*
* This version is modified from 'micPitary_7' to refined the use of id(s), bpm and myLeftRight
* values in parameters.
*
* Devleoped
* from Eleanor Dare's 'micINput', 'mousePressSonia'
* from Glen Whitehead's idea for controlling maximum Volume and counting total milliseconds
* from Nanda Kha's 'myMousePressSoniaPerMinute', 'countMillis', 'micPitary_7'
*
*
* Last modified by nanda kha 17th March 2008
*/

import pitaru.sonia_v2_9.*;
int myLeftRight;
int bpm;
//int maxVolume;
int minVolume;
int beatCounter = 0;
int totalMillis = 0;

void setupMic(){
size(600, 400);
Sonia.start(this); // Start Sonia engine.
LiveInput.start(256); // Start LiveInput
bpm = 67; // Starts bmp value with avrage bpm
}

void drawStuff() {
smooth();

getMeterLevel(); // Show meter-level reading for Left/Right channels.

// reset and count beats every 1/4 of a minute
if(millis() - totalMillis > 15000){ // starts at 0 and check at 1/4 minutes
totalMillis = millis();
bpm = int(beatCounter*4)/4; /* calulates total beats per minute with '*4'
and gets only 1/4 of all the tones.*/

beatCounter = 0; // reset the counter every 15 seconds or 1/4 minutes

minVolume = 6; /* reset minVolume to 6, which is below the approximate value of minimum
volumes seen in the console_micPitaru_7. However it depends on where and
how much of force the mic attached to the user's body. With the value of 96,
the mic is attached on my chest*/

// ***These allow the system to handle different range of volumes from different users***
// check and reset minVolume every 15 sec
if(myLeftRight < minVolume) {// check lowest volume
minVolume = myLeftRight; // assign current lowest volume to minVolume
print(" minVolume = " + minVolume);

}
}

int sec = second();
print(" at sec "+sec+" "); // it's easier to see time from second value
print(" millis = "+millis()+" totalMillis = " + totalMillis + " beats = "
+beatCounter+" bpm = "+bpm );
}

void getMeterLevel(){

// get Peak level for each channel (0 -> Left , 1 -> Right)
float meterDataLeft = LiveInput.getLevel();
float meterDataRight = LiveInput.getLevel();

// draw a volume-meter
float left = meterDataLeft*height;
float right = meterDataRight*height;
float leftRight = left+right;
int myLeftRight = int(leftRight); // casts the combined volume into an int
println(" myLeftRight = "+myLeftRight);

// mic detects volumes not below minVolume value
if (myLeftRight >= minVolume && myLeftRight <= 120){ // allows only volumes within this range

beatCounter ++;
}


// these conditions are constituted from id resourses. They partly form the pattern
// according to name, surname, age and mood the user types in from screen 2
for (int i = -f; i < width + f; i += a){ /* sets i += bpm changes structure of pattern
but crashes com every few mins */
for(int j = -f; j < height + f; j += a){

strokeWeight(myLeftRight); //(int(a/(myLeftRight+1))); //gives liveliness to pattern according to heart tones
stroke(m+bpm, a+myLeftRight, f-myLeftRight, bpm); // based on soft id
fill(a, n, s, bpm+myLeftRight); // based on primitive id
// use age value to solve problem of low age users
ellipse(i, j, n, s); // the most primitive shape according to Gestalt's human perception
//line(i, j, n, s); // line gives nice view. rect looks boring

}

}
}

// Safely close the sound engine upon Browser shutdown.
public void stop(){
Sonia.stop();
super.stop();
}

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

'console_micPulsate.txt'

Result from console in micPulsate with threshold for minimum voloume 6
By attaching mic on my chest, these are results:

at sec 1 millis = 303942 totalMillis = 303721 beats = 1 bpm = 62 myLeftRight = 8
at sec 1 millis = 304152 totalMillis = 303721 beats = 2 bpm = 62 myLeftRight = 4
at sec 1 millis = 304353 totalMillis = 303721 beats = 3 bpm = 62 myLeftRight = 14
at sec 2 millis = 304576 totalMillis = 303721 beats = 4 bpm = 62 myLeftRight = 7
at sec 2 millis = 304785 totalMillis = 303721 beats = 5 bpm = 62 myLeftRight = 2
at sec 2 millis = 304979 totalMillis = 303721 beats = 6 bpm = 62 myLeftRight = 11
at sec 2 millis = 305192 totalMillis = 303721 beats = 7 bpm = 62 myLeftRight = 8
at sec 3 millis = 305406 totalMillis = 303721 beats = 8 bpm = 62 myLeftRight = 3
at sec 3 millis = 305609 totalMillis = 303721 beats = 9 bpm = 62 myLeftRight = 9
at sec 3 millis = 305824 totalMillis = 303721 beats = 10 bpm = 62 myLeftRight = 8
at sec 3 millis = 306035 totalMillis = 303721 beats = 11 bpm = 62 myLeftRight = 3
at sec 3 millis = 306234 totalMillis = 303721 beats = 12 bpm = 62 myLeftRight = 14
at sec 4 millis = 306454 totalMillis = 303721 beats = 13 bpm = 62 myLeftRight = 7
at sec 4 millis = 306663 totalMillis = 303721 beats = 14 bpm = 62 myLeftRight = 5
at sec 4 millis = 306869 totalMillis = 303721 beats = 15 bpm = 62 myLeftRight = 13
at sec 4 millis = 307089 totalMillis = 303721 beats = 16 bpm = 62 myLeftRight = 7
at sec 4 millis = 307297 totalMillis = 303721 beats = 17 bpm = 62 myLeftRight = 4
at sec 5 millis = 307497 totalMillis = 303721 beats = 18 bpm = 62 myLeftRight = 11
at sec 5 millis = 307720 totalMillis = 303721 beats = 19 bpm = 62 myLeftRight = 6
at sec 5 millis = 307929 totalMillis = 303721 beats = 20 bpm = 62 myLeftRight = 3
at sec 5 millis = 308134 totalMillis = 303721 beats = 21 bpm = 62 myLeftRight = 13
at sec 5 millis = 308353 totalMillis = 303721 beats = 22 bpm = 62 myLeftRight = 8
at sec 6 millis = 308566 totalMillis = 303721 beats = 23 bpm = 62 myLeftRight = 2
at sec 6 millis = 308761 totalMillis = 303721 beats = 24 bpm = 62 myLeftRight = 16
at sec 6 millis = 309005 totalMillis = 303721 beats = 25 bpm = 62 myLeftRight = 8
at sec 6 millis = 309216 totalMillis = 303721 beats = 26 bpm = 62 myLeftRight = 3
at sec 7 millis = 309418 totalMillis = 303721 beats = 27 bpm = 62 myLeftRight = 11
at sec 7 millis = 309639 totalMillis = 303721 beats = 28 bpm = 62 myLeftRight = 6
at sec 7 millis = 309850 totalMillis = 303721 beats = 29 bpm = 62 myLeftRight = 3
at sec 7 millis = 310051 totalMillis = 303721 beats = 30 bpm = 62 myLeftRight = 9
at sec 7 millis = 310260 totalMillis = 303721 beats = 31 bpm = 62 myLeftRight = 6
at sec 8 millis = 310473 totalMillis = 303721 beats = 32 bpm = 62 myLeftRight = 2
at sec 8 millis = 310668 totalMillis = 303721 beats = 33 bpm = 62 myLeftRight = 9
at sec 8 millis = 310885 totalMillis = 303721 beats = 34 bpm = 62 myLeftRight = 6
at sec 8 millis = 311093 totalMillis = 303721 beats = 35 bpm = 62 myLeftRight = 3
at sec 8 millis = 311293 totalMillis = 303721 beats = 36 bpm = 62 myLeftRight = 15
at sec 9 millis = 311513 totalMillis = 303721 beats = 37 bpm = 62 myLeftRight = 7
at sec 9 millis = 311725 totalMillis = 303721 beats = 38 bpm = 62 myLeftRight = 6
at sec 9 millis = 311931 totalMillis = 303721 beats = 39 bpm = 62 myLeftRight = 13
at sec 9 millis = 312153 totalMillis = 303721 beats = 40 bpm = 62 myLeftRight = 5
at sec 9 millis = 312356 totalMillis = 303721 beats = 41 bpm = 62 myLeftRight = 2
at sec 10 millis = 312553 totalMillis = 303721 beats = 42 bpm = 62 myLeftRight = 11
at sec 10 millis = 312768 totalMillis = 303721 beats = 43 bpm = 62 myLeftRight = 7
at sec 10 millis = 312975 totalMillis = 303721 beats = 44 bpm = 62 myLeftRight = 11
at sec 10 millis = 313188 totalMillis = 303721 beats = 45 bpm = 62 myLeftRight = 12
at sec 11 millis = 313405 totalMillis = 303721 beats = 46 bpm = 62 myLeftRight = 7
at sec 11 millis = 313612 totalMillis = 303721 beats = 47 bpm = 62 myLeftRight = 4
at sec 11 millis = 313816 totalMillis = 303721 beats = 48 bpm = 62 myLeftRight = 13
at sec 11 millis = 314035 totalMillis = 303721 beats = 49 bpm = 62 myLeftRight = 7
at sec 11 millis = 314237 totalMillis = 303721 beats = 50 bpm = 62 myLeftRight = 7
at sec 12 millis = 314442 totalMillis = 303721 beats = 51 bpm = 62 myLeftRight = 11
at sec 12 millis = 314657 totalMillis = 303721 beats = 52 bpm = 62 myLeftRight = 5
at sec 12 millis = 314861 totalMillis = 303721 beats = 53 bpm = 62 myLeftRight = 11
at sec 12 millis = 315078 totalMillis = 303721 beats = 54 bpm = 62 myLeftRight = 5
at sec 12 millis = 315278 totalMillis = 303721 beats = 55 bpm = 62 myLeftRight = 4
at sec 13 millis = 315477 totalMillis = 303721 beats = 56 bpm = 62 myLeftRight = 12
at sec 13 millis = 315691 totalMillis = 303721 beats = 57 bpm = 62 myLeftRight = 4
at sec 13 millis = 315893 totalMillis = 303721 beats = 58 bpm = 62 myLeftRight = 3
at sec 13 millis = 316094 totalMillis = 303721 beats = 59 bpm = 62 myLeftRight = 10
at sec 13 millis = 316306 totalMillis = 303721 beats = 60 bpm = 62 myLeftRight = 3
at sec 14 millis = 316504 totalMillis = 303721 beats = 61 bpm = 62 myLeftRight = 2
at sec 14 millis = 316703 totalMillis = 303721 beats = 62 bpm = 62 myLeftRight = 14
at sec 14 millis = 316921 totalMillis = 303721 beats = 63 bpm = 62 myLeftRight = 5
at sec 14 millis = 317125 totalMillis = 303721 beats = 64 bpm = 62 myLeftRight = 3
at sec 14 millis = 317324 totalMillis = 303721 beats = 65 bpm = 62 myLeftRight = 20
at sec 15 millis = 317555 totalMillis = 303721 beats = 66 bpm = 62 myLeftRight = 5
at sec 15 millis = 317754 totalMillis = 303721 beats = 67 bpm = 62 myLeftRight = 4
at sec 15 millis = 317960 totalMillis = 303721 beats = 68 bpm = 62 myLeftRight = 19
at sec 15 millis = 318184 totalMillis = 303721 beats = 69 bpm = 62 myLeftRight = 8
at sec 16 millis = 318392 totalMillis = 303721 beats = 70 bpm = 62 myLeftRight = 4
at sec 16 millis = 318592 totalMillis = 303721 beats = 71 bpm = 62 myLeftRight = 20
minVolume = 0 at sec 16 millis = 318822 totalMillis = 318822 beats = 0 bpm = 72 myLeftRight = 12
at sec 16 millis = 319039 totalMillis = 318822 beats = 1 bpm = 72 myLeftRight = 2
at sec 16 millis = 319230 totalMillis = 318822 beats = 2 bpm = 72 myLeftRight = 20
at sec 17 millis = 319458 totalMillis = 318822 beats = 3 bpm = 72 myLeftRight = 10
at sec 17 millis = 319670 totalMillis = 318822 beats = 4 bpm = 72 myLeftRight = 3
at sec 17 millis = 319871 totalMillis = 318822 beats = 5 bpm = 72 myLeftRight = 11
at sec 17 millis = 320092 totalMillis = 318822 beats = 6 bpm = 72 myLeftRight = 8
at sec 17 millis = 320299 totalMillis = 318822 beats = 7 bpm = 72 myLeftRight = 3
at sec 18 millis = 320495 totalMillis = 318822 beats = 8 bpm = 72 myLeftRight = 9
at sec 18 millis = 320705 totalMillis = 318822 beats = 9 bpm = 72 myLeftRight = 8
at sec 18 millis = 320921 totalMillis = 318822 beats = 10 bpm = 72 myLeftRight = 2
at sec 18 millis = 321119 totalMillis = 318822 beats = 11 bpm = 72 myLeftRight = 10
at sec 18 millis = 321332 totalMillis = 318822 beats = 12 bpm = 72 myLeftRight = 7
at sec 19 millis = 321536 totalMillis = 318822 beats = 13 bpm = 72 myLeftRight = 2
at sec 19 millis = 321730 totalMillis = 318822 beats = 14 bpm = 72 myLeftRight = 10
at sec 19 millis = 321947 totalMillis = 318822 beats = 15 bpm = 72 myLeftRight = 7
at sec 19 millis = 322152 totalMillis = 318822 beats = 16 bpm = 72 myLeftRight = 4
at sec 19 millis = 322352 totalMillis = 318822 beats = 17 bpm = 72 myLeftRight = 7
at sec 20 millis = 322560 totalMillis = 318822 beats = 18 bpm = 72 myLeftRight = 5
at sec 20 millis = 322760 totalMillis = 318822 beats = 19 bpm = 72 myLeftRight = 9
at sec 20 millis = 322982 totalMillis = 318822 beats = 20 bpm = 72 myLeftRight = 6
at sec 20 millis = 323184 totalMillis = 318822 beats = 21 bpm = 72 myLeftRight = 6
at sec 21 millis = 323389 totalMillis = 318822 beats = 22 bpm = 72 myLeftRight = 5
at sec 21 millis = 323590 totalMillis = 318822 beats = 23 bpm = 72 myLeftRight = 8
at sec 21 millis = 323801 totalMillis = 318822 beats = 24 bpm = 72 myLeftRight = 6
at sec 21 millis = 324003 totalMillis = 318822 beats = 25 bpm = 72 myLeftRight = 5
at sec 21 millis = 324208 totalMillis = 318822 beats = 26 bpm = 72 myLeftRight = 8
at sec 22 millis = 324414 totalMillis = 318822 beats = 27 bpm = 72 myLeftRight = 5
at sec 22 millis = 324618 totalMillis = 318822 beats = 28 bpm = 72 myLeftRight = 8
at sec 22 millis = 324828 totalMillis = 318822 beats = 29 bpm = 72 myLeftRight = 9
at sec 22 millis = 325042 totalMillis = 318822 beats = 30 bpm = 72 myLeftRight = 5
at sec 22 millis = 325240 totalMillis = 318822 beats = 31 bpm = 72 myLeftRight = 5
at sec 23 millis = 325441 totalMillis = 318822 beats = 32 bpm = 72 myLeftRight = 8
at sec 23 millis = 325652 totalMillis = 318822 beats = 33 bpm = 72 myLeftRight = 5
at sec 23 millis = 325855 totalMillis = 318822 beats = 34 bpm = 72 myLeftRight = 17
at sec 23 millis = 326080 totalMillis = 318822 beats = 35 bpm = 72 myLeftRight = 4
at sec 23 millis = 326281 totalMillis = 318822 beats = 36 bpm = 72 myLeftRight = 4
at sec 24 millis = 326478 totalMillis = 318822 beats = 37 bpm = 72 myLeftRight = 15
at sec 24 millis = 326699 totalMillis = 318822 beats = 38 bpm = 72 myLeftRight = 13
at sec 24 millis = 326917 totalMillis = 318822 beats = 39 bpm = 72 myLeftRight = 3
at sec 24 millis = 327117 totalMillis = 318822 beats = 40 bpm = 72 myLeftRight = 10
at sec 24 millis = 327328 totalMillis = 318822 beats = 41 bpm = 72 myLeftRight = 10
at sec 25 millis = 327539 totalMillis = 318822 beats = 42 bpm = 72 myLeftRight = 2
at sec 25 millis = 327732 totalMillis = 318822 beats = 43 bpm = 72 myLeftRight = 11
at sec 25 millis = 327951 totalMillis = 318822 beats = 44 bpm = 72 myLeftRight = 9
at sec 25 millis = 328160 totalMillis = 318822 beats = 45 bpm = 72 myLeftRight = 2
at sec 25 millis = 328355 totalMillis = 318822 beats = 46 bpm = 72 myLeftRight = 10
at sec 26 millis = 328566 totalMillis = 318822 beats = 47 bpm = 72 myLeftRight = 7
at sec 26 millis = 328772 totalMillis = 318822 beats = 48 bpm = 72 myLeftRight = 3
at sec 26 millis = 328970 totalMillis = 318822 beats = 49 bpm = 72 myLeftRight = 8
at sec 26 millis = 329178 totalMillis = 318822 beats = 50 bpm = 72 myLeftRight = 6
at sec 27 millis = 329383 totalMillis = 318822 beats = 51 bpm = 72 myLeftRight = 2
at sec 27 millis = 329578 totalMillis = 318822 beats = 52 bpm = 72 myLeftRight = 9
at sec 27 millis = 329789 totalMillis = 318822 beats = 53 bpm = 72 myLeftRight = 7
at sec 27 millis = 329992 totalMillis = 318822 beats = 54 bpm = 72 myLeftRight = 3
at sec 27 millis = 330192 totalMillis = 318822 beats = 55 bpm = 72 myLeftRight = 11
at sec 28 millis = 330406 totalMillis = 318822 beats = 56 bpm = 72 myLeftRight = 8
at sec 28 millis = 330614 totalMillis = 318822 beats = 57 bpm = 72 myLeftRight = 8
at sec 28 millis = 330824 totalMillis = 318822 beats = 58 bpm = 72 myLeftRight = 8
at sec 28 millis = 331032 totalMillis = 318822 beats = 59 bpm = 72 myLeftRight = 6
at sec 28 millis = 331233 totalMillis = 318822 beats = 60 bpm = 72 myLeftRight = 4
at sec 29 millis = 331434 totalMillis = 318822 beats = 61 bpm = 72 myLeftRight = 6
at sec 29 millis = 331639 totalMillis = 318822 beats = 62 bpm = 72 myLeftRight = 5
at sec 29 millis = 331841 totalMillis = 318822 beats = 63 bpm = 72 myLeftRight = 5
at sec 29 millis = 332045 totalMillis = 318822 beats = 64 bpm = 72 myLeftRight = 6
at sec 29 millis = 332245 totalMillis = 318822 beats = 65 bpm = 72 myLeftRight = 5
at sec 30 millis = 332451 totalMillis = 318822 beats = 66 bpm = 72 myLeftRight = 7
at sec 30 millis = 332661 totalMillis = 318822 beats = 67 bpm = 72 myLeftRight = 10
at sec 30 millis = 332876 totalMillis = 318822 beats = 68 bpm = 72 myLeftRight = 6
at sec 30 millis = 333083 totalMillis = 318822 beats = 69 bpm = 72 myLeftRight = 18
at sec 30 millis = 333308 totalMillis = 318822 beats = 70 bpm = 72 myLeftRight = 6
at sec 31 millis = 333509 totalMillis = 318822 beats = 71 bpm = 72 myLeftRight = 4
at sec 31 millis = 333717 totalMillis = 318822 beats = 72 bpm = 72 myLeftRight = 16
minVolume = 0 at sec 31 millis = 333937 totalMillis = 333936 beats = 0 bpm = 73 myLeftRight = 6
at sec 31 millis = 334140 totalMillis = 333936 beats = 1 bpm = 73 myLeftRight = 3
at sec 31 millis = 334339 totalMillis = 333936 beats = 2 bpm = 73 myLeftRight = 16
at sec 32 millis = 334561 totalMillis = 333936 beats = 3 bpm = 73 myLeftRight = 14
at sec 32 millis = 334779 totalMillis = 333936 beats = 4 bpm = 73 myLeftRight = 3
at sec 32 millis = 334978 totalMillis = 333936 beats = 5 bpm = 73 myLeftRight = 22
at sec 32 millis = 335218 totalMillis = 333936 beats = 6 bpm = 73 myLeftRight = 15
at sec 33 millis = 335442 totalMillis = 333936 beats = 7 bpm = 73 myLeftRight = 3
at sec 33 millis = 335641 totalMillis = 333936 beats = 8 bpm = 73 myLeftRight = 20
at sec 33 millis = 335873 totalMillis = 333936 beats = 9 bpm = 73 myLeftRight = 10
at sec 33 millis = 336084 totalMillis = 333936 beats = 10 bpm = 73 myLeftRight = 3
at sec 33 millis = 336282 totalMillis = 333936 beats = 11 bpm = 73 myLeftRight = 11
at sec 34 millis = 336498 totalMillis = 333936 beats = 12 bpm = 73 myLeftRight = 5
at sec 34 millis = 336699 totalMillis = 333936 beats = 13 bpm = 73 myLeftRight = 5
at sec 34 millis = 336908 totalMillis = 333936 beats = 14 bpm = 73 myLeftRight = 9
at sec 34 millis = 337121 totalMillis = 333936 beats = 15 bpm = 73 myLeftRight = 4
at sec 34 millis = 337326 totalMillis = 333936 beats = 16 bpm = 73 myLeftRight = 6
at sec 35 millis = 337530 totalMillis = 333936 beats = 17 bpm = 73 myLeftRight = 8
at sec 35 millis = 337736 totalMillis = 333936 beats = 18 bpm = 73 myLeftRight = 4
at sec 35 millis = 337943 totalMillis = 333936 beats = 19 bpm = 73 myLeftRight = 15
at sec 35 millis = 338163 totalMillis = 333936 beats = 20 bpm = 73 myLeftRight = 5
at sec 35 millis = 338364 totalMillis = 333936 beats = 21 bpm = 73 myLeftRight = 5
at sec 36 millis = 338567 totalMillis = 333936 beats = 22 bpm = 73 myLeftRight = 30
at sec 36 millis = 338814 totalMillis = 333936 beats = 23 bpm = 73 myLeftRight = 16
at sec 36 millis = 339037 totalMillis = 333936 beats = 24 bpm = 73 myLeftRight = 3
at sec 36 millis = 339232 totalMillis = 333936 beats = 25 bpm = 73 myLeftRight = 20
at sec 37 millis = 339460 totalMillis = 333936 beats = 26 bpm = 73 myLeftRight = 10
at sec 37 millis = 339673 totalMillis = 333936 beats = 27 bpm = 73 myLeftRight = 3
at sec 37 millis = 339874 totalMillis = 333936 beats = 28 bpm = 73 myLeftRight = 9
at sec 37 millis = 340087 totalMillis = 333936 beats = 29 bpm = 73 myLeftRight = 7
at sec 37 millis = 340295 totalMillis = 333936 beats = 30 bpm = 73 myLeftRight = 8
at sec 38 millis = 340499 totalMillis = 333936 beats = 31 bpm = 73 myLeftRight = 8
at sec 38 millis = 340705 totalMillis = 333936 beats = 32 bpm = 73 myLeftRight = 6
at sec 38 millis = 340912 totalMillis = 333936 beats = 33 bpm = 73 myLeftRight = 15
at sec 38 millis = 341133 totalMillis = 333936 beats = 34 bpm = 73 myLeftRight = 5
at sec 38 millis = 341337 totalMillis = 333936 beats = 35 bpm = 73 myLeftRight = 5
at sec 39 millis = 341537 totalMillis = 333936 beats = 36 bpm = 73 myLeftRight = 34
at sec 39 millis = 341790 totalMillis = 333936 beats = 37 bpm = 73 myLeftRight = 16
at sec 39 millis = 342010 totalMillis = 333936 beats = 38 bpm = 73 myLeftRight = 5
at sec 39 millis = 342215 totalMillis = 333936 beats = 39 bpm = 73 myLeftRight = 11
at sec 40 millis = 342426 totalMillis = 333936 beats = 40 bpm = 73 myLeftRight = 8
at sec 40 millis = 342633 totalMillis = 333936 beats = 41 bpm = 73 myLeftRight = 2
at sec 40 millis = 342829 totalMillis = 333936 beats = 42 bpm = 73 myLeftRight = 12
at sec 40 millis = 343049 totalMillis = 333936 beats = 43 bpm = 73 myLeftRight = 6
at sec 40 millis = 343251 totalMillis = 333936 beats = 44 bpm = 73 myLeftRight = 6
at sec 41 millis = 343457 totalMillis = 333936 beats = 45 bpm = 73 myLeftRight = 8
at sec 41 millis = 343666 totalMillis = 333936 beats = 46 bpm = 73 myLeftRight = 5
at sec 41 millis = 343867 totalMillis = 333936 beats = 47 bpm = 73 myLeftRight = 8
at sec 41 millis = 344077 totalMillis = 333936 beats = 48 bpm = 73 myLeftRight = 7
at sec 41 millis = 344281 totalMillis = 333936 beats = 49 bpm = 73 myLeftRight = 6
at sec 42 millis = 344483 totalMillis = 333936 beats = 50 bpm = 73 myLeftRight = 24
at sec 42 millis = 344735 totalMillis = 333936 beats = 51 bpm = 73 myLeftRight = 18
at sec 42 millis = 344967 totalMillis = 333936 beats = 52 bpm = 73 myLeftRight = 3
at sec 42 millis = 345163 totalMillis = 333936 beats = 53 bpm = 73 myLeftRight = 21
at sec 43 millis = 345391 totalMillis = 333936 beats = 54 bpm = 73 myLeftRight = 10
at sec 43 millis = 345604 totalMillis = 333936 beats = 55 bpm = 73 myLeftRight = 8
at sec 43 millis = 345812 totalMillis = 333936 beats = 56 bpm = 73 myLeftRight = 6
at sec 43 millis = 346015 totalMillis = 333936 beats = 57 bpm = 73 myLeftRight = 6
at sec 43 millis = 346222 totalMillis = 333936 beats = 58 bpm = 73 myLeftRight = 20
at sec 44 millis = 346448 totalMillis = 333936 beats = 59 bpm = 73 myLeftRight = 16
at sec 44 millis = 346671 totalMillis = 333936 beats = 60 bpm = 73 myLeftRight = 4
at sec 44 millis = 346871 totalMillis = 333936 beats = 61 bpm = 73 myLeftRight = 13
at sec 44 millis = 347089 totalMillis = 333936 beats = 62 bpm = 73 myLeftRight = 10
at sec 44 millis = 347301 totalMillis = 333936 beats = 63 bpm = 73 myLeftRight = 2
at sec 45 millis = 347494 totalMillis = 333936 beats = 64 bpm = 73 myLeftRight = 11
at sec 45 millis = 347708 totalMillis = 333936 beats = 65 bpm = 73 myLeftRight = 6
at sec 45 millis = 347916 totalMillis = 333936 beats = 66 bpm = 73 myLeftRight = 5
at sec 45 millis = 348118 totalMillis = 333936 beats = 67 bpm = 73 myLeftRight = 6
at sec 45 millis = 348338 totalMillis = 333936 beats = 68 bpm = 73 myLeftRight = 4
at sec 46 millis = 348539 totalMillis = 333936 beats = 69 bpm = 73 myLeftRight = 19
at sec 46 millis = 348766 totalMillis = 333936 beats = 70 bpm = 73 myLeftRight = 16
minVolume = 0 at sec 46 millis = 348999 totalMillis = 348999 beats = 0 bpm = 71 myLeftRight = 3
at sec 46 millis = 349197 totalMillis = 348999 beats = 1 bpm = 71 myLeftRight = 20
at sec 47 millis = 349432 totalMillis = 348999 beats = 2 bpm = 71 myLeftRight = 9
at sec 47 millis = 349643 totalMillis = 348999 beats = 3 bpm = 71 myLeftRight = 27
at sec 47 millis = 349898 totalMillis = 348999 beats = 4 bpm = 71 myLeftRight = 17
at sec 47 millis = 350121 totalMillis = 348999 beats = 5 bpm = 71 myLeftRight = 3
at sec 47 millis = 350323 totalMillis = 348999 beats = 6 bpm = 71 myLeftRight = 11
at sec 48 millis = 350538 totalMillis = 348999 beats = 7 bpm = 71 myLeftRight = 8
at sec 48 millis = 350746 totalMillis = 348999 beats = 8 bpm = 71 myLeftRight = 16
at sec 48 millis = 350970 totalMillis = 348999 beats = 9 bpm = 71 myLeftRight = 6
at sec 48 millis = 351177 totalMillis = 348999 beats = 10 bpm = 71 myLeftRight = 4
at sec 49 millis = 351378 totalMillis = 348999 beats = 11 bpm = 71 myLeftRight = 15
at sec 49 millis = 351600 totalMillis = 348999 beats = 12 bpm = 71 myLeftRight = 9
at sec 49 millis = 351811 totalMillis = 348999 beats = 13 bpm = 71 myLeftRight = 2
at sec 49 millis = 352005 totalMillis = 348999 beats = 14 bpm = 71 myLeftRight = 13
at sec 49 millis = 352228 totalMillis = 348999 beats = 15 bpm = 71 myLeftRight = 5
at sec 50 millis = 352429 totalMillis = 348999 beats = 16 bpm = 71 myLeftRight = 8
at sec 50 millis = 352638 totalMillis = 348999 beats = 17 bpm = 71 myLeftRight = 8
at sec 50 millis = 352846 totalMillis = 348999 beats = 18 bpm = 71 myLeftRight = 4
at sec 50 millis = 353050 totalMillis = 348999 beats = 19 bpm = 71 myLeftRight = 23
at sec 50 millis = 353293 totalMillis = 348999 beats = 20 bpm = 71 myLeftRight = 18
at sec 51 millis = 353516 totalMillis = 348999 beats = 21 bpm = 71 myLeftRight = 3
at sec 51 millis = 353715 totalMillis = 348999 beats = 22 bpm = 71 myLeftRight = 21
at sec 51 millis = 353942 totalMillis = 348999 beats = 23 bpm = 71 myLeftRight = 13
at sec 51 millis = 354159 totalMillis = 348999 beats = 24 bpm = 71 myLeftRight = 10
at sec 52 millis = 354369 totalMillis = 348999 beats = 25 bpm = 71 myLeftRight = 12
at sec 52 millis = 354585 totalMillis = 348999 beats = 26 bpm = 71 myLeftRight = 7
at sec 52 millis = 354790 totalMillis = 348999 beats = 27 bpm = 71 myLeftRight = 22
at sec 52 millis = 355035 totalMillis = 348999 beats = 28 bpm = 71 myLeftRight = 14
at sec 52 millis = 355257 totalMillis = 348999 beats = 29 bpm = 71 myLeftRight = 5
at sec 53 millis = 355458 totalMillis = 348999 beats = 30 bpm = 71 myLeftRight = 15
at sec 53 millis = 355678 totalMillis = 348999 beats = 31 bpm = 71 myLeftRight = 9
at sec 53 millis = 355889 totalMillis = 348999 beats = 32 bpm = 71 myLeftRight = 2
at sec 53 millis = 356086 totalMillis = 348999 beats = 33 bpm = 71 myLeftRight = 12
at sec 53 millis = 356300 totalMillis = 348999 beats = 34 bpm = 71 myLeftRight = 7
at sec 54 millis = 356502 totalMillis = 348999 beats = 35 bpm = 71 myLeftRight = 4
at sec 54 millis = 356702 totalMillis = 348999 beats = 36 bpm = 71 myLeftRight = 9
at sec 54 millis = 356913 totalMillis = 348999 beats = 37 bpm = 71 myLeftRight = 5
at sec 54 millis = 357116 totalMillis = 348999 beats = 38 bpm = 71 myLeftRight = 22
at sec 54 millis = 357358 totalMillis = 348999 beats = 39 bpm = 71 myLeftRight = 15
at sec 55 millis = 357578 totalMillis = 348999 beats = 40 bpm = 71 myLeftRight = 4
at sec 55 millis = 357778 totalMillis = 348999 beats = 41 bpm = 71 myLeftRight = 10
at sec 55 millis = 357993 totalMillis = 348999 beats = 42 bpm = 71 myLeftRight = 14
at sec 55 millis = 358210 totalMillis = 348999 beats = 43 bpm = 71 myLeftRight = 12
at sec 56 millis = 358424 totalMillis = 348999 beats = 44 bpm = 71 myLeftRight = 11
at sec 56 millis = 358636 totalMillis = 348999 beats = 45 bpm = 71 myLeftRight = 7
at sec 56 millis = 358841 totalMillis = 348999 beats = 46 bpm = 7

 

Last Update 20 March 2008