Text

Μουσική Πληροφορική SC Ex.2

// This is an example of using two sliders in order to control the frequency and velocity of a Synth

SynthDef(\testsaw, {|freq = 400, amp = 0.01|
    Out.ar(0 , Saw.ar(freq, amp))}).send(s);
      
Synth(\testsaw);

(
var slid, syn, slid2, text;

w = Window(“Demo Slider”, Rect(500, 500, 500, 200));
slid = Slider(w, Rect(20, 40, 150, 20)).background_(Color.rand);
slid2 = Slider(w, Rect(20, 140, 150, 20)).background_(Color.rand);

c = NumberBox(w, Rect(20, 70, 150, 20));
d = NumberBox(w, Rect(20, 170, 150, 20));

text = StaticText(w, Rect(200, -50, 250, 200));
text.string = (“This is an example of using two sliders in order to control the frequency and velocity of a Synth”);   
text.font = Font(“Monaco”, 11);

b = Button(w, Rect(250,100,140,50));
               
                b.states = ([
                    [“press to start synth”, Color.black, Color.red],
                    [“press to stop synth”, Color.white, Color.black],
                   
                ]);
               
                b.action = ({ |butt|
               
                if (butt.value == 1, {syn = Synth(\testsaw);}, {syn.free});
                butt.value.postln;
               
                });

slid.action = ({
    c.value = 100 + (1000 * slid.value;);
    syn.set(\freq, 100 + (1000 * slid.value));
    });
       
slid2.action = ({
    d.value = slid2.value;
    syn.set(\amp, slid2.value);
   
    });

w.front;
w.onClose = {syn.free;};
)

Cygnus Thu, 09 December 2010, 12:05PM

Text

Μουσική Πληροφορική SC Ex.1

// Use the keyboard to trigger sound.
// Cygnus Thu, 09 December 2010, 11:32AM

(
SynthDef(“typewrite”,
    { Out.ar(0, Saw.ar(Line.kr(1,0,0.1,doneAction:2))
        *VarSaw.ar(Rand(100,1000),0,Rand(0.5,0.8),0.1))
   
    }).send(s);
   
~newdoc = Document.new;
~newdoc.keyDownAction = ({ |…args|
   
    [args[1],args[3]].postln;
    Synth(“typewrite”);
   
    });
~newdoc.background_(Color.gray(alpha:0.8));

)
~newdoc.keyDownAction = (nil);

Cygnus Thu, 09 December 2010, 12:03PM

Text

Update: Personal Earlab Page

Today, i have updated my personal page on Earlab website (http://earlab.org/pmwiki.php?n=Members/StratosKountouras/HomePage). I have also created a media library page, in which i will post all my media clips regarding the Gestus project.

Cygnus Tue, 23 November 2010, 18:38PM

Text

Introduction to Programming I - Lab 4 (ex.4.2)

This the exercise 4.2 for the “Introduction to Programming I” lab.


Να γραφτεί πρόγραμμα σε C που να διαβάζει από τον χρήστη 9 αριθμούς και να τους αποθηκεύει σε έναν πίνακα 3x3. Στη συνέχεια θα εμφανίζει στην οθόνη το περιεχόμενο του πίνακα αυτού.

Ex. 1 - WHILE

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a[3][3];
    int i, j;
   
   
    for (i=0;i<3;i++)
    {
        for (j=0; j<3; j++)   
        scanf(“%f”,&a[i][j]);
    }
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        printf(” %f “,a[i][j]);
        printf(“\n”);
    }
    
   // system(“pause”);

return 0;

}


Η υλοποίηση να επαναληφθεί με διαφορετική δομή επανάληψης.

Ex. 2 - FOR

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a[3][3];
    int i,j;
   
   
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)   
        scanf(“%f”,&a[i][j]);
    }
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        printf(” %f “,a[i][j]);
        printf(“\n”);
    }
       
   // system(“pause”);

return 0;
}

Cygnus Thu, 22 April 2010, 18:59PM

Text

Introduction to Programming I - Lab 4 (ex.4.1)

Here is the exercise 4.1 implemented for the “Introduction to Programming I” by Michalis Panagopoulos.

