SONiVOX JETCreator Bedienungsanleitung

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:

  1. 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.
  2. 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.
  3. 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.