App de creación de contenido para el motor de música interactiva JET
1 Introducción
1.1 Descripción general
Este documento contiene las pautas para el usuario para SONiVOX JET Creator, una app para crear y escuchar archivos JET. JET es un reproductor de música interactivo para pequeños dispositivos, incluidos los que ejecutan la plataforma de Android. Permite que las aplicaciones incluir bandas sonoras de música interactivas, en formato MIDI que responden en tiempo real a los eventos de juego y a la interacción del usuario.
JET funciona en conjunto con los
Sintetizador de audio incorporado (EAS), que es el sonido
dispositivo de reproducción para Android. Tanto el
Los motores JET y EAS están integrados en la plataforma de Android incorporada a través de la
JetPlayer
también.
como inherente a la app de JET Creator. Por lo tanto, el autor del contenido de JET puede
asegúrate de que la reproducción suene exactamente igual en JET Creator
y la aplicación final para Android
se reproduce en dispositivos móviles Android.
Además de los gráficos de usuario hay dos funciones principales que se llevan a cabo en JET Creator. El primero implica recopilar todos los datos de origen (MIDI) archivos DLS y archivos DLS), agregando atributos en tiempo real de JET y creando un JET (.jet) que utilizará la aplicación para Android. La segunda funcionalidad consiste en escuchar los elementos de reproducción interactiva a medida que van a tener lugar en la aplicación para Android.
La app de JET Creator está escrita en el lenguaje de programación Python, por lo que debe tener la versión actual de Python y WXWidgets. Hay versiones para Mac y Windows.
1.2 Abreviaturas y términos comunes
Es importante utilizar un conjunto común de términos para minimizar la confusión. Como JET usa MIDI, de una manera única, los términos normales de la industria no siempre serán suficientes. Este es el de términos tal como se usan en esta página y en la página de JET Creator aplicación:
Canal: Datos MIDI asociados con un canal MIDI específico canal. El formato MIDI estándar permite 16 canales de MIDI y cada uno de ellos suele asociarse a un instrumento específico.
Controlador: Un evento MIDI que consiste en un el número de canal, el número y el valor del controlador. El formato MIDI spec asocia muchos números de controladores funciones específicas, como volumen, expresión, pedal de mantenimiento, etc. JET también usa eventos del controlador como un medio para incorporar información de control especial en un Secuencia MIDI para proporcionar sincronización de audio.
DAW: Estación de trabajo de audio digital. Un término común para MIDI y de secuenciación de audio, como Logic, SONAR, Cubase y otras.
EAS: Sintetizador MIDI incorporado. El nombre del motor del sintetizador MIDI SONiVOX.
JET: Motor de música interactiva Jet. El nombre del elemento interactivo SONiVOX JET y el motor de música.
M/B/T: Compases, tiempos y pulsos.
Segmento: Una sección musical, como un coro o una verso, que es un componente de la composición general. En JET, un segmento puede ser un archivo MIDI completo o una derivadas de una parte de un archivo MIDI.
SMF-0: Archivo MIDI estándar tipo 0, un archivo MIDI que contiene un solo puede estar formada por varios canales de MIDI de datos no estructurados.
SMF-1: Archivo MIDI estándar tipo 1, un archivo MIDI que contiene un archivo pistas y cada pista puede, a su vez, estar formada por uno o más canales de MIDI de datos no estructurados. Por convención, cada canal se almacena en un una pista separada en un archivo SMF-1. Sin embargo, es posible tener varias canales de una sola pista o varias pistas que contienen datos para el mismo MIDI canal.
Pista: Una pista de un DAW que contiene una secuencia sincronizada de eventos. Ten cuidado de no confundir las pistas con Canales. Un archivo MIDI puede contener muchas pistas, y varias de ellas usan el mismo canal MIDI.
2 El concepto de música interactiva de JET
La música interactiva se define como música que cambia en tiempo real según eventos impredecibles, como los eventos o eventos de juego. De este modo, la música interactiva es mucho más y atractiva, ya que tiene la capacidad de igualar la energía y el ánimo de un juego más cerca que una composición precompuesta que nunca cambia. En algunas aplicaciones y juegos, la música interactiva es fundamental. Guitar Hero es uno un juego tan popular. Cuando el usuario final captura correctamente las notas musicales cae del trasero, la música se adapta sola y, al mismo tiempo, mantiene la puntuación de éxitos y fracasos. JET permite los siguientes tipos de música para los juegos.
Existen varios métodos para hacer y para controlar la música interactiva, JET es uno de esos métodos. Esta sección Se describen las funciones de JET y cómo se pueden usar en un juego o software. y mantener la integridad de su aplicación. También se describe cómo se puede usar JET para ahorrar memoria en como los teléfonos celulares con Android.
2.1.1 Compresión de datos
JET admite un formato de música flexible que se puede usar para crear secuencias musicales extendidas con una cantidad mínima de datos. Una composición musical se divide en segmentos que se pueden secuenciar para crear una pieza más larga. La secuencia se puede corregir en el momento en que el archivo de música o se puede crear de forma dinámica bajo el control del programa.
2.1.2 Ejemplo de música lineal
Figura 1: Pieza de música lineal
En este diagrama, se muestra cómo se se almacenan. Cada segmento se crea como un archivo MIDI independiente . Una herramienta de posprocesamiento combina los archivos en un único archivo contenedor. Cada segmento puede contener pistas musicales alternativas que se pueden silenciar o activar. para crear interés adicional. Un ejemplo podría ser un acento de metal en el coro. que se reproduzca solo la última vez. Además, los segmentos se pueden transponer hacia arriba o hacia abajo.
La parte inferior del diagrama muestra cómo los segmentos musicales se pueden combinar para crear una pieza musical lineal. En este ejemplo, el puente podría terminar con una modulación de teclas en un paso de medio paso, y el resto segmentos se pueden transponer hasta medio paso para que coincidan.
2.1.3 Ejemplo de música no lineal
Figura 2: Pieza de música no lineal
En este diagrama, vemos una música no lineal pieza. Se trata de un juego de disparos en primera persona (FPS) y JET proporciona música de fondo. Se reproduce la introducción mientras se carga el nivel y, luego, pasa a otra cosa. en el control de programas al segmento Searching. Este segmento se repite indefinidamente, tal vez con pequeñas variaciones (con la función para silenciar/activar el sonido) hasta que la actividad en el juego dicta un cambio.
Cuando el jugador se acerca a una guarida de monstruos, el programa inicia una transición sincronizada al segmento Peligro, lo que aumenta el nivel de tensión en el audio. A medida que el jugador se acerque a la guarida, se activa el sonido de las pistas para aumentar la tensión.
A medida que el jugador entra en combate con el monstruo, el programa inicia una transición sincronizada hacia el segmento de combate. Se repite indefinidamente este segmento a medida que continúa el combate. Un éxito adicional activa temporalmente el sonido de una pista decorativa que notifica al jugador sobre un ataque exitoso y, del mismo modo, se activa temporalmente el sonido de otra pista para indican cuando el jugador recibe un Daño especial.
Al final del combate, la música cambia a un segmento de victorias o derrotas según el resultado de la batalla.
2.1.4 Sincronización de silenciamiento/activación de sonido
JET también puede sincronizar las funciones de activar el sonido de las pistas y de los eventos en la música. Por ejemplo, en el juego FPS, sería probablemente sea conveniente colocar los eventos musicales relacionados con bonificaciones daño lo más cerca posible al evento real del juego. Sin embargo, si solo activas el sonido, una pista en el momento en que ocurre el evento del juego puede generar un clip de música comenzando por la mitad. Como alternativa, se puede iniciar un clip desde la al principio, pero no se sincronizaría con las otras pistas musicales.
Sin embargo, con el motor de sincronización JET, un clip puede iniciarse en el siguiente momento oportuno y mantener la sincronización. Esta se puede lograr colocando algunos clips de música cortos en un espacio de seguimiento. Un evento MIDI en la transmisión significa el inicio de un clip, y un segundo evento indica el final de un clip. Cuando app llama a la función de clip JET, se permite el siguiente clip de la pista. para que se sincronice por completo con la música. Opcionalmente, el segmento se puede se silenciará automáticamente con un segundo evento MIDI.
Figura 3: Silenciamiento/activación de sonido sincronizados
2.2 Sincronización de audio
JET proporciona una API de sincronización de audio que permite que el juego se sincronice con eventos del audio. El mecanismo se basa en los datos incorporados en el archivo MIDI en la fecha y hora en la que se creó el contenido. Cuando el motor JET detecta un evento durante genera una devolución de llamada al programa de la aplicación. Los tiempos de La devolución de llamada se puede ajustar para compensar la latencia en el audio. de reproducción para que el audio y el video puedan sincronizarse. En el siguiente diagrama, muestra un ejemplo de un juego de música simple que implica presionar la flecha hacia la izquierda y flechas hacia la derecha al mismo tiempo que la música.
Figura 4: Juego de música
Las flechas representan eventos en la secuencia musical en la que deben sincronizarse los eventos del juego. En este caso, la flecha azul representa un momento en el que se supone que el jugador debe presionar el botón izquierdo la flecha roja es para el botón derecho. La flecha amarilla le indica al motor de juego que la secuencia está completa. El jugador tiene permitido un período determinado antes y después del evento para presionar la tecla correspondiente.
Si se recibe un evento y el jugador sin presionar un botón, se establece un temporizador en la mitad de la duración de la ventana. Si el botón el jugador presiona el botón antes de que termine el tiempo, el juego registra exitoso y, de no ser así, registra un fracaso.
Si el jugador presiona el botón antes de de evento, se establece un temporizador en la mitad de la duración de la ventana. Si un evento se recibe antes de que el tiempo caduque, el juego registra un éxito y, el juego registra un error. El juego también podría incluir bonificaciones por obtener cerca del momento del evento real.
3 Descripción general de la creación de contenido de JET
Cómo crear archivos JET y escucharlos para su reproducción interactivamente, el autor del contenido trabajará en dos aplicaciones que son diseñados para funcionar juntos sin problemas. La primera es que cualquier una aplicación de secuenciación MIDI estándar que es compatible con los complementos de VST (para PC) o AU (para Mac). El autor compondrá aquí sus archivos MIDI de música usando el complemento como sintetizador. La segunda es la app de JET Creator. Aquí el autor importará sus archivos MIDI de música (y, opcionalmente, un conjunto de sonidos DLS2) y configura las condiciones para en el juego habilitado para JET. Opcionalmente, el autor del contenido puede crear un conjunto personalizado de instrumentos DLS mediante un editor de instrumentos que admita Formato de DLS de nivel 2 Una de estas apps es Awave de MJSoft.
Consulta la documentación de las Pautas de creación de contenido de JET para obtener detalles sobre la creación de contenido.
4 Instalación e inicio de JET Creator
JET Creator es un lenguaje de Python. aplicación, por lo tanto, debes tener Python y wxPython instalados en tu máquina.
JET Creator se creó y probó con las siguientes versiones:
Python versión 2.5.4
wxPython versión 2.8.7.1
Estas se pueden descargar aquí:
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
Después de instalar Python y wxPython, solo tienes que descomprimir o copiar todos los archivos del directorio de la app de JET Creator en una carpeta de tu disco duro.
Para iniciar JET Creator, ve a un comando y configura el directorio en el que instalaste Python. Luego, ejecuta Python. con el siguiente comando:
python jetcreator.py
5 Cómo usar JET Creator
5.1 Tipos de archivo
Existen diferentes tipos de archivos asociadas con JET Creator.
.jtc de JET Archivo de proyecto del creador. Este archivo contiene toda la información asociada con un Proyecto JET Creator. Cuando guardes o guardes como guardados en JET Creator, se agregará este archivo se guarda ese tipo de datos.
.jet JET Archivo. Este archivo de salida se genera automáticamente a partir de JET Creator cada vez que realizas alguna de las siguientes acciones: guarda tu proyecto de JET Creator. Este es el archivo que agrupa todos los elementos de JET. en un solo archivo que la aplicación de Android utilizará. Dar esto al desarrollador de la aplicación para Android.
Archivo .mid. Este es el sonido estándar tipo 1 que usará JET Creator para crear segmentos.
Segmento .seg Archivo. Este es el archivo de segmento de JET. Tiene el mismo nombre que el archivo MIDI. al que hace referencia, pero que contiene información adicional del segmento.
Zip .zip Archivo comprimido. Cuando exportas un archivo de JET, se crea un archivo ZIP que Contiene todos los elementos (archivos) necesarios para JET Creator. Usa esta opción para realizar la transferencia JET Creator envía proyectos a otras personas.
5.2 Diálogo de apertura
Cuándo Cuando inicies JET Creator, verás un diálogo de apertura como el siguientes.
<img <="" borde="0" altura="285" p="" src="/static/images/jet/jc_open_dlg.png" ancho="450" />
Con Open, se abrirá un archivo .jtc (archivo de JET Creator) existente. Usar el navegador para navegar al directorio en el que guardaste el archivo .jtc.
Con New, se creará un nuevo archivo .jtc.
Con Import, se importará un archivo de JET (.zip).
Con Cancel, se cancelará el diálogo y saldrás de la app.
5 Ventana principal
Ventana principal de JET Creator de tu aplicación se verá como la imagen que aparece a continuación. Hay tres secciones principales de De arriba a abajo: Vista de segmentos, vista de eventos y línea de tiempo.
La sección Vista de segmento muestra una lista de los segmentos actuales, ya que qué archivo MIDI y (opcional) archivo DLS2 del que se deriva cada segmento. También muestra cada tiempo de inicio y finalización de cada segmento, y cada uno realiza una cuantización, transposición, repetición configuración de la función experimental para silenciar.
Debajo de la vista de segmento, se encuentra el evento. vista. La sección Vista de eventos muestra todos los eventos asociados con un evento específico segmento. Los eventos solo se muestran cuando el segmento al que están asignados destacado. En cada evento se muestra el tipo, los puntos de inicio y finalización, la pista y los MIDI. la asignación del canal y el ID del evento.
Debajo de la vista de eventos, se encuentra el cronograma pantalla. El cronograma muestra cuántas medidas tiene un segmento determinado, así como cualquier eventos asociados con ese segmento. La línea de tiempo cambia para mostrar la segmento seleccionado o en reproducción. Puedes activar un evento en esta ventana Mientras se reproduce el segmento, basta con hacer clic en el evento en la línea de tiempo. pantalla.
JET
Ventana principal del creador
Los botones del lado izquierdo de la página principal haz lo siguiente:
Agrega lo siguiente: Muestra la ventana de segmento o evento para agregar un segmento o evento nuevo
Revisar: Muestra la ventana de segmentos o eventos para actualizar un segmento o evento existente
Borrar: Borra el segmento o evento seleccionado (se solicitará confirmación).
Mover: Muestra la ventana Move que te permite mover segmentos o eventos seleccionados. a tiempo
Queue All: Queue's (selecciona) todos los segmentos para su reproducción
Quitar todo de la cola: Eliminación de elementos de la cola (se anula la selección) de todos los segmentos
Reproducir: Inicia la reproducción de todos los segmentos en cola. Este botón cambia a Detener si corresponde se están reproduciendo segmentos
Audición: Muestra la ventana Audition (ver a continuación).
5.1 Ventana de segmentos
En la ventana Segment, se muestra un se asignan y escuchan los atributos del segmento, como se muestra en la imagen a continuación. En el lado izquierdo de la ventana, se muestran los atributos de los segmentos que se almacenados en el archivo JET. En el lado derecho de la ventana, el autor puede establecer silenciar las marcas, repetir y transponer la configuración, y escuchar el segmento como se hace en el juego JET.
Nota: Los atributos de audición (marcas de silencio, repetición y transposición) no se almacenan en el archivo de contenido de JET. (.jet), sino que el juego o la aplicación en sí mismos las definen. En programación idioma, estos parámetros de configuración se corresponden directamente con las llamadas de la API al JET de Compute Engine. Si los incluye aquí, el autor del contenido de JET puede simular cómo segmento responderá a los comandos de la API de aplicaciones durante el juego.
Los parámetros de segmento permiten hacer lo siguiente:
- Conjuntos de nombres del segmento el nombre del segmento
- Archivo MIDI: El nombre y la ubicación del archivo MIDI desde el que se deriva el segmento. Si presionas el botón que está a la derecha, aparecerá una navegador para ubicar un archivo MIDI en el disco duro.
- Archivo DLS: El nombre y la ubicación del archivo DLS2, si corresponde, a los que usa para ese segmento.
- Comienza el M/B/T: Compás, tiempo y pulso iniciales del segmento
- Finalización M/B/T - Compás, tiempo y pulso finales del segmento
- Cuantizar: Valor de cuantización para cuantificar el segmento actual durante la reproducción
Los campos de escucha son los siguientes:
- Pistas silenciadas - Muestra las pistas MIDI (no los canales). en el archivo MIDI. Al hacer clic en el botón para silenciar la pista.
- Canal: Muestra el canal MIDI asignado a cada pista
- Nombre: Muestra el metaevento del nombre de la pista (si está presente) para cada pista.
- Repetir - Indica la cantidad de veces que se debe repetir un segmento durante la reproducción.
- Transposición: Indica la transposición en semitonos o semitonos que debe hacer un segmento. transponer durante la reproducción
- A la derecha de la ventana Audition, hay algunos botones adicionales, que permiten hacer lo siguiente:
- Muy bien. Si seleccionas Aceptar, se confirmará la configuración de todos los segmentos y se cerrará la ventana de segmentos
- Cancelar - Si seleccionas Cancelar, se cancelan los cambios y se cierra la ventana de segmentos
- Replicate: Muestra la ventana Replicate Segment para ingresar varios segmentos a la vez. Obtén más detalles a continuación.
- Reproducir/detener segmento: inicios Detiene la reproducción del segmento con los atributos de segmento asignados.
- Reproducir/detener archivo MIDI: Inicia o detiene la reproducción del archivo MIDI a la que está asignado el segmento.
- Pausar/reanudar - Pausa o reanuda la reproducción.
5.2 Ventana de eventos
En la ventana del evento, se muestra se asignan y escuchan los atributos del evento, como se muestra en la siguiente imagen. Para agregar un evento a un segmento, el autor primero debe seleccionar el segmento al que que contenga el evento y, luego, selecciona el botón Agregar. Esto hará aparecer el evento Event en la ventana modal.
El evento tiene dos secciones principales en la ventana modal. La sección Segmento en el lado izquierdo de la ventana del evento es para mostrar. solamente. Allí se muestra cuáles son los atributos de un segmento determinado. El evento Sobre la derecha, es donde se pueden asignar los eventos. Lo siguiente están disponibles:
Nombre del evento Asigna un nombre a un evento
Tipo de evento: Selecciona el tipo de evento que se asignará.
Comienza el M/B/T: Establece el compás, el tiempo y el pulso iniciales del evento.
Finalización M/B/T - Establece el compás, el tiempo y la marca finales para el evento, si corresponde.
Pista - Establece en qué pista del segmento determinado se aplicará el evento.
Canal: Establece qué canal MIDI aplicará el evento a los que tiene acceso una cuenta. El canal MIDI debe coincidir con el valor de MIDI canal de la pista
ID de evento: Establece el ID del evento. Se pueden asignar varios eventos al mismo segmento y, por lo tanto, se usa el ID de evento para identificarlos
A la derecha de la ventana Audition, hay algunos botones adicionales, que permiten hacer lo siguiente:
Muy bien. Si seleccionas Aceptar, se confirmará la configuración de todos los eventos y se cerrará la ventana del evento
Cancelar - Si seleccionas Cancelar, se cancelarán los cambios y se cerrará la ventana del evento
Replicate: Muestra la ventana Replicate Event para ingresar varios eventos a la vez. Consulta a continuación.
Reproducir/Detener Inicia o detiene la reproducción del segmento con los atributos de segmento asignados. Mientras se reproduce el segmento, se pueden activar y escuchar los eventos.
Activador: Activa el evento asignado. Esto replica el comando de la API que el juego JET usará para activar el evento, lo que proporciona al autor del contenido un método para auditar el comportamiento del evento.
Silenciar/No silenciar La función Silenciar/No silenciar silenciará o dejará de silenciar la pista a la que está asignado el evento
Pausar/reanudar - Pausa o reanuda la reproducción.
Para escuchar el comportamiento de un evento, puedes seleccionar el botón Reproducir. que iniciará la reproducción. El botón de activación enviará el evento activador cuando lo presione. Esto equivale a seleccionar evento de activación verde en el cronograma.
Nota: Los eventos de activación tienen como objetivo activar el sonido de una pista única de un segmento cuando se activa y luego silenciar esa pista al final de el segmento del activador. Por lo tanto, debes asegurarte de que la marca de silencio esté configurada en silenciar la pista que indica que un evento activador dejará de silenciarse al recibir un evento activador.
Lea el artículo 6 Conceptos avanzados a continuación para obtener detalles sobre cómo funcionan y se comportan los eventos de activación.
5.3 Ventanas Replicate
A menudo, cuando crees archivos JET, deberás hacer lo siguiente: crear decenas o incluso cientos de eventos. También es posible que debas mover eventos. El Las ventanas Replicate y Move permiten hacer esto. Hay dos ventanas Replicate para o crear varios segmentos o eventos. que tienen un aspecto similar a las siguientes:
Ventana Replicate Segment
Ventana Replicate Event
Ambas ventanas funcionan de manera similar. Después de crear un segmento o evento inicial, puedes seleccionar la opción Replicate . Los parámetros son los siguientes:
Prefijo del nombre Establece el prefijo para el nombre de cada segmento o evento creado
Comienza el M/B/T: Establece la hora de inicio del primer segmento o evento.
Aumentar M/B/T - Establece el tiempo entre segmentos o eventos creados.
Número: Establece la cantidad de segmentos o eventos que desea crear. Si el número supere la longitud del archivo MIDI (para segmentos) o segmento (para eventos), esos objetos no se crearán.
Vista previa - La vista previa te permite examinar los objetos creados antes de presionar OK para insertar de ellos.
5.4. Ventanas Move
La función Mover actúa de forma similar a Replicar en que te permite editar múltiples segmentos o eventos en una vez, en este caso, moverlos a tiempo. Como en Replicate, hay dos opciones: una ventana para los segmentos y otra para los eventos. Las ventanas se ven como lo siguiente:
Ventana Move Event
Para usar la opción Mover, primero selecciona los segmentos o los eventos que desees mover en el tiempo, luego haz clic en el botón Mover. Los parámetros son de la siguiente manera:
Comienza el M/B/T: Establece la hora de inicio del primer segmento o evento.
Aumentar M/B/T - Establece la hora en M/B/T por la que deseas mover los objetos.
Vista previa - La vista previa te permite examinar los objetos creados antes de presionar OK to move de ellos.
5.5 Ventana Audition
Si haces clic en el botón Audition en la parte principal de la app de JET Creator abrirá la ventana Audition. Este es donde el autor del contenido o el programador de la aplicación pueden simular la interacción reproducción, ya que puede ocurrir en la aplicación o el juego para dispositivos móviles en sí.
Ventana JET Audition
Hay cuatro secciones principales en la la ventana audition. La sección que se encuentra más a la izquierda muestra los segmentos disponibles y su duración en segundos. La sección del medio muestra una lista actualizada de lo que se ponen en cola para reproducción y cuál es su estado de reproducción. El lejano En la sección de la derecha, se muestran las marcas de silencio del segmento que se está reproduciendo en ese momento. El en la parte inferior de la sección de línea de tiempo es la misma que en la ventana principal. Muestra el segmento que se está reproduciendo, así como una visualización de los activadores de cualquier evento asociados con ese segmento.
La ventana Audition te permite poner en cola cualquier segmento en cualquier orden para la reproducción. Para ello, simplemente selecciona el segmento que "quiero poner en cola" y "agregar" a Queue. Ese segmento aparecerá en la ventana de la fila y comenzar a reproducir el contenido (si es el primer segmento). Luego, puedes seleccionar cualquier otro segmento e impulsarlos a la reproducción. A medida que los segmentos completa la reproducción, se comenzará a reproducir el siguiente segmento de la fila. Al igual que el otras ventanas de JET Creator, puedes silenciar, dejar de silenciar, activar clips de eventos, etcétera. en tiempo real mientras se reproduce cada segmento.
En particular, los botones se comportan de la siguiente manera:
Fila - Carga el segmento seleccionado en la cola e inicia la reproducción.
Cancelar y poner en cola - cancela el segmento que se está reproduciendo antes de poner en cola el segmento seleccionado para reproducción
Cancelar actual - cancela el segmento que se está reproduciendo actualmente en la cola y comienza la reproducción del segmento siguiente
Detener - detiene la reproducción de todos los segmentos en cola
Silenciar a todos - silencia todas las pistas del segmento actual
No silenciar ninguno - Activa el sonido de todas las pistas del segmento actual.
Silenciamientos originales - configura las marcas de silencio originales para el segmento actual
La combinación de estas opciones de reproducción permite a los autores o programadores de aplicaciones escuchar cualquier comportamiento una aplicación de música interactiva.
5.6 Menús de JET Creator
Los menús de JET Creator proporcionan acceso a muchos de los parámetros de la ventana principal, más algunos parámetros adicionales.
5.6.1 Menú File
El menú Archivo contiene los siguientes elementos: elementos:
Nuevo - Crea un nuevo archivo de JET Creator (.jtc).
Abierto - Abre un archivo existente de JET Creator
Guardar - Guarda el archivo de JET Creator abierto actualmente.
Guardar como: Guarda en un archivo nuevo el archivo de JET Creator que está abierto.
Import Project: Permite importar un archivo de JET Creator (.zip).
Export Project: Permite exportar un archivo de JET Creator (.zip).
Salir: Permite salir de la aplicación
5.6.2 Menú Edit
El menú Editar contiene los siguientes elementos: elementos:
Deshacer - La operación Deshacer deshace la última edición realizada.
Rehacer: La función Rehacer hará que se deshaga la última acción
Cortar - Copiar el parámetro seleccionado en el portapapeles y borrar la selección
Copiar - Copiar el parámetro seleccionado en el portapapeles y conservar la selección
Pegar - Pegar parámetro seleccionado
5.6.3 JET
El menú Editar contiene los siguientes elementos: elementos:
Propiedades - Abre la ventana de prioridades de JET Creator. Esta ventana te permite configurar la siguientes condiciones para un archivo JET determinado:
Copyright Info: Contiene información sobre derechos de autor para que insertar en el archivo JET.
Chase Controllers: Opción para usar controladores (activar/desactivar). Por lo general, la función.
Delete Empty Tracks: Permite borrar cualquier pista MIDI vacía.
5.6.4 Segmentos
El menú Segmentos contiene lo siguiente: elementos:
Agregar segmento - Abre la ventana Segment.
Update Segment: Actualiza atributos de segmentos.
Delete Segment: elimina el segmento actual del Lista de segmentos
5.6.5 Ayuda
El menú Ayuda contendrá, al menos, los siguientes elementos:
JET Creator Help: Se abrirá el documento de ayuda en formato PDF o se abrirá la ayuda en línea.
Información Número de versión de JET Creator, información de SONiVOX
6 Explicación sobre los eventos de activación
Interrupción de un archivo MIDI en segmentos individuales (no lineales) y poniendo en cola esos segmentos para la reproducción en un juego basado en eventos dentro del juego es una forma en que los archivos de música JET se interactivo. Los eventos de activación son un método adicional para la reproducción interactiva. Es posible usarlos juntos en un juego o una app interactivos.
Los eventos de activación permiten hacer lo siguiente:
- Se pueden activar o desactivar las pistas dentro de un segmento MIDI según el eventos. Por ejemplo, el compositor podría crear dos pistas de batería, una rápida y la lenta. Si la acción en un juego es rápida, la pista de batería rápida y una función distinta. Si la acción en el juego es lenta, se puede reproducir la pista lenta.
- Las acciones del usuario se pueden comparar con los eventos de activación insertar previamente en un archivo de música en los lugares musicales adecuados. Según el resultados, puntuación u otras acciones del juego.
- Las transiciones musicales entre niveles o secuencias de acción para que sean musicalmente fluidos.
En niveles más profundos, JET usa MIDI CC estándar. para realizar estas acciones y sincronizar el audio. Los controladores que usa JET están entre los que no están definidos para un uso específico por la especificación. Las definiciones específicas de los controladores son los siguientes:
Controladores 80-83 Reservado para uso por aplicación
Controlador 102 Marcador de evento JET
Controlador 103 Marcador de clip JET
Controladores 104-119 Reservado para uso futuro
6.1 Marcador de clip JET (CC103)
El controlador 103 está reservado para la marca. clips de una pista MIDI que se puede activar la llamada a la API de JET_TriggerClip. El ID del clip está codificado en los 6 bits bajos de la valor del controlador. El bit 6 se establece en uno para indicar el inicio de un clip, y se establece en cero para indicar el final de un clip.
Por ejemplo, para identificar un clip con un clip ID de 1; el autor inserta un controlador MIDI con Controller=103 y value=65 al inicio del clip y otro. con Controller=103 y value=1 al final del clip. Cuando se llama a la función JET_TriggerClip() con un ID de clip 1, se se activa el sonido cuando se encuentra el valor del controlador 65 y se vuelve a silenciar cuando el se encuentra el valor de controlador 1.
Figura 5: Clip sincronizado
En la figura anterior, si el Se llama a la función JET_TriggerClip() antes del primer evento del controlador, realizar seguimiento 3 se activará el sonido cuando ocurra el primer evento del controlador, el primer clip reproducir. Además, la pista se silenciará cuando ocurra el segundo evento del controlador. Si se llama a la función JET_TriggerClip() después de que el primer evento del controlador se activará el sonido de la Pista 3 cuando ocurra el tercer evento del controlador, se reproducirá el segundo clip y la pista se silenciará nuevamente cuando el cuarto evento de controlador.
Nota: Por lo general, la aplicación silencia la pista que contiene el clip. Cuando el segmento se pone inicialmente en cola mediante la llamada a JET_QueueSegment(). Si no está silenciado, el clip se reproducirá siempre hasta que se llame a Jet_TriggerClip() con el ID del clip.
6.2 Marcador de eventos JET (CC102)
El controlador 102 está reservado para la marca eventos en las transmisiones MIDI que son específicos a la funcionalidad JET. Actualmente, el único valor definido es 0, que marca el final de un segmento con fines de sincronización.
Normalmente, JET inicia la reproducción de los siguientes segmento (o repite el segmento actual) cuando la entrada MIDI se encuentra el metaevento del final de la pista. Un poco de MIDI Las herramientas de creación dificultan la colocación precisa del marcador de fin de pista. lo que da como resultado problemas de sincronización cuando se unen segmentos.
Para evitar este problema, el autor puede colocar un marcador de fin de segmento JET (controller=102, value=0) en el punto donde segmento se deben repetir en bucle. Cuando se encuentra el marcador de fin de segmento, el se activará el siguiente segmento o, si el segmento actual está en bucle, la reproducción se reanudarán al comienzo del segmento.
El marcador de fin de segmento también se puede utilizar. para permitir la finalización de una figura musical más allá del final del compás que marca el inicio del siguiente segmento. Por ejemplo, el autor del contenido podría cree un segmento de 4 compases con un relleno de batería que finalice en el tiempo 1 del 5. “barra”, una barra más allá del final natural del segmento. Colocando un final de segmento al final de la cuarta barra, el siguiente segmento aparecerá pero el relleno de batería continuará en paralelo con el siguiente segmento proporcionando continuidad musical.
Figura 6: Marcador de fin de segmento
6.3 Controladores de apps (CC80-83)
La aplicación puede usar controladores en este para sus propios fines. Cuando se encuentra un controlador en este rango, el evento se ingresa en una cola de eventos que la aplicación puede consultar. Algunos usos posibles incluyen la sincronización de eventos de video con audio y el marcado de punto de un segmento MIDI para poner en fila los siguientes segmento. El rango de controladores que supervisa la aplicación se puede modificar por la aplicación durante la inicialización.
7 Pautas de JET Creator
7.1 Orden de tareas
Al igual que con todos los proyectos, es mejor analizar y diseñar el esquema musical interactivo con el diseñador y programador del juego antes de comenzar la composición. Un esquema o una especificación puede ser de gran ayuda para que no tengas que rehacer tu trabajo una vez que el juego se implementó.
En general, primero deberás escribir la música en la app de audio que elijas en función de tu manera de componer. Luego, divide el archivo MIDI final según sea necesario para la app. A continuación, ve a JET Creator y crea todos los segmentos de música en el orden más fácil a fin de obtener una vista previa cuando se reproduzcan en orden. Luego, agrega los eventos JET para controlar los segmentos a través del juego para Android y escúchalos según sea necesario en JET Creator. Por último, guarda el proyecto en JET Creator y entrega el archivo .jet al programador para que lo incorpore en el juego. Después de la vista previa, es posible que haya cambios en los archivos MIDI y los atributos de JET Creator.
7.2 Cómo conservar la memoria
Si estás tratando de conservar la memoria, compón la menor cantidad posible de archivos MIDI y crea varios segmentos a partir de ese archivo. Por ejemplo, con un archivo MIDI de 12 compases con tres secciones de 4 compases, A, B y C, se puede crear una canción mucho más larga. Solo debes crear varios segmentos que hagan referencia al único archivo MIDI y, luego, ordenarlos como desees. Por ejemplo, con A, A, B, A, C, A, B, A, A se podría crear una canción de 36 compases. Usa JET para agregar repeticiones, transponer segmentos y silenciar o activar el audio de pistas de forma interactiva para obtener un resultado aún más interesante.
7.3 Replicación
Para agregar segmentos o eventos más rápido, usa el comando Replicate. Con esta función, se pueden agregar varios segmentos o eventos a la vez y utilizar un parámetro de desplazamiento y una convención de nomenclatura de prefijos para que la composición sea fácil de leer. El comando MOVE también es útil para mover varios eventos por un número determinado de compases, tiempos o pulsos.
7.4 Opciones interactivas
Hay varios conceptos posibles de audio interactivo en JET. A continuación, te mostramos algunos ejemplos, aunque esperamos que los desarrolladores encuentren otros que a nosotros no se nos ocurrieron. Son los siguientes:
7.4.1 Activación de varios segmentos
Con este método, la app activa segmentos específicos en función de los eventos del juego. Por ejemplo, en un corredor donde hay muchas peleas, se podría activar el segmento 1 y en un corredor donde no hay peleas, se podría activar el segmento 2. Si se usa JET TriggerClips junto con este método, se crea aún más diversidad.
7.4.2 Cómo silenciar arreglos
En este método, la app activa eventos de silencio y activación de sonido en pistas específicas de una sola secuencia MIDI. Por ejemplo, en un corredor donde hay muchas peleas, se podrían reproducir las pistas MIDI 1 a 16, y en un pasillo donde no hay peleas, se podría reproducir el mismo archivo MIDI, pero con las pistas 9 a 16 silenciadas. Si se usa JET TriggerClips junto con este método, se crea aún más diversidad.
7.4.3. Videojuegos de música
Los juegos basados en música son similares a Guitar Hero y JETBOY, en cuanto que el contenido musical determina cómo se muestran los eventos gráficos. La app consulta la respuesta del usuario a los eventos gráficos y, en base a esta, modifica de forma interactiva la música. En este método, el juego utiliza eventos de la app de JET, controladores MIDI incorporados en el archivo MIDI y leídos por el juego en tiempo real. Según la respuesta del usuario, se pueden establecer arreglos de activación o desactivación del sonido de varios segmentos.