Γράψτε πρόγραμμα σε γλώσσα C που να δέχεται από τον χρήστη ένα γράμμα που θα συμβολίζει το χρώμα που έχει επιλέξει κάποιος φοιτητής ως το βασικό χρώμα σε μία εργασία σχεδίου. Ανάλογα με το σύμβολο θα τυπώνεται το κατάλληλο μήνυμα, π.χ. « Ο φοιτητής έχει επιλέξει το πράσινο χρώμα», αν το σύμβολο ήταν ‘g’. Αντίστοιχα για τα υπόλοιπα χρώματα:

  • Αν το σύμβολο είναι ‘y’, θα αντιστοιχίζεται στο κίτρινο χρώμα.
  • Αν το σύμβολο είναι ‘r’, θα αντιστοιχίζεται στο κόκκινο χρώμα.
  • Αν το σύμβολο είναι ‘b’, θα αντιστοιχίζεται στο μπλε χρώμα.
  • Αν το σύμβολο είναι ‘m’, θα αντιστοιχίζεται στο ματζέντα χρώμα.
  • Αν το σύμβολο είναι ‘k’, θα αντιστοιχίζεται στο μαύρο χρώμα.
  • Σε κάθε διαφορετική περίπτωση, θα εμφανίζει το μήνυμα «Το σύμβολο δεν αντιστοιχεί σε χρώμα»

Το πρόγραμμα να υλοποιηθεί με δύο διαφορετικούς τρόπους (if, switch).

Ex. 1 - IF

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main()
{

    char color;
    printf(“Parakalo eisagete to symbolo toy xrwmatos\n”);
    scanf(“%c”, &color);
   
    if (color==’y’)
        printf(“To xrwma pou epelekse o foititis einai to kitrino\n”);
    else
    if (color==’g’)
        printf(“To xrwma pou epelekse o foititis einai to prasino\n”);
    else
    if (color==’r’)
        printf(“To xrwma pou epelekse o foititis eina to kokkino\n”);
    else
    if (color==’b’)
        printf(“To xrvma pou epelekse o foititis einai to ble\n”);
    else
    if (color==’m’)
        printf(“To xrwma pou epelekse o foititis einai to magenta\n”);
    else
    if (color==’k’)
        printf(“To xrwma pou epelekse o foititis einai to mayro\n”);
       
    else
    printf(“To symbolo ayto den antistoixei se xrwma\n”);

return 0;
}

Ex. 2 - SWITCH

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()

{
    char color;
   
    printf(“Parakalo eisagete to symbolo toy xrwmatos\n”);
    scanf(“%c”, &color);
   
    switch (color)
    {
        case ‘y’: printf(“To xrwma pou epelekse o foititis einai to kitrino\n”);
        break;
           
        case ‘g’: printf(“To xrwma pou epelekse o foititis einai to prasino\n”);
        break;
           
        case ‘r’: printf(“To xrwma pou epelekse o foititis einai to kokkino\n”);
        break;
           
        case ‘m’: printf(“To xrwma pou epelekse o foititis einai to magenta\n”);
        break;
       
        case ‘k’: printf(“To xrwma pou epelekse o foititis einai to mayro\n”);
        break;
       
        case ‘b’: printf(“To xrwma pou epelekse o foititis einai to ble\n”);
        break;
   
        default: printf(“To symbolo pou epileksate den antistoixei se xrwma\n”);       
    }

    return 0;
}

Cygnus Thu, 22 April 2010, 18:29PM

Text

Introduction to Programming I - Lab 3 (ex.3.2)

This is the second exercise for the lab “Introduction to Programming Ι “. The exercise was implemented by Michalis Panagopoulos.

Εκφώνηση:

1. Να γραφτεί πρόγραμμα σε C που να διαβάζει από τον χρήστη 5 αριθμούς και να τους αποθηκεύει σε έναν πίνακα. Στη συνέχεια θα εμφανίζει στην οθόνη το περιεχόμενο του πίνακα αυτού.


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a[5];
    int i=0;
   
    while (i<5)
    {
          scanf(“%f”,&a[i]);
          i++;
    }
    i=0;
    while (i<5)
    {
          printf(“%f\n”,a[i]);
          i++;
    }     
    
    // system(“pause”);

return 0;
}

