Inhaltserstellungsanwendung für die JET Interactive Music Engine
1 Einleitung
1.1 Übersicht
Dieses Dokument enthält die Nutzerrichtlinien. für SONiVOX JET Creator, eine Authoring-Anwendung für beim Vorspielen für JET-Dateien. JET ist ein interaktiver Musikplayer für kleine einschließlich der Geräte, auf denen die Android-Plattform läuft. Damit können Anwendungen Interaktive Musiksoundtracks im MIDI-Format die in Echtzeit auf Spielereignisse und Nutzerinteraktionen reagieren.
JET arbeitet mit der
Embedded Audio Synthesizer (EAS), der MIDI
Wiedergabegerät für Android. Sowohl die
Die JET- und EAS-Engines sind über die integrierte Android-Plattform
Außerdem: JetPlayer
Klasse
wie in der JET Creator-Anwendung inhärent. Somit kann der JET-Content-Autor
achten Sie darauf, dass die Wiedergabe im JET Creator genau gleich klingt.
und die finale Android-App,
die auf Android-Mobilgeräten wiedergegeben wird.
Neben den grafischen Nutzenden gibt es zwei Hauptfunktionen in JET Creator. Die umfasst das Sammeln aller Quelldaten (MIDI) -Dateien und -DLS-Dateien), wobei die Echtzeitattribute von JET hinzugefügt und eine JET-Datei erstellt wird Jet-Datei, die von der Android-App verwendet wird. Die zweite Funktion umfasst das Vorspielen der interaktiven Wiedergabeelemente, sobald sie stattfinden in der Android-App.
Die JET Creator-Anwendung der Programmiersprache Python. Sie benötigen also die aktuelle Version von Python und WXWidgets installiert. Es gibt sowohl eine Mac- als auch eine Windows-Version.
1.2 Abkürzungen und allgemeine Begriffe
Es ist wichtig, einen gemeinsamen Satz an um Missverständnisse zu vermeiden. Da JET MIDI verwendet, branchenübliche Begriffe, die nicht immer ausreichen. Hier sind die Definition von Begriffen, wie sie auf dieser Seite und im JET Creator verwendet werden Anwendung:
Kanal: MIDI-Daten, die mit einer bestimmten MIDI verknüpft sind Kanal. Standard-MIDI ermöglicht 16 MIDI-Kanäle Daten, die in der Regel mit einem bestimmten Zahlungsmittel verknüpft sind.
Controller: Ein MIDI-Ereignis, das aus einem Kanalnummer, Controllernummer und einen Controller-Wert. MIDI Spezifikation verknüpft viele Controller-Nummern mit Funktionen wie Volume, Expression, Sustain-Pedal usw. verwendet Controller-Ereignisse, um spezielle Steuerinformationen in eine MIDI-Sequenz für die Audiosynchronisierung
DAW: Digital Audio Workstation. Ein häufiger Begriff für MIDI und Audiosequenzierungsanwendungen wie Logic, SONAR, Cubase und andere.
EAS:Eingebetteter MIDI-Synthesizer. Die der SONiVOX MIDI-Synthesizer-Engine.
JET: Jet Interactive Engine. Der Name des interaktiven SONiVOX JET Musik-Engine.
M/B/T: Measures, Beats und Ticks
Segment: Ein musikalischer Abschnitt wie ein Refrain oder Vers, der Bestandteil von für die Gesamtzusammensetzung. In JET kann ein Segment eine ganze MIDI-Datei oder die aus einem Teil einer MIDI-Datei abgeleitet wurden.
SMF-0: Standard-MIDI-Dateityp 0, eine MIDI-Datei, die ein einzelnes Titel enthalten, kann jedoch aus mehreren MIDI-Kanälen bestehen Daten.
SMF-1: Standard-MIDI-Dateityp 1, eine MIDI-Datei, die eine weitere und jeder Track kann wiederum aus einem oder mehreren MIDI-Kanälen bestehen. Daten. Konventionsgemäß wird jeder Kanal in einem separaten Track in einer SMF-1-Datei. Es ist jedoch möglich, mehrere MIDI-Dateien Kanäle eines einzelnen Tracks oder mehrere Tracks, die Daten für denselben MIDI enthalten Kanal.
Track: Ein einzelner Track in einer DAW mit einer zeitlich begrenzten Abfolge von Ereignissen. Titel dürfen nicht mit Kanäle. Eine MIDI-Datei kann viele Tracks mit mehreren Tracks enthalten, die die über denselben MIDI-Kanal.
2 Das Konzept der interaktiven JET-Musik
Interaktive Musik kann als Musik definiert werden. die sich in Echtzeit aufgrund unvorhersehbarer Ereignisse wie Interaktions- oder Spielereignisse. So ist interaktive Musik Das Spiel ist ansprechend, da es der Energie und Stimmung eines Spiels angepasst werden kann. näher als eine fertige Komposition, die sich nie ändert. In einigen Anwendungen und Spielen ist interaktive Musik ein zentraler Bestandteil des Spiels. Guitar Hero ist eins ein so beliebtes Spiel. Wenn der Endnutzer die Musiknoten erfolgreich erfasst hat Die Musik passt sich selbst an und sorgt gleichzeitig für Erfolge und Misserfolge. Mit JET können diese musikgesteuerten auch für Spiele.
Es gibt verschiedene Methoden, die Steuerung interaktiver Musik und JET eine solche Methode. Dieser Abschnitt beschreibt die Funktionen von JET und wie sie in einem Spiel oder einer Software verwendet werden können. . Außerdem wird beschrieben, wie mit JET Speicher in kleinen wie z. B. Android-fähige Mobilgeräte.
2.1.1 Datenkomprimierung
JET unterstützt ein flexibles Musikformat, können verwendet werden, um mit minimaler Datenmenge erweiterte Musiksequenzen zu kreieren. Eine Musikkomposition ist in einzelne Abschnitte unterteilt, längeres Stück zu erstellen. Die Reihenfolge kann zum Zeitpunkt der Musikdatei festgelegt werden. erstellt wird, oder sie kann unter Programmsteuerung dynamisch erstellt werden.
2.1.2 Beispiel für lineare Musik
Abbildung 1: Lineares Musikstück
Dieses Diagramm zeigt, wie Musiksegmente gespeichert sind. Jedes Segment wird als separate MIDI-Datei erstellt. -Datei. Ein Nachbearbeitungstool kombiniert die Dateien in einer einzigen Containerdatei. Jedes Segment kann alternative Musiktitel enthalten, die stummgeschaltet oder die Stummschaltung aufgehoben werden können. um zusätzliches Interesse zu wecken. Ein Beispiel könnte ein Messingakzent im Refrain sein, das nur das letzte Mal gespielt wird. Segmente können auch nach oben oder nach unten zeigen.
Im unteren Teil des Diagramms sehen Sie, können die Musiksegmente zu einem linearen Musikstück kombiniert werden. In dieser könnte die Bridge mit einer halbschrittigen Schlüsselmodulation enden, Segmente in einem halben Schritt nach oben transponiert werden, um sie abzugleichen.
2.1.3 Beispiel für nicht lineare Musik
Abbildung 2: Nicht lineares Musikstück
In diesem Diagramm sehen wir eine nicht lineare Musik, Stück. Das Szenario ist ein First-Person-Shooter (FPS) und JET stellt die Hintergrundmusik. Das Intro wird wiedergegeben, während das Level geladen wird, und geht dann über unter der Programmsteuerung auf das Segment „Suche“. Dieses Segment wiederholt sich auf unbestimmte Zeit, eventuell mit geringfügigen Abweichungen (mithilfe der Funktion zum Stummschalten/Lautschalten) bis zur Aktivität im Spiel eine Veränderung vorgibt.
Als sich der Spieler einem Monsterversteck nähert, Programm einen synchronisierten Übergang zum Segment „Gefahr“ startet, wodurch die in den Audioinhalten zu hören. Je näher sich der Spieler dem Versteck nähert, desto mehr werden die Stummschaltung der Titel aufgehoben, um die Spannung zu erhöhen.
Während der Spieler in den Kampf mit der Monster handelt, startet das Programm einen synchronisierten Übergang zum Abschnitt „Combat“. Das Segment wiederholt sich im Laufe des Kampfes auf unbestimmte Zeit. Ein Bonustreffer hebt die Stummschaltung eines dekorativen Tracks vorübergehend auf, sodass der Spieler über ein erfolgreicher Angriff. Genauso wird die Stummschaltung eines anderen Tracks vorübergehend aufgehoben, bedeutet, dass der Spieler einen besonderen Schaden erhält.
Am Ende des Kampfes wechselt die Musik je nach Ausgang des Kampfes bis hin zu einem Sieg oder Siegessegment.
2.1.4 Synchronisierung stummschalten/Stummschaltung aufheben
JET kann auch die Stummschaltung und Stummschaltung von Titeln mit Ereignissen in der Musik aufheben. Beim Ego-Shooter-Spiel wäre es zum Beispiel ist es wahrscheinlich wünschenswert, Musik-Events im Zusammenhang mit Boni und so nahe wie möglich am eigentlichen Spielereignis liegt. Sie können die Stummschaltung jedoch zum Zeitpunkt des Spielereignisses einen Musiktitel anzeigen, beginnend in der Mitte. Alternativ kann ein Clip über die aber dann wird es nicht mit den anderen Musiktiteln synchronisiert.
Mit der JET-Synchronisierungs-Engine kann ein Clip kann zum nächsten Zeitpunkt gestartet werden und die Synchronisierung wird aufrechterhalten. Dieses kannst du kurze Musikclips auf einem dekorativen Titel. Ein MIDI-Ereignis im Stream bedeutet, den Beginn eines Clips und ein zweites Ereignis kennzeichnet das Ende des Clips. Wenn der Parameter die JET-Clip-Funktion aufruft, wird der nächste Clip im Track zugelassen. um vollständig mit der Musik synchronisiert zu spielen. Optional kann der Track automatisch bei einem zweiten MIDI-Ereignis stummgeschaltet.
Abbildung 3: Synchronisierte Stummschaltung/Stummschaltung aufheben
2.2 Audiosynchronisierung
JET bietet ein API für die Audiosynchronisierung. über das der Spielverlauf mit Audioereignissen synchronisiert wird. Der Mechanismus ist auf Daten angewiesen, die in die MIDI-Datei Zeitpunkt der Erstellung des Inhalts. Wenn die JET-Engine während bei der Wiedergabe wird ein Callback im Anwendungsprogramm generiert. Das Timing der kann der Callback angepasst werden, um jegliche Latenz im Audio zu kompensieren. Wiedergabesystem, damit Audio und Video synchronisiert werden können. Das Diagramm unten zeigt ein Beispiel für ein einfaches Musikspiel, bei dem die Rechtspfeile mit der Musik.
Abbildung 4: Musikspiel
Die Pfeile stellen die Ereignisse in der Musiksequenz dar. wo Spielereignisse synchronisiert werden müssen. In diesem Fall wird der blaue Pfeil eine Zeit darstellt, in der der Spieler die linke Taste drücken soll, und steht der rote Pfeil für die rechte Taste. Der gelbe Pfeil weist die Spiel-Engine auf, dass die Sequenz abgeschlossen ist. Dem Player steht ein bestimmtes Zeitfenster zur Verfügung. vor und nach dem Termin, um die entsprechende Taste zu drücken.
Wenn ein Ereignis empfangen wird und der Player nicht gedrückt, wird der Timer auf die Hälfte der Fensterlänge eingestellt. Wenn die drückt der Spieler die Taste, bevor der Timer abläuft, registriert das Spiel eine Erfolg haben. Andernfalls meldet das Spiel einen Fehler.
Wenn der Spieler die Taste drückt, bevor -Ereignis empfangen wird, wird ein Timer auf die Hälfte der Länge des Fensters eingestellt. Wenn ein Ereignis vor Ablauf des Timers empfangen wird, verzeichnet das Spiel einen Erfolg. Falls nicht, dass das Spiel einen Fehler meldet. Das Spielen kann auch Boni für zum Zeitpunkt des tatsächlichen Ereignisses.
3 Übersicht über JET Content Authoring
JET-Dateien erstellen und anhören interaktiv nutzen, arbeitet der Autor von Inhalten in zwei Anwendungen: die perfekt aufeinander abgestimmt sind. Erstens: Die Anwendung ist eine handelsübliche MIDI-Sequenzierungs-App unterstützt VST-Plug-ins (für PC) und AU-Plug-ins (für Mac). Hier schreibt der Autor ihre MIDI-Musikdateien mithilfe des Plug-ins Synthesizer. Die zweite Anwendung ist die JET Creator-Anwendung. Hier Der Autor importiert seine MIDI-Musikdateien (und optional ein DLS2-Soundset) und die Bedingungen für interaktive die Wiedergabe in einem JET-fähigen Spiel. Optional kann der Autor des Inhalts eine Reihe benutzerdefinierter DLS-Instrumente unter Verwendung eines Instrumenteneditors, der die DLS Level 2-Format. Eine solche Anwendung ist Awave von MJSoft.
In der Dokumentation zu den JET Content Authoring Guidelines zur Erstellung von Inhalten.
4 JET Creator installieren und starten
JET Creator ist eine Python-Sprache, Daher müssen Python und wxPython auf Ihrem Computer installiert sein. Maschine.
JetCreator wurde entwickelt und getestet mit:
Python Version 2.5.4
wxPython Version 2.8.7.1
Diese können Sie hier herunterladen:
PC:
- http://www.python.org/download/releases/2.5.4/
- http://www.wxpython.org/download.php
MAC:
- http://wiki.python.org/moin/MacPython/Leopard
- http://www.wxpython.org/download.php
Nach der Installation von Python und wxPython entpacken oder kopieren Sie einfach alle Dateien im JET Creator-Anwendungsverzeichnis Ordner auf Ihrer Festplatte.
Rufen Sie einen Befehl auf, um JET Creator zu starten und legen Sie das Verzeichnis fest, in dem Sie Python installiert haben. Führen Sie als Nächstes Python aus mit dem Befehl:
python jetcreator.py
5 JET Creator verwenden
5.1 Dateitypen
Es gibt verschiedene Dateitypen die mit JET Creator verknüpft sind.
JETC-JET Creator-Projektdatei. Diese Datei enthält alle Informationen im Zusammenhang mit einer JET Creator-Projekt Wenn Sie in JET Creator speichern oder unter einem Namen speichern, wird diese Datei -Typ gespeichert wird.
Jet JET Datei. Diese Ausgabedatei wird automatisch von JET Creator generiert, wenn Sie und speichern Sie Ihr JET Creator-Projekt. Dies ist die Datei, die alle JET-Assets bündelt in einer einzigen Datei zusammenfassen, die von der Android-App verwendet wird. Verschenken -Datei an den Entwickler der Android-Anwendung.
.mid (Mid-Datei). Das ist die Standard-MIDI- Typ 1-Datei, mit der JET Creator Segmente erstellt.
.seg-Segment Datei. Dies ist eine JET-Segmentdatei. Es hat denselben Namen wie die MIDI-Datei. -Datei, auf die sie verweist, aber zusätzliche Segmentinformationen enthält.
.zip Zip Archivdatei. Wenn Sie ein JET-Archiv exportieren, wird eine ZIP-Datei erstellt, enthält alle Assets (Dateien), die für JET Creator erforderlich sind. Zum Übertragen verwenden JET Creator-Projekte mit anderen teilen.
5.2 Dialogfeld öffnen
Wann? Wenn Sie JET Creator zum ersten Mal starten, wird ein offenes Dialogfeld wie das folgen.
<img <="" Rahmen="0" Höhe="285" p="" src="/static/images/jet/jc_open_dlg.png" width="450"
Mit Open wird eine vorhandene JET Creator-Datei (.jtc) geöffnet. Browser verwenden um zu dem Verzeichnis zu wechseln, in dem Sie Ihre JTC-Datei gespeichert haben.
Mit Neu wird eine neue JTC-Datei erstellt.
Mit Import wird eine JET-Archivdatei (.zip) importiert.
Mit Abbrechen wird das Dialogfeld geschlossen und die Anwendung beendet.
5 Hauptfenster
Das Hauptfenster des JET Creator wie im Bild unten aussieht. Es gibt drei Hauptabschnitte Von oben nach unten: Segmentansicht, Ereignisansicht und Zeitachse
Im Abschnitt "Segmentansicht" wird eine Liste die aktuellen Segmente, welche MIDI-Datei und Optional: DLS2-Datei, aus der die einzelnen Segmente abgeleitet sind. Außerdem werden alle und jedes Segment quantisiert, transponiert, wiederholt Einstellungen für Stummschaltungs-Flags.
Direkt unter der Segmentansicht befindet sich Ansicht. Im Bereich "Ereignisansicht" werden alle Ereignisse angezeigt, Segment. Ereignisse werden nur angezeigt, wenn das Segment, dem sie zugewiesen sind, hervorgehoben. Für jedes Ereignis werden Typ, Start- und Endpunkte, Track und MIDI angezeigt. die Channelzuweisung und die zugehörige Ereignis-ID.
Direkt unter der Ereignisansicht befindet sich die Zeitachse Display. Die Zeitachse zeigt, wie viele Messwerte ein bestimmtes Segment die mit diesem Segment verknüpft sind. Die Zeitachse ändert sich und zeigt das aktuell ausgewählte Segment oder das Segment, das gerade wiedergegeben wird. Sie können ein Ereignis in diesem Fenster auslösen Klicken Sie einfach auf das Ereignis in der Zeitachse, während das Segment wiedergegeben wird. Display.
JET
Hauptfenster für Creator
Über die Schaltflächen links auf der Hauptseite führen Sie folgende Schritte aus:
Hinzufügen: Zeigt das Segment- oder Ereignisfenster zum Hinzufügen eines neuen Segments oder Ereignisses an
Überarbeiten: Zeigt das Segment- oder Ereignisfenster zum Aktualisieren eines vorhandenen Segments oder Ereignisses an
Löschen: Löscht das ausgewählte Segment oder Ereignis (Bestätigung erforderlich)
Verschieben: Zeigt das Fenster zum Verschieben an, über das Sie ausgewählte Segmente oder Ereignisse verschieben können rechtzeitig
Alle in die Warteschlange stellen: (wählt) alle Segmente für die Wiedergabe aus
Alle aus der Warteschlange entfernen: Entfernungen aus der Warteschlange Auswahl aller Segmente aufheben
Wiedergeben: Startet die Wiedergabe aller Segmente in der Warteschlange. Diese Schaltfläche ändert sich zu „Stopp“, falls vorhanden Segmente werden abgespielt
Vorspielen: Zeigt das Vorspielfenster an (siehe unten)
5.1 Segmentfenster
Im Segmentierungsfenster wird ein Die Attribute des Segments werden zugewiesen und vorgespielt, wie im Bild zu sehen ist. unten. Auf der linken Seite des Fensters werden die Segmentattribute angezeigt, die die in der JET-Datei gespeichert sind. Auf der rechten Seite des Fensters kann der Autor Stummschaltung von Flags, Wiederholen und Transponieren der Einstellungen und das Vorsprechen des Segments im JET-Spiel spielen.
Hinweis: Die Vorspielattribute („Stummschalten“, „Wiederholen“ und „Transponieren“) werden nicht in der JET-Inhaltsdatei gespeichert. (.jet), sondern vom Spiel oder der Anwendung selbst definiert. Beim Programmieren entsprechen diese Einstellungen direkt den API-Aufrufen an den JET. Suchmaschine. Durch ihre Aufnahme kann der JET-Content-Autor simulieren, das Segment während des Spiels auf die API-Befehle der Anwendung reagiert.
Mit den Segmentparametern wird Folgendes ausgeführt:
- Segmentname – Gruppen den Namen des Segments
- MIDI-Datei – Der Name und der Speicherort der MIDI-Datei, aus der das Segment abgeleitet wird. Mit der Schaltfläche rechts daneben erscheint ein Browser zum Auffinden einer Midi-Datei auf der Festplatte.
- DLS-Datei – Name und Speicherort der DLS2-Datei (falls vorhanden), die die MIDI-Datei enthält die für dieses Segment verwendet werden.
- Ab M/B/T - Anfangsmaß, -schlag und -ticker des Segments
- Ende M/B/T - Takt, Schlag und Tick des Segments am Ende
- Quantisieren – Wert zur Quantisierung des aktuellen Segments während der Wiedergabe quantisieren
Die Vorspielfelder sind:
- Titel-Stummschaltungen - Zeigt die MIDI-Titel (nicht die Kanäle) an in der MIDI-Datei. Durch Klicken auf die wird der Track stummgeschaltet.
- Kanal – Zeigt den jeweiligen MIDI-Kanal an verfolgen
- Name: Zeigt das Meta-Ereignis „Trackname“ (falls vorhanden) für jeden Track an
- Wiederholen – Gibt an, wie oft ein Segment während der Wiedergabe wiederholt werden soll
- Transponieren - Gibt die Transposition in Halbtönen oder Halbtönen an, die ein Segment Transponieren während der Wiedergabe
- Rechts neben dem Fenster für das Vorspielen befinden sich einige zusätzliche Schaltflächen. Diese funktionieren wie folgt:
- Ok – Durch Auswählen von OK werden alle Segmenteinstellungen bestätigt und das Segmentfenster wird geschlossen.
- Abbrechen - Wenn Sie „Abbrechen“ auswählen, werden alle Änderungen abgebrochen und das Segmentfenster geschlossen
- Replizieren – Zeigt das Fenster „Segment replizieren“ für die gleichzeitige Eingabe mehrerer Segmente an. Siehe unten.
- Segment wiedergeben/stoppen – Starts oder Stoppt die Wiedergabe des Segments mithilfe der zugewiesenen Segmentattribute.
- MIDI-Datei abspielen/stoppen - Startet oder stoppt die Wiedergabe der MIDI-Datei dem das Segment zugewiesen ist.
- Pausieren/fortsetzen – Hält die Wiedergabe an oder setzt sie fort.
5.2 Ereignisfenster
Das Ereignisfenster ist die Stelle, an der Ereignisattribute werden zugewiesen und vorgespielt, wie in der folgenden Abbildung dargestellt. Bis einem Segment ein Ereignis hinzufügen möchten, muss der Autor zuerst das Segment auswählen, das Ereignis enthalten, und klicken Sie auf die Schaltfläche Hinzufügen. Daraufhin wird das Ereignis .
Der Termin hat zwei Hauptabschnitte. . Der Segmentbereich auf der linken Seite des Ereignisfensters dient zur Anzeige . Hier sehen Sie die Segmentattribute für das jeweilige Segment. Die Veranstaltung auf der rechten Seite können Sie Ereignisse zuweisen. Die folgenden sind verfügbar:
Ereignisname – Weist einem Ereignis einen Namen zu
Ereignistyp - Hier legen Sie fest, welcher Ereignistyp zugewiesen werden soll.
Ab M/B/T - Legt Messung, Herzschlag und Tick des Ereignisses fest
Ende M/B/T - Legt ggf. Messwert, Durchschlag und Tick am Ende des Ereignisses fest
Titel – Legt fest, auf welchen Track im gegebenen Segment das Ereignis angewendet wird.
Kanal – Legt fest, auf welchen MIDI-Kanal das Ereignis angewendet wird an. Der MIDI-Kanal sollte mit dem MIDI übereinstimmen Kanal des Titels
Ereignis-ID – Legt die Ereignis-ID für das Ereignis fest. Ein und demselben Ereignis können mehrere Ereignisse zugewiesen werden. Segment und daher wird die Ereignis-ID verwendet, um sie zu identifizieren.
Rechts neben dem Fenster für das Vorspielen befinden sich einige zusätzliche Schaltflächen. Diese funktionieren wie folgt:
Ok – Wenn Sie auf „OK“ klicken, werden alle Termineinstellungen bestätigt und das Terminfenster geschlossen.
Abbrechen - Wenn Sie „Abbrechen“ auswählen, werden alle Änderungen abgebrochen und das Terminfenster geschlossen.
Replizieren – Zeigt das Fenster „Ereignis replizieren“ für die gleichzeitige Eingabe mehrerer Ereignisse an. Weitere Informationen finden Sie unter unten.
Wiedergabe/Stopp – Startet oder stoppt die Wiedergabe des Segments mithilfe der zugewiesenen Segmentattribute. Während das Segment abgespielt wird, können Ereignisse ausgelöst und vorgelesen werden.
Trigger – Löst das zugewiesene Ereignis aus. Dadurch wird der API-Befehl repliziert, den das JET-Spiel zum Auslösen des Ereignisses verwendet, sodass der Autor des Contents beim Vorspielen für das Verhalten der Veranstaltung.
Stummschalten/Stummschaltung aufheben – Mit „Stummschalten“/„Stummschaltung aufheben“ wird der Track, dem das Ereignis zugewiesen ist, stummgeschaltet bzw. die Stummschaltung aufgehoben.
Pausieren/fortsetzen – Hält die Wiedergabe an oder setzt sie fort.
Um auf das Verhalten eines Ereignisses vorzuspielen, die Schaltfläche „Wiedergabe“ auswählen. Dadurch wird die Wiedergabe gestartet. Die Trigger-Schaltfläche sendet beim Drücken das Trigger-Ereignis. Dies entspricht der Auswahl des das grüne Trigger-Ereignis auf der Zeitachse.
Hinweis: Mit Trigger-Ereignissen soll die Stummschaltung eines einen einzelnen Track eines Segments stumm, wenn dieser ausgelöst wird, das Trigger-Segment. Daher sollten Sie sicherstellen, dass das Stummschaltungs-Flag auf Stummschaltung des Tracks, über den die Stummschaltung eines Trigger-Ereignisses beim Empfang eines Trigger-Ereignisses aufgehoben wird.
Bitte lesen Sie Abschnitt 6: Details unten finden Sie weitere Informationen zur Funktionsweise und Funktionsweise von Triggerereignissen.
5.3 Windows replizieren
Beim Erstellen von JET-Dateien müssen Sie häufig Dutzende oder sogar Hunderte von Terminen erstellen. Möglicherweise müssen Sie auch Termine verschieben. Die Die Fenster „Replizieren“ und „Verschieben“ ermöglichen dies. Es gibt zwei replizierende Fenster für Segmente oder Ereignisse erstellen. Sie sehen so aus:
Segmentfenster replizieren
Ereignisfenster replizieren
Beide Fenster replizieren funktionieren gleich. Nachdem Sie ein erstes Segment oder Ereignis erstellt haben, können Sie die Option „Replizieren“ Schaltfläche. Die Parameter sind:
Namenspräfix – Legt das Präfix für den Namen jedes erstellten Segments oder Ereignisses fest
Ab M/B/T - Legt die Startzeit für das erste Segment oder Ereignis fest
M/B/T-Inkrement - Legt die Zeitspanne zwischen den erstellten Segmenten oder Ereignissen fest.
Zahl - Legt die Anzahl der Segmente oder Ereignisse fest, die Sie erstellen möchten. Wenn die Zahl die Länge der MIDI-Datei (für Segmente) oder Segment (für Ereignisse) werden diese Objekte nicht erstellt.
Vorschau – Mit der Vorschau können Sie die erstellten Objekte überprüfen, bevor Sie sagen, OK, Einfügen. .
5.4 Fenster verschieben
Die Funktion „Move“ funktioniert ähnlich wie die Replizieren Sie die Funktion, indem Sie mehrere Segmente oder Ereignisse an einem verschieben Sie sie in diesem Fall. Es gibt zwei Moves ein Fenster für Segmente und eins für Ereignisse. Die Fenster sehen aus wie Folgendes:
Terminfenster verschieben
Wenn Sie „Verschieben“ verwenden möchten, wählen Sie zuerst die Segmente oder die Sie verschieben möchten, klicken Sie auf die Schaltfläche Verschieben. Die Parameter sind wie folgt:
Ab M/B/T - Legt die Startzeit für das erste Segment oder Ereignis fest
M/B/T-Inkrement - Legt die Zeit in M/B/T fest, um die die Objekte verschoben werden sollen.
Vorschau – In der Vorschau können Sie die erstellten Objekte überprüfen, bevor Sie „Verschieben“ bestätigen. .
5.5 Zeitfenster für das Vorspielen
Durch Klicken auf die Schaltfläche Vorspielen im Hauptfenster der JET Creator-Anwendung das Vorspielfenster öffnet. Dies ist der Content-Autor oder Anwendungsprogrammierer die interaktive wie es in der mobilen App oder im Spiel selbst vorkommen kann.
Zeitfenster für das JET-Vorspiel
Es gibt vier Hauptabschnitte für die Zeitfenster zum Vorspielen. Im Bereich ganz links werden die verfügbaren Segmente die Länge in Sekunden. Im mittleren Bereich wird eine laufende Liste Segmente zur Wiedergabe in die Warteschlange gestellt werden und wie ihr Wiedergabestatus ist. Die weite werden die Stummschaltungs-Flags für das aktuell wiedergegebene Segment angezeigt. Die Der Zeitachsenbereich am unteren Rand ist mit dem im Hauptfenster identisch. Es wird angezeigt, das aktuell wiedergegebene Segment sowie eine visuelle Darstellung aller Ereignistrigger die mit diesem Segment verknüpft sind.
Im Audition-Fenster kannst du in beliebiger Reihenfolge für die Wiedergabe verwenden. Wählen Sie dazu einfach das Segment aus, und auf „Warteschlange“ klicken. Dieses Segment erscheint im Warteschlangenfenster und die Wiedergabe starten (falls es das erste Segment ist). Anschließend können Sie beliebige anderen Segmenten oder Segmenten hinzugefügt werden. Da die Segmente abgeschlossen haben, wird das nächste Segment in der Warteschlange abgespielt. Wie auch die Fenster von JET Creator können Sie Stummschalten, Stummschaltung aufheben, Ereignis-Clips auslösen usw. in Echtzeit, während jedes Segment abgespielt wird.
Die Schaltflächen verhalten sich im Einzelnen wie folgt:
Warteschlange – Lädt das ausgewählte Segment in die Warteschlange und startet die Wiedergabe
Abbrechen und in Warteschlange stellen – bricht das aktuell wiedergegebene Segment ab, bevor es in die Warteschlange für das Segment gestellt wird für Wiedergabe
Aktuelle Stornierung - bricht das aktuell wiedergegebene Segment in der Warteschlange ab und startet die Wiedergabe des nächstes Segment
Stopp – stoppt die Wiedergabe aller Segmente in der Warteschlange
Alle stummschalten - schaltet alle Tracks im aktuellen Segment stumm.
Keine ignorieren - Hebt die Stummschaltung aller Tracks im aktuellen Segment auf
Ursprüngliche Stummschaltungen - Legt die ursprünglichen Stummschaltungs-Flags für das aktuelle Segment fest.
Die Kombination dieser Wiedergabeoptionen können Autoren oder Anwendungsprogrammierer interaktive Musikanwendung begegnen können.
5.6 JET Creator-Menüs
Über die JET Creator-Menüs erhalten Sie im Hauptfenster sowie einige zusätzliche Parameter.
5.6.1 Menü „Datei“
Das Menü „File“ (Datei) enthält Folgendes: Elemente:
Neu - Erstellt eine neue JET Creator-Datei (.jtc)
Offen – Öffnet eine vorhandene JET Creator-Datei
Speichern – Speichert die aktuell geöffnete JET Creator-Datei
Speichern unter - Speichert die aktuell geöffnete JET Creator-Datei in einer neuen Datei
Projekt importieren – Importiert ein JET Creator-Archiv (.zip)
Projekt exportieren – Exportiert ein JET Creator-Archiv (.zip)
Beenden – Beendet die Anwendung
5.6.2 Menü „Bearbeiten“
Das Menü "Bearbeiten" enthält Folgendes: Elemente:
Rückgängig machen – Durch „Rückgängig machen“ wird die letzte Änderung rückgängig gemacht
Wiederholen – Durch „Wiederholen“ wird die letzte rückgängig gemachte Aktion wiederholt
Cut – Ausgewählten Parameter in Zwischenablage kopieren und Auswahl löschen
Kopieren – Ausgewählten Parameter in Zwischenablage kopieren und Auswahl beibehalten
Einfügen - Ausgewählten Parameter einfügen
5.6.3 JET
Das Menü "Bearbeiten" enthält Folgendes: Elemente:
Properties – Öffnet das JET Creator-Prioritätsfenster. In diesem Fenster können Sie die folgende Bedingungen für eine bestimmte JET-Datei:
Copyright-Informationen – Enthält Urheberrechtsinformationen, die in die JET-Datei eingefügt werden müssen
Chase-Controller – Option, Controller zu verfolgen (ein/aus). Dies sollte normalerweise aktiviert sein.
Leere Titel löschen: Löscht alle leeren MIDI-Titel
5.6.4 Segmente
Das Menü „Segmente“ enthält Folgendes: Elemente:
Segment hinzufügen – Öffnet das Segmentierungsfenster
Segment aktualisieren: Aktualisiert Segmentattribute
Segment löschen: Löscht das aktuelle Segment aus der Segmentliste
5.6.5 Hilfe
Das Menü „Hilfe“ enthält mindestens folgenden Elementen:
JET Creator-Hilfe – startet das PDF-Hilfedokument oder ruft die Online-Hilfe auf
Über mich - JET Creator-Versionsnummer, SONiVOX-Info
Erläuterung zu sechs Trigger-Ereignissen
MIDI besiegen in einzelne (nicht lineare) Segmente einzureihen und diese Wiedergabe in einem Spiel basierend auf Ereignissen im Spiel ist eine Möglichkeit, wie JET-Musikdateien interaktiv. Triggerereignisse sind eine zusätzliche Methode für die interaktive Wiedergabe. Beide würden zusammen in einem interaktiven Spiel oder einer App verwendet.
Triggerereignisse ermöglichen Folgendes:
- Titel innerhalb eines MIDI-Segments können je nach Spiel aktiviert oder deaktiviert werden. Ereignisse. Der Komponist könnte zum Beispiel zwei Schlagzeugsongs schreiben, eine schnelle und eines langsam. Wenn die Action in einem Spiel schnell ist, könnte die schnelle Drum-Track-Songs spielen. Wenn die Action im Spiel langsam ist, kann auch die langsame Schlagzeug spielen.
- Nutzeraktionen können mit Auslöserereignissen verglichen werden, bereits in eine Musikdatei an musikalisch korrekten Stellen eingefügt wurde. Basierend auf den Ergebnisse, Tore oder andere Spielaktionen stattfinden können.
- Musikalische Übergänge zwischen Leveln oder Actionsequenzen für nahtlose musikalische Untermalung.
Im Hintergrund verwendet JET standardmäßiges MIDI CC. um diese Aktionen durchzuführen und Audio zu synchronisieren. Die Controller die von JET verwendet werden, gehören zu denjenigen, die von der Spezifikation nicht für eine spezifische Verwendung definiert sind. Die spezifischen Controller-Definitionen sind:
Controller 80-83 Reserviert für Anwendung
Steuerung 102 JET-Ereignismarkierung
Steuerung 103 JET-Clipmarkierung
Controller 104-119 Für zukünftige Verwendung reserviert
6.1 JET Clip Marker (CC103)
Controller 103 ist zum Markieren von in einem MIDI-Track, der durch den JET_TriggerClip API-Aufruf. Die Clip-ID wird in den unteren 6 Bits des Controllerwert. Bit 6 ist auf „1“ eingestellt, um den Beginn eines Clips anzuzeigen, und auf null setzen, um das Ende des Clips anzugeben.
Um beispielsweise einen Clip mit einem Clip ID 1, der Autor fügt einen MIDI-Controller ein mit dem Controller=103 und dem Wert=65 am Anfang des Clips und mit dem Controller=103 und dem Wert=1 am Ende des Clips. Wenn der Parameter JET_TriggerClip() mit der Clip-ID 1 aufgerufen wird, wird der Track die Stummschaltung aufgehoben, wenn der Controller-Wert 65 erreicht wird, und wieder stummgeschaltet, wenn der Controller-Wert 1 erreicht.
Abbildung 5: Synchronisierter Clip
Wenn in der Abbildung oben der Parameter Die Funktion JET_TriggerClip() wird vor dem ersten Controller-Ereignis "Track" wird beim ersten Controller-Ereignis die Stummschaltung aufgehoben. und der Track wird stumm geschaltet, wenn das zweite Controller-Ereignis eintritt. Wenn Die Funktion JET_TriggerClip() wird aufgerufen, nachdem das erste Controller-Ereignis wurde die Stummschaltung für Spur 3 aufgehoben, wenn das dritte Controller-Ereignis eintritt. Der Spur 3 wird der zweite Clip abgespielt und der Titel wird wieder stummgeschaltet, wenn der vierte Clip Controller-Ereignis auftritt.
Hinweis:Normalerweise wird der Track mit dem Clip von der App stummgeschaltet. das Segment durch den Aufruf von JET_QueueSegment() anfänglich in die Warteschlange gestellt wird. Wenn es nicht stummgeschaltet ist, wird der Clip immer abgespielt, bis Jet_TriggerClip() aufgerufen wird. durch die Clip-ID.
6.2 JET-Ereignismarkierung (CC102)
Controller 102 ist zum Markieren von bestimmte Ereignisse in den MIDI-Streams bis hin zur JET-Funktion. Derzeit ist der einzige definierte Wert 0. Er kennzeichnet den Wert des Segments zu Timing-Zwecken.
Normalerweise startet JET die Wiedergabe des nächsten (oder wiederholt das aktuelle Segment), wenn die MIDI- "end-of-track"-Meta-Ereignis gefunden wurde. Einige MIDI-Dateien Authoring-Tools erschweren das genaue Platzieren der Markierung am Ende des Tracks, was zu Synchronisierungsproblemen führt, wenn Segmente miteinander verbunden werden.
Um dieses Problem zu vermeiden, kann der Autor eine JET-Segmentmarkierung (controller=102, value=0) an der Stelle, an der der das Segment in einer Schleife wiedergegeben werden soll. Wird die Markierung für das Ende des Segments gefunden, wird das nächste Segment ausgelöst. Wenn es sich um eine Schleife handelt, wird das aktuelle Segment zu Beginn des Segments fortgesetzt werden.
Die Markierung für das Ende des Segments kann um die Fertigstellung einer musikalischen Figur über das Ende des Stückes hinaus zu ermöglichen, markiert den Beginn des nächsten Segments. Zum Beispiel könnte der Autor des Inhalts erstelle ein Segment mit 4 Takten und einer Trommelfüllung, die mit Takt 1 von 5 endet. Balken, ein Balken jenseits des natürlichen Endes des Segments. Indem Sie ein Ende eines Segments Markierung am Ende des 4. Balkens setzen, wird das nächste Segment ausgelöst, aber die Trommelfüllung wird parallel zum nächsten Segment fortgesetzt. für musikalische Kontinuität.
Abbildung 6: Markierung für das Ende des Segments
6.3 Anwendungscontroller (CC80-83)
Die Anwendung kann Controller in dieser für eigene Zwecke. Wird ein Controller in diesem Bereich erkannt, wird in eine Ereigniswarteschlange eingereiht, die von der Anwendung abgefragt werden kann. Mögliche Anwendungsbereiche sind das Synchronisieren von Videoereignissen mit Audio und das Markieren eines Punkt in einem MIDI-Segment, um das nächste Segment. Der Bereich der von der Anwendung überwachten Controller kann geändert werden von der Anwendung während der Initialisierung.
7 Richtlinien für JET Creator
7.1 Aufgabenreihenfolge
Wie bei allen Projekten ist es am besten, das interaktive Musikschema mit dem Spieledesigner und Programmierer zu besprechen und zu gestalten, bevor du mit der Komposition beginnst. Eine Struktur und/oder eine Spezifikation kann viel bewirken, damit du nichts wiederholen musst, wenn das Spiel bereits verfügbar ist.
Grundsätzlich solltest du deine Musik zunächst wie gewohnt in der DAW deiner Wahl schreiben und dann die endgültige MIDI-Datei nach Bedarf für die App aufteilen. Wechsle als Nächstes zu JET Creator und erstelle alle deine Musiksegmente in der Reihenfolge, in der du sie dir am einfachsten in der richtigen Reihenfolge anhören kannst. Füge schließlich die JET-Ereignisse hinzu, um die Segmente über das Android-Spiel zu steuern, und spiele sie nach Bedarf in JET Creator vor. Speichern Sie das Projekt schließlich in JET Creator und übergeben Sie die Jet-Datei an den Programmierer, damit er sie in das Spiel integrieren kann. Nach der Vorschau werden Sie wahrscheinlich Änderungen an den MIDI-Dateien und den JET Creator-Attributen vornehmen.
7.2 Speicher sparen
Wenn Sie Arbeitsspeicher sparen möchten, erstellen Sie so wenige MIDI-Dateien wie möglich und erstellen Sie aus dieser MIDI-Datei mehrere Segmente. Eine MIDI-Datei mit 12 Takten, die drei Abschnitte mit 4 Takten (A, B, C) enthält, kann einen viel längeren Song ergeben. Erstellen Sie einfach mehrere Segmente, die auf die eine MIDI-Datei verweisen, und ordnen Sie sie nach Belieben an. Beispiel: Mit A, A, B, A, C, A, B, A und A wird ein Song mit 36 Takten erstellt. Mit JET können Sie Wiederholungen hinzufügen, Segmente transponieren und Tracks interaktiv stummschalten bzw. die Stummschaltung aufheben, um die Wiedergabe noch interessanter zu gestalten.
7.3 Replizieren
Verwenden Sie den Befehl „Replizieren“, um das Hinzufügen von Segmenten oder Ereignissen zu beschleunigen. Mit der Funktion „Replizieren“ können mehrere Segmente oder Ereignisse gleichzeitig hinzugefügt werden. Dabei werden ein Offset-Parameter und eine Präfix-Namenskonvention verwendet, um die Lesbarkeit zu verbessern. Der MOVE-Befehl ist auch nützlich, um mehrere Ereignisse um eine festgelegte Anzahl von Kennzahlen, Schlägen oder Ticks zu verschieben.
7.4 Interaktive Optionen
In JET sind mehrere interaktive Audiokonzepte möglich. Im Folgenden finden Sie einige Beispiele. Wir hoffen jedoch, dass Entwickler auch auf andere Ideen stoßen, an die wir nicht gedacht haben. Diese sind:
7.4.1 Trigger für mehrere Segmente
Bei dieser Methode löst die App bestimmte Segmente basierend auf Ereignissen im Spiel aus. Beispielsweise könnte ein Flur mit vielen Kämpfen möglicherweise Segment 1 auslösen, während ein kampfloser Flur Segment 2 auslösen könnte. Die Verwendung von JET-TriggerClips in Verbindung mit dieser Methode sorgt für noch mehr Vielfalt.
7.4.2 Arrays ausblenden
Bei dieser Methode löst die App Stumm- und Lautschaltungsereignisse für bestimmte Tracks in einer einzelnen MIDI-Sequenz aus. Zum Beispiel könnten in einem Flur mit vielen Kämpfen die MIDI-Tracks 1–16 abgespielt werden und in einem Flur ohne Kampf vielleicht die gleiche MIDI-Datei, aber die Tracks 9–16 werden stummgeschaltet. Die Verwendung von JET-TriggerClips in Verbindung mit dieser Methode sorgt für noch mehr Vielfalt.
7.4.3 Musikgesteuertes Gameplay
Musikgesteuerte Spiele sind ähnlich wie Guitar Hero und JETBOY, da die musikalischen Inhalte bestimmen, wie grausame Ereignisse angezeigt werden. Die Anwendung fragt dann die Antwort des Nutzers auf die grafischen Ereignisse ab und ändert als Reaktion die Musik interaktiv. Bei dieser Methode nutzt das Spiel JET Application Events, also MIDI-Controller, die in die MIDI-Datei eingebettet sind und vom Spiel in Echtzeit gelesen werden. Basierend auf der Nutzerantwort können mehrere Segmenttrigger und/oder Stummschaltungs-Arrays festgelegt werden.