SONiVOX JETCreator 사용자 매뉴얼

JET 양방향 음악 엔진용 콘텐츠 제작 애플리케이션

1 서문

1.1 개요

이 문서에는 사용자 가이드라인이 포함되어 있습니다. SONiVOX JET Creator에 포함되어 있으며, 오디션 JET 파일을 볼 수 있습니다. JET는 소형 임베디드용 양방향 음악 플레이어입니다. 여기에는 Android 플랫폼을 실행하는 기기를 비롯한 모든 기기가 포함됩니다. 이를 통해 애플리케이션은 양방향 음악 사운드트랙을 MIDI에 포함 리치 미디어 형식으로 게임 플레이 이벤트 및 사용자 상호작용에 실시간으로 반응합니다.

JET는 SONiVOX의 임베디드 오디오 신시사이저 (EAS)는 사용할 수 있습니다. 그리고 JET 및 EAS 엔진은 JetPlayer 클래스도 포함 JET Creator 애플리케이션에 내재되어 있습니다. 따라서 JET 콘텐츠 작성자는 JET Creator 모두에서 재생이 정확히 동일하게 들리는지 확인합니다. Android 휴대기기에서 재생되는 최종 Android 애플리케이션이 있습니다.

그래픽 사용자 외에도 인터페이스에는 JET Creator에서 실행되는 두 가지 주요 기능이 있습니다. 이 첫 번째는 모든 소스 데이터 (MIDI)를 수집하는 파일 및 DLS 파일) JET의 실시간 속성을 추가하고 JET를 빌드하여 (.jet) 파일로 저장됩니다. 두 번째 기능은 진행되는 양방향 재생 요소를 오디션하여 사용할 수 있습니다.

JET Creator 애플리케이션은 사용할 수 있기 때문에 최신 버전의 Python과 Python과 WXWidgets가 설치되어 있습니다. Mac과 Windows 버전이 모두 있습니다.

1.2 약어 및 일반 용어

일반적으로 사용되는 혼동을 최소화할 수 있습니다 JET는 MIDI를 사용하므로 경우에 따라서는 일반적인 업계 용어로는 충분하지 않을 수 있습니다. 여기에서 이 페이지 및 JET Creator에서 사용되는 용어의 정의 애플리케이션:

채널: 특정 MIDI와 연결된 MIDI 데이터 채널을 구독합니다. 표준 MIDI는 16개 채널의 MIDI를 허용 일반적으로 특정 결제 수단과 연결된 데이터입니다.

컨트롤러: 채널 번호, 컨트롤러 번호 및 컨트롤러 값을 나타냅니다. MIDI 사양은 많은 컨트롤러 번호를 음량, 표현, 서스테인 페달과 같은 특정 기능을 제공합니다. JET도 컨트롤러 이벤트를 오디오 동기화를 제공하기 위한 MIDI 시퀀스입니다.

DAW: 디지털 오디오 워크스테이션. MIDI의 일반적인 용어 Logic, SONAR, Cubase 등의 오디오 시퀀싱 애플리케이션이 포함됩니다.

EAS: 삽입된 MIDI 신시사이저. 이 SONiVOX MIDI 신시사이저 엔진의 이름입니다.

JET: Jet 양방향 엔진. SONiVOX JET 인터랙티브의 이름 음악 엔진입니다.

M/B/T: 마디, 비트, 틱

세그먼트: 코러스나 구절처럼 확인할 수 있습니다. JET에서 세그먼트는 전체 MIDI 파일일 수도 있고 MIDI 파일의 일부에서 파생됩니다.

SMF-0: 표준 MIDI 파일 형식 0, 단일 MIDI를 포함하는 MIDI 파일. MIDI의 여러 채널로 구성될 수 있지만 데이터를 수집하는 데 사용됩니다

SMF-1: 표준 MIDI 파일 형식 1. 하나 이상의 MIDI 파일 각 트랙은 차례로 하나 이상의 MIDI 채널로 구성될 수 있습니다 데이터를 수집하는 데 사용됩니다 규칙에 따라 각 채널은 SMF-1 파일에 있는 별도의 트랙에 저장됩니다. 그러나 한 번에 여러 개의 MIDI가 단일 트랙의 채널 또는 동일한 MIDI의 데이터가 포함된 여러 트랙 채널을 구독합니다.

트랙: 시간이 정해진 이벤트 시퀀스가 포함된 DAW의 단일 트랙. 트랙을 혼동하지 않도록 주의하세요. 채널을 선택합니다. MIDI 파일에는 동일한 MIDI 채널을 사용합니다.

2 JET 양방향 음악 개념

양방향 음악은 음악으로 정의할 수 있습니다. 예측 불가능한 이벤트에 따라 실시간으로 변화하는 상호작용 또는 게임 플레이 이벤트를 표시합니다. 이런 식으로 양방향 음악은 게임의 분위기와 분위기를 잘 살릴 수 있기 때문에 몰입도가 높습니다. 미리 만들어진 음악작품보다 훨씬 더 가깝습니다. 일부 애플리케이션에서 양방향 음악이 게임 플레이의 핵심입니다. 기타 히어로는 정말 재미있어요. 최종 사용자가 음표를 성공적으로 캡처한 경우 프렛 보드에서 내려오면 음악이 자체적으로 적응하면서 동시에 점수를 매깁니다 JET를 사용하면 있습니다.