2. Η υλοποίηση να επαναληφθεί με διαφορετική δομή επανάληψης.

int main()
{
    float a[5];
    int i;
   
    for (i=0;i<5;i++)
        scanf(“%f”,&a[i]);
    for (i=0;i<5;i++)
        printf(“%f\n”,a[i]);
   
    // system(“pause”);
   
    return 0;
}

Text

Introduction to Programming I - Lab 3 (ex.3.1)

Another exercise implemented for the “Introduction to Programming” Lab.

Εκφώνηση:

1.Γράψτε πρόγραμμα σε γλώσσα C που να δέχεται από τον χρήστη την βαθμολογία ενός φοιτητή σε ένα μάθημα και να τυπώνει, ανάλογα με την περίπτωση τα εξής μυνήματα:

  • Αν ο βαθμός είναι πάνω από 8.5 τότε θα εμφανίζει το μύνημα “ΑΡΙΣΤΑ”.
  • Αν ο βαθμός είναι μεταξύ 7 και 8.5, τότε θα εμφανίζει το μύνημα “ΠΟΛΥ ΚΑΛΩΣ”
  • Αν ο βαθμός είναι μεταξυ 5 και 7, τότε θα εμφανίζει το μύνημα “ΚΑΛΩΣ”
  • Σε κάθε διαφορετική περίπτωση, θα εμφανίζει το μύνημα “ΑΠΟΤΥΧΙΑ”

2. Τροποποιήστε το παραπάνω πρόγραμμα, ώστε να γίνεται έλεγχος ορθών δεδομένων εισόδου, ώστε στην περίπτωση που τα δεδομένα αυτά είναι εκτός των επιτρεπτών (0 και 10) ορίων, να εμφανίζει κατάλληλα μυνήματα.

3. Με ποιόν τρόπο θα μπορούσαμε να αντιμετωπίσουμε το πρόβλημα της λανθασμένης εισαγωγής δεδομένων; (Aπάντηση: με επανάληψη while)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float e;
   
    printf(“Dose ti vathmologia\n”);
    scanf(“%f”,&e);
    while ((e<0)||(e>10))
    {
       printf(“Ta dedomena eisodou den einai swsta. Ksanadoste ti vathmologia\n”);
       scanf(“%f”,&e);
    }
    if (e>8.5)
       printf(“ARISTA”);
    else if ((e<8.5)&&(e>7))
       printf(“POLY KALA”);
    else if ((e<7)&&(e>5))
       printf(“KALA”);
    else
       printf(“APOTYXIA\n”);

    system(“pause”);

return 0;
}

Cygnus Thu, 22 April 2010, 17:50PM

Text

Orologio Earinou 2009-10

I have updated our online Google Calendar (AVARTS Classes Timetable) with the current version of Orologio Earino v.15

Cygnus Thu, 22 April 2010, 17:35PM

Text

Εργαστήριο Τεχνολογίας Ήχου: Ιδέα για Ασκηση 2

Άσκηση στο Propellerheads Reason (για Δευτέρα 5 Μαϊου 2010):  Μια ηχητική ή μουσική σύνθεση μέσω του Reason. Η εργασία πρέπει να χρησιμοποιήσει τουλάχιστον 10 Racks (συνθεσάιζερ ,ρυθμικούς βρόγχους, δειγματολήπτες, εφέ, κλπ.) που θα συνδυαστούν με τεχνική ηχητικού μοντάζ. Προτεινόμενη χρονική διάρκεια 1 λεπτό. Παρακαλώ να χρησιμοποιήσετε το Audacity για την επεξεργασία της τελικής σύνθεσης.

Cygnus Wed, 14 April 2010, 12:25PM

Text

More information added to Earlab/Tools website.

