Aplicativo de criação de conteúdo para o JET Interactive Music Engine
1 Introdução
1.1 Visão geral
Este documento contém as diretrizes do usuário para o SONiVOX JET Creator, um aplicativo de criação para criar e testar arquivos JET. JET é um player de música interativo para pequenos dispositivos, incluindo aqueles que executam a plataforma Android. Ele permite que aplicativos incluir trilhas sonoras interativas, em MIDI , que respondem em tempo real a eventos de jogo e interação do usuário.
O JET funciona em conjunto com os métodos
Embedded Audio Synthesizer (EAS) que é o MIDI
dispositivo de mídia para Android. Tanto o
Os mecanismos JET e EAS são integrados à plataforma incorporada do Android por meio do
a classe JetPlayer
, também
como inerente ao aplicativo JET Creator. Dessa forma, o autor do conteúdo JET pode
o áudio será exatamente o mesmo no JET Creator
e o aplicativo Android final
é reproduzido em dispositivos móveis Android.
Além das imagens de usuário do JET Creator, há duas funcionalidades principais. A primeiro envolve reunir todos os dados de origem (MIDI) arquivos DLS e DLS), adicionando os atributos em tempo real do JET e criando um (.jet) que o aplicativo Android usará. A segunda funcionalidade envolve testar os elementos de reprodução interativa, já que eles vão acontecer no aplicativo Android.
O aplicativo JET Creator está escrito a linguagem de programação Python. Por isso, você precisa ter a versão atual Python e WXWidgets instalados. Há uma versão para Mac e para Windows.
1.2 Abreviaturas e termos comuns
É importante usar um conjunto comum de os termos para minimizar a confusão. Como o JET usa MIDI, de maneira única, os termos normais da indústria nem sempre são suficientes. Este é o definição dos termos usados nesta página e no JET Creator aplicativo:
Canal: dados MIDI associados a um MIDI específico canal. MIDI padrão permite 16 canais de MIDI dados, cada um dos quais normalmente está associado a um instrumento específico.
Controlador: um evento MIDI que consiste em um número de canal, número de controlador e um valor de controlador. A MIDI associa muitos números de controlador funções específicas, como volume, expressão, pedal de sustentação etc. O JET também utiliza eventos de controlador como um meio de incorporar informações de controle especiais em um Sequência MIDI a ser fornecida para sincronização de áudio.
DAW: estação de trabalho de áudio digital. Termo comum para MIDI e aplicativos de sequenciamento de áudio, como Logic, SONAR, Cubase e outros.
EAS: Embedded MIDI Synthesizer. A nome do mecanismo do sintetizador SONiVOX MIDI.
JET: Jet Interactive Engine. O nome do SONiVOX JET interativo mecanismo de música.
M/B/T: medidas, batidas e marcações.
Segmento: uma seção musical, como um refrão ou verso, que faz parte de a composição geral. No JET, um segmento pode ser um arquivo MIDI inteiro ou um derivados de uma parte de um arquivo MIDI.
SMF-0: Standard MIDI File Type 0, um arquivo MIDI que contém um único arquivo MIDI. faixa, mas pode ser composto por vários canais de MIDI dados.
SMF-1: Standard MIDI File Type 1, um arquivo MIDI que contém um faixas. Cada faixa pode ser composta por um ou mais canais de MIDI, dados. Por convenção, cada canal é armazenado em um faixa separada em um arquivo SMF-1. No entanto, é possível ter vários sistemas MIDI canais em uma única faixa ou em várias faixas que contêm dados do mesmo MIDI. canal.
Faixa: uma única faixa em uma DAW com uma sequência de eventos cronometrados. Tenha cuidado para não confundir as faixas com Canais. Um arquivo MIDI pode conter muitas faixas, e várias faixas utilizam o mesmo canal MIDI.
2 Conceito de música interativa do JET
Música interativa pode ser definida como música que muda em tempo real de acordo com eventos não previsíveis, como de interação ou jogos. Dessa forma, a música interativa é muito mais envolvente, já que consegue combinar com a energia e o clima de um jogo mais próxima do que uma composição pré-composta que nunca muda. Em alguns aplicativos e jogos, a música interativa é fundamental para o jogo. Guitar Hero é um deles um jogo tão famoso. Quando o usuário final captura as notas musicais a música se adapta e mantém uma pontuação de sucessos e fracassos. O JET permite esses tipos de músicas jogos on-line também.
Há vários métodos para fazer e controlar música interativa, e o JET é um desses métodos. Esta seção descreve os recursos do JET e como eles podem ser usados em um jogo ou software para o aplicativo. Ela também descreve como o JET pode ser usado para economizar memória em pequenos dispositivos móveis, como celulares com Android.
2.1.1 Compactação de dados
O JET suporta um formato de música flexível que podem ser usadas para criar sequências musicais estendidas com uma quantidade mínima de dados. Uma composição musical é dividida em segmentos que podem ser sequenciados para criar uma peça mais longa. O sequenciamento pode ser corrigido no momento em que o arquivo de música é criado ou pode ser criado dinamicamente sob o controle do programa.
2.1.2 Exemplo de música linear
Figura 1: música linear
Este diagrama mostra como os segmentos musicais são armazenados. Cada segmento é criado como um MIDI separado . Uma ferramenta de pós-processamento combina os arquivos em um único arquivo de contêiner. Cada trecho pode conter músicas alternativas, que podem ser desativadas ou desativadas para gerar mais interesse. Um exemplo pode ser um acento de metal no refrão tocado apenas na última vez. Além disso, os segmentos podem ser transpostos ou para baixo.
A parte de baixo do diagrama mostra como os segmentos musicais podem ser recombinados para criar uma peça musical linear. Neste exemplo, a ponte pode terminar com uma modulação principal de meio passo e o restante os segmentos podem ser transpostos até meio passo para correspondência.
2.1.3 Exemplo de música não linear
Figura 2: peça musical não linear
Neste diagrama, vemos uma música não linear pedaço O cenário é um jogo de tiro em primeira pessoa (QPS) e o JET oferece a música de fundo. A introdução é reproduzida enquanto a fase é carregada e, em seguida, faz a transição. sob controle do programa para o segmento de pesquisa. Esse segmento é repetido indefinidamente, talvez com pequenas variações (usando o recurso desativar/ativar som) até que a atividade no jogo exige uma mudança.
Quando o jogador se aproxima da toca de um monstro, inicia uma transição sincronizada para o segmento de perigo, aumentando a e o nível de tensão no áudio. À medida que o jogador se aproxima da toca, mais as faixas estão ativadas para aumentar a tensão.
Quando o jogador entra em combate com o o programa inicia uma transição sincronizada para o segmento de Combate. O segmento se repete indefinidamente durante a luta. Um hit bônus ativa temporariamente o som de uma faixa decorativa que notifica o player sobre bem-sucedido, e da mesma forma, outra faixa fica temporariamente silenciada para indicam quando o jogador recebe dano especial.
No fim do combate, a música faz uma transição para um segmento de vitória ou derrota com base no resultado da batalha.
2.1.4 Sincronização do recurso desativar/ativar som
O JET também pode sincronizar os sons ativar o som de faixas para eventos na música. Por exemplo, no jogo de QPS, seria bom incluir eventos musicais relacionados a bônus e o dano o mais próximo possível do evento real do jogo. No entanto, basta ativar o som uma faixa no momento em que o evento do jogo ocorre pode resultar em um clipe de música começando do meio. Como alternativa, um clipe pode ser iniciado da desde o começo, mas não seria sincronizado com as outras faixas de música.
No entanto, com o mecanismo de sincronização do JET, um clipe podem ser iniciadas no próximo momento oportuno e manter a sincronização. Isso pode ser realizada colocando vários clipes musicais curtos em um trilhos. Um evento MIDI no stream significa o início de um clipe e um segundo evento significa o fim de um clipe. Quando o chamar a função de clipe JET, o próximo clipe na faixa será permitido. para reproduzir totalmente sincronizado com a música. Opcionalmente, a faixa pode ser silenciado automaticamente por um segundo evento MIDI.
Figura 3: sincronização do som/ativação de som
2.2 Sincronização de áudio
O JET fornece uma API de sincronização de áudio que permite sincronizar o jogo com eventos no áudio. O mecanismo depende de dados incorporados no arquivo MIDI em o horário em que o conteúdo é criado. Quando o mecanismo JET detecta um evento durante a reprodução, ele gera um callback para o programa do aplicativo. O momento do o callback pode ser ajustado para compensar qualquer latência no áudio de vídeo para que o áudio e o vídeo sejam sincronizados. O diagrama abaixo mostra um exemplo de um jogo de música simples que envolve pressionar os botões setas para a direita de acordo com a música.
Figura 4: jogo de música
As setas representam eventos na sequência de músicas em que eventos de jogos precisam ser sincronizados. Nesse caso, a seta azul representa um momento em que o jogador deve pressionar o botão esquerdo e a seta vermelha é para o botão direito. A seta amarela informa ao mecanismo do jogo que a sequência está completa. O player tem permissão para iniciar uma determinada janela de tempo antes e depois do evento para pressionar a tecla adequada.
Se um evento for recebido e o jogador um botão não for pressionado, o timer será definido com metade da duração da janela. Se o jogador pressionar o botão antes que o cronômetro expire, o jogo registra um bem-sucedido. Caso contrário, o jogo registrará uma falha.
Se o jogador pressionar o botão antes que o for recebido, um timer será definido como metade da duração da janela. Se um evento for recebida antes que o tempo expire, o jogo registrará um sucesso. Caso contrário, o jogo registrar uma falha. O jogo também pode incluir bônus por ganhar próximo ao horário do evento real.
3 Visão geral da criação de conteúdo no JET
Criar arquivos JET e ouvi-los em reprodução interativamente, o autor do conteúdo trabalhará em dois aplicativos que são projetados para funcionar bem juntos. A primeira é que qualquer aplicativo de sequenciamento MIDI pronto para uso que oferece suporte a plug-ins VST (para PC) ou AU (para Mac). Aqui, o autor vai compor seus arquivos de música MIDI usando o plug-in como sintetizador. O segundo aplicativo é o JET Creator. Aqui o autor importará os arquivos de música MIDI (e, opcionalmente, um conjunto de sons DLS2) e configura as condições para no jogo habilitado para JET. Opcionalmente, o autor do conteúdo pode criar um conjunto personalizado de instrumentos DLS usando um editor de instrumentos que suporta Formato DLS Nível 2. Um desses aplicativos é o Awave, da MJSoft.
Consulte a documentação das diretrizes de criação de conteúdo do JET para detalhes sobre a autoria do conteúdo.
4 Instalar e abrir o JET Creator
JET Creator é uma linguagem Python aplicativo, portanto, você deve ter Python e wxPython instalados em seu máquina virtual.
O JET Creator foi criado e testado com:
Python versão 2.5.4
wxPython versão 2.8.7.1
É possível fazer o download em:
PC (links em inglês):
- http://www.python.org/download/releases/2.5.4/
- http://www.wxpython.org/download.php
MAC (links em inglês):
- http://wiki.python.org/moin/MacPython/Leopard
- http://www.wxpython.org/download.php
Depois de instalar o Python e o wxPython, basta descompactar ou copiar todos os arquivos no diretório do aplicativo JET Creator para uma pasta no seu disco rígido.
Para iniciar o JET Creator, use um comando e defina o diretório no qual você instalou o Python. Próxima execução do Python pelo comando:
python jetcreator.py
5 Usar o JET Creator
5.1 Tipos de arquivos
Há alguns tipos de arquivo associados ao JET Creator.
.jtc JET Arquivo de projeto do criador. Esse arquivo contém todas as informações associadas a um Projeto do JET Creator. Ao salvar ou salvar como no JET Creator, esse arquivo é salvo.
.jet JET Arquivo. Esse arquivo de saída é gerado automaticamente pelo JET Creator sempre que você salve seu projeto do JET Creator. Esse é o arquivo que agrupa todos os recursos do JET em um único arquivo que o aplicativo Android usará. Dê isso para o desenvolvedor do aplicativo Android.
Arquivo .mid. Este é o MIDI padrão tipo 1 que o JET Creator usará para criar segmentos.
Segmento .seg Arquivo. Esse é um arquivo de segmento JET. Tem o mesmo nome do MIDI. ao qual ele faz referência, mas contém informações adicionais do segmento.
Arquivo .zip Arquivo. Quando você exporta um arquivo JET, é criado um arquivo zip que contém todos os recursos (arquivos) necessários para o JET Creator. Use para transferir projetos do JET Creator para outras pessoas.
5.2 Abrir caixa de diálogo
Quando antes de iniciar o JET Creator, uma caixa de diálogo como a do seguindo.
<img <="" borda="0" altura="285" p="" src="/static/images/jet/jc_open_dlg.png" largura="450" />
Open abrirá um arquivo .jtc (arquivo do JET Creator) existente. Usar o navegador para navegar até o diretório em que você salvou o arquivo .jtc.
New criará um novo arquivo .jtc.
Import importará um arquivo JET Archive (.zip).
Cancel cancelará a caixa de diálogo e sairá do aplicativo.
5 Janela principal
A janela principal do JET Creator aplicativo se parece com a figura abaixo. Há três seções principais de cima para baixo: visualização de segmentos, visualização de eventos e linha do tempo.
A seção de visualização do segmento mostra uma lista de os segmentos atuais, qual arquivo MIDI (Opcional) Arquivo DLS2 do qual cada segmento é derivado. Ele também mostra dos segmentos, o horário de início e de término e cada segmento quantificam, transpõem, repetem e configurações de sinalização de silenciamento.
Logo abaixo da visualização do segmento está o evento visualização. A seção de visualização de eventos exibe todos os eventos associados a um determinado um segmento de público-alvo. Os eventos só são exibidos quando o segmento a que foram atribuídos é em destaque. Cada evento exibe seu tipo, pontos de início e fim, faixa e midi atribuição do canal e seu ID de evento.
Logo abaixo da visualização de Evento está a linha do tempo exibição. A linha do tempo mostra quantas medidas um determinado segmento tem, bem como quaisquer eventos associados a esse segmento. A linha do tempo muda para exibir segmento selecionado ou reproduzido no momento. Você pode acionar um evento nesta janela enquanto o segmento é reproduzido, basta clicar no evento na linha do tempo exibição.
JET
Janela principal do criador de conteúdo
Os botões no lado esquerdo do faça o seguinte:
Adicionar: Exibe o segmento ou a janela de eventos para adicionar um novo segmento ou evento
Revisão: Exibe o segmento ou a janela de eventos para atualizar um segmento ou evento existente
Excluir: Exclui o segmento ou evento selecionado (solicitará confirmação)
Mover: Exibe a janela de movimento, que permite mover segmentos ou eventos selecionados no tempo
Colocar tudo na fila: de filas (seleciona) todos os segmentos para reprodução
Remover tudo da fila: desenfileira (desmarca) todos os segmentos
Reproduzir: Inicia a reprodução de todos os segmentos na fila. Este botão muda para "Interromper" se houver os segmentos estão em reprodução
Audição: Exibe a janela "Audition" (ver abaixo)
5.1 Janela de segmentos
A janela de segmentos é o local atributos do segmento são atribuídos e testados, como mostrado na imagem a seguir. O lado esquerdo da janela exibe os atributos de segmentos que estão no arquivo JET. O lado direito da janela permite que o autor defina desativar sinalizações, repetir e transpor configurações e testar o segmento, pois no jogo do JET.
Observação: os atributos de audição (sinalizações de silenciamento, repetição e transposição) não são armazenados no arquivo de conteúdo JET. (.jet), mas são definidos pelo próprio jogo ou aplicativo. Na programação idioma, essas configurações correspondem diretamente às chamadas de API para o servidor JET do Compute Engine. Ao incluí-los aqui, o autor do conteúdo do JET pode simular como a responderá aos comandos da API de aplicativos durante o jogo.
Os parâmetros de segmento fazem o seguinte:
- Nome do segmento - conjuntos o nome do segmento
- Arquivo MIDI: O nome e o local do arquivo MIDI que o segmento é derivado. O botão logo à direita trará uma navegador para localizar um arquivo midi no disco rígido.
- Arquivo DLS - O nome e o local do arquivo DLS2, se houver, que o MIDI arquivo usa para esse segmento.
- A partir de MM/B/T - Medida inicial, batida e marcação do segmento
- Terminando M/B/T - Medida final, batida e marcação do segmento
- Quantize: Quantificar o valor para o segmento atual durante a reprodução
Os campos de teste são os seguintes:
- Faixas silenciadas - Mostra as faixas MIDI (não os canais) no arquivo MIDI. Clicando na faixa a caixa de seleção silencia essa faixa.
- Canal - Mostra o canal MIDI atribuído a cada faixa
- Nome – Mostra o metaevento do nome da faixa (se houver) para cada faixa
- Repetir - Indica o número de vezes que um trecho será repetido durante a reprodução
- Transpor - Indica a transposição em semitons ou semitons que um segmento deve transpor durante a reprodução
- À direita da janela "Audition", há outros botões. Eles fazem o seguinte:
- OK - Selecionar OK confirma todas as configurações do segmento e fecha a janela do trecho
- Cancelar - Selecionar Cancelar cancela todas as alterações e fecha a janela do segmento
- Replicar - Exibe a janela "Replicate Segment" para inserir vários segmentos de uma só vez. Veja mais informações abaixo.
- Segmento Reproduzir/Parar: inícios ou Interrompe a reprodução do segmento usando os atributos de segmento atribuídos.
- Reproduzir/Parar arquivo MIDI: Inicia ou interrompe a reprodução do arquivo MIDI ao qual o segmento é atribuído.
- Pausar/retomar - Pausa ou retoma a reprodução.
5.2 Janela de eventos
A janela de eventos é onde um determinado segmento são atribuídos e testados, como mostrado na imagem abaixo. Para adicionar um evento a um segmento, o autor deve primeiro selecionar o segmento que conter o evento e, em seguida, selecione o botão Adicionar. Isso abrirá o Evento janela.
Há duas seções principais no evento janela. A seção de segmento no lado esquerdo da janela de eventos é para exibição . Ela mostra quais são os atributos do segmento em questão. O evento no lado direito, é onde os eventos podem ser atribuídos. O seguinte parâmetros estão disponíveis:
Nome do evento: Atribui um nome a um evento
Tipo de evento: Seleciona o tipo de evento a ser atribuído.
A partir de MM/B/T - Define a medida, a batida e a marcação iniciais do evento.
Terminando M/B/T - Define a medida, a batida e a marcação finais do evento, se aplicável
Acompanhar - Define a qual faixa do segmento o evento será aplicado.
Canal - Define qual canal MIDI o evento será aplicado O canal MIDI deve corresponder ao MIDI canal da música
ID do evento: Define o ID do evento. Vários eventos podem ser atribuídos ao mesmo e, portanto, o ID do evento é usado para identificá-los
À direita da janela "Audition", há outros botões. Eles fazem o seguinte:
OK - Selecionar OK confirma todas as configurações do evento e fecha a janela de eventos
Cancelar - Se você selecionar "Cancelar", todas as alterações serão canceladas e a janela do evento será fechada.
Replicar - Exibe a janela "Replicate Event" para inserir vários eventos de uma só vez. Consulte a seguir.
Reproduzir/Parar: Inicia ou interrompe a reprodução do segmento usando os atributos de segmento atribuídos. Enquanto o segmento estiver sendo reproduzido, os eventos poderão ser acionados e testados.
Acionador - Aciona o evento atribuído. Isso replica o comando da API que o jogo JET usará para acionar o evento. Assim, fornecer ao autor do conteúdo um método para testar o comportamento do evento.
Desativar som/Desativar som: Ativar/desativar som desativa ou ativa o som da faixa à qual o evento está atribuído
Pausar/retomar - Pausa ou retoma a reprodução.
Para testar o comportamento de um evento, você é possível selecionar o botão "Reproduzir". Isso iniciará a reprodução. O botão de gatilho enviará o evento acionador quando pressionado. Isso equivale a selecionar evento acionador verde na linha do tempo.
Observação: os eventos de acionamento servem para ativar o som de única faixa de um segmento quando acionado, então silencie a faixa no final o segmento do acionador. Portanto, você deve garantir que a sinalização de silenciamento esteja definida como silenciar a faixa em que um evento acionador ativará o som ao receber um evento acionador.
Leia a seção 6. Configurações avançadas abaixo para detalhes sobre como os eventos acionadores funcionam e se comportam.
5.3 Janelas de replicação
Muitas vezes, ao criar arquivos JET, você precisará criar dezenas ou mesmo centenas de eventos. Você também pode precisar mover eventos. A As janelas "Replicate" e "Move" permitem isso. Há duas janelas "Replicate" criando vários segmentos ou eventos. Eles são assim:
Janela "Replicate Segment"
Janela "Replicate Event"
As duas janelas de replicação funcionam da mesma maneira. Depois de criar um segmento ou evento inicial, você pode selecionar a opção Replicate . Os parâmetros são os seguintes:
Prefixo de nome - Define o prefixo para o nome de cada segmento ou evento criado
A partir de MM/B/T - Define o horário de início do primeiro segmento ou evento
Aumentar M/B/T - Define o tempo entre segmentos ou eventos criados.
Número - Define o número de segmentos ou eventos que você quer criar. Se o número ultrapassa o comprimento do arquivo MIDI (por ) ou segmento (para eventos), esses objetos não serão criados.
Pré-visualização - A visualização permite que você examine os objetos criados antes de aceitar a inserção. para resolvê-los com rapidez.
5.4 Janelas de movimento
A função Move age de forma semelhante à Replicar função, que permite editar vários segmentos ou eventos uma vez, neste caso movê-los no tempo. Assim como "Replicate", há dois tipos de movimentos janelas, uma para segmentos e outra para eventos. As janelas parecem o seguinte:
Janela "Move Event"
Para usar a opção "Mover", primeiro selecione os segmentos ou eventos que deseja mover no tempo, clique no botão Mover. Os parâmetros são da seguinte forma:
A partir de MM/B/T - Define o horário de início do primeiro segmento ou evento
Aumentar M/B/T - Define o horário em M/B/T pelo qual você quer mover os objetos.
Pré-visualização - A visualização permite que você examine os objetos criados antes de aceitar mover. para resolvê-los com rapidez.
5.5 Janela de testes
Clicando no botão “Audição” na janela principal, do aplicativo JET Creator abrirá a janela Audition. Isso é em que o autor do conteúdo ou programador do aplicativo pode simular a interação a reprodução no próprio jogo ou aplicativo para dispositivos móveis.
Janela "JET Audition"
Há quatro seções principais no janela de teste. A seção mais à esquerda exibe os segmentos disponíveis e a duração deles em segundos. A seção do meio exibe uma lista contínua de quais segmentos são enfileirados para reprodução e qual é seu status de reprodução. O a seção direita exibe as sinalizações de silenciamento do segmento em reprodução. A a seção da linha do tempo na parte inferior é igual à da janela principal. Ela mostra o segmento em reprodução, bem como uma exibição visual dos acionadores de eventos associadas a esse segmento.
A janela "Audition" permite enfileirar segmentos em qualquer ordem para reprodução. Para isso, basta selecionar o segmento quiser fazer o cue e apertar Queue. Esse segmento aparecerá na janela da fila e começar a tocar (se for o primeiro segmento). Depois, é possível selecionar outro segmento ou segmentos e coloque-os para reprodução. Como os segmentos reprodução completa, o próximo segmento da fila começará a ser reproduzido. Assim como o outras janelas do JET Creator, é possível desativar e ativar o som, acionar clipes de eventos etc. em tempo real à medida que cada segmento é reproduzido.
Especificamente, os botões se comportam da seguinte maneira:
Fila - carrega o segmento selecionado na fila e inicia a reprodução
Cancelar e enfileirar - cancela o segmento em reprodução antes de enfileirar o segmento selecionado para reprodução
Cancelar atual - cancela o segmento em reprodução na fila e inicia a reprodução do próximo segmento
Parar - interrompe a reprodução de todos os segmentos na fila
Desativar o som de todos - desativa o som de todas as faixas do trecho atual
Desativar som: nenhum Ativa o som de todas as faixas do trecho atual
Desativações originais de som - define as sinalizações de silenciamento originais do segmento atual
A combinação dessas opções de reprodução permite que um autor ou programador de aplicativos teste qualquer comportamento aplicativo de música interativo pode encontrar.
5.6 Menus do JET Creator
Os menus do JET Creator dão acesso a muitos dos parâmetros na janela principal e alguns parâmetros adicionais.
5.6.1 Menu "File"
O menu "File" contém o seguinte: elementos:
Novo - Cria um novo arquivo do JET Creator (.jtc).
Abrir - Abre um arquivo existente do JET Creator
Salvar - Salva o arquivo do JET Creator aberto no momento
Salvar como Salva o arquivo do JET Creator aberto em um novo arquivo
Import Project: importa um arquivo do JET Creator (.zip).
Export Project: exporta um arquivo do JET Creator (.zip).
Sair - Sai do aplicativo
5.6.2 Menu "Edit"
O menu "Editar" contém o seguinte: elementos:
Desfazer - Desfazer vai desfazer a última edição
Refazer - A opção "Refazer" refaz a última ação de desfazer.
Recortar - Copiar o parâmetro selecionado para a área de transferência e excluir a seleção
Copiar - Copiar o parâmetro selecionado para a área de transferência e manter a seleção
Colar - Colar o parâmetro selecionado
5.6.3 JET
O menu "Editar" contém o seguinte: elementos:
Propriedades - Abre a janela de prioridades do JET Creator. Essa janela permite definir seguintes condições para um determinado arquivo JET:
Copyright Info: contém informações de direitos autorais a serem inseridas no arquivo JET.
Chase Controllers: opção de procurar controladores (ativada/desativada). Isso geralmente deve estar ATIVADO.
Delete Empty Tracks: exclui todas as faixas MIDI vazias.
5.6.4 Segmentos
O menu "Segmentos" contém o seguinte elementos:
Adicionar trecho - Abre a janela "Segmento"
Update Segment: atualiza os atributos do segmento.
Delete Segment - Exclui o segmento atual do Lista de segmentos
5.6.5 Ajuda
O menu "Ajuda" contém pelo menos elementos a seguir:
JET Creator Help: abre o documento de ajuda em PDF ou a ajuda on-line.
Sobre - Número da versão do JET Creator, informações do SONiVOX
6 Sobre eventos acionadores
Como interromper um MIDI em segmentos individuais (não lineares) e enfileirando esses segmentos para a reprodução em um jogo com base em eventos é uma maneira pela qual os arquivos de música JET são interativos. Os eventos acionadores são outro método para reprodução interativa. Ambos são usados juntos em um jogo ou aplicativo interativo.
Os eventos acionadores permitem o seguinte:
- As faixas dentro de um segmento MIDI podem ser ativadas ou desativadas com base no jogo eventos. Por exemplo, o compositor pode criar duas faixas de bateria, uma rápida e outra lenta. Se a ação em um jogo é rápida, a faixa de bateria rápida poderia brincar. Se a ação for lenta, o jogo poderá tocar a faixa de bateria lenta.
- As ações do usuário podem ser comparadas a eventos acionadores, pré-inseridos em um arquivo de música em lugares musicalmente corretos. Com base no pontuação ou outras ações do jogo. .
- Transições musicais entre fases ou sequências de ação podem ser sincronizados para que sejam musicalmente perfeitos.
Internamente, o JET usa o MIDI CC padrão para realizar essas ações e sincronizar o áudio. Os controladores usados pelo JET estão entre aqueles não definidos para uso específico pela especificação. As definições específicas do controlador são os seguintes:
Controladores 80-83 Reservado para uso por aplicativo
Controle 102 Marcador de evento JET
Controle 103 Marcador de clipe JET
Controladores 104-119 Reservado para uso futuro
6.1 Marcador de clipe JET (CC103)
O controlador 103 está reservado para marcação clipes em uma faixa MIDI que podem ser acionadas por a chamada da API JET_TriggerClip. O ID do clipe é codificado nos 6 bits mais baixos do valor do controlador. O bit 6 é definido como um para indicar o início de um clipe, e como zero para indicar o final de um clipe.
Por exemplo, para identificar um clipe com outro ID de 1, o autor insere um controlador MIDI. com controlador=103 e valor=65 no início do clipe e outro com controlador=103 e valor=1 no final do clipe. Quando o a função JET_TriggerClip() for chamada com um ID de clipe de 1, a faixa será ativado quando o valor 65 do controlador é encontrado e silenciado novamente quando o o valor 1 do controlador é encontrado.
Figura 5: clipe sincronizado.
Na figura acima, se A função JET_TriggerClip() é chamada antes do primeiro evento controlador, Track 3 terão o som ativado quando o primeiro evento do controle ocorrer, o primeiro clipe ser reproduzida, e a faixa será silenciada quando ocorrer o segundo evento do controle. Se a função JET_TriggerClip() é chamada depois que o primeiro evento controlador é ocorrer, a faixa 3 terá o som ativado quando o terceiro evento controlador ocorrer, o segundo clipe será reproduzido, e o som da faixa será desativado novamente quando o quarto evento controlador ocorre.
Observação:normalmente, a faixa que contém o clipe é silenciada pelo app. quando o segmento é inicialmente colocado na fila pela chamada de JET_QueueSegment(). Se não estiver silenciado, o clipe será sempre reproduzido até que Jet_TriggerClip() seja chamado. pelo ID do clipe.
6.2 Marcador de evento JET (CC102)
O controlador 102 está reservado para marcação eventos nos streams MIDI que são específicos à funcionalidade JET. Atualmente, o único valor definido é 0, o que marca o final de um segmento para fins de cronologia.
Normalmente, o JET inicia a reprodução do próximo (ou repete o segmento atual) quando o MIDI é encontrado. Alguns MIDI de autoria dificultam o posicionamento preciso do marcador de fim da faixa, resultando em problemas de sincronização quando os segmentos são unidos.
Para evitar esse problema, o autor pode colocar um marcador de fim de segmento JET (controlador=102, valor=0) no ponto em que o segmento deve ser executado em loop. Quando o marcador de fim de segmento é encontrado, o próximo segmento será acionado ou, se o segmento atual estiver em loop, a reprodução será retomado no início do segmento.
O marcador de fim de segmento também pode ser usado para permitir a conclusão de uma figura musical além do final do compasso que marca o início do próximo segmento. Por exemplo, o autor do conteúdo pode crie um segmento de 4 compassos com um preenchimento de bateria que termine na batida 1 de 5o uma barra além da extremidade natural do segmento. Ao colocar um fim de segmento no final da 4a barra, o próximo segmento será mas o preenchimento de bateria continuará em paralelo com o próximo segmento dar continuidade musical.
Figura 6: marcador de fim de segmento.
6.3 Controladores de aplicativos (CC80-83)
O aplicativo pode usar controladores neste intervalo de endereços, para seus próprios propósitos. Quando um controlador nesse intervalo é encontrado, o evento é inserido em uma fila de eventos que pode ser consultada pelo aplicativo. Alguns usos possíveis incluem sincronizar eventos de vídeo com áudio e marcar uma em um segmento MIDI para enfileirar o próximo um segmento de público-alvo. O intervalo de controladores monitorados pelo aplicativo pode ser modificado pelo aplicativo durante a inicialização.
7 Diretrizes para criadores do JET
7.1 Ordem das tarefas
Como sempre, é melhor discutir e projetar o esquema de música interativa com o desenvolvedor e o programador do jogo antes de começar a composição. Um plano e/ou uma especificação podem evitar que você tenha que refazer certas coisas quando o jogo estiver pronto.
Em geral, escreva primeiro sua música na DAW da sua preferência da forma como você costuma fazer, antes de dividir o arquivo MIDI final conforme necessário para o aplicativo. Em seguida, vá para o JET Creator e crie todos os segmentos da música na ordem mais fácil para visualizá-los durante a reprodução. Por fim, adicione os eventos JET para controlar os segmentos por meio do jogo para Android e teste-os conforme necessário no JET Creator. Salve o projeto no JET Creator e entregue o arquivo .jet ao programador para integrá-lo ao jogo. Depois da visualização, provavelmente haverá mudanças a serem feitas nos arquivos MIDI e nos atributos do JET Creator.
7.2 Preservar a memória
Se você estiver tentando preservar memória, escreva o menor número de arquivos MIDI possível e crie vários segmentos a partir deles. Por exemplo, um arquivo MIDI de 12 compassos com três seções de quatro compassos (A, B e C) pode criar uma música muito mais longa. Basta criar vários segmentos que referenciem esse único arquivo MIDI e ordená-los como quiser. Por exemplo, A, A, B, A, C, A, B, A, A criaria uma música de 36 compassos. Use o JET para adicionar repetições, transpor segmentos e ativar e desativar o som de faixas de maneira interativa para torná-las ainda mais interessantes.
7.3 Replicar
Para agilizar a adição de segmentos ou eventos, use o comando "Replicate". Ele pode adicionar vários segmentos ou eventos de uma só vez e usa um parâmetro de compensação e uma convenção de nomenclatura com prefixo para facilitar a leitura. O comando "MOVE" também é útil para mover vários eventos de acordo com um número definido de medidas, batidas ou marcações.
7.4 Opções interativas
Há vários conceitos de áudio interativo possíveis no JET. Veja alguns exemplos abaixo, mas esperamos que os desenvolvedores criem opções que não tenhamos imaginado! São estes:
7.4.1 Acionar vários segmentos
Neste método, o aplicativo aciona segmentos específicos com base nos eventos do jogo. Por exemplo, um ambiente com muita luta pode acionar o segmento 1, e um ambiente sem luta pode acionar o segmento 2. O uso de JET TriggerClips em conjunto com esse método cria ainda mais diversidade.
7.4.2 Matrizes de silenciamento
Neste método, o aplicativo aciona eventos de ativação e desativação de som para faixas específicas em uma única sequência MIDI. Por exemplo, um ambiente com muita luta pode tocar as faixas MIDI 1-16, e um ambiente sem luta pode tocar o mesmo arquivo MIDI, mas silenciar as faixas 9-16. O uso de JET TriggerClips em conjunto com esse método cria ainda mais diversidade.
7.4.3 Jogabilidade baseada em música
Jogos baseados em música são parecidos com o que é feito no Guitar Hero e JETBOY. O conteúdo musical determina como os eventos gráficos são exibidos. Em seguida, o aplicativo consulta a resposta do usuário aos eventos gráficos e modifica a música de maneira interativa de acordo com essa resposta. Nesse método, o jogo usa os eventos de aplicativo JET, além de controladores MIDI incorporados ao arquivo MIDI e lidos pelo jogo em tempo real. De acordo com a resposta do usuário, vários acionadores de segmento e/ou matrizes de silenciamento podem ser definidos.