Home
Musik machen mit intuitiven Interfaces
Contents
1. lat dazwischen und agere lat handeln machen zusammen Es beinhaltet ebenso das englische Wort face zu Deutsch Gesicht Demnach weist Interface der w rtlichen Bedeutung nach auf eine Art Handlung zwischen etwas hin beschreibt aber auch gleichzeitig eine spezifische Oberfl che die vermitteln kann vgl CLAUSSEN 2006 Zus tzlich steht es in direktem Bezug zur Interaktion dem Nomen zu interagieren einem Fremdwort dass laut DUDEN so viel wie wechselseitig in seinem Verhalten beeinflussen bedeutet Das Interface erm glicht demzufolge den Dialog und den Austausch von Informationen zwischen zwei Parteien mittels einer Schnittstelle Dabei kann dieser Austausch zwischen Mensch und Maschine ablaufen oder aber die Technik als Medium fungieren um die Verst ndigung zwischen zwei Individuen zu erm glichen Prinzipiell ist aber jede Struktur die eine Kommunikation erm glicht eine Art Interface STAPELKAMP 2010 beschreibt das Interface auch als die Voraussetzung f r Interaktion Es ist dem Nutzer also ein Werkzeug um seine Anweisung dem technischen System mitzuteilen Gleichzeitig soll es in diesem Fall nat rlich ebenfalls die Vermittlung der R ckgabeinformation der Maschine erm glichen Dabei m ssen Input des Nutzers und Output des Systems Formen annehmen die beiden Seiten gleicherma en gerecht werden und verstehen k nnen vgl CLAUSSEN 2006 In manchen F llen besteht heute das zu bedienende Produkt sogar fast nur
2. Funktionen darzulegen Der gesamte Code ist in ausf hrlich kommentierter Form in Anhang B einzusehen 7 3 2 1 C Syntax in Wii Infrared MIDI Zu der sehr allgemein gehaltenen Einf hrung in Visual Basic in Kapitel 7 1 kommen nun noch einige notwendige die Programmiersprache betreffende Erkl rungen die das Verst ndnis zur Ausf hrung der Methoden hoffentlich f rdert Vor der Erstellung des Quelltexts m ssen zun chst die Verweise zu den verwendeten Namespaces hergestellt werden zu denen auch die Managed Libraries z hlen Daf r wird neben der Einbeziehung in den Projektmappe von Visual Basic auch noch der using Befehl ben tigt der unmittelbar am Anfang des Codes steht siehe Anhang B Seite 1 Zun chst wird die Struktur der verschiedenen Klassen betrachtet Die eigens entwickelte Programmstruktur mit ihren einzelnen Methoden ist der Hauptklasse MainForm untergeordnet Neben dieser muss die f r das MIDI Optionsmen zust ndige MidiOptions Klasse erw hnt werden die zwar dem Quelltext angeh ngt ihr aber weiterhin keine gesonderte Erkl rung beigef gt wird da sie lediglich aus dem Wii Drum Synth Programm bernommen wurde Klassen aus der WiimoteLib und dem C MIDI Toolkit werden dagegen nur instanziert denn auf die Objekte oder Klassen der Managed Libraries kann nur zugegriffen werden wenn zu diesen zuvor eben eine Instanz gebildet wurde Das betrifft das essentielle Wiimote Objekt aus der WiimoteLib und die Synth Klasse aus
3. Abb 2 4 Apple IPad 2 Kapitel 2 Begriffe 11 203 3 1 Eingabe und Ausgabemedien Das noch recht junge Fachgebiet hat sich nicht zuletzt deswegen entwickelt da vor allem die Computertechnologie einen immer gr eren Einfluss auf unsere Gesellschaft in beruflicher und pers nlicher Sicht vereinnahmt und um die steigende Komplexit t dieser Systeme benutzergerecht zu verpacken und deren Bedienung weiterhin problemlos zu erm glichen m ssen sinnvolle Interfaces entwickelt werden Die M glichkeiten der Kommunikation sind zwar an die Mittel des Menschen gebunden Information bereitzustellen wie auch aufzunehmen und zu verarbeiten trotzdem ist die Zahl der Wege dies zu gestalten un berschaubar Neben der visuellen Informationsrezeption des Menschen die wohl noch zumeist angesprochen wird sind auch taktile und auditive Wahrnehmung bei manchen Anwendungen gefragt Welche Form im Einzelnen am besten verwendet wird h ngt vom gesamten Nutzungskontext ab und muss bei jeder einzelnen Entwicklung eines Interfaces neu berdacht werden Oftmals ist eine Verbindung verschiedener Mittel von Vorteil Kann per Bildschirm vielleicht die gr Dte Menge an Informationen bertragen werden so k nnen Audio Signale beispielsweise bei Warnungen zweckdienlicher sein vgl K NIG 2010 Auch f r die klassischen Bedienelemente des Personal Computers wird in vielen Bereichen an Verbesserung geforscht M gen Maus und Tastatur zwar f r die meisten Programme ausreich
4. Ausl sen des Switch Back Befehls mit IR 2 amp 3 berpr fen ob Bet tigungs IR Signale Mindestgeschwindigkeit in NEGATIVE x Richtung besitzen Switch Befehl zuf llig ausgel st wird Kapitel 9 Anhang B Quelltext 87 Bet tigungs IR Signale hnliche x Koordinaten besitzen Auswahl IR Signal sich im Arbeitsfeld befindet if V2_x lt V_x_Thres_minus amp amp V3_x lt V_x_Thres_minus amp amp V2_x gt Vx Min amp amp V3_x V x Min amp amp X_Gap23 lt X_Gap_Max amp amp X1 lt 1023 Auswahl des richtigen Feldes ber Positionsdaten des Auswahl IR Signals und Aufruf der passenden Methode inklusive Filter Variable auf False setzen und Filter Timer starten if X1 350 if Y1 lt 380 A_Switch_back peak_filter_X false timer4 Start else D_Switch_back peak_filter_X false timer4 Start else if Xi 700 if Y1 lt 380 B Switch back peak filter X false timer4 Start else E Switch back peak filter X false timer4 Start else if Y1 lt 380 C Switch back peak filter X false timer4 Start else F_Switch_back peak_filter_X false timer4 Start Ausl sen des Switch Back Befehls mit IR 1 amp 3 f r weitere Kommentare siehe Ausl sen des Switch Back Befehls mit IR 2 amp 3 if V1 x V x Thres minus amp amp V3 x V_x_Thres_minus
5. Kapitel 9 Anhang B Quelltext 90 else if note B g FillRectangle new SolidBrush Color Green 192 0 192 216 else if note C g FillRectangle new SolidBrush Color Green 386 0 192 216 else if note D g FillRectangle new SolidBrush Color Green 0 216 192 216 else if note E g FillRectangle new SolidBrush Color Green 192 216 192 216 else if note F g FillRectangle new SolidBrush Color Green 386 216 192 216 Notenwerte der einzelnen Felder auf die GUI projizieren Integer Variable A des Notenwerts im Feld A in String Variable TextA konvertieren TextA Convert ToString A String Variable TextA als Schriftzug TextNoteA der GUI definieren TextNoteA Text TextA folgende Vorg nge analog zum obigen f r die anderen Felder TextB Convert ToString B TextNoteB Text TextB TextC Convert ToString C TextNoteC Text TextC TextD Convert ToString D TextNoteD Text TextD TextE Convert ToString E TextNoteE Text TextE TextF Convert ToString F TextNoteF Text TextF UpdateIR Methode aufrufen mit bergabe der n tigen Variablen des Infrarotsensors und der definierten Farbe UpdateIR ws IRState IRSensors 0 Color Red UpdateIR ws IRState IRSensors 1 Color RoyalBlue UpdateIR ws IRState IRSensors 2 Color DarkGreen UpdateIR ws IRState IRSensors 3 Color Yellow j Methode zum Darstellen der IR Punkte private void UpdateI
6. 0 X Gap23 X Gap23 1 j Berechnung der Differenz zwischen Infrarotsignal 1 amp 3 analog zu 1 amp 2 private void berechne X Gap13 float X1 wm WiimoteState IRState IRSensors 0 RawPosition X float X3 wm WiimoteState IRState IRSensors 2 RawPosition X X Gap13 X1 X3 if X Gap13 0 X Gap13 X Gap13 1 j Methoden zum Ausl sen der Switch Forward Befehle Switch Forward Befehl f r Feld A private void A Switch fwd MIDI Halbton zur Note des Feldes addieren A A 1 Obergrenze f r Notenwert des Feldes festlegen if A int numericUpDown3 Value 1 A int numericUpDown3 Value 1 j Switch Forward Befehl f r Feld B analog zu Feld A Kapitel 9 Anhang B Quelltext 80 private void B_Switch_fwd B B 1 if B gt int numericUpDown4 Value 1 B int numericUpDown4 Value 1 Switch Forward Befehl f r Feld C analog zu Feld A private void C_Switch_fwd C C 1 if C gt int numericUpDown5 Value 1 C int numericUpDown5 Value 1 I Switch Forward Befehl f r Feld D analog zu Feld A private void D Switch fwd D D 1 if D gt int numericUpDown7 Value 1 D int numericUpDown7 Value 1 Switch Forward Befehl f r Feld E analog zu Feld A private void E Switch fwd t E E 1 if E gt int numericUpDown8 Value 1 E int numericUpDown8 Value 1 Switch Forward Befehl f r Feld F analog zu Fel
7. Allen voran die sogenannten Musikcomputer in Form von digitalen Synthesizern einer Weiterentwicklung ihrer analogen Pendants die bereits seit den 60er Jahren von Pionieren wie Bob Moog entwickelt wurden und mittels Oszillatoren Klangerzeugung erm glichten sind hier zu nennen Zu den neuen Talenten dieser technischen Entwicklung die in etwa Anfang 1980 beginnt z hlen unter anderem auch die Sampling und Sequencing F higkeiten neuer musiktechnischer Workstations die zun chst digital T ne berechnen um sie danach als analoge Signale ber Boxen und Kopfh rer h rbar auszugeben vgl HDM STUTTGART 2008 Zur klassischen Begabung der digitalen Synthesizer z hlt die Produktion v llig neuer T ne und Ger usche via Klangsynthese in verschiedenster Form auf die hier in diesem Rahmen nicht n her eingegangen werden kann Es sei die bekannteste dieser Varianten genannt die Frequenzmodulation bei der sich zwei oder mehrere Oszillatoren verschiedener Sinusschwingungen in Abh ngigkeit von einem bestimmten Algorithmus gegenseitig modulieren und dadurch komplexe und neuartige Klangfolgen entstehen Abbildung 3 1 zeigt den Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 15 in den 80er Jahren weit verbreiteten DX 7 Synthesizer der Firma Yamaha der in nahezu allen Popmusikproduktion dieser Zeit zu h ren ist vgl SEQUENZER DE 2011 Abb 3 1 Yamaha DX 7 Synthesizer Sequencing hingegen beschreibt urspr nglic
8. B else note E else if Y1 380 note C else note F berpr fen der Filtervariable ob Befehl k rzlich ausgel st worden ist if peak filter Y1 true MIDI Befehl senden mit soeben bestimmter Velocity und Tonh he synth PlayNote note veloc1 Filter Variable aktivieren peak_filter_Y1 false Feedback Variable auf true setzen feedback true Sample ausl sen mit Infrarot 2 f r weitere Kommentare siehe Sample ausl sen mit Infrarot 1 if A2_y gt A_y_Thres amp amp A_y_Max gt A2_y float velocity2 A2_y A_y_Thres 127 4 int veloc2 int velocity2 if veloc2 lt Velocity_min veloc2 Velocity_min if veloc2 gt 127 veloc2 127 if X2 lt 350 if Y2 lt 380 note A else note D else Kapitel 9 Anhang B Quelltext 83 if X2 lt 700 if Y2 380 note B else note E else if Y2 380 note C else note F if peak filter Y2 true synth PlayNote note veloc2 peak_filter_Y2 false feedback true Sample ausl sen mit Infrarot 3 f r weitere Kommentare siehe Sample ausl sen mit Infrarot 1 if A3_y gt A_y_Thres amp amp A_y_Max gt A3_y float velocity3 A3_y A_y_Thres 127 4 int veloc3 int velocity3 if veloc3 lt Velocity_min veloc3 Velocity_min if veloc3 gt 127 veloc3 127 if X3 lt 350 if Y3 lt 380 note A else no
9. Data Drawing Ling Text Windows Forms using Sanford Multimedia Midi using Sanford Multimedia namespace WindowsFormsApplicationi public partial class MidiOptions Form int outDeviceld int channelld 9 int programId internal MidiOptions InitializeComponent PopulateOutputDevices PopulateGMInstruments private void PopulateOutputDevices outputDeviceCombo Items Clear if OutputDevice DeviceCount gt 0 for int i 0 i lt OutputDevice DeviceCount i outputDeviceCombo Items Add OutputDevice GetDeviceCapabilities i name outputDeviceCombo SelectedIndex outDeviceld private void PopulateGMInstruments gmMidilnstrument Items Clear for int i 0 i 127 i gmMidilnstrument Items Add GeneralMidilnstrument i j j internal int OutDeviceId get return outDeviceld set outDeviceld value outputDeviceCombo SelectedIndex outDeviceld Kapitel 9 Anhang B Quelltext 96 internal int ChannelId get return channelld set channelld value midiChannel Value value 1 internal int ProgramId get return programId set programId value midiInstrument Value value 1 gmMidilnstrument SelectedIndex value private void outputDeviceCombo_SelectedIndexChanged object sender EventArgs e outDeviceId outputDeviceCombo SelectedIndex private void midiChannel ValueChang
10. Einsatzm glichkeiten der Gestensteuerung bei PC Anwendungen unter Verwendung von Beschleunigungs und Infrarotsensoren Darmstadt 2008 Gehlen Arnold Die Seele im technischen Zeitalter Sozialpsychologische Probleme in der industriellen Gesellschaft Rowohls deutsche Enzyklop die Hg Prof Ernesto Grassi Hamburg Rowohlt 1957 Grossmann Rolf Sechs Thesen zu musikalischen Interfaces Weltbilder Bildmedien Computergest tze Visionen Interface 2 Hg Klaus Peter Hamburg Dencker 1995 Harenberg Michael Virtuelle Instrumente zwischen Simulation und De Konstruktion Soundcultures ber elektronische und digitale Musik Hg Marcus S Kleiner Achim Szepanski Frankfurt am Main Suhrkamp 2003 Hassenzahl Marc Eckoldt Kai Thielsch T Meinald User Experience und Experience Design Konzepte und Herausforderungen Hg H Brau S Diefenbach M Hassenzahl K Kohler F Koller M Peissner K Petrovic M Thielsch D Ullrich D Zimmermann 2009 Hatscher Michael Joy of use Determinanten der Freude bei der Software Nutzung Mensch amp Computer 2001 1 Fach bergreifende Konferenz Hg H Oberquelle R Oppermann J Krause Stuttgart BG Teubner 2001 s445 446 Hubig Christoh Die Kunst des M glichen II Ethik als provisorische Moral Bielefeld Transcript 2007 Hubig Christoph und Jelden Eva Werkuege Maschinen und Systeme Leben in der Technik Funkkolleg Technik Weinheim Deutsches Inst
11. H cell Setup Mapping av Modulation Effects Master v Browser Name Key Range Volume Envelope Preset Cross Sticks C G5 G5 Learn une TOOL Prev Next MIDI Omni e Tow 50 0ms 300 0ms JW NI Sampler 13 9 dB Stretch DFD HQI standard 250 0 ms 36 0st 750 0ms SE Pitch Envelope h Master v Abb 4 9 Software Sampler Native Instruments Battery 3 Kapitel 4 Technische Grundlagen 35 nat rlich auch noch ein Sequenzing Programm wie z B eine Digital Audio Workstation verwendet werden das Battery 3 dann als Plug In ber die VST Schnittstelle einbindet siehe Kapitel 3 1 2 und die in der Lage ist die MIDI Daten aufzuzeichnen Im Internet finden sich dazu zahlreiche Angebote die entweder Demo Versionen von professionellen Audioversionen oder funktionstechnisch sehr eingeschr nkte DAWS darstellen Zu einer der Letztgenannten z hlt Mulab 3 das auf MUTOOLS COM 2011 als kostenfreier Download verf gbar ist Abbildung 4 10 zeigt das Programm das die geforderten Bedingungen erf llt indem es f hig ist virtuelle Instrumente als Plug Ins einzubinden und dar ber eingespielte MIDI Sequenzen aufzuzeichnen Wie die Benutzung der Musiksoftware im Einzelnen vor sich geht wird durch Kapitel 7 3 3 2 im Kontext der Anleitung des Gesamtprogramms erl utert Abb 4 10 Mutools Mulab 3 Auf der CD die der Bachelor Arbeit beiliegt befinden sich zur Installation auch die Setup Dateien beider Programme Kapitel 4 Technische Grun
12. HATSCHER 2001 gibt dazu folgende Definition Joy of Use ist das freudvoll genussreiche Erleben der Qualit t der Interaktion und der M glichkeiten die sich f r einen bestimmten Nutzer in einem bestimmten Kontext als Folge des berwiegend unauff lligen hervorragenden Funktionierens und aufgrund der den Nutzer sthetisch ansprechenden Gestaltung durch motivierten und den Zielen und Interessen des Nutzers entsprechenden Gebrauch der Software manifestiert Kapitel 2 Begriffe 13 Dies muss dabei nicht immer mit den Richtlinien von Gebrauchstauglichkeit im Einklang sein Auch komplexere Produkte die dem Anwender in einer positiven Art herausfordern ohne ihn gleichzeitig zu berfordern sind Ergebnis von Gestaltung hinsichtlich Joy of Use F r den Nutzer kann ebenfalls eine solche Auseinandersetzung die Freude am Gebrauch des Produkts darstellen Computerspiele etwa sind meist alleinig darauf ausgelegt dem Anwender eine Herausforderung zu bieten Im Allgemeinen stellt Joy of Use unter dem Begriff User Experience den wohl subjektivsten Teil des Nutzerempfindens dar Darum ist es auch problematisch hier eine feste Systematik zum Vorgehen beim Design nach derartigen Strategien festzulegen vgl HASSENZAHL 2009 Das vielleicht bekannteste Beispiel f r Joy of Use sind die Gebrauchsfunktionen des Multitouch Interfaces des IPhones oder IPads der Firma Apple siehe erneut Abbildung 2 4 Der Anwender kann sich durch Personalisierungen der m
13. da sich somit die Erdbeschleunigung in die verschiedenen Achsenrichtungen aufteilt und sich daraus wiederum die Winkel berechnen die eine Lage im Raum beschreiben vgl WIIBREW ORG Zeigt zum Beispiel die komplette Beschleunigung in negative Z Richtung so liegt die Wiimote mit der Knopfseite nach oben Weiterhin kann dieser Sensor nat rlich auch jede andere Form von Bewegungen mit einer Genauigkeit von 0 3g im Spektrum von 3g bis 3g die mit dem Wii Controller ausgef hrt werden erfassen und verarbeiten Roll Abb 4 2 Wiimote Bezugssystem Die Wiimote verf gt zus tzlich noch ber einen Positionssensor Dieser erfasst mit Hilfe einer Infrarotkamera die an der Spitze der Wiimote installiert ist bis zu vier Infrarotquellen und kann somit die relative Lage bestimmen Nat rlich kann die soeben beschriebene Kamera bei einer ruhenden Wiimote auch verwendet werden um Positionen Geschwindigkeiten und Beschleunigungen von sich beispielsweise im Raum bewegenden Infrarotdioden zu detektieren Auf diese M glichkeit der Signalerfassung und verarbeitung wird das zu entwickelnde System letztlich aufbauen und daher wird zu einem sp teren Zeitpunkt noch einmal genauer darauf eingegangen werden Neben den Beschleunigungssensoren bietet die Wiimote als Sensor zudem noch eine Infrarotkamera an ihrer Spitze die mit einer Aufl sung von 1024x768 Bildpunkten vier Infrarot IR Signale gleichzeitig erfassen kann vgl MULB ORG 2011 Damit ist Wii
14. ge Diese sind durch den Designer der Windows Forms Application bereits auf der Bedienoberfl che implementiert Um den Schriftz gen oder labels wie sie im Designer auch genannt werden allerdings immer die aktuellen string Variablen zugrunde zu legen m ssen diese immer wieder in einer st ndig durchlaufenen Methode wie UpdateWiimoteChanged berpr ft werden Dazu werden die Notenwert Variablen abgerufen anschlie end zu einer string Variablen konvertiert und schlie lich als Text des gew nschten Labels festgelegt Untenstehender Codeausschnitt zeigt ein Beispiel f r diesen Prozess das Feld A betrifft TextA Convert ToString A TextNoteA Text TextA Damit die endg ltige Zeichnung der IR Punkte erfolgen kann wird als letzer Schritt die daf r verantwortliche Methode UpdateIR aufgerufen Ihr werden zus tzlich zwei notwenige Variablen bergeben Zum einen mit ws IRState IRSensors die gesamten Statusinformationen des Infrarotsensors und zum anderen mit Color die definierte Farbe abh ngig davon welches der drei IR Signale ausgew hlt ist siehe Anhang B Seite 17 Kapitel 7 Softwareprogrammierung 63 private void UpdateIR IRSensor irSensor Color color Die Aufgabe dieser Methode besteht allein darin die IR Punkte einzuzeichnen Daf r sind ihr wie soeben bereits erw hnt die Daten des Infrarotsensors und die jeweilige Farbe als Variablen bergeben worden Mit Hilfe einer if Schleife wird ber die Bedingungssyntax irSensor
15. geachtet werden da die berechneten x Koordinatendifferenzen als Betrag vorliegen siehe Kapitel 7 32 42 zu Berechnungsmethoden Sind nun alle Bedingungen erf llt wird ber die Position des Infrarotpunktes der die Auswahlbewegung beschreibt die Methode ausgesucht die angew hlt wird und letztlich den Switch Befehl im richtigen Feld ausf hrt Zur Vermeidung einer Mehrfachausl sung wird dabei analog zur Methode der Sampleausl sung eine Timervariable peak filter X auf den Wert false gesetzt Im Gegensatz zur Methode zur Sampleausl sung wird aber nur eine Timervariable und daher nur ein Timer f r alle Switch Befehle ben tigt da immer nur maximal einer der Switch Befehle gleichzeitig ausgef hrt werden kann Au erdem ist das Timerintervall mit 800 Millisekunden auch etwas gro z giger bemessen da die Switch Bewegung nicht so schnell nacheinander ausgef hrt werden kann Erst nach diesen 0 8 Sekunden wird die Timervariable die durch eine if Schleife noch vor allen anderen Bedingungen berpr ft wird wieder auf true gesetzt und es kann eine erneute Eingabe des Switch Befehls erfolgen siehe Anhang B Seite 11 17 7 3 2 4 5 Wiimote GUI Zeichenmethoden In den drei derartigen Zeichenmethoden die ihre Grundlage ebenfalls auf dem wiimote Objekt bilden geht es um die Visualisierung der Bewegung der Infrarotsignale auf der GUI und dessen Umfeld Gestaltung public void UpdateState WiimoteChangedEventArgs args Wie bereits erw hnt wir
16. lt vgl SMUDITS 2008 Die vorgestellten neuen Instrumente wie Synthesizer Sampler und Sequenzer beschreiben nur die grundlegenden Neuerungen die mit der Digitalisierung eingef hrt wurden Zus tzlich wurden digitale Effektger te entwickelt um zum Beispiel durch Hall oder Echo R umlichkeit simulieren zu k nnen mittels Kompressoren die Dynamik zu bearbeiten oder mit Hilfe von Filtern und Equalizern das Frequenzspektrum zu manipulieren Diese Neuentstehungen gipfelten letztendlich in zahlreiche Mischformen dieser Techniken wie Workstations oder Drumcomputer so auch die TR Serien von Roland siehe Abbildungen 3 3 und 3 4 die neue Musikstile wie House Dance Rap Synthie Pop Techno und etliche mehr bis weit in die 90er Jahre hinein pr gten vgl STANGE ELBE 2008 SMUDITS 2008 behauptet im Hinblick auf die soeben kurz zusammengefasste in seinen Worten genannte digitale Mediamorphose sogar dass sich diese Transformaton noch zu Beginn des 21 Jahrhunderts in ihrer Anfangsphase befindet Roland M M Tri 905 AHYTHM COMPOSER or ee mm D 9 992060230000 2520 esse eT Eu u Hu Abb 3 3 Roland TR 808 Abb 3 4 Roland TR 909 1 2 Virtualisierung Die Virtualisierung kann durchaus als logische Folge der Digitalisierung angesehen werden So definiert STANGE ELBE 2008 das Virtuelle als die Eigenschaft eines Sachverhaltes der nicht in der Form existiert in der er zu wirken sc
17. r Einsteiger in die Welt des Softwareengineerings durchaus strukturierten und visuell anschaulichen Oberfl che der daraus resultierenden relativ leichten Handhabung uns ist zus tzlich noch auf die explizite Auslegung von GUI Erstellung spezialisiert Daher wird dieser Programmierschnittstelle auch f r die Interfacesoftware Wii Infrared MIDI verwendet Kapitel 7 Softwareprogrammierung 46 Diese kurze Erkl rung erscheint wom glich sehr abstrakt und undurchsichtig wird aber hoffentlich klarer wenn die Beschreibung des Programmcodes von Wii Infrared MIDI erfolgt Eine ausf hrlichere Darstellung und Erkl rung der allgemeinen Verwendung der Codestruktur f r C w rde aber definitiv den Rahmen dieser Arbeit sprengen Dazu wird auf GUNNERSON 2000 verwiesen 7 2 Managed Libraries Die enorme Relevanz dieser Libraries ist im vorigen Kapitel bereits angedeutet worden Das Wort Managed beschreibt im Endeffekt nur das Basieren der Verzeichnisse auf dem NET Framework sodass Visual Studio diese verarbeiten kann Neben der bis jetzt schon des fteren benannten WiimoteLib von PEEK 2009 die im Rahmen des CodePlex Open Source Porject auf CODEPLEX COM 2011 heruntergeladen werden kann wird zus tzlich noch das C MIDI Toolkit von SANFORD 2007 verwendet das ebenfalls kostenlos bezogen werden kann wodurch es in Visual Studio m glich wird alle n tigen MIDI Befehle zu programmieren In der WiimoteLib wird dem Konzept entsprechend vor all
18. rlich auch die Bearbeitung von Audio Material m glich Eine der bekannteste aber bei weitem nicht die einzige DAW Logic Studio 9 zeigt Abbildung 3 7 Hier ist im oberen Bereich das Arrangierfenster mit den einzelnen Spuren zu sehen und im unteren Teil das zugeh rige Mischpult vgl MAIER 2008 0 i p m gom ei m EE s A 9 m gj e ao nnna eeben settings is Global Tracks Auto Zoom AstomaHon Hex i Setlocaors Repeat Section SplitbyPiyhead Crop Streich to Locators Group Clutch Grou AQA Nudge Value Bounce Regions Bounce Colors Notes Media 2 1 42 E MB Ens v ra v Region v OMEDE v Aedie v View v zm Smari i Drag Ovanlap 3 a Audio 7 CR is Chost Town H f Ms SNARE 2 DR1020 DR1114 SYNTHHOO SYNTH HOO n m 15 16 GC Lol br WERE SERGE e jme 00888000 m Abb 3 7 Digital Audio Workstation Logic Studio 9 Zusammenfassend l sst sich hier bemerken dass der Personal Computer in den Mittelpunkt des Geschehens der Musikproduktion r ckt und als universelles Produktionsmittel fungiert Er vereint in virtueller Form bis auf die Tonausgabe f r die eventuell gesonderte Lautsprecher angeschlossen werden m ssen alle notwendigen Funktionen durch verschiedenste Arten von Programmen Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 19 3 13 Auswirkungen von Digitalisierung und Virtualisierung Aus der soeben benannten Tatsache h
19. wird sie nach unten bewegt so wandern die IR Punkte aus Kamera Sicht nach oben Um dies zu kompensieren ist der Wiimote im Bezug auf die Erkennung von Infrarotsignalen sozusagen direkt ein in x Richtung gespiegeltes Koordinatensystem eingesetzt worden Abbildung 7 5 zeigt dieses Bezugssystem in der Frontansicht der Kamera Abb 7 5 Infrarotkamera Bezugssystem Abb 7 6 gedrehtes Bezugssystem Jegliche horizontale Bewegung von IR Punkten w rde die Wiimote seitenverkehrt aufnehmen Um dem ganzen entgegenzuwirken kann eine programmtechnische Umrechnung der Koordinaten erfolgen oder wie bei der Wii Infrared MIDI Anwendung die Wiimote einfach auf der Knopfleiste platziert werden siehe Abbildung 7 6 Insgesamt werden dadurch die IR Punkte ihrer realen Bewegung entsprechend in der Software abgebildet es muss Jedoch bedacht werden dass die positive y Achse in die Richtung vertikal nach unten zeigt und damit beispielsweise eine IR Bewegung nach unten eine positive Geschwindigkeit bez glich der y Achse aufweist Nach diesen Erl uterungen folgt nun zun chst eine Zusammenfassung der verschiedenen Methoden Kapitel 7 Softwareprogrammierung 52 1 3 2 3 bersicht der Methoden Wie vielleicht bis jetzt in der Ausf hrung zur Softwareimplementierung schon zu erkennen ist bilden die Methoden in denen im Endeffekt alle Operationen ausgef hrt werden das Herzst ck der Anwendung Daher erscheint es sinnvoll zun chst kurz ein Res mee dieser Method
20. 2 amp 3 berpr fen ob Bet tigungs IR Signale Mindestgeschwindigkeit in POSITIVE x Richtung besitzen Switch Befehl zuf llig ausgel st wird Bet tigungs IR Signale hnliche x Koordinaten besitzen Auswahl IR Signal sich im Arbeitsfeld befindet if V2 x gt V x Thres plus amp amp V3 x gt V x Thres plus amp amp V2 x V x Max amp amp V3 x V x Max amp amp X Gap23 X Gap Max amp amp X1 1023 Auswahl des richtigen Feldes ber Positionsdaten des Auswahl IR Signals und Aufruf der passenden Methode inklusive Filter Variable auf False setzen und Filter Timer starten if X1 350 if Y1 lt 380 1 A Switch fwd peak filter X false timer4 Start else D_Switch_fwd peak filter X false timer4 Start else if X1 lt 700 if Y1 lt 380 B_Switch_fwd Anhang B Quelltext 85 peak_filter_X false timer4 Start else E_Switch_fwd peak filter X false timer4 Start else if Y1 lt 380 T C Switch fwd peak filter X false timer4 Start else F_Switch_fwd peak filter X false timer4 Start Ausl sen des Switch Forward Befehls mit IR 1 amp 3 f r weitere Kommentare siehe Ausl sen des Switch Forward Befehls mit IR 2 amp 3 if V1 x gt V x Thres plus amp amp V3 x gt V x Thres plus amp amp V1 x lt V x Max amp amp V
21. 3 2 User Experience und Joy of Use Eine gro e Rolle bei der Entwicklung des Interfaces spielt auch der Begriff User Experience zu Deutsch Nutzer oder Nutzungserlebnis Dies soll all die Erfahrungen beschreiben die der Anwender mit einem Produkt erlebt und ist daher auch immer mit einer subjektiven Erfahrung des Einzelnen verbunden die auch als Joy of Use verstanden wird Mit der Aussage You cannot NOT have a user experience zeigt Lou Carbone dass Erfahrung durch Anwender prinzipiell immer stattfindet Ziel einer Gestaltung nach derartigem Verst ndnis ist die Kreation eines ganzen Erlebnisses mit einem bestimmten Produkt und vor allem auch die Erf llung der Erwartungen des Anwenders an das Produkt Nat rlich ist es hier von Vorteil diese zu kennen bzw herauszufinden bevor der Entwicklungsprozess eines Interfaces beginnt Insgesamt vereinen sich unter User Experience neben den Prinzipien von Usability aus Kapitel 2 2 die dem Nutzer zusammenfassend ein effizientes effektives und zufriedenstellendes Arbeiten erm glichen sollen auch zus tzlich noch der angesprochene Begriffe Joy of Use und nach Abbildung 2 5 auch der Look also das u erliche Erscheinungsbild das den Konsumenten ansprechen soll vgl STAPELKAMP 2010 S EXPE Ditt d LOOK FEEL Glaubw rdigkeit JOY OF USE Vertrauen Interaktion Harmonie Reaktion Stimmung USABILITY Funktionalit t Intuitivit t Berechenbarkeit Abb 2 5 User Experience
22. Bewegungen gut kontrolliert werden k nnen wie etwa Handschuhe mit eingearbeiteten LEDs Durch eine schnelle Bewegung nach unten erfolgt nun die Bet tigung eines MIDI Befehls dessen Velocity Wert von der Intensit t der Dynamik abh ngt Es kann aber ein Mindestwert dieser Velocity an dem in der Abbildung 7 8 gelb eingekreiste Regler erfolgen Sobald die Bewegung erfolgreich ausgef hrt wird leuchtet das bet tigte Feld kurz gr n auf Zus tzlich kann die Sensibilit t des Systems hinsichtlich der Infrarotbewegungen durch den blau markierten Sensitivity Faktor angepasst werden damit die Nutzung des Systems in verschiedenen Entfernungen der IR Signale von der Wiimote gew hrleistet ist F r einen Sensitivity Faktor von Null ist etwa ein Meter die optimale Entfernung Von kleineren Distanzen zwischen der IR Bewegung und der Wiimote wird abgeraten Die L nge der gesendeten MIDI Note ist allerdings nicht steuerbar Dieser ist vorgegeben und immer von kurzer Dauer Daher bietet es sich auch an das Interface f r virtuelle Musiksoftware an die mit Samples arbeitet da diese im Gegensatz zu beispielsweise virtuellen Klavier und Streicher Instrumente die auf das Halten von Noten und Akkorden angewiesen sind auch bei kurzen Befehlen ausgel st und komplett abgespielt werden Je nachdem in welchem der Felder die Bewegung ausgef hrt wird sendet das Interface einen anderen MIDI Notenwert In den einzelnen Rechtecken wird dieser Wert in der
23. Erstellen des Instruments sind im Vergleich zur Reaktor Software siehe Kapitel 3 1 2 keine getrennten Vorg nge mehr Gleichzeitig gibt der Reactable visuelles Feedback das infolge der Aktion erzeugt wird Trotz der insgesamt komplexen Technik ist die Handhabung intuitiv spielerisch und leicht erlernbar Physische Objekte Visualisierung Klang und Aktion des Anwenders stehen in unmittelbarer Relation zueinander vgl JORDA 2005 Im Gegensatz zu dem in diesem Kapitel zuerst vorgestellten Standard Controllern soll an diesem Beispiel deutlich werden wie der Zugang zu simulationsbedingter Musikerzeugung erweitert werden kann Unter Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 27 REACTABLE COM TUTORIALS 2011 finden sich diverse sehr eindrucksvolle den Reactable erkl rende Videos Einen Nachteil stellt wom glich der Preis dieses Interaktionsger ts mit rund 10000 Dollar dar Doch daf r wird mittlerweile eine Reactable Mobile App angeboten die alle Funktionen des Reactables auch auf dem iPad oder iPhone Touchscreen ausf hrt Abb 3 15 Der Reactable Die Bandbreite wie auch die Unterschiede der verschiedenen Eingabeger te sind ziemlich betr chtlich Der Markt hierf r w chst aufgrund der steigenden Nachfrage durch den anhaltenden Prozess der Demokratisierung kontinuierlich Allerdings werden vor allem genau die in den ersten Beispielen gezeigten Interfaces die eher auf Universalit t ausgerichtet si
24. Found zun chst berpr ft ob ein jeweiliges Infrarotsignal berhaupt vorhanden ist Bei positiver Resonanz diesbez glich wird die FillRectangle Methode der Graphics Klasse g ausgef hrt die mit den ihr zur Verf gung gestellten Parametern der Koordinatenposition sowie den Werten zu Ausma en ein ausgef lltes Rechteck zeichnet Dabei werden H he und Breite jeweils als 4 Bildpunkte definiert die Koordinaten entsprechen den x und y Positionen der IR Signale die mit dem Faktor 9 16 multipliziert werden damit die Infrarotkameraaufl sung von 1024 zu 768 Pixel auf das Ausma des als Zeichenoberfl che verwendeten Bitmaps von 576 zu 432 Bildpunkten skaliert wird um entsprechend abgebildet werden zu k nnen siehe Anhang B Seite 18 7 3 2 4 6 Timer Methoden void timeri Tick object sender EventArgs e Die Funktion der vier Timer Methoden beschr nkt sich darauf eine entsprechende Timer Variable auf den boolschen true Wert zu setzen siehe Anhang B Seite 18 Sie sind entweder Teil der Funktion dem Doppeltausl sen eines Samples oder Switch Befehls entgegenzuwirken welche bereits im Kapitel Wiimote Gestenerkennungsmethoden 7 3 24 4 ausf hrlich erkl rt wurde oder beenden das Aufleuchten eines Feldes im Zusammenhang mit dem visuellen Feedback siehe Kapitel 7 3 24 3 In beiden F llen ist die Darlegung der Funktion bereits hinreichend beschrieben Es sei noch darauf hingewiesen dass alle Timer Variablen und deren Intervalle in der
25. Gamepads aufwachsen und darum h ufig verwendete Gesten Symbole oder Kombinationen und Abl ufe die beim Videospiel notwendig sind von selbst erkennen und verwenden k nnen Prinzipiell besteht der Wii Controller aus zwei Teilen Der Hauptteil der Steuerungseinheit im Folgenden nur noch als Wiimote bezeichnet und die daran anschlie bare sogenannte Nunchuk Erweiterung siehe Abbildung 4 1 Abb 4 1 Wiimote und Nunchuck Neben den blichen Eingabem glichkeiten ber Kn pfen und Analogsticks verf gt die Wiimote ebenfalls ber eine v llig neue Art der Eingabe ber zwei unterschiedliche Sensortechniken Wer in seiner Freizeit bereits einmal die Wii Spielekonsole benutzt hat stellt fest dass bei vielen der Videospiele die Steuerung durch Sch tteln des Controllers oder einer hnlichen Schlagbewegung erfolgt wie beispielsweise bei Nintendo Kapitel 4 Technische Grundlagen 29 Wii Sports Resort in der Disziplin Golf Zudem kann bereits die Haltung des Controllers Auswirkungen auf manches Videospiel zeigen und somit als Eingabe dienen Daf r sind die linearen Beschleunigungssensoren der beiden Kontrolleinheiten zust ndig die die jeweils auf die Wiimote und den Nunchuck wirkende Beschleunigung auf drei Achsen eines in die Fernbedienungen projizierten festen Koordinatensystems transformiert das in Abbildung 4 2 verdeutlicht ist Durch diese Transformation der Beschleunigung kann die Lage der ruhenden Wii Remote genau bestimmt werden
26. Geste die Bet tigungsfunktion ausgel st wird ist der Switch Befehl etwas komplexer und ben tigt alle drei LEDs Mit der linken Hand an der nur eine Infrarotquelle IR 1 sitzt wird durch die sogenannte Auswahlbewegung auf das Feld gezeigt in dem das Sample gewechselt werden soll Die anderen zwei IR Signale IR 1 und IR 2 die an der rechten Hand befestigt sind m ssen gleichzeitig und untereinander also mit hnlicher x Koordinate eine schnelle horizontale Bewegung die Ausl sebewegung ausf hren die aber in keinem Bestimmten der Felder sonder nur im Aufnahmebereich der Kamera stattfinden muss Geht diese Bewegung in negative Richtung der x Achse so wird der MIDI Befehl der Tonh he einem Halbton entsprechend nach unten korrigiert und die gesamte Anweisung als Switch Back Befehl bezeichnet bei der Bewegung parallel zur positiven x Achsenrichtung erfolgt die Korrektur dementsprechend nach oben und wird mit dem Namen Switch Forward Befehl versehen Abbildung 5 5 zeigt eine Art den Switch Back Befehl im linken oberen Bereich auszuf hren Kapitel 5 Konzeption 40 Abb 5 5 Switch Back Befehl Mehr als diese beiden Funktionen die jedoch die wichtigsten Grundprinzipien eines Hardware Samplers oder eines Softwaresampler Controllers darstellen soll das zu entwickelnde Interface zun chst nicht erf llen Daf r verf gt es aber indem es nur ber die Bewegung der Finger mittels LED Handschuhe bedient werden kann ber eine sehr in
27. Klasse MidiOptions implementierten Methoden komplett aus der Wii Drum Synth Anwendung bernommen Es k nnen damit Output Device MIDI Programm Channel und MIDI Instrument gew hlt werden Letztere beiden sind aber f r den eigentlichen Gebrauch irrelevant In der Einstellung den Punkt Output Device betreffende kann der MIDI Treiber bzw das Verbindungselement ausgew hlt werden das letztlich die MIDI Befehle dem Softwareinstrument weiterleitet F r Windows PCs ist hierbei grunds tzlich der dem Computer eingebaute GS Microsoft Wavetable Synthesizer ausgew hlt der prinzipiell auch als Klangerzeuger dienen kann Sind jedoch andere MIDI Treiber angeschlossen k nnen diese gew hlt werden Output Device LoopBe Intemal MIDI Midi Channel Midi Instrument GM Midi Instrument Glockenspiel Abb 7 4 Wii Infrared MIDI Optionsmen Im weiteren Verlauf wird nun explizit auf die Umsetzung der Funktionen in der Implementierung eingegangen Kapitel 7 Softwareprogrammierung 49 7 3 2 Softwareimplementierung Bevor nun die einzelnen Methoden detailliert vorgestellt werden wird noch kurz auf wichtige in Wii Infrared MIDI eingesetzte C Syntax eingegangen und ein kleiner berblick ber das Gesamtprogramm gegeben um den Sinn der einzelnen Methoden sp ter im Gesamtkontext richtig einordnen zu k nnen Es muss an dieser Stelle erw hnt werden dass in diesem Kapitel nur Ausschnitte aus der Codestruktur gezeigt werden um
28. Maximum von 127 der eben erw hnten MIDI Velocity Skala nicht berschreitet Hieran erfolgt durch die Positionsdaten der Wiimote die Zuordnung der Ausl sungsbewegung zu einem der sechs Felder mittels geschachtelter if Schleifen die bestimmen welcher der Notenparameter A bis F ausgew hlt wird Jetzt erst wird der MIDI Befehl mit Hilfe des zu Anfang erstellten synth Objekts durch den Befehl PlayNote note veloc gesendet In der note Variablen ist dabei die Notenwertinformation eines der sechs Felder gespeichert und der veloc Parameter bestimmt die ausgehende Velocity Die L nge der MIDI Note kann allerdings nicht beeinflusst werden Es wird immer nur ein kurzer MIDI Befehl gesendet der das Gesamtsystem wie in Kapitel 5 schon angedeutet wird eher f r Samples qualifiziert die auch dabei komplett abgespielt werden im Gegensatz zu virtuellen Instrumente wie etwa Streicher oder Klaviere bei denen es ebenfalls aufdas Halten einer oder mehrerer Noten ankommt Durch die verwendete Methode der Gestenerkennung tritt jedoch der Fehler auf dass das gew nschte Sample gleich diverse Male hintereinander ausgel st wird da die Wiimote bei einer Datentransferfrequenz von 100Hz sehr viele Statusinformationen sendet und darum der Schwellenwert zur Mindestbeschleunigung gleich mehrere Male berschritten wird Um dieses Problem zu l sen ist die Funktion eingebaut dass sobald ein MIDI Befehl durch das synth Objekt gesendet wird eine Timer Varia
29. Methode Form Load definiert wurden 7 3 2 4 7 GUI Methoden Unter diesem Begriff werden alle Arten von Methoden verstanden die ausgef hrt werden nachdem eine Eingabe ber die Benutzeroberfl che vor allem mit Maus und Tastatur get tigt wird Sie repr sentieren Funktionen die durch diverse Schaltelemente des GUI ausgel st werden k nnen F r die weiteren Erkl rungen wird nochmals auf die Abbildungen 6 5 und 6 6 auf den Seiten 48 und 49 hingewiesen die die gesamte Form der Software Bedienoberfl che repr sentieren rivate void mIDISetupToolStripMenultem Click object sender EventArgs e Durch klicken auf den Punkt MIDI Setup im Optionsmen in der Men leiste am oberen Ende der GUI ffnet sich das MidiOptions Fenster das mit der Klasse MidiOptions verkn pft ist und das wie bereits erw hnt von Wii Drum Synth bernommen wurde Darum ist der Quelltext von MidiOptions zwar dem Kapitel 7 Softwareprogrammierung 64 Anhang B auf den Seiten 22 24 beigef gt es wird darauf aber nicht n her eingegangen F r das Verst ndnis der Funktion des Optionsmen s ist die folgende Betrachtung ausreichend Zu Anfang wird eine neue Instanz options aus der Midioptions Klasse gebildet um auf deren Objekte zugreifen zu k nnen Danach werden die MIDI Eigenschaften festgelegt Im MIDI Standard k nnen f r die Sendung der Daten verschiedene Kan le Channels und Programme bzw Instrumente festgelegt werden Bei der Nutzung von MIDI Befeh
30. Remote in der Lage ihre Position in Bezug auf diese Infrarotpunkte zu berechnen Normalerweise wird die Sensorik an der Spielekonsole benutzt um mittels der Fernbedienung eine der Maus auf dem PC hnliche Zeiger Funktion auf dem Bildschirm zu gew hrleisten um damit zu navigieren und auszuw hlen Falls die Wiimote in einer Ruhelage platziert wird kann diese Sensorfunktion auch zur Detektion von im Raum vor der Kamera positionierten oder bewegten Kapitel 4 Technische Grundlagen 30 Infrarotquellen genutzt werden LEE 2011 stellt auf seiner Internetseite verschiedene Anwendungen vor die auf dieser Idee basieren darunter beispielsweise auch ein Programm mit dem eine kosteng nstige Version eines Whiteboards hergestellt werden kann Prinzipiell k nnen damit mit Hilfe einer programmierten Gestenerkennung bestimmte Bewegungen identifiziert werden Mit Hilfe des Bluetooth Protokolls kann die Wiimote nicht nur mit der Wii Konsole kommunizieren sondern l sst sich auch an jeden beliebigen Personal Computer als Human Interface Device kurz HID hnlich wie andere PC Peripherieger te anschlie en Alle Sensordaten werden mit bis zu 100 Hz bertragen und k nnen damit auf dem Computer in Echtzeit verwendet werden vgl FRANZ UND SCHADER 2008 Welche dieser Daten und wie diese im Endeffekt verwendet werden zeigt sp ter Kapitel 7 3 das die Softwarearchitektur zeigt Um ber die verschiedenen Sensor und Kommunikationstechniken einen berblic
31. bedeutsamste Maschine in fast allen Zweigen der heutigen Gesellschaftsform Auch in der Musik und vor allem in der Musikproduktion nimmt dessen Bedeutsamkeit immer weiter zu Today Computers are ubiquitous in music There is almost no recorded music that does not involve the use of a computer somehow or other and the ever decreasing cost of the technology means that a bona fide home computer music studio is within the means of any erstwhile member of the middle class of the western world OSTERTAG 1996 Es ist mittlerweile also die absolute Ausnahme dass ein produziertes Musikst ck ohne den Einsatz von Computern auskommt sei es die Aufnahme von Tonmaterial deren Bearbeitung Mischung oder gar das eigentliche Instrumentenspiel in jedweder Form das am PC mit den modernen Mitteln der Soft und Hardwaretechnik bewerkstelligt werden kann Das mag vor allem dem klassischen Instrumentalisten seltsam vorkommen da jedes bliche Instrument ein individuelles mechanisch anzuregendes Eingabemedium besitzt dass vom Musikvirtuosen in der richtigen Form und in einer bestimmten zeitlichen Folge mit einer jeweiligen Art Impuls bet tigt werden muss Dies beschreibt beispielsweise die Seiten die bei der Geige mit einem Bogen bei der Gitarre mit den H nden oder beim Klavier mittels der Hammermechanik ber die Tasten in Schwingung versetzt werden oder kann die Variation des Luftdrucks sein die bei den meisten Blechblasinstrumenten durch den Mund bewe
32. den drei Abbildungen 5 1 bis 5 3 sind verschiedene Arten von Samplern zu erkennen Zum einen zeigt 5 2 mit dem MPC 1000 der Firma Akai einen kompletten Hardware Sampler und Nachfahren des in Kapitel 3 1 1 vorgestellten MPC 60 Desweiteren sind in 5 1 und 5 3 die reine Sampler Software Battery 3 und ein Controller f r derartige Programme die sogenannte Maschine beide von Native Instruments zu sehen Die Gemeinsamkeit dieser Produkte sind die quadratischen Pads auf ihrer Oberfl che die mit verschiedenen Samples belegt sind welche sich durch eine Druckber hrung der Pads abspielen lassen Vor allem f r die deswegen meist verwendeten Drum und Percussion Sounds eignet sich diese Technik hervorragend um im Rhythmus des Musikst cks verschiedene Samples einzuspielen Aus diesem Grund wird auch dem hier vorgestellten Interface genau dieses Funktionsprinzip in hnlicher Weise zugrunde liegen Hierzu soll das Fenster in dem die Wiimote Infrarotsignale wahrnehmen kann in rechteckige ann hernd gleichgro e Fl chen unterteilt werden dem dann jeweils andere Samples wie bei den gezeigten Beispielen zugeordnet werden Die Bet tigung der Sounds soll durch ruckartige schnelle vertikale Bewegung in den beschriebenen Feldern erfolgen Nach eigenen Messungen kann die Infrarotkamera Signale in einem Winkel von ungef hr 40 Grad in horizontaler Richtung und 30 Grad in vertikaler Richtung wahrnehmen siehe Abb 5 4 Demnach stellt bei einem Abstand der Infrarotqu
33. ea IE 67 E TE e EE 70 Qio EH nee engere 71 9 1 Anhang A Datenblatt Kingbrieht Infrarot Leuchtdiede un nee aeenensesae ana 71 99 e Anhang BEI et zs aote EE 74 9 9 1 Eleng bereet IRE tete bre d atit addat inedite de NOR AREE 74 9 99 QlassMidiOptonss usse ite tene de ptg themate nenn 96 A bI UHSSVETZ GICHTHS coss id a ee E tcd redeo Da tdi o RUPTA et Muss ee 98 rt DIE eieiei ees deet 100 Literaturverzeichnis tits tttsss ttan btts tbt ss toss tet antenn tenanton senen sss enn ns enesenn nnee 101 Inhaltsverzeichnis V 1 Einleitung Mit der Bezeichnung Ubiquitous Computing pr gte WEISER 1991 in seinem Aufsatz The Computer for the 21st Century einen Begriff dessen Sachverhalt und Folgen f r uns heutzutage im Alltag v llig selbstverst ndlich erscheint die Allgegenw rtigkeit der computerbasierten Informationsverarbeitung Laut DE STATISTA COM 2011 verwenden 60 Prozent aller Besch ftigten in Deutschland einen Personal Computer am Arbeitsplatz Mit einem Blick auf die private Nutzung des PCs wird diese Omnipr senz sogar noch deutlicher Der Prozentsatz der deutschen Haushalte die einen Computer besitzen liegt bei 82 Prozent vgl BITKOM ORG 2011 In beiden F llen ist dar ber hinaus auch noch eine steigende Tendenz zu vermerken Der PC dem 1943 der damalige IBM Chef Thomas J Watson ein hnliches Erfolgspotential versprach wie Kaiser Wilhelm II dem Auto ist wahrscheinlich die momentan
34. noch aus dem eigentlichen Interface Im Falle eines Laptops oder Handys ist die Oberfl che alleinig mit Bedienelementen oder Ausgabebildschirmen ausgestattet Bei Touchscreen Interfacel sungen wird sogar dieselbe Fl che als Ein und Ausgabemedium verwendet Kapitel 2 Begriffe 10 2 3 3 Interfacedesign Verantwortlich f r das Entwerfen dieser Medien ist dabei das sogenannte Interfacedesign Unter diesen Begriff versteckt sich jedoch viel mehr als nur die Gestaltung von Oberfl chen um Interaktion zu erm glichen In vielen Firmen gibt es eigene Abteilungen die sich mit diesem Aufgabenfeld befassen da die Gestaltung der Schnittstellen einen immer gr eren Stellenwert f r sich beansprucht nicht zuletzt da viele technische Konsumprodukte auch immer kleiner werden Als Vorzeigebeispiel dient hier etwa die neue Spezies der Tablet PCs die eine Mischung aus Laptop und Handy darstellen Abbildung 24 zeigt das IPad 2 ein Beispiel dieser Technikspezies der Firma Apple Es wird bei der Konzeption von Schnittstellen zus tzlich noch unterteilt zwischen dem Interactiondesign das sich mehr auf das Verhalten im Nutzungskontext des Interfaces konzentriert und dem eigentlichen Interfacedesign das eher die Gestaltung und Form des Objekts betrifft Da die beiden Sparten sich jedoch kaum mehr trennen lassen werden beide Themen oft unter dem Begriff Interfacedesign zusammengefasst zu dem auch Software und Websitedesign z hlen vgl STAPELKAMP 2010
35. soll der Beschleunigungswert angepasst werden k nnen falls der Anwender die IR Bewegungen in verschiedenen Entfernungen von der Wiimote und somit der IR Kamera ausf hrt um auch in diesem Fall die berschreitung des festgelegten Schwellenwerts Kapitel 7 Softwareprogrammierung 57 zur Ausl sung der Samples siehe Kapitel 7 3 2 4 4 zu gew hrleisten Eine Alternative dazu w re nat rlich die Variation des Schwellenwerts anh ngig vom Sensitivity Faktor gewesen Eine Kalibrierung des Systems auf einen festen Mindestwert hat sich jedoch als g nstiger erwiesen Um die Bet tigung der Samples durch vertikal nach oben gerichtete Bewegungen auszuschlie en wird der Beschleunigungswert falls dieser selbst oder die Geschwindigkeitskomponente der IR Punkts negativ sind siehe Kapitel 7 32 2 zum Koordinatensystem gleich null gesetzt Als letzter Programmschritt wird hier entsprechend den Geschwindigkeitsberechnungen der alte Wert der Geschwindigkeit mit dem neuen berschrieben um die Berechnungen ber den Differenzenquotient zu erm glichen Die Methoden berechne_A2_y und berechne_A3_y sind gleich aufgebaut private void berechne X Gap12 Als letzte der Berechnungsmethoden folgt hier die mathematische Formulierung zur Abstandsberechnung zwischen den einzelnen x Koordinaten der Infrarotsignale siehe Anhang B Seite 6 Hier werden zun chst wieder die erforderlichen Positionsdaten ber das wiimote Objekt als fLoat Variable abgerufen anschli
36. technischem System von besonderer Bedeutung Diese Schnittstelle oder eben auch Interface wie es im englischen genannt wird beschreibt den Punkt an dem der Austausch von Information der beiden Partizipierenden stattfindet Kann diese bei Systemen transklassischer Technik jedoch nicht mehr eindeutig definiert und wahrgenommen werden so verschwindet die F higkeit sich dazu in Bezug zu setzen was Grundvoraussetzung daf r ist den technischen Fortschritt immer wieder zu berdenken LUHMANN spricht in diesem Fall auch von fehlender Medialit t an dessen Widerstand die Herausbildung von Kompetenz stattfinden kann Nach HUBIG geht damit sogar die M glichkeit des Abduzierens also der Bildung von Hypothesen aufgrund von kenntniserweiternden logischen Schl ssen verloren auf die jedoch wissenschaftliches Arbeiten aufbaut Es fehlt eine Herausbildung von Erfahrung die als Differenz zwischen vorgestelltem und realisiertem Zweck eine groDe Rolle spielt Exempel solcher Technikauspr gungen sind etwa die Nanotechnologie oder die rechnerunterst tzte Informations und Datenverarbeitung Angef hrt werden k nnen hier spezielle Beispiele sogenannter Biofakte Kapitel 2 Begriffe 9 wie die von Donna Haraway beschriebene Krebsmaus die zum einen Labortier ist und durch die Einpflanzung eines menschlichen Krebsgens die Natur des Menschen vertritt zum anderen aber auch gleichzeitig technische Z ge als reproduzierbares Patent besitzt vgl NORDMANN hnli
37. werden Dazu wiederum ist ein Compiler von N ten der die Universalsprache CIL f r den Prozessor bersetzt In der NET Softwareplattform handelt es sich dabei um die Laufzeitumgebung Common Language Runtime CLR Die gesamte Systematik wird in Abbildung 7 1 dargestellt Die Flexibilitit bez glich der Plattform kommt nun daher dass die CIL mit dem passenden Compiler auch f r andere Zielsysteme wie Mac OS X Linux und weitere bersetzt werden kann vgl K HNEL 2010 Zus tzlich zu diesem Vorteil ist zu erw hnen dass Visual Studio Express Produkte kostenfrei auf der zugeh rigen Website zu beziehen sind und auch ohne Einschr nkungen auch f r kommerzielle Projekte verwendet werden k nnen Dar ber hinaus und dabei handelt es sich um einen der Gr nde warum die Wiimote berhaupt als Eingabemedium ausgesucht wurde sind f r C bereits sogenannte Managed Libraries siehe n chstes Kapitel vorhanden mit dessen Einbeziehung es berhaupt erst m glich wird direkt auf die ben tigten Parameter der Wiimote zuzugreifen Im weiteren Verlauf dieses Kapitels soll nun noch in sehr kompakter Form auf den prinzipiellen Aufbau der Codestruktur eingegangen werden um damit die Kapitel 7 Softwareprogrammierung 44 Vorstellung des eigentlichen Programmcode in Kapitel 7 32 4 m glicherweise besser nachvollziehen zu k nnen Sprachen in denen der Programmierer die Software schreibt Universalsprache Common Intermediate Language die das Progr
38. 3 x lt V x Max amp amp X Gap13 lt X Gap Max amp amp X2 lt 1023 if X2 350 if Y2 380 A Switch fwd peak filter X false timer4 Start else D_Switch_fwd peak_filter_X false timer4 Start else if X2 lt 700 if Y2 380 B Switch fwd peak filter X false timer4 Start else E_Switch_fwd peak_filter_X false timer4 Start else if Y2 380 C Switch fwd peak filter X false timer4 Start Kapitel 9 Anhang B Quelltext 86 else F_Switch_fwd peak filter X false timer4 Start Ausl sen des Switch Forward Befehls mit IR 1 amp 2 f r weitere Kommentare siehe Ausl sen des Switch Forward Befehls mit IR 2 amp 3 if V1 x gt V x Thres plus amp amp V2 x gt V x Thres plus amp amp V1 x V x Max amp amp V2 x V x Max amp amp X Gap12 lt X Gap Max amp amp X3 lt 1023 if X3 350 if Y3 380 A Switch fwd peak filter X false timer4 Start else D_Switch_fwd peak_filter_X false timer4 Start else if X3 lt 700 if Y3 380 1 B Switch fwd peak filter X false timer4 Start else E_Switch_fwd peak_filter X false timer4 Start else if Y3 380 C Switch fwd peak filter X false timer4 Start else F_Switch_fwd peak_filter X false timer4 Start
39. 9 Abb 7 5 Infrar tkamera Bezusssysten a a iaai a 52 Abb gt 7 6 gedrehtes Bzusssysttn eu 52 Abb 7 7 Benennung der Kleeserchersdag 58 Abb 7 8 Wii Infrared GUI mit Veranschaufiohungen seed etit tbe D loved ut bon bibet durat nid 69 Abb 8 1 Visualisierung der Kinect Raumdaten iet nn 70 Abbildungsverzeichnis 99 Abk rzungsverzeichnis CIL CLR GUI IR LED MIDI MPC Common Intermediate Language Common Language Runtime Graphical User Interface Infrarot Leuchtdiode Musical Instrument Digital Interface Midi Production Center Abk rzungsverzeichnis Literaturverzeichnis Bruder Ralph Schlick Christopher und Luczak Holger Arbeitswissenschaft Heidelberg Springer 2010 Chadabe Joel Electric Sound The Past and Promise of Electronic Music New York Prentice Hall 1997 Claussen Jan Torge Interfacing Audio Das Mensch Maschine Verh ltnis in der digitalen Musikproduktion L neburg 2006 DIN EN ISO 9241 110 Ergonomie der Mensch System Interaktion Grunds tze der Dialoggestaltung Berlin Beuth 2010 DUDEN Das Fremdw rterbuch 9 Auflage Mannheim Dudenredaktion 2007 Engh Marcel Artist amp Repertoire A amp R Eine markentheoretische Betrachtung Musikrezeption Musikdistribution und Musikproduktion Der Wandel des Wertsch pfungsnetz werks in der Musikwirtschaft Hg Gerhard Gensch Eva Maria St ckler Peter Tschmuck Wiesbaden Gabler 2008 Franz Benjamin und Schader Nils
40. Abb 7 8 gr n gekennzeichnet angezeigt Mit dem so genannten Switch Befehl k nnen diese Notenwerte gewechselt werden Dazu muss ein Infrarotpunkt mit einer Auswahlbewegung auf das zu wechselnde Feld zeigen w hrend die anderen beiden egal in welchem Feld jedoch gleichzeitig und untereinander eine schnelle Bewegung nach rechts f r die Switch Forward Befehl oder nach links f r die Switch Back Befehl ausf hren m ssen Dadurch wird der Notenwert des ausgew hlten Feldes um einen Schritt erh ht Switch Forward oder erniedrigt Switch Back Die Notenwerte k nnen aber immer nur zwischen den rot gekennzeichneten einstellbaren Notenwertgrenzen liegen damit es zu keine Sample berschneidungen kommt Zur Verwendung der Demoversion des virtuellen Samplers Battery 3 und der Sequenzing Software Mulab 3 wird auf die Hilfe Dokumentationen in den Programmen verwiesen Kapitel 7 Softwareprogrammierung 68 Options 136 Notenwertbegrenzung Notenwert Switch Forward Switch Back Auswahlbewegung Infrarotpunkte 60 leo Le Minimal Velocity 101 66 5 72 83 5 W T m E T O 2 Battery Kapitel 7 Abb 7 8 Wii Infrared GUI mit Veranschaulichungen Softwareprogrammierung 69 8 Ausblick Das Wii Infrared MIDI Interface das in dieser Arbeit vorgestellt wurde ist sicherlich von Produkten mit industriellem Standard weit entfernt es zeigt jedoch dass es m glich ist ein Interface zu entwickeln
41. Abschnitten zur Softwareprogrammierung zun chst eine Begr ndung f r die Auswahl von Visual Studio und C gegeben werden bevor anschlie end die Verwendung der Managed Libraries erkl rt wird mit denen auf die Parameter der Wiimote zugegriffen werden kann um daraufhin das eigentlich geschriebene Programm dem der Name Wii Infrared MIDI gegeben wurde in aller Ausf hrlichkeit zu beschreiben 7 1 Visual Studio Express Die integrierte Entwicklungsumgebung Microsoft Visual Studio 2010 unterst tzt diverse sogenannter Hochsprachen zum Erstellen eines Programmcodes Neben dem verwendeten C sind noch Visual Basic C C C CLI und F zu nennen von denen alle auf dem NET Framework basieren einer von Microsoft entwickelten Softwareplattform Dieses besteht aus einer Laufzeitumgebung f r die Ausf hrung der erstellten Programme diversen Programmierschnittstellen und zus tzlich noch eine Sammlung von selbstst ndigen Programmkomponenten sozusagen einer Bibliothek f r standardm ig und oft verwendete Befehle die in der Softwareerstellung eingesetzt werden Darauf ist auch der erste zu nennende Vorteil der Plattformunabh ngigkeit zur ckzuf hren Prinzipiell wird bei der Programmierung mit NET der Code nach seiner Ausarbeitung in der gew hlten Sprache in einen sogenannten Zwischencode namens Common Interface Language CIL bersetzt Dieser ist unabh ngig vom Prozessor kann vom ihm aber in seiner Form auch nicht ausgef hrt
42. Datei ausgef hrt werden Damit ist die Installation abgeschlossen To33 2 Bedienungsanleitung Vor dem Programmstart muss die Wiimote mit dem PC per Bluetooth verbunden werden Daf r wird ein Bluetooth Empf nger ben tigt der nicht in allen Computern eingebaut ist Im Systemsteuerungsmen unter Hardware und Sound Ger te und Drucker Bluetooth Ger te kann kontrolliert werden ob ein solches Ger t vorhanden ist Oftmals ist aber ein zus tzlicher Bluetooth Adapter notwendig der f r maximal etwa 5 Euro in jedem gut sortierten Elektronikfachmarkt zu kaufen sein sollte Es empfiehlt sich weiterhin eine spezielle Software f r den Verbindungsaufbau zwischen Wiimote und PC zu verwenden Ein Beispiel hierf r w re das in Kapitel 4 2 2 gezeigte Programm Blue Soleil Anschlie end muss nach Bluetooth Ger ten gesucht werden Diese Funktion sollte in jeder Bluetooth Software vorhanden sein Zur Erkennung der Wiimote m ssen die Tasten 1 und 2 gleichzeitig gedr ckt werden damit die Wii Remote ein entsprechendes Signal sendet Dabei blinken die vier LEDs an der Bedienungseinheit Sie wird anschlie end als Human Interface Device mit dem Namen Nintendo RVL CNT 01 erfasst Nun sollte die verwendete Bluetooth Software eine Option anbieten die ein Verbinden der Wiimote mit dem PC erm glicht Der Programmstart erfolgt ber einen Doppelklick der Datei Wiimote Infrared MIDI in dem Verzeichnis das zur Installation gew hlt wurde Falls keine Verbi
43. R IRSensor irSensor Color color berpr ft ob IR Signale von der Kamera erkannt werden if irSensor Found IR Punkte zeichnen g FillRectangle new SolidBrush color int irSensor RawPosition X 9 16 int irSensor RawPosition Y 9 16 4 4 J Timer Methoden zur Verhinderung von Doppeltausl sen der Samples Timer Methode f r die Bewegung von IR 1 void timer1_Tick object sender EventArgs e Filter Variable f r deaktivieren Kapitel 9 Anhang B Quelltext 91 peak filter Y1 true Timer Methode f r die Bewegung von IR 2 void timer2 Tick object sender EventArgs e Filter Variable deaktivieren peak_filter_Y2 true Timer Methode f r die Bewegung von IR 3 void timer3_Tick object sender EventArgs e Filter Variable deaktivieren peak_filter_Y3 true Timer Methode zur Verhinderung von Doppeltausl sen des Switch Befehls void timer4_Tick object sender EventArgs e Filter Variable deaktivieren peak_filter X true void timer5_Tick object sender EventArgs e feedback false 1 111 GUI Methoden Methode des Optionsmen s private void mIDISetupToolStripMenultem Click object sender EventArgs e neue Instaz der MidiOptions Klasse instanzieren MidiOptions options new MidiOptions Festlegen der Midi Optionen im Men options OutDeviceld synth OutputDeviceld options ProgramId options Cha
44. Technische Universit t Darmstadt Institut f r Arbeitswissenschaft Bachelorthesis Musik machen mit intuitiven Interfaces Making music using intuitive Interfaces Fabian Seipel 2011 Technische Universit t Darmstadt Institut f r Arbeitswissenschaft Bachelorthesis Musik machen mit intuitiven Interfaces Making music using intuitive Interfaces Fabian Seipel Tag der Abgabe 31 Dezember 2010 Betreuende r Mitarbeiter in Dr Ing Marlene Helfert Dipl Ing Benjamin Franz Erkl rung zur vorliegenden Arbeit gem S 22 7 bzw S 23 7 APB Hiermit versichere ich die vorliegende Bachelor Thesis ohne Hilfe Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben Alle Stellen die aus den Quellen entnommen wurden sind als solche kenntlich gemacht worden Diese Arbeit hat in gleicher oder hnlicher Form noch keiner Pr fungsbeh rde vorgelegen Name dxud hseseouiiiess ietu Vorname u2Zbesessesseee ener nete Rii 0 EE Datumi Setheeeehewusneseniedeus Unterschrift 0 osos eee Erkl rung zur vorliegenden Arbeit i Geheimhaltungserkl rung Rechte an der Arbeit Hiermit verpflichte ich mich bei Zusammenarbeit mit einem externen Auftraggeber ber alle mir im Rahmen der Bearbeitung meiner Bachelor Thesis im Zusammenhang mit dem Auftraggeber zur Kenntnis gekommenen Informationen Verschwiegenheit g
45. UpDown6 gleich sind numericUpDown6 Value numericUpDown5 Value Methode die bei Aufrufen des Wii Infrared MIDI Fesnsters aufgerufen wird HH private void Form Load object sender EventArgs e Erstellt den Eventhandler zur Methode wm WiimoteChanged wm WiimoteChanged new EventHandler WiimoteChangedEventArgs wm WiimoteChanged Erstellt den Eventhandler zur Methode wm WiimoteChanged Switch wm WiimoteChanged new EventHandler WiimoteChangedEventArgs wm WiimoteChanged Switch Verbindet die Wiimote wm Connect Definiert welche LEDs an der Wiimote leuchten wm SetLEDs false false true true Definiert den Datenreporttyp und die Sensivit t der Infrarotkamera wm SetReportType InputReport IRAccel IRSensitivity Maximum true Legt den Datenreporttyp der IR Kamera fest wm WiimoteState IRState Mode IRMode Extended Batteriestatus auf die GUI projizieren Ruft den Batteriestatus ab und berf hrt diesen in die float Variable B float B wm WiimoteState Battery Stellt aus der float Variable B die integer Variable Bat her int Bat int B Integer Variable Bat als Wert der ProgressBar1 auf der GUI definieren toolStripProgressBar1 Value Bat Erstellen der Timer Timer Event erstellen timer1 Tick new EventHandler timer1 Tick Festlegen des Zeitintervalls timer1 Interval all timer interval Aktivieren des Timers timer1 Enabled true Ers
46. Ziele zu erreichen und den materiellen Wohlstand zu sichern Der Technikphilosoph Arnold Gehlen spricht hierbei vom Menschen als M ngelwesen der die Technik als Ersatz Entlastung und Verst rkung seiner gottgegebenen Organe sieht vgl GEHLEN 1957 Zu Beginn dieser technischen Evolution steht die Erfindung von Werkzeugen die den homo sapiens grunds tzlich vom Tier abgrenzt Inzwischen haben sich die vor allem in den letzten zwei Jahrhunderten von Menschenhand konstruierten Maschinen immer mehr verkompliziert und spezialisiert Dabei werden hier bewusst die Begriffe Werkzeug und Maschine verwendet die deutlich zu trennen sind und deren Unterschied auch in Bezug auf die Frage der Verantwortung hinsichtlich ihrer Benutzung kenntlich gemacht werden soll Denn w hrend nach handlungstheoretischen Gesichtspunkten beim klassischen Werkzeug noch eine direkte Kontrolle und M glichkeit der Korrektur und Einflussnahme besteht kann bei der Nutzung einer Maschine meistens nur noch eine Steuerung oder Regelung erfolgen und anschlie end das Ergebnis berpr ft werden Bei der Verwendung des Hammers zum Beispiel ist der Anwender alleinig verantwortlich f r das Ergebnis seines Einsatzes Er f hrt die Bewegung die zum Schlag mit dem Hammer f hrt selbst aus sieht das Ergebnis und kann durch Reflexion dar ber in weiteren Arbeitsschritten Korrekturen vornehmen Beim Gebrauch einer Maschine jedoch ist die Aufgabe des Menschen meist darauf beschr nkt ihre Bed
47. abei ist es mit den Zeigefinger Dioden die Bet tigungsbewegung auszuf hren hnlich den Bewegungen eines Schlagzeuger nur ohne den Stockeinsatz Die dritte LED wird zum Ausf hren des sogenannten Switch Befehls ben tigt der weiter unten beschrieben wird Hiernach stellt sich noch die Frage wie diese Geste zum Ausl sen der Samples erkannt werden soll Eine wichtige berlegung ist hierbei durch ein bzw zweifache Differentiation der Positionsdaten der IR Signale zus tzlich noch auf deren Geschwindigkeits und Beschleunigungswerte zugreifen zu k nnen Im weiteren Verlauf der Arbeit zeigt sich dass sich f r diese Art Gestenerkennung die Verwendung des Beschleunigungswerts in negative y Achse bez glich der Abbildung 5 4 anbietet Das bedeutet konkret dass falls dieser Beschleunigungswert einen gewissen Schwellenwert berschreitet ein MIDI Befehl zum Bet tigen des Feldes und Abspielen des Sounds gegeben wird Dar ber hinaus soll ein visuelles Feedback eingebaut werden das dem Nutzer signalisiert ob und in welchem Feld der Ton letztlich ausgel st worden ist Weiterhin soll das System ebenfalls die Funktion des Switch Befehls unterst tzen sodass mit einer anderen Eingabebewegung die auf den Pads liegenden Samples wechseln Daf r soll der MIDI Parameter der Tonh he der dem Feld zugewiesen ist ge ndert werden da dieser in vielen Software Samplern auch die Ansteuerung der einzelnen Samples beschreibt Um auszuschlie en dass mit dieser
48. ackBar1 Value der trackbar Um diesen in dem Schriftzug darunter wiederzugeben muss die integer Variable Velocity min in den Typ string konvertiert werden damit er dem Text des Labels Label Vel min Text anschlie end zugeordnet werden kann siehe Anhang B Seite 19 private void numericUpDowni ValueChanged object sender EventArgs e Als numericUpDowns werden die neun Schaltelemente bezeichnet die zum Einen ihren momentanen Wert m einem kleinen K stchen wiedergeben dieser sich aber entweder durch eintragen einer anderen Zahl mittels der Tastatur oder durch Klicken auf die Pfeiltasten zur Rechten der K stchen ver ndern lassen In diesen F llen werden die dazu passenden Methoden numericUpDown_ValueChanged aufgerufen Kapitel 7 Softwareprogrammierung 65 Eines dieser Elemente ist f r die Einstellung des Sensitivity Parameters decimal Sens zust ndig der wiederum in die Berechnung der Beschleunigungswerte in y Achsenrichtung mit einflie t um die Ausl sung der Samples auch zu gew hrleisten wenn der Nutzer das System in verschiedene Entfernungen zur IR Kamera verwendet Dazu wird der Sens Variable einfach der Wert numericUpDown1 Value des numericUpDowns bergeben siehe Anhang B Seite 19 private void numericUpDown3 ValueChanged object sender EventArgs e Die weiteren acht numericUpDown Schaltelemente sind jeweils nach und vor jedem Samplepad um die Fl che herum angeordnet auf die die IR Punkte projiziert werden Sie defin
49. afft die simple Information ob eine Wiimote und mit ihr die ben tigte IR Kamera berhaupt angeschlossen ist Klarheit ob das System funktionsf hig ist Dies wird sp ter kombiniert mit der Anzeige der restlichen Batterieleistungsf higkeit die zudem auf eine verbleibende Restverwendungszeit der Wiimote und somit des Gesamtsystems schlie en l sst Weiterhin soll eine Regelungsm glichkeit in die Softwareoberfl che eingebaut mit dessen Hilfe die Sensitivit t hinsichtlich der Aufnahme der IR Bewegungen eingestellt werden kann Hierdurch soll eine Anpassung der Systemkonstanten erfolgen die die Funktion des Systems auch dann gew hrleistet wenn der Anwender das Interface mit einem gr eren Abstand als einen Meter zur Wiimote Kamera nutzen will F r die Ende des letzten Kapitels beschriebene M glichkeit des Kombinierens der gew nschten Samples ist es zudem von Vorteil wenn durch ein grafisches Element verdeutlich wird welche Sounds momentan auf den verschiedenen Feldern liegen oder zumindest welche MIDI Befehle denen in der Sampler Software Sounds zugeordnet werden k nnen durch das Ausl sen der Pads gesendet werden Um ber die MIDI Schnittstelle aber berhaupt kommunizieren zu k nnen muss als letzter Punkt der Anforderungen an die Softwareoberfl che noch ein Einstellungsmen in die Benutzeroberfl che eingebaut werden wor ber sich anpassen l sst welcher MIDI Treiber der letztlich zwischen Interface und Musiksoftware
50. ale in y Richtung Berechnung IR1 Beschleunigung in y Richtung private void berechne A1 y Aufruf der Methode zur Geschwindigkeitsbestimmung in y Richtung berechne V1 y Berechnung der Beschleunigung durch angen herten Differenzenquotient A1 y v1_y V1 y vorher t V1 y V1 y vorher t int Sens 1 5 50 Filter von Bewegungen in positive y Richtung if V1 y 0 Al_y Filtern der negativen Beschleunigungswerte if A1 y lt 0 Al_y Kapitel 9 Anhang B Quelltext 78 berschreiben der globalen Variable V1_y_vorher V1 y vorher V1 y Berechnung IR2 Beschleunigung in y Richtung analog zu IR 1 private void berechne_A2_y berechne_V2_y A2_y V2_y V2_y_vorher t V2 y V2 y vorher t int Sens 1 5 50 if V2y lt 0 A2_y 8 if A2 y 0 A2y 20 V2 y vorher V2 y Berechnung IR3 Beschleunigung in y Richtung analog zu IR 1 private void berechne_A3_y berechne_V3_y A3 y V3 y V3 y vorher t V3 y V3 y vorher t int Sens 1 5 56 if V3 y 0 A3y 20 if A3 y lt 0 A3y 20 V3 y vorher V3 y Methoden zur Berechnung der Geschwindigkeiten der IR Signale in x Richtung Berechnung IR1 Geschwindigkeit in x Richtung private void berechne V1 x X Positionsdaten von der Wiimote abrufen float X1 wm WiimoteState IRState IRSensors 0 RawPositi
51. amm bereits vereinfacht wiedergibt interpretiert die Universalsprache und bersetzt sie in Maschinencode f hrt Maschinencode aus Prozessor Abb 7 1 Basisprinzip von CIL und CLR 7 1 1 Programmiersprache Ci Der C Code z hlt zu den objektorientierten Programmiersprachen Ein Objekt ist eine Sammlung zueinander in Beziehung stehender Informationen und Funktionen Das kann etwas sein das ber ein entsprechendes quivalent in der tats chlichen Welt verf gt das virtuelle Bedeutung hat wie ein Fenster oder andere grafische Elemente auf der Benutzeroberfl che oder es kann einfach ein abstraktes Element innerhalb eines Programms darstellen Es bezeichnet dabei immer ein Exemplar eines bestimmten Datentyps der in diesem Zusammenhang auch als Instanz einer Klasse bezeichnet wird Jedes Objekt kann durch verschiedene Attribute beschrieben werden und verschiedene Zust nde annehmen und diese auch ausl sen Eine Klasse dagegen die in einer objektorientierten Sprache meist den Mittelpunkt der Anwendung darstellt beschreibt umgangssprachlich formuliert ein Modell von Objekten und ist diesen bergeordnet Sie besitzt Variablen die bestimmte Eigenschaften beschreiben Methoden die T tigkeiten darstellen und Ereignisse die die Folge von Zust nden sind bzw diese ausl sen Innerhalb der Methoden erfolgen dann meist die sogenannten Operationen wie beispielsweise die bedingte if else Anweisung oder etwa Kontrollstrukturen wie die for
52. amp amp Vix VxMin amp amp V3_x V x Min amp amp X Gap13 X Gap Max amp amp X2 1023 if X2 350 if Y2 380 A Switch back peak filter X false timer4 Start Kapitel 9 Anhang B Quelltext 88 else D_Switch_back peak_filter_X false timer4 Start else if X2 700 if Y2 380 B Switch back peak filter X false timer4 Start else E Switch back peak filter X false timer4 Start else if Y2 lt 380 C_Switch_back peak_filter X false timer4 Start else F_Switch_back peak filter X false timer4 Start Ausl sen des Switch Back Befehls mit IR 1 amp 2 f r weitere Kommentare siehe Ausl sen des Switch Back Befehls mit IR 2 amp 3 if V2_x lt V_x_Thres_minus amp amp V1_x lt V_x_Thres_minus amp amp V2_x gt V x Min amp amp V1 x gt V x Min amp amp X Gap12 X Gap Max amp amp X3 1023 if X3 350 if Y3 380 A Switch back peak filter X false timer4 Start j else D Switch back peak filter X false timer4 Start j else if X3 lt 700 if Y3 380 B_Switch_back peak_filter_X false timer4 Start Kapitel 9 Anhang B Quelltext 89 else E Switch back peak filter X false timer4 Start else if Y3 lt 380 C_Switch_back peak_filter_X false timer4 S
53. armarina visus 2 Leis araby wet rar m ran gi Deu Andere Inder urra amp n ie Electrical Optical Characteristics at Tat Hm 3 Foramriwckmqm sut du Absolute Maximum Ratings at T 25 C Pr m L9 IL 1 Bem 0 09 o LL mes een 8 ome Hoima 1 1400 Duty Cem Kirra Fana PAEL 4 Zeep er pN Sama 3 Temm cases pace mag BPEC NO ORAETES REY AND DATE THT PAGE TOF 3 APPROVED J Lu CHECKED Allen Liu DRAWN F ZHANG Kapitel 9 Anhang A Datenblatt Kingbright Infrarot Leuchtdiode 72 BPEC MO DEAE APPROVED J Lu Kapitel 9 Anhang A LIST al LGT DA i n d id i4 E EJE S REN MUWA DATE SES CHECKED Allen Lu DANN FRANCO Datenblatt Kingbright Infrarot Leuchtdiode PAGE TOF 3 73 9 2 Anhang B Quelltext Alle Kommentare stehen unmittelbar ber dem jeweiligen Code VI M MM MB MM PM IIMIMII AHIIBMBMIIBMMIIIIMPMPMPPMPII III P B B UULLL LL P CB CM LLL C C LL B CTI Tl Bachelorarbeit Making music using intuitive interfaces Fabian Seipel Unter Verwendung von WiimoteLib Brian Peek www brainpeek com Wii Drum Synth wiidrumsynth codeplex com C MIDI Toolkit Leslie Sanford If www codeproject com KB audio video MIDIToolkit aspx PIALALA EE EE EE EE EE AAAA 9 2 1 Class MainForm using System using System Collections Generic using System ComponentModel using System Data using System Drawing using System Drawing Imaging using Syste
54. ast unendlich vielen M glichkeiten verschiedener Kl nge f hren Abbildung 3 6 zeigt weiterhin den Arturia Moog Modulator ein Software Nachbau des im vorigen Kapitel angesprochenen analogen Ur Synthesizers von Robert Moog vgl HDM Stuttgart 2008 ec M nden Abb 3 5 Native Instruments Reaktor Abb 3 6 Arturia Moog Modulator Der allerdings noch wichtigere Schritt zur Musikproduktion in virtueller Umgebung ist mit der Einf hrung von speziellen Digital Audio Workstations kurz DAW erfolgt Diese DAWs sind Software Nachbildungen von gro en Teilen eines kompletten Musikstudios Sie stellen letztendlich eine virtuelle Studio Umgebung inklusive Mischpult Arrangierfenster und verschiedenen anderen Editoren dar die im Zusammenspiel eine professionelle Musikproduktion erm glichen und damit teure Studio Mischpulte und Aufnahmeger te ersetzen Dar ber hinaus enthalten sie aber auch noch viele der soeben beschriebenen virtuellen Instrumente und berdies auch Effekte wie zum Beispiel Equalizer Hall oder Kompressoren Dabei kann nicht nur DAW Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 18 eigene Software verwendet werden Auch sogenannte Plug In Effekte und Instrumente von anderen Anbietern k nnen ber festgelegte Schnittstellen wie Audio Unit AU oder Virtual Studio Technology VST die alle mittels des MIDI Protokolls kommunizieren und angesteuert werden eingebunden werden Weiterhin ist nat
55. auglichkeit Auch Vortr ge von Unternehmenskr ften oder Mitarbeiter der Universit ten geh ren zum Programm vgl WORLDUSABILITYDAY ORG 2011 Das Interface das in dieser Arbeit erstellt werden soll wird auf dem n chsten World Usability Day in Darmstadt im Jahr 2011 vorgestellt Kapitel 2 Begriffe 7 2 3 Interface Um den Sinn von Schnittstellen zwischen Mensch und Maschine aufzuzeigen wird zun chst kurz eine kleine Einleitung in die Technikphilosophie gegeben um daraus und aus dieser Sicht die Notwendigkeit solcher Interfaces zu verstehen Daraufhin folgt eine nicht philosophische allgemeine und eher praktische Definition dazu die auch die Kunst des Designs solcher Interfaces beleuchtet 253 1 Technikphilosophische Betrachtung Als einleitenden Gedanken in dieses Kapitel wird zun chst auch kurz auf den Sinn von Mensch Maschine Schnittstellen aus technikphilosophischer Sicht eingegangen der zur allgemeinen Definition des Interface Begriffs hilfreich ist Dazu wird zu Anfang ebenfalls aus dieser Sichtweise die Beziehung und Entwicklung von Technik zum Menschen dargestellt und daraus dann der Begriff der Transklassischen Technik entwickelt 253TA T Mensch Technik Relation Die Menschheit hat im laufe ihrer Geschichte schon immer Technikformen entworfen um sich weiterzuentwickeln Dort wo die dem Menschen nat rlich gegebenen Mittel nicht mehr ausreichen oder nie vorhanden waren bedient er sich ihrer M glichkeiten um neue
56. bedeutet Es geht also einerseits um die Kenntnis und die Bef higung etwas zu gebrauchen und gleichzeitig um den Nutzen und somit den Vorteil der mit dieser Nutzung einhergeht Usability wird zudem mittlerweile im deutschen Sprachgebrauch synonym zu den Begriffen Benutzerfreundlichkeit Gebrauchstauglichkeit verwendet vgl BRUDER et al 2010 Darum wird versucht diese beiden Ausdr cke im Folgenden auch hinreichend zu erkl ren Kapitel 2 Begriffe 3 Gebrauchstauglichkeit ist ebenfalls nach BRUDER 2010 laut der Norm DIN EN ISO 9241 11 mit dem Titel Ergonomie der Mensch System Interaktion definiert als das Ausma in dem ein Produkt durch bestimmte Nutzer in einem bestimmten Nutzungskontext genutzt werden kann um bestimmte Ziele effektiv effizient und zufriedenstellend zu erreichen Effektivit t bezeichnet dabei die Akkuratheit und Vollst ndigkeit mit denen ein Ziel erreicht werden kann Die Effizient beschreibt das Verh ltnis vom Aufwand der Ressourcen zum Nutzen die in Bezug auf die Zielerreichung notwendig sind Zufriedenheit dagegen ist eine subjektive Komponente die die Abwesenheit von Frustration aber auch positive Einstellungen gegen ber dem Produkt beschreibt BRUDER et al 2010 Nach dieser Definition der Norm ist es somit Voraussetzung zun chst den angesprochenen Kontext der Nutzung und ein gewisses Bild des Nutzers etwa mit einem Modell festzulegen Dies betrifft seine Ziele und Au
57. ble peak_filter vom Typ bool auf false gesetzt wird die von dem Timer 4 in einem dem Intervall von 200 Millisekunden immer wieder auf true gesetzt wird Durch eine dem synth Befehl vorgeschaltete if Schleife wird dieser nur bet tigt falls die Timer Variable auch den Wert true besitzt Zusammengefasst bedeutet dies dass nach dem Ausl sen eines MIDI Befehls mit einem der drei Infrarotsignale f r 02 Sekunden kein weiterer MIDI Befehl mehr mit demselben Signal ausgel st werden kann Somit wird wie gew nscht bei jeder Schlagbewegung auch nur einmalig ein Sample bet tigt Dieser Prozess l uft allerdings bei alle drei IR Signalen separat ab und demnach sind daf r auch die dra unterschiedlichen Timer 1 2 und 3 erstellt worden Kapitel 7 Softwareprogrammierung 60 Um das in Kapitel 7 3 1 beschriebene visuelle Feedback durch kurzzeitiges Einf rben des bet tigten Feldes nach erfolgreicher Sample Ausl sung zu generieren wird die Variable feedback auf true gesetzt Solange ihr dieser Wert zugeordnet ist wird das jeweilige Feld durch ein einen Befehl in UpdateWiimoteChanged in gr ner Farbe dargestellt Da jedoch nur ein kurzzeitiges aufleuchten des Bereichs erw nscht ist stellt der f nfte Timer zu Beginn seines relativ kurzen Zeitintervalls sicher dass der feedback Variable wieder der Wert false zugeordnet wird damit das Aufleuchten des Feldes beendet wird Der Hauptteil der Methode zur Gestenerkennung ist dabei insgesamt drei Mal f r je
58. cUpDown4 Value Notenwertbegrenzung zwischen Feld C amp D oben rechts siehe Feld A amp B private void numericUpDown5 ValueChanged object sender EventArgs e i numericUpDown6 Value numericUpDown5 Value if numericUpDown5 Value lt numericUpDown4 Value numericUpDown5 Value numericUpDown4 Value 1 ii numericUpDown5 Value gt numericUpDown7 Value numericUpDown5 Value numericUpDown7 Value 1 is C gt int numericUpDown5 Value t C int numericUpDown5 Value 1 D lt int numericUpDown5 Value i D int numericUpDown5 Value Notenwertbegrenzung zwischen Feld C amp D unten links siehe FeldA amp B private void numericUpDown6 ValueChanged object sender EventArgs e i numericUpDown5 Value numericUpDown6 Value if numericUpDown6 Value lt numericUpDown4 Value numericUpDown6 Value numericUpDown4 Value 1 is numericUpDown6 Value gt numericUpDown7 Value f numericUpDown6 Value numericUpDown7 Value 1 is C gt int numericUpDown6 Value f C int numericUpDown6 Value 1 m D int numericUpDown6 Value i D int numericUpDown6 Value Notenwertbegrenzung zwischen Feld D amp E siehe Feld A amp B Kapitel 9 Anhang B Quelltext 94 private void numericUpDown7 ValueChanged object sender EventArgs e t if numericUpDown7 Value lt numericUpDown6 Value numericUpDown7 Value numericUpDown6 Value 1 is numericUpDown7 Value gt nume
59. cesoftware dem Klangerzeugungsprogramm die n tigen Befehle erteilt Hierf r soll das folgende Kapitel einen berblick geben 4 2 1 MIDI Schnittstelle Das in ausformulierter Form korrekt bezeichnete Musical Instrument Digital Interface wurde 1984 von f hrenden Syntesizer Herstellern erfunden um einen Standard zum Datenaustausch zwischen elektronischen Instrumenten festzulegen und ist damit Teil des Digitalisierungs und Virtualisierungsprozess der Musikproduktion siehe Kapitel 3 1 Dieser Datenaustausch dient der bermittlung von musikalischen Steuerinformationen wie Tonh he Anschlagsst rke und Dauer des Tons vgl MIDI ORG 2011 Somit kann nach Abbildung 4 4 jedem MIDI Befehl auch eine bestimmte Tonh he zugeordnet werden 83 65 406 36 c2 c U e s1 mmm so 7 p 7 7 p s HEN n n Is n fap 2 e 70 assans sis b EA o Less Lea D eme j 66 re Gba fis ges a je BZ O 63 etos disies 3 61 ce oba cis des 261 6 60 Ca ol s s E s 55 e mmm 54 E 5 52 eme 1 so gu s 4s p 5 er a ai E Abb 4 4 MIDI Notenwerte Weiterhin gab es nach STANGE ELBE durch die Einf hrung von MIDI einen entscheidenden Schritt zur Teilung zwischen den die Musik konstituierenden elementaren Parametern der Tonh he und Tondauer der Kapitel 4 Technische Grundlagen 32 Lautst rke und des Ausdrucks sowie des Tempos also dem Spiel des Musikers und der Klangfa
60. ch an der rechten Hand an der zwei davon parallel geschaltet sind eine f r ihren Arbeitsbereich optimale Voltzahl zur Verf gung Verbunden sind alle Komponenten durch in eigener Arbeit angel tete Verbindungskabel Zur Befestigung der LEDs ist HeiBkleber verwendet worden Insbesondere in Abbildung 6 2 sind die leuchtenden Dioden von vorne zu erkennen da handels bliche Digitalkameras auch Infrarotstrahlung bis zu einem gewissen Grad abbilden Zun chst wurde zus tzlich noch ein Schalter in den Stromkreis mit eingebaut werden von dem aber eine massiver Wackelkontakt ausgel st wurde sodass er wieder entfernt werden musste Die LEDs werden nun letztlich dadurch an und ausgeschaltet indem die Batterien eingelegt bzw entfernt werden Mit diesem Kapitel wird der Teil von Konzeption und Hardware beschlossen Es folgt die Ausarbeitung die den Prozess der Softwareerstellung und ihrer Erkl rung beleuchtet Kapitel 6 LED Handschuhe 43 7 Softwareprogrammierung Nach dem Abschluss der Konzeption besteht die Hauptaufgabe zur Entwicklung des Projekts in der Erstellung der Interface Software Hierzu sind in den vorigen Kapiteln bereits die Anforderung an Funktion und Oberfl chen des Programms definiert worden und m ssen nun umgesetzt werden Wie in Kapitel 5 bereits erw hnt wird f r diesen informatischen Teil der Arbeit die Programmierumgebung Visual Studio Express 2010 von Microsoft mit der Sprache C verwendet Darum soll in den folgenden
61. ch verh lt es sich mit Informatisierung und Virtualisierung der Handlungsumwelt Dies beschreibt eine Vermischung von realer und virtueller Welt die dann besonders problematisch erscheint wenn die Unterscheidung derer nicht mehr klar begriffen werden kann und das Gesamtsystem keinen Zugang zur Realit t mehr besitzt vgl HUBIG Diese auch mixed realities genannten Zust nde k nnen Simulatoren sein oder auch einfach simple Navigationsger te Extreme Auspr gungen einer solchen Weiterentwicklung zeigen Filme wie die Matrix Trilogie auf in denen sich fast die komplette Menschheit in einer virtuellen Realit t befindet ohne sich dessen bewusst zu sein 2 3 2 Begriff des Interface Der philosophische Exkurs in den vorigen Kapitel soll dabei zeigen wie wichtig die Definition und die klare Festlegung von Schnittstellen sein kann um dadurch gen gend Transparenz auch beispielsweise in sehr komplexen transklassichen Systemen zu schaffen damit weiterhin die M glichkeit besteht einen klaren Bezug zu diesen System herzustellen zu k nnen Nat rlich sind dabei viele Gedanken weit ber die heutige Gestalt von Maschinen hinaus fortgef hrt Es ist jedoch aber durchaus schon Technik vorhanden die klare Tendenzen und Merkmale daf r aufweist Erw hnt seien die bereits beschriebenen groDtechnischen Systeme wie beispielsweise die Elektrizititsversorgung Der Fachbegriff Interface stammt urspr nglich aus dem Lateinischen und setzt sich aus inter
62. chst wird der Momentanwert der Position ber das Wiimote Objekt abgerufen und als fLoat Variable mit entsprechendem Namen definiert anschlie end folgt die Bildung des Differenzenquotients und abschlie end die berspeicherung des alten Positionswerts Alle anderen Geschwindigkeits Berechnungsmethoden berechne V2 y berechne V3 y berechne V1 x berechne V2 x berechne V3 x sind nach dem genau gleichen Prinzip aufgebaut und unterscheiden sich lediglich hinsichtlich des verwendeten Positionswerts private void berechne A1 y Auch die Berechnung der Beschleunigungswerte f r die die Methode berechne A1 y als Exempel dienen soll lehnt sich an diese Systematik an private void berechne A1 y 1 berechne V1 y Aly 1_y V1_y_vorher t CV C V1 y V1 y vorher t int Sens 1 5 58 if V1 y 0 Al vs Al vs V1 y vorher V1 y Zu Beginn wird zur Berechnung des momentanen Werts der Geschwindigkeit des IR Punktes in die jeweilige Richtung die passende Methode aufgerufen Danach erfolgt analog zur Geschwindigkeitsberechnung die Aufstellung des Differenzenquotients Hierzu kommt aber noch eine Addition eines Werts die den Sensitivity Faktor der auf der GUI durch einen horizontalen Regler einstellbar ist siehe Kapitel 7 3 2 4 7 ber cksichtigt Der Wert der schlie lich addiert wird entspricht einem F nftel der eigentlichen Beschleunigung multipliziert mit dem benannten Faktor Dadurch
63. d actes reelle 26 Abb 5712 Pad Controlle r 2 ete e ter t ru e rb e t NR ERN T UR 26 Abb 3 35 TouchO SC Screenshot pte IE 26 Abb 98 34 Zaggybox MEDI Controller cette trenes enitseibrie rb etit teslis een RH UU dE RV 27 Abb 335 Der React blei ee dee et ana ESA EE 28 Abb 4 T Wiimoteund Nuncluck a edet be e el 29 Abb 4 2 Wiimote Deet 30 Abb 4 8 Wnumote Innenleben eet rtt eot t tene ee ep eng 31 Abb 4 4 MIDI Notenwerte 4 eee rA eed ee n piss tceta teil b ee mite etd 32 Abb 4 5 Notenschrift e E Abb 4 6 MIDE Sequenz EE ae ee Be ae 3 Abb 4 7 BlueSoleil Sottw te ette eee RES Elise Be see E 34 Abb 4 8 Hama Blu tooth zAdapter testen ettet steps 34 Abbildungsverzeichnis 98 Abb 4 9 Software Sampler Native Instruments Battery 3 35 Abb 10 MUtools tued 36 Abb 5 E 38 Abb 52 NIMaschme urere dtet nassen alone es dae an a nik 38 Abb 582ARATL MPO T1000 teet RERO ttu tU RU EU INI I M 38 Abb 5 4 Wahrnehmnung der Infrarotkamera und Einteilung der Arbeitsfl che een 39 Abb 5 5 Switch Badk Befehlt u es rennen zen ee eb 41 Abb 6 1 LED Handschuhe Draufsicht u ae ne 43 Abb 6 2 LED Handschuhe Vorderansicht u u u u 0a na eel olas pco DEDERE 43 Abb 7 1 Basisprinzip von CIE und CLR uen hr t ra En 45 Abb 7 2 Visual Studio 2010 in der Designer Ansicht aan anna 46 Abbz7 9 War Infrared MIDI GUT ette tet ERE TRUE MAE bete e e uq 48 Abb 7 4 Wu Infrared MIDI Optionismenhtli t t n e eee ER an 4
64. d A private void F_Switch_fwd F F 1 if F int numericUpDown9 Value F int numericUpDown9 Value Methoden zum Ausl sen der Switch Back Befehle Switch Back Befehl f r Feld A private void A_Switch_back MIDI Halbton von der Note des Feldes subtrahieren A A 1 Untergrenze f r Notenwert des Feldes festlegen if A int numericUpDown2 Value A int numericUpDown2 Value Switch Back Befehl f r Feld B analog zu Feld A private void B_Switch_back B B 1 if B lt int numericUpDown3 Value B int numericUpDown3 Value Switch Back Befehl f r Feld C analog zu Feld A private void C_Switch_back C C 1 if C lt int numericUpDown4 Value C int numericUpDown4 Value Kapitel 9 Anhang B Quelltext 81 Switch Back Befehl f r Feld D analog zu Feld A private void D_Switch_back D D 1 if D int numericUpDown5 Value D int numericUpDown5 Value Switch Back Befehl f r Feld E analog zu Feld A private void E_Switch_back E E 1 if E lt int numericUpDown7 Value E int numericUpDown7 Value Switch Back Befehl f r Feld F analog zu Feld A private void F_Switch_back F F 1 if F lt int numericUpDown8 Value F int numericUpDown8 Value Methode zum Ausl sen der Samples die st ndig von neuem durchlaufen wird sobald die Wiimote Daten sendet void wm WiimoteChanged object sender WiimoteChange
65. d Minimieren in der oberen rechten Ecke sitzt Diese Methode schlieBt und beendet die gesamte Anwendung und trennt mit dem Befehl wm Disconnect die Verbindung von Wiimote zu Wii Infrared MIDI Mit diesem Kapitel endet die Beschreibung der einzelnen Methoden Kapitel 7 Softwareprogrammierung 66 G 3 Benutzerhandbuch Als Abschluss des Wii Infrared MIDI Kapitels soll an dieser Stelle eine knappe aber dennoch deutliche Installations sowie Bedienungsanleitung beschrieben werden mit deren Hilfe der Nutzer auch ohne Kenntnis der soeben ausgef hrten Syntax und aller anderer in dieser Arbeit bereits formulierten Kapitel das Gesamtinterface anwenden kann Das Programm wurde unter Windows 7 erstellt und getestet kann aber auch unter anderen Windows Versionen verwendet werden 1 32 3412 Installationsanleitung Durch die eingesetzte NET Technologie gestaltet sich die Installation relativ einfach Voraussetzung ist hierbei nat rlich dass das NET Framework 40 auf dem gew nschten PC bereits installiert ist Ob dies der Fall ist kann in der Systemsteuerung unter Programme Programme und Funktionen nachgesehen werden Ist dies nicht der Fall so kann das Framework in der neuesten Version unter http msdn microsoft com unter der Rubrik Downloads kostenfrei heruntergeladen werden Nach diesem Schritt muss nur noch der Ordner Wii Infrared MIDI der der Bachelor Arbeit beiliegt in ein beliebiges Verzeichnis kopiert werden und die Setup
66. d UpdateState durch wm WiimoteChanged und somit auch durch jede Statusdaten nderung der Wiimote aufgerufen Die gesamte Methode besitzt nur eine einzige Aufgabe die wiederum aus dem Aufruf von UpdatewiimoteChanged besteht Im Normalfall erfolgt ein solcher Aufruf aus einer anderen Methode heraus synchron Das bedeutet sie werden nacheinander ausgef hrt und wm WiimoteChanged wird erst wieder fortgesetzt wenn UpdateState und die angeschlossenen Methoden vollst ndig durchlaufen wurden In UpdateWiimoteChanged jedoch sind Methoden aus der Graphics Klasse enthalten die bei einem solchen synchronen Aufruf zum Absturz der Systemfunktion f hren Daher kann UpdateWiimoteChanged nicht konventionell aufgerufen werden sondem muss ber den Delegaten UpdateWiimoteStateDelegate aufgerufen werden der wiederum mit dem BeginInvoke Befehl asynchron ausgef hrt wird UpdatewiimoteChanged l uft somit parallel zu den anderen Methoden ab und es kann die Kapitel 7 Softwareprogrammierung 62 Systemfunktion garantiert werden Zus tzlich werden ber das args Argument die Wimote Statusinformationen bergeben siehe Anhang B Seite 17 private void UpdateWiimoteChanged WiimoteChangedEventArgs args Diese werden in UpdateWiimoteChanged genutzt um eine Klasse WiimoteState ws zu instanzieren mit der nun die Wiimote Parameter weiterhin abgerufen werden k nnen Eine weitere wichtige Voreinstellung ist die Festlegung der PictureBox IRBox als das Bitmap b das bereits
67. dEventArgs e Positionsdaten der IR Signale der Wiimote abrufen float Y1 e WiimoteState IRState IRSensors 0 RawPosition Y float X1 e WiimoteState IRState IRSensors 0 RawPosition X float Y2 e WiimoteState IRState IRSensors 1 RawPosition Y float X2 e WiimoteState IRState IRSensors 1 RawPosition X float Y3 e WiimoteState IRState IRSensors 2 RawPosition Y float X3 e WiimoteState IRState IRSensors 2 RawPosition X Viertes Infrarotsignal deaktivieren e WiimoteState IRState IRSensors 3 Found false Update State Methode aufrufen UpdateState e Aufruf der Methoden zur Berechnung der Beschleunigungen der IR Signale berechne A1 y berechne A2 y berechne A3 y Sample ausl sen mit Infrarot 1 berpr fen ob Beschleunigung gr fier als Schwellenwert ist Beschleunigung Maximum nicht berschreitet if Al_y gt A y Thres amp amp A y Max gt A1 y Velocity bestimmen float velocity1 Al_y A_y_Thres 127 4 Velocity als von float in integer Variable berf hren int veloci int velocity1 Kapitel 9 Anhang B Quelltext 82 Einbeziehen der Velocity Track Bar der GUI if veloci Velocity min veloci Velocity min obere Begrenzung der Velocity if veloci gt 127 veloci 127 Auswahl des richtigen Feldes ber Positionsdaten if X1 350 if Y1 380 note A else note D else if X1 lt 700 if Y1 380 note
68. das eigentliche Design des gesamten Interfaces Hierzu z hlen zum einen die Konstruktion der LED Handschuhe mit denen die Eingabe erfolgt und zum anderen die ausf hrliche Beschreibung der Softwareoberfl che sowie der Implementierung des Wii Infrared MIDI Programms mit der gesamten Softwarearchitektur Zuletzt wird eine Installations und Bedienungsanleitung gegeben die dem Nutzer auch ohne Lekt re dieser Arbeit die Verwendung des Interfaces erm glicht Abschlie end wird ein Ausblick auf zuk nftig realisierbare M glichkeiten mit hnlichen Zielen also der intuitiven digitalen Musikproduktion gegeben Kapitel 1 Einleitung 2 2 Begriffe Um im weiteren Verlauf immer unmissverst ndlich auf einige wichtige und in dieser Arbeit oft verwendete Vokabeln zur ckgreifen zu k nnen die besonders relevant sind und teilweise auch den Titel dieser Arbeit charakterisieren besteht dieses Kapitel vorrangig aus Erkl rungen die versuchen die soeben genannten Begrifllichkeiten zu verdeutlichen Dazu wird manchmal nur auf die w rtlich richtige Bedeutung verwiesen in einigen F llen respektive der Komplexit t der Termini wird aber auch auf deren Gesamtheit zur Begriffsbildung n her eingegangen Unter anderem ist auch der Sinn des World Usability Days f r den das System entwickelt wird ein Thema 2 1 Intuitiv Ein in Verbindung mit Mensch Maschine Schnittstellen oft und gern verwendetes Adjektiv ist intuitiv Die Phrase i
69. dass in der Lage ist eine menschliche Bewegung direkt in die Erzeugung eines Klangs umzusetzen und somit durchaus als intuitive Eingabeform verstanden werden kann obwohl diese nur ber den Umweg von Infrarotsignalen erfolgt Die Erkennung von bestimmten Gesten um Musik zu erzeugen bzw zu steuern ist dabei aber ein sinnvolles Mittel da hiermit eine unmittelbar Zugriffsm glichkeit auf die Variation verschiedener Parameter besteht Eine Weiterentwicklung w re beispielsweise die Wahrnehmung der gesamten menschlichen Dynamik als Eingabeform Die Kinect Technologie die f r die Spielekonsole Xbox 360 der Firma Microsoft entwickelt wurde zeigt hier die Richtung an Sie kann durch zwei Kameras ein r umliches Bild erzeugen das den Menschen in seinen Umrissen erkennt seine Bewegungen auch in der Tiefe erfasst und alle diese Information theoretisch weiterverarbeiten kann In Kapitel 2 3 3 1 wurde bereits auf ein Video zur Steuerung eines PC Betriebssystems mit der Technologie hingewiesen Abbildung 8 1 zeigt eine Visualisierung eines Bildes aus der Kinect Sicht mit verschiedenen Farbstufen f r unterschiedliche Entfernungen der jeweiligen Objekte Abb 8 1 Visualisierung der Kinect Raumdaten Angelehnt an das Funktionsprinzip des in Kapitel XXX beschriebenen Reactable k nnten ebenfalls Objekte im Raum platziert werden die etwa als Klangerzeuger oder Modulator dienen Je nach Position ndern sich dabei ihre Funktion oder die beeinflusse
70. dem MIDI Toolkit siehe Anhang B Seite 1 Daraufhin folgt die Definition globaler Variablen die im Gegensatz zu lokalen Variablen welche nur innerhalb einer Methode definiert werden k nnen in der gesamten Klasse gelten Dabei handelt es sich um Variablen die unter anderem als Grundlage der Berechnung der Bewegung der Infrarotpunkte dienen gewisse Schwellenwerte bilden und damit Grenze von Ausl sungsvorg ngen sind Notenwerte und deren textliche Entsprechung darstellen oder eine Grundlage der Positionsanzeige auf der GUI beschreiben siehe Anhang B Seite 2 3 Lokale Variablen hingegen k nnen von einer zur anderen Methode bergeben werden In diesem Fall steht die bergebene Variable unmittelbar hinter der Methodendeklaration in Klammern Allen Variablen ist immer ein Name ein Datentyp und dessen Wert zugeordnet der manchmal zu Beginn bereits definiert ist oft aber auch im Laufe der Anwendung erst zugeordnet wird F r Wii Infrared MIDI werden vor allem folgende Datentypen verwendet die mitunter auch in ineinander konvertiert werden Kapitel 7 Softwareprogrammierung 50 e Integer Kurzform int ganze Zahl e float Gleitkommazahl e decimal Festkommazahl e string Zeichenkette e bool Schaltvariable nur true oder false Alle Klassen Methoden und Variablen k nnen zus tzlich noch ber ihnen vorangestellte derartige Zugriffsmodifizierer wie internal private public und protected verf gen die dar ber entscheiden in
71. der zwar die Kontrolle beschriebener virtueller Audiotechnik sehr universell unterst tzt und gew hrleistet die musikalische Ausdrucksweise aber noch stark limitieren vgl CIAUSSEN 2006 Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 25 Abb 3 12 Pad Controller Abb 3 11 MIDI Keyboard Abb 3 10 Fader Controller Eine neuere Spezies dieser Schnittstellen sind die Touchpad Controller die insbesondere mit den Smartphones und Tablet PCs immer interessanter werden vgl WEBER 2010 Hiermit k nnen die Regler die ebenfalls Software Parametersteuerung erlauben ber den ber hrungsempfindlichen Touchscreen des Produkts bedient werden Ein gro er Vorteil ist die Individualisierbarkeit der Bedienoberfl che sodass Fader Dreh Regler Pads eine Klaviatur oder Sequencer Steuerungselemente nach eigenen Vorstellungen in verschiedenen Zusammenstellungen in einem eigenen Editor kombiniert werden k nnen Zumeist werden die Controller Programme als sogenannte Apps beispielsweise f r iPhone und iPad angeboten und liefern ohne den Kauf eines Touchscreen Produkts zu ber cksichtigen f r relativ wenig finanziellen Aufwand eine sinnvolle und auch flexible L sung Eines dieser Programme f r Apple Produkte ist TouchOSC der Firma Hexler vgl HEXLER NET 2011 In einem Screenshot in Abbildung 3 13 ist eine Kombination verschiedener Steuerungselemente zu sehen Zus tzlich sei auf das Video der Seite PIXIL INFO 2011 verwiese
72. der neben der reinen Produktion auch Interpretation Komposition und wie oben kurz beschrieben sogar die Distribution von Musik in sich vereinen kann und somit vom Instrumentalisten unabh ngig wird Zusammenfassen l sst sich diese Tendenz unter dem Schlagwort der flexiblen Spezialisierung bei der die Musikschaffenden frei von unmittelbaren musikindustriellen Vorgaben werden aber daf r umso mehr auf ihre Selbstbehauptung am freien Markt angewiesen sind Der qualitative Wandel geht also von der Musikproduktion unter Bedingungen der Kulturindustrien zu neuen weniger k nstlerisch als vielmehr unternehmerisch autonomen Formen von Musikproduktion SMUDITS 2008 Eine weitere Folge der beschriebenen Demokratisierung besteht au erdem darin dass sich Firmen aufgrund steigender Nachfrage mit ihren Produkten nun verst rkt nach den Bed rfnissen des Universal Talents Produzent als neue Zielgruppe richten vgl GROSSMANN 1995 Wie schon im vorigen Kapitel erw hnt ben tigen die neuen Formen der Instrumente passende Eingabeinterfaces die gebrauchstaugliche Steuerung erm glichen aber auch eine k nstlerische Verbindung herstellen Das Folgende Kapitel widmet sich darum eingehend diesen sogenannten Controllern Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 24 3 2 Neue musikalische Interfaces In den letzten beiden Kapiteln ist resultierend aus den Ver nderungen der Musikproduktion dargelegt worden dass de
73. der revidiert siehe Anhang B Seite 7 private void A Switch back In gleicher Weise spielen sich die Switch Back Befehle ab Zun chst wird der dem Feld entsprechende Notenwert um 1 verringert bevor berpr ft wird ob diese untere Grenze ebenfalls durch ein Schaltelement festgelegt unterschritten ist Sollte dies der Fall sein so wird die Notenwertsubtraktion wieder aufgehoben siehe Anhang B Seite 8 Die f nf anderen Switch Back Methoden entsprechen dieser bis auf die Verwendung des jeweiligen Notenwerts 7 3 2 4 4 Wiimote Gestenerkennungsmethoden Der Mittelpunkt der Anwendung besteht aus den Wiimote Methoden in denen die Gestenerkennung abl uft die letztlich zum Ausl sen der gew nschten Befehle durch eine bestimmte Eingabe ber den Nutzer f hrt Als erstes wird die Methode angef hrt die f r die Ausl sung der Samples zust ndig ist void wm WiimoteChanged object sender WiimoteChangedEventArgs e Durch den Eventhandler siehe Form1 Load Methode wird diese Methode immer aufgerufen sobald sich die Statusinformationen der Wiimote ndern Alle n tigen Wiimote Statusdaten werden durch den Parameter e weitergegeben Zur Vorbereitung der Erkennung der Ausl sungsbewegung laufen daher folgende Arbeitsschritte ab e Abrufen der x und y Positionsdaten der drei Infrarotsignale in fLoat Variablen ber den Parameter e e Deaktivieren des vierten Infrarotsignals das nicht ben tigt wird und ansonsten nur zu programmtechnisc
74. des der drei IR Signale separat in der Syntax niedergeschrieben siehe Anhang B Seite 9 11 void wm WiimoteChanged Switch object sender WiimoteChangedEventArgs e Im Unterschied zur soeben dargelegten Methode dient wm WiimoteChanged nur zur Erkennung der Eingabe nicht aber zur Ausf hrung des Befehls Daf r wird auf die Switch Methoden in Kapitel 7 3 2 4 3 verwiesen Die Similarit t zur letzten Methode besteht jedoch in der Erkennungsweise der Geste Durch den Eventhandler f hren sich ndernde Wiimote Statusdaten die dann ber den Parameter e bergeben werden auch hier immer zum Methodenaufruf Zur Vorbereitung auf den Entscheidungsproz ess der Methode werden untenstehende Vorg nge analog zu wm WiimoteChanged ausgef hrt e Abrufen der x und y Positionsdaten der drei Infrarotsignale in fLoat Variablen ber den Parameter e e Deaktivieren des vierten Infrarotsignals e Aufrufen der Methoden zur Geschwindigkeitsberechnung in x Richtung e Aufrufen der Methoden zur Berechnung der Positionsdifferenzen in x Richtung F r die genaue Erkl rung des Switch Befehls wird an dieser Stelle zun chst noch einmal auf Abbildung 5 5 in Kapitel 5 1 auf Seite 41 hingewiesen die den Prozess anschaulich visualisiert Die Anforderungen durch die if Schleife zur Ausl sung des Befehls bestehen in vier einzelnen Bedingungen Zun chst m ssen die Geschwindigkeiten der beiden IR Punkte die die horizontal dynamische Ausl sebewegung beschreiben ein
75. dlagen 36 5 Konzeption In diesem Abschnitt werden die Ergebnisse und Zusammenh nge des Prozesses der Ideenfindung dargestellt und in verschiedenen Konzepten pr sentiert Die genauen technischen Details und Ausf hrungen werden erst in Kapitel 7 zur Softwareprogrammierung dargelegt Es geht vielmehr darum einen berblick ber das entwickelte System zu gewinnen Daher sind an vielen Stellen auch Verweise zu anschlie enden Kapiteln eingef gt um den Charakter einer bersicht zu wahren Allerdings muss an dieser Stelle auch erw hnt werden dass sich viele der nun folgenden Erkenntnisse und berlegungen erst w hrend des Programmier und Entwicklungsvorgang ergeben haben Die wichtigste Eigenschaft die bereits definiert wurde und das System charakterisieren soll ist die intuitive Befehlseingabe ber die Wiimote Daher ist es eine wichtiges Anliegen dieses auch zu garantieren Im Sinne der Definition von intuitiv in Kapitel 2 1 in Bezug auf ein Interfacesystem kommt es demnach daraufan dass unbewusste psychische Prozesse des Handelns genutzt werden k nnen um sie in den Vorgang der Erzeugung von Musik einzubinden Das kann beispielsweise die direkte Reaktion auf ein auditives Signal sein auf das der Nutzer antwortet oder Bewegungen im Rhythmus die als Eingabe verwendet werden Die Bedienung soll wenn m glich auch eine nat rliche Geste sein die um eine schnelle Eingew hnung in das System f r die verschiedensten Gruppen von Nutzern
76. e end die Differenz der Werte und schlie lich noch der Betrag gebildet da das Vorzeichen der Differenz bei derlei Abstandsberechnungen nicht relevant ist berechne_X_Gap23 und berechne_X_Gap13 beinhalten abgesehen von den differierenden IR Punkten die gleiche Codestruktur 7 3 2 4 3 Switch Methoden Anschlie end werden die Methoden zur Ausf hrung der Switch Back sowie Switch Forward Befehle der verschiedenen Felder gezeigt Diese d rfen aber auf keinen Fall mit den Methoden der Gestenerkennung zur Ausl sung der Switch Methoden verwechselt werden die im Abschnitt Wiimote Methoden dargelegt werden Alle sechs Felder sind mit Gro buchstaben entsprechend Abbildung 7 7 benannt worden Nach diesen Buchstaben werden ebenfalls die int Variablen der MIDI Notenwerte bezeichnet Stellvertretend f r die anderen Switch Forward Methoden B_Switch_fwd C_Switch_fwd D_Switch_fwd E_Switch_fwd F_Switch_fwd wird nun A_Switch_fwd erkl rt A C E F Abb 7 7 Benennung der Felder Kapitel 7 Softwareprogrammierung 58 private void A Switch fwd Die Hauptaufgabe besteht hierbei in der einfachen Addition des Werts 1 zum entsprechenden MIDI Notenwert des Feldes Zus tzlich soll sichergestellt werden dass dieser Notenwert den durch die NumericUpDown Schaltelemente begrenzenden Notenbereich siehe Kapitel 7 3 1 zur Bedienoberfl che des Feldes nicht berschreitet Dazu wird die Notenwertaddition falls die gegebene Grenze erreicht ist einfach wie
77. e Elektrizit tsversorgung das Verkehrssystem oder Funk und Fernsehen Dieser Art von Technik die meist von Organisationen wie beispielsweise Gro firmen oder dem Staat betrieben werden kann man sich als Einzelperson nicht mehr problemlos entziehen Viele oder fast alle gebr uchlichen Ger tschaften sind auf diese Infrastruktur der gro technischen Systeme angewiesen Sie sind essentiell f r das Alltagsleben und es besteht darum also ein gewisser Zwang sie zu nutzen Das hei t eine Unzahl unserer Handlung svollz ge ist institutionell oder organisatorisch mit derartigen Systemen verwoben die und das ist entscheidend eine Art Automatismus entfalten indem die uns zu bestimmte Verfahrensweisen zwingen HUBIG und JELDEN 1994 Dem Individuum ist es somit zwar m glich die beschriebenen Systeme zu nutzen allerdings nur noch in vorgegebenen Handlungsspielr umen ohne oder mit eingeschr nkten Optionen womit das unabh ngige Vorgehen mittels Steuerung bzw Regelung durch den Einzelnen nicht mehr m glich ist und damit auch keine bernahme von Verantwortung mehr 2o03 1 2 Transklassische Technik HUBIG entwickelt in Bezug auf derartige Auspr gungen des technischen Fortschritts den Begriff der transklassichen Technik der prinzipiell das Ph nomen beschreibt dass sich Natur und Technik in manchen Disziplinen der Wissenschaft nicht mehr eindeutig trennen lassen Dabei ist die Ver nderung der Schnittstellen zwischen menschlichem Akteur und
78. e Komplexit t und Un bersichtlichkeit der Software und ihre daraus resultierende manchmal schwierige Bedienung vgl MEIER 2008 Allein der Umfang der Handb cher die nicht selten mehr als tausend Seiten beinhalten spricht hier f r sich und obwohl an der Erleichterung der Bedienung gearbeitet wird und ebenfalls Video Tutorien dazu angeboten werden kann sich das Erlernen solcher Software als zeitintensives Unterfangen gestalten Inwieweit dadurch der eigentlich k nstlerische Aspekt des Musizierens verloren geht und dabei von der reinen Kompetenz zur Bedienung von Technik und Software verdr ngt wird versuchen die folgenden Kapitel zu kl ren 3 1 4 Gesellschaftliche und musikalische Auswirkungen Um nunmehr einen vollst ndigen Blick auf das Thema der digitalen Musikproduktion werfen zu k nnen fehlt neben der in den vorigen Kapiteln zusammengefassten geschichtlichen Entwicklung der Beschreibung der M glichkeiten und deren Vor und Nachteile nun noch ein Wort zu den Auswirkungen die aus dem Digitalisierungs und Visualisierungsprozess resultieren Diese sind zum Teil eng miteinander verbunden bzw bedingen sich gegenseitig 3 1 4 1 Verlust von Referenzierbarkeit des Klangs Aus musiktheoretischer Sicht stellt der Verlust einer spezifischen Referenz des Klangereignisses welche nun erl utert wird die wohl erheblichste Konsequenz dar Die Ursache von Schall in Form von Ger usch Klang Ton oder Knall ist grunds tzlich immer eine Schwin
79. ed object sender EventArgs e channelId int midiChannel Value 1 private void midilnstrument ValueChanged object sender EventArgs e programId int midilnstrument Value 1 gmMidilnstrument SelectedIndex programId private void gmMidilnstrument SelectedIndexChanged object sender EventArgs e programId gmMidiInstrument SelectedIndex midilnstrument Value programId 1 Kapitel 9 Anhang B Quelltext 97 Abbildungsverzeichnis Abb 2 1 Produktentwicklungsprozesses nach Usability Prinzipien seen 4 Abb 2 2 Aspekte der Benutzerfreundlichkeit esee ntes ttt tttnn tentent tentes 5 Abb 2 8 Prozess nutzerorientierten Gestaltung uet teeibserits eil iaces td victus ee bteso tts teta Pu naar eR dtl 7 Abbe2 4 Apple LPad Seene 11 Abb 2 5 User Experience i ec e oe ote te e ate UNE e det 13 Abb 8 1 EE e E 16 Abb 3 2 Aka MPC 60 5atnpler ee ette SEA 16 Abb 3 37 Roland D R 808 5 22 2222 22228 22a RE a tte ete tdi e Netto 17 Abb 3 4 Roland TR E 17 Abb 8 5 Native Instruments Reaktor se ange REIR UR HIR DE En gn 18 Abb 5 6 Artuna Moog Modulator tu ette eo HW UR ORE TORRE UAE REG bo ie getto 18 Abb 3 7 Digital Audio Workstation Logic 5t1di69 2a geed rne Cou 19 Abb 3 8 PianeRollinTogisSule use tle nee Denen Mal len en 20 Abb 3 9 Musikkonsum und Musizierern 4 ettet ine en ede tc ebd 24 A amp bb 5 10 Eader Controller EE 26 Abbz 3 r12 MEDEReyboar
80. edialen Umgebung vor allem durch die vielen verschiedenen Apps Kurzform von Applikation eine Erlebniswelt schaffen die gef llt ist mit Assoziationen Es vermittelt den Eindruck als k nne der Nutzer damit eine eigene ganze Geschichte erleben Apple baut sich mit dieser Art der Interpretation von Joy of Use gleichfalls eine komplette Firmenphilosophie und identit t auf Hierbei wird oftmals auch von Erlebnisarchitektur gesprochen wobei eine Dienstleistungen weit ber Inhalte und Informationsverarbeitung hinaus geht vgl STAPELKAMP 2010 Donald Norman ein bereits emeritierter Professor f r Kognitionswissenschaften der University of San Diego l sst sich abschlie end zu User Experience mit folgenden Worten zitieren It s not enough that we build products that function that are understandable and usable we also need to build products that bring Joy and excitement pleasure and fun and yes beauty to people s lives NORMAN 2004 Kapitel 2 Begriffe 14 3 Entwicklung des Interfaces in der digitalen Musikproduktion Folgende Kapitel dienen dazu ein kurzes Res mee ber die Entstehung und Entwicklung der digitalen Musikproduktion und ihre Auswirkungen und Folgen zu geben Anhand dieser Fakten und der soeben erfolgten Definition der Begriffe Interface bzw des Interfacedesign wirft Kapitel 32 danach einen ausf hrlichen Blick auf die Art musikalischer Interfaces die zur Konzeption und Realisation von Musik am PC mittlerweile gebr uchlic
81. egen ber jedermann zu bewahren Die Ver ffentlichung oder Weitergabe meiner Studien bzw Diplomarbeit darf in diesem Falle nur in Absprache mit dem Leiter des Instituts f r Arbeitswissenschaft der TU Darmstadt erfolgen Bei Arbeiten ohne externen Auftraggebern liegen alle Rechte an der Studien bzw Diplomarbeit darunter das Recht der Ver ffentlichung der Verbreitung und das Besitzrecht an der Idee zu gleichen Teilen bei IAD Betreuer und dem der Bearbeiter in und k nnen innerhalb einer Frist von 2 Jahren nach Abgabe der Arbeit nur durch Zustimmung von mindestens zwei der drei Parteien wahrgenommen werden Nam die Vorname eer eege DIR 0 1 dier iu atum NIi iinsstdesesuhstuseneA Unterschrift 0 2s seen Geheimhaltungserkl rung Rechte an der Arbeit ii Zusammenfassung In der vorliegenden Bachelor Thesis wird der Entwicklungsprozess eines Interfaces zur intuitiven Musikproduktion dargestellt das final in der Lage ist mit Hilfe von Infrarotsignalen die mit der menschlichen Mechanik verbunden sind und dem Wiimote Videospielcontroller Bewegungen direkt in die Klangerzeugung umzusetzen und somit Musik zu machen Zun chst werden dazu grundlegende der Thematik entsprechende Termini beschrieben die die Grundlage des weiteren Vorgehens bei der Konstruktion der Schnittstelle bilden Insbesondere der zentrale Begriff des Interfaces wird hierbei sehr ausf hrlich erkl rt wozu ferner ein Exkurs in die Techn
82. eint jedoch dass die in vielen Personal Computern fest eingebauten Bluetooth Empf nger nicht immer einwandfrei funktionieren Darum kann zus tzlich noch ein USB Bluetoothadapter verwendet werden der dies garantiert Im vorliegenden Fall wird zu diesem Zweck ein solcher Adapter der Firma Hama benutzt siehe Abbildung 4 8 Ferner wird noch eine Software ben tigt die letzten Endes die Verbindung aufbaut Eines dieser Programme Blue Soleil zeigt Abbildung 4 7 Das Programm zeigt m gliche Bluetooth Kommunikationger te an und erm glicht bei Bedarf den Datentransfer An der Wiimote m ssen f r den Verbindungsaufbau die Kn pfe 1 und 2 bet tigt werden woraufhin die blauen LEDs der Fernbedienung anfangen zu blinken und ein Bluetooth Signal ausgesendet wird das von der Bluesoleil Software erkannt wird und der Kontakt hergestellt wird BlueS ett SS Abb 4 8 Hama Bluetooth Adapter Abb 4 7 BlueSoleil Software Kapitel 4 Technische Grundlagen 34 4 3 Musiksoftware Nachdem durch Bluetooth und MIDI die Kommunikationsm glichkeiten soweit hergestellt sind sodass Eingabebewegungen der IR Quellen in die passenden MIDI Befehle bersetzt werden k nnen m ssen nun folglich noch Programme zur Klangerzeugung ausgesucht werden Wie bereits in der Konzeption vorgestellt soll daf r ein Software Sampler der vor allem auf Drum und Percussion Sounds spezialisiert ist eingesetzt werden Grundvoraussetzung ist hierbei nat rlich auch d
83. eiterhin werden die Anforderungen an Funktion und Bedienoberfl che des Schnittstellen Programms gestellt dessen Erstellung in der Entwicklungsumgebung Visual Studio 2010 von Microsoft die ebenfalls vorgestellt wird anschlie end detailliert geschildert wird Abschlie end wird f r den Nutzer eine Installations und Bedienungsanleitung formuliert sodass jeder Anwender mit Wii Infrared MIDI arbeiten kann Zusammenfassung ESSA Inhaltsverzeichnis Erkl rung zur vorliegenden Arbeit gem 22 7 bzw 23 7 APB es i Geheimhaltungserkl rung Rechte an der Arbeit aus ee RER ii AE er UE a Ha len a A fen ii Inhaltsverzeichnis unse u ee ee iv EEUU m 1 M dioc M 3 GC EE E rne n Oh e a eb DOT d Obat dne at en pe bib 3 2 2 Usability 2 9 Interface 2805 KE 8 2 3 11 Mensch Technik RelatiOl aratri tret e Bo ds ke bleed a nenne 8 2 39 59 Transklassische Technik ie eta ped A 9 2 32 Begriff des Interface ee ee 10 2 33 Ee E 2 33 1 Eingabe und Ausgabemedien 2 33 22 User Experience nd Joy of U Serre ei I ae 13 3 Entwicklung des Interfaces in der digitalen Musikproduktion EE 15 3 1 Neuere Entwicklung der Musikproduktion naar Le 15 8 1 1 Digitalisierung ee tod Hi rectis tla PER ce noce d 15 8 19 e EEN 17 3 13 Auswirkungen von Digitalisierung und Virtualisierung seent 20 3 14 Gesellschaftliche und musikalische Alswirkungn 2 an 21 3 14 1 Verlust von Ref
84. elektronischen Sounds nur mehr unter Hinzuziehung kosmischer oder psychedelischer Raumkonzepte m glich SMUDITS 2008 Ein Beispiel daf r ist auch das sogenannte Physical Modeling mit dem sich prinzipiell alle m glichen auch in der Realit t nicht umsetzbaren Ausformungen von Klangk rpern in jeglichen Raumkonzepten simulieren lassen und keine physikalischen Einschr nkungen mehr gegeben sind Somit entstehen abstrakte hybride Instrumentenmodelle die nur noch mit Metaphern wie gestrichene Fl te die Lufts ule eines Blasmodells wird mit einem Bogen erregt oder geblasenes Cello das Modell einer Seite die durch anblasen in Schwingung versetzt wird usw HARENBERG 2003 beschrieben werden k nnen Es lassen sich zu Abschluss dieses Kapitels demnach zwei Entwicklungen erkennen Die Erste besteht darin dass in der digitalen und virtuellen Musikproduktion zwar oftmals analoge Instrumente ihrem realen Vorbild nach m glichst ebenb rtig simuliert werden diese aber nicht mit den blichen Eingabeger ten eines Computers angebracht gespielt werden k nnen und dadurch die Kreativit t und Intuitivit t die musizieren und vor allem den Kompositionsprozess identifiziert verloren geht Gleichzeitig jedoch werden ebenfalls immer neuartige Sounds gesucht und erschaffen die wie oben beschrieben keine oder kaum eine Entsprechung in der Realit t vorweisen k nnen aber dennoch immer st rker in neuartigere Musikformen mit einflie en Ei
85. elle zu Kamera von einem Meter die Arbeitsfl che ein Rechteck mit den Seitenl ngen von 0 72 und 0 54 Metern dar Dies entspricht mit einem Seitenverh ltnis von 4 3 auch logischerweise der Aufl sung der Kamera von 1024x768 Pixel Wiimote von der Seite Wiimote von oben Abb 5 4 Wahrnehmnung der Infrarotkamera und Einteilung der Arbeitsfl che Kapitel 5 Konzeption 29 Um ausreichend Spielraum f r die vertikale Bewegung zum Ausl sen der Samples zu gew hrleisten m ssen nun die einheitlichen Teilfl chen dimensioniert werden Da sich die Distanz von ungef hr einem Meter zwischen Wiimote und IR Quelle im Laufe der weiteren Entwicklung als sinnvoll herausgestellt hat wird die imagin re Arbeitsfl che des Interfaces nun in insgesamt sechs gleichf rmige Bereiche unterteilt die wie Abb 5 4 ebenfalls darstellt mit den Ausma en von 0 27m mal 0 24m ann hernd quadratische Formen annehmen und sich in zwei Felder Richtung der y Achse und drei Felder bez glich der x Achse gliedern Mit der soeben erfolgten Aufteilung steht gen gend Platz zur Verf gung um die Bet tigungsbewegung einwandfrei auszuf hren Zun chst sei hier erw hnt dass um die exakte Kontrolle der IR Signale zu garantieren Handschuhe mit darauf befestigten Infrarot Leuchtdioden verwendet werden die in Kapitel 6 vorgestellt werden Von den insgesamt drei LEDs sitzen zwei auf beiden Zeigefingern der Handschuhe und der dritte auf dem rechten Mittelfinger Ziel d
86. em auf die Daten der Infrarotkamera zugegriffen speziell auf die Positionen und Eigenschaften der einzelnen IR Signale w hrend im C MIDI Toolkit die Variablen des MIDI Notenwerts und der Velocity ben tigt werden sowie die simple Anweisung ob ein MIDI Befehl ausgesendet wird Alle diese Vorg nge werden im Kapitel zu eigentlichen Softwareimplementierung ausf hrlicher dokumentiert Es sei noch ein Hinweis auf die Vielzahl an eindrucksvollen Anwendungen gegeben die gerade auf der WiimoteLib basieren und auf WIIMOTE BASED APPLICATIONS 2011 angeschaut werden k nnen 7 3 Wii Infrared MIDI Der folgende Teil kann als der Hauptteil dieser Bachelor Arbeit bezeichnet werden denn im Folgenden wird das Interface Programm detailliert beschrieben Dazu wird zun chst auf die Software Bedienoberfl che eingegangen die nach M glichkeit den in Kapitel Konzeption verfassten Anforderungen entsprechen sollte Desweiteren wird im Abschnitt zur Implementierung in aller Einzelheit der Aufbau von Wii Infrared MIDI mit den einzelnen Methoden bezogen auf deren Funktionen beleuchtet Auch hier sollen dementsprechend die formulierten Anspr che umgesetzt werden Abschlie end soll f r den Anwender noch eine Installations und Gebrauchsanweisung gegeben werden die jedem Nutzer den Einsatz von Wii Infrared MIDI anschaulich n herbringen sollte Alle programmtechnischen Begriffe sind in der dem Quelltext entsprechenden Schrift im Text eingebaut und dazu zus tzlich zu
87. en so gibt es jedoch auch Anwendungen die mit anderen Formen der Eingabe wesentlich leichter und effektiver zu bedienen sind Sie fallen unter den Begriff der Tangible Interfaces die dem Nutzer erm glichen sollen unmittelbar mit digitalen Daten und Diensten zu interagieren Tangible bezeichnet bersetzt etwa greifbar oder f hlbar Vor allem im Bereich des kreativen Gestaltens wie beim Grafikdesign oder der Musikproduktion scheint diese Art der Eingabe zweckdienlicher Auch bei der Entwicklung von Spielekonsolen zeichnet sich der bergang vom normalen Gamepad Controller zu neuen Formen der Eingabe ab Alle f hrenden Hersteller auf diesem Gebiet bieten mittlerweile Konsolen an die die Bewegungen des Spielers erkennen und verarbeiten k nnen Als Beispiel dient hier die so genannte Kinect Erweiterung der Xbox 360 von Microsoft die ebenfalls zu Steuerung von normalen PC s umgebaut werden kann Ein Beispiel zeigt das Video auf KINECTHACKS NET Interfaces zur digitalen Musikproduktion werden in Kapitel 32 ausf hrlich vorgestellt Anhand dieser Beispiele soll deutlich werden dass wenn auch Maus Tastatur und Bildschirm die weitaus meistgenutzten Ein bzw Ausgabeger te f r den PC darstellen sie dennoch nicht die Einzigen und vor allem nicht immer die Effektivsten sind Die Interfaceeinheit die im Laufe dieser Arbeit entwickelt wird f llt ebenfalls unter die Kategorie der kreativen Eingabemedien am Personal Computer Kapitel 2 Begriffe 12 2 3
88. en und ihrer Aufgaben der eigentlichen detaillierten Ausf hrung voranzustellen Tabelle 4 1 zeigt alle benutzten Methoden der MainForm Klasse und dem bergeordnet eine Einteilung in ihre jeweiligen Aufgabenbereiche Kapitel 7 Softwareprogrammierung 53 Tabelle 4 1 bersicht der einzelnen Methoden berbegriff Methode MainF EN Nm FormiLoad berechne V3 x berechne X Gap12 berechne X Gap23 berechne X Gap13 Wiimote wm WiimoteChanged object sender WiimoteChangedEventArgs e Gestenerkennungsmethoden wm WiimoteChanged Switch object sender WiimoteChangedEventArgs e UpdateState WiimoteChangedEventArgs args Wa imate UpdateWiimoteCh d WiimoteCh dE tA GUTSzeichennsthoden pdateWiimoteChanged WiimoteChangedEventArgs args UpdateIR IRSensor irSensor Color color GUI Methoden j Timer Methoden Kapitel 7 Softwareprogrammierung 54 7 3 2 4 Beschreibung der Methoden An dieser Stelle muss zun chst darauf hingewiesen dass einige Methoden auf dem Programm WiimoteTest von PEEK 2009 und der entwickelten Wii Drum Synth Applikation basieren vgl WIIDRUMSYNTH CODEPLEX deren beider Quelltext auf CODEPLEX COM ffentlich und fra verf gbar ist Die Beschreibung der Methoden erfolgt nun der Reihenfolge der Liste 4 1 und ihrer Einteilung nach Falls es zur besseren bersicht dient werden die dazugeh rigen Befehle und Operationen die darin jeweils implementiert sind gegebenenfalls in stichpu
89. er geforderten Mindestgeschwindigkeit entsprechen F r die Switch Forward Ausl sung muss hierbei einfach der Schwellenwert V x Thres plus bertroffen werden bei der Bet tigung der Switch Back Befehle kehren sich jedoch die Vorzeichen um denn eine vom Anwender daf r ausgef hrte Ausl sebewegung nach links zieht eine negative x Geschwindigkeitskomponente nach sich Damit folgt dass hier ein gewisser Schwellenwert V x Thres minus unter statt berschritten werden muss Beide Anforderungswerte besitzen denselben Betrag unterscheiden sich logischerweise jedoch hinsichtlich des Vorzeichens Zur Verhinderung von zuf llig bet tigten Ausl sung einer Methode bei Eintreten der LEDs in die Kamerafl che ist auch bei den Switch Befehlen wie schon bei der Sampleausl sung eine positive Kapitel 7 Softwareprogrammierung 61 Maximalgrenze der Geschwindigkeit V_x_Max f r die IR Bewegungen beim Forward Befehl und eine entsprechende negative Maximalgrenze V_x_Min f r den Back Befehl eingebaut Diese Grenzen besitzen ebenfalls den gleichen Betrag Desweiteren soll zugleich sichergestellt werden dass sich die IR Punkte bei der Bet tigungsbewegung untereinander befindet Daf r werden die Berechnungen zu den Positionsdifferenzen bez glich der x Achse ben tigt Die dritte Bedingung stellt demnach sicher dass diese Differenz einen Maximalwert des Positionsunterschieds X_Gap_Max nicht berschreitet Auf die Vorzeichenproblematik muss hierbei nicht
90. eraus folgen etliche Vor aber auch Nachteile die im Folgenden kurz erl utert werden Dieser berblick legt hierbei jedoch keinen Anspruch auf Vollst ndigkeit und Ausf hrlichkeit da dies im Rahmen dieser Arbeit unangebracht w re Es werden vielmehr nur die wichtigsten dieser bewertenden Elemente aufgez hlt Der wohl meistgenannte und wichtigste Vorteil ergibt sich hinsichtlich des finanziellen Standpunktes Der Kaufpreis ist mit dem realen Studioequipments nicht zu vergleichen und alle Komponenten k nnen problemlos auch in einem sogenannten Home Studio aufgebaut und miteinander kombiniert werden Weiterhin ergibt sich eine wesentliche Steigerung der Flexibilit t Klangparameter lassen sich in DAW Programmen unbegrenzt speichern automatisieren und bearbeiten Eingaben und Bearbeitungsschritte k nnen beliebig oft wiederholt sowie widerrufen werden So gut wie alle Instrumente sind zu jeder Zeit direkt verf gbar Zudem sind auch nicht mehr vorhandene originale Instrumente mit Hilfe von virtuellen Nachbildungen wieder zug nglich Inwieweit die Klangqualit t sich mit den jeweiligen Originalen allerdings vergleichen l sst ist fraglich Unbestritten ist jedoch dass die virtuellen Instrumente im Gegensatz zu ihren realen Entsprechungen ohne gro e Expertise werden k nnen und somit auch f r den musikalischen Laien zug nglich sind vgl CIAUSSEN 2006 Dabei dr ngt sich jedoch vor allem die Frage nach sinnvoller Bedienung dieser Software In
91. erenzierbarkeit des Kings ee een 21 3 14 2 Demokratisierung und De Professionalisierung der Musikproduktion sss 23 3 2 Neuem sikalschelntertes 2 0 0 nr E 25 4 Technische e EE 29 4 1 DIE Winrotei ee ee NORD AR St b e tetigi 4 2 Verwendete Daten bertragungsprotokolle S ck MIDI Schnittstelle ettet Ra IRRE 4 29 Bliiet oth Verbinden Reg 34 4 3 EE 35 bi Konzeption EEN 37 CN E lte 38 5 09 coftware BedienoberBaches 5 et en e tte tee e Nep dida 41 6 gt RI TR Ee 43 E Seen een 44 le CMisualStudio EXpressz eerte obe bere EEE 44 Td Pro tammiersprache rennen eek nk 45 4 12 W ndows Forms Application st lle 46 qu Managed be 47 7 3 Mar Infrared MID eesriie ten tiat mee tdeo petant ba nk 47 Inhaltsverzeichnis iv 7 3 1 Craphical UserInterkce 2 2 u mar an FU RE a 48 1 32 EES 50 T321 E E WEE 50 7 32 2 Koordinatensystem 7 32 3 bersicht der EE 53 7324 Beschreibung d r Methoder u e ota netiis EE 55 7 99 47 tab EE e E EE 55 73242 Berechnungsmeth den esesnien ee 56 7 9 9 4 9 55 wltch Methoden ao see ee edere eic Ee eerte be ee EEN 58 7 32 4 4 EE EE 59 7 32 4 5 Wiimote GUI Zeichenmethoden 7 3 2 4 6 Dmer AMetbhoden 7 32 41 G BE E det 7 33 Benutzerhandbuch eeesnnnsnnsnnnennnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnenennnnnnnnnnnnennenennenennennne 67 7 33 17 Installitionsanleltutig ea A ee 67 1 33 2 Bedienungsanletung sn
92. fgaben sowie sein gesamtes Umfeld Abbildung 2 1 veranschaulicht diese Vorgehensweise bei der Produktentwicklung nach Usability Prinzipien SES E objectives Usability extent to which goals are achieved with effectiveness efficiency and satisfaction effectiveness Abb 2 1 Produktentwicklungsprozesses nach Usability Prinzipien Usability l sst sich weiterhin auch immer nur bei einer Kommunikation zwischen Mensch und Maschine definieren wenn also eine Interaktion dieser Parteien stattfindet und Informationen ausgetauscht werden m ssen vgl STAPELKAMP 2010 Ist nun der erw hnte Kontext festgelegt kann untersucht werden inwieweit ein System effiziente und effektive Arbeit gew hrleistet und den Anwender seine Ziele zufriedenstellend erf llen l sst Zur Evaluation eines Produktes hinsichtlich dieser Attribute gibt es mittlerweile etliche Verfahren Diese zu thematisieren ist allerdings nicht Aufgabe der Arbeit Den zweiten Terminus zu Usability beschreibt die Benutzerfreundlichkeit unter der man im Allgemeinen die Nutzungsqualit t bei einer Interaktion mit einem System versteht BRUDER et al 2010 geben mit SPINAS et al 1990 etwa folgende Definition Kapitel 2 Begriffe 4 ein Dialogsystem ist dann als benutzerfreundlich zu bezeichnen wenn es den Benutzer durch vielf ltige Anwendungsm glichkeiten von Routinearbeit entlastet und ihn bei hoher Verf gbarkeit in der Interaktion am Bildschirm seiner Erfa
93. fiehlt oder im Falle eines Events wenn ein bestimmtes Ereignis ausgel st wird dass wiederum die Methode aufruft Im vorliegenden Fall ist dieses Ereignis zum Beispiel dass ein bestimmter Datenparameter der von der Wiimote gesendet wird ver ndert wird wodurch dann der Methodenaufruf erfolgt Ein Delegat wiederum beschreibt nur die Weiterleitung des Methodenaufrufs des Ereignisses an die eigentliche Methode Diese Vermittlung muss jedoch manchmal eben durch das Delegat angepasst werden um die Funktion des Gesamtsystems aufrechtzuhalten vgl K HNEL 2010 Zur letzten wichtige Syntax Form die hier kurz erkl rt werden z hlt der sogenannte Timer Dieser entspricht einer Methode die in einem gewissen definierten Zeitabstand immer wieder aufgerufen und ausgef hrt wird und dessen Intervall in sogenannten Ticks festgelegt wird Ein Tick entspricht dabei einer Millisekunde Kapitel 7 Softwareprogrammierung 51 7 3 2 2 Koordinatensystem An dieser Stelle soll noch eine Anmerkung zur Anlage des Koordinatensystems gemacht werden das sich als recht komplex herausstellt Bei ihrer eigentlichen Verwendung wird die Wiimote h ufig als Zeiger verwendet die eine feste ber oder unter dem Fernsehger t installierte Infrarot LED Leiste anvisiert um einen Cursor im Videospiel zu steuern Wird nun die Wii Remote beispielsweise nach links bewegt um den Zeiger in diese Richtung zu lenken bewegen sich aus Sicht der IR Kamera die LEDs nach rechts
94. ftwareprogrammierung 48 der Notenwert des Feldes durch die Switch Befehle variiert werden kann damit es zu keinen berschneidungen zwischen den einzelnen Abschnitten kommt Feld D unten links in Abbildung 7 3 kann beispielsweise die MIDI Notenwerte zwischen 60 und 66 annehmen Desweiteren wird ein weiterer NumericUpDown verwendet um die Sensitivity also die Empfindlichkeit des Systems auf die Bewegung der IR Punkte zu regeln Darunter ist eine sogenannte Trackbar angebracht mit dessen Hilfe die Mindest Velocity des ausgel sten MIDI Befehls festgelegt wird und die vor allem dazu dient die unterschiedliche Lautst rke beim Aktivieren des Samples anzupassen falls die Velocity sehr differierende Werte annimmt Der Schriftzug WiiMIDI besitzt keine Funktion und fungiert allein als grafische Aufwertung der Softwareoberfl che Am unteren Ende dieser ist die Anzeige der restlichen Batterieleitung in einer gr nen ProgressBar visualisiert Daran ist auch immer zu erkennen ob eine Wiimote dem System angeschlossen ist Falls dies nicht der Fall ist ist die gesamte Batterieleiste leer Eine weitere wichtige Komponente ist das eingebaute Optionsmen in der oberen Leiste des GUI mit dem sich die MIDI Optionen anw hlen lassen siehe Abb 7 4 In Visual Basic bedeutet ein neues Fenster immer auch ein komplett neues Windows Forms Element mit einer eigenen Klasse Dieses Element ist hierbei jedoch mit seinem ganzen visuellen Aufbau und allen seinen in der
95. gung eines Gegenstandes Die darauf folgende wellenf rmige Ausbreitung von Druck und Dichteschwankungen in einem elastischen Medium wie Luft wird dann eben als Schallwelle bezeichnet und kann vom Menschen wahrgenommen werden Dabei h ngt die Charakteristik eines Klangs von drei verschiedenen Umst nden ab der Klangquelle dem Rezipienten und der R umlichkeit vgl CLAUSSEN 2006 und G RNE 2008 Wird nun das subjektive H rempfinden des Einzelnen ausgeschlossen so definiert sich die Einzigartigkeit eines Klangereignisses ber seine Quelle und den Raum in dem es produziert wird Wie ver ndert sich dabei aber dieses Prinzip auf der digitalen und virtuellen Ebene Dazu gibt ein Blick auf die neuen technischen M glichkeiten Aufschluss Mit den beschriebenen Hardware Synthesizern wie auch Software Instrumenten l sst sich nahezu jeder Klang simulieren und imitieren Der Ursprung eines jeglichen Tons oder Ger uschs liegt dann in von Schaltkreisen implizierten Spannungsschwanku ngen und wird durch Lautsprechermembranen erzeugt Eine direkte reale Entsprechung des erzeugten Sounds gibt es nicht mehr Insbesondere instrumentale Eigenschaften wie die Klangfarbe oder der Ausdruck des Instrumentalisten bei Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 21 seinem Spiel so auch die Virtuosit t wird durch Parameter der MIDI Steuerungsdaten ersetzt vgl SMUDITS 2008 Nach STANGE ELBE 2008 wird hierbei das Prinzip von U
96. h die F higkeit mittels Steuerdaten verschiedene Klangerzeuger wie beispielsweise Synthesizer anzusteuern Diese Daten bestehen unter anderem aus der zeitlichen Abspielposition der Dauer oder der Lautst rke einzelner T ne vgl G RNE 2008 Um eine Vereinheitlichung dieser Steuerdaten zu garantieren wurde das MIDI Format eingef hrt das in Kapitel 4 2 1 sehr ausf hrlich behandelt wird Die aber wohl weitreichendste Neuerung beschreibt die Sampling Technologie Hierbei wird Audio Material aufgenommen und gespeichert um danach durch verschiedene Bearbeitungsformen ver ndert und verfremdet oder einfach ohne Manipulation beliebig oft verlustfrei wiedergegeben zu werden Es ist demnach also auch m glich verschiedene mehr oder weniger kurze Teile lterer musikalischer St cke zu samplen und diese in eigene Produktionen einflie en zu lassen In Abbildung 3 2 ist der MPC 60 zu sehen das Urgestein der AKAI Sampler Familie die zum festen Bestandteil in vielen Studios geworden ist Durch das Sampling wurden viele verschiedene Musikstile entscheidend gepr gt vor allem bei den Genres Rap und Hip Hop wird damit sehr oft gearbeitet Ein gutes Beispiel bietet das Lied Abb 3 2 Akai MPC 60 Sampler Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 16 Funky Drummer von James Brown das nach THE BREAKS COM in 184 anderen Musikproduktionen verwendet wird und damit wohl den Rekord als meist gesampletes Lied inneh
97. h ist Dar ber hinaus werden neuartige digitale Instrumente und Eingabemethoden f r die intuitive digitale Musikproduktion vorgestellt zu denen auch das in dieser Arbeit entwickelte System z hlt 3 1 Neuere Entwicklung der Musikproduktion Um die sehr weitreichende und verzweigte Geschichte die letztendlich zur Musikproduktion am Personal Computer f hrt in diesem Rahmen anschaulich zu beschreiben wird hier nochmals unterteilt in die Bereiche der Digitalisierung und der Virtualisierung von Musikerzeugung die sich unterlegt mit Beispielen auf Entstehung und Beschreibung der Fakten der jeweiligen Entwicklungen beschr nkt und im Anschluss auf die musikalischen und gesellschaftlichen Konsequenzen die daraus resultieren eingeht 31 1 Digitalisierung Wie bei vielen die Gesellschaft ver ndernden Innovationen sind technische Neuerungen und Erfindungen der Anfang dieser musikalischen Evolution In diesem Falle zeichnet haupts chlich die Weiterentwicklungen des leistungsstarken Mikrochips und des Computers daf r verantwortlich Die Abtastung analoger elektrischer Signale und deren Umwandlung und Speicherung als diskrete digitale Werte f hren zu einer qualitativen berlegenheit und weitaus h heren Flexibilitit der Digitaltechnik gegen ber der Analogtechnik die zuvor nur die direkte Aufzeichnung von Audiosignalen auf Rekordern erlaubt und fachm nnisch nur in professionellen Musikstudios unter erheblichem finanziellen Aufwand m glich war
98. h schlie lich zusammenfassen wird weitaus mehr verstanden als nur die Steigerung von Effizienz und Effektivit t im Umgang mit einem Produkt Subjektive Faktoren wie die Freude ein System zu benutzen treten immer mehr in den Vordergrund Dem Anwender soll die Interaktion einfach gemacht werden der Anwendungsprozess soll ihn bei der vollst ndigen Erf llung seiner Aufgabe unterst tzen und das mit m glichst wenig Aufwand in jeglicher Art Fehler des Benutzers sollen dabei erkannt werden und er darauf hingewiesen werden Der Nutzer muss erkennen welche Auswirkungen seine Handlungsschritte haben die gesamte Bedienung muss m glichst einfach gestaltet werden und auch etwaige Individualisierungen sollen m glich sein um bestenfalls zur Optimierung des Systems beizutragen Bei der Gestaltung von Interfaces werden wenn m glich alle diese Eigenschafte die sich unter der Definition von Usability verbergen ber cksichtigt Die Relevanz von Usability heutzutage spiegelt sich schon allein darin wieder dass es eine eigene weltweite Veranstaltung zu diesem Thema gibt den World Usability Day der im englischen auch make things easier day hei t und seit dem Jahr 2005 in mittlerweile mehr als 43 L ndern unter dem Motto Making Life Easy veranstaltet wird F r Firmen und Studenten geht es um die Pr sentation von neuen Produkten zur Vereinfachung des t glichen Alltags und den Austausch von Ideen zu den Themen Benutzerfreundlichkeit und Gebrauchst
99. heint aber in seinem Wesen und seiner Wirkung eines real existierenden Sachverhaltes gleichartig ist und demnach lassen sich digitalisierte Kl nge bereits als virtuelle Kl nge definieren Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 17 Die eigentliche Neuheit besteht nun darin dass die komplette Studiotechnologie auf die virtuelle Ebene des PCs transformiert wird Alle Kl nge Synthesizer Sampler Mischpulte wie auch Effektger te werden dabei komplett im Computer berechnet und auf seine grafische Benutzeroberfl che GUI auf angeschlossenen Monitoren projiziert Viele Instrumente und Klangmodulatoren wie auch deren reale Oberfl che sind damit vollst ndig in Form von sogenannten virtuellen Instrumenten vorhanden Dabei k nnen das beispielsweise wie erw hnt Nachbildungen von analogen oder digitalen Synthesizern sein komplett neu erschaffene reine Softwaresynthesizer ohne reale Entsprechung oder auch Software Analogons jeglicher klassischer Musikinstrumente sogar komplette Sinfonieorchester Dar ber hinaus bieten diverse Programme auch die M glichkeit in der virtuellen Umgebung eigene Instrumente zu entwickeln Reaktor von Native Instruments beispielsweise erlaubt wie im unteren Teil der Abbildung 3 5 sehr gut zu sehen ist die Konzeption eigener Synthesizer durch Kombination und Verschaltung verschiedener Bausteine die Oszillatoren Effekte Schaltungen und vieles mehr repr sentieren und damit zu f
100. hen Missverst ndnissen f hrt e Aufrufen der Methoden zur Beschleunigungsberechnung in y Richtung e UpdateState e Methode aufrufen unter bergabe der Parameter e Anschlie end wird der eigentliche Teil der Methode ausgef hrt Zun chst wird gepr ft ob die Beschleunigungswerte die vorgegebenen Bedingungen erf llen also ob die IR Bewegung etwa einer Kapitel 7 Softwareprogrammierung 59 Schlagbewegung entspricht Neben einem Schwellenwert zur Mindestbeschleunigung A_y_Thres der berschritten werden muss ist zus tzlich noch eine Grenze zu Maximalbeschleunigungen A_y_Max eingebaut die verhindern soll dass beispielsweise der Eintritt eines IR Signals in den von der Kamera wahrgenommenen Raum bei dem sehr hohe Beschleunigungswerte auftreten k nnen ein Ausl sen eines Samples nach sich zieht Diese Werte sind experimentell entwickelt worden Sind die Bedingungen erf llt wird als n chster Schritt der MIDI Parameter der Velocity in einer float veloc Variable definiert die dem Beschleunigungswert minus dem erforderlichen Schwellenwert skaliert auf die vom MIDI Standard vorgegebene Velocity Skala der Werte von 1 bis 127 entspricht Es folgen eine Konvertierung der Velocity Variable in den Typ int der zur Verarbeitung notwendig ist eine berpr fung ob der Velocity Wert auch ber dem auf der GUI einstellbaren Mindest Velocity liegt die gegebenenfalls eine Anpassung nach sich zieht und ein Sicherstellen dass der Velocity Wert das
101. hritt DJ Programme wie Traktor Scratch von Native Instruments einer Software die als kompletter digitaler Ersatz der Schallplattenspieler fungiert erlaubt das Einbinden jeglicher Musikdateien auf dem PC und bereits dadurch eine Art musikalisch kreative Handlung vgl STANGE ELBE 2008 Abbildung 3 9 zeigt verschiedene Stufen und die Verbindung zwischen Konsum von Musik und dem eigentlichen Musizieren die sich durch die genannten Entwicklungen stark ver ndert hat Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 23 zeit 1 0 1909 2000 Hohe Aktivit t Mus zeren Improvisation Virtuelles Kom position Musikinstrument f on F Digitalpiano Sampling Computer Fam Sampler Schallplatten Wiedergabe CD DVD Player Musikwunsch im Konzert MP3 Player Da Capo im Konzert Konzertbesuch UU msomen Konsum zeit H sem ER CG Abb 3 9 Musikkonsum und Musizieren All die dargelegten Tendenzen ver ndern somit auch das klassische Bild des K nstlers im Musikbereich Denn durch die M glichkeit der klanglichen Simulation in Echtzeit wird das digitale Studio zum Kompositionswerkzeug Komponist Musiker und Toningenieur zum Produzenten Die traditionelle Trennung zwischen Produktion Realisation und Rezeption wird aufgehoben CLAUSSEN 2006 Der Computer und die DAWs r cken in den Mittelpunkt des Geschehens und es entsteht ein neuer universeller Typus des Musikschaffenden
102. hrung und Ge btheit angemessene Freiheitsgrade f r unterschiedliche Vorgehensweisen gew hrt ohne ihm dadurch neue Routinearbeit und komplizierte Bedienungsoperationen aufzub rden Beigef gte Abbildung 2 2 ebenfalls aus SPIAS et al 1990 verdeutlicht dies Benutzerfreundlichkeit Anwendungsm glichkeiten Verf gbarkeit Kontrollm glichkeiten Funktionalit t Antwortzeit St rungen Handhabung I Informationen m Verarbeitungsprozesse Beeinflussbarkeit Orientierung Funktionen AUFGABEN FLEXIBILIT T UNTERST TZUNG TRANSPARENZ ANGEMESSENHEIT INDIVIDUALISIERBAR KONSISTENZ KEIT KOMPATIBILIT T FEEDBACK Abb 2 2 Aspekte der Benutzerfreundlichkeit Im Gegensatz zur Gebrauchstauglichkeit enth lt der zweite Aspekt der Usability aber auch eine wesentlich subjektivere Komponente W hrend Erstere vielleicht so etwas wie eine Art Mindestanforderung darstellt beinhaltet Nutzerfreundlichkeit ebenfalls emotionale Aspekte und l sst sich daher auch zu den Begriffen Joy of Use und User Experience die in Kapitel 2 3 3 2 n her betrachtet werden nicht abgrenzen Eine Eingrenzung in feste Normen und Richtlinien l sst sich kaum vereinbaren Jeder Einzelne das wird im Alltag schnell deutlich erf hrt die Anwendung eines Produktes auf seine eigene Art und Weise Jeder besitzt andere Grundkenntnisse und hat spezielle Anforderungen an das System Mit der Zeit und dem Fortschritt der technischen und sozialen Entwicklung nde
103. idrumsynth codeplex com Wii Drum Synth URL http wiidrumsynth codeplex com letzter Zugriff 16 05 11 Wiimote Based Applications NET based Wiimote Applications URL http www brianpeek com blog pages net based wiimote applications aspx letzter Zugriff 16 05 11 Wikipedia org Intuition URL http de wikipedia org wiki Intuition letzter Zugriff 16 05 11 Worldusabilityday org URL http www worldusabilityday org letzter Zugriff 16 05 11 Youtube com WiiMusic Drums URL http www youtube com watch v Xa_cTiMU JO letzter Zugriff 16 05 11 Literaturverzeichnis 104
104. ie Kompatibilit t zum MIDI Standard und daneben auch eine bersichtliche GUI die das Ausl sen der Samples und ihre Zuordnung zu den einzelnen MIDI Befehlen anzeigt damit die entwickelte Switch Funktion sinnvoll genutzt werden kann Eine weitere Bedingung ist dass alle der verwendeten Musikprogramme kostenlos bezogen und verwendet werden k nnen Darum wird die freie Demoversion des virtuellen Drumsamplers Battery 3 der Firma Native Instruments verwendet der hier in Abbildung 4 9 in gro em Format dargestellt wird Hier liegen einzelnen Sounds auf den farbigen Pads der Software die immer einer gewissen MIDI Note zugewiesen sind In dem Beispiel in Abb 4 9 ist momentan das Sample Cross Sticks C in Zeile E und Spalte 8 ausgew hlt das der Note G5 entspricht Der Notenwert kann zus tzlich durch Dr cken der Learn Taste auch einem anderen MIDI Befehl zugeordnet werden In den Standard Einstellungen ist jeder Zeile eine Oktave und jedem der zw lf Pads in dieser Zeile wiederum einer der zw lf Halbtonschritte einer Oktave zugeordnet Alle Samples k nnen beliebig gewechselt werden wobei nur unkomprimierte Audio Formte wie wav oder aiff angenommen werden ber das Einstellungsmen l sst sich der LoopBe1 Treiber ausw hlen der die Vermittlung der MIDI Befehle von der Interfacesoftware aus bewerkstelligt vgl NATIVE INSTRUMENTS COM 2011 Zus tzlich kann WFie vw Edt v OVew v ri Master I ER TTT TTT gt 0 0 oszzma cm 0x soa
105. ienung vorzunehmen und nachdem die Maschine ihren Arbeitsschritt ausgef hrt hat die Konsequenz dessen zu kontrollieren Was genau in dem erw hnten Arbeitsablauf allerdings passiert und wie dies geschieht wei der Nutzer nur in den wenigsten F llen da die Mehrzahl der heute verwendeten Maschinen daf r eine viel zu hohe Komplexit t aufweisen Das Automobil beispielsweise ist eines der wichtigsten Maschinen heute um individuelle Mobilit t zu gew hrleisten Dem Gro teil unserer Gesellschaft allerdings reicht das Wissen mit Kapitel 2 Begriffe 8 dem seine Benutzung m glich wird und verzichtet dabei auf die pr zise Kenntnis des Zusammenspiels der etlichen technischen Elemente die f r die Gesamtfunktion des Autos zust ndig sind Aus diesem Grund kann der Nutzer auch nicht mehr alleinig f r die Folgen seines Handelns verantwortlich gemacht werden da der Entwickler der Maschine ebenfalls bei ihrem Gebrauch einen Teil der Verantwortung tr gt obwohl er daran nur indirekt und zwar durch die Konstruktion beteiligt ist Nach Unf llen bei Fehlverhalten von Maschinen ist es daher nicht mehr eindeutig m glich die Schuldfrage zu kl ren da sich keine klare Trennung der Verantwortung mehr vollziehen l sst vgl HUBIG und JELDEN 1994 In der Weiterf hrung dieser Einteilung von Technik stellen HUBIG und JELDEN 1994 den Ausdruck System als Weiterentwicklung der Maschine vor Bei diesen gro technischen Systemen handelt es sich etwa um di
106. ieren wie in Kapitel 7 3 1 bereits angedeutet die oberen und unteren Grenzen der Notenwerte f r die sechs Pads Die dadurch festgelegten Bereiche f r die jeweiligen Notenwerte sollen zwar immer aneinander liegen sich aber nie berschneiden Als Beispiel f r alle acht numericUpDowns wird die Syntax zur Methode numericUpDown3 ValueChanged erkl rt die den Grenzwert zwischen Pad A und B definiert Um die soeben genannten Funktionen zu gew hrleisten sind vier zu berpr fende Bedingungen erforderlich die alle mit einem if Befehl abgefragt werden Mit den ersten beiden wird garantiert dass der Wert numericUpDown3 Value des NumericUpDowns3 sich nicht berschneidet mit den Werten numericUpDown2 Value von NumericUpDown2 und numericUpDown4 Value von NumericUpDown4 Bedingung drei und vier stellen sicher dass der Notenwert des Pads A numericUpDown3 Value nicht berschreitet und der Notenwert des Pads B diesen nicht unterschreitet siehe Anhang B Seite 19 20 Alle Methoden zu den anderen NumericUpDowns sind gleich implementiert Nur f r die Schaltelemente vor Pad A und nach Pad F entfallen jeweils zwei der Bedingungen da diese beiden nur die Grenze f r ein statt zwei Pads darstellen siehe Anhang B Seite 19 22 rivate void Form FormClosing Object sender FormClosingEventArgs e Form1 FormCLosing wird bei der Bet tigung des roten X Schaltelements ausgef hrt das in jedem Windows Fenster neben den Schaltfl chen f r Maximieren un
107. ierung der Samples durch die Schlagbewegung ber die Beschleunigung der IR Punkte in negative y Richtung erfolgen Da die Wiimote allerdings nur Positionsdaten der Infrarotbewegungen zur Verf gung stellt m ssen diese durch Differentiation zun chst in die Geschwindigkeits und anschlieDend durch erneutes Ableiten in die Beschleunigungswerte transformiert werden Dabei erfolgen die Berechnungen f r beide Koordinatenrichtung getrennt und dies jeweils f r die drei verschiedenen Infrarotsignale In allen F llen wird die Differentiation durch Bildung eines Differenzenquotienten siehe unten angen hert der neben dem Zeitintervall immer aus dem aktuellen und dem jeweilig davor von der Wiimote gesendeten Positionswert besteht Die Zeitspanne wird hier durch die globale Variable float t 10 beschrieben da der Zeitabstand zwischen zwei eingehenden Positionsdatensignalen die von der Wiimote mit etwa 100Hz gesendet werden nach eigenen Messungen relativ genau 10 Millisekunden betr gt Als letzter Schritt wird die globale Variable die den vorigen Positionswert beschreibt mit dem aktuellen Wert berschrieben Kapitel 7 Softwareprogrammierung 56 private void berechne V1 y Das folgende Beispiel zeigt die Methode zur Berechnung der Geschwindigkeit des ersten Infrarotpunktes in y Richtung private void berechne V1 y float Y1 wm WiimoteState IRState IRSensors 0 RawPosition Y V1 y Y1 Y1 vorher t Y1 vorher Y1 j Zun
108. ikphilosophie bem ht wird Um danach den Bezug zum musikalischen Aspekt herzustellen ist ein Einblick in die neuere Entwicklungsgeschichte der digitalen Musikproduktion von N ten woraus letztlich mit den zuvor gegebenen Begriftserkl rungen eine Definition des musikalischen Interfaces erfolgt das von diversen Beispielen gest tzt wird Der Hauptteil dieser Arbeit der auf dem theoretischen Grundlagenteil aufbaut besteht aus dem eigentlichen Design des Wii Infrared MIDI genannten Interfaces Mit Hilfe der Infrarotkamera einer Wiimote Spielkonsolenfernbedienung werden Bewegungen und Gesten erkannt die von einem mit Infrarotleuchtdioden besetzten LED Handschuh ausgef hrt werden Durch die Bluetooth Daten bertragungstechnik werden die aufgenommenen Bewegungsinformationen anschlie end an den Computer weitergeleitet Anschlie end werden diese mit der in der Programmiersprache C in der Entwicklungsumgebung Microsoft Visual Express 2010 erstellten Interface Software analysiert und identifiziert die daraufhin mit Musical Instrument Digital Interface Steuerinformationen virtuelle Instrumente zur Musikproduktion steuert Hierzu wird zun chst auf den Konzeptionsvorgang eingegangen der neben der Vorstellung der verwendeten Sensortechniken der Wiimote auch die MIDI und Bluetooth Schnittstellen vorstellt die f r die bertragung der Daten an den PC sowie die Verbindung von Interface Software und den Computer Instrument zust ndig sind W
109. imote wenn berhaupt nur sehr umst ndlich anvisiert und genutzt werden Andererseits sollte bei einer Bewegung der Infrarotquelle die Wii Remote in Ruhe bleiben um das Signal angebracht verarbeiten zu k nnen wobei wiederum die Beschleunigungssensoren nicht verwendet werden k nnen Demzufolge scheint eine Beschr nkung auf eine der beiden Sensortechniken sinnvoll Da dieses Bachelor Projekt den Anspruch besitzt eine vollkommen neuartige Idee umzusetzen die in dieser Form zumindest hinsichtlich den Recherchen die w hrend der Arbeit gemacht wurden noch nicht umgesetzt worden ist f llt die Entscheidung letztlich zugunsten eines Samplers der ber die Infrarottechnik der Wiimote bedient wird und dessen Konzeption im Folgenden beschrieben werden soll 5 1 Funktion An erster Stelle steht hierbei nat rlich der Gedankengang welche Funktionen die auch hinsichtlich der programmiertechnischen Realisation zu bewerkstelligen sind das System erf llen soll Daf r scheint ein Blick auf den Aufbau und die Eigenschaften des zu spielenden Software Samplers sowie auch seinen Hardware Vorg ngern sehr empfehlenswert Dabei handelt es sich um eine spezielle Art von Sampler die im Wesentlichen zwar auch dazu f hig sind instrumentale Samples abzuspielen aber im Allgemeinen eher f r perkussive und Drum Sounds in der Musikproduktion zust ndig ist Abb 5 1 Battery 3 Abb 5 3 AKAI MPC 1000 Abb 5 2 NI Maschine Kapitel 5 Konzeption 38 In
110. itut f r Fernstudienforschung 1 994 Luhmann Niklas Die Gesellschaft der Gesellschaft Frankfurt am Main Suhrkamp 1997 Maier Moritz Logic Profi Guide Know how f r bessere Musikproduktion Bergkirchen PPVMedien 2008 Nordmann Alfred Technikphilosophie zur Einf hrung Hamburg Junius 2008 Norman Donald A Introduction to This Special Section on Beauty Goodness and Usability Human Computer Interaction Journal 19 2004 311 318 Sauter Martin Grundkurs Mobile Kommunikationssysteme Von UMTS und HDSPA GSM und GPRS zu Wireless LAN und Bluetooth Piconetzen Wiesbaden Viewig 2008 Smudits Alfred Soziologie der Musikproduktion Musikrezeption Musikdistribution und Musikproduktion Der Wandel des Wertsch pfungsnetzwerks in der Musikwirtschaft Hg Gerhard Gensch Eva Maria St ckler Peter Tschmuck Wiesbaden Gabler 2008 Literaturverzeichnis 101 Spinas P Waeber D Strohm O Kriterien benutzerorientierter Dialoggestaltung und partizipative Softwareentwicklung eine Literaturaufarbeitung Benutzerorientierte Softwareentwicklung und Schnittstellengestaltung Projektbericht Nr1 Institut f r Arbeitspsychologie ETH Z rich Hg P Spinas M Rauterberg O Strohm D Waeber E Ulich 1990 Stange Elbe Kai und Bronner Kai Musikinstrumentenindustrie im digitalen Paradigmenwechsel Musikrezeption Musikdistribution und Musikproduktion Der Wandel des Wertsch pfungsnetz werks in der Musikwirtschaft Hg Gerhard Ge
111. k zu bekommen zeigt Abbildung 4 3 das Innenleben des Controllers wobei auf der Top Seite ebenfalls links neben dem A Knopf der relativ kleine Beschleunuigungssensor zu sehen ist auf der Bottom Seite an der Spitze des Wiimote Skeletts die Infrarotkamera zu erkennen sein sollte und auf derselben Seite weiter unten der Bluetooth Chip sitzt Dieses komplette Technikpaket das die Wii Remote enth lt bietet sich wie in den folgenden Kapiteln zu sehen ist nicht nur f r die Verwendung als Videospieleingabemodul an Top Bottom visual IR power up switch tracking switch right switch left switch egen down switc A switch 3 axis accelerometer Lu switch rumble Bluetooth switch home switch Speaker 1 switch connect switch battery points 2 switch blue 6 pin LED expansion plugin display Abb 4 3 Wiimote Innenleben Kapitel 4 Technische Grundlagen 31 4 2 Verwendete Daten bertragungsprotokolle Wie bei vielen anderen Softwareanwendungen wird beim Interfacedesign in dieser Arbeit auch auf bew hrte bertragungsprotokolle zur ckgegriffen die die Kommunikation zwischen den verschiedenen technischen Ausformungen des Systems erm glichen soll Dabei handelt es sich zum Einen um die drahtlose Funkverbindung mittels Bluetooth die den Datenaustausch zwischen Wiimote und PC erm glich und zum anderen um das schon fters erw hnte MIDI Datentransferprotokoll mit dessen Hilfe die Interfa
112. lbstbeschreibungsf higkeit Verst ndlichkeit durch Hilfen R ckmeldungen e Lernf rderlichkeit Anleitung des Benutzers Verwendung geeigneter Metaphern e Steuerbarkeit Steuerung des Dialogs durch den Benutzer e Erwartungskonformit t Konsistenz Anpassung an das Benutzermodell e Individualisierbarkeit Anpassbarkeit an Benutzer und an seinen Arbeitskontext e Fehlertoleranz Die Funktionsweise des Systems auch bei unvorhergesehenen Fehlern aufrechterhalten Auch der Prozess der nutzerorientierten Gestaltung den Abbildung 2 3 zeigt ist n DIN EN ISO 9241 festgelegt Er besteht aus vier Teilschritten Zuerst wird der gesamte Nutzungskontext festgelegt um daraus im zweiten Schritt die Anforderungen zu spezifizieren Daraufhin kann eine L sung meist in Form eines Prototyps produziert werden die abschlie end hinsichtlich der formulierten Anforderungen bewertet wird vgl R BIG und WAGNER 2010 Kapitel 2 Begriffe 6 Feststellen der Notwendigkeit einer benutzerorientiert Verstehen und en Gestaltung Festlegen des Nutzungskontextes Aufgaben Benutzer Umgebung Beurteilung von re Festlegen von Gestaltungsl sungen A esigelegte Benutzeranforderungen gegen ber nforderungen an und organisatorischen Funktion Organisation Benutzerbelange Anforderungen Anforderungen Entwerfen von Gestaltungsl sun gen Prototypen Abb 2 3 Prozess nutzerorientierten Gestaltung Unter dem Begriff Usability so l sst sic
113. le zur Bildung der Differenzenquotienten float t 10 Mindestwert der y Beschleunigung zum Ausl sen der Samples float A y Thres 4 Maximalwert der y Beschleunigung zum Ausl sen der Samples float A y Max 20 Mindestwert der x Geschwindigkeit zum Ausl sen des Switch Forward Befehls float V x Thres plus 2 Mindestwert der x Geschwindigkeit zum Ausl sen des Switch Back Befehls float V x Thres minus 2 Maximalwert der x Geschwindigkeit zum Ausl sen des Switch Forward Befehls float V x Max 20 Maximalwert der x Geschwindigkeit zum Ausl sen des Switch Back Befehls float V x Min 20 Maximalwert der Positionsdifferenzen zum Azsl sen der Switch Befehle int X Gap Max 150 allgemeine Notenwert Variable int note Variablen der Notenwerte der einzelnen Felder int A 36 int B 42 int C 48 int D 60 Kapitel 9 Anhang B Quelltext 75 int E 66 int F 72 Sensitivity Variable decimal Sens 0 Variable zur Mindest Veocity int Velocity min 120 Variablen zur Anzeige der Notenwerte auf der GUI string TextA string TextB string TextC string TextD string TextE string TextF Variable zur Anzeige der Mindest Velocity auf der GUI string Text Vel min Erstellen der Timer static System Windows Forms Timer timeri static System Windows Forms Timer timer2 static System Windows Forms Timer timer3 static System Windows Forms Timer timer4 static Syste
114. len mit Softwareinstrumenten in dieser Arbeit sind diese aber irrelevant und k nnen v llig ignoriert werden Dagegen ist die Einstellungsoption des MIDI Ausgangsger ts unter dem Punkt OutputDevice von essentieller Bedeutung Unter dem Befehl options OutDeviceld synth OutputDeviceId wird bei Aufruf des Men s das momentane Outputger t das das synth Objekt der Synth Klasse des C MIDI Toolkits verwendet abgerufen Mit Hilfe der Auswahlbox unter Output Device k nnen nun jedoch auch andere MIDI Verbindungselemente wie der interne LoopBe Treiber die hier automatisch durch nicht n her beschriebene Vorg nge in der MidiOptions Klasse gezeigt werden ausgew hlt werden siehe Abbildung 6 6 Bei Dr cken des OK Buttons nimmt das synth Objekt das selektierte MIDI Ausgangsger ts an siehe Anhang B Seite 18 19 if options ShowDialog DialogResult OK synth OutputDeviceId options OutDeviceld private void trackBari Scroll object sender EventArgs e Ein weiteres Element der Software Oberfl che ist die so genannte trackbar am unteren rechten Ende des Hauptfensters platziert ber die sich die Mindest Velocity einstellen l sst Darunter ist ein Label platzert das den momentanen Wert dazu anzeigt Wird also der Regler in dem trackbar Element verschoben kommt es automatisch zu enem Aufruf der trackBari1 ScroLL Methode Diese stellt dann die Variable Velocity min die in wm WiimoteChanged verwendet wird auf den momentanen Wert tr
115. m Ling using System Text using System Windows Forms using WiimoteLib using System Diagnostics using System Media using Sanford Multimedia Midi using System IO using System Collections using System Globalization using System Threading using MidiSynthLib namespace WindowsFormsApplicationi public partial class MainForm Form Neue Instanz des Wiimote Objekts aus der Wiimotelib erstellen Wiimote wm new Wiimote Neue Instanz der Klasse Synth aus der MidiSynthLib erstellen private Synth synth Deklaration des Delegats als Grundlage f r das UpdateWiimoteChanged Event private delegate void UpdateWiimoteStateDelegate WiimoteChangedEventArgs args Kapitel 9 Anhang B Quelltext 74 Definition aller globalen Variablen bergabe Variablen der y Positionen float Y1 vorher float Y2 vorher float Y3 vorher Variablen der Geschwindigkeit in y Richtung float V1 y float V2 y float V3 y bergabe Variablen der Geschwindigkeit in y Richtung float V1 y vorher float V2 y vorher float V3 y vorher Variablen der Beschleunigung in y Richtung float A1 y float A2 y float A3 y bergabe Variablen der x Positionen float X1 vorher float X2 vorher float X3 vorher Variablen der Geschwindigkeit in x Richtung float V1 x float V2 x float V3 x Variablen der Positionsdifferenzen in x Richtung float X Gap12 float X Gap23 float X Gap13 Zeitvariab
116. m Windows Forms Timer timer5 int all timer interval 100 new System Windows Forms Timer new System Windows Forms Timer new System Windows Forms Timer new System Windows Forms Timer new System Windows Forms Timer Timer Variablen bool peak filter Y1 true bool peak filter Y2 true bool peak filter Y3 true bool peak filter X true bool feedback false Definiert eine Zeichenoberfl che die zur Anzeige der IR Signale dient private Graphics g Definiert die Bitmap Bilddatei auf der gezeichnet wird private Bitmap b new Bitmap 576 432 PixelFormat Format24bppRgb Methoden Methode die bei Programmstart aufgerufen wird public MainForm Erforderliche Methode f r die Designerunterst tzung InitializeComponent Definiert das Synth Objekt aus der Synth Klasse das weiter unten zum Senden der MIDI Befehle dient synth new MidiSynthLib Synth 9 118 Definiert die Bilddatei b als Zeichenoberfl che g g Graphics FromImage b Mindest Velocitywert auf die GUI projizieren Integer Variable A des Notenwerts im Feld A in String Variable TextA konvertieren Text_Vel_min Convert ToString Velocity_min Kapitel 9 Anhang B Quelltext 76 String Variable Text_Vel_min als Label Schriftzug_Vel_min der GUI definieren label Vel min Text Text Vel min Stellt sicher dass zu Anfang der Anwendung die Werte von numericUpDown5 und numeric
117. mit die Einstellungen der Wii Remote angepasst siehe Anhang B Seite 4 5 Kapitel 7 Softwareprogrammierung 55 e Erstellen zweier WiimoteChanged Delegaten EventHandler aus der WiimoteChangedEventArgs Klasse des Wiimote Objekts zu den Methoden wm WiimoteChanged Switch und wm WiimoteChanged die somit immer durch das Ereignis eines sich ndernden Datenstatus der Wiimote aufgerufen werden Die bergebenen Parameter e entsprechen den aktuellen Wiimote Statusdaten e Verbinden der Wiimote mit dem Aufrufen der wm Connect Methode des Wiimote Objekts e ber wm SetLEDs false false true true die LEDs 3 und 4 der Wiimote aktivieren dient zur Erkennung der Verbindung der Wiimote mit dem Programm e Datenreporttyp und Sensivit t der Wiimote ber wm SetReportType InputReport IRAccel IRSensitivity Maximum true festlegen e Datenreporttyp der Infrarotkamera mit wm WiimoteState IRState Mode IRMode Extended festlegen e Batteriestatus als Variable float B von der Wiimote abrufen diese anschlie end in die Variable int Bat berf hren um damit danach den Wert der Batterieleiste zu definieren e Erstellen der Timer Methoden durch Definition ihrer Delegaten Aktivieren der Timer und Festlegen ihrer Intervalle durch die globale Variable aLL timer interval 200 Timer 1 3 und die festen Werte 800 Timer 4 und 50 Timer 5 7 3 2 4 2 Berechnungsmethoden Wie in Kapitel 5 1 zur Konzeption bereits vorgegriffen soll die Gestenerkennung zur Aktiv
118. n auf dem mittels iPad und TouchOSC die DAW Logic und diverse Software Instrumente bedient werden Abb 3 13 TouchOSC Screenshot Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 26 Wiederum eine ganz andere und kreative Schnittstellen L sung zeigt die in Abbildung 3 14 dargestellte Ziggybox ein Projekt der Digitales Mediendesign Studenten Christian Losert und Paul Schengber an der Hochschule Darmstadt mit der durch Bewegung von Zigaretten und deren Schachteln die mit Hilfe von Lichtsensoren erkannt werden die Software Ableton gesteuert und moduliert wird vgl DE BUG DE 201 1 Abb 3 14 Ziggybox MIDI Controller Als letztes Beispiel zu Controllern verschiedener Art dient der Reactable der in Abbildung 3 15 zu sehen ist und erstmals bei einem Live Auftritt der K nstlerin Bj rk im Jahr 2007 zu bestaunen war Dieses von der Music Technology Group der Universit t Pompeu Fabra entwickelte System besteht aus einer lichtdurchl ssigen Multitouch Tischoberfl che die von unten das Bewegen verschiedener kleiner Bl cke und der Finger durch Kameras analysiert um dadurch die Klanggestaltung in Echtzeit zu steuern vgl REACTABLE COM 2011 Die Bl cke repr sentieren dabei Komponenten eines modularen Synthesizers den der User gleichzeitig spielt und zusammenbaut indem er w hrend der Wiedergabe Objekte ausw hlt und in Relation zueinander auf der Oberfl che positioniert und bewegt Spielen und
119. nd und mehr als Werkzeuge f r die digitale Ebene dienen noch am h ufigsten vertrieben Dass indessen aber auch durchaus Bedienelemente konzipiert werden die Spielr ume f r Kreativit t und Intuition l sst sollten die anderen Beispiele zeigen Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 28 4 Technische Grundlagen Bevor ein passendes Konzept entworfen werden kann ist es nahezu unabdingbar zun chst festzulegen aus welchen verschiedenen technischen Bestandteilen sich das Gesamtsystem zusammensetzt Dazu z hlt die Wiimote Fernbedienung die zwei Interfaceprotokolle und Datentransferverbindungen MIDI und Bluetooth und zuletzt noch die Software die als Klangerzeuger letztlich verwendet wird 4 1 Die Wiimote Schon fr h w hrend des Prozesses der Ideenfindung ist die Entscheidung ber das Aufnahmeger t der Eingabebewegung gegen andere Interface Einheiten wie Touchpad oder Maus zugunsten des Nintendo Wii Controllers gefallen da die sogenannte Wii Remote in diesem Fall eine ganze Reihe von Vorteilen bietet die in diesem Kapitel erl utert werden Im ersten Moment erscheint das Eingabemodul einer Spielekonsole vielleicht ungeeignet f r ein System zur intuitiven Musikproduktion doch Kontrolleinheiten von Videospielkonsolen spielen eine immer gr ere Rolle beim Design von gerade durch junge Nutzer h ufig verwendeten Produkten da diese von klein auf wortw rtlich spielerisch mit dem Umgang sogenannter
120. nden Parameter ab Verschiedene der Komponenten sind daba kombinierbar und ver ndern ihre musikalische Gestalt im Zusammenspiel Dabei k nnten die Objekte auch virtueller Natur sein und nur ber Bildschirme oder grafische Projektionen visualisierbar werden Mit dieser Art Eingabeger t f r die Computer Musikproduktion w re der Zugang noch direkter da ohne den Umweg ber Infrarotleuchtdioden die eigentlich menschliche Bewegung direkt als Input f r die Software dienen kann und es w re hnlich der Spielweise eines klassischen Instruments eine unmittelbare Verbindung zwischen menschlicher Mechanik und Technik geschaffen Kapitel 8 Ausblick 70 9 Anhang 9 1 Anhang A Datenblatt Kingbright Infrarot Leuchtdiode Kingbrighi Faaturea sMECHANRCALLE AHD SPECTRALLY MATICHED T THE Pra TOT RAN SIST UR BLUE TRANSPARENT RoHS COMES TNT Package Dimenalons amp 5 181 0 3 82 9 114 mma 1 A zracmiorm ars i7 Blasen J2chuaan i 2 T plam TcA iB SD Z27SDLO17 rn rein rei 2 Lamd a m rH UC EC et hu adu TTA Front P6 Fa 4 Lpacfcmicca am subject ic change atheui nzica BPEC ND DEABOROS REW MOSA APPROVED J Lu CHECKED Allen Liu Kapitel 9 T 1 3mm IHFFLA RET EMIT TIG HODE Pat hurte LA ST FX Made wi Gambum Awaessde Fteed Ermg ng ccm DATEXEP ZTUGSM FAGE 16F3 CHANN FEHAKG Anhang A Datenblatt Kingbright Infrarot Leuchtdiode 71 L SGHF3HT 1EUZm fu acia PT cp er tar a rin rar l 172 far opas c
121. ndo s Wiimote 2009 URL http wiimotelib codeplex com letzter Zugriff 16 05 11 Pixil info Making music with iPad URL http pixilinfo downloads making music with ipad letzter Zugriff 16 05 11 R big Sinja und Wagner Torsten bung 5 Gestaltung Mensch Maschine Schnittstellen Usability 2010 URL http www arbeitswissenschaft de website teaching archive auslegung v_730 de docs uebung_05 usability ss 2010 sr pdf letzter Zugriff 16 05 11 Reactable com URL http www reactable com letzter Zugriff 16 05 11 Reactable com Tutorials URL http www reactable com products live tutorials letzter Zugriff 16 05 11 Sanford Leslie C MIDI Toolkit 2007 URL http www codeproject com KB audio video MIDIToolkit aspx Messages letzter Zugriff 16 05 11 Sequenzer de Synthesizer Grundlagen Basics URL http www sequencer de synthaudio synthesizer grundlagen html letzter Zugriff 16 05 11 Synthopia com Wiimote Synthesizer URL http www synthtopia com content 2008 01 11 wiimote synthesizer letzter Zugriff 16 05 11 The breaks com Rap Sample FAQ URL http www the breaks com search php term Funky Drummer amp ty pe 4 letzter Zugriff 16 05 11 Weiser Mark The computer for the 21st century 1991 URL http www ubiq com hypertext weiser SciAmDraft3 html letzter Zugriff 16 05 11 Literaturverzeichnis 103 Wiibrew org URL http wiibrew org wiki Wiimote letzter Zugriff 16 05 11 Wi
122. ndung der Wiimote zur Software besteht wird dies beim Start direkt durch die Fehlermeldung No Wiimotes found in HID device list des NET Frameworks angezeigt In diesem Fall ist es ein probates Mittel die Wiimote vom PC zu trennen erneut anzuschlie en und dann noch einmal Wii Infrared MIDI zu starten Die Wiimote muss zur Funktion des Systems unbedingt Kapitel 7 Softwareprogrammierung 67 auf der Knopfleiste platziert werden siehe Abbildung 6 7 auf Seite 52 Die Gr nde daf r wurden in Kapitel 7 32 2 eingehend erl utert Nach dem Start der Anwendung sollte die Software Oberfl che der untenstehenden Abbildung 7 8 gleichen Zun chst sollte die gew nschte MIDI Verbindung im Options Men unter Output Device ausgew hlt werden und mit dem OK Button best tigt werden Die anderen Optionsm glichkeiten sind hier irrelevant Um die MIDI Befehle in dem Software Instrument zu empfangen muss in dem virtuellen Klangerzeuger nat rlich auch das MIDI Verbindungselement als MIDI Input ausgew hlt werden An der gr nen Leiste am unteren Ende des Graphical User Interface kann die verbleibende Batterieleistung abgelesen werden Die mittlere Fl che die in sechs Rechtecke eingeteilt ist bildet das visuelle Hauptr ckgabeelement Hiermit k nnen bis zu drei Infrarotsignale wiedergegeben werden und somit die Infrarotbewegungen koordiniert werden Prinzipiell k nnen dabei alle Infrarotlichtquellen verwendet werden diese sollten aber in ihren
123. ne M glichkeit den angesprochenen Tendenzen der Tonerzeugung die die digitales Musikproduktion nach sich zieht gerecht zu werden w re es neue entsprechende Eingabemedien zu entwickeln die den kreativen Ideen wieder Zugang erm glichen und die angesprochene Virtuosit t auch mit virtuellen Instrumenten egal ob Nachbildung oder Neuerfindung gestatten Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 22 3 1 4 2 Demokratisierung und De Professionalisierung der Musikproduktion Zus tzlich zu der ver nderten Bedingungen aus musikalischer Sicht heraus ver ndern sich auch einige eher gesellschaftliche Aspekte die mit der Produktion von Musik verbunden sind Etwa ab Anfang der 1990er Jahren ist festzuhalten dass eine st ndige Miniaturisierung und Verbilligung der Produktionsmittel von Musik zu beobachten ist sodass es m glich wird ohne allzu gro en Kostenaufwand eine den professionellen Standards entsprechende Musikproduktion gleichsam im eigenen Haushalt herzustellen SMUDITS 2008 Hinzu kommt dass der Musikschaffende wie bereits erw hnt mit den Mitteln der Produktionsmethoden im Virtuellen weder auf die Imagination seines Werkes im Vorhinein und seine Transkription noch auf die Beherrschung traditioneller Instrumente angewiesen CLAUSSEN 2006 ist Durch die Distribution von Musik ber das Internet und der Abkehr vom materiellen Tontr ger ist fast ein Jeder in der Lage seine Werke selb
124. ng der Softwareoberfl che die Kapitel 5 Konzeption 41 mit Abbildung 6 5 auf Seite 48 auch das endg ltige Aussehen des GUI zeigt wird erst in Kapitel 7 3 1 vorgenommen Hier werden zun chst nur die Anspr che an die Systemoberfl che beschrieben Elementar beim Entwurf der Benutzeroberfl che ist die Frage welche Information ber den Status und die Aktivit t des Systems relevant sind und damit angezeigt werden m ssen um entweder die Interaktion mit der Schnittstelle berhaupt erst zu erm glichen oder dem Nutzer bei der Anwendung behilflich zu sein Dabei werden hier aber nur die wichtigsten Grundfunktionen der GUI abgedeckt Insgesamt ist das Softwaredesign nat rlich nicht mit professionellen Markenprodukten vergleichbar Zu diesen soeben erw hnten fundamentalen Funktionen die zur Ausgabe von Informationen geh ren ist die Positionsanzeige der Infrarotsignale wahrscheinlich die wichtigste Um sich im Raum vor der Infrarotkamera zurechtzufinden und um zu wissen in welchem der Sample Feldern sich die IR Dioden gerade befinden ist die R ckgabe dieser Positionsangaben unabdinglich Wichtig ist dabei auch die Unterscheidung der f r das System relevanten maximal drei verschiedenen IR Quellen Hierbei empfiehlt es sich die Signale auf der GUI mit unterschiedlichen Farben zu kennzeichnen die jedoch klar erkennbar sein m ssen Abbildung 5 5 stellt bereits einen ersten Entwurf der R ckgabefl che der IR Positionsdaten dar Daneben versch
125. nktartiger Form beschrieben Dabei wird immer auf den zugeh rigen Quelltext Abschnitt hingewiesen 7 3 2 4 1 Start Methoden Im Anschluss an die n tige Definition der globalen Variablen die in Kapitel 7 3 2 1 bereits behandelt wurde werden nun die Start Methoden erl utert die auch chronologisch gesehen als Erstes ausgef hrt werden public MainForm Dazu geh rt auch die bei Programmstart direkt aufgerufene Methode MainForm Hierin werden folgende Arbeitsschritte erledigt siehe Anhang B Seite 3 4 e Erforderliche Methode f r die Designerunterst tzung InitializeComponent aufrufen e Objekt synth aus der Klasse Synth definieren das sp ter die MIDI Befehle sendet e Das Bitmap b als Zeichenoberfl che g der Graphics Klasse definieren b sowie g wurden zuvor neben der Definition der globalen Variablen mittels der Instanzierung einer Graphics und einer Bitmap Rlasse definiert e Um den Mindest Velocitywert auf die GUI zu projizieren wird die string Variable Text Vel min als Entsprechung der int Variable velocity min definiert die danach als Schriftzug Label Vel min Text auf die Bedienoberfl che bertragen wird e Sicherstellen dass die Notengrenzen Schaltelemente numericUpDown6 und numericUpDown5 denselben Wert besitzen private void Form1 Load object sender EventArgs e Die zweite der Startmethoden wird beim ffnen des Hauptfensters aufgerufen Hier werden die meisten der Methoden des Wiimote Objekts aufgerufen und da
126. nnelld options Channelld options ProgramId bertragen der MIDI Optionen auf das Synth Objekts durch Dr cken des OK Buttons im Midioptionsmen if options ShowDialog DialogResult OK synth OutputDeviceld options OutDeviceId synth MidiChannel options Channelld synth MidiProgram options ProgramId j Methode die ber die GUI den Mindest Velocity Wert steuert und anzeigt private void trackBar1 Scroll object sender EventArgs e Kapitel 9 Integer Variable Velocity min als Wert des trackBar1 Elements der GUI festlegen Velocity min trackBar1 Value Anzeigen des Mindest Velocity Werts Integer Variable Velocity min in String Variable Text Vel min konvertieren Text Vel min Convert ToString Velocity min Anhang B Quelltext 92 String Variable Text_Vel_min als Schriftzug auf der GUI definieren label_Vel_min Text Text_Vel_min Methode die ber die GUI die Sensitivity steuert private void numericUpDown1 ValueChanged object sender EventArgs e Definiert die Sensitivity Variable als Wert des NumericUpDown1 Elements der GUI Sens numericUpDown1 Value Methoden die die Begrenzungen der Notenwerte der Felder auf der GUI steuern Notenwertbegrenzung vor Feld A siehe Feld A amp B private void numericUpDown2 ValueChanged object sender EventArgs e if numericUpDown2 Value gt numericUpDown3 Value numericUpDown2 Value numericU
127. nsch Eva Maria St ckler Peter Tschmuck Wiesbaden Gabler 2008 Stapelkamp Torsten Interacion und Interfacedesign Web Game Produkt und Servicedesign Usability und Interface als Corporate Identity Heidelberg Springer 2010 Weber Alexander Tablets im Studio Beat 12 2010 Internetquellen Bitkom org Computerausstattung in Haushalten URL http www bitkom org de markt statistik 46961 38547 aspx letzter Zugriff 16 05 11 Bruder Ralph Vorlesung Gestaltung von Mensch Maschine Schnittstellen Kapitel 1 Einf hrung 2010 URL http www arbeitswissenschaft de website teaching archive auslegung v 729 d e docs mms 2010 kapitel 01 pdf letzter Zugriff 16 05 11 Codeplex com Project Hosting for Open Source Software URL http www codeplex com letzter Zugriff 16 05 11 De bug de DIY Ziggybox URL http de bug de musiktechnik archives 4696 html letzter Zugriff 16 05 11 De statista com Anteil der Besch ftigten in der EU die bei der Arbeit einen PC verwenden URL http de statista com statistik daten studie 162953 umfrage anteil der europaeischen beschaeftigten die bei der arbeit einen pc verwenden letzter Zugriff 16 05 11 Fahrenbach Ludwig ndert die Wissenschaft st ndig ihre Meinung URL http www dgphil2008 de programm sektionen abstract fahrbach html letzter Zugriff 16 05 11 Gunnerson Eric C Die neue Sprache f r Microsofts NET Plattform URL http openbook galile
128. ntuitive Bedienung ist wohl eine der meistgebrauchten Redensarten in der Werbeindustrie wenn es um positive Eigenschaften der Nutzung eines Produktes geht Auch das zu entwickelnde Interface in dieser Arbeit soll es verdienen damit charakterisiert zu werden Darum erscheint es in diesem Kontext wichtig dieses Fremdwort einmal genau zu betrachten Intuitiv beruht auf dem Nomen Intuition das abgeleitet von dem lateinischen Wort intueri soviel bedeutet wie betrachten erw gen im urspr nglichen Sinn angeschaut werden Es beschreibt die F higkeit Einsichten in Sachverhalte Sichtweisen Gesetzm igkeiten oder die subjektive Stimmigkeit von Entscheidungen ohne diskursiven Gebrauch des Verstandes also ohne bewusste Schlussfolgerungen zu erlangen Es ist ein Teil kreativer unbewusster Entwicklungen der vom Intellekt begleitet und berpr ft wird vgl WIKIPEDIA 2011 Der DUDEN 2007 schildert Intuition zum einen als das unmittelbare nicht diskursive nicht auf Reflexion beruhende Erkennen Erfassen eines Sachverhalts oder eines komplizierten Vorgangs 2 2 Usability Einer der wirklich vielschichtigen Begriffe in dieser Arbeit ist Usability Darin finden sich die englischen Worte use gebrauchen verwenden benutzen und utility der Nutzen die N tzlichkeit vgl STAPELKAMP 2010 aber auch das englische Wort ability das im Deutschen so viel wie Bef higung oder F higkeit
129. ocomputing de csharp index htm letzter Zugriff 16 05 11 HDM Stuttgart Musikproduktion im digitalen Wandel 2008 URL http www hdm stuttgart de curdt Musikproduktion im Digitalen Wandel 1 pdf letzter Zugriff 16 05 11 Hexler net TouchOSC URL http hexler net software touchosc letzter Zugriff 16 05 11 Ingelmann Anja Usability elektronische Ger te einfach benutzbar machen 2010 URL http www echo online de freizeit multimedia digitales Usability Elektronische Geraete einfach benutzbar machen art592 1371413 letzter Zugriff 16 05 11 Jorda Sergi Kaltenbrunner Martin Geiger G nther Bencina Ross The Reactable 2005 URL http mtge upf edu files publications 9d0455 ICMC2005 JordaKaltenbrunnerGeigerBencina pdf letzter Zugriff 16 05 11 Kinecthacks net Windows 7 Mouse With Both Left and Right Click URL http kinecthacks net windows 7 mouse with both left and right click letzter Zugriff 16 05 11 K nig Christina bung 1 Gestaltung Mensch Maschine Schnittstellen User Interface und benutzergerechte Gestaltung 2010 URL http www arbeitswissenschaft de website teaching archive auslegung_v_730 de docs uebung_01 _wahrnehmung pdf letzter Zugriff 16 05 11 Literaturverzeichnis 102 K nig Christina und R big Andreas bung 4 Gestaltung Mensch Maschine Schnittstellen User Interface und benutzergerechte Gestaltung 2010 URL http www arbeitswissenschaft de website teaching a
130. ommunikation eignet sich zum Beispiel das Freeware Programm LoopBet das kostenlos auf der Website NERDS DE 2011 als Download zur Verf gung steht und auch in der dieser Arbeit beiliegenden CD enthalten ist Dieser sogenannte MIDI Treiber kann sp ter MIDI Befehle vom Interface empfangen diese an den virtuellen Sampler weiterleiten und gestattet so die Softwarekommunikation Prinzipiell k nnen die MIDI Daten aber nat rlich auch an alle anderen Ger te weitergeleitet werden die mit dem MIDI Standard vertraut sind Daneben stellt sich nun die Frage nach der Konnektivit t der Wiimote mit dem PC um dem Interface Programm die notwendigen Daten berhaupt erst bereitzustellen Kapitel 4 Technische Grundlagen 33 4 2 2 Bluetooth Verbindung Naheliegend w re es da die Wii Konsole im Normalfall den Bluetooth Standard verwendet mit demselben Prinzip zu arbeiten Hierf r ist in die Wiimote ein Bluetooth Chip der Firma Broadcom eingebaut siehe Abb 4 3 aus Kapitel 4 1 mit dessen Hilfe eine Verbindung zu jedem Bluetooth f higen Computer hergestellt werden kann Das Verbindungsprotokoll das 1994 von der Firma Ericsson erfunden wurde wird vor allem auf kurzen Strecken als Funktechnik eingesetzt und bietet mit einer Daten bertragungsrate von rund 2 1 Megabit pro Sekunde sowie Reichweiten von bis zu 100 Metern ein schnelles und verl ssliches Kommunikationsprotokoll auch f r die Anwendung in dieser Arbeit vgl SAUTER 2008 Problematisch ersch
131. on X Berechnung der Geschwindigkeit durch angen herten Differenzenquotient V1 x X1 X1 vorher t berschreibung der globalen Variable X1 vorher X1 vorher X1 Berechnung IR2 Geschwindigkeit in x Richtung analog zu IR 1 private void berechne_V2_x float X2 wm WiimoteState IRState IRSensors 1 RawPosition X V2 x X2 X2 vorher t X2 vorher X2 Debug WriteLine V2 x V2 x Kapitel 9 Anhang B Quelltext 79 Berechnung IR3 Geschwindigkeit in x Richtung analog zu IR 1 private void berechne_V3_x float X3 wm WiimoteState IRState IRSensors 2 RawPosition X V3 x X3 X3 vorher t X3 vorher X3 Methoden zur Berechnung der Positionsdifferenzen in x Richtung Berechnung der Differenz zwischen Infrarotsignal 1 amp 2 private void berechne X Gap12 X Positionsdaten von INfrarotsignal 1 amp 2 der Wiimote abrufen float X1 wm WiimoteState IRState IRSensors 0 RawPosition X float X2 wm WiimoteState IRState IRSensors 1 RawPosition X Differenz der Positionsdaten berechnen X Gap12 X1 X2 Betrag der Differenz bilden if X Gap12 0 X Gap12 X Gap12 1 Berechnung der Differenz zwischen Infrarotsignal 2 amp 3 analog zu 1 amp 2 private void berechne X Gap23 float X2 wm WiimoteState IRState IRSensors 1 RawPosition X float X3 wm WiimoteState IRState IRSensors 2 RawPosition X X Gap23 X2 X3 if X Gap23
132. pDown3 Value 1 A lt int numericUpDown2 Value A int numericUpDown2 Value Notenwertbegrenzung zwischen Feld A amp B private void numericUpDown3 ValueChanged object sender EventArgs e Notenwertbegrenzung darf nicht kleiner oder gleich voriger Notenwertbegrenzung sein if numericUpDown3 Value lt numericUpDown2 Value numericUpDown3 Value numericUpDown2 Value 1 j Notenwertbegrenzung darf nicht gr er oder gleich n chster Notenwertbegrenzung sein if numericUpDown3 Value numericUpDown4 Value numericUpDown3 Value numericUpDown4 Value 1 Notenwert des linken Feldes darf nicht gr er oder gleich der Notenwertbegrenzung if A gt int numericUpDown3 Value A int numericUpDown3 Value 1 Notenwert des rechten Feldes darf nicht kleiner sein als Notenwertgrenze if B lt int numericUpDown3 Value B int numericUpDown3 Value Notenwertbegrenzung zwischen Feld B amp C siehe Feld A amp B private void numericUpDown4 ValueChanged object sender EventArgs e if numericUpDown4 Value lt numericUpDown3 Value numericUpDown4 Value numericUpDown3 Value 1 Kapitel 9 Anhang B Quelltext 93 if numericUpDown4 Value gt numericUpDown5 Value numericUpDown4 Value numericUpDown5 Value 1 is B gt int numericUpDown4 Value B int numericUpDown4 Value 1 i C lt int numericUpDown4 Value C int numeri
133. r Erkennung kursiv geschrieben Kapitel 7 Softwareprogrammierung 47 7 3 1 Graphical User Interface Die Softwareoberfl che von Wii Infrared MIDI ist wie bereits erw hnt mit dem sogenannten Designer unter Verwendung der Windows Forms Schnittstelle erstellt worden und besteht neben dem Fenster f r die MIDI Optionen siehe unten aus dem in Abbildung 7 3 dargestellten Hauptfenster Daher erinnert die GUI auch stark an das klassische Windows Design Options 36 5 GE 66 5 vu gt T 3 Minimal Velocity 101 60 Battery Abb 7 3 Wii Infrared MIDI GUI Das wohl wichtigste und dem daher auch am meisten Platz zugeordnete Elemente ist die in sechs Rechtecke unterteilte Arbeitsfl che mit der die Positionen und Bewegungen der Infrarot Signale wiedergegeben werden Diese wird im Designer zun chst als derartige PictureBox angelegt F r die verschiedenen IR Quellen sind die drei Farben Rot Blau und Gr n verwendet worden Wird die Ausl sebewegung identifiziert und dadurch ein MIDI Befehl gesendet so leuchtet das bet tigte Feld kurz in gr ner Farbe auf um dem Benutzer visuelles Feedback zu geben Daneben ist jedes der Felder mit einer MIDI Notenwertanzeige ausgestattet sodass diese immer direkt abgelesen werden k nnen ber bzw unter den im weiteren als Pads bezeichneten Rechtecke sind jeweils davor und dahinter sogenannte NumericUpDown Schaltelemente integriert die den Bereich bestimmen in dem Kapitel 7 So
134. r physische Zugang beim Arbeiten mittels Simulationen bez glich Tonerzeugung allm hlich verloren geht Diese Distanzierung vom k rperlich gestischen Zugang verdr ngt wie bereits erw hnt eben auch die den k nstlerischen Ausdruck und das individuelle Spiel eines Instruments Vielmals wird auf virtueller Basis komponierte Musik darum als mechanisch und steril empfunden Deshalb geht es nunmehr um die Konzeption fortgeschrittener Mensch Medium Schnittstellen oder Interfaces die einen Austausch menschlicher Befindlichkeit mit den inneren und u eren Zust nden elektronischer Medien erlauben Sie sollten zu einer ad quaten Nutzung medialer M glichkeiten durch neue Instrumente bzw Spielfelder und zu einem neuen Verh ltnis von Produktion und Rezeption f hren GROSSMANN 1995 wobei aber gleichzeitig ber cksichtigt werden muss dass durch den erl uterten Demokratisierungsprozess die Eingabem glichkeiten auch dem musikalisch nicht ausgebildeten Anwender als intuitives Medium dienen STANGE ELBE 2008 sieht hierin die Zukunft einer neuen Instrumententechnologie wobei diese nach GROSSMANN 1995 wie auch das traditionelle Instrumentarium die Aufgabe haben m glichst nahe an die Motorik und Zeitstruktur einer menschlichen Aktion heranzukommen Aus den obigen Darlegungen heraus erscheint es also sinnvoll ein musikalisches Interface auf der einen Seite als eine Art Werkzeug benutzen zu k nnen mit dem die Steuerung der komplexen Struktu
135. rbe den instrumentalen Eigenschaften Es ist nun beispielsweise mit einem MIDI Keyboard m glich alle Arten verschiedener Software Instrumente zu spielen Eine Abfolge von verschiedenen MIDI Noten auch MIDI Sequenz genannt kann demnach in jedem Klangerzeuger interpretiert werden wobei nat rlich immer andere T ne produziert werden Abbildung 4 6 zeigt in Logic Studio eine solche MIDI Sequenz mit zehn Noten und daneben in Abb 4 7 ihre Entsprechung in Notenschrift die in den Digital Audio Workstations meist parallel dazu generiert wird Abb 4 6 MIDI Sequenz in Logic Abb 4 5 Notenschrift Pendant Im Gegensatz zu Audiodateien k nnen die MIDI Dateien aber nur in Verbindung mit einem virtuellen Instrument oder Synthesizer abgespielt werden Die Verbindung von Hardware erfolgt ber eigene MIDI Anschl sse mittels der dazu passenden Verkabelung Durch USB Adapter k nnen alle Ger te problemlos auch an den Computer angeschlossen werden vgl G RNE 2008 F r die Interfaceentwicklung dieser Arbeit wird eine MIDI Verbindung zwischen zwei Programmen gesucht Zwischen dem MIDI Sender auch Output genannt und dem Empf nger Input muss immer eine vermittelnde Schnittstelle sitzen die das Signal weiterleitet Bei den Hardwareger ten kann das etwa ein MIDI Interface sein das die MIDI Hardwareschnittstellen besitzt und die Befehle ber USB an den PC bergibt F r eine computerinterne MIDI K
136. rchive auslegung_v_730 de docs uebung 04 _din9241 pdf letzter Zugriff 16 05 11 K hnel Andreas Visual C 2010 Das umfassende Handbuch URL http openbook galileocomputing de visual_csharp_2010 index htm top letzter Zugriff 16 05 11 Lee Johnny Chung URL http johnnylee net projects wii letzter Zugriff 16 05 11 Midi org MIDI Manufacturers Association URL http www midi org index php letzter Zugriff 16 05 11 Mike verdone ca Wii 2 Midi URL http mike verdone ca wiitomidi letzter Zugriff 16 05 11 Moore Ken Wii Theremin How it works 2008 URL http kenmooredesign blogspot com 2008 11 wii theremin html letzter Zugriff 16 05 11 Mulb org Verwendung der Wii Remote am PC 2008 URL http www mulb org node 320 letzter Zugriff 16 05 11 Mutools com MU LAB Free 3 URL http www mutools com downloads html letzter Zugriff 16 05 11 Native Instruments com Battery 3 URL http www native instruments com de products producer battery 3 letzter Zugriff 16 05 11 Nerds de LoopBe1 Free Virtual MIDI Driver URL http www nerds de en loopbe1 html letzter Zugriff 16 05 11 Nintendo com Wii Music URL http www nintendo com games detail Feo TF VoacRbkoZq GoIDaRTgOzVAOID letzter Zugriff 16 05 11 Ostertag Bob Why Computer Music Sucks URL http bobostertag com writings articles computer music sucks htm letzter Zugriff 16 05 11 Peek Brian Managed Library for Ninte
137. rd rechts noch ein Menu zur Bearbeitung der Eigenschaften aller Bestandteile angeboten Alle hier eingebauten Schaltfl chen mit deren Eigenschaften erscheinen automatisch im Programmcode in dem diese wahlweise auch editiert werden k nnen vgl K HNEL 2010 Debuggen Daten Format Extras Fenster Hilfe E cibButtons CH Exi Eigenschaften Li wig ua Form System Windows Forms Form BESTE NES BindingSource PES A SE a Gen False bs sch con D men ImeMode NoControl IsMdiContainer False KeyPreview False Language Standard Localizable False Zeigt eine Liste menten mit einem Location 5o Kontrolik stche von jedem Element an Locked False MainMenuStrip Keine 3 BindingNavigator 5ojexe qo DirectoryEntry MaximizeBox True DirectorySearcher MaximumSize 0 0 P o I ES E BH D las Si a MinimizeBox True D UpD omainUpDown MinimumSize 90 Opacity 100 EventLog Padding gon FileSystemWatcher RightToLeft No FlowLayoutPanel RightToleftlayout False FolderBrowserDialog Showlcon True FontDialog ShowlnTaskbar True GroupBox Size 458 370 SizeGripStyle Auto StartPosition WindowsDefaultLocation ErrorProvider GBIETEREO HelpProvider HScrollBar Imagelist Label be P Form1 False LinkLabel ZE e r3 SZ ListBox 7 ListView Der dem Steuerelement zugeordnete Text Abb 7 2 Visual Studio 2010 in der Designer Ansicht Zusammengefasst vereint Windows Forms also die Eigenschaften einer f
138. ren und Abl ufe in den musiktechnischen Softwarel sungen m glich wird Auf der anderen Seite sollte die Schnittstelle aber auch als ein Medium fungieren das gleichzeitig den k nstlerisch virtuosen Spielraum bereitstellt der den direkten Bezug und die beschriebene K rperlichkeit sowie den Ausdruck des Musikspiels erlaubt Um von dieser Betrachtung ein Bild zu bekommen werden im Folgenden verschiedene Controller beispielhaft vorgestellt ohne dabei auf ihre genauen technischen Spezifikationen einzugehen Zum Teil handelt es sich um fertige und vertriebene Produkte es werden aber auch Studien auf eher experimenteller Basis gezeigt Da mittlerweile der Markt dieser Interfaces enorme Ausma e angenommen hat kann hier kein vollst ndiger berblick gegeben werden Vielmehr werden nur ausgew hlte wichtige und interessante Beispiele gezeigt Zun chst sind hier die standardisierten und universellen Interfaces zu nennen Sie bieten eine taktile Steuerung verschiedener Software und gelten daher als recht flexibel anwendbar Fader oder sogenannte Pads siehe Abbildungen 3 10 und 3 12 lassen sich per MIDI Befehl einzelnen oder mehreren Parameter zuordnen und erlauben dadurch ihre Hardware Bedienung Zu dieser Gruppe z hlen auch die MIDI Keyboards abgebildet in Abbildung 3 11 die sehr h ufig verwendet werden um alle Arten virtueller Instrumente mit Hilfe einer Klaviatur zu spielen Alle Eingabeger te dieser Art haben jedoch eher Werkzeug Charakter
139. ricUpDown8 Value numericUpDown7 Value numericUpDown8 Value 1 is C gt int numericUpDown7 Value C int numericUpDown7 Value 1 is D lt int numericUpDown7 Value t D int numericUpDown7 Value j Notenwertbegrenzung zwischen Feld E amp F siehe Feld A amp B private void numericUpDown8 ValueChanged object sender EventArgs e i if numericUpDown8 Value lt numericUpDown7 Value numericUpDown8 Value numericUpDown7 Value 1 numericUpDown8 Value gt numericUpDown9 Value i numericUpDown8 Value numericUpDown9 Value 1 if C gt int numericUpDown8 Value t C int numericUpDown8 Value 1 ii D lt int numericUpDown8 Value D int numericUpDown8 Value Notenwertbegrenzung nach Feld F siehe Feld A amp B private void numericUpDown9 ValueChanged object sender EventArgs e if numericUpDown9 Value numericUpDown8 Value numericUpDown9 Value numericUpDown8 Value if F gt int numericUpDown9 Value F int numericUpDown9 Value Methode die beim Schlie en des Fensters ausgef hrt wird private void Formi1 FormClosing Object sender FormClosingEventArgs e Trennt die Verbindung mit der Wiimote wm Disconnect Kapitel 9 Anhang B Quelltext 95 9 2 2 Class MidiOptions using System using System using System using System using System using System using System using System Collections Generic ComponentModel
140. rkstelligt wird Da Jedoch die typischen Eingabemedien f r den Computer aus Maus und Tastatur bestehen die vor allem zum Spiel eines Instruments wenig geeignet sind liegt es nahe neue Schnittstellen sogenannte Interfaces zu entwickeln die f r die Musikproduktion am PC wesentlich geeigneter sind Dieser Form der Mensch Maschine Schnittstellen die vor allem in Kapitel 32 genau definiert und im Bereich der Musikproduktion untersucht und detailliert erkl rt werden widmet sich indessen eine ganzer Wirtschaftszweig denn mit der Digitalisierung und Virtualisierung siehe Kapitel 3 1 der Erzeugung und Bearbeitung von Musik die mittels des PCs m glich wurde ist diese f r fast Jedermann erschwinglich geworden und somit ein gro er Markt geworden vgl SMUDITS 2008 257 Im Rahmen dieser Bachelor Arbeit sollen jedoch keine marktwissenschaftlichen Aspekte im Vordergrund stehen Vielmehr ist es die Aufgabe ein komplettes funktionsf higes Interface System f r den World Usability Day 2011 zu entwickeln das sich vor allem durch ein intuitives Bedienen auszeichnet und auch den Nutzer Kapitel 1 Einleitung 1 anspricht der vom Spiel eines Instrumenten und des weiteren von Notenschrift keine Kenntnis besitzt also insgesamt wenig musikalische Grundkenntnisse vorweisen kann Dabei ist vor allem die kreative Umsetzung musikalischer Ideen essentiell Die fertig konstruierte Schnittstelle beinhaltet somit sowohl Hard als auch Softwareumfang Letz
141. rn sich diese Anspr che nat rlich auch Insgesamt tragen zu einer nutzerfreundlichen Gestaltung viele verschiedene Faktoren bei Grundlegend ist die einfache selbsterkl rende Bedienung Produkte die ihre Bedienungsanleitung berfl ssig erscheinen lassen da Elemente der Bedienung bekannt sind oder ihre Aufgabe vom Anwender ohne Hilfe erkannt werden kann sind hier gemeint In einem Video Interview mit dem Ehrenvorsitzenden des World Usability Days 2010 John Hockenberry l sst sich unter anderem eine Frau in Bezug auf die einfache Handhabung ihres Handys mit folgenden Worten zitieren I don t have to feel stupid about using technology vgl WORLDUSABILITY DAY ORG 2011 Dieser Ausspruch beschreibt genau das Empfinden das nutzerfreundliches Design ausmacht Vor allem Menschen die sich nicht als technikaffin beschreiben w rden oft trifft das auf ltere Mitglieder unserer Gesellschaft zu und oder Personen die kein Interesse haben den rasanten technologischen Fortschritt zu verfolgen sollen mit einer Produktgestaltung nach dem Usability Prinzip keine Probleme bei der Bedienung von systemischen Kapitel 2 Begriffe 5 Schnittstellen haben Oft mangelt es hier jedoch an R cksicht auf diese Menschen die sich mit unserer technisierten Informationsgesellschaft weniger identifizieren k nnen Gleiches trifft auch auf behinderte oder in anderer Form beeintr chtigte Personen zu Hierbei wird die sogenannte Barrierefreiheit von Produkten geforde
142. roduktionsprogramm k nnten verschiedene Parameter die den Klang modulieren entweder durch die Lage im Raum mittels der Beschleunigungssensoren oder die Position der Infrarotquellen durch die Wiimote Kamera gesteuert werden MIKE VERDONE CA und MOORE zeigen allerdings bereits die Umsetzung einer solchen Idee aussehen Falls der Samplers als Form des virtuellen Instruments eingesetzt wird gleicht die Eingabe eher einer Art imagin ren Schlagzeug Durch abrupte schlag hnliche Bewegungen die entweder mit der Wiimote selbst Kapitel 5 Konzeption 3 ausgef hrt werden k nnten um durch den Beschleunigungssensor detektiert zu werden oder mit Infrarotsignalen deren Bewegung wiederum mit Hilfe der Wiimote Kamera aufgenommen und analysiert werden WIIDRUMSYNTH CODEPLEX COM zeigt f r die Verwendung der Beschleunigungssensoren in diesem Fall bereits ein Beispiel Eine Kombination beider Sensortechniken kommt aus trivialem Grund nicht in Frage Grunds tzlich ist das System auf nur einen Nutzer ausgelegt Daraus folgt dass durch diesen Anwender entweder das Infrarot Signal bewegt wird oder die Wiimote aber nicht beides gleichzeitig geschehen kann F r die Verwendung der Beschleunigungssensoren muss die Fernbedienung allerdings dynamisch beansprucht werden und wird somit entweder relativ schnell bewegt oder um die verschiedenen eigenen Achsen gedreht Bei beiden dieser Anwendungsarten kann ein ruhendes Infrarotsignal durch die Bewegung der Wi
143. rsache und Wirkung durchbrochen und die eigentliche Referenz geht verloren Vielmals werden so auch mit den Standard Peripherieger ten Maus und Tastatur oder einem angeschlossenen Keyboard alle Formen der meist Sample basierten virtuellen Instrumente gespielt womit der eigentlich k nstlerische Aspekt verkommt und der Bezug zu einem Instrument nicht mehr hergestellt werden kann Ganz zu Anfang dieser Evolution steht die Erfindung der Sampling Technologie die gewisserma en die Verschmelzung von Instrument und Wiedergabeger t verk rpert und mit der es m glich wurde Kl nge aller Art oftmals auch Teile lterer Lieder aufzuzeichnen zu bearbeiten neu zusammenzusetzen und in eigene Produktionen einflie en zu lassen siehe Kapitel 3 1 1 Die eindeutige Zuweisung eines Samples zu einem gewissen Musikst ck ist damit nicht mehr m glich und somit wird auch ein Referenzieren dazu ausgeschlossen vgl GROSSMANN 1995 Aber nicht nur die Quelle des Klangs ist damit nicht mehr zweifelsfrei nachvollziehbar auch die zweite Charakteristik eines Klangs der Raum geht im virtuellen und digitalen Umfeld verloren denn mit Hilfe von Effekten wie beispielsweise Hall oder Delay lassen sich auf jederlei Sound auch alle erdenkbaren R umlichkeiten projizieren Diese k nnen einem wirklichen Raum nachempfunden sein aber auch surreale Formen annehmen Die Konstruktion fiktiver R ume und musikalischer Binnenarchitekturen war angesichts dieser referenzlosen
144. rt Diese bezieht sich auf die Forderung dass ausnahmslos alle Menschen auch solche mit motorischen perzeptiven kognitiven sprachlichen oder altersbedingten Einschr nkungen ein bestimmtes Produkt benutzen k nnen BRUDER et al 2010 Der Begriff der Barrierefreiheit ist sogar in 4 des Gesetzes zur Gleichstellung behinderter Menschen BGB festgeschrieben F r die Art der Dialoggestaltung auf die sich auch die obige Definition nach SPIAS et al 1990 bezieht wurden zwar keine Gesetzte verfasst jedoch aber Normen f r nutzerfreundliche Gestaltung formuliert Ein Dialog ist dabei mit K NIG und R BIG 2010 nach DIN 66234 ein Ablauf bei dem der Benutzer zur Abwicklung einer Arbeitsaufgabe in einem oder mehreren Dialogschritten Daten eingibt und jeweils R ckmeldung ber die Verarbeitung dieser Daten erh lt Das kann prinzipiell jegliches Mensch Maschine System sein ist aber vor allem f r die Gestaltung von interaktiven Systemen solcher Art wie Webseiten oder Software besonders interessant da wie in der Einleitung bereits dargelegt der Personal Computer und somit auch die darauf benutzten Programme und das Internet in der heutigen Arbeitswelt wahrscheinlich den gr ten Teil solcher Dialogsystemen darstellen und diese verwenden In DIN EN ISO 9241 110 werden deswegen die Grunds tze dieser Dialoggestaltung definiert e Aufgabenangemessenheit geeignete Funktionalit t Minimierung unn tiger Interaktionen e Se
145. sicherzustellen und eben den Bezug zur klassischen Form des Musizierens und der K rperlichkeit die in Kapitel 3 2 eingehend beschrieben wurde herzustellen Zus tzlich m ssen diese Eingaben vom System und damit f r die Software immer sicher und am besten auch schnell zu erkennen und in das musikalische Ergebnis umzusetzen sein Hierf r ist das zu schreibende Programm in Visual Studio C zust ndig das den Software Teil des Projekts darstellt siehe Kapitel 7 3 Zus tzlich soll auch das universelle MIDI Format verwendet werden mit dessen Hilfe Interfacesoftware und virtueller Klangerzeuger kommunizieren Ziel des Einsatzes dieser Schnittstelle ist eine m glichst vielf ltige Verwendung des Interfaces mit der alle Arten virtueller Musiktechnik angesteuert werden k nnen wie in Kapitel 4 2 1 erkl rt wurde F r die Aufnahme der Eingabe kommen dabei die zwei in Kapitel 4 1 beschriebenen Arten der Sensorik der Wii Remote in Frage Die Bedienung ber Tasten und Sticks wird hierbei au er Acht gelassen da diese definitiv hinsichtlich der bereits oben erw hnten intuitiven Bedienung weitaus weniger interessant sind als die Verwendung der Beschleunigungssensoren oder der Infrarotkamera der Wiimote Hinsichtlich der Entscheidung des verwendeten Klangerzeugers werden ebenfalls nur zwei M glichkeiten in Betracht gezogen die mit den Sensortechniken der Wiimote angebracht gesteuert werden k nnen Bei der Nutzung eines Synthesizers als Musikp
146. strumente auf Grunds tzlich ist die Bearbeitung und Erstellung von MIDI Daten per Maus und Tastatur in diversen Editoren m glich Abbildung 3 8 zeigt einen dieser Editoren in Logic die Piano Roll in der die einzelnen Noten in Form von kleinen Bausteinen angezeigt werden Die Farbe der MIDI Events wie die Noten in MIDI Form auch genannt werden spiegelt die Velocity wieder die die Anschlagsdynamik einer einzelnen Note repr sentiert enm gt The Hoors Waruchon Mas Rem her Sys Popn 3 ana I Abb 3 8 Piano Roll in Logic Studio Da diese Form der Eingabe jedoch weit entfernt ist von der urspr nglichen und nat rlichen Form die instrumentales Spiel und prinzipiell auch Musik an sich auszeichnet und dar ber hinaus den Definitionen von Intuitivit t und Spontanit t widerspricht die oftmals dem Ursprung einer musikalischen Komposition Kapitel 3 Entwicklung des Interfaces in der digitalen Musikproduktion 20 entsprechen sind neue Formen der Eingabe f r Software Instrumente entwickelt worden die sogenannten MIDI Controller vgl Chadabe 1997 Da diese von grundlegender Bedeutung in dieser Arbeit sind widmet sich Kapitel 3 2 eigens diesen Steuerungseinheiten Bei all den beschriebenen Funktionen die die vorgestellten Programme beherrschen m ssen um als Ersatz f r professionelles Studioequipment zu dienen ergibt sich ein zweiter gro er Nachteil vor allem im Umgang mit den Digital Audio Workstations die ungeheur
147. stst ndig und nahezu risikofrei weltweit zu vermarkten Das Resultat dieser Entwicklung bedingt durch die soeben aufgezeigten Faktoren besteht darin dass es nun f r jedermann m glich ist unter praktisch professionellen Bedingungen eigene Musik zu kreieren Bei dieser Entwicklung kann dann von einer Demokratisierung musikalischer Produktionsbedingungen gesprochen werden vgl ENGH 2008 Dar ber hinaus findet ein zweiter Trend statt der auch als De Professionalisierung bezeichnet wird Wie auch im vorigen Kapitel schon angesprochen sind mit Hilfe der Digital Audio Workstations und der virtuellen Instrumente keine traditionellen musikalischen Kompetenzen mehr notwendig Nach GROSSMANN 1995 leistet der Computer heute eine so weitgehende Integration von Vorwissen sowie komplexer und ver nderbarer Vorstrukturierung elektronischer Klangproduktion dass auch vom musikalisch handwerklich unausgebildeten Laien komplexe Kl nge gespielt werden k nnen Daraus leitet SMUDITS 2008 ab dass in Bezug auf das Berufsbild von Musikschaffenden eine Aufweichung der professionellen Zugangskriterien in das k nstlerische Feld konstatierbar ist Auch das Verh ltnis von Rezeption und Produktion des Einzelnen ver ndert sich prinzipiell denn mit den neuen Technologien sind Bedingungen geschaffen die eben den Einstieg in das sogenannte Musikbusiness stark erleichtern Dabei ist beispielsweise oftmals die T tigkeit als Discjockey der erste Sc
148. tart else t F Switch back peak filter X false timer4 Start j UpdateState Methode die st ndig von neuem durchlaufen wird sobald die Wiimote Daten sendet public void UpdateState WiimoteChangedEventArgs args Ruft die UpdateWiimoteChanged Methode durch die asynchrone Ausf hrung des UpdateWiimoteStateDelegate Delegaten auf BeginInvoke new UpdateWiimoteStateDelegate UpdateWiimoteChanged args j UpdateWiimoteChanged Methode vermittelt zur UpdateIR Methode und zeichnet Rahmen und Gitternetz der GUI private void UpdateWiimoteChanged WiimoteChangedEventArgs args Instanzieren der WiimoteState Klasse aus der WiimoteLib WiimoteState ws args WiimoteState Im Designer erstellte Picture Box IRBox als Bitmap b definieren IRBox Image b Zeichenoberfl che komplett Weiss definieren g Clear Color White Rand zeichnen g DrawLine new Pen Color Black 2 1 1 1 432 g DrawLine new Pen Color Black 2 575 0 575 432 g DrawLine new Pen Color Black 2 1 1 576 1 g DrawLine new Pen Color Black 2 0 431 576 431 Feldabgrenzung zeichnen g DrawLine new Pen Color Black 2 192 0 192 432 g DrawLine new Pen Color Black 2 384 0 384 432 g DrawLine new Pen Color Black 2 0 216 576 216 Visuelles Feedback anzeigen falls Sample Ausl sung erfolgt if feedback true if note A g FillRectangle new SolidBrush Color Green 0 0 192 216
149. te D else if X3 lt 700 if Y3 lt 380 note B else note E else if Y3 lt 380 note C else note F if peak_filter_Y3 true synth PlayNote note veloc3 peak_filter_Y3 false feedback true Kapitel 9 Anhang B Quelltext 84 Methode zum Ausw hlen der Switch Befehle die st ndig von neuem durchlaufen wird sobald die Wiimote Daten sendet void wm WiimoteChanged Switch object sender WiimoteChangedEventArgs e Kapitel 9 Positionsdaten der IR Signale der Wiimote abrufen float Y1 e WiimoteState IRState IRSensors 0 RawPosition float X1 e WiimoteState IRState IRSensors 0 RawPosition float Y2 e WiimoteState IRState IRSensors 1 RawPosition float X2 e WiimoteState IRState IRSensors 1 RawPosition e e I ve EM ve float Y3 e WiimoteState IRState IRSensors 2 RawPosition float X3 e WiimoteState IRState IRSensors 2 RawPosition ve XK LXXX ve Viertes Infrarotsignal deaktivieren e WiimoteState IRState IRSensors 3 Found false Aufruf der Methoden zur Berechnung der Geschwindigkeiten in x Richtung berechne_V1_x berechne_V2_x berechne_V3_x Aufruf der Methoden zur Bestimmmung der Positionsdifferenzen bez glich der x Achse berechne X Gap12 berechne X Gap13 berechne X Gap23 berpr fen ob Switch Befehl k rzlich ausgel st wurde if peak filter X true Ausl sen des Switch Forward Befehls mit IR
150. tellung der anderen Timer analog zu Timer 1 bis auf Intervalle des Timers 4 und 5 timer2 Tick new EventHandler timer2_Tick timer2 Interval all_timer_interval timer2 Enabled true timer3 Tick new EventHandler timer3_Tick timer3 Interval all_timer_interval Kapitel 9 Anhang B Quelltext 77 timer3 Enabled true timer4 Tick new EventHandler timer4_Tick timer4 Interval 800 timer4 Enabled true timer5 Tick new EventHandler timer5_Tick timer5 Interval 50 timer5 Enabled true Methoden zur Berechnung der Geschwindigkeiten der IR Signale in y Richtung Berechnung IR1 Geschwindigkeit in y Richtung private void berechne_V1_y Y Positionsdaten von der Wiimote abrufen float Y1 wm WiimoteState IRState IRSensors 0 RawPosition Y Berechnung der Geschwindigkeit durch angen herten Differenzenquotient V1 y Y1 Y1 vorher t berschreibung der globalen Variable Y1 vorher Y1 vorher Y1 Berechnung IR2 Geschwindigkeit in y Richtung analog zu IR 1 private void berechne_V2_y float Y2 wm WiimoteState IRState IRSensors 1 RawPosition Y V2 y Y2 Y2 vorher t Y2 vorher Y2 j Berechnung IR3 Geschwindigkeit in y Richtung analog zu IR 1 private void berechne V3 y float Y3 wm WiimoteState IRState IRSensors 2 RawPosition Y V3 y Y3 Y3 vorher t Y3 vorher Y3 Methoden zur Berechnung der Beschleunigungen der IR Sign
151. teres wird mit der Programmiersprache C mittels Visual Studio Express 2010 codiert N heres dazu findet sich im Kapitel 7 1 Die schriftliche Ausarbeitung gliedert sich nach der Einleitung in weitere f nf Teile Zun chst werden die Begriffe intuitiv Usability und Interface die alle Kernaspekte der Themen stellung sind beschrieben Besonders die zwei letztgenannten Termini bed rfen einer etwas ausf hrlicheren und komplexeren Erkl rung um ihre Bedeutung vollst ndig zu kl ren Daraufhin folgt ein kleiner Einblick in die Entwicklung der Rolle des Interfaces in der Musikproduktion wozu zun chst der immer noch anhaltende Wandel dieser im momentanen Zeitalter der Digitalisierung dargelegt wird damit daraufhin die Folgen f r Interfacel sungen in der digitalen Produktion von Musik gezeigt werden k nnen Als N chstes folgen verschiedene technische Grundlagen die zur Funktion des Systems ben tigt werden und daher erl utert werden m ssen Dazu z hlen neben der Wiimote die verwendeten MIDI und Bluetooth Interfaceprotokolle und die eingesetzte Musiksoftware die schlie lich als Klangerzeuger fungiert In Kapitel f nf wird anschlie end auf den beschriebenen theoretischen Grundlagen zu Interfacedesign und digitaler Musikproduktion ein Konzept der Interfaces entwickelt das sowohl Anforderungen an die grafische Benutzeroberfl che als auch an die verschiedenen Funktionen des Systems stellt Den Abschluss dieser Arbeit beschreibt
152. tuitive Art der Eingabeform die letztlich zur Erzeugung eines Tons f hrt Des Weiteren kann wie bereits geschildert jede MIDI kompatible Software als Klangerzeuger genutzt werden Hinsichtlich der Anwendung mit den zu steuernden Programmen ist das Interface also flexibel und universell einsetzbar Ein weiterer Vorteil besteht in der Individualisierbarkeit der Kombination der einzelnen auf den Feldern liegenden Samples Der Anwender kann so lange mit Hilfe des Switch Befehls die einzelnen Sounds wechseln bis ihm eine passende Zusammenstellung vorliegt mit der er anschlie end arbeitet Dieses Prinzip von Individualisierbarkeit entspricht daher in gewissem Ma e auch den Richtlinien von nutzergerechter Gestaltung bez glich Usability Kapitel 2 2 5 2 Software Bedienoberfl che Nachdem die grundlegenden Funktionen des Systems definiert und erkl rt wurden gilt es nun die Anforderungen an die grafische Benutzeroberfl che kurz GUI Grafical User Interface zu stellen Obwohl auch hier ein kleiner Vorgriff auf das die Programmierung betreffende Kapitel geschieht sind viele Ideen zur GUI schon bereits w hrend der Konzeption entwickelt worden und dienen zum Verst ndnis des Gesamtsystems Zus tzlich wird darauf hingewiesen dass auch einige der auf der grafischen Benutzeroberfl che vorhandenen Objekte Funktionen des Interfaces sind sie aber durch ihre Zugeh rigkeit zur GUI erst in diesem Kapitel thematisiert werden Die detaillierte Betrachtu
153. und while chleife Die Klasse wiederum ist immer einem bestimmten Namensraum meist Namespace genannt untergeordnet Dieser stellt sozusagen die Namen aller Objekte mit dem diese aufgerufen und identifiziert werden k nnen in einer Art Baumstruktur zur Verf gung Daneben definiert er auch die den Objekten zugeordneten Eigenschaften und Methoden Der komplette Namespace kann auch durch Verweise auf Assemblys erweitert werden welche typischerweise in dll oder exe Dateiform bereitgestellt werden Kapitel 7 Softwareprogrammierung 45 Die Managed Libraries wie die Wiimote Library bezeichnen ebenfalls Assemblys auf die in Visual Basic dann referenziert werden kann vgl GUNNERSON 2000 7 1 2 Windows Forms Application Bei der Arbeit mit Visual Studio gilt es zun chst auszuw hlen welche Art einer Anwendung programmiert werden soll Neben mehreren anderen M glichkeiten wird auch die Programmierschnittstelle Windows Forms angeboten die gerade zur Erstellung windows hnlicher grafischer Benutzeroberfl chen geeignet ist Hier wird dem Programmierer neben dem normalen Fenster f r die Code Eingabe noch ein sogenannter Designer zur Verf gung gestellt dessen Ansicht Abb 72 zeigt und mit dem die standardisierten Schaltfl chen und Elemente die aus Windows Anwendungen bekannt sind durch einfaches Drag amp Drop aus der Toolbox auf der linken Seite der Ansicht in die Software Oberfl che integriert werden k nnen Desweiteren wi
154. vermittelt siehe Kapitel 4 2 und 4 3 verwendet wird Insgesamt scheint der Anspruch an die GUI im Vergleich zu manch anderem Programm relativ klein es sollte mit der Umsetzung dieser Bedingungen jedoch m glich sein problemlos an der Interaktion mit dem System teilzunehmen Kapitel 5 Konzeption 42 6 LED Handschuhe Bevor die Beschreibung des Erstellungsprozesses der Softwrae soll nun noch kurz auf die in eigener Arbeit gefertigten LED Handschuhen eingegangen werden In Abbildung 6 1 und 6 2 sind aus Gr nden der Veranschaulichung zun chst die Handschuhe von der Vorder und der Draufsicht zu sehen Abb 6 1 LED Handschuhe Draufsicht Abb 6 2 LED Handschuhe Vorderansicht Die insgesamt drei Dioden sitzen wie bereits genannt an der rechten Hand an der Spitze von Zeige und Mittelfinger und am der linken Hand nur am Zeigefinger Dabei handelt es sich um T 1 Infrarot LEDs der Firma Kingbright mit einem Durchmesser von 3 2mm die eine Spitzenwellenl nge von 940 Nanometer emittieren und zwischen 12 und 1 6 Volt arbeiten F r weitere technischen Details sei auf das Datenblatt in Anhang A verwiesen Die notwendige Spannung stellt jeweils eine AAA Micro Batterie mit einer Spannung von 1 6 Volt zur Verf gung die in passenden Halterungen angeklebt an die Handschuhe eingelegt werden Da aber insgesamt durch Widerstinde in Batteriehalterung und Kabel nur ein kleiner Teil der Gesamtspannung abf llt steht den Dioden au
155. welcher Struktur ber Klassen hinaus auf das jeweilige Ziel zugegriffen werden kann F r den Zugriff innerhalb einer Klasse wie in MainForm ist dies Jedoch irrelevant Zu weiteren Informationen bez glich der Einbindung von Wii Infrared MIDI in andere Programmstrukturen wird auf K HNEL 2010 hingewiesen Die eigentlichen Operationen erfolgen aber innerhalb der Methoden Dazu geh ren neben mathematischen und logischen Berechnungsmethoden unter anderem auch sogenannte Schleifen die Befehle ausf hren falls oder solange eine gewisse Bedingung erf llt ist Eine dieser Schleifen ist die zf else Anweisung die hier sehr oft verwendet wird und daher kurz einer Erl uterung bedarf Untenstehendes Beispiel zeigt dessen klassische Syntax if Bedingung Anweisung 1 else Anweisung 2 Nach dem if Befehl steht in Klammern die Bedingung die zum Ausf hren der Anweisung 1 erf llt sein muss Ist das nicht der Fall wird Anweisung 2 ausgef hrt Es besteht allerdings auch die M glichkeit auf den else Teil zu verzichten falls nur eine Anweisung bei einer bestimmten Bedingung interessiert Weitere Operationen werden nicht besonders erkl rt es wird auf GUNNERSON 2000 verwiesen Daneben soll vor der Beschreibung der Implementierung noch kurz auf die programmtechnische Definition eines Events zu Deutsch Ereignis eingegangen werden Der Methodenaufruf in C erfolgt in diesem Programm zum Einen wenn eine vorig ausgef hrte Methode diesen Aufruf be
156. zu Anfang der Anwendung in der MainForm Methode mit der Zeichenoberfl che g der Graphics Klasse verkn pft wurde Somit ist die Oberfl che der PictureBox nun f hig mit Hilfe von Zeichenmethoden aus der Graphics Klasse grafische Elemente abzubilden Sie dient als Ausgangspunkt f r das weitere Vorgehen Um einen sich bewegenden Punkt darzustellen der die IR Signale wiederspiegelt muss nach dem Einzeichnen der Punkte das in der folgenden Methode UpdateIR geschieht zuvor aber jedes Mal das alte Abbild der IR Punkte wieder gel scht werden Dies geschieht mit der g CLear CoLor White Anweisung die bei jedem Aufruf von UpdateWiimoteChanged die Zeichenoberfl che wieder wei f rbt und somit die alten Markierungen der IR Positionen l scht F r das Einzeichnen des Gitters und der Berandung die die Oberfl che in die sechs Felder einteilen siehe Abbildung 6 5 in Kapitel 7 3 1 sind die verschiedenen g DrawLine Methoden verantwortlich die wie der Name bereits vermuten l sst nur verschiedene Linien zeichnen Zudem wird falls die feedback Variable in der wm WiimoteChanged Methode nach Ausl sen eines Samples den Wert true bekommen hat das bet tigte Feld durch Abfrage des momentan in der note Variable gespeicherten Notenwerts identifiziert und mit dem g FillRectangle Befehl ber Angabe der Koordinaten der verschiedenen Felder gr n gef rbt Ein weiteres Feature der GUI ist die Anzeige der Notenwerte in den Feldern durch einfache Schriftz
Download Pdf Manuals
Related Search
Related Contents
les espaces verts gérer biodiversité jl mate, continental.. Reglamento del proyecto fin de carrera de la titulación de Ingeniería Signature Series Solo Seat Kit Instruction Sheet - Harley Latitude Centrale User Manual Manual do usuário Soni II Ortus Techmocure Consolidante NS VM-ShortCuts User Manual (908KB PDF) Copyright © All rights reserved.
Failed to retrieve file