몇 가지 방법을 사용하여 양방향 음악과 JET를 제어하는 것도 이러한 방법 중 하나입니다. 이 섹션 JET의 기능 및 게임 또는 소프트웨어에서 이러한 기능이 사용되는 방식을 설명합니다. 애플리케이션입니다. 또한 JET를 사용하여 작은 크기의 메모리를 절약하는 방법도 설명합니다. 안드로이드 지원 휴대폰 핸드셋과 같은 풋프린트 장치에 사용됩니다.

2.1.1 데이터 압축

JET는 유연한 음악 형식을 지원합니다. 최소한의 데이터로 확장된 음악 시퀀스를 만드는 데 사용할 수 있습니다. 음악 작품은 시퀀싱할 수 있는 세그먼트로 나뉩니다. 더 긴 조각을 만들 수 있습니다. 순서는 음악 파일 업로드 시점에 고정할 수 있음 또는 프로그램 제어하에 동적으로 생성될 수 있습니다.

2.1.2 선형적 음악 예


그림 1: 선형적 음악 작품

이 다이어그램은 음악 세그먼트가 어떻게 저장됩니다. 각 세그먼트는 별도의 MIDI로 작성됨 파일에서 참조됩니다. 후처리 도구는 파일을 단일 컨테이너 파일로 결합합니다. 각 세그먼트에는 음소거하거나 음소거 해제할 수 있는 대체 음악 트랙이 포함될 수 있습니다. 더 많은 관심을 유도할 수 있습니다 코러스의 황동 악센트 등을 예로 들 수 있습니다. 마지막에만 재생되기 때문입니다. 또한 세그먼트를 위로 조옮김할 수 있습니다. 선택할 수 있습니다

다이어그램의 하단 부분은 음악 세그먼트를 재조합하여 선형적인 음악 작품을 만들 수 있습니다. 이 예를 들어 브리지는 반음 키 변조로 끝날 수 있고 세그먼트를 반음으로 조옮김할 수 있습니다.

2.1.3 비선형적 음악 예


그림 2: 비선형적인 음악 작품

이 다이어그램에서는 선형적 음악이 알 수 있습니다. 시나리오는 1인칭 슈팅 게임 (FPS)이며 JET는 배경 음악 레벨이 로드되는 동안 인트로가 재생된 후 전환됩니다. 프로그램 제어에 달려 있습니다. 이 세그먼트는 무한 반복되어 활동이 완료될 때까지 음소거/음소거 해제 기능 사용 변화를 나타냅니다.

플레이어가 괴물 은신처에 가까워지면 프로그램이 위험 세그먼트로 동기화된 전환을 시작하여 조정할 수 있습니다. 플레이어가 은신처에 가까워질수록 긴장감을 높이기 위해 트랙의 음소거가 해제됩니다.

플레이어가 엔트리 레벨 디바이스와 전투를 시작할 때 프로그램이 전투 세그먼트로 동기화된 전환을 시작합니다. 이 세그먼트는 전투가 계속되면 무제한으로 반복됩니다. 보너스 히트곡 은 장식 트랙을 일시적으로 음소거 해제하여 플레이어에게 다른 트랙이 일시적으로 음소거 해제되어 플레이어가 특별 데미지를 받을 때를 나타냅니다.

전투가 끝날 때 음악이 전환됩니다. 전투의 결과에 따라 승리 또는 패배 세그먼트를 전달합니다.

2.1.4 음소거/음소거 해제 동기화

JET는 또한 음소거와 음악 이벤트에 대한 트랙 음소거 해제입니다. 예를 들어 FPS 게임에서는 아마도 보너스와 관련된 음악 이벤트를 배치하는 것이 바람직할 것입니다. 실제 게임 이벤트에 최대한 근접한 피해를 줄 수 있습니다. 하지만 단순히 게임 이벤트가 발생하는 순간 트랙이 음악 클립이 될 수 있습니다. 중간에서 시작하겠습니다 또는 클립이 다른 음악 트랙과 동기화되지 않습니다.

하지만 JET 동기화 엔진을 사용하면 동기화를 유지할 수 있기 때문입니다. 이 장식용 벽에 여러 개의 짧은 음악 클립을 있습니다. 스트림의 MIDI 이벤트는 두 번째 이벤트는 클립의 끝을 나타냅니다. 이 애플리케이션이 JET 클립 함수를 호출하면 트랙의 다음 클립이 허용됩니다. 음악에 완전히 동기화되어 재생됩니다. 원하는 경우 트랙은 두 번째 MIDI 이벤트에 의해 자동으로 음소거됩니다.


그림 3: 동기화된 음소거/음소거 해제

2.2 오디오 동기화

JET는 오디오 동기화 API를 제공합니다. 게임 플레이를 오디오의 이벤트에 동기화할 수 있습니다. 메커니즘 다음 위치에 있는 MIDI 파일에 삽입된 데이터에 의존하여 콘텐츠가 작성된 시간 JET 엔진이 이벤트를 감지하는 동안 애플리케이션 프로그램에 콜백을 생성합니다. 출시 시기 콜백을 조정하여 오디오의 지연 시간을 오디오와 동영상이 동기화될 수 있습니다. 아래 다이어그램 왼쪽과 왼쪽 버튼을 함께 누르는 간단한 음악 게임의 예를 보여 줍니다. 오른쪽 화살표를 따라가야 합니다.


그림 4: 음악 게임

