KFBASIS01_sinus
(EN google-translate)
(PL google-translate)
Auf je einem Stereo-Kanal können Amplitude, Frequenz und Phase eines Sinustones abhängig von Werten des drei-achsigen Beschleunigungssensors verändert werden.
Es ist ein kleines Beispiel in das Framework eingefügt.
Funktion zum Ändern
Funktion, die Sensordaten bekommt und Sinusfrequenzen und -amplituden liefert.
Laden Sie den Sketch und experimentieren Sie mit dieser Funktion
/**
* <pre><code>
* INPUT sanfte Drehung:
* Orientierung Smartphone, resultierende Werte:
* xyz: float-Werte, Ausrichtung der Erdbeschleunigung
* w1 2 3 4 5 6: wie Augen auf Würfel, true, wenn oben
* x y z w1 w2 w3 w4 w5 w6
* auf Tisch liegend: 0 0 1 true
* auf Tisch mit Display nach unten: 0 0 -1 true
* stehend, Kamera oben (wie beim telefonieren) 0 1 0 true
* stehend, Kamera unten 0 -1 0 true
* Querformat, Knöpfe oben 1 0 0 true
* Querformat, Knöpfe unten -1 0 0 true
*
* INPUT ruck/schlagartige Bewegung
* Variable schlag: 0=kein Schlag, 1=leicht, 2=mittel, 3=stark, 4=sehr stark
*
* OUTPUT linker Kanal
* float[] sinlinks_amp_freq = {amplitude [0..1], frequenz [0..]}
*
* OUTPUT rechter Kanal
* float[] sinrechts_amp_freq = {amplitude [0..1], frequenz [0..]}
* </code></pre>
*/
public void sensorsound(//INPUT:
float x, float y, float z,
boolean w1, boolean w2, boolean w3, boolean w4, boolean w5, boolean w6,
int schlag,
//OUTPUT:
float[] sinlinks_amp_freq,
float[] sinrechts_amp_freq
)
{
if(schlag>0)
{
sinlinks_amp_freq[0] = 0.8f;
sinrechts_amp_freq[0] = 0.8f;
}
else
{
sinlinks_amp_freq[0] *= 0.9f;
sinrechts_amp_freq[0] *= 0.9f;
}
sinlinks_amp_freq[1] = 500.0f + 250.0f*x;
sinrechts_amp_freq[1] = 500.0f + 250.0f*y;
}
Code 0-1: Funktion, die Sensordaten bekommt und Sinusfrequenzen und -amplituden liefert.
KFBASIS01_sinus.zip -- gezipter Sketchordner