kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Abspielen von Wav-Dateien mit Hilfe von Processing

(EN google-translate)

(PL google-translate)

Ähnlich wie bei den Beispielen mit Bildern muß von Hand im Projektordner ein Unterordner mit dem Namen "data" angelegt werden.

Dort hinein wird die abzuspielende wav-Datei gelegt.

Über die mico-Bibliothek ist es möglich Klänge auf dem PC oder dem Smartphon abzuspielen, ohne den Quelltext verändern zu müssen.

Es ist möglich Klänge zu laden und zu registrieren.

Einem Ton kann ein solcher geladener Klang zugeordnet werden.

Wichtig: Die id des Klangs wird beim Ton als typ angegeben!

Untersuchen Sie hierzu das folgende Beispiel:

import info.kramann.extensions.mico;
import processing.video.*;
import ketai.camera.*;
import java.util.Properties;

public void setup()
{
     mico.soundStart();
     fullScreen();
     frameRate(10);

     float[] tone = mico.wavLoadMix("pattern3.wav",this);
     int id = 100;
     int sample_rate = 44100;
     float original_frequency = 100.0;
     mico.soundRegisterSample(id,sample_rate,original_frequency,tone);

     //Make copy with small break at the end:
     float[] tone2 = new float[tone.length+44100/8];
     for(int i=0;i<tone.length;i++)
         tone2[i] = tone[i];
     mico.soundRegisterSample(id+1,sample_rate,original_frequency,tone2);

     int id_tone = 0;
     int typ = 100; //previous registered wav-file
     float frequency = 100.0f;
     float dt_phase_left = 0.0f;
     float dt_phase_right = 0.0f;
     float vol_left  = 0.8f;
     float vol_right = 0.2f;
     mico.soundAddTone(id_tone, typ, frequency, dt_phase_left, dt_phase_right, vol_left, vol_right);
     mico.soundAddTone(id_tone+1, typ+1, frequency, dt_phase_left, dt_phase_right, 1.0-vol_left, 1.0-vol_right);
     
}

double t=0.0;
public void draw()
{
  //TEST THIS:
  /*
         int id = 0;
         float frequency = 100 + (float)(50.0*Math.sin(2.0*Math.PI*0.01*t));
         float dt_phase_left = 0.0f;
         float dt_phase_right = 0.0f;
         float vol_left  = 0.4f;
         float vol_right = 0.0f;
         mico.soundChangeTone(id, frequency, dt_phase_left, dt_phase_right, vol_left, vol_right);
         
         t+=0.1;
  */       
}

Code 0-1: playwav1

playwav1.zip -- project