화살표는 음악 시퀀스의 이벤트를 나타냅니다. 게임 이벤트를 동기화해야 합니다. 이 경우 파란색 화살표는 는 플레이어가 왼쪽 버튼을 눌러야 하는 시간을 나타냅니다. 빨간색 화살표는 오른쪽 버튼입니다. 게임 엔진에 지시하는 노란색 화살표 시퀀스가 완료되었음을 알립니다. 플레이어에게 특정 기간이 허용됩니다. 적절한 키를 누를 수 있습니다.

이벤트가 수신되고 플레이어가 버튼을 누르지 않은 경우 타이머가 윈도우 길이의 절반으로 설정됩니다. 만약 플레이어가 타이머가 만료되기 전에 버튼을 누르는 경우, 게임은 실패하면 게임이 실패로 등록됩니다.

플레이어가 버튼을 누르기 전에 이벤트가 수신되면 타이머가 기간의 절반으로 설정됩니다. 이벤트 타이머가 만료되기 전에 수신되면 게임이 성공한 것으로 등록되고, 그러지 않으면 게임이 실패를 등록할 때 게임 플레이에는 실제 이벤트 타이밍에 가까워집니다.

3 JET 콘텐츠 제작 개요

JET 파일을 작성하고 재생 파일을 듣기 위해 콘텐츠 작성자는 원활하게 작동하도록 설계되었습니다 첫 번째는 응용 프로그램이 MIDI 시퀀싱 애플리케이션으로 VST (PC용) 또는 AU (Mac용) 플러그인을 지원합니다. 여기서 작성자는 플러그인을 사용하여 MIDI 음악 파일을 신시사이저 장치입니다. 두 번째 애플리케이션은 JET Creator 애플리케이션입니다. 여기 제작자는 자신의 MIDI 음악 파일을 가져옵니다. (선택적으로 DLS2 사운드셋)을 사용하고 양방향 사운드를 위한 조건 설정 JET 지원 게임 내에서 재생됩니다. 원하는 경우 콘텐츠 작성자는 을 지원하는 악기 편집기를 사용하여 DLS 악기의 맞춤형 세트를 DLS 레벨 2 형식 이러한 애플리케이션 중 하나가 MJSoft의 Awave입니다.

자세한 내용은 JET 콘텐츠 제작 가이드라인 문서를 참고하세요. 자세히 알아보세요.

4. JET Creator 설치 및 실행

JET Creator는 Python 언어입니다. 따라서 컴퓨터에 Python과 wxPython이 설치되어 있어야 합니다. 가상 머신을 만드는 데 도움이 됩니다

JetCreator는 다음을 사용하여 만들고 테스트했습니다.

Python 버전 2.5.4

wxPython 버전 2.8.7.1

여기에서 다운로드할 수 있습니다.

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

Python과 wxPython을 설치한 후 JET Creator 애플리케이션 디렉터리의 모든 파일을 압축 풀거나 복사하여 하드 드라이브에 폴더를 만듭니다.

JET Creator를 실행하려면 명령어로 이동합니다. 디렉터리를 Python을 설치한 위치로 설정합니다. 다음으로 Python 실행 을 실행합니다.

python jetcreator.py

5 JET Creator 사용

5.1 파일 형식

몇 가지 파일 형식이 있습니다. JET Creator와 연결되어 있습니다.

.jtc JET 생성자 프로젝트 파일 이 파일에는 JET Creator 프로젝트 JET Creator에서 저장하거나 다른 이름으로 저장하면 이 파일은 유형이 저장됩니다.

.jet 제트 파일. 이 출력 파일은 파일을 로드할 때마다 JET Creator에서 자동으로 JET Creator 프로젝트를 저장합니다. 모든 JET 애셋을 번들로 묶는 파일입니다. Android 애플리케이션에서 사용할 단일 파일로 함께 포함됩니다. 이거 해 줘 Android 애플리케이션 개발자에게 보냅니다.

.mid 파일. 이것은 표준 MIDI, JET Creator에서 세그먼트를 만드는 데 사용할 파일 1개를 입력합니다.

.seg 세그먼트 파일. JET 세그먼트 파일입니다. 이 함수는 MIDI와 이름이 같습니다. 이 파일이 참조되지만 추가 세그먼트 정보가 포함되어 있습니다.

.zip 압축 아카이브 파일입니다. JET 보관 파일을 내보내면 JET Creator에 필요한 모든 애셋 (파일)이 포함되어 있습니다. 전송에 사용 JET Creator 프로젝트를 다른 사용자에게 공유할 수 있습니다.

5.2 열기 대화상자

날짜 JET Creator를 먼저 실행하면 있습니다.

<img <="" 테두리="0" 높이="285" p="" src="/static/images/jet/jc_open_dlg.png" 너비="450" /

열기는 기존 .jtc(JET Creator 파일) 파일을 엽니다. 브라우저 사용 버튼을 클릭하여 .jtc 파일이 저장된 디렉토리를 찾습니다.

새로 만들기는 새로운 .jtc 파일을 만듭니다.

가져오기는 JET Archive(.zip) 파일을 가져옵니다.

취소는 대화상자를 취소하고 애플리케이션을 종료합니다.

5 기본 창

JET Creator의 기본 창 아래 그림과 같이 표시됩니다. Google Cloud 콘솔의 위에서 아래로: 분류 기준 보기, 이벤트 보기, 타임라인

