Ứng dụng ghi nhận quyền tác giả nội dung cho công cụ âm nhạc tương tác JET
1 Giới thiệu
1.1 Tổng quan
Tài liệu này chứa các nguyên tắc người dùng cho SONiVOX JET Creator, một ứng dụng ghi nhận tác giả để tạo và thử nghiệm tệp JET. JET là trình phát nhạc tương tác dành cho các tổ chức nhỏ, bao gồm cả những thiết bị chạy nền tảng Android. Chế độ này cho phép các ứng dụng có các bản nhạc tương tác trong MIDI phản hồi theo thời gian thực với các sự kiện chơi trò chơi và tương tác của người dùng.
JET làm việc cùng với SONiVOX
Trình tổng hợp âm thanh được nhúng (EAS) là MIDI
thiết bị phát cho Android. Cả hai thuộc tính
Công cụ JET và EAS được tích hợp vào nền tảng nhúng của Android thông qua
JetPlayer
lớp khác
vốn có trong ứng dụng JET Creator. Do đó, tác giả nội dung JET có thể
đảm bảo rằng nội dung phát sẽ có âm thanh giống nhau trong cả thiết bị JET Creator
và ứng dụng Android cuối cùng được phát trên các thiết bị di động Android.
Ngoài người dùng đồ hoạ có hai chức năng chính diễn ra trong JET Creator. Chiến lược phát hành đĩa đơn trước tiên bao gồm việc thu thập tất cả dữ liệu nguồn (MIDI và tệp DLS), thêm các thuộc tính theo thời gian thực của JET và tạo JET (.jet) mà ứng dụng Android sẽ sử dụng. Chức năng thứ hai bao gồm việc thử nghiệm các yếu tố phát lại tương tác khi chúng diễn ra trong ứng dụng Android.
Ứng dụng JET Creator được viết bằng ngôn ngữ lập trình Python, do đó bạn cần có phiên bản hiện tại đã cài đặt Python và WXWidgets. Có cả phiên bản Mac và Windows.
1.2 Từ viết tắt và thuật ngữ phổ biến
Bạn cần sử dụng một nhóm để giảm thiểu nhầm lẫn. Vì JET sử dụng MIDI nhưng các điều khoản chuyên ngành thông thường không phải lúc nào cũng đáp ứng. Sau đây là định nghĩa của các thuật ngữ được sử dụng trên trang này và trong JET Creator ứng dụng:
Kênh: Dữ liệu MIDI liên kết với một MIDI cụ thể của bạn. MIDI tiêu chuẩn cho phép 16 kênh MIDI mà mỗi dữ liệu thường được liên kết với một công cụ cụ thể.
Bộ điều khiển: Một sự kiện MIDI bao gồm số kênh, số đơn vị kiểm soát và giá trị của đơn vị kiểm soát. MIDI thông số kỹ thuật liên kết nhiều số tay điều khiển với các chức năng cụ thể, chẳng hạn như âm lượng, biểu thức, bàn đạp duy trì, v.v. JET cũng sử dụng các sự kiện bộ điều khiển như một phương tiện để nhúng thông tin điều khiển đặc biệt vào một Trình tự MIDI để đồng bộ hoá âm thanh.
DAW: Máy trạm âm thanh kỹ thuật số. Một thuật ngữ thông dụng cho MIDI và các ứng dụng tuần tự âm thanh như Logic, SONAR, Cubase và các ứng dụng khác.
EAS: Bộ tổng hợp MIDI được nhúng. Chiến lược phát hành đĩa đơn tên của công cụ tổng hợp MIDI SONiVOX.
JET: Jet Interactive Engine. Tên của chương trình tương tác SONiVOX JET công cụ phát nhạc.
M/B/T: Nhịp điệu, nhịp điệu và dấu kiểm
Phân đoạn: Một đoạn âm nhạc, chẳng hạn như đoạn điệp khúc hoặc câu thơ là một thành phần của cấu trúc tổng thể. Trong JET, một phân đoạn có thể là toàn bộ tệp MIDI hoặc một bắt nguồn từ một phần của tệp MIDI.
SMF-0: Loại tệp MIDI chuẩn 0, một tệp MIDI chứa một bản nhạc nhưng có thể được tạo thành từ nhiều kênh MIDI .
SMF-1: Loại tệp MIDI chuẩn 1, một tệp MIDI có chứa một tệp MIDI khác và mỗi bản nhạc có thể được tạo thành từ một hoặc nhiều kênh MIDI . Theo quy ước, mỗi kênh được lưu trữ trên một bản nhạc riêng biệt trong tệp SMF-1. Tuy nhiên, bạn có thể có nhiều MIDI kênh trên một bản nhạc hoặc nhiều bản nhạc chứa dữ liệu cho cùng một MIDI của bạn.
Bản nhạc: Một bản nhạc trong DAW chứa trình tự sự kiện được tính thời gian. Hãy cẩn thận để không nhầm lẫn các Bản nhạc với Kênh. Một tệp MIDI có thể chứa nhiều bản nhạc với một số bản nhạc sử dụng cùng một kênh MIDI.
2 The JET Interactive Music Concept (Khái niệm âm nhạc tương tác JET)
Nhạc tương tác có thể được định nghĩa là nhạc thay đổi theo thời gian thực theo các sự kiện không thể dự đoán như tương tác hoặc sự kiện chơi trò chơi. Bằng cách này, âm nhạc tương tác sẽ hấp dẫn vì trò chơi này có thể phù hợp với năng lượng và tâm trạng của trò chơi gần hơn với một cấu trúc soạn sẵn không bao giờ thay đổi. Trong một số ứng dụng và trò chơi, âm nhạc tương tác là trọng tâm của việc chơi trò chơi. Anh hùng ghi-ta là một một trò chơi nổi tiếng. Khi người dùng cuối ghi lại thành công các nốt nhạc khi phím đàn hạ xuống, âm nhạc tự điều chỉnh và đồng thời giữ lại điểm số thành công và thất bại. JET hỗ trợ những thể loại nhạc này trò chơi điện tử.
Có một vài phương pháp để tạo và điều khiển nhạc tương tác và JET là một trong những phương pháp như vậy. Phần này mô tả các tính năng của JET và cách sử dụng chúng trong trò chơi hoặc phần mềm . Tài liệu này cũng mô tả cách sử dụng JET để tiết kiệm bộ nhớ trong các chẳng hạn như điện thoại di động hỗ trợ Android.
2.1.1 Nén dữ liệu
JET hỗ trợ một định dạng nhạc linh hoạt có thể được sử dụng để tạo chuỗi nhạc mở rộng với lượng dữ liệu tối thiểu. Một bản sáng tác nhạc được chia thành các phân đoạn có thể sắp xếp theo trình tự để hãy tạo ra một tác phẩm dài hơn. Bạn có thể cố định trình tự tại thời điểm tệp nhạc được ghi nhận hoặc có thể được tạo một cách linh động dưới sự kiểm soát của chương trình.
2.1.2 Ví dụ về âm nhạc tuyến tính
Hình 1: Bản nhạc truyền thống
Sơ đồ này thể hiện hiệu quả của các đoạn âm nhạc lưu trữ. Mỗi phân đoạn được ghi nhận là một MIDI riêng . Công cụ hậu xử lý kết hợp các tệp này thành một tệp vùng chứa duy nhất. Mỗi đoạn có thể chứa các bản nhạc thay thế có thể bị tắt tiếng hoặc bật tiếng để thu hút thêm sự quan tâm. Một ví dụ là giọng đồng thau trong phần điệp khúc mà chỉ được phát lần gần đây nhất. Ngoài ra, các phân đoạn có thể được hoán vị hoặc giảm xuống.
Phần dưới cùng của biểu đồ thể hiện cách các phân đoạn âm nhạc có thể được kết hợp lại để tạo thành một đoạn nhạc tuyến tính. Trong phần này ví dụ: cây cầu có thể kết thúc bằng điều chế phím nửa bước và phần còn lại có thể được hoán vị nửa bước cho khớp.
2.1.3 Ví dụ về âm nhạc phi tuyến tính
Hình 2: Bản nhạc phi tuyến tính
Trong sơ đồ này, chúng ta thấy nhạc phi tuyến tính của bạn. Tình huống này là trò chơi bắn súng góc nhìn thứ nhất (FPS) và JET cung cấp nhạc nền. Đoạn giới thiệu phát khi một cấp độ đang tải rồi chuyển đổi dưới sự kiểm soát của chương trình sang phân đoạn Tìm kiếm. Đoạn này lặp lại vô thời hạn, có thể thay đổi một chút (sử dụng tính năng tắt tiếng/bật tiếng) cho đến khi hoạt động trong trò chơi sẽ đưa ra một thay đổi.
Khi người chơi đến gần ổ quái vật, chương trình sẽ bắt đầu chuyển đổi đồng bộ sang phân đoạn Nguy hiểm, tăng độ căng trong âm thanh. Khi người chơi đến gần hang động, các bản nhạc được bật tiếng để tăng độ căng thẳng.
Khi người chơi tham gia chiến đấu với chương trình sẽ bắt đầu quá trình chuyển đổi đồng bộ sang phân đoạn Chiến đấu. Đoạn này lặp lại vô thời hạn trong khi cuộc chiến tiếp diễn. Thưởng thêm tạm thời bật tiếng bản nhạc trang trí để thông báo cho người chơi về thành công, và tương tự, một bản nhạc khác tạm thời được bật tiếng thành biểu thị khi người chơi nhận được Sát thương đặc biệt.
Khi trận chiến kết thúc, nhạc chuyển tiếp phân đoạn chiến thắng hoặc thất bại dựa trên kết quả của trận chiến.
2.1.4 Đồng bộ hoá tắt tiếng/Bật tiếng
JET cũng có thể đồng bộ hoá việc tắt tiếng và bật tiếng bản nhạc cho các sự kiện có nhạc. Ví dụ: trong trò chơi FPS, nên tổ chức các sự kiện âm nhạc liên quan đến tiền thưởng và mức thiệt hại sát với sự kiện thực tế nhất có thể trong trò chơi. Tuy nhiên, chỉ cần bật tiếng một bản nhạc tại thời điểm diễn ra sự kiện trò chơi có thể dẫn đến một đoạn nhạc bắt đầu ở giữa. Ngoài ra, một đoạn video có thể được bắt đầu từ nhưng sau đó không được đồng bộ hoá với các bản nhạc khác.
Tuy nhiên, với công cụ đồng bộ hoá JET, một đoạn có thể bắt đầu vào thời điểm thích hợp tiếp theo và duy trì đồng bộ hoá. Chiến dịch này có thể thực hiện bằng cách đặt một số đoạn nhạc ngắn trên trang trí bản nhạc. Một sự kiện MIDI trong luồng biểu thị thời điểm bắt đầu một đoạn video và sự kiện thứ hai biểu thị điểm kết thúc của một đoạn video. Khi ứng dụng gọi hàm cắt JET, đoạn video tiếp theo trong kênh được cho phép để phát được đồng bộ hoá hoàn toàn với nhạc. Bạn có thể tuỳ ý chọn kênh này tự động bị tắt tiếng bởi sự kiện MIDI thứ hai.
Hình 3: Tắt tiếng/Bật tiếng được đồng bộ hoá
2.2 Đồng bộ hoá âm thanh
JET cung cấp API đồng bộ hoá âm thanh cho phép đồng bộ hoá quá trình chơi trò chơi với các sự kiện trong âm thanh. Cơ chế dựa vào dữ liệu được nhúng trong tệp MIDI tại thời điểm tạo nội dung. Khi công cụ JET phát hiện một sự kiện trong khoảng thời gian việc phát lại sẽ tạo lệnh gọi lại vào chương trình ứng dụng. Thời gian của lệnh gọi lại có thể được điều chỉnh để bù cho mọi độ trễ trong âm thanh hệ thống phát lại để có thể đồng bộ hoá âm thanh và video. Sơ đồ dưới đây hiển thị ví dụ về một trò chơi âm nhạc đơn giản sử dụng thao tác nhấn nút mũi tên trái và mũi tên phải cùng lúc với nhạc.
Hình 4: Trò chơi âm nhạc
Các mũi tên thể hiện các sự kiện trong chuỗi nhạc nơi các sự kiện trò chơi cần được đồng bộ hoá. Trong trường hợp này, mũi tên màu xanh dương biểu thị thời gian người chơi phải nhấn nút bên trái và mũi tên màu đỏ dành cho nút bên phải. Mũi tên màu vàng cho công cụ phát triển trò chơi biết trình tự đã hoàn tất. Người chơi được phép chơi trong một khoảng thời gian nhất định trước và sau sự kiện để nhấn phím thích hợp.
Nếu một sự kiện nhận được và người chơi đã bạn chưa nhấn nút, thì bộ tính giờ được đặt ở chế độ chỉ bằng một nửa thời lượng cửa sổ. Nếu người chơi nhấn nút này trước khi bộ tính giờ hết hạn, trò chơi sẽ đăng ký một thành công và nếu không thành công, trò chơi sẽ ghi nhận là không thành công.
Nếu người chơi nhấn vào nút trước khi sự kiện được nhận, bộ tính giờ được đặt bằng một nửa thời lượng của cửa sổ. Nếu một sự kiện nhận được trước khi bộ tính giờ hết hạn, trò chơi ghi nhận thành công và nếu không, trò chơi đăng ký lỗi. Việc chơi trò chơi cũng có thể bao gồm cả phần thưởng khi đạt được sát với thời gian xảy ra sự kiện thực tế.
3 Tổng quan về hoạt động ghi nhận nội dung của JET
Để tạo tệp JET và nghe tệp phát lại về mặt tương tác, tác giả nội dung sẽ làm việc trong hai ứng dụng là được thiết kế để hoạt động trơn tru. Đầu tiên là ứng dụng là bất kỳ ứng dụng trình tự MIDI sẵn có hỗ trợ trình bổ trợ VST (dành cho máy tính) hoặc AU (dành cho máy Mac). Tại đây, tác giả sẽ soạn tệp nhạc MIDI của họ bằng cách sử dụng trình bổ trợ làm bộ tổng hợp. Ứng dụng thứ hai là ứng dụng JET Creator. Ở đây tác giả sẽ nhập các tệp nhạc MIDI của họ (và có sẵn cả bộ âm thanh DLS2) và thiết lập các điều kiện để tương tác phát trong trò chơi có bật JET. Nếu muốn, tác giả nội dung có thể tạo một bộ công cụ DLS tuỳ chỉnh sử dụng trình chỉnh sửa công cụ hỗ trợ Định dạng DLS cấp 2. Một trong những ứng dụng như vậy là Awave thuộc MJSoft.
Vui lòng xem tài liệu về Nguyên tắc ghi nhận quyền tác giả nội dung của JET để biết thêm thông tin chi tiết về hoạt động sáng tạo nội dung.
4 Cài đặt và khởi chạy JET Creator
JET Creator là một ngôn ngữ của trăn ứng dụng của bạn, do đó, bạn phải cài đặt Python và wxPython trên máy.
JetCreator được tạo và thử nghiệm với:
Python Phiên bản 2.5.4
wxPython Phiên bản 2.8.7.1
Bạn có thể tải các tệp này xuống tại đây:
Máy tính:
- 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
Sau khi cài đặt Python và wxPython, bạn chỉ cần giải nén hoặc sao chép tất cả các tệp trong thư mục ứng dụng JET Creator vào một thư mục trên ổ cứng của bạn.
Để chạy JET Creator, hãy chuyển đến lệnh và đặt thư mục nơi bạn đã cài đặt Python. Lần chạy python tiếp theo bằng lệnh:
python jetcreator.py
5 Sử dụng trình tạo JET
5.1 Loại tệp
Có một vài loại tệp liên kết với JET Creator.
.jtc JET Tệp dự án của người tạo. Tệp này chứa tất cả thông tin liên quan đến Dự án JET Creator. Khi bạn Lưu hoặc Lưu dưới dạng từ JET Creator, tệp này đã được lưu.
.jet JET Tệp. Tệp đầu ra này được tạo tự động từ JET Creator bất cứ khi nào bạn hãy lưu dự án JET Creator của bạn. Đây là tệp bao gồm tất cả các thành phần JET cùng nhau thành một tệp duy nhất mà ứng dụng Android sẽ sử dụng. Cấp quyền này cho nhà phát triển ứng dụng Android.
Tệp .mid. Đây là MIDI tiêu chuẩn loại 1 mà JET Creator sẽ sử dụng để tạo các phân đoạn.
Phân đoạn .seg Tệp. Đây là tệp Phân đoạn JET. API này có cùng tên với MIDI mà nó tham chiếu đến nhưng chứa thông tin bổ sung về Phân đoạn.
Mã zip .zip Lưu trữ tệp. Khi bạn xuất tệp JET Archive, một tệp zip sẽ được tạo chứa tất cả các tài sản (tệp) cần thiết cho JET Creator. Dùng địa chỉ này để chuyển JET Creator tạo dự án cho người khác.
5.2 Mở hộp thoại
Thời gian khởi chạy JET Creator lần đầu tiên, bạn sẽ thấy một hộp thoại mở như đang theo dõi.
<img <="" đường viền="0" chiều cao="285" p="" src="/static/images/jet/jc_open_dlg.png" chiều rộng="450" >
Thao tác Open sẽ mở một tệp .jtc (tệp JET Creator) hiện có. Sử dụng trình duyệt để duyệt đến thư mục bạn đã lưu tệp .jtc.
Mới sẽ tạo một tệp .jtc mới.
Thao tác Nhập sẽ nhập tệp JET Archive (.zip).
Thao tác Cancel (Huỷ) sẽ huỷ hộp thoại và thoát khỏi ứng dụng.
5 Cửa sổ chính
Cửa sổ chính của ứng dụng JET Creator ứng dụng sẽ có giao diện như hình dưới đây. Có ba phần chính từ từ trên xuống dưới: chế độ xem phân đoạn, chế độ xem sự kiện và dòng thời gian.
Phần chế độ xem phân đoạn hiển thị danh sách các phân đoạn hiện tại, tệp MIDI và (không bắt buộc) Tệp DLS2 mà mỗi phân đoạn được lấy từ đó. Công cụ này cũng cho biết các phân đoạn thời gian bắt đầu và kết thúc, cũng như các phân đoạn lượng tử hoá, hoán vị, lặp lại và cài đặt cờ tắt tiếng.
Ngay bên dưới chế độ xem Phân đoạn là sự kiện chế độ xem. Phần chế độ xem sự kiện trình bày tất cả sự kiện liên quan đến một sự kiện nhất định phân khúc. Các sự kiện chỉ hiển thị khi phân khúc sự kiện được chỉ định là được làm nổi bật. Mỗi sự kiện đều hiển thị loại, điểm bắt đầu và điểm kết thúc, đường đua và điểm cuối chỉ định kênh và mã sự kiện của kênh.
Ngay bên dưới chế độ xem Sự kiện là dòng thời gian màn hình. Tiến trình này cho biết số lượng đo lường của một phân đoạn nhất định cũng như các sự kiện liên kết với phân khúc đó. Tiến trình sẽ thay đổi để hiển thị phân đoạn hiện được chọn hoặc đang phát. Bạn có thể kích hoạt một sự kiện trong cửa sổ này trong khi đoạn đó được phát bằng cách nhấp vào sự kiện trên dòng thời gian màn hình.
Máy bay phản lực
Cửa sổ chính dành cho nhà sáng tạo
Các nút nằm dọc phía bên trái màn hình chính cửa sổ sẽ làm như sau:
Thêm: Hiển thị phân đoạn hoặc cửa sổ sự kiện để thêm phân đoạn hoặc sự kiện mới
Sửa lại: Hiển thị phân đoạn hoặc cửa sổ sự kiện để cập nhật phân đoạn hoặc sự kiện hiện có
Xoá: Xoá phân khúc hoặc sự kiện đã chọn (sẽ yêu cầu bạn xác nhận)
Di chuyển: Hiển thị cửa sổ di chuyển cho phép bạn di chuyển các phân đoạn hoặc sự kiện đã chọn kịp thời
Hàng đợi tất cả: Hàng đợi (chọn) tất cả các phân đoạn để phát
Dequeue All: Dequeues (Xếp hàng tất cả): Hàng đợi (bỏ chọn) tất cả phân khúc
Phát: Bắt đầu phát tất cả các phân đoạn trong hàng đợi. Nút này sẽ chuyển thành Dừng nếu có đoạn video đang phát
Buổi thử giọng: Hiện cửa sổ Nghe thử (xem bên dưới)
5.1 Cửa sổ phân đoạn
Cửa sổ phân đoạn là nơi một các thuộc tính của phân khúc được chỉ định và thử nghiệm, như được thể hiện trong hình bên dưới. Ở phía bên trái của cửa sổ hiển thị các thuộc tính đoạn đường được lưu trữ trong tệp JET. Ở phía bên phải của cửa sổ, tác giả có thể đặt cờ tắt tiếng, cài đặt lặp lại và hoán vị, đồng thời thử phân đoạn theo cách chơi trong trò chơi JET.
Lưu ý: các thuộc tính thử nghiệm (cờ tắt tiếng, lặp lại và hoán vị) không được lưu trữ trong tệp nội dung JET (.jet) nhưng được xác định bởi chính trò chơi hoặc ứng dụng. Trong lập trình ngôn ngữ, các chế độ cài đặt này tương ứng trực tiếp với lệnh gọi API đến JET công cụ tìm kiếm. Bằng cách đưa chúng vào đây, tác giả nội dung JET có thể mô phỏng cách phân đoạn sẽ phản hồi các lệnh API của ứng dụng trong khi chơi trò chơi.
Các tham số phân đoạn có những chức năng sau:
- Tên phân đoạn - Tập hợp tên của phân đoạn
- Tệp MIDI - Tên và vị trí của tệp MIDI mà từ đó phân đoạn được suy ra. Nút ở phía bên phải ngay lập tức sẽ hiển thị trình duyệt để định vị tệp midi trên ổ đĩa cứng.
- Tệp DLS – Tên và vị trí của tệp DLS2 (nếu có) mà MIDI sử dụng cho phân đoạn đó.
- Bắt đầu từ M/B/T – Số đo bắt đầu, nhịp và kim đánh dấu nhịp độ khung hình của đoạn
- Kết thúc M/B/T - Số đo kết thúc, nhịp và dấu kiểm của phân đoạn
- Định lượng – Định lượng giá trị để định lượng phân đoạn hiện tại trong khi phát
Sau đây là các trường thử nghiệm:
- Số lần tắt tiếng bản nhạc - Hiển thị bản nhạc MIDI (không phải kênh) trong tệp MIDI. Nhấp vào sẽ tắt tiếng bản nhạc đó.
- Kênh - Hiển thị kênh MIDI được gán cho mỗi bản nhạc
- Tên - Hiện sự kiện meta tên bản nhạc (nếu có) cho từng bản nhạc
- Lặp lại - Cho biết số lần một đoạn sẽ lặp lại trong khi phát
- Hoán vị – Cho biết hoán vị theo nửa tông hoặc nửa bước của một đoạn hoán vị trong khi phát
- Ở bên phải cửa sổ Nghe thử là một vài nút bổ sung. Các chế độ cài đặt này có những đặc điểm sau:
- Được rồi, Thao tác chọn OK sẽ xác nhận tất cả chế độ cài đặt đoạn đường và đóng cửa sổ phân đoạn
- Huỷ - Thao tác chọn Huỷ sẽ huỷ mọi thay đổi và đóng cửa sổ phân đoạn
- Sao chép – Hiển thị cửa sổ Phân đoạn nhân bản để nhập nhiều phân đoạn cùng một lúc. Hãy xem bên dưới.
- Phát/dừng phân đoạn – Bắt đầu hoặc Dừng phát lại đoạn bằng cách sử dụng các thuộc tính đoạn được chỉ định.
- Phát/Dừng tệp MIDI – Bắt đầu hoặc dừng phát tệp MIDI mà phân đoạn được gán.
- Tạm dừng/Tiếp tục – Tạm dừng hoặc Tiếp tục phát.
5.2 Khung thời gian diễn ra sự kiện
Cửa sổ sự kiện là nơi mà các thuộc tính sự kiện được chỉ định và thử nghiệm, như được thể hiện trong hình bên dưới. Người nhận thêm sự kiện vào một phân đoạn, thì trước tiên tác giả phải chọn phân đoạn sẽ chứa sự kiện, sau đó chọn nút Thêm. Thao tác này sẽ hiển thị Sự kiện cửa sổ.
Có hai phần chính của sự kiện này cửa sổ. Phần phân đoạn ở bên trái của cửa sổ sự kiện dùng để hiển thị . Nó cho biết các thuộc tính phân khúc là gì của phân khúc nhất định. Sự kiện ở bên phải, là nơi bạn có thể chỉ định sự kiện. Nội dung sau đây có sẵn các thông số sau:
Tên sự kiện – Chỉ định tên cho một sự kiện
Loại sự kiện - Chọn loại sự kiện để chỉ định.
Bắt đầu từ M/B/T – Đặt số lượng đo lường ban đầu, nhịp và kim đánh dấu nhịp độ khung hình cho sự kiện
Kết thúc M/B/T - Đặt số lượng đo lường kết thúc, nhịp và dấu kiểm cho sự kiện (nếu có)
Bản nhạc – Đặt bản nhạc trong phân đoạn nhất định mà sự kiện sẽ áp dụng
Kênh - Đặt kênh MIDI mà sự kiện sẽ áp dụng sang. Kênh MIDI phải khớp với MIDI kênh của bản nhạc
Mã sự kiện – Đặt mã nhận dạng cho sự kiện. Có thể chỉ định nhiều sự kiện cho cùng một sự kiện nên Mã sự kiện sẽ được dùng để xác định các phân khúc đó
Ở bên phải cửa sổ Nghe thử là một vài nút bổ sung. Các chế độ cài đặt này có những đặc điểm sau:
Được rồi, Thao tác chọn OK sẽ xác nhận tất cả chế độ cài đặt sự kiện và đóng cửa sổ sự kiện
Huỷ - Thao tác chọn Huỷ sẽ huỷ mọi thay đổi và đóng cửa sổ sự kiện
Sao chép – Hiện cửa sổ Sự kiện tái tạo để nhập nhiều sự kiện cùng một lúc. Xem bên dưới.
Phát/Dừng - Bắt đầu hoặc Dừng phát đoạn bằng cách sử dụng các thuộc tính của đoạn được chỉ định. Trong khi đoạn đó đang phát, người dùng có thể kích hoạt và thử giọng nói sự kiện.
Trình kích hoạt - Kích hoạt sự kiện đã chỉ định. Thao tác này sẽ sao chép lệnh API mà trò chơi JET sẽ sử dụng để kích hoạt sự kiện, do đó cung cấp cho tác giả nội dung một phương thức để kiểm tra hành vi của sự kiện.
Tắt tiếng/Bật tiếng – Tính năng Tắt tiếng/Bật tiếng sẽ tắt tiếng hoặc bật tiếng bản nhạc được chỉ định cho sự kiện
Tạm dừng/Tiếp tục – Tạm dừng hoặc Tiếp tục phát.
Để đánh giá hoạt động của một sự kiện, bạn có thể chọn nút Phát. Thao tác này sẽ kích hoạt quá trình phát. Nút kích hoạt sẽ gửi sự kiện kích hoạt khi được nhấn. Điều này tương đương với việc chọn sự kiện kích hoạt màu xanh lục trong dòng thời gian.
Lưu ý: Sự kiện kích hoạt chỉ dùng để bật tiếng bản nhạc đơn lẻ của một phân đoạn khi được kích hoạt, sau đó tắt tiếng bản nhạc đó ở cuối phân đoạn điều kiện kích hoạt. Do đó, bạn phải đảm bảo cờ tắt tiếng được đặt thành tắt tiếng kênh mà sự kiện kích hoạt sẽ bật tiếng khi nhận được sự kiện kích hoạt.
Vui lòng đọc Phần 6 Nâng cao bên dưới để biết thông tin chi tiết về cách hoạt động và hành vi của các sự kiện kích hoạt.
5.3 Nhân bản cửa sổ
Thông thường, khi tạo tệp JET, bạn cần phải tạo hàng chục hoặc thậm chí hàng trăm sự kiện. Bạn cũng có thể cần di chuyển các sự kiện. Chiến lược phát hành đĩa đơn Cửa sổ Nhân bản và Di chuyển cho phép thực hiện việc này. Có hai cửa sổ Sao chép cho tạo nhiều phân đoạn hoặc sự kiện. Các thành phần này có dạng như sau:
Sao chép cửa sổ phân đoạn
Sao chép cửa sổ sự kiện
Cả hai cửa sổ Sao chép đều hoạt động như nhau. Sau khi tạo một phân đoạn hoặc sự kiện ban đầu, bạn có thể chọn Bản sao . Các tham số như sau:
Tiền tố tên - Đặt tiền tố cho tên của từng phân khúc hoặc sự kiện được tạo
Bắt đầu từ M/B/T – Đặt thời gian bắt đầu cho phân đoạn hoặc sự kiện đầu tiên
Tăng M/B/T - Đặt thời gian giữa các phân đoạn hoặc sự kiện được tạo.
Số – Đặt số lượng phân khúc hoặc sự kiện mà bạn muốn tạo. Nếu số điện thoại vượt quá độ dài của tệp MIDI (đối với phân đoạn) hoặc phân đoạn (cho sự kiện), thì các đối tượng đó sẽ không được tạo.
Bản xem trước – Bản xem trước cho phép bạn kiểm tra các đối tượng được tạo trước khi cho phép chèn chúng.
5.4 Di chuyển cửa sổ
Hàm Di chuyển hoạt động tương tự như Sao chép hàm này ở chỗ nó cho phép bạn chỉnh sửa nhiều phân đoạn hoặc sự kiện tại một lần. Trong trường hợp này, hãy di chuyển chúng kịp thời. Giống như ReRep, cũng có 2 thao tác Move (Di chuyển) cửa sổ, một cho Phân đoạn và một cho Sự kiện. Cửa sổ trông giống như sau:
Di chuyển cửa sổ sự kiện
Để sử dụng Di chuyển, trước tiên hãy chọn đoạn hoặc các sự kiện bạn muốn di chuyển kịp thời, sau đó nhấp vào nút Di chuyển. Các tham số là như sau:
Bắt đầu từ M/B/T – Đặt thời gian bắt đầu cho phân đoạn hoặc sự kiện đầu tiên
Tăng M/B/T - Đặt thời gian theo M/B/T mà bạn muốn di chuyển đối tượng.
Bản xem trước – Bản xem trước cho phép bạn kiểm tra các đối tượng được tạo trước khi nói OK để di chuyển chúng.
5.5 Khoảng thời gian thử nghiệm
Nhấp vào nút Nghe thử trong màn hình chính cửa sổ của ứng dụng JET Creator sẽ mở ra cửa sổ kiểm tra. Đây là trong đó tác giả nội dung hoặc lập trình viên ứng dụng có thể mô phỏng vì hoạt động này có thể xảy ra trong chính ứng dụng hoặc trò chơi dành cho thiết bị di động.
Khung giờ thử giọng của JET
Có bốn phần chính đối với cửa sổ thử giọng. Phần bên trái nhất là các phân đoạn hiện có và thời lượng tính bằng giây. Phần ở giữa cho thấy một danh sách đang có những nội dung các phân đoạn được xếp hàng đợi để phát lại và trạng thái phát của các phân đoạn đó là gì. Xa ở phần bên phải hiển thị cờ tắt tiếng cho đoạn đang phát. Chiến lược phát hành đĩa đơn phần dòng thời gian ở dưới cùng giống như trong cửa sổ chính. Chiến dịch hiển thị đoạn đang phát cũng như hình ảnh hiển thị mọi sự kiện kích hoạt liên kết với phân khúc đó.
Cửa sổ buổi thử giọng cho phép bạn xếp hàng bất kỳ phân đoạn nào theo thứ tự bất kỳ để phát lại. Để thực hiện việc này, bạn chỉ cần chọn phân đoạn muốn đưa ra tín hiệu và nhấn vào Hàng đợi. Phân đoạn đó sẽ xuất hiện trong cửa sổ hàng đợi và bắt đầu phát (nếu đó là phân đoạn đầu tiên). Sau đó, bạn có thể chọn bất kỳ phân đoạn hoặc đoạn khác và quảng cáo để bắt đầu phát. Dưới dạng các phân đoạn phát xong, đoạn tiếp theo trong hàng đợi sẽ bắt đầu phát. Cũng như trong các cửa sổ khác của JET Creator, bạn có thể tắt tiếng, bật tiếng, kích hoạt các đoạn video về sự kiện, v.v. theo thời gian thực khi từng đoạn được phát lại.
Cụ thể, các nút này có hành vi như sau:
Hàng đợi - tải đoạn đã chọn vào hàng đợi và bắt đầu phát
Huỷ và thêm vào danh sách chờ - huỷ phân đoạn đang phát trước khi đưa đoạn đã chọn vào hàng đợi phát
Huỷ hiện tại - hủy phân đoạn đang phát trong hàng đợi và bắt đầu phát lại phân đoạn tiếp theo
Dừng - ngừng phát lại tất cả các phân đoạn được xếp hàng đợi
Tắt tiếng tất cả - tắt tiếng tất cả các bản nhạc trong đoạn hiện tại
Tắt tiếng Không - bật tiếng tất cả bản nhạc trong phân đoạn hiện tại
Số lần tắt tiếng ban đầu - đặt cờ tắt tiếng ban đầu cho đoạn hiện tại
Sự kết hợp của các lựa chọn phát lại này cho phép tác giả hoặc lập trình viên ứng dụng thử nghiệm bất kỳ hành vi nào có thể gặp phải.
5.6 Trình đơn của JET Creator
Trình đơn của JET Creator cung cấp quyền truy cập vào nhiều thông số trong cửa sổ chính cùng với một vài thông số bổ sung.
5.6.1 Menu tệp
Trình đơn Tệp chứa các mục sau phần tử:
Mới – Tạo tệp JET Creator mới (.jtc)
Mở – Mở tệp JET Creator hiện có
Lưu - Lưu tệp JET Creator hiện đang mở
Lưu dưới dạng - Lưu tệp JET Creator đang mở vào một tệp mới
Nhập dự án – Nhập tệp lưu trữ JET Creator (.zip)
Xuất dự án – Xuất tệp lưu trữ JET Creator (.zip)
Thoát - Thoát khỏi ứng dụng
5.6.2 Chỉnh sửa trình đơn
Menu chỉnh sửa chứa các mục sau phần tử:
Hoàn tác - Hoàn tác sẽ hoàn tác chỉnh sửa cuối cùng được thực hiện
Làm lại - Làm lại sẽ làm lại thao tác hoàn tác trước đó
Cắt – Sao chép thông số đã chọn vào bảng nhớ tạm và Xoá lựa chọn
Sao chép - Sao chép thông số đã chọn vào bảng nhớ tạm và giữ lựa chọn
Dán – Dán thông số đã chọn
5.6.3 Máy bay phản lực
Menu chỉnh sửa chứa các mục sau phần tử:
Tài sản - Hiển thị cửa sổ Mức độ ưu tiên của người tạo JET. Cửa sổ này cho phép bạn đặt các điều kiện sau đây cho một tệp JET nhất định:
Thông tin bản quyền – Chứa thông tin bản quyền để chèn vào tệp JET
Bộ điều khiển Chase – Tùy chọn theo đuổi bộ điều khiển (bật/tắt). Thông thường BẬT.
Xoá bản nhạc trống – Xoá mọi bản nhạc MIDI trống
5.6.4 Phân đoạn
Trình đơn Phân đoạn chứa các mục sau phần tử:
Thêm phân đoạn - Hiển thị cửa sổ Phân đoạn
Cập nhật phân khúc – Cập nhật các thuộc tính của phân khúc
Xoá phân đoạn – Xoá phân đoạn hiện tại khỏi Danh sách phân đoạn
5.6.5 Trợ giúp
Trình đơn Trợ giúp sẽ chứa ít nhất các phần tử sau:
Trung tâm trợ giúp của JET Creator – sẽ phát hành tài liệu trợ giúp về PDF hoặc chuyển đến trang trợ giúp trực tuyến
Giới thiệu - Số phiên bản của JET Creator, thông tin về SONiVOX
6 nội dung giải thích về sự kiện kích hoạt
Lỗi MIDI vào các phân đoạn riêng lẻ (phi tuyến tính) và xếp vào hàng đợi các phân đoạn đó cho phát lại trong một trò chơi dựa trên các sự kiện trong trò chơi đó là một cách mà các tệp âm nhạc của JET được mang tính tương tác. Sự kiện kích hoạt là một phương thức bổ sung cho việc phát có tính tương tác. Cả hai sẽ được sử dụng cùng nhau trong một trò chơi hoặc ứng dụng tương tác.
Sự kiện kích hoạt cho phép những điều sau:
- Bạn có thể bật hoặc tắt các bản nhạc trong một phân đoạn MIDI dựa trên trò chơi các sự kiện. Ví dụ: nhà soạn nhạc có thể tạo ra hai bản nhạc trống, một bản nhạc nhanh và một phản ứng chậm. Nếu hành động trong trò chơi diễn ra nhanh, thì bản nhạc trống nhanh có thể phát. Nếu hành động trong trò chơi chậm, thì bản nhạc trống có tốc độ chậm có thể phát.
- Bạn có thể so sánh hành động của người dùng với các sự kiện kích hoạt được chèn sẵn vào tệp âm nhạc tại các vị trí âm nhạc chính xác. Dựa trên kết quả, điểm số hoặc các hành động khác trong trò chơi có thể diễn ra.
- Việc chuyển đổi âm nhạc giữa các cấp độ hoặc trình tự hành động có thể được đồng bộ hoá với âm nhạc liền mạch.
Về cơ bản, JET sử dụng MIDI CC tiêu chuẩn các sự kiện để thực hiện các hành động này và đồng bộ hoá âm thanh. Tay điều khiển mà JET sử dụng nằm trong số những thuộc tính không được xác định cho mục đích sử dụng cụ thể trong quy cách. Định nghĩa tay điều khiển cụ thể như sau:
Bộ điều khiển 80-83 Được dành riêng để sử dụng bởi đăng
Bộ điều khiển Điểm đánh dấu sự kiện JET 102
Bộ điều khiển 103 Điểm đánh dấu đoạn video JET
Bộ điều khiển 104-119 Được dành riêng để sử dụng trong tương lai
6.1 Dụng cụ đánh dấu kẹp máy bay phản lực (CC103)
Bộ điều khiển 103 được dành riêng để đánh dấu các đoạn dữ liệu trong bản nhạc MIDI có thể được kích hoạt bằng lệnh gọi API JET_TriggerClip. ID clip được mã hoá trong 6 bit thấp của giá trị bộ điều khiển. Bit 6 được đặt ở mức một để chỉ ra điểm bắt đầu của clip và đặt 0 để biểu thị điểm kết thúc của một đoạn video.
Ví dụ: để xác định một đoạn video có một đoạn video Mã nhận dạng là 1, tác giả chèn một bộ điều khiển MIDI sự kiện có tay điều khiển=103 và giá trị=65 ở đầu đoạn video và một sự kiện khác sự kiện có bộ điều khiển=103 và giá trị=1 ở cuối đoạn video. Khi Hàm JET_TriggerClip() được gọi với mã nhận dạng đoạn video là 1, kênh sẽ được bật tiếng khi gặp phải giá trị bộ điều khiển 65 và tắt tiếng lại khi gặp phải giá trị bộ điều khiển 1.
Hình 5: Đoạn được đồng bộ hoá
Trong hình trên, nếu Hàm JET_TriggerClip() được gọi trước sự kiện tay điều khiển đầu tiên, Track 3 sẽ được bật tiếng khi sự kiện tay điều khiển đầu tiên xảy ra, đoạn video đầu tiên sẽ phát và kênh sẽ bị tắt tiếng khi sự kiện tay điều khiển thứ hai xảy ra. Nếu hàm JET_TriggerClip() được gọi sau khi sự kiện tay điều khiển đầu tiên đã đã xảy ra, Kênh âm thanh 3 sẽ được bật tiếng khi sự kiện tay điều khiển thứ ba xảy ra, đoạn video thứ hai sẽ phát và bản nhạc sẽ lại bị tắt tiếng khi đoạn video thứ tư sự kiện của bộ điều khiển xảy ra.
Lưu ý: Thường thì ứng dụng sẽ tắt tiếng bản nhạc chứa đoạn video đó khi phân khúc này ban đầu được lệnh gọi đến JET_QueueSegment() đưa vào hàng đợi. Nếu không bị tắt tiếng, đoạn video sẽ luôn phát cho đến khi Jet_TriggerClip() được gọi có mã đoạn video.
6.2 Điểm đánh dấu sự kiện JET (CC102)
Bộ điều khiển 102 được dành riêng để đánh dấu các sự kiện cụ thể trong luồng MIDI vào chức năng JET. Hiện tại, giá trị duy nhất được xác định là 0, giá trị này đánh dấu kết thúc một phân đoạn để xác định thời gian.
Thông thường, JET bắt đầu phát phân đoạn (hoặc lặp lại phân đoạn hiện tại) khi MIDI gặp phải sự kiện meta cuối bản nhạc. Một số MIDI các công cụ tác giả gây khó khăn cho việc đặt điểm đánh dấu cuối bản nhạc chính xác, dẫn đến sự cố đồng bộ hoá khi các phân đoạn được kết hợp với nhau.
Để tránh sự cố này, tác giả có thể đặt điểm đánh dấu cuối đoạn JET (bộ điều khiển=102, giá trị=0) tại điểm mà phân đoạn được lặp lại. Khi gặp điểm đánh dấu cuối đoạn, phân đoạn tiếp theo sẽ được kích hoạt hoặc nếu phân đoạn hiện tại bị lặp lại, sẽ tiếp tục ở đầu phân đoạn.
Điểm đánh dấu cuối phân đoạn cũng có thể được sử dụng để cho phép hoàn thành một tác phẩm âm nhạc vượt ra ngoài phạm vi đo lường. đánh dấu điểm bắt đầu của phân đoạn tiếp theo. Ví dụ: tác giả nội dung có thể tạo một phân đoạn 4 thanh có lấp đầy trống kết thúc ở nhịp 1/5 thanh, một thanh nằm ngoài điểm cuối tự nhiên của đoạn. Đặt một đoạn cuối phân đoạn điểm đánh dấu ở cuối thanh thứ 4, đoạn tiếp theo sẽ là được kích hoạt nhưng lấp đầy trống sẽ tiếp tục song song với phân đoạn tiếp theo mang đến tính liên tục của âm nhạc.
Hình 6: Điểm đánh dấu cuối phân đoạn
6.3 Đơn vị kiểm soát ứng dụng (CC80-83)
Ứng dụng có thể sử dụng bộ điều khiển trong cho mục đích riêng của nó. Khi gặp bộ điều khiển trong phạm vi này, sự kiện được nhập vào hàng đợi sự kiện mà ứng dụng có thể truy vấn. Bạn có thể sử dụng một số mục đích như đồng bộ hoá sự kiện video với âm thanh và đánh dấu trỏ vào phân đoạn MIDI để thêm đoạn âm thanh tiếp theo vào hàng đợi phân khúc. Có thể sửa đổi phạm vi bộ kiểm soát mà ứng dụng này giám sát bởi ứng dụng trong quá trình khởi chạy.
7 Nguyên tắc dành cho nhà sáng tạo JET
7.1 Thứ tự nhiệm vụ
Giống như mọi dự án khác, tốt nhất là bạn nên thảo luận và thiết kế sơ đồ âm nhạc tương tác với nhà thiết kế và lập trình viên trò chơi trước khi bắt đầu sáng tác. Bản phác thảo và/hoặc thông số kỹ thuật có thể rất hữu ích trong việc giúp bạn không phải làm lại mọi thứ sau khi trò chơi bắt đầu.
Nói chung, trước tiên, bạn nên viết nhạc trong DAW mà bạn quen dùng để soạn thảo, sau đó chia nhỏ tệp MIDI cuối cùng nếu cần cho ứng dụng. Tiếp theo, hãy chuyển sang JET Creator và tạo tất cả các phân đoạn âm nhạc của bạn theo thứ tự dễ xem trước nhất khi phát theo thứ tự. Cuối cùng, hãy thêm các Sự kiện JET để kiểm soát các phân đoạn thông qua trò chơi Android và Nghe thử các phân đoạn đó nếu cần trong JET Creator. Cuối cùng, hãy lưu dự án trong JET Creator và giao tệp .jet cho lập trình viên để tích hợp vào trò chơi. Sau khi xem trước, có thể bạn sẽ thấy thay đổi trong(các) tệp MIDI và thuộc tính của JET Creator.
7.2 Tiết kiệm bộ nhớ
Nếu bạn đang cố gắng tiết kiệm bộ nhớ, hãy soạn càng ít tệp MIDI càng tốt rồi tạo một số phân đoạn từ tệp MIDI đó. Ví dụ: tệp MIDI 12 thanh có ba phần gồm 4 thanh là A, B, C có thể tạo ra một bài hát dài hơn nhiều. Bạn chỉ cần tạo nhiều phân đoạn tham chiếu đến một tệp MIDI, sau đó sắp xếp các phân đoạn đó theo ý muốn. Ví dụ: A, A, B, A, C, A, B, A, A sẽ tạo ra một bài hát 36 thanh. Sử dụng JET để thêm các đoạn lặp lại, hoán vị cũng như tắt tiếng và bật tiếng theo cách tương tác để làm cho ứng dụng trở nên thú vị hơn nữa.
7.3 Nhân bản
Để thêm phân đoạn hoặc sự kiện nhanh hơn, hãy sử dụng lệnh Sao chép. Thao tác lặp lại có thể thêm nhiều phân đoạn hoặc sự kiện cùng một lúc, đồng thời sử dụng quy ước đặt tên tiền tố và thông số chênh lệch để đảm bảo nội dung dễ đọc. Lệnh MOVE cũng hữu ích khi di chuyển nhiều sự kiện theo một số lượng đo, nhịp hoặc kim đánh dấu nhịp độ khung hình.
7.4 Các lựa chọn tương tác
Có thể có một số khái niệm âm thanh tương tác trong JET. Dưới đây là một vài ví dụ và chúng tôi hy vọng các nhà phát triển sẽ nghĩ ra những ý tưởng khác mà chúng tôi chưa từng nghĩ đến! Đó là:
7.4.1 Kích hoạt nhiều phân đoạn
Trong phương pháp này, ứng dụng sẽ kích hoạt các phân đoạn cụ thể dựa trên sự kiện trong trò chơi. Ví dụ: hành lang có nhiều giao đấu có thể kích hoạt phân đoạn 1 và hành lang không có đánh nhau có thể kích hoạt phân đoạn 2. Việc sử dụng JET TriggerClips cùng với phương thức này giúp tạo ra tính đa dạng hơn nữa.
7.4.2 Mảng tắt tiếng
Trong phương pháp này, ứng dụng sẽ kích hoạt các sự kiện tắt tiếng và bật tiếng cho các bản nhạc cụ thể trong một trình tự MIDI duy nhất. Ví dụ: hành lang có nhiều giao đấu có thể phát các bản nhạc MIDI 1-16 và hành lang không có đánh nhau có thể phát cùng một tệp midi nhưng các bản nhạc tắt tiếng 9-16. Việc sử dụng JET TriggerClips cùng với phương thức này giúp tạo ra tính đa dạng hơn nữa.
7.4.3 Chơi trò chơi dựa trên âm nhạc
Trò chơi lấy chủ đề âm nhạc tương tự như những gì Guitar Hero và JETBOY đã làm ở chỗ nội dung âm nhạc quyết định cách hiển thị các sự kiện phản cảm. Sau đó, ứng dụng sẽ truy vấn phản hồi của người dùng đối với các sự kiện đồ hoạ và sửa đổi nhạc tương tác để phản hồi. Trong phương pháp này, trò chơi sử dụng Sự kiện ứng dụng JET, bộ điều khiển MIDI được nhúng vào tệp MIDI và được trò chơi đọc theo thời gian thực. Dựa trên phản hồi của người dùng, bạn có thể đặt nhiều mảng kích hoạt và/hoặc tắt tiếng phân khúc.