Wii Processing Soundmachine

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche


Download Processing Programm: Download


Beschreibung

Ziel unseres Projektes war die Entwicklung eines Programms in dem man verschieden Soundsamples wie Bausteine miteinander kombinieren und so Musik generieren kann. Die einzelnen Soundkomponenten wurden von uns mit dem Programm Ableton Live, ein weit verbreitetes Programm der Kategorie digitaler Audio-Workstations, erzeugt. Diese Samples haben wir in die javabasierte Programmierumgebung Processing eingefügt. Auch haben wir zur interaktiven Ansteuerung mittels eines Handschuhs, der über LED-Dioden verfügt, eine Bibliothek eingebunden, die die Kommunikation mit dem Handschuh über OSC-Daten ermöglicht. Die Dioden des Handschuhs werden über eine Wii-Remote, welche mit dem Programm OSCulater angesteuert wird, eingelesen. Die OSC-Daten, welche OSCulater an Processing übergibt, werden dann in Positionskoordinaten umgewandelt. Somit ist nun eine Steuerung der Anwendung mittels des Datenhandschuhs durchführbar.

Uebersicht.jpg

IR Stift

Items:

-Battery-Tray für Mignon/AA Battarie

-Widerstand: 1,8 Ohm

-TSAL6200 IR-LED (940nm-Bereich am besten geeignet für Wiiremote); Phi = +-17° Strahlungswinkel;

-Schalter 300mA, 125V Schaltleistung

-Mignon AAA 1.5V

Schaltskizze für Diode:

Proj Wii Stift1.jpg


IR Stift.jpg


Problem: IR-Diode soll immer Leuchten, aber wie kann man so einen Klick simulieren?

IR Handschuh

Position von den zwei IR-LEDs wird ermittelt und daraus der Mittelwert gebildet. Dieser Mittelwert wird als Cursor ausgegeben, mit dem man die App steuern kann.

Ein Mausllick wird simuliert durch den Abstand der zwei LEDs. Erreichen diese einen vordefinierten Schwellwert, wird eine Funktion in Processing ausgelöst um eine gedrückte Maustaste nachzuahmen. Wenn man den Abstand wieder erhöht, enspricht es dem Loslassen der gedrückten Maustaste.


IR Handschuh Abstand.jpg
IR Handschuh Schaltplan.jpg


















IR Handschuh.jpg

OSCulator

(siehe osculator.net) Man kann bis zu 4 LEDS in Osculator einbinden.

OSC 1.png


1. Toolbar A toolbar with customizable items. The default layout suggests: a start/pause button, the OSC input port number, the Presets menu, the Quick Look viewer, useful to have a visual representation of the input, the Parameters Window button, gives access to advanced features, and the Wiimote Drawer button, shows the Wiimote configuration panel.

2. Messages List The table showing the list of registered messages.

3. Status bar A led indicates the readiness status, and a label displays messages of interest to the user.







OSC 2.png






1. Enable: A checkbox to enable or disable the event. If the checkbox is unchecked, the associated event will not be triggered

2. Activity: An activity sensor that blinks when a value is changing. This light blinks yellow when nothing is performed, green when an event is triggered correctly and red if an error occurs. Note that the light will blink only if the input has changed for 10% more than the previous value. This columns is also sensitive to mouse clicks: clicking the activity monitor will send a default message, useful for testing if an event is correctly configured;

3. Message:This is the name of the registered message. When the disclosure triangle is down, this columns displays the indices of the arguments, or their user-friendly memo if they are available. You can edit these memos by double clicking the row.

4. Event Type: A drop-down menu that shows the list of all Event Types (see Events). If you want to assign an event to a message, use this menu first, then go to the Value menu.

5. Value: A drop-down menu that shows the list of all possible values for the chosen Event Type.

6. Channel:MIDI related Event Types use a channel (such as MIDI CC, Kyma CC, or MIDI Note). The channel for HID Joystick is the number of the joystick (two virtual joysticks are available).



Processing

Problembehebung des Loops in Processing: Vorherige Benutzung von AudioSample der Minim_library (siehe http://code.compartmental.net/tools/)

AudioSample:

„AudioSample can be thought of like a sample in a drum machine. It is meant to be used for short sounds that simply need to be triggered and then forgotten about. An example of this might be all of the sound effects for a space shooter game. When you load an audio file using loadSample the audio will be loaded completely into memory and then triggered from there.“

ABER:

Die Latenzzeit war nicht optimal und es kam zu Taktverschiebungen der einzelnen Samples. Wir implementierten einen anderen Player aus der Minim_library.

AudioSnippet:

„If all you want to do is play a short audio file and you don’t need access to the samples and don’t need to apply any real-time effects, the best choice is to use an AudioSnippet. You can obtain an AudioSnippet from Minim by calling the loadSnippet method and passing the name of the file you want to load (in which case the file must be in the sketches data folder), an absolute path to the file, or a URL for the file. The file will then be completely loaded into memory and played back from there. This is important to note because if you are loading 50MB WAVs into AudioSnippets you will run out of memory pretty quickly. This will be equally true if you are loading 5 minute mp3s because the audio will be uncompressed as it is loaded into memory and will take up just as much memory as a 5 minute wav file (about 50MB).“


OSC-Daten ins Processing:

Via Library „OSCp5“ by Andreas Schlegel (http://www.sojamo.de/libraries/oscP5/)

Die Osc-Message (siehe Abbildung OSC.2, Nr3) aus OSCULATOR wird in das Processingprogramm durch checkAddrPattern(String) implementiert. In Processing selbst werden die Informationen beider LED-Positionen benutzt um den Mittelwert zu erstellen und somit den Sterncursor zu zeichnen. Proc Code.png