Aplikasi Penulisan Konten untuk JET Interactive Music Engine
1 Pengantar
1.1 Ringkasan
Dokumen ini berisi panduan pengguna untuk SONiVOX JET Creator, aplikasi penulisan untuk membuat dan mengaudisi file JET. JET adalah pemutar musik interaktif untuk perangkat termasuk perangkat yang menjalankan platform Android. Hal ini memungkinkan aplikasi untuk termasuk soundtrack musik interaktif, dalam MIDI , yang merespons peristiwa gameplay dan interaksi pengguna secara real-time.
JET bekerja sama dengan SONiVOX
Embedded Audio Synthesizer (EAS) yang merupakan MIDI
perangkat pemutaran untuk Android. Baik
Mesin JET dan EAS terintegrasi ke dalam platform tersemat Android melalui
serta class JetPlayer
yang ada dalam aplikasi JET Creator. Dengan demikian, penulis konten JET dapat
pastikan pemutarannya akan terdengar sama persis di JET Creator
dan aplikasi Android terakhir yang diputar
di perangkat seluler Android.
Selain antarmuka pengguna grafis, , ada dua fungsi utama yang berlangsung di JET Creator. Tujuan pertama-tama melibatkan pengumpulan semua data sumber (MIDI, dan file DLS), menambahkan atribut real-time JET dan membangun JET (.jet) yang akan digunakan oleh aplikasi Android. Fungsionalitas kedua melibatkan audisi elemen pemutaran interaktif saat elemen tersebut berlangsung di aplikasi Android.
Aplikasi JET Creator ditulis dalam bahasa pemrograman Python, jadi Anda harus memiliki versi Python dan WXWidgets yang terinstal. Aplikasi ini tersedia dalam versi Mac dan Windows.
1.2 Singkatan dan Istilah Umum
Penting untuk menggunakan serangkaian istilah untuk meminimalkan kesimpangsiuran. Karena JET menggunakan MIDI dengan cara yang unik, istilah industri normal mungkin tidak selalu cukup. Berikut adalah definisi istilah yang digunakan di halaman ini dan di JET Creator aplikasi:
Channel: Data MIDI yang terkait dengan MIDI tertentu saluran TV Anda. MIDI standar memungkinkan 16 saluran MIDI data yang masing-masing biasanya terkait dengan instrumen tertentu.
Pengontrol: Peristiwa MIDI yang terdiri dari nomor saluran, nomor pengontrol, dan nilai pengontrol. MIDI mengaitkan banyak nomor pengontrol dengan fungsi tertentu, seperti volume, ekspresi, pedal pertahankan, dll. JET juga menggunakan peristiwa pengontrol sebagai sarana untuk menyematkan informasi kontrol khusus dalam Urutan MIDI yang disediakan untuk sinkronisasi audio.
DAW: Digital Audio Workstation. Istilah umum untuk MIDI dan aplikasi pengurutan audio seperti Logic, SONAR, Cubase, dan lainnya.
EAS: Embedded MIDI Synthesizer. Tujuan nama mesin synthesizer MIDI SONiVOX.
JET: Jet Interactive Engine. Nama SONiVOX JET interaktif mesin musik.
M/B/T: Measure (Birama), Beat (Ketukan), dan Tick (Subbagian ketukan)
Segmen: Bagian musikal seperti chorus atau bait yang merupakan komponen dari komposisi keseluruhan. Di JET, segmen dapat berupa seluruh file MIDI atau berasal dari sebagian file MIDI.
SMF-0: Jenis File MIDI Standar 0, file MIDI yang berisi satu trek tersebut, tetapi dapat terdiri dari beberapa saluran MIDI layanan otomatis dan data skalabel.
SMF-1: Jenis File MIDI Standar 1, file MIDI yang berisi satu atau beberapa trek, dan setiap trek nantinya dapat terdiri dari satu atau lebih saluran MIDI layanan otomatis dan data skalabel. Berdasarkan konvensi, setiap saluran disimpan pada jalur terpisah dalam file SMF-1. Namun, Anda dapat memiliki beberapa MIDI saluran pada satu trek, atau beberapa trek yang berisi data untuk MIDI yang sama saluran TV Anda.
Trek: Satu trek dalam DAW yang berisi urutan peristiwa dengan waktu. Berhati-hatilah agar tidak tertukar antara {i>Track<i} dengan Channel. File MIDI dapat berisi banyak trek, sementara beberapa trek juga dapat menggunakan saluran MIDI yang sama.
2 Konsep Musik Interaktif JET
Musik interaktif dapat didefinisikan sebagai musik yang berubah secara {i>real-time<i} sesuai dengan peristiwa yang tidak dapat diprediksi seperti interaksi atau acara bermain game. Dengan cara ini, musik interaktif lebih baik menarik karena mampu menyesuaikan energi dan mood game lebih dekat daripada komposisi yang telah dikomposisi sebelumnya yang tidak pernah berubah. Di beberapa aplikasi dan {i>game<i}, musik interaktif adalah inti dari permainan game. Guitar Hero adalah salah satu suatu {i>game<i} yang begitu populer. Saat pengguna akhir berhasil merekam not balok dari papan fret, musiknya beradaptasi dengan sendirinya dan secara bersamaan skor keberhasilan dan kegagalan. JET memungkinkan jenis musik berikut game juga.
Ada beberapa metode untuk membuat dan mengontrol musik interaktif dan JET adalah salah satunya. Bagian ini menjelaskan fitur JET dan cara penggunaannya dalam game atau software aplikasi. Dokumen ini juga menjelaskan bagaimana JET dapat digunakan untuk menghemat memori dalam perangkat seluler seperti handset seluler berkemampuan Android.
2.1.1 Kompresi Data
JET mendukung format musik fleksibel yang dapat digunakan untuk membuat rangkaian musik yang diperpanjang dengan jumlah data minimal. Suatu komposisi musik dipecah menjadi segmen yang dapat diurutkan berdasarkan buat bagian yang lebih panjang. Pengurutan dapat ditetapkan pada saat file musik ditulis, atau dapat dibuat secara dinamis di bawah kontrol program.
2.1.2 Contoh Musik Linear
Gambar 1: Potongan Musik Linear
Diagram ini menunjukkan bagaimana segmen musikal disimpan. Setiap segmen ditulis sebagai MIDI terpisah . Fitur pascapemrosesan menggabungkan file tersebut menjadi satu file penampung. Setiap segmen dapat berisi trek musik alternatif yang dapat dibisukan atau dibunyikan untuk menciptakan minat tambahan. Contohnya mungkin aksen brass dalam chorus yang hanya diputar terakhir kali. Segmen juga dapat diubah ke bawah atau ke bawah.
Bagian bawah diagram menunjukkan bagaimana segmen musik dapat digabungkan ulang untuk membuat potongan musik linier. Di sini misalnya, jembatan mungkin diakhiri dengan modulasi kunci setengah langkah dan sisanya segmen dapat diubah setengah langkah agar sesuai.
2.1.3 Contoh Musik Nonlinear
Gambar 2: Bagian musik non-linear
Dalam diagram ini, kita melihat musik non-linear bagian. Skenarionya adalah first-person-shooter (FPS) dan JET menyediakan musik latar belakang. Pengantar diputar saat level dimuat, lalu bertransisi di bawah kontrol program ke segmen Mencari. Segmen ini diulangi tanpa batas, mungkin dengan variasi kecil (menggunakan fitur bisukan/bunyikan) hingga aktivitas dalam game menentukan suatu perubahan.
Saat pemain mendekati sarang monster, memulai transisi yang disinkronkan ke segmen Bahaya, meningkatkan tingkat ketegangan dalam audio. Saat pemain semakin dekat ke sarang, tambahan trek dibunyikan untuk meningkatkan ketegangan.
Saat pemain mulai bertempur dengan monster, program ini akan memulai transisi yang disinkronkan ke segmen Combat. Segmen ini diulang tanpa batas saat pertarungan terus berlanjut. Bonus Hit membunyikan trek dekoratif untuk sementara yang memberi tahu pemutar tentang serangan yang berhasil, dan demikian pula, jalur lain dibunyikan sementara menandakan saat pemain menerima Kerusakan Khusus.
Di akhir pertarungan, musik berubah ke segmen kemenangan atau kekalahan berdasarkan hasil pertempuran.
2.1.4 Sinkronisasi Bisukan/Bunyikan
JET juga dapat menyinkronkan pembisuan dan bunyikan lagu ke peristiwa dalam musik. Misalnya, dalam game FPS, mungkin diinginkan untuk menempatkan acara musik yang berkaitan dengan bonus dan kerusakan yang sedekat mungkin dengan peristiwa pertandingan yang sebenarnya. Namun, hanya membisukan audio lagu pada saat acara game terjadi dapat menghasilkan klip musik dimulai di tengah. Atau, klip dapat dimulai dari dimulai, namun tidak akan disinkronkan dengan trek musik lainnya.
Namun, dengan mesin sinkronisasi JET, klip dapat dimulai pada saat yang tepat berikutnya dan menjaga sinkronisasi. Ini dapat dilakukan dengan menempatkan sejumlah klip musik pendek pada jalur. Peristiwa MIDI dalam aliran menandakan awal klip dan peristiwa kedua menandakan akhir klip. Jika aplikasi memanggil fungsi klip JET, klip berikutnya dalam trek diizinkan untuk memutar musik dengan tersinkronisasi sepenuhnya. Secara opsional, {i>track<i} dapat berupa dibisukan secara otomatis oleh peristiwa MIDI kedua.
Gambar 3: Pembisuan/Pembunyian yang Disinkronkan
2.2 Sinkronisasi Audio
JET menyediakan API sinkronisasi audio yang memungkinkan gameplay disinkronkan dengan peristiwa dalam audio. Mekanisme mengandalkan data yang disematkan dalam file MIDI di waktu saat konten ditulis. Ketika mesin JET merasakan suatu peristiwa selama memutar, itu akan menghasilkan {i>callback <i}ke dalam program aplikasi. Waktu saat callback dapat disesuaikan untuk mengompensasi latensi apa pun dalam audio sistem pemutaran sehingga audio dan video dapat disinkronkan. Diagram di bawah ini menunjukkan contoh {i>game<i} musik sederhana yang menekan tombol kiri dan panah kanan yang selaras dengan musik.
Gambar 4: Game Musik
Tanda panah merepresentasikan peristiwa dalam urutan musik di mana acara game perlu disinkronkan. Dalam hal ini, panah biru mewakili waktu di mana pemain seharusnya menekan tombol kiri, dan panah merah untuk tombol kanan. Panah kuning memberi tahu game engine bahwa urutannya lengkap. Pemutar memiliki batas waktu tertentu sebelum dan sesudah kejadian untuk menekan tombol yang sesuai.
Jika acara diterima dan pemain telah tidak menekan tombol, timer akan disetel ke setengah panjang jendela. Jika pemain menekan tombol sebelum timer berakhir, game mendaftarkan berhasil, dan jika tidak, game akan mencatat kegagalan.
Jika pemain menekan tombol sebelum peristiwa diterima, penghitung waktu disetel ke setengah panjang jendela. Jika peristiwa diterima sebelum timer berakhir, game mencatat keberhasilan, dan jika tidak, game mengalami kegagalan. Gameplay juga dapat menyertakan bonus karena mendekati waktu peristiwa yang sebenarnya.
3 Ringkasan Penulisan Konten JET
Untuk menulis file JET dan mendengarkannya diputar secara interaktif, penulis konten akan bekerja di dua aplikasi yang dirancang untuk bekerja bersama-sama dengan lancar. Yang pertama adalah aplikasi pengurutan MIDI siap pakai yang mendukung plugin VST (untuk PC) atau AU (untuk Mac). Di sini penulis akan menulis file musik MIDI mereka menggunakan plugin sebagai perangkat synthesizer. Aplikasi kedua adalah aplikasi JET Creator. Di sini, penulis akan mengimpor file musik MIDI mereka (dan soundset DLS2, jika perlu) lalu setel kondisi untuk pemutaran dalam game yang mendukung JET. Secara opsional, penulis konten dapat membuat serangkaian instrumen DLS kustom menggunakan editor instrumen yang mendukung Format DLS Level 2. Salah satu aplikasi tersebut adalah Awave dari MJSoft.
Lihat dokumentasi Panduan Penulisan Konten JET untuk informasi tambahan detail tentang pembuatan konten.
4 Menginstal dan Meluncurkan JET Creator
JET Creator adalah bahasa python aplikasi Anda, oleh karena itu, Anda harus menginstal Python dan wxPython di mesin Linux dan Windows.
JetCreator dibuat dan diuji dengan:
Python Versi 2.5.4
wxPython Versi 2.8.7.1
Silakan download aplikasi tersebut di sini:
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
Setelah menginstal Python dan wxPython, cukup ekstrak atau salin semua file di direktori aplikasi JET Creator untuk folder di {i>hard drive<i} Anda.
Untuk meluncurkan JET Creator, buka perintah dan atur direktori ke tempat Anda menginstal Python. Python operasi berikutnya dengan perintah:
python jetcreator.py
5 Menggunakan JET Creator
5.1 Jenis File
Ada beberapa jenis file yang terkait dengan JET Creator.
JET .jtc File project kreator. File ini berisi semua informasi yang terkait dengan Project JET Creator. Saat Anda melakukan Save atau Save as dari JET Creator, file ini jenis data disimpan.
JET .jet File. File output ini dibuat secara otomatis dari JET Creator setiap kali Anda simpan project JET Creator Anda. Ini adalah file yang memaketkan semua aset JET bersama-sama menjadi satu file yang akan digunakan aplikasi Android. Berikan ini ke pengembang aplikasi Android.
File .mid. Ini adalah MIDI standar tipe 1 yang akan digunakan JET Creator untuk membuat segmen.
Segmen .seg File. Ini adalah file Segmen JET. Memiliki nama yang sama dengan MIDI yang dirujuk namun berisi informasi Segmen tambahan.
Zip .zip File arsip. Saat Anda Mengekspor Arsip JET, file ZIP akan dibuat yang berisi semua aset (file) yang diperlukan untuk JET Creator. Gunakan ini untuk mentransfer memproyeksikan JET Creator kepada orang lain.
5.2 Dialog Pembuka
Kapan pertama kali meluncurkan JET Creator, Anda akan melihat dialog terbuka seperti mengikuti.
<img <="" batas="0" tinggi="285" {i>p=""<i} src="/static/images/jet/jc_open_dlg.png" lebar="450" />
Open akan membuka file .jtc (file JET Creator) yang sudah ada. Menggunakan browser untuk menelusuri direktori tempat Anda menyimpan file .jtc.
New akan membuat file .jtc baru.
Import akan mengimpor file Arsip JET (.zip).
Cancel akan membatalkan dialog dan menutup aplikasi.
5 Jendela Utama
Jendela utama JET Creator aplikasi yang terlihat seperti gambar di bawah ini. Ada tiga bagian utama dari atas ke bawah: tampilan segmen, tampilan peristiwa, dan linimasa.
Bagian tampilan segmen menampilkan daftar segmen saat ini, file MIDI dan (opsional) file DLS2 yang berasal dari setiap segmen. Bagian ini juga menunjukkan setiap segmen waktu mulai dan berhenti, dan setiap segmen mengkuantifikasi, {i>transpose<i}, pengulangan, dan setelan tanda bisukan.
Tepat di bawah tampilan Segmen adalah peristiwa {i>view<i}. Bagian tampilan peristiwa menampilkan semua peristiwa yang terkait dengan segmen data. Peristiwa hanya ditampilkan jika segmen yang ditetapkan disorot. Setiap acara menampilkan jenis, titik awal dan akhir, trek, dan midi penetapan saluran, dan ID acaranya.
Di bawah tampilan Peristiwa terdapat linimasa tampilan. Garis waktu menunjukkan seberapa banyak tindakan yang dilakukan di segmen tertentu serta peristiwa yang terkait dengan segmen tersebut. {i>Timeline<i} akan berubah untuk menampilkan yang sedang dipilih atau memutar segmen. Anda dapat memicu peristiwa di jendela ini saat segmen diputar hanya dengan mengklik peristiwa di linimasa tampilan.
JET
Jendela Utama Kreator
Tombol di sepanjang sisi kiri layar utama lakukan langkah berikut:
Tambahkan: Menampilkan jendela segmen atau peristiwa untuk menambahkan segmen atau peristiwa baru
Revisi: Menampilkan jendela segmen atau peristiwa untuk memperbarui segmen atau peristiwa yang ada
Hapus: Menghapus segmen atau peristiwa yang dipilih (akan meminta konfirmasi)
Pindahkan: Menampilkan jendela pemindahan yang memungkinkan Anda memindahkan segmen atau peristiwa yang dipilih tepat waktu
Masukkan Semua: Antrean (memilih) semua segmen untuk pemutaran
Hapus Semua: Antrean (batalkan pilihan) semua segmen
Putar: Memulai pemutaran semua segmen dalam antrean. Tombol ini berubah menjadi Berhenti jika ada segmen sedang diputar
Audisi: Menampilkan jendela Audition (lihat di bawah)
5.1 Jendela Segment
Jendela segmen adalah tempat di mana atribut segmen ditetapkan dan diaudisi, seperti ditunjukkan dalam gambar di bawah ini. Sisi kiri jendela menampilkan atribut segmen yang yang disimpan di file JET. Sisi kanan jendela memungkinkan penulis mengatur bisukan tanda, ulangi dan transposisikan setelan, lalu audisi segmen sebagaimana bermain di game JET.
Catatan: atribut audisi (tanda pembisuan suara, pengulangan, dan transposisi) tidak disimpan dalam file konten JET (.jet), tetapi ditentukan oleh game atau aplikasi itu sendiri. Dalam pemrograman bahasa, setelan ini berhubungan langsung dengan panggilan API ke JET mesin telusur. Dengan menyertakannya di sini, penulis konten JET dapat menyimulasikan bagaimana segmen akan merespons perintah API aplikasi selama permainan game.
Parameter segmen akan melakukan hal berikut:
- Nama Segmen - Kumpulan nama segmen
- File MIDI - Nama dan lokasi file MIDI tempat file MIDI segmen itu berasal. Tombol di sebelah kanan akan memunculkan untuk menemukan file {i>midi<i} di {i>hard drive<i}.
- File DLS - Nama dan lokasi file DLS2, jika ada, yang MIDI untuk segmen tersebut.
- Mulai M/B/T - Memulai pengukuran, ketukan, dan tick segmen
- Akhir M/B/T - Volume, ketukan, dan tick segmen saat akhir
- Kuantisasi - Menghitung nilai untuk mengkuantifikasi segmen saat ini selama pemutaran
Kolom Audition terdiri adalah sebagai berikut:
- Lacak Pembisuan - Menampilkan trek MIDI (bukan channel) dalam file MIDI. Mengklik akan membisukan trek tersebut.
- Saluran - Menampilkan saluran MIDI yang ditetapkan ke setiap saluran lagu
- Nama - Menampilkan peristiwa meta nama trek (jika ada) untuk setiap trek
- Ulangi - Menunjukkan frekuensi segmen harus diulang selama pemutaran
- Transpose - Menunjukkan transposisi dalam semi-tone atau half-step yang harus dilihat oleh suatu segmen melakukan transposisi selama pemutaran
- Di sebelah kanan jendela Audition, ada beberapa tombol tambahan. Tombol ini berfungsi seperti berikut:
- Oke - Memilih OK akan mengonfirmasi semua setelan segmen dan menutup jendela segmen
- Batal - Memilih Cancel akan membatalkan perubahan dan menutup jendela segmen
- Replikasikan - Menampilkan jendela Replicate Segment untuk memasukkan beberapa segmen sekaligus. Lihat di bawah ini.
- Segmen Putar/Hentikan - Awal atau Menghentikan pemutaran segmen menggunakan atribut segmen yang ditetapkan.
- Putar/Hentikan File MIDI - Memulai atau Menghentikan pemutaran file MIDI yang ditetapkan ke segmen tersebut.
- Jeda/Lanjutkan - Menjeda atau Melanjutkan pemutaran.
5.2 Jendela Event
Jendela {i>Event<i} adalah tempat segmen ditetapkan dan diaudisi, seperti yang ditunjukkan dalam gambar di bawah ini. Kepada menambahkan peristiwa ke segmen, penulis harus terlebih dahulu memilih segmen yang akan berisi peristiwa, kemudian pilih tombol {i>Add<i}. Ini akan memunculkan Acara jendela.
Ada dua bagian utama dalam acara ini jendela. Bagian segmen di sisi kiri jendela peristiwa adalah untuk ditampilkan saja. Bagian ini menunjukkan atribut segmen untuk segmen tertentu. Acara di sisi kanan, adalah tempat peristiwa dapat ditetapkan. Hal berikut parameter yang tersedia:
Nama Peristiwa - Menetapkan nama ke peristiwa
Jenis Peristiwa - Memilih jenis peristiwa yang akan ditetapkan.
Mulai M/B/T - Menetapkan ukuran, ketukan, dan tick awal untuk peristiwa
Akhir M/B/T - Menetapkan ukuran, ketukan, dan tick akhir untuk peristiwa, jika berlaku
Trek - Menetapkan trek mana di segmen tertentu tempat peristiwa akan diterapkan
Saluran - Menetapkan saluran MIDI mana yang akan diterapkan peristiwa tempat mesin terhubung. Saluran MIDI harus cocok dengan MIDI saluran lagu
ID Peristiwa - Menetapkan ID peristiwa untuk peristiwa. Beberapa peristiwa dapat ditetapkan ke URL yang sama segmen, dan karenanya ID Peristiwa digunakan untuk mengidentifikasinya
Di sebelah kanan jendela Audition, ada beberapa tombol tambahan. Tombol ini berfungsi seperti berikut:
Oke - Memilih OK akan mengonfirmasi semua setelan peristiwa dan menutup jendela event
Batal - Memilih Cancel akan membatalkan perubahan dan menutup jendela event
Replikasikan - Menampilkan jendela Replicate Event untuk memasukkan beberapa peristiwa sekaligus. Lihat di bawah ini.
Putar/Hentikan - Memulai atau Menghentikan pemutaran segmen menggunakan atribut segmen yang ditetapkan. Saat segmen diputar, peristiwa dapat dipicu dan diaudisi.
Pemicu - Memicu peristiwa yang ditetapkan. Perintah ini mereplikasi perintah API yang digunakan game JET akan digunakan untuk memicu peristiwa, sehingga memberikan metode kepada penulis konten untuk mengaudisi perilaku peristiwa.
Bisukan/Sembunyikan - Bisukan/Bunyikan akan membisukan atau membunyikan trek yang ditetapkan ke peristiwa tersebut
Jeda/Lanjutkan - Menjeda atau Melanjutkan pemutaran.
Untuk mengaudisi perilaku suatu peristiwa, Anda dapat memilih tombol Play. Tindakan ini akan memulai pemutaran. Tombol pemicu akan mengirim peristiwa pemicu saat ditekan. Fungsi ini sama seperti memilih pemicu berwarna hijau di linimasa.
Catatan: Peristiwa pemicu dimaksudkan untuk membunyikan trek tunggal dari segmen saat dipicu, lalu bisukan trek tersebut di akhir segmen pemicu. Oleh karena itu, Anda harus memastikan tanda bisukan diatur ke membisukan trek di mana peristiwa pemicu akan dibunyikan saat menerima peristiwa pemicu.
Baca Bagian 6 Di Balik Layar di bawah ini untuk mengetahui detail tentang cara kerja dan perilaku peristiwa pemicu.
5.3 Jendela Replicate
Sering kali saat membuat file JET, Anda perlu membuat puluhan atau bahkan ratusan peristiwa. Anda mungkin juga harus memindahkan beberapa peristiwa. Tujuan Jendela Replicate dan Move memungkinkan tindakan ini. Ada dua jendela Replicate untuk membuat beberapa segmen atau peristiwa. Jendela tersebut terlihat seperti ini:
Jendela Replicate Segment
Jendela Replicate Event
Fungsi kedua jendela Replicate ini sama. Setelah membuat segmen atau peristiwa awal, Anda dapat memilih Replicate tombol. Parameternya adalah sebagai berikut:
Awalan Nama - Menetapkan awalan untuk nama setiap segmen atau peristiwa yang dibuat
Mulai M/B/T - Menetapkan waktu mulai untuk segmen atau peristiwa pertama
Penambahan M/B/T - Menetapkan waktu antara segmen atau peristiwa yang dibuat.
Angka - Menetapkan jumlah segmen atau peristiwa yang ingin Anda buat. Jika nomor melebihi panjang file MIDI (untuk segmen) atau segmen (untuk peristiwa), objek tersebut tidak akan dibuat.
Pratinjau - Pratinjau memungkinkan Anda memeriksa objek yang dibuat sebelum mengatakan OK untuk menyisipkan mereka.
5.4 Jendela Move
Fungsi {i>Move <i}berfungsi mirip dengan Replikasikan fungsi sehingga Anda bisa mengedit beberapa segmen atau peristiwa dengan satu kali, dalam hal ini memindahkannya secara tepat waktu. Seperti Replicate, ada dua jenis Move satu jendela, satu untuk Segmen dan satu untuk Peristiwa. Jendela-jendelanya terlihat seperti berikut ini:
Jendela Move Event
Untuk menggunakan Pindahkan, pertama-tama pilih segmen atau peristiwa yang ingin Anda pindahkan tepat waktu, kemudian klik tombol Pindahkan. Parameternya adalah sebagai berikut:
Mulai M/B/T - Menetapkan waktu mulai untuk segmen atau peristiwa pertama
Penambahan M/B/T - Menetapkan waktu dalam M/B/T yang Anda inginkan untuk memindahkan objek.
Pratinjau - Pratinjau memungkinkan Anda memeriksa objek yang dibuat sebelum memilih OK untuk memindahkan mereka.
5.5 Jendela Audition
Mengeklik tombol Audition di utama jendela aplikasi JET Creator akan membuka jendela Audition. Ini adalah di mana penulis konten atau pemrogram aplikasi dapat menyimulasikan visualisasi pemutaran yang mungkin terjadi di aplikasi seluler atau game itu sendiri.
Jendela JET Audition
Ada empat bagian utama dalam jendela audisi. Bagian paling kiri menampilkan segmen yang tersedia dan durasinya dalam hitungan detik. Bagian tengah menampilkan daftar yang berjalan tentang apa segmen diantrekan untuk pemutaran dan apa status pemutarannya. Jauh menampilkan tanda bisukan untuk segmen yang sedang diputar. Tujuan {i>timeline <i}di bawah sama dengan di jendela utama. Menampilkan segmen yang sedang diputar serta tampilan visual pemicu peristiwa yang terkait dengan segmen tersebut.
Jendela Audition memungkinkan Anda mengantrekan segmen apa pun dalam urutan apa pun untuk pemutaran. Untuk melakukannya, cukup pilih segmen yang yang ingin Anda isyaratkan dan tekan Antrean. Segmen itu akan muncul di jendela antrean dan mulai diputar (jika itu adalah segmen pertama). Selanjutnya, Anda dapat memilih segmen lain dan memberinya isyarat untuk diputar. Sebagai segmen menyelesaikan pemutaran, segmen berikutnya dalam antrean akan mulai diputar. Sebagaimana jendela lain di JET Creator, Anda dapat membisukan, membunyikan, memicu klip peristiwa, dll. secara realtime karena setiap segmen diputar kembali.
Untuk detailnya, tombol tersebut berperilaku seperti berikut:
Antrean - memuat segmen yang dipilih ke dalam antrean dan memulai pemutaran
Batalkan dan Buat Antrean - membatalkan segmen yang sedang diputar sebelum mengantrekan segmen yang dipilih untuk pemutaran
Batalkan yang Saat Ini - membatalkan segmen yang sedang diputar dalam antrean dan memulai pemutaran segmen berikutnya
Perhentian - menghentikan pemutaran semua segmen dalam antrean
Nonaktifkan Semua - membisukan semua trek di segmen saat ini
Nonaktifkan Tidak Ada - membunyikan semua trek di segmen saat ini
Pembisuan Asli - menetapkan tanda pembisuan asli untuk segmen saat ini
Kombinasi opsi pemutaran ini memungkinkan penulis atau pemrogram aplikasi untuk mengaudisi perilaku apa pun sebuah aplikasi musik interaktif.
5.6 Menu JET Creator
Menu JET Creator memberikan akses ke banyak parameter di jendela utama ditambah beberapa parameter tambahan.
5.6.1 Menu File
Menu File berisi hal-hal berikut elemen:
Baru - Membuat file JET Creator baru (.jtc)
Terbuka - Membuka file JET Creator yang sudah ada
Simpan - Menyimpan file JET Creator yang sedang dibuka
Simpan Sebagai - Menyimpan file JET Creator yang sedang dibuka ke file baru
Import Project - Mengimpor arsip JET Creator (.zip)
Export Project - Mengekspor arsip JET Creator (.zip)
Keluar - Keluar dari aplikasi
5.6.2 Menu Edit
Menu Edit berisi hal-hal berikut elemen:
Urungkan - Urungkan akan mengurungkan pengeditan yang terakhir dibuat
Ulangi - Ulangi akan mengulangi tindakan mengurungkan terakhir
Potong - Salin parameter yang dipilih ke papan klip lalu Hapus pilihan
Salin - Salin parameter yang dipilih ke papan klip dan simpan pilihan
Menempel - Tempel parameter yang dipilih
5.6.3 JET
Menu Edit berisi hal-hal berikut elemen:
Properti - Menampilkan jendela prioritas JET Creator. Jendela ini memungkinkan Anda menyetel kondisi berikut untuk file JET tertentu:
Copyright Info - Berisi info hak cipta yang akan disisipkan ke dalam file JET
Chase Controllers - Opsi untuk memilih pengontrol (on/off). Hal ini biasanya menjadi AKTIF.
Delete Empty Tracks - Menghapus semua trek MIDI yang kosong
5.6.4 Segment
Menu Segmen berisi hal berikut elemen:
Tambahkan Segmen - Menampilkan jendela Segment
Update Segment - Memperbarui atribut segmen
Hapus Segmen - Menghapus segmen saat ini dari Daftar Segmen
5.6.5 Help
Menu Bantuan akan berisi setidaknya elemen berikut:
JET Creator Help - akan meluncurkan dokumen bantuan PDF atau membuka bantuan online
Tentang - Nomor versi JET Creator, info SONiVOX
6 Penjelasan Peristiwa Pemicu
Melanggar MIDI file menjadi segmen individu (non-linear) dan mengantrekan segmen tersebut untuk pemutaran dalam game berdasarkan peristiwa dalam game adalah salah satu cara file musik JET interaktif. Peristiwa pemicu adalah metode tambahan untuk pemutaran interaktif. Keduanya akan digunakan bersama-sama dalam game atau aplikasi interaktif.
Peristiwa pemicu memungkinkan hal-hal berikut:
- Trek dalam segmen MIDI dapat diaktifkan atau dinonaktifkan berdasarkan game peristiwa. Misalnya komposer dapat menulis dua trek drum, satu trek cepat dan yang satu lambat. Jika aksi dalam game cepat, trek drum cepat bisa mainkan. Jika aksi dalam game sedang berjalan lambat, trek drum lambat dapat diputar.
- Tindakan pengguna dapat dibandingkan dengan peristiwa pemicu yang disisipkan ke dalam file musik di tempat musik yang tepat. Berdasarkan hasil, penskoran, atau tindakan permainan lainnya dapat terjadi.
- Transisi musik di antara level atau urutan tindakan dapat disinkronkan agar musik berjalan lancar.
Di balik layar, JET menggunakan CC MIDI standar peristiwa untuk melakukan tindakan ini dan menyinkronkan audio. Pengontrol yang digunakan oleh JET termasuk yang tidak didefinisikan untuk penggunaan spesifik oleh spesifikasi. Definisi pengontrol spesifik adalah sebagai berikut:
Pengontrol 80-83 Dicadangkan untuk digunakan oleh aplikasi
Pengontrol 102 Penanda peristiwa JET
Pengontrol Penanda klip JET 103
Pengontrol 104-119 Direservasi untuk penggunaan mendatang
6.1 Penanda Klip JET (CC103)
Pengontrol 103 dikhususkan untuk penandaan klip dalam trek MIDI yang dapat dipicu oleh panggilan API JET_TriggerClip. ID klip dienkode dalam 6 bit rendah dari nilai pengontrol. Bit 6 disetel ke satu untuk menunjukkan awal klip, dan ke nol untuk menunjukkan akhir klip.
Misalnya, untuk mengidentifikasi klip dengan klip ID 1, penulis menyisipkan pengontrol MIDI peristiwa dengan pengontrol=103 dan nilai=65 di awal klip dan dengan pengontrol=103 dan nilai=1 di akhir klip. Jika Fungsi JET_TriggerClip() dipanggil dengan ID klip 1, trek akan dibunyikan saat nilai pengontrol 65 ditemukan dan dibisukan lagi saat nilai pengontrol 1 ditemukan.
Gambar 5: Klip Tersinkron
Pada gambar di atas, jika Fungsi JET_TriggerClip() dipanggil sebelum peristiwa pengontrol pertama, Track 3 akan dibunyikan saat peristiwa pengontrol pertama terjadi, klip pertama akan diputar, dan trek akan dibisukan saat peristiwa pengontrol kedua terjadi. Jika fungsi JET_TriggerClip() dipanggil setelah kejadian pengontrol pertama telah terjadi, Trek 3 akan dibunyikan saat peristiwa pengontrol ketiga terjadi, klip kedua akan diputar, dan trek akan dibisukan lagi saat klip keempat terjadi peristiwa pengontrol.
Catatan: Biasanya, trek yang berisi klip dibisukan oleh aplikasi saat segmen pertama kali diantrekan oleh panggilan ke JET_QueueSegment(). Jika ya tidak dibisukan, klip akan selalu diputar hingga Jet_TriggerClip() dipanggil dengan ID klip.
6.2 Penanda Peristiwa JET (CC102)
Pengontrol 102 dikhususkan untuk penandaan peristiwa dalam streaming MIDI yang spesifik ke fungsi JET. Saat ini, satu-satunya nilai yang ditentukan adalah 0, yang menandai bagian akhir segmen untuk tujuan pengaturan waktu.
Biasanya, JET akan memulai pemutaran segmen (atau mengulangi segmen saat ini) saat MIDI ditemukan meta-peristiwa akhir trek. Beberapa MIDI alat penulisan menyulitkan penempatan penanda {i>end-of-track<i} secara akurat, mengakibatkan masalah sinkronisasi ketika segmen digabungkan bersama.
Untuk menghindari masalah ini, penulis dapat menempatkan penanda akhir segmen JET (pengontrol=102, nilai=0) pada titik di mana harus diulang. Saat penanda akhir segmen ditemui, segmen berikutnya akan dipicu, atau jika segmen saat ini diulang, akan dilanjutkan di awal segmen.
Penanda akhir segmen juga dapat digunakan untuk memungkinkan penyelesaian angka musikal di luar akhir pengukuran yang menandai awal segmen berikutnya. Misalnya, penulis konten mungkin membuat segmen 4 batang dengan isian drum yang berakhir pada ketukan 1 dari ke-5 batang, sebuah batang di luar bagian akhir segmen. Dengan menempatkan segmen akhir di akhir batang ke-4, segmen berikutnya akan dipicu, tetapi pengisian drum akan berlanjut secara paralel dengan segmen berikutnya yang memberikan kontinuitas musik.
Gambar 6: Penanda Titik Berakhir Segmen
6.3 Pengontrol Aplikasi (CC80-83)
Aplikasi dapat menggunakan pengontrol dalam hal ini rentang untuk tujuannya sendiri. Ketika pengontrol dalam rentang ini ditemui, parameter peristiwa dimasukkan ke antrean peristiwa yang dapat dikueri oleh aplikasi. Beberapa penggunaan yang mungkin di antaranya adalah sinkronisasi peristiwa video dengan audio dan penandaan titik di segmen MIDI untuk mengantrekan segmen data. Rentang pengontrol yang dipantau oleh aplikasi dapat dimodifikasi oleh aplikasi selama inisialisasi.
7 Pedoman JET Creator
7.1 Urutan Tugas
Seperti semua project lainnya, mendiskusikan dan mendesain skema musik interaktif dengan desainer dan programmer game sebelum memulai penyusunan Anda merupakan tindakan terbaik. Garis besar dan/atau spesifikasi dapat sangat membantu Anda agar tidak perlu mengulang berbagai hal setelah game dibuat.
Secara umum, sebaiknya tulis musik terlebih dahulu dalam DAW pilihan Anda seperti saat menyusun pada umumnya, lalu pisahkan file MIDI final sesuai kebutuhan untuk aplikasi. Selanjutnya, buka JET Creator dan buat semua segmen musik Anda dalam urutan yang paling mudah untuk dipratinjau saat diputar secara berurutan. Terakhir, tambahkan Event JET untuk mengontrol segmen melalui game Android dan jalankan Audition sesuai kebutuhan di JET Creator. Terakhir, simpan project di JET Creator dan serahkan file .jet ke programer untuk diintegrasikan ke dalam game. Setelah melihat pratinjaunya, Anda kemungkinan perlu melakukan perubahan pada file MIDI dan atribut JET Creator Anda.
7.2 Menghemat Memori
Jika ingin menghemat memori, buat sesedikit mungkin file MIDI, lalu buat beberapa segmen dari file MIDI tersebut. Misalnya, file MIDI 12 bar dengan tiga bagian yang terdiri dari 4 bar, A, B, C, dapat membuat lagu yang lebih panjang. Cukup buat beberapa segmen yang mereferensikan satu file MIDI tersebut, lalu urutkan sesuai keinginan Anda. Misalnya, A, A, B, A, C, A, B, A, A akan membuat lagu dengan 36 bar. Gunakan JET untuk menambahkan pengulangan, melakukan transposisi segmen, serta membisukan dan membunyikan trek secara interaktif agar terdengar lebih menarik.
7.3 Replikasi
Untuk mempercepat penambahan segmen atau peristiwa, gunakan perintah Replicate (Replikasi). Replicate dapat menambahkan beberapa segmen atau peristiwa sekaligus serta menggunakan parameter offset dan konvensi penamaan awalan agar semuanya tetap mudah dibaca. Perintah MOVE juga berguna untuk memindahkan beberapa peristiwa menurut birama, ketukan, atau subbagian ketukan dalam jumlah yang ditentukan.
7.4 Opsi Interaktif
Ada beberapa konsep audio interaktif yang dapat dibuat di JET. Berikut adalah beberapa contohnya, meskipun kami berharap developer dapat memberikan contoh lain yang belum terpikirkan oleh kami! Di antaranya:
7.4.1 Pemicuan Beberapa Segmen
Dalam metode ini, aplikasi memicu segmen tertentu berdasarkan peristiwa dalam game. Misalnya, lorong dengan banyak pertarungan dapat memicu segmen 1, dan lorong tanpa pertarungan dapat memicu segmen 2. Menggunakan JET TriggerClips sehubungan dengan metode ini akan menciptakan variasi yang lebih beragam.
7.4.2 Array Pembisuan
Dalam metode ini, aplikasi memicu aktivitas pembisuan dan pembunyian ke trek tertentu dalam satu urutan MIDI. Misalnya, lorong dengan banyak pertarungan dapat memutar trek MIDI 1-16, dan lorong tanpa pertarungan dapat memutar file midi yang sama, tetapi membisukan trek 9-16. Menggunakan JET TriggerClips sehubungan dengan metode ini akan menciptakan variasi yang lebih beragam.
7.4.3 Gameplay Berdasarkan Musik
Game yang didasarkan pada musik mirip dengan Guitar Hero dan JETBOY; konten musiknya menentukan bagaimana peristiwa grafis ditampilkan. Aplikasi kemudian akan meminta respons pengguna terhadap peristiwa grafis, lalu mengubah musiknya secara interaktif. Dalam metode ini, game menggunakan JET Application Events, pengontrol MIDI yang disematkan dalam file MIDI dan dibaca oleh game secara real time. Berdasarkan respons pengguna, pemicuan beberapa segmen dan/atau array pembisuan dapat ditetapkan.