세그먼트 보기 섹션에는 현재 세그먼트는 MIDI 파일과 (선택사항) 각 세그먼트가 파생된 DLS2 파일입니다. 또한 각 세그먼트 시작 및 중지 시간과 각 세그먼트는 퀀타이즈, 조옮김, 반복 및 알림 끄기 플래그 설정을 지정합니다

분류 기준 보기 바로 아래에 합니다. 일정 보기 섹션에는 세그먼트입니다. 이벤트는 할당된 세그먼트가 다음과 같을 때만 표시됩니다. 강조표시됩니다. 각 이벤트에는 유형, 시작 및 종료 지점, 트랙 및 MIDI가 표시됩니다. 채널 할당 및 해당 이벤트 ID가 있습니다.

일정 뷰 바로 아래에 타임라인이 있습니다. 디스플레이. 타임라인에는 주어진 세그먼트의 소절 수와 해당 세그먼트와 연결된 이벤트를 보여줍니다. 타임라인이 변경되어 확인할 수 있습니다. 이 창에서 이벤트를 트리거할 수 있습니다. 세그먼트가 재생되는 동안 타임라인에서 이벤트를 클릭하기만 하면 됩니다. 디스플레이.


제트기 크리에이터 기본 창

메인 페이지의 왼쪽에 있는 버튼은 창에서 다음 작업을 수행합니다.

추가: 새 세그먼트나 이벤트를 추가할 수 있는 세그먼트 또는 이벤트 창을 표시합니다.

수정: 기존 세그먼트나 이벤트를 업데이트하기 위한 세그먼트 또는 이벤트 창을 표시합니다.

삭제: 선택한 세그먼트 또는 이벤트를 삭제합니다 (확인 요청).

이동: 선택한 세그먼트 또는 이벤트를 이동할 수 있는 이동 창을 표시합니다. 시간 안에

전체 Queue: 현재 재생목록 재생할 모든 세그먼트(선택)

모두 대기열에서 제외: 대기열에서 제외 모든 세그먼트 (선택 해제)

재생: 대기 중인 모든 세그먼트의 재생을 시작합니다. 해당하는 경우 이 버튼이 중지로 변경됩니다. 세그먼트 재생 중

오디션: 오디션 창을 표시합니다 (아래 참조).

5.1 세그먼트 창

세그먼트 창은 주어진 세그먼트 속성이 할당되고 오디션되는 것을 볼 수 있는데 참조하세요. 창의 왼쪽에는 현재 선택된 세그먼트 속성이 표시됩니다. JET 파일에 저장됩니다. 창 오른쪽에서는 작성자가 음소거 플래그, 반복 및 조옮김, 세그먼트 오디션 등을 JET 게임에서 할 수 있습니다.

참고: 오디션 속성 (음소거 플래그, 반복, 조옮김)은 JET 콘텐츠 파일에 저장되지 않습니다. (.jet)이 아니라 게임 또는 애플리케이션 자체에 의해 정의됩니다. 프로그래밍 이러한 설정은 JET에 대한 API 호출과 직접 대응합니다. 사용할 수 있습니다 여기에 이를 포함하여 JET 콘텐츠 작성자는 세그먼트는 게임 플레이 중에 애플리케이션 API 명령에 응답합니다.

세그먼트 매개변수는 다음을 실행합니다.

  • 세그먼트 이름 - 세트 세그먼트의 이름
  • MIDI 파일 - 디코더를 생성한 MIDI 파일의 이름과 위치 세그먼트가 파생됩니다. 바로 오른쪽에 있는 버튼을 누르면 하드 드라이브의 MIDI 파일을 찾는 데 사용할 수 있습니다.
  • DLS 파일 - MIDI가 흐르는 DLS2 파일의 이름 및 위치(있는 경우) 사용할 수 있습니다.
  • M/B/T 시작 - 세그먼트의 마디, 비트, 틱 시작
  • M/B/T 종료 - 세그먼트의 종료 마디, 비트, 틱
  • 양자화 - 재생 중 현재 세그먼트를 양자화하기 위한 양자화 값

오디션 필드는 다음과 같습니다.

  • 트랙 음소거 - MIDI 트랙 (채널 아님) 표시 있습니다. 트랙의 체크박스를 선택하면 해당 트랙이 음소거됩니다.
  • 채널 - 각 채널에 할당된 MIDI 채널을 표시합니다. 트랙
  • 이름 - 각 트랙에 대한 트랙 이름 메타 이벤트 (있는 경우)를 표시합니다.
  • 반복 - 재생 중에 세그먼트를 반복해야 하는 횟수를 나타냅니다.
  • 바꾸기 - 세그먼트가 취해야 할 반음 또는 반음의 조옮김을 나타냅니다. 재생 중 전환
  • 오디션 창의 오른쪽에는 추가 버튼이 몇 개 있습니다. 이 버튼으로는 다음 작업을 실행합니다.
  • 알겠습니다 - 확인을 선택하면 모든 세그먼트 설정이 확인되고 세그먼트 창이 닫힙니다.
  • 취소 - 취소를 선택하면 모든 변경사항이 취소되고 세그먼트 창이 닫힙니다.
  • 복제 - 한 번에 여러 세그먼트를 입력하기 위한 세그먼트 복제 창을 표시합니다. 아래를 참고하세요.
  • 재생/중지 세그먼트 - 시작 또는 할당된 세그먼트 속성을 사용하여 세그먼트 재생을 중지합니다.
  • MIDI 파일 재생/중지 - MIDI 파일 재생을 시작하거나 중지합니다. 확인할 수 있습니다.
  • 일시중지/다시 시작 - 재생을 일시중지하거나 다시 시작합니다.