Added more information on Earlab website, under Tools (http://earlab.org/index.php?n=Tools/HomePage). Specifically, the following entries have been modified:

  • Zotero
  • Ning
  • FireFTP
  • Evernote
  • Twitter
  • Drupal
  • Pmwiki
  • vvvv
  • freeJ

Cygnus Wed, 14 April 2010, 11:32AM

Text

More bilbiography added on Gestural Interaction

Working on collecting more bibliography on Gestural Interaction, recommended by IZ from the source: http://www.idmil.org/publications

Downloaded, cleaned, and tided up to my Main Research Library more than 70 items. All items could be found on Dropbox/GesturalInteraction/100412_SK_Gestural_Revised.

Cygnus Mon, 12 April 2010, 14:06PM

Text

Introduction to Programming I - Lab 2

Two more C exercises have added to “Introduction to Programming I” Lab. All exercises are written and implemented according to the following books by myself and Mixalis Panagopoulos. Compiled in XCode. (eMacs) Η γλώσσα C σε βάθος, Ν. Μ. Χατζηγιαννάκη, Εκδόσεις Κλειδάριθμος  Αθήνα 2006 and, C Προγραμματισμός, Deitel & Deitel, Μ. Γκιούρδας Εκδοτική  Αθήνα 2003

Exercise 3 - Μathematical Οperations 1

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define pi 3.14
int main()
{
    int a=2;
    int b=3;
    int c=5;
    int d;
   
    d=((a*(a+b)*(a+b)*2*c)/(c+5)-a*b)*a*b*c+(4*b-a)/c;
   
    printf(“%d\n”,d);
    return 0;
}

Exercise 4 - Μathematical Οperations 2 (Εμβαδά)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define pi 3.14159265358979323846264338327950288419716939937510582

int main()
{   
    int a = 5;
    int b = 3;
    int c = 8;
    int d = 12;
    long double e = pi;
    int r = 15;
    int x;
    int y;
    long double z;
   
    x = a * b; //Emvado Orthogonioy Parallilogramou
    printf(“Emvado Orthogonioy Parallilogramou: %d\n”, x);
   
    y = (c*d)/2; //Emvado Orthogonioy Trigonou   
    printf(“Emvado Orthogonioy Trigonou %d\n”, y);
   
    z = e*(r*r); // Emvado kykloy
    printf(“Emvado kykloy %1.60Lf\n”, z);


    return 0;
}

Cygnus Fri, 19 March 2010, 07:52AM

Text

Introduction to Programming I - Lab 1

Here are the first two C exercises for the “Introduction to Programming I Class”. All exercises are written according to C Programming book by myself and Mixalis Panagopoulos. Compiled in XCode. (eMacs)

Exersice 1 - Hello World.

#include <stdio.h>

int main()
{
    printf(“Hello World\n”);
    // getchar();
}

Exersice 2 - Integers Division

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    int a=1;
    int b=2;
    float c;
   
    c=(float)a/(float)b;
    printf(“%f\n”,c);
    getchar();
    //system(“pause”);
}

I will add more exercises every time a weekly lab class is finished.

Cygnus Thu, 18 March 2010, 18:06PM

Text

Working on AVARTS Sound Studio and Video Lab

Sound Studio: Continue my work on the AVARTS Sound and Video Studio. This time i had to seek for all the lost power-cables that were missing, for connecting both 6 (Emes) + 2(M-audio) monitor speakers. I have managed to find all power-cables needed, and now we are sorted. The 6 (Emes) monitor speakers are now plugged to the extensions and placed back to their wall stands.

I have also had the idea to setup the unused eMac (found dusted in a corner) to form another small workstation. For this i have used the 2(M-audio) for monitor speakers. I have place the eMac to the small desk in the sound studio. The system unfortunately runs on Windows so we need to decide if we going to install Leopard or not. Also we missing a mouse for this workstation.

Video Lab: i have helped Tania with the wireless Sennheiser microphone system. I have managed to pair all microphone transmitters and receivers. Each pair now transmits and receives data on specific bank frequencies. That will help us to avoid any frequency conflicts when more than one pair are in use.

We now have a boom microphone. That will be in handy when students are filming. This will also improve sound quality and noise reduction and will also help with multiple microphone recording situations.

Note: Video lab is now able to provide both wireless system miking as well as a boom mic for filming. I will provide more help to Video Lab as it looks like that their require these kind of amenities. This will also solve all issues with Dalila’s students and their bachelors assignments.

Cygnus Thu, 18 March 2010, 17:59PM

Text

Added documentation on Earlab.org website

Documented the following pages to the “Earlab.org” website, under the “Tools” page.

  • Audacity
  • Community Core Vision
  • reacTIVision

Cygnus Thu, 18 March 2010, 17:00PM