JET Interactive Music Engine için İçerik Yazma Uygulaması
1 Giriş
1.1 Genel Bakış
Bu doküman, kullanıcı yönergelerini içeriyor için bir yazma uygulaması olan SONiVOX JET Creator, JET dosyalarını çalmak istiyorum. JET, küçük boyutlu yerleşik ses ve video Android platformunu çalıştıranlar da dahil olmak üzere cihazlar. Uygulamaların şunları yapmasına olanak tanır: MIDI'da etkileşimli müzik parçalarına yer verme reklam biçimleridir.
JET, SONiVOX'un
MIDI adı olan Gömülü Ses Birleştirici (EAS)
Android için oynatma cihazı. Hem
JET ve EAS motorları, Android yerleşik platformuna
JetPlayer
sınıf daha
temel özelliklerine sahip olacaktır. Bu nedenle, JET içeriği yazarı
JET Creator'da da oynatma sesinin tam olarak aynı olduğundan emin olun.
ve Android mobil cihazlarda oynatılan son Android uygulaması.
Grafik kullanıcıya ek olarak arayüzünde, JET Creator'da gerçekleşen iki ana işlev vardır. İlgili içeriği oluşturmak için kullanılan İlk olarak tüm kaynak verilerin (MIDI) dosyaları ve DLS dosyası), JET'in gerçek zamanlı özelliklerini ekleme ve bir JET oluşturma (.jet) dosyasını seçin. İkinci işlevsellik Gerçekleşen etkileşimli oynatma öğelerinin denetlenmesini içerir. .
JET Creator uygulaması şu dilde yazılmıştır: bu yüzden de elinizdeki mevcut sürümle birlikte Python ve WXWidgets yüklüdür. Hem Mac hem de Windows sürümü vardır.
1.2 Kısaltmalar ve Genel Terimler
Paydaş analizine hazırlanırken terimlere önem verir. JET, MIDI kullandığı için sıradan endüstri terimleri her zaman yeterli olmayabilir. Burada bu sayfada ve JET Creator'da kullanılan terimlerin tanımı uygulama:
Kanal: Belirli bir MIDI ile ilişkili MIDI verileri yardımcı olur. Standart MIDI, 16 MIDI kanalına izin verir Her biri genellikle belirli bir araçla ilişkilendirilen veriler.
Denetleyici: Şunlardan oluşan bir MIDI etkinliği: kanal numarası, denetleyici numarası ve denetleyici değeri. MIDI birçok denetleyici numarasını ses, ifade, sabit pedal gibi belirli işlevler. JET ayrıca özel kontrol bilgilerini Ses senkronizasyonu sağlamak için kullanılan MIDI sırası.
DAW: Dijital Ses İş İstasyonu. MIDI için yaygın olarak kullanılan bir terim ve Logic, SONAR, Cubase ve diğerleri gibi ses dizileme uygulamaları sunar.
EAS: Yerleşik MIDI Sentezleyici. İlgili içeriği oluşturmak için kullanılan SONiVOX MIDI sentezleyici motorunun adını öğrendim.
JET: Jet Interactive Engine. SONiVOX JET etkileşimli cihazın adı müzik motorumuz.
M/B/T: Ölçümler, ritimler ve değerler
Segment: Şarkının parçası olan nakarat veya ayet gibi bir müzik bölümü bileşimi belirler. JET'de bir segment, tüm MIDI dosyası veya bir bir MIDI dosyasının bir bölümünden türetilir.
SMF-0: Standart MIDI Dosya Türü 0, izlemesine olanak tanır ancak birden fazla MIDI kanalından oluşabilir dışı verilerdir.
SMF-1: Standart MIDI Dosya Türü 1, parçalar ve her bir parça da bir veya daha fazla MIDI kanalından dışı verilerdir. Genel kural olarak, her kanal bir bir SMF-1 dosyasında her zaman Ancak, birden fazla MIDI sahibi olabilir. tek bir kanaldaki kanallar veya aynı MIDI ile ilgili verileri içeren birden çok kanal yardımcı olur.
İzleme: Zamanlanmış bir etkinlik dizisi içeren DAW'deki tek bir kanal. Parçaların Kanallar. Bir MIDI dosyası, aynı MIDI kanalına sahip olması gerekir.
2 JET Interactive Music Konsepti
Etkileşimli müzik, müzik olarak tanımlanabilir. ve kullanıcı deneyimi gibi öngörülemeyen olaylara göre gerçek zamanlı olarak etkileşimi veya oyun oynama etkinlikleri gibi Bu sayede, etkileşimli müzik, Oyunun enerjisine ve ruh haline uyum sağladığı için ilgi çekicidir. hiç değişmeyen önceden derlenmiş bir besteden daha yakındır. Bazı uygulamalarda etkileşimli müzik, oyunun merkezinde yer alıyor. Guitar Hero çok popüler bir oyun. Son kullanıcı müzik notalarını başarıyla yakaladığında müzik kendi kendine uyum sağlar ve eşzamanlı olarak kalite puanından bahsedeceğiz. JET, müzik odaklı bu tür projelerin için de geçerlidir.
Paydaş analizine hazırlanırken etkileşimli müzik ve JET'yi kontrol etmek de bu yöntemlerden biridir. Bu bölüm JET'in özelliklerini ve bir oyunda veya yazılımda nasıl kullanılabileceğini açıklıyor bir uygulamadır. JET'nin küçük boyutlu bellekten tasarruf etmek için ayak izi sağlayan cihazlar (ör. Android özellikli mobil eller)
2.1.1 Veri Sıkıştırma
JET, müziklerin her zaman minimum miktarda veriyle genişletilmiş müzik dizileri oluşturmak için kullanılabilir. Müzik bestesi, şu kısımlara ayrılır: ve daha uzun bir parça hazırlayın. Sıralama, müzik dosyasıyla aynı anda düzeltilebilir. veya program denetimi altında dinamik olarak oluşturulabilir.
2.1.2 Doğrusal Müzik Örneği
.
Şekil 1: Doğrusal Müzik Parçası
Bu şemada, müzik segmentlerinin saklanıyor. Her segment ayrı bir MIDI olarak yazılır dosyası olarak kaydedebilirsiniz. İşleme sonrası aracı, dosyaları tek bir kapsayıcı dosyasında birleştirir. Her segment, sesi açılabilen veya açılabilen alternatif müzik parçaları içerebilir kullanabilirsiniz. Nakarattaki üflemeli aksan buna örnek olarak gösterilebilir yalnızca son kez çalınan bir video oyunu. Ayrıca, segmentler ters çevrilebilir veya azaltılabilir.
Diyagramın alt kısmı, tablodaki müzik segmentleri, doğrusal bir müzik parçası oluşturmak için yeniden birleştirilebilir. Burada Örneğin, köprü yarım adımlı bir anahtar modülasyonuyla sonlanır ve ve segmentleri eşleşecek şekilde yarım adım yukarıya kaydırılabilir.
2.1.3 Doğrusal Olmayan Müzik Örneği
.
Şekil 2: Doğrusal olmayan müzik parçası
Bu şemada, doğrusal olmayan bir müzik yapalım. Senaryoda birinci şahıs nişancı (FPS) var ve JET, arka plan müziği. Seviye yüklenirken giriş bölümü oynatılır ve ardından geçiş yapılır. Arama segmentine taşımak mümkün. Bu segment süresiz olarak tekrarlanıyor belki etkinlik gerçekleşene kadar küçük değişikliklerle (sesi kapatma/sesi açma özelliğini kullanarak) bir değişiklik gerektirdiğini unutmayın.
Oyuncu bir canavar barınağı yaklaştığında programı Tehlike segmentine senkronize edilmiş bir geçiş başlatır ve sesteki gerilim seviyesidir. Oyuncu sığınağa yaklaştıkça ekstra Gerginliği artırmak için parçanın sesi açılır.
Oyuncu, program, Savaş segmentine senkronize edilmiş bir geçiş başlatır. Savaş devam ederken segment süresiz olarak tekrar eder. Bonus İsabet Oyuncuya bir parçayı bildirmesi için dekoratif parçanın sesini geçici olarak açar aynı şekilde başka bir kanalın sesinin tekrar tekrar oyuncunun Özel Hasar kazandığını belirtmelidir.
Savaşın sonunda müzik geçiş yapıyor savaşın sonucuna göre bir zafer veya yenilgi segmentine konabilir.
2.1.4 Senkronizasyonun Sesi Kapatılması/Sesi Aç
JET ayrıca yoksaymayı ve aynı zamanda müzikteki etkinlikler için parçaların sesini açma. Örneğin, FPS oyununda bonuslarla ilgili müzikal etkinliklerin düzenlenmesini zarar görme potansiyeline sahip olur. Ancak sesi açma/kapatma Oyun etkinliğinin gerçekleştiği anda çalınan bir parça müzik klibi oluşturulmasına neden olabilir ortaya çıkarırız. Alternatif olarak, ancak diğer müzik parçalarıyla senkronize edilmez.
Ancak JET senkronizasyon motorunda başlatılması ve senkronizasyonun sürdürülmesi anlamına gelir. Bu Süsleme amaçlı bir dekorasyona birkaç kısa müzik klibi yerleştirerek plan yapar ve değişiklikleri uygular. Akıştaki bir MIDI etkinliği, Bir klibin başlangıcı, ikinci etkinlik ise klibin sonunu ifade eder. uygulama JET klip işlevini çağırır. Kanaldaki bir sonraki klibe izin verilir. tamamen senkronize edilmiş bir şekilde çalmasını sağlar. İsteğe bağlı olarak, parça sesi, ikinci bir MIDI etkinliği tarafından otomatik olarak kapatıldı.
.
Şekil 3: Senkronize Sesi kapatma/Sesi açma
2.2 Ses Senkronizasyonu
JET, ses senkronizasyon API'si sağlar Bu özellik, oyunun sesteki etkinliklerle senkronize edilmesine olanak tanır. Mekanizma temel alınan MIDI dosyasına yerleştirilmiş verilere dayanır içeriğin yazıldığı zamandır. JET motoru, işlem sırasında bir olay algıladığında uygulama programına bir geri çağırma oluşturur. Toplantının zamanı geri çağırma, sesteki gecikmeyi telafi etmek için ayarlanabilir ses ve görüntünün senkronize edilebilmesini sağlamak için bir oynatma sistemi kullanmanız gerekir. Aşağıdaki şema sol ve sol okla birlikte oynanan basit bir müzik oyunu sağa okla ritim tutmalısınız.
.
Şekil 4: Müzik Oyunu
Oklar, müzik dizisindeki etkinlikleri gösterir senkronize edilmesi gerekiyor. Bu durumda, mavi ok oyuncunun soldaki düğmeye basması gereken bir zamanı temsil eder ve kırmızı ok sağdaki düğme içindir. Sarı ok, oyun motoruna bilgi veriyor emin olmanız gerekir. Oynatıcıya belirli bir zaman aralığında izin verilir uygun tuşa basın.
Bir etkinlik alınırsa ve oyuncu bir düğmeye basılmadığında, zamanlayıcı pencerenin uzunluğunun yarısına ayarlanır. Öğe Zamanlayıcının süresi dolmadan düğmeye bastığında oyun, yoksa oyunda bir hata kaydedilir.
Oynatıcı bir zamanlayıcı, pencerenin uzunluğunun yarısına ayarlanır. Etkinlik alıcı zamanlayıcının süresi dolmadan alındığında oyun başarılı bir şekilde kaydedilir. Aksi takdirde oyun bir hata kaydeder. Oyun oynama bir yandan da gerçek olayın zamanına yakın olması gerekir.
3 JET İçerik Yazarlığına Genel Bakış
JET dosyaları yazmak ve bu dosyaların çalındığını dinlemek için etkileşimli bir şekilde, içerik yazarı iki uygulamada çalışır. birlikte sorunsuz çalışacak şekilde tasarlanmıştır. İlki, uygulama yönetiminin kullanıma hazır MIDI dizileme uygulamasıdır. VST (PC için) veya AU (Mac için) eklentilerini destekler. Burada yazar veya MIDI müzik dosyalarını synthesizer cihazı. İkinci uygulama, JET Creator uygulamasıdır. Burası yazar, MIDI müzik dosyalarını içe aktarır ve isteğe bağlı olarak bir DLS2 ses seti içerir) ve etkileşim için bir oynatma listesini temsil eder. İsteğe bağlı olarak, içerik yazarı bir enstrüman düzenleyici kullanan özel bir DLS enstrümanı grubu DLS Düzey 2 biçimi. Bu uygulamalardan biri MJSoft'un Awave uygulamasıdır.
Ek bilgiler için lütfen JET İçerik Yazma Yönergeleri dokümanlarına bakın ayrıntılı bir şekilde ele alacağız.
4 JET Creator'ı yükleme ve başlatma
JET Creator, bir Python dilidir bu nedenle, istemcinizde Python ve wxPython yüklü olmalıdır üretiliyor.
JetCreator, aşağıdaki özelliklerle geliştirildi ve test edildi:
Python Sürüm 2.5.4
wxPython Sürüm 2.8.7.1
Bunlar şu adresten indirilebilir:
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 ve wxPython'u yükledikten sonra, JET Creator uygulama dizinindeki tüm dosyaları zip dosyasını açtıktan sonra kopyalayıp bir klasöre koyabilirsiniz.
JET Creator'ı başlatmak için bir komuta gidin istemini girin ve dizini Python'u yüklediğiniz yere ayarlayın. Sonraki çalıştırma Python şu komutu kullanın:
python jetcreator.py
5 JET Creator'ı kullanma
5.1 Dosya Türleri
Birkaç farklı dosya türü vardır JET Creator ile ilişkili.
.jtc JET Oluşturan proje dosyası. Bu dosya, bir JET Creator projesinde yer alıyor. JET Creator'dan farklı bir yere kaydettiğinizde, bu dosya türü kaydedilir.
.jet JET Dosya. Bu çıkış dosyası, oluşturduğunuz her seferde JET Creator'dan otomatik JET Creator projenizi kaydedin. Bu, tüm JET öğelerini içeren dosyadır Android uygulamasının kullanacağı tek bir dosyaya yapıştırın. Bunu ver dosyasını Android uygulama geliştiricisine gönderebilirsiniz.
.mid dosyası olarak kaydedin. Bu, standart MIDI JET İçerik Oluşturucusu'nun segment oluşturmak için kullanacağı 1. tür
.seg Segmenti Dosya. Bu bir JET Segment dosyasıdır. MIDI ile aynı ada sahiptir dosyası olabilir.
.zip Posta Kodu Arşiv dosyası. Bir JET Arşivini Dışa Aktardığınızda JET Creator için gereken tüm öğeleri (dosyaları) içerir. Aktarmak için bunu kullanın JET Creator projelerini diğer kişilere iletmek.
5.2 İletişim Kutusunu Açma
Zaman JET Creator'ı ilk açtığınızda karşınıza aşağıdaki gibi açık bir iletişim kutusu takip ediliyor.
<img <="" kenarlık="0" yükseklik="285" p="" src="/statik/resimler/jet/jc_open_dlg.png" genişlik="450" /
Aç seçeneği, mevcut bir .jtc (JET Creator dosyası) dosyasını açar. Tarayıcıyı kullanma düğmesi ile .jtc dosyanızı kaydettiğiniz dizine gidin.
Yeni seçeneği, yeni bir .jtc dosyası oluşturur.
İçe aktar, bir JET Arşivi (.zip) dosyasını içe aktarır.
İptal, iletişim kutusunu iptal eder ve uygulamadan çıkar.
5 Ana Pencere
JET Creator'ın ana penceresi aşağıdaki resimde gösterildiği gibidir. Her biri göz önünde bulundurulduğunda yukarıdan aşağıya: segment görünümü, etkinlik görünümü ve zaman çizelgesi.
Segment görünümü bölümünde, hangi MIDI dosyasının bulunduğu ve hangi (isteğe bağlı olarak) Her segmentin türetildiği DLS2 dosyası. Ayrıca her bir her bir segmentin başlangıç ve bitiş zamanını ölçer, ters çevirerek, tekrar ve sessiz bayrak ayarları.
Etkinlik, Segment görünümünün hemen altındadır görünüm. Etkinlik görünümü bölümü, belirli bir öğeyle ilişkilendirilmiş tüm etkinlikleri gösterir bölümünü seçin. Etkinlikler yalnızca atandıkları segment olduğunda görüntülenir vurgulanıyor. Her etkinliğin türü, başlangıç ve bitiş noktaları, track ve midi gösterilir kanal ataması ve etkinlik kimliği.
Etkinlik görünümünün hemen altında zaman çizelgesi bulunur görüntüleyin. Zaman çizelgesi, belirli bir segmentin kaç ölçüm olduğunu ve o segmentle ilişkili etkinlikler. Zaman çizelgesi veya oynatılan segment. Bu pencerede bir etkinliği tetikleyebilirsiniz Segment oynatılırken zaman çizelgesindeki etkinliği tıklamanız yeterlidir görüntüleyin.
.
JET
İçerik Üretici Ana Penceresi
Ana ekranın sol tarafındaki düğmeler penceresinde şunları yapın:
Ekle: Yeni bir segment veya etkinlik eklemek için kullanılan segmenti veya etkinlik penceresini gösterir
Düzelt: Mevcut bir segmenti veya etkinliği güncellemek için kullanılan segmenti veya etkinlik penceresini gösterir
Sil: Seçili segmenti veya etkinliği siler (onay istenir)
Taşı: Seçili segmentleri veya etkinlikleri taşımanıza olanak tanıyan taşıma penceresini görüntüler zamanında
Tümünü Sıraya Gir: Sıra oynatma için tüm bölümleri (seçer)
Tümünü Sıradan Çıkar: Sıradan Çıkarlar tüm segmentlerin (seçimlerini kaldırır)
Oynat: Sıradaki tüm segmentlerin oynatılmasını başlatır. Bu düğme, varsa Durdur olarak değişir segmentler oynatılıyor
Eleme: Denetleme penceresini görüntüler (aşağıya bakın)
5.1 Segment Aralığı
Segment penceresi, belirli bir Resimde gösterildiği gibi, segmentin özellikleri atanır ve seçilir. bölümüne göz atın. Pencerenin sol tarafında, segment özellikleri JET dosyasında saklanır. Pencerenin sağ tarafı yazarın sesi kapatma işaretleri, ayarları tekrarlayıp ters çevirebilir ve segmenti, olası JET oyununda oynuyoruz.
Not: Seçme özellikleri (ses kapatma işaretleri, tekrar ve ters çevirme) JET içerik dosyasında depolanmaz (.jet) olarak tanımlanmıştır. Programlamada bu ayarlar doğrudan JET'ye yapılan API çağrılarına karşılık gelir arama motorudur. JET içeriği yazarı, bu kodları buraya ekleyerek segmenti, oyun sırasında uygulama API komutlarına yanıt verir.
Segment parametreleri aşağıdakileri yapar:
- Segment Adı - Kümeler segmentin adı
- MIDI Dosyası - Verinin kaynaklandığı MIDI dosyasının adı ve konumu segment türetilir. Hemen sağdaki düğme, arama sabit diskteki midi dosyalarını bulmak için kullanılan bir tarayıcıdır.
- DLS Dosyası - MIDI tarafından belirlenen DLS2 dosyasının adı ve konumu (varsa) dosyası kullanır.
- M/B/T itibarıyla - Segmentin başlangıç ölçüsü, ritmi
- M/B/T bitiş - Segmentin bitiş ölçüsü, ritmi ve ritmi
- Miktarı: - Oynatma sırasında geçerli segmentin miktarını belirlemek için değeri nicel olarak
Seçim alanları aşağıdaki gibidir:
- Parça Sesini Kapatma Sayısı - MIDI kanallarını gösterir (kanalları değil) emin olun. Parçayı tıkladığınızda onay kutusu, kanalın sesini kapatır.
- Kanal - Her bir girişe atanan MIDI kanalını parça
- Ad - Her bir parça için kanal adı meta etkinliğini (varsa) görüntüler
- Tekrarla - Oynatma sırasında bir segmentin kaç kez tekrarlanması gerektiğini belirtir
- Ters çevir - Bir segmentin yapması gereken yarı tonlarda veya yarım adımlardaki transpozisyonu gösterir oynatma sırasında ters çevir
- Denetleme penceresinin sağında birkaç ek düğme vardır. Bu işlemler şu şekilde yapılır:
- Tamam - Tamam'ı seçtiğinizde tüm segment ayarları onaylanır ve segment penceresi kapatılır
- İptal - İptal'i seçtiğinizde tüm değişiklikler iptal edilir ve segment penceresi kapatılır
- Çoğaltma - Aynı anda birden çok segment girmek için Segmenti Çoğalt penceresini görüntüler. Aşağıdaki bilgilere bakın.
- Segmenti Oynat/Durdur - Başlangıçlar veya atanan segment özelliklerini kullanarak segmentin oynatılmasını durdurur.
- MIDI Dosyasını Oynat/Durdur - MIDI dosyasının oynatılmasını başlatır veya durdurur segmente atanır.
- Duraklat/Devam Ettir - Çalmayı duraklatır veya devam ettirir.
5.2 Etkinlik Penceresi
Etkinlik penceresi, belirli bir segmentin Aşağıdaki resimde gösterildiği gibi etkinlik özelliklerinin atanması ve denetlenmesi gerekir. Alıcı: Bir segmente etkinlik ekleyecekseniz, yazar önce ekleyin ve Ekle düğmesini seçin. Bunu yaptığınızda Etkinlik, penceresini kapatın.
Etkinlik iki ana bölümden oluşur penceresini kapatın. Etkinlik penceresinin sol tarafındaki segment bölümü gösterilir gerekir. Belirli bir segment için segment özelliklerinin ne olduğunu gösterir. Etkinlik bölümü, etkinliklerin atanabileceği yerdir. Aşağıdakiler şu parametreleri kullanabilirsiniz:
Etkinlik Adı - Bir etkinliğe ad atar
Etkinlik Türü - Atanacak etkinlik türünü seçer.
M/B/T itibarıyla - Etkinlik için başlangıç ölçüsünü, ritmi ve ritmi belirler
M/B/T bitiş - Etkinlik için bitiş ölçüsünü, ritmi ve ritmi belirler (geçerliyse).
Parça - Etkinliğin belirli bir segmentteki hangi kanala uygulanacağını belirler
Kanal - Etkinliğin hangi MIDI kanalını uygulayacağını ayarlar . MIDI kanalı, MIDI ile eşleşmelidir parçanın kanalı
Etkinlik Kimliği - Etkinliğin etkinlik kimliğini ayarlar. Aynı etkinliğe birden fazla etkinlik atanabilir ve dolayısıyla bunları tanımlamak için Etkinlik Kimliği kullanılır
Denetleme penceresinin sağında birkaç ek düğme vardır. Bu işlemler şu şekilde yapılır:
Tamam - Tamam'ı seçtiğinizde tüm etkinlik ayarları onaylanır ve etkinlik penceresi kapatılır
İptal - İptal'i seçtiğinizde tüm değişiklikler iptal edilir ve etkinlik penceresi kapatılır
Çoğaltma - Aynı anda birden fazla etkinlik girmek için Etkinliği Çoğalt penceresini görüntüler. Görüntüleyin bölümüne göz atın.
Oynat/Durdur - Atanan segment özelliklerini kullanarak segmentin oynatılmasını başlatır veya durdurur. Segment oynatılırken etkinlikler tetiklenebilir ve seçmeye tabi tutulabilir.
Tetikleyici - Atanan etkinliği tetikler. Bu işlem, JET oyununun API komutunu kopyalar kullanması için bir yöntem belirler. Böylece, içerik yazarına eleştirel düşünme yetinizi kullanmanız gerekiyor.
Yoksay/Sesi Aç - Sesi kapat/Sesi aç, etkinliğin atandığı kanalın sesini kapatır veya açar
Duraklat/Devam Ettir - Çalmayı duraklatır veya devam ettirir.
Bir etkinliğin davranışını anlamak için, Oynat düğmesini seçebilir. Bu işlem, oynatmayı başlatır. Tetikleme düğmesi basıldığında tetikleyici etkinliği gönderir. Bu, söz konusu terimin yeşil tetikleyici etkinliği görebilirsiniz.
Not: Tetikleyici etkinlikleri, tetiklendiğinde bir segmentin tek bir parçasını oluşturur, ardından sonuna kadar bu parçanın tetikleyici segmentidir. Bu nedenle, kapatma işaretinin Bir tetikleyici etkinlik alırken sesi kapatacağı kanalın sesini kapatma.
Lütfen 6. Gelişmiş Seçenekler'i inceleyin. Aşağıda, tetikleyici etkinliklerin işleyiş ve davranışlarıyla ilgili ayrıntılar verilmiştir.
5.3 Pencereleri Çoğaltma
JET dosyaları oluştururken genellikle onlarca, hatta yüzlerce etkinlik oluşturabilirsiniz. Etkinlikleri taşımanız da gerekebilir. İlgili içeriği oluşturmak için kullanılan Çoğaltma ve Taşıma pencereleri buna olanak tanır. Her birinin iki Çoğaltma penceresi vardır. Birden fazla segment veya etkinlik oluşturarak. Bunlar aşağıdaki gibi görünür:
Segment Penceresini Çoğalt
Etkinlik Penceresini Çoğalt
Her iki Çoğaltma penceresi de aynı şekilde çalışır. İlk segmenti veya etkinliği oluşturduktan sonra Çoğalt düğmesini tıklayın. Parametreler aşağıdaki gibidir:
Ad Öneki - Oluşturulan her segmentin veya etkinliğin adının önekini ayarlar
M/B/T itibarıyla - İlk segment veya etkinlik için başlangıç zamanını ayarlar
Artış M/B/T - Segmentler veya oluşturulan etkinlikler arasındaki süreyi ayarlar.
Sayı - Oluşturmak istediğiniz segment veya etkinlik sayısını ayarlar. Sayı değerinin MIDI dosyasının uzunluğundan fazla ( veya segment (etkinlikler için) içeriyorsa bu nesneler oluşturulmaz.
Önizleme - Önizleme, eklemek için Tamam demeden önce oluşturulan nesneleri incelemenize olanak tanır. gerekir.
5.4 Pencereleri taşıma
Taşı işlevi, İşlevi, birden fazla segmenti veya etkinliği düzenlemenize olanak tanıyacak şekilde çoğaltın bu durumda, bunları zamanında taşıyın. Replicate gibi iki Hareket var. biri Segmentler, diğeri Etkinlikler için. Pencereler takip etmek için:
Etkinlik Penceresini Taşı
Taşı özelliğini kullanmak için önce segmentleri seçin veya zaman taşımak istediğiniz etkinlikleri seçip Taşı düğmesini tıklayın. Parametreler şu şekilde:
M/B/T itibarıyla - İlk segment veya etkinlik için başlangıç zamanını ayarlar
Artış M/B/T - Nesneleri taşımak istediğiniz zamanı M/B/T cinsinden ayarlar.
Önizleme - Önizleme, "hareket etmek için Tamam" demeden önce oluşturulan nesneleri incelemenize olanak tanır. gerekir.
5.5 İnceleme Aralığı
Ana menüde Denetim düğmesini penceresinde Denetim penceresi açılır. Bu uygulama programcısının etkileşimli hale gelebileceği bu durum, mobil uygulamada veya oyunun kendisinde gerçekleşebilir.
JET Denetim Penceresi
Belgenin hazırlanmasında dört ana bölüm denetleme dönemi. En soldaki bölümde, kullanılabilir segmentler ve ne kadar sürdüğünü gösterir. Ortadaki bölümde, yayınlanan reklamlarla ilgili segmentlerin oynatılmak üzere sıraya alındığını ve oynatma durumlarının ne olduğunu görebilirsiniz. Uzak sağdaki bölümde, şu anda oynatılan segment için ses kapatma işaretleri görüntüleniyor. İlgili içeriği oluşturmak için kullanılan zaman çizelgesi bölümü ana pencereyle aynıdır. Gösterilen o anda oynatılan segmentin yanı sıra herhangi bir etkinlik tetikleyicisinin görsel bir görüntüsü seçmeniz gerekir.
Denetim penceresi, sizinle en alakalı oynatma için herhangi bir sırada olan herhangi bir segment. Bunu yapmak için, ilgilendiğiniz segmenti istek üzerine ekle'ye dokunun. Bu segment, sıra penceresinde görünür ve (ilk segmentse) oynamaya başlayın. Daha sonra, kampanyalarınızın oynatma için sıraya ekleyin. Segmentler sona erdiğinde, sıradaki bir sonraki segment oynatılmaya başlar. Olduğu gibi JET Creator'ın diğer pencerelerinde de sesi kapatabilir, açabilir, etkinlik kliplerini tetikleyebilir ve daha pek çok şey yapabilirsiniz. oynatmaya devam eder.
Özellikle düğmeler aşağıdaki gibi çalışır:
Sıra - Seçili segmenti sıraya yükler ve oynatma işlemini başlatır
İptal et ve Sıraya ekle - seçilen segment için sıraya alınmadan önce oynatılan segmenti iptal eder. oynatma
Geçerli Olanı İptal Et - sırada oynatılan segmenti iptal eder ve sonraki segment
Durdur - sıraya alınmış tüm segmentlerin oynatılmasını durdurur
Tümünün Sesini Kapat - geçerli segmentteki tüm parçaların sesini kapatır
Hiçbirini Yoksay - geçerli segmentteki tüm parçaların sesini açar
Sesin Orijinal Sesi Kapatma Sayısı - geçerli segment için orijinal kapatma işaretlerini ayarlar
Bu oynatma seçeneklerinin kombinasyonu bir yazarın veya uygulama programcısının herhangi bir davranışı seçmesine olanak karşılaşabileceği durumlar olabilir.
5.6 JET İçerik Üretici Menüleri
JET Creator menüleri şunlara erişim sağlar: ana penceredeki parametrelerin birçoğuna ve birkaç ek parametreye yer verilir.
5.6.1 Dosya Menüsü
Dosya Menüsü şunları içerir: öğeler:
Yeni - Yeni JET Creator dosyası (.jtc) oluşturur
Açık - Mevcut bir JET Creator dosyasını açar
Kaydet - Açık olan JET Creator dosyasını kaydeder
Farklı Kaydet - Açık olan JET Creator dosyasını yeni bir dosyaya kaydeder
Projeyi İçe Aktar - JET İçerik Üretici arşivini (.zip) içe aktarır
Projeyi Dışa Aktar - JET İçerik Üretici arşivini (.zip) dışa aktarır
Çıkış - Uygulamadan çıkar
5.6.2 Menüyü Düzenle
Düzenle Menüsü şunları içerir: öğeler:
Geri al - Geri alma, yapılan son düzenlemeyi geri alır
Yeniden yap - Yeniden yap, son geri alma işlemini yeniden yapar
Kes - Seçili parametreyi panoya kopyala ve Seçimi sil
Kopyala - Seçili parametreyi panoya kopyala ve seçimi koru
Yapıştır - Seçilen parametreyi yapıştır
5.6.3 JET
Düzenle Menüsü şunları içerir: öğeler:
Mülkler - JET içerik üreticilerinin öncelikler penceresini açar. Bu pencerede, JET dosyası için şu koşulları karşılamanız gerekir:
Telif Hakkı Bilgileri: JET dosyasına eklenecek telif hakkı bilgilerini içerir
Chase Kumandaları: Denetleyicileri takip etme seçeneği (açık/kapalı). Bu genellikle AÇIK duruma getirin.
Boş Kanalları Sil - Tüm boş MIDI kanallarını siler
5.6.4 Segmentler
Segmentler Menüsü şunları içerir: öğeler:
Segment Ekle - Segment penceresini açar
Segmenti Güncelle - Segment özelliklerini günceller
Segmenti Sil - Geçerli segmenti Segment Listesi
5.6.5 Yardım
Yardım Menüsü en azından şu öğeler:
JET İçerik Üretici Yardımı - PDF yardım dokümanı başlatacak veya çevrimiçi yardıma gidecek
Hakkında - JET Creator sürüm numarası, SONiVOX bilgileri
6 Tetikleyici Etkinlik Hakkında Açıklama
MIDI'yı kırma bağımsız (doğrusal olmayan) segmentlere ayırmanızı ve bu segmentleri uzun bir oyunda oyun içindeki etkinliklere dayalı olarak çalmak, JET müzik dosyalarının olmasını sağlar. Tetikleyici etkinlikler, etkileşimli oynatma için ek bir yöntemdir. Etkileşimli bir oyunda veya uygulamada her ikisi de birlikte kullanılır.
Tetikleyici etkinlikler aşağıdakileri sağlar:
- Bir MIDI segmenti içindeki parçalar, oyuna bağlı olarak açılabilir veya kapatılabilir etkinlikler. Örneğin, besteci biri hızlı olmak üzere iki davullu parça yazabilir ve biri yavaş. Bir oyunda aksiyon hızlıysa hızlı davul pisti oyna. Oyundaki aksiyon yavaşsa yavaş davullu parça da çalabilir.
- Kullanıcı işlemleri, bir kullanıcı işlemi için bir müzik dosyasına önceden eklenmiş olmalı. Referans olarak skoru veya oyunla ilgili diğer işlemleri içerebilir. ziyaret edin.
- Seviyeler veya işlem dizileri arasındaki müzikal geçişler senkronize edileceklerdi.
JET, gelişmiş kontrol panelinde standart MIDI CC kullanır etkinlikleri yürütmek ve ses senkronizasyonu sağlamak için kullanılır. Kumandalar özellikleri, spesifikasyon tarafından özel bir kullanım için tanımlanmayanlardan bazılarıdır. Denetleyicilere özgü tanımlar aşağıdaki gibidir:
Kumandalar 80-83 Kullanımı için ayrılmış uygulama
Kumanda 102 JET etkinlik işaretçisi
Kumanda 103 JET klip işaretçisi
Kumandalar 104-119 Gelecekte kullanım için ayrıldı
6.1 JET Klip İşaretçisi (CC103)
Denetleyici 103, işaretleme için ayrılmıştır tarafından tetiklenebilecek bir MIDI kanalındaki klipler JET_TriggerClip API çağrısı. Klip kimliği, klibin bitimine göre denetleyici değerine ayarlanır. Bit 6, klibin başlangıcını göstermek için bir olarak ayarlanır ve sıfır olarak ayarlayın.
Örneğin, klip içeren bir klibi tanımlamak için Kimlik: 1, yazar bir MIDI denetleyicisi ekler klibin başında denetleyici=103 ve value=65 olan etkinlik ve başka bir klibin sonunda denetleyici=103 ve value=1 olan etkinlik. JET_TriggerClip() işlevi 1 klip kimliği ile çağrılır; parça sesi açılır, kumanda değeri 65 ile karşılaşıldığında ses açılır ve kumanda değeri 1 ile karşılaşıldı.
Şekil 5: Senkronize Klip
Yukarıdaki şekilde JET_TriggerClip() işlevi, ilk denetleyici etkinliği olan Track'den önce çağrılır İlk kumanda etkinliği gerçekleştiğinde 3'ün sesi açılır, ilk klip açılır. oynatır ve ikinci kumanda etkinliği gerçekleştiğinde parçanın sesi kapatılır. Eğer JET_TriggerClip() işlevi, ilk denetleyici etkinliği başlatıldıktan sonra Bu durumda, üçüncü kumanda etkinliği gerçekleştiğinde 3. Parça'nın sesi açılır. klip oynatılır ve dördüncü klibin sesi tekrar denetleyici etkinliği gerçekleşir.
Not: Normalde, klibi içeren parçanın sesi uygulama tarafından kapatılır. Segment, JET_QueueSegment() çağrısıyla ilk kez sıraya alındığında. Eğer sesi kapatılmadığından, klip her zaman Jet_TriggerClip() çağrılana kadar oynatılır klip kimliği girin.
6.2 JET Etkinlik İşaretçisi (CC102)
Denetleyici 102, işaretleme için ayrılmıştır MIDI akışlarındaki belirli etkinlikler işlevi görüyor. Şu anda tanımlanan tek değer 0'dır. Bu, kullanabilirsiniz.
Normalde JET, bir sonraki videoyu oynatmaya MIDI devre dışı bırakıldığında segment (veya geçerli segmenti tekrar eder) meta etkinliğiyle karşılaşıldığından emin olun. Bazı MIDI oluşturma araçları, parkur sonu işaretçisini doğru şekilde yerleştirmeyi zorlaştırır. segmentler birleştirildiğinde senkronizasyon sorunlarına neden olur.
Bu sorunun önüne geçmek için, yazarı JET segment sonu işaretçisi (denetleyici=102, değer=0) döngüyü izleyebilirsiniz. Segment sonu işaretçisiyle karşılaşıldığında, sonraki segment tetiklenir veya mevcut segment döngüye alınırsa oynatma , segmentin başında devam ettirilir.
Segment sonu işaretçisi, bir müzik figürünün sonuna kadar izlenmesini sağlamak için bir sonraki segmentin başlangıcını işaret eder. Örneğin içerik yazarı 5'in 1. vuruşuyla biten davul dolgulu 4 çubuklu bir segment oluşturun çubuğu, segmentin doğal bitişinin ötesinde bir çubuk. Segmentin sonu 4. çubuğun sonundakiişaretçi ise sonraki segment tetiklendi, ancak davul doldurma işlemi bir sonraki segmente paralel olarak devam edecek müzikle süreklilik sağlar.
Şekil 6: Segment Sonu İşaretçisi
6.3 Uygulama Denetleyicileri (CC80-83)
Uygulama, değişiklik gösterebilir. Bu aralıktaki bir kumandayla karşılaşıldığında etkinlik, uygulama tarafından sorgulanabilecek bir etkinlik sırasına girilir. Olası kullanımlardan bazıları, video etkinliklerini sesli senkronize etmek ve bir MIDI segmentindeki noktayı sıralayarak bölümünü seçin. Uygulama tarafından izlenen denetleyici aralığı değiştirilebilir tarafından uygulanır.
7 JET İçerik Üretici Kuralı
7.1 Görevlerin Sırası
Tüm projelerde olduğu gibi, bestenize başlamadan önce oyun tasarımcısı ve programcıyla etkileşimli müzik şemasını tartışmak ve tasarlamak en iyisidir. Bir taslak ve/veya spesifikasyon, oyun yayınlandıktan sonra sizi yeniden yapmak zorunda kalmaktan kurtarabilir.
Genel olarak, önce bestelemede kullandığınız şekilde seçtiğiniz DAW'ye müziklerinizi yazmanızı, ardından uygulama için gereken şekilde nihai MIDI dosyasını bölmenizi istersiniz. Ardından JET Creator'a geçin ve tüm müzik segmentlerinizi, sırayla çalındıklarında önizlemesini en kolay şekilde yapacak şekilde oluşturun. Son olarak, segmentleri Android oyunu aracılığıyla kontrol etmek için JET Etkinliklerini ekleyin ve JET Creator'da bu segmentleri gerektiği gibi kontrol edin. Son olarak, projeyi JET Creator'da kaydedin ve oyuna entegre etmesi için .jet dosyasını programcıya aktarın. Önizlemeden sonra MIDI dosyalarında ve JET Creator özelliklerinde değişiklikler olabilir.
7.2 Belleği Koruma
Belleği korumaya çalışıyorsanız, mümkün olduğunca az MIDI dosyası oluşturun ve o MIDI dosyasından birkaç segment oluşturun. Örneğin, A, B, C olmak üzere üç bölümden oluşan 12 çubuklu bir MIDI dosyası çok daha uzun bir şarkı oluşturabilir. Bir MIDI dosyasına referans veren birden çok segment oluşturup bunları istediğiniz gibi sıralamanız yeterlidir. Örneğin, A, A, B, A, C, A, B, A, A 36 çubuk bir şarkı oluşturur. Tekrarlar eklemek, segmentleri ters çevirmek ve parçaların sesini etkileşimli olarak kapatıp açarak daha da ilgi çekici hale getirmek için JET'i kullanın.
7.3 Çoğaltma
Segment veya etkinlik eklemeyi hızlandırmak için Çoğalt komutunu kullanın. Çoğaltma aynı anda birden fazla segment veya etkinlik ekleyebilir. Okumaların kolay olması için ofset parametresi ve önek adlandırma kuralı kullanır. MOVE komutu ayrıca birden çok etkinliği belirli sayıda ölçü, vuruş veya çizgiye göre taşımak için kullanılabilir.
7.4 Etkileşim Seçenekleri
JET'de mümkün olan birkaç etkileşimli ses kavramı vardır. Aşağıda birkaç örnek verilmiştir. Yine de geliştiricilerin aklımıza gelmeyen başka örnekler sunacağını umuyoruz. Bunlar şu şekildedir:
7.4.1 Birden Çok Segmentin Tetiklenmesi
Bu yöntemde uygulama, oyundaki etkinliklere dayalı olarak belirli segmentleri tetikler. Örneğin, çok fazla çarpışma olan bir koridor 1. segment'i tetikleyebilir, kavga içermeyen bir koridor ise segment 2'yi tetikleyebilir. Bu yöntemle JET TriggerClips'i bu yöntemle kullanmak çok daha fazla çeşitlilik oluşturur.
7.4.2 Dizilerin sesini kapatma
Bu yöntemde uygulama, tek bir MIDI sırasında belirli parçalar için sesi kapatma ve açma etkinliklerini tetikler. Örneğin, çok fazla dövüş içeren bir koridorda 1-16 arasındaki MIDI parçaları oynatılabilirken, kavga içermeyen bir koridorda aynı midi dosyası, ancak 9-16 arasındaki sesler sessize alınabilir. Bu yöntemle JET TriggerClips'i bu yöntemle kullanmak çok daha fazla çeşitlilik oluşturur.
7.4.3 Müzik Temelli Oyun
Müzik odaklı oyunlar, görsel etkinliklerin nasıl gösterileceğini müzik içeriği belirlemesi açısından Guitar Hero ve JETBOY'un yaptıklarına benziyor. Uygulama, daha sonra kullanıcının grafik olaylara verdiği yanıtı sorgular ve buna karşılık olarak müziği etkileşimli olarak değiştirir. Bu yöntemde oyun, MIDI dosyasına yerleştirilmiş ve oyunun gerçek zamanlı olarak okuduğu MIDI denetleyicileri olan JET Uygulama Etkinliklerini kullanır. Kullanıcı yanıtına bağlı olarak birden fazla segment tetikleme ve/veya sessize alma dizisi ayarlanabilir.