5.2 이벤트 창

이벤트 창은 지정된 세그먼트의 이벤트 속성이 할당되고 오디션됩니다. 받는사람 이벤트를 추가할 경우 작성자는 먼저 이벤트를 표시할 세그먼트를 선택해야 합니다. 추가한 다음 추가 버튼을 선택합니다. 그러면 이벤트가 표시됩니다. 창

이벤트의 주요 섹션은 두 개입니다. 창 이벤트 창 왼쪽의 세그먼트 섹션은 표시용입니다. 전용입니다. 주어진 세그먼트의 세그먼트 속성이 무엇인지 표시합니다. 이벤트 섹션에서 이벤트를 할당할 수 있습니다. 다음 사용할 수 있습니다.

이벤트 이름 - 이벤트에 이름 할당

이벤트 유형 - 할당할 이벤트 유형을 선택합니다.

M/B/T 시작 - 이벤트의 시작 마디, 비트, 틱을 설정합니다.

M/B/T 종료 - 이벤트의 종료 마디, 비트, 틱을 설정합니다(해당하는 경우).

트랙 - 지정된 세그먼트에서 이벤트가 적용될 트랙을 설정합니다.

채널 - 이벤트를 적용할 MIDI 채널을 설정합니다. 있습니다. MIDI 채널은 MIDI 채널과 일치해야 합니다. 트랙의 채널

이벤트 ID - 이벤트의 이벤트 ID를 설정합니다. 여러 이벤트를 동일한 세그먼트이므로 이벤트 ID를 사용하여

오디션 창의 오른쪽에는 추가 버튼이 몇 개 있습니다. 이 버튼으로는 다음 작업을 실행합니다.

알겠습니다 - 확인을 선택하면 모든 이벤트 설정이 확인되고 이벤트 창이 닫힙니다.

취소 - 취소를 선택하면 모든 변경사항이 취소되고 이벤트 창이 닫힙니다.

복제 - 한 번에 여러 이벤트를 입력할 수 있는 이벤트 복제 창을 표시합니다. 자세한 내용은 참조하세요.

재생/중지 - 할당된 세그먼트 속성을 사용하여 세그먼트 재생을 시작하거나 중지합니다. 세그먼트가 재생되는 동안 이벤트가 트리거 및 오디션될 수 있습니다.

트리거 - 할당된 이벤트를 트리거합니다. 이렇게 하면 JET 게임이 가 이벤트를 트리거하는 데 사용되므로 콘텐츠 작성자에게 오디션할 수 있습니다.

음소거/음소거 해제 - 음소거/음소거 해제는 이벤트가 할당된 트랙을 음소거하거나 음소거 해제합니다.

일시중지/다시 시작 - 재생을 일시중지하거나 다시 시작합니다.

이벤트의 동작을 오디션하려면 Play 버튼을 선택할 수 있습니다. 그러면 재생이 시작됩니다. 트리거 버튼 누르면 트리거 이벤트가 전송됩니다. 이는 표시됩니다.

참고: 트리거 이벤트는 음소거하고 마지막에 음소거하면 확인할 수 있습니다 따라서 음소거 플래그가 트리거 이벤트를 수신할 때 트리거 이벤트가 음소거 해제할 트랙을 음소거합니다.

섹션 6 고급설정을 읽어보세요. 트리거 이벤트의 작동 방식에 대한 자세한 내용은 아래를 참조하세요.

5.3 복제 창

JET 파일을 만들 때 종종 수십, 수백 개의 이벤트를 만들 수 있습니다. 이벤트를 이동해야 할 수도 있습니다. 이 복제 및 이동 창에서 이를 허용합니다. 복제 창이 2개 있습니다. 여러 세그먼트 또는 이벤트 만들기 다음과 같이 표시됩니다.

세그먼트 복제 창

이벤트 복제 창

두 복제 창의 기능은 모두 동일합니다. 첫 세그먼트 또는 이벤트를 만든 후 복제 메뉴에서 버튼을 클릭합니다. 매개변수는 다음과 같습니다.

이름 프리픽스 - 생성된 각 세그먼트 또는 이벤트의 이름에 대한 접두사를 설정합니다.

M/B/T 시작 - 첫 번째 세그먼트 또는 이벤트의 시작 시간을 설정합니다.

M/B/T 증가 - 세그먼트 또는 이벤트를 만드는 시점 사이의 시간을 설정합니다.

번호 - 만들려는 세그먼트 또는 이벤트 수를 설정합니다. 만약 MIDI 파일( 세그먼트) 또는 세그먼트 (이벤트의 경우)를 타겟팅하지 않는 경우 해당 객체는 생성되지 않습니다.

미리보기 - 미리보기를 사용하면 '확인'을 누르기 전에 생성된 객체를 검사하여 삽입할 수 있습니다. 있습니다.

5.4 이동 창

이동 함수는 여러 세그먼트나 이벤트를 수정할 수 있다는 점에서 한 번 반복하도록 되어 있습니다. 이 경우에는 시간 안쪽으로 이동하세요. 복제와 마찬가지로 하나는 세그먼트용, 다른 하나는 이벤트용 창입니다. 창문은 있습니다.

이벤트 이동 창

이동 기능을 사용하려면 먼저 세그먼트를 선택하거나 이동한 다음 이동 버튼을 클릭합니다. 매개변수는 방법은 다음과 같습니다.

