בקשה ליצירת תוכן עבור JET Interactive Music Engine
1 מבוא
1.1 סקירה כללית
המסמך הזה מכיל את ההנחיות למשתמשים עבור יוצר SONiVOX JET, אפליקציה לכתיבת תוכן לעשות אודישן לקובצי JET. JET הוא נגן מוזיקה אינטראקטיבי לאפליקציות קטנות מוטמעות כולל מכשירים שבהם פועלת פלטפורמת Android. הוא מאפשר לאפליקציות לכלול פסקולים אינטראקטיביים של מוזיקה ב-MIDI אחר, שמגיב בזמן אמת לאירועי משחק ולאינטראקציה של משתמשים.
JET פועל בשילוב עם SONiVOX
סינתיסייזר אודיו מוטמע (EAS) שהוא ה-MIDI
מכשיר הפעלה ל-Android. גם
מנועי JET ו-EAS משולבים בפלטפורמה המוטמעת של Android באמצעות
וגם כיתה אחת (JetPlayer
)
כמו שמובנות באפליקציה של JET Creator. לכן, מחבר התוכן של JET יכול
לוודא שההפעלה תישמע בדיוק אותו הדבר ב-JET Creator
ואת האפליקציה הסופית של Android שמופעלת במכשירים ניידים עם Android.
בנוסף למשתמש הגרפי יש שתי פונקציות עיקריות שמתקיימות ב-JET Creator. קודם כל, צריך לאסוף את כל נתוני המקור (MIDI) קבצים ו-DLS), הוספת מאפיינים של JET בזמן אמת ובניית JET (.jet) שבו תשתמש האפליקציה ל-Android. הפונקציונליות השנייה כוללת בחינה של רכיבי ההפעלה האינטראקטיביים, כפי שהם מתרחשים באפליקציה ל-Android.
האפליקציה של JET Creator כתובה ב בשפת התכנות Python, ולכן צריך להשתמש בגרסה הנוכחית של Python ו-WXWidgets שהותקנו. יש גם גרסת Mac וגם גרסת Windows.
1.2 קיצורים ומונחים נפוצים
חשוב להשתמש בקבוצה משותפת של כדי לצמצם את הבלבול. מכיוון ש-JET משתמש ב-MIDI בדרך ייחודית, ייתכן שמונחים רגילים בתחום לא תמיד מספיקים. אלה סוגי המודלים של המונחים, כפי שהם משתמשים בהם בדף הזה וביוצר ה-JET יישום:
ערוץ: נתוני MIDI שמשויכים ל-MIDI ספציפי . שימוש ב-MIDI רגיל מאפשר להשתמש ב-16 ערוצים של MIDI וכל אחד מהם משויך בדרך כלל לכלי ספציפי.
בקר: אירוע MIDI שכולל מספר הערוץ, מספר הבקר וערך נאמן המידע. MIDI המפרט משייך מספרים רבים של בקרים בנוסף לפונקציות ספציפיות, כמו עוצמת קול, ביטוי, דוושת קיימא וכו'. בנוסף, JET משתמשת באירועי בקר כאמצעי הטמעה של נתוני בקרה מיוחדים רצף MIDI שמיועד לסנכרון אודיו.
DAW: תחנת עבודה של אודיו דיגיטלי. מונח נפוץ ל-MIDI ויישומי רצף אודיו כגון Logic, SONAR, Cubase ועוד.
EAS: סינתיסייזר MIDI מוטמע. של מנוע הסינתיסייזר SONiVOX MIDI.
JET: Jet Interactive Engine. שם המכשיר האינטראקטיבי של SONiVOX JET למנוע מוזיקה.
M/B/T: מדידות, ביטים וקרציות
קטע: קטע מוזיקלי, כמו פזמון או בית שהוא רכיב של את ההרכב הכולל. ב-JET, קטע יכול להיות קובץ MIDI שלם או נגזר מחלק של קובץ MIDI.
SMF-0: Standard MIDI File Type 0, קובץ MIDI שמכיל להיות טראק, אבל הוא יכול להיות מורכב מכמה ערוצים של MIDI .
SMF-1: קובץ MIDI סטנדרטי מסוג 1, קובץ MIDI שמכיל סוג נוסף כך שכל טראק עשוי להיות מורכב מערוץ אחד או יותר של MIDI . המוסכמה, כל ערוץ מאוחסן טראק נפרד בקובץ SMF-1. אבל יכול להיות שיהיו כמה מכשירים ב-MIDI. ערוצים שנמצאים בטראק יחיד או בכמה טראקים שמכילים נתונים עבור אותו MIDI .
טראק: טראק יחיד ב-DAW שמכיל רצף של אירועים מתוזמנים. אל תבלבל בין הטראקים ערוצים. קובץ MIDI עשוי להכיל הרבה טראקים שבהם משתמשים כמה טראקים אותו ערוץ MIDI.
2 הקונספט של מוזיקה אינטראקטיבית ב-JET
מוזיקה אינטראקטיבית מוגדרת כמוזיקה שמשתנה בזמן אמת בהתאם לאירועים לא צפויים כמו אינטראקציות או אירועים של הפעלת משחקים. ככה, מוזיקה אינטראקטיבית מעוררות עניין, כי יש לו את היכולת להתאים לאנרגיה ולמצב הרוח של המשחק קרוב יותר מיצירה המורכבת מראש שלא משתנה אף פעם. באפליקציות מסוימות ומשחקים, מוזיקה אינטראקטיבית היא חלק מרכזי במהלך המשחק. גיבור הגיטרות הוא אחד משחק כל כך פופולרי. כשמשתמש הקצה יוצר בהצלחה את התווים המוזיקליים יורדת, המוזיקה מתאימה את עצמה ובו-זמנית שומרת על דירוג של הצלחות וכישלונות. JET מאפשר להפעיל מוזיקה מסוגים כאלה גם משחקים.
יש כמה שיטות ליצור שליטה במוזיקה אינטראקטיבית וב-JET היא אחת השיטות האלה. הקטע הזה מתארת את התכונות של JET ואת אופן השימוש בהן במשחק או בתוכנה תרגום מכונה. הוא גם מתאר איך ניתן להשתמש ב-JET כדי לחסוך בזיכרון מכשירים ניידים, כמו טלפונים ניידים שתומכים ב-Android.
2.1.1 דחיסת נתונים
JET תומך בפורמט מוזיקה גמיש ניתן להשתמש בקטעים מוזיקליים מורחבים עם כמות מזערית של נתונים. יצירה מוזיקלית מחולקת לקטעים שאפשר ליצור ברצף כדי ליצור קטע ארוך יותר. אפשר לשנות את הגדרת הרצף ברגע שקובץ המוזיקה נוצר, או שניתן ליצור אותו באופן דינמי תחת שליטת התוכנית.
2.1.2 דוגמה למוזיקה לינארית
איור 1: קטע מוזיקה לינארי
בדיאגרמה הזו רואים את השימוש בקטעים מוזיקליים. . כל קטע נוצר כ-MIDI נפרד חדש. כלי לאחר עיבוד משלב את הקבצים לקובץ קונטיינר אחד. כל קטע יכול לכלול טראקים של מוזיקה חלופיים שאפשר להשתיק או לבטל את ההשתקה כדי ליצור עניין נוסף. לדוגמה, הטעמה מפליז במקהלה שמופעל רק בפעם האחרונה. בנוסף, ניתן לבצע טרנספורמציה של פלחים או למטה.
בחלק התחתון של הדיאגרמה ניתן לראות איך אפשר לשלב את הקטעים המוזיקליים מחדש כדי ליצור יצירה מוזיקלית לינארית. כאן לדוגמה, יכול להיות שהגשר יסתיים במודול מפתח של חצי שלב והשאר ניתן להפוך פלחים לחצי צעד כדי להתאים.
2.1.3 דוגמה למוזיקה לא ליניארית
איור 2: קטע מוזיקה לא ליניארי
בתרשים הזה, אנחנו רואים מוזיקה לא ליניארית חלק מסוים. התרחיש הוא משחק יריות בגוף ראשון (FPS) ו-JET מספק מוזיקת רקע. המבוא מופעל בזמן שהרמה נטענת ואז עוברת בשליטת התוכנית לפלח של החיפוש. הקטע הזה חוזר על עצמו ללא הגבלת זמן, אולי עם הבדלים קטנים (באמצעות תכונת ההשתקה/ביטול ההשתקה) עד לפעילות במשחק גורם לשינוי.
כשהשחקן מתקרב למאגר מפלצות, מתחילה מעבר מסונכרן לקטע הסכנה, וכך מגדילה את את רמת המתח באודיו. ככל שהשחקן מתקרב למחשת, נוספים ההשתקה של הטראקים לא מושתקת כדי להגביר את המתח.
כשהשחקן נכנס לקרב עם Monster, התוכנית מתחילה מעבר מסונכרן לקטע 'קרב'. הקטע חוזר על עצמו ללא הגבלת זמן ככל שהלחימה נמשכת. היט של בונוס מבטל באופן זמני השתקה של טראק דקורטיבי שמיידע את השחקן על מתקפה מוצלחת, ובאופן דומה, השתקה של מסלול נוסף מבוטלת באופן זמני שמציין שהשחקן מקבל 'נזק מיוחד'.
בסיום הלחימה, המוזיקה עוברת לקטע ניצחון או תפיסה על בסיס תוצאת הקרב.
2.1.4 סנכרון השתקה/ביטול השתקה
JET יכול גם לסנכרן את ההשתקה ביטול השתקה של טראקים לאירועים במוזיקה. לדוגמה, במשחק ה-FPS, רצוי למקם אירועים מוזיקליים שקשורים לבונוסים נזק קרוב ככל האפשר לאירוע המשחק. עם זאת, פשוט מבטלים את ההשתקה טראק ברגע שבו מתרחש אירוע המשחק עשוי להוביל ליצירת קליפ של מוזיקה מתחיל מהאמצע. לחלופין, אפשר להתחיל קליפ בהתחלה, אבל הוא לא יסונכרן עם טראקים אחרים של מוזיקה.
עם זאת, במנוע הסנכרון של JET, יכול להתחיל ברגע המתאים הבא ולשמור על סנכרון. הזה שאפשר להשיג על ידי הצבת כמה קטעי מוזיקה קצרים על גבי טראק. המשמעות של אירוע MIDI בשידור ההתחלה של קליפ ואירוע שני מציינים את סוף הסרטון. כאשר האפליקציה קוראת לפונקציית הקליפ עם JET, הקליפ הבא בטראק מותר כדי להשמיע את המוזיקה באופן מלא. אופציונלי: הושתק באופן אוטומטי על ידי אירוע MIDI שני.
איור 3: השתקה/ביטול השתקה מסונכרנת
2.2 סנכרון אודיו
JET מספקת ממשק API לסנכרון אודיו שמאפשר סנכרון של מהלך המשחק לאירועים באודיו. המנגנון מסתמכת על נתונים שמוטמעים בקובץ ה-MIDI ב- השעה שבה נוצר התוכן. כשמנוע ה-JET מזהה אירוע במהלך היא יוצרת קריאה חוזרת (callback) לתוכנת האפליקציה. תזמון של ניתן להתאים את ה-callback כדי לפצות על זמן אחזור באודיו את מערכת ההפעלה כדי שניתן יהיה לסנכרן את האודיו והווידאו. התרשים הבא דוגמה למשחק מוזיקה פשוט שכולל לחיצה על שמאל חיצים ימינה בזמן עם המוזיקה.
איור 4: משחק מוזיקה
החיצים מייצגים אירועים ברצף המוזיקה שבו צריך לסנכרן אירועי משחק. במקרה הזה, החץ הכחול מייצג זמן שבו השחקן אמור ללחוץ על הלחצן השמאלי, החץ האדום מיועד ללחצן הימני. החץ הצהוב שמסמן את מנוע המשחק שהרצף הושלם. לנגן מותר חלון זמן מסוים לפני ואחרי האירוע כדי להקיש על המקש המתאים.
אם מתקבל אירוע והנגן אם לא לחצת על לחצן, הטיימר מוגדר לחצי מאורך החלון. אם השחקן לוחץ על הלחצן לפני שתוקף הטיימר פג, במשחק נרשם מוצלחת, ואם לא, המשחק יתעד כישלון.
אם השחקן לוחץ על הלחצן שלפני כאשר האירוע מתקבל, הטיימר מוגדר לחצי מאורך החלון. אם אירוע מתקבלת לפני שהתוקף של הטיימר פג, המשחק נרשם כהצלחה, ואם לא, המשחק מתעד כישלון. מהלכי משחק עשויים לכלול גם בונוסים על קבלת קרוב למועד האירוע עצמו.
3 סקירה כללית בנושא כתיבת תוכן ב-JET
כדי ליצור קובצי JET ולשמוע את ההפעלה שלהם באופן אינטראקטיבי, מחבר התוכן יפעל בשני אפליקציות שתכננו לפעול יחד בצורה חלקה. הראשונה היא אפליקציה לעיבוד רציף של MIDI כמה שיותר בקלות. תומך ביישומי פלאגין VST (ל-PC) או AU (ל-Mac). כאן המחבר יכתוב את קובצי המוזיקה ב-MIDI באמצעות הפלאגין מכשיר סינתיסייזר. האפליקציה השנייה היא האפליקציה JET Creator. כאן המחבר ייבא את קובצי המוזיקה שלו מ-MIDI (ואופציונלית גם מערך קול של DLS2) ולהגדיר את התנאים של אינטראקציה בתוך המשחק שמופעל בו JET. אופציונלי: מחבר התוכן יכול ליצור קבוצה מותאמת אישית של כלי DLS באמצעות עורך כלים שתומך פורמט DLS Level 2. אחת מהאפליקציות האלה היא Awave מ-MJSoft.
אפשר לקרוא מידע נוסף במסמכים בנושא ההנחיות לכתיבת תוכן של JET פרטים על יצירת תוכן.
4 התקנה והפעלה של יוצר JET
JET Creator היא שפת python ולכן צריך להתקין Python ו-wxPython במחשב.
JetCreator נוצר ונבדק עם:
גרסה 2.5.4 של Python
גרסה 2.8.7.1 של wxPython
אפשר להוריד את התכנים האלה כאן:
מחשב:
- http://www.python.org/download/releases/2.5.4/
- http://www.wxpython.org/download.php
Mac
- http://wiki.python.org/moin/MacPython/Leopard
- http://www.wxpython.org/download.php
אחרי שמתקינים Python ו-wxPython, פשוט מחלצים או מעתיקים את כל הקבצים בספריית האפליקציה של JET Creator תיקייה בכונן הקשיח שלך.
כדי להפעיל את JET Creator, עוברים לפקודה ומגדירים את הספרייה שבה התקנתם את Python. ההרצה הבאה של python באמצעות הפקודה:
python jetcreator.py
5 שימוש ב-JET Creator
5.1 סוגי קבצים
יש כמה סוגי קבצים שונים המשויך ל-JET Creator.
.jtc JET קובץ פרויקט של יוצר. קובץ זה מכיל את כל המידע המשויך אל פרויקט JET Creator. כששומרים או שומרים פריטים ב-JET Creator, הקובץ הזה הסוג נשמר.
.jet JET קובץ קובץ הפלט הזה נוצר באופן אוטומטי מ-JET Creator בכל פעם שומרים את הפרויקט ב-JET Creator. זהו הקובץ שמקבץ את כל נכסי ה-JET יחד לקובץ יחיד שבו תשתמש האפליקציה ל-Android. אני רוצה לתת את זה אל מפתח האפליקציה ל-Android.
קובץ .mid זהו ה-MIDI הסטנדרטי מקלידים את הקובץ הרצוי של JET Creator כדי ליצור פלחים.
פלח .seg קובץ זהו קובץ פילוח JET. השם שלו זהה ל-MIDI שהוא מפנה אליו, אבל מכיל מידע נוסף על הפלחים.
.zip Zip קובץ ארכיון. כשמייצאים ארכיון JET, נוצר קובץ ZIP מכיל את כל הנכסים (קבצים) שדרושים ל-JET Creator. שימוש בפריט הזה כדי להעביר פרויקטים של יוצרים ב-JET לאנשים אחרים.
5.2 פתיחת תיבת דו-שיח
מתי בפעם הראשונה שמפעילים את JET Creator מוצגת לך תיבת דו-שיח פתוחה כגון במעקב.
<img <="" גבול="0" גובה="285" p="" src="/static/images/jet/jc_open_dlg.png" רוחב="450" />
האפשרות פתיחה תפתח קובץ .jtc (קובץ JET Creator) קיים. שימוש בדפדפן לחצן כדי לעיין בספרייה שבה שמרת את קובץ ה- jtc.
האפשרות חדש יוצרת קובץ jtc חדש.
ייבוא יגרום לייבוא של קובץ JET ארכיון (.zip).
האפשרות Cancel מבטלת את תיבת הדו-שיח ויוצאים מהאפליקציה.
5 חלונות ראשיים
החלון הראשי של יוצר JET נראה כמו התמונה למטה. יש שלושה קטעים עיקריים מתוך מלמעלה למטה: תצוגת פלח, תצוגת אירוע וציר זמן.
הקטע 'תצוגת פלחים' מציג רשימה של של ה-MIDI, (אופציונלי) קובץ DLS2 שממנו נגזרים כל מקטע. הוא גם מראה כשקטעים מתחילים וזמן סיום, וכל מקטעים מכמתים, משנים את מיקומם, חוזרים עליו השתקת הגדרות הסימונים.
מתחת לתצוגת הפלח נמצא האירוע צפייה. הקטע של תצוגת האירוע מציג את כל האירועים המשויכים לאירוע נתון פלח. האירועים מוצגים רק כשהפלח שאליו הם מוקצים מודגשת. בכל אירוע מוצגים הסוג, נקודות ההתחלה והסיום, המסלול וה-midi שלו ומזהה האירוע שלו.
מתחת לתצוגה 'אירוע' מופיע ציר הזמן מסך. ציר הזמן מראה את מספר המדדים של פלח נתון, וכן כל אירועים שמשויכים לפלח הזה. ציר הזמן ישתנה כדי להציג שנבחר עכשיו או שהוא מופעל. אפשר להפעיל אירוע בחלון הזה בזמן שהקטע מופעל, פשוט לוחצים על האירוע בציר הזמן מסך.
JET
החלון הראשי של היוצר
הלחצנים לאורך הצד השמאלי של בחלון לביצוע הפעולות הבאות:
הוספה: מציג את הפלח או את חלון האירועים להוספת פלח או אירוע חדש
שינוי: הצגת הפלח או חלון האירועים לעדכון פלח או אירוע קיימים
מחיקה: מחיקת הפלח או האירוע שנבחרו (תתבקשו לאשר)
העברה: הצגת חלון ההעברה שמאפשר להעביר פלחים או אירועים שנבחרו בזמן
'הבאים בתור': (בוחר) את כל הקטעים להפעלה
משיכת הכול: תורים (ביטול הבחירה) כל הפלחים
הפעלה: התחלת ההפעלה של כל הקטעים שבתור. הלחצן 'עצירה' ישתנה ל'עצירה' אם יש כאלה פועלים לפי קטעים
אודישן: מציג את חלון האודישן (ראו בהמשך)
חלון של 5.1 מקטעים
חלון הפלח הוא המקום שבו של הקטע הזה מוקצה ונבדק, כפי שמוצג בתמונה שלמטה. בצד ימין של החלון מוצגים מאפייני הפלחים מאוחסנים בקובץ ה-JET. הצד הימני של החלון מאפשר למחבר להגדיר להשתיק סימונים, לחזור על ההגדרות, לשנות את ההגדרות ולבחון את הקטע כפי שהוא לשחק במשחק JET.
הערה: מאפייני האודישון (השתקת דגלים, חזרה והחלפת מצב) לא מאוחסנים בקובץ התוכן JET (.jet), אלא מוגדרים על ידי המשחק או האפליקציה עצמם. בתכנות שפה, ההגדרות האלה תואמות ישירות לקריאות ל-API שנשלח אל ה-JET של מנוע החיפוש. על ידי הכללתם כאן, מחבר התוכן של JET יכול לדמות כיצד הפלח יגיב לפקודות ה-API של האפליקציות במהלך המשחק.
הפרמטרים של הפלח מבצעים את הפעולות הבאות:
- שם פלח – קבוצות שם הפלח
- קובץ MIDI – השם והמיקום של קובץ ה-MIDI שממנו נהנים הקטע נגזר. הלחצן משמאל לימין יציג דפדפן לאיתור קובץ MIDI בכונן הקשיח.
- קובץ DLS - השם והמיקום של קובץ ה-DLS2, אם יש כזה, שה-MIDI עבור המקטע הזה.
- M/B/T מתחיל – מודדים את תחילת הקטע, חותכים אותו ומסמנים אותו
- M/B/T מסתיים – מודדת את הסיום, חותכת ומסמן את הקטע
- יצירה של כמות - כימת ערך לכמת של הקטע הנוכחי במהלך ההפעלה
אלה שדות האודישן:
- השתקת טראקים - מראה את הטראקים של MIDI (לא ערוצים) בקובץ ה-MIDI. לחיצה על טראק תיבת הסימון תשתיק את הטראק.
- ערוץ - הצגת הערוץ של MIDI שמוקצה לכל אחד מהם טראק
- שם - הצגת המטא אירוע של שם הטראק (אם קיים) עבור כל טראק
- חזרה – מציין את מספר הפעמים שקטע צריך לחזור על עצמו במהלך הפעלה
- החלפה - מציין את ההחלפה בחצאי גוונים או בחצאי שלבים שקטע צריך שינוי המיקום במהלך ההפעלה
- משמאל לחלון האודישן מופיעים כמה לחצנים נוספים. הם פועלים באופן הבא:
- אישור - בחירה באפשרות 'אישור' מאשרת את כל הגדרות הקטע וגורמת לסגירה של חלון הקטע
- ביטול – בחירה באפשרות 'ביטול' תגרום לביטול השינויים ולסגירה של חלון הפלח
- שכפול - מציג את החלון 'שכפול פילוח' להוספה של כמה פלחים בבת אחת. מידע נוסף מפורט להלן.
- הפעלה/עצירה של קטע – התחלה או עוצר את ההפעלה של הקטע בהתאם למאפייני הקטע שהוקצו.
- הפעלה/עצירה של קובץ MIDI – התחלה או הפסקה של ההפעלה של קובץ ה-MIDI שאליו מוקצה הפלח.
- השהיה/המשך הפעלה – השהיית ההפעלה או המשך ההפעלה.
5.2 חלון אירוע
חלון האירועים הוא המקום שבו פלח נתון מאפייני אירוע מוקצים ונבחנים, כפי שמוצג בתמונה למטה. שפת תרגום להוסיף אירוע לפלח, המחבר צריך לבחור תחילה את הקטע מכילים את האירוע, לוחצים על הלחצן 'הוספה'. הפעולה הזו תציג את האירוע חלון.
האירוע כולל שני חלקים עיקריים חלון. קטע הפלחים בצד הימני של חלון האירוע מיועד לתצוגה. בלבד. המדד הזה מראה מהם מאפייני הפלח של הפלח הנתון. האירוע בצד שמאל הוא המקום שבו ניתן להקצות אירועים. הבאים הפרמטרים הזמינים:
שם האירוע - הקצאת שם לאירוע
סוג אירוע - בחירת סוג האירוע שרוצים להקצות.
M/B/T מתחיל – הגדרת הכיוון, הפעימה והסימון של האירוע
M/B/T מסתיים – הגדרת מידת הסיום, הקצב והסימון של האירוע, אם רלוונטי
טראק - מגדיר את המעקב בפלח הנתון שהאירוע יחול עליו
ערוץ - ההגדרה הזו קובעת איזה ערוץ MIDI יחול על האירוע ל. ערוץ ה-MIDI צריך להיות תואם ל-MIDI הערוץ של הטראק
מזהה אירוע - מגדיר את מזהה האירוע של האירוע. אפשר להקצות כמה אירועים לאותו אירוע ולכן מזהה האירוע משמש לזיהוי שלהם.
משמאל לחלון האודישן מופיעים כמה לחצנים נוספים. הם פועלים באופן הבא:
אישור - לחיצה על 'אישור' מאשרת את כל הגדרות האירוע וסוגרת את חלון האירוע
ביטול – בחירה באפשרות 'ביטול' תגרום לביטול השינויים ולסגירה של חלון האירוע
שכפול - הצגת החלון 'שכפול אירוע' להזנת מספר אירועים בבת אחת. צפייה שלמטה.
הפעלה/עצירה – התחלה או הפסקה של ההפעלה של הקטע לפי מאפייני הקטע שהוקצו. בזמן שהקטע מופעל, ניתן להפעיל את האירועים ולהיבחן.
מפעיל - הפעלת האירוע שהוקצה. הפעולה הזו משקפת את פקודת ה-API של משחק ה-JET ישתמש בה כדי להפעיל את האירוע, ולכן למחבר התוכן תהיה שיטה לעשות אודישן לגבי ההתנהגות של האירוע.
השתקה/ביטול השתקה – השתקה/ביטול השתקה תשתיק או תבטל את ההשתקה של הטראק שאליו הוקצה האירוע
השהיה/המשך הפעלה – השהיית ההפעלה או המשך ההפעלה.
כדי לבדוק את ההתנהגות של אירוע, יכול ללחוץ על לחצן ההפעלה. הפעולה הזו תתחיל את ההפעלה. לחצן ההפעלה תגרום לשליחה של אירוע הטריגר כשלוחצים על הלחצן. היא מקבילה לבחירה הטריגר הירוק בציר הזמן.
הערה: אירועי טריגר נועדו לבטל את ההשתקה טראק בודד של קטע כשהוא מופעל, ואז השתקה של הטראק בסוף את פלח הטריגר. לכן צריך לוודא שסימון ההשתקה מוגדר השתקת הטראק שההשתקה שלו תבוטל כשאירוע הפעלה יופעל.
יש לקרוא את סעיף 6 מתחת למכסה בהמשך מפורט איך פועלים אירועי הפעלה ואיך הם פועלים.
5.3 שכפול של Windows
כשיוצרים קובצי JET, צריך בדרך כלל ליצור עשרות ואפילו מאות אירועים. יכול להיות שתצטרכו גם להעביר אירועים. שכפול והעברת חלונות מאפשרים זאת. יש שני חלונות שכפול עבור יצירת כמה פלחים או אירועים. הם נראים כך:
שכפול החלון של המקטע
שכפול של חלון האירוע
שני החלונות של הרפליקות פועלים באופן זהה. אחרי שיוצרים פלח או אירוע ראשוני, אפשר לבחור באפשרות 'שכפול' לחצן. אלו הפרמטרים:
קידומת שם - מגדיר את הקידומת של השם של כל פלח או אירוע שנוצר
M/B/T מתחיל – הגדרה של שעת ההתחלה של הפלח או האירוע הראשון
הגדלה של M/B/T - ההגדרה הזו קובעת את משך הזמן בין הפלחים או האירועים שנוצרים.
מספר - מגדיר את מספר הפלחים או האירועים שרוצים ליצור. אם המספר חורג מאורך קובץ ה-MIDI (עבור פלחים) או פלח (לאירועים), האובייקטים האלה לא ייווצרו.
תצוגה מקדימה – התצוגה המקדימה מאפשרת לך לבחון את האובייקטים שנוצרו לפני שאומרים "אישור להוסיף" אותם.
5.4 העברת Windows
הפונקציהMove פועלת באופן דומה משכפלים את הפונקציה בכך שהיא מאפשרת לערוך מספר פלחים או אירועים פעם אחת, במקרה הזה, הזיזו אותם בזמן. כמו 'שכפול', יש שתי פעולות העברה אחד ל'פלחים' ואחד לאירועים. החלונות נראים כמו הבאים:
העברת חלון האירוע
כדי להשתמש בהעברה, קודם צריך לבחור את הפלחים או האירועים שרוצים להזיז בזמן, ולוחצים על הלחצן 'העברה'. הפרמטרים ככה:
M/B/T מתחיל – הגדרה של שעת ההתחלה של הפלח או האירוע הראשון
הגדלה של M/B/T - מגדיר את הזמן ב-M/B/T שאליו רוצים להעביר את האובייקטים.
תצוגה מקדימה – התצוגה המקדימה מאפשרת לבחון את האובייקטים שנוצרו לפני שאומרים 'אישור להזיז' אותם.
5.5 חלון בחינה
לחיצה על הלחצן 'אודישן' החלון של האפליקציה JET Creator יפתח את חלון האודישן. הדבר שבו מחבר התוכן או מתכנת האפליקציות יכולים לדמות את האינטראקציה כפי שעשוי להתרחש באפליקציה לנייד או במשחק עצמו.
חלון מבדק של JET
יש ארבעה חלקים עיקריים חלון לאודישן. הקטע הימני ביותר מציג את הפלחים הזמינים האורך בשניות. בחלק האמצעי מוצגת רשימה רצה של הקטעים ממתינים בתור להפעלה ומה סטטוס ההפעלה שלהם. הרחוק הקטע הימני מציג את סימוני ההשתקה עבור הקטע שפועל כרגע. קטע ציר הזמן שבתחתית זהה לזה של החלון הראשי. הוא מציג הקטע שמופעל כרגע, וגם תצוגה חזותית של הטריגרים של אירועים שמשויך לפלח הזה.
חלון האודישן מאפשר לכם להצטרף לתור קטעים מכל סדר שהוא לצורך הפעלה. כדי לעשות זאת פשוט בוחרים את הפלח רוצה לסמן וללחוץ על 'הבאים בתור'. הקטע הזה יופיע בחלון התור מתחילים לנגן (אם זה הקטע הראשון). לאחר מכן אפשר לבחור כל סוג של קטעים או קטעים אחרים ומסמנים אותם להפעלה. בתור הפלחים כדי להשלים את ההפעלה, הקטע הבא בתור יתחיל לפעול. כך גם חלונות אחרים של JET Creator, ניתן להשתיק, לבטל את ההשתקה, להפעיל קליפים של אירועים וכו'. בזמן אמת כשכל קטע מופעל.
באופן ספציפי, הלחצנים פועלים באופן הבא:
תור – טוען את הקטע שנבחר לתור ומתחיל את ההפעלה
ביטול והוספה לרשימת 'הבאים בתור' – מבטל את הקטע שפועל כרגע לפני הוספת הקטע שנבחר לתור הפעלה
ביטול הנוכחי - מבטל את הקטע המופעל כעת בתור ומתחיל את ההפעלה של הקטע הבא
עצירה - הפסקת ההפעלה של כל הקטעים שבתור
השתקת כל המשתתפים – השתקת כל המסלולים בקטע הנוכחי
ללא השתקה – ביטול ההשתקה של כל המסלולים בקטע הנוכחי
השתקה מקוריות - מגדיר את סימוני ההשתקה המקוריים של הקטע הנוכחי
השילוב של אפשרויות ההפעלה האלה שמאפשר למחבר או למתכנת אפליקציות להיבחן לכל התנהגות יכול להיות שתיתקלו בתוכנת מוזיקה אינטראקטיבית.
5.6 תפריטי יוצרים של JET
התפריטים של JET Creator מספקים גישה אל הרבה מהפרמטרים בחלון הראשי ועוד כמה פרמטרים.
5.6.1 תפריט הקובץ
התפריט 'קובץ' כולל את הרכיבים הבאים: רכיבים:
חדש – יצירת קובץ JET Creator חדש (.jtc)
פתוח - פתיחת קובץ JET Creator קיים
שמירה – שמירת קובץ ה-JET Creator שפתוח עכשיו
שמירה בשם - שמירת קובץ ה-JET Creator שפתוח עכשיו בקובץ חדש
ייבוא פרויקט – מייבאת ארכיון של יוצר JET (.zip)
ייצוא פרויקט – ייצוא ארכיון של JET Creator (.zip)
יציאה - יציאה מהאפליקציה
5.6.2 תפריט עריכה
תפריט העריכה כולל את הרכיבים הבאים רכיבים:
ביטול – ביטול הפעולה יגרום לביטול העריכה האחרונה שבוצעה
ביצוע מחדש - ביצוע מחדש יבצע מחדש את הביטול האחרון
חיתוך - העתקת הפרמטר שנבחר ללוח ומחיקת הבחירה
עותק - העתקת הפרמטר שנבחר ללוח ושמירת הבחירה
הדבקה - הדבקת הפרמטר שנבחר
5.6.3 JET
תפריט העריכה כולל את הרכיבים הבאים רכיבים:
נכסים - פתיחת חלון העדיפויות של JET Creator. החלון הזה מאפשר להגדיר את התנאים הבאים לקובץ JET נתון:
מידע על זכויות יוצרים – מכיל פרטים על זכויות יוצרים להוספה לקובץ JET
Chase Controllers – אפשרות לרדוף אחרי שלטים (מופעל/מושבת). לרוב זה אמור להיות להיות מופעלת.
מחיקת טראקים ריקים – מתבצעת מחיקה של טראקים ריקים ב-MIDI
5.6.4 פלחים
התפריט 'פלחים' כולל את הרכיבים הבאים רכיבים:
הוספת פלח - פתיחת החלון 'פלח'
עדכון הפלח – עדכונים של מאפיינים של פלח
מחיקת פלח - מחיקת הקטע הנוכחי רשימת פלחים
5.6.5 עזרה
תפריט העזרה יכיל לפחות את הרכיבים הבאים:
מרכז העזרה ליוצרים של JET – השקה של מסמך עזרה בפורמט PDF או מעבר לדף העזרה אונליין
מידע כללי – מספר הגרסה של JET Creator, מידע על SONiVOX
6 הסבר על אירועי טריגר
פריצת MIDI למקטעי נתונים נפרדים (לא ליניאריים) ולהוסיף את הפלחים האלה לתור הפעלה במשחק בהתבסס על אירועים במשחק היא אחת הדרכים שבהן קובצי מוזיקה של JET אינטראקטיבית. אירועי טריגר הם שיטה נוספת להפעלה אינטראקטיבית. יש להשתמש בשני הסוגים יחד במשחק או באפליקציה אינטראקטיבי.
אירועי טריגר מאפשרים:
- אפשר להפעיל או להשבית טראקים בתוך קטע של MIDI בהתאם למשחק אירועים. לדוגמה, המלחין יכול ליצור שני טראקים של תופים, אחד במהירות ואחת איטית. אם האקשן במשחק מהיר, מסלול התופים המהירים לשחק. אם האקשן במשחק איטי, אפשר לשחק בטראק של התופים האיטיים.
- אפשר להשוות בין פעולות של משתמשים לאירועים שמפעילים מוכנסות מראש לקובץ מוזיקה במקומות הנכונים. מבוסס על תוצאות, דירוג או פעולות אחרות במשחק.
- מעברים מוזיקליים בין שלבים או רצפי פעולה יכולים להיות כדי שהמוזיקה תהיה חלקה.
מאחורי הקלעים, JET משתמש ב-MIDI CC רגיל אירועים כדי לבצע את הפעולות האלה ולסנכרן את האודיו. בקרים שמשמשים את JET הם בין אלה שלא הוגדרו לשימוש ספציפי במפרט. ההגדרות הספציפיות של נאמני המידע הן:
שלטים 80-83 שמור לשימוש על ידי אפליקציה
שלט רחוק סמן אירוע JET 102
שלט רחוק סמן קליפ 103 JET
שלטים 104-119 שמור לשימוש עתידי
6.1 JET Clip רואים (CC103)
בקר 103 שמור לסימון קליפים בטראק MIDI שאפשר להפעיל הקריאה ל-JET_TriggerClip API. מזהה הקליפ מקודד בקטעים הנמוכים של 6 הביטים של בקר. ביט 6 מוגדר לערך אחד כדי לציין התחלת קליפ, ומוגדר לאפס כדי לציין את סוף הקליפ.
לדוגמה: כדי לזהות קליפ עם קליפ. מזהה של 1, המחבר מוסיף בקר MIDI אירוע עםcontrol=103 ו-value=65 בתחילת הקליפ, ואירוע נוסף אירוע עםcontrol=103 ו-value=1 בסוף הקליפ. כאשר הפונקציה JET_TriggerClip() מופעלת עם מזהה הקליפ 1, הטראק לא מושתקות כשערך הבקר 65 מושתק ומושתק שוב כאשר המערכת נתקלה בערך 1 של הבקר.
איור 5: קליפ מסונכרן
באיור שלמעלה, אם הפונקציה JET_TriggerClip() מופעלת לפני האירוע הראשון של בקר ההשתקה של 3 תבוטל כשהאירוע הראשון של השלט הרחוק יתרחש. בקליפ הראשון מופעל, והטראק יושתק כשיתרחש האירוע השני של השלט רחוק. אם המיקום הפונקציה JET_TriggerClip() מופעלת אחרי שהאירוע הראשון של בקר שהתרחש, ההשתקה של טראק 3 תבוטל כשיתרחש האירוע השלישי של השלט הרחוק, הקליפ השני יופעל והטראק יושתק שוב כשהקליפ הרביעי מתרחש אירוע לנאמני מידע.
הערה: בדרך כלל, האפליקציה מושתקת על הטראק שמכיל את הקליפ כאשר הקטע ממתין בתור בהתחלה על ידי הקריאה ל-JET_QueueSegment(). אם לא מושתק, הקליפ תמיד יופעל עד לקריאת Jet_TriggerClip() באמצעות מזהה הקליפ.
6.2 סימון אירוע JET (CC102)
בקר 102 שמור לסימון באירועים ספציפיים בשידורי ה-MIDI. לפונקציונליות JET. בשלב זה, הערך היחיד שמוגדר הוא 0, שמסמן את סוף קטע למטרות תזמון.
בדרך כלל, JET מתחיל את ההפעלה של של הקטע הנוכחי (או חוזר על הקטע הנוכחי) כש-MIDI זוהה מטא-אירוע בסוף הטראק. חלק מכלי ה-MIDI כלים לעריכה מקשה על המיקום המדויק של הסמן של סוף טראק וכתוצאה מכך עלולות להיווצר בעיות בסנכרון כאשר הפלחים מחוברים זה לזה.
כדי להימנע מהבעיה הזו, המחבר יכול להציב סמן JET קצה קטע (בקר=102, ערך=0) בנקודה שבה להפעיל בלופ. כשנתקל בסמן של סוף הקטע, הקטע הבא יופעל, או אם הקטע הנוכחי מופעל בלופ, יתחדש בתחילת הקטע.
אפשר גם להשתמש בסמן סוף הקטע לצורך השלמת דמות מוזיקלית מעבר לסוף הקטע מסמן את ההתחלה של הקטע הבא. לדוגמה, יכול להיות שמחבר התוכן ליצור קטע של 4 קווים עם מילוי של תוף שמסתיים בפעימה 1 ב-5 עמודה, מעבר לקצה הטבעי של הקטע. על ידי מיקום של קצה פלח בסמן בקצה העמודה הרביעית, הקטע הבא יהיה מופעל, אבל מילוי התופים ימשיך במקביל לקטע הבא שמספקות המשכיות מוזיקלית.
איור 6: סמן של סוף הקטע
6.3 נאמני מידע (CC80-83)
האפליקציה עשויה להשתמש בבקרים טווח למטרות שלו. כשיש בקר בטווח הזה, האירוע נכנס לתור אירועים שהאפליקציה יכולה לשלוח אליו שאילתות. שימושים אפשריים כוללים סנכרון אירועי וידאו עם אודיו וסימון נקודה בקטע MIDI כדי להוסיף לתור פלח. ניתן לשנות את טווח הבקרים שהאפליקציה מפקחת עליהם על ידי האפליקציה במהלך האתחול.
7 הנחיות ליוצרים במסגרת JET
7.1 סדר המשימות
כמו בכל פרויקטים, מומלץ לדון בסכמת המוזיקה האינטראקטיבית ולתכנן אותה עם מעצב המשחק ומתכנת את המשחק לפני תחילת היצירה. מתאר ו/או מפרט יכולים לעזור מאוד לחסוך לכם את הצורך לבצע מחדש דברים אחרי שהמשחק מוכן.
באופן כללי, מומלץ קודם לכתוב את המוזיקה ב-DAW לבחירתכם בדרך שאתם רגילים אליה, ולאחר מכן לפרק את קובץ ה-MIDI הסופי לפי הצורך באפליקציה. בשלב הבא, עוברים ל-JET Creator ויוצרים את כל הקטעים של המוזיקה לפי הסדר שבו אפשר לראות אותם בתצוגה מקדימה. לסיום, מוסיפים את אירועי ה-JET כדי לשלוט בפלחים באמצעות המשחק ל-Android ולערוך אותם לאודישן לפי הצורך ב-JET Creator. לסיום, שומרים את הפרויקט ב-JET Creator ומעבירים את קובץ ה- .jet למתכנת כדי לשלב אותו במשחק. לאחר התצוגה המקדימה, סביר להניח שיהיו שינויים בקובצי ה-MIDI ובמאפיינים של JET Creator.
7.2 שימור זיכרון
אם רוצים לחסוך בזיכרון, חשוב להרכיב כמה שפחות קובצי MIDI וליצור כמה קטעים מקובץ ה-MIDI הזה. לדוגמה, קובץ MIDI עם 12 עמודות עם שלושה קטעים – A, B ו-C, יכול ליצור שיר ארוך הרבה יותר. פשוט יוצרים כמה קטעים שמפנים לקובץ ה-MIDI האחד, ואז מסדרים אותם איך שרוצים. לדוגמה, הערכים A, A, B, A, C, A, B, A ו-A ייצרו שיר באורך 36 עמודות. אפשר להשתמש ב-JET כדי להוסיף חזרות, לשנות את המיקום של קטעים ולבטל את ההשתקה של טראקים באופן אינטראקטיבי כדי ליצור חוויה עוד יותר מעניינת.
7.3 שכפול
כדי להוסיף פלחים או אירועים מהר יותר, אפשר להשתמש בפקודה 'שכפול'. רפליקציה יכולה להוסיף מספר פלחים או אירועים בבת אחת ומשתמשת בפרמטר היסט ובמוסכמה למתן שמות לתחילית כדי שיהיה קל לקרוא את התוכן. הפקודה MOVE שימושית גם להעברת אירועים מרובים לפי מספר מוגדר של מדדים, פעימות או סימונים.
7.4 אפשרויות אינטראקטיביות
יש כמה מושגי אודיו אינטראקטיביים שאפשר להשתמש בהם ב-JET. בהמשך מופיעות כמה דוגמאות, למרות שאנחנו מקווים שמפתחים יחשבו על אחרים שלא חשבנו עליהם. אלו הם:
7.4.1 טריגרים של מספר מקטעים
בשיטה הזו, האפליקציה מפעילה פלחים ספציפיים על סמך אירועים במשחק. לדוגמה, פרוזדור עם הרבה עימותים עשוי להפעיל את קטע 1, ומסדרון ללא קרבות עשוי להפעיל את קטע 2. השימוש ב-JET TriggerClips בשילוב עם השיטה הזו יוצר גיוון גדול עוד יותר.
7.4.2 מערכים של השתקה
בשיטה הזו, האפליקציה מפעילה השתקה וביטול השתקה של אירועים בטראקים ספציפיים ברצף MIDI יחיד. לדוגמה, מסדרון עם הרבה קרבות עשוי להפעיל טראקים של MIDI 1-16 ומסדרון ללא קרבות עשוי להפעיל את אותו קובץ MIDI אבל להשתיק את טראקים 9-16. השימוש ב-JET TriggerClips בשילוב עם השיטה הזו יוצר גיוון גדול עוד יותר.
7.4.3 גיימפליי מבוסס מוזיקה
משחקים שמבוססים על מוזיקה דומים למה שעשו Guitar Hero ו-JETBOY, כי תוכן המוזיקה קובע איך יוצגו אירועים גרפיים. לאחר מכן האפליקציה שולחת שאילתה לתגובת המשתמש לאירועים הגרפיים ומשנה את המוזיקה באופן אינטראקטיבי בתגובה. בשיטה הזו, המשחק פועל באירועי JET: JET, בבקרי MIDI שמוטמעים בקובץ ה-MIDI וקוראים אותם בזמן אמת. על סמך תגובת המשתמש, ניתן להגדיר מערכים מרובים של טריגרים ו/או השתקה של פלחים.