M/B/T 시작 - 첫 번째 세그먼트 또는 이벤트의 시작 시간을 설정합니다.

M/B/T 증가 - 객체를 이동할 M/B/T 시간을 설정합니다.

미리보기 - 미리보기를 사용하면 이동을 확인하기 전에 생성된 객체를 검사할 수 있습니다. 있습니다.

5.5 오디션 창

메인 스크린에서 오디션 버튼을 클릭하면 JET Creator 애플리케이션의 창에 오디션 창이 열립니다. 이것은 여기에서 콘텐츠 제작자나 애플리케이션 프로그래머가 양방향 대화체를 시뮬레이션할 수 있습니다. 모바일 애플리케이션이나 게임 자체에서 발생할 수 있는 상황에서 자동으로 재생됩니다.

JET 오디션 창

Google Cloud 콘솔의 4가지 기본 섹션이 있는데 오디션 기간입니다. 가장 왼쪽에 있는 섹션에는 사용 가능한 세그먼트와 초 단위로 표시합니다 가운데 섹션에는 세그먼트는 재생 대기열에 추가되며 그 재생 상태가 무엇인지를 알 수 있습니다. 멀리 오른쪽 섹션에는 현재 재생 중인 세그먼트의 음소거 플래그가 표시됩니다. 이 타임라인 섹션이 기본 창과 동일합니다. 다음을 표시합니다. 현재 재생 중인 세그먼트뿐 아니라 이벤트 트리거가 시각적으로 표시됨 표시됩니다.

오디션 창에서는 어떤 세그먼트든 재생할 수 있습니다. 이 작업을 수행하려면 큐를 누릅니다. 해당 세그먼트가 대기열 창에 표시되고 (첫 번째 세그먼트인 경우) 이후에 다른 세그먼트나 세그먼트가 포함되어 재생되도록 대기열에 추가할 수 있습니다. 세그먼트는 재생이 완료되면 대기열의 다음 세그먼트가 재생됩니다. 이 JET Creator의 다른 창에서 음소거, 음소거 해제, 이벤트 클립 트리거 등을 할 수 있습니다. 각 세그먼트가 재생될 때 실시간으로 표시됩니다.

구체적으로 버튼은 다음과 같이 동작합니다.

대기열 - 선택한 세그먼트를 대기열에 로드하고 재생을 시작함

취소 및 현재 재생목록 - 선택한 세그먼트를 대기열에 추가하기 전에 현재 재생 중인 세그먼트를 취소합니다. 재생

현재 일정 취소 - 대기열에서 현재 재생 중인 세그먼트를 취소하고 다음 세그먼트

중지 - 대기 중인 모든 세그먼트의 재생을 중지합니다.

모두 음소거 - 현재 세그먼트의 모든 트랙을 음소거합니다.

음소거 안함 - 현재 세그먼트의 모든 트랙 음소거를 해제합니다.

원래 음소거 - 현재 세그먼트에 원래 음소거 플래그를 설정합니다.

이러한 재생 옵션의 조합은 작성자나 응용 프로그램 프로그래머가 실수나 엉뚱한 답변을 발생할 수 있습니다.

5.6 JET Creator 메뉴

JET Creator 메뉴를 사용하면 기본 창에 있는 많은 매개변수와 몇 가지 추가 매개변수가 있습니다.

5.6.1 파일 메뉴

파일 메뉴에는 다음이 포함되어 있습니다. 요소:

신규 - 새 JET Creator 파일 (.jtc)을 만듭니다.

열기 - 기존 JET Creator 파일을 엽니다.

저장 - 현재 열려 있는 JET Creator 파일을 저장합니다.

다른 이름으로 저장 - 현재 열려 있는 JET Creator 파일을 새 파일에 저장합니다.

프로젝트 가져오기 - JET Creator 보관 파일(.zip)을 가져옵니다.

프로젝트 내보내기 - JET 크리에이터 보관 파일(.zip)을 내보냅니다.

종료 - 애플리케이션 종료

5.6.2 수정 메뉴

편집 메뉴에는 다음 항목이 포함되어 있습니다. 요소:

실행취소 - 실행취소는 마지막 수정사항이 실행취소됩니다.

재실행 - 다시실행은 마지막 실행취소가 다시 실행됩니다.

잘라내기 - 선택한 매개변수를 클립보드에 복사하고 선택 항목 삭제

복사 - 선택한 매개변수를 클립보드에 복사하고 선택 항목을 유지합니다.

붙여넣기 - 선택한 매개변수 붙여넣기

5.6.3 JET

편집 메뉴에는 다음 항목이 포함되어 있습니다. 요소:

속성 - JET Creator 우선순위 창을 표시합니다. 이 창에서는 주어진 JET 파일에 다음 조건이 충족되어야 합니다.

저작권 정보 - JET 파일에 삽입될 저작권 정보가 포함되어 있습니다.

추적 컨트롤러 - 컨트롤러를 추적하는 옵션입니다(켜기/끄기). 일반적으로 을 선택합니다.

빈 트랙 삭제 - 빈 MIDI 트랙을 모두 삭제합니다.

5.6.4 세그먼트

세그먼트 메뉴에는 다음이 포함됩니다. 요소:

세그먼트 추가 - 세그먼트 창을 표시합니다.

세그먼트 업데이트 - 세그먼트 속성을 업데이트합니다.

세그먼트 삭제 - 현재의 세그먼트를 세그먼트 목록

5.6.5 도움말

도움말 메뉴에는 적어도 다음 요소를 사용합니다.

JET Creator 도움말 - PDF 도움말 문서를 실행하거나 온라인 도움말로 이동합니다.

정보 - JET Creator 버전 번호, SONiVOX 정보

6 트리거 이벤트 설명

MIDI 중단 파일을 개별 (비선형) 세그먼트로 분류하고 해당 세그먼트를 대기열에 추가합니다. 게임 내 이벤트에 따라 게임에서 재생하는 것은 JET 음악 파일이 있습니다. 트리거 이벤트는 양방향 재생의 추가 메서드입니다. 양방향 게임이나 애플리케이션에서 두 방법이 모두 함께 사용될 수 있습니다.

트리거 이벤트는 다음을 허용합니다.

  1. MIDI 세그먼트 트랙은 게임에 따라 켜거나 끌 수 있습니다. 이벤트를 수신합니다. 예를 들어 작곡가는 두 개의 드럼 트랙을 하나의 빠른 속도로 작곡할 수 있습니다. 하나는 느립니다 게임에서 액션이 빠르면 빠른 드럼 트랙은 있습니다. 게임에서 액션이 느리면 느린 드럼 트랙이 재생될 수 있습니다.
  2. 사용자 액션을 트리거 이벤트와 비교할 수 있는데, 음악 파일에 미리 삽입되어 있습니다. 기준: 결과, 점수 또는 기타 게임 액션이 발생할 수 있습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다.
  3. 레벨이나 액션 시퀀스 간 음악 전환은 음악적으로 매끄럽게 동기화되는 것입니다.

내부적으로 JET는 표준 MIDI CC를 사용합니다. 이벤트를 사용하여 이러한 작업을 수행하고 오디오를 동기화합니다. 컨트롤러는 JET에서 사용되는 것은 사양에서 특정 용도로 정의되지 않은 것들 중 하나입니다. 특정 컨트롤러 정의 다음과 같습니다.

컨트롤러 80-83 다음에서 사용하도록 예약됨: 애플리케이션

컨트롤러 102 JET 이벤트 마커

컨트롤러 103 JET 클립 마커

컨트롤러 104-119 나중에 사용하기 위해 예약됨

6.1 JET 클립 마커(CC103)

컨트롤러 103은 MIDI 트랙에 있는 클립의 클립이며 JET_TriggerClip API 호출에 적용됩니다. 클립 ID는 컨트롤러 값 비트 6을 1로 설정하여 클립의 시작을 나타내고 0으로 설정합니다.

예를 들어 클립이 있는 클립을 식별하려는 경우 ID 1, 작성자가 MIDI 컨트롤러 삽입 이벤트, 즉 컨트롤러=103, 값=65인 이벤트, 이벤트를 전송합니다. 이 JET_TriggerClip() 함수가 클립 ID 1로 호출되면 트랙이 음소거가 해제되고 컨트롤러 값 65가 발생하면 다시 음소거됩니다. 컨트롤러 값 1이 발견되었습니다.

그림 5: 동기화된 클립

위의 그림에서 JET_TriggerClip() 함수가 첫 번째 컨트롤러 이벤트인 Track에 앞서 호출됩니다. 첫 번째 컨트롤러 이벤트가 발생하면 3이 음소거 해제되고 첫 번째 클립은 두 번째 컨트롤러 이벤트가 발생하면 트랙이 음소거됩니다. 만약 JET_TriggerClip() 함수가 첫 번째 컨트롤러 이벤트에 의해 발생하는 경우, 세 번째 컨트롤러 이벤트가 발생할 때 트랙 3이 음소거 해제됩니다. 두 번째 클립이 재생되고 네 번째 클립이 재생되면 트랙이 다시 음소거됩니다. 컨트롤러 이벤트가 발생합니다.

참고: 일반적으로 클립이 포함된 트랙은 애플리케이션에서 음소거됩니다. JET_QueueSegment() 호출로 세그먼트가 처음 대기열에 추가될 때. 만약 음소거되지 않으면 Jet_TriggerClip()이 호출될 때까지 클립이 항상 재생됩니다. 클립 ID와 함께 표시됩니다.

6.2 JET 이벤트 마커(CC102)

컨트롤러 102는 특정 MIDI 스트림의 이벤트가 JET 기능에 적용됩니다 현재 유일하게 정의된 값은 0이며, 이 값은 세그먼트 끝부분에 넣는 것이 좋습니다.

일반적으로 JET는 이 세그먼트의 end-of-track 메타 이벤트가 발생합니다. 일부 MIDI 작성 도구로 인해 트랙 끝 마커를 정확하게 배치하는 것이 어렵기 때문에 세그먼트가 결합될 때 동기화 문제가 발생합니다.

이 문제를 방지하기 위해 작성자는 JET 세그먼트 끝 마커 (컨트롤러=102, 값=0)가 반복되어야 합니다. 구간 끝 마커가 나오면 다음 세그먼트가 트리거됩니다. 현재 세그먼트가 연속 재생된 경우 세그먼트의 시작 부분에서 재개됩니다.

세그먼트 끝 마커도 사용할 수 있음 악보를 완성하는 데 사용할 수 있는 다음 세그먼트의 시작을 표시합니다. 예를 들어 콘텐츠 작성자는 5번째의 비트 1로 끝나는 드럼 채우기로 4절 세그먼트를 만듭니다. 구간의 자연스러운 끝을 넘어선 막대입니다. 세그먼트 끝을 배치하여 마커를 사용하면 다음 세그먼트는 4번째 막대 끝에 트리거되지만 드럼 채우기는 다음 세그먼트와 동시에 계속됩니다. 음악적 연속성을 제공합니다.

그림 6: 세그먼트 끝 마커

6.3 애플리케이션 컨트롤러(CC80-83)

애플리케이션은 이 컨트롤러에서 자체적인 목적에 맞게 활용할 수 있습니다 이 범위의 컨트롤러가 만났을 때, 이벤트가 애플리케이션에 의해 쿼리될 수 있는 이벤트 대기열에 입력됩니다. 동영상 이벤트를 오디오와 동기화하거나 다음 입력 시퀀스를 큐에 넣기 위해 세그먼트입니다. 애플리케이션에서 모니터링하는 컨트롤러의 범위는 수정될 수 있습니다. 애플리케이션에 의해 초기화될 수 있습니다.

7 JET Creator 가이드라인

7.1 작업 순서

모든 프로젝트와 마찬가지로 작곡을 시작하기 전에 양방향 음악 구성표를 게임 디자이너 및 프로그래머와 논의하고 디자인하는 것이 가장 좋습니다. 개요 및 상술을 사용하면 게임이 준비된 후 여러 작업을 다시 실행하지 않아도 되므로 큰 도움이 됩니다.

일반적으로 먼저 익숙한 작곡 방식인 DAW로 음악을 작곡한 다음 애플리케이션에 필요한 대로 최종 MIDI 파일을 나누는 것이 좋습니다. 그런 다음 JET Creator로 이동하여 모든 음악 세그먼트를 차례로 재생할 때 미리보기 가장 쉬운 순서로 만듭니다. 마지막으로 JET 이벤트를 추가하여 Android 게임을 통해 세그먼트를 제어하고 JET Creator에서 필요에 따라 오디션합니다. 또한 JET Creator에 프로젝트를 저장하고 .jet 파일을 프로그래머에게 전달하여 게임에 통합합니다. 미리보기를 하고 나면 MIDI 파일 및 JET Creator 속성에 변경사항이 있을 수 있습니다.

7.2 메모리 절약

메모리를 절약하려면 MIDI 파일을 최대한 적게 작성하고 MIDI 파일에서 여러 세그먼트를 만듭니다. 예를 들어 A, B, C라는 네 마디로 된 섹션이 3개 있는 열두 마디 MIDI 파일로 훨씬 긴 노래를 만들 수 있습니다. 하나의 MIDI 파일을 참조하는 여러 세그먼트를 만든 다음 원하는 대로만 배열하면 됩니다. 예를 들어 A, A, B, A, C, A, B, A, A로 서른여섯 마디 노래를 만들 수 있습니다. JET를 사용하여 반복을 추가하고 세그먼트를 조옮김하며 트랙을 양방향으로 음소거 및 음소거 해제하여 노래에 재미를 더하세요.

7.3 복제

세그먼트 또는 이벤트를 더 빨리 추가하려면 복제 명령어를 사용합니다. 복제는 한 번에 여러 세그먼트나 이벤트를 추가할 수 있고 오프셋 매개변수와 접두사 이름 지정 규칙을 사용하여 쉽게 읽을 수 있습니다. MOVE 명령어도 설정된 수의 마디, 비트 또는 틱 만큼 여러 이벤트를 이동하는 데 유용합니다.

7.4 양방향 옵션

JET에서 가능한 양방향 오디오 개념이 몇 가지 있습니다. 다음은 그 예입니다. 이외에도 다른 개념을 생각할 수도 있습니다. 자세한 내용은 다음과 같습니다.

7.4.1 여러 세그먼트 트리거

이 메서드에서 애플리케이션은 게임의 이벤트에 기반해 특정 세그먼트를 트리거합니다. 예를 들어 전투가 많은 복도는 세그먼트 1을, 전투가 없는 복도는 세그먼트 2를 트리거할 수 있습니다. 이 메서드와 함께 JET TriggerClips를 사용하면 훨신 더 다양해집니다.

7.4.2 음소거 배열

이 메서드에서 애플리케이션은 단일 MIDI 시퀀스에서 특정 트랙에 음소거 및 음소거 해제 이벤트를 트리거합니다. 예를 들어 전투가 많은 복도는 MIDI 트랙 1-16을 재생할 수 있고 전투가 없는 복도는 동일한 MIDI 파일을 재생하지만 트랙 9-16을 음소거할 수 있습니다. 이 메서드와 함께 JET TriggerClips를 사용하면 훨신 더 다양해집니다.

7.4.3 음악 주도 게임플레이

음악 주도 게임은 음악 콘텐츠로 그래픽 이벤트를 어떻게 표시할지를 판단한다는 점에서 Guitar Hero 및 JETBOY와 유사합니다. 그런 다음 애플리케이션은 그래픽 이벤트에 대한 사용자 응답을 쿼리하고 이에 대응하여 음악을 양방향으로 수정합니다. 이 메서드에서 게임은 MIDI 파일에 삽입되고 게임에서 실시간으로 읽는 MIDI 컨트롤러인 JET 애플리케이션 이벤트를 사용합니다. 사용자 응답에 기반하여 여러 세그먼트 트리거 및 음소거 배열을 설정할 수 있습니다.