مقدمه ای بر برنامه نویسی در KONTAKT، قسمت 2

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. In Part 2 you'll build a note trigger FX script!  

آخرین باری که ما در برخی از تماس مجدد اساسی، یعنی "در init انجام"، "توجه داشته باشید" و "آزادی" نگاه کرد. ما شاهد بودیم که چگونه قرار دادن بعضی از کد ساده به بین این تماس مجدد چاپ برخی از پیام های ما اجازه می دانم که کد ما به کار است.

در این زمان، برای ساختن چیزی! من مطمئن شوید که تمام خسارت دیده Heavyocitys youve و تکامل ابزار است. یکی از چیزهایی که سرد آنها توجه داشته باشید باعث FX. خوب من دارم به شما نشان می دهد که چگونه برای ایجاد یک اسکریپت ساده برای انجام این کار که من فکر می کنم چیزی که کاربران می خواهم به انجام. بیایید بروید!


این طرح!

اینجا چه بعد از آن. یک دسته از عوارض قرار دادن بار و دور زدن آنها. بعد از آن شما نقشه پارامتر فرعی برای هر اثر به یک یادداشت است. هنگامی که شما توجه داشته باشید، اثر مربوطه به آن توجه داشته باشید، هنگامی که شما آزادی توجه داشته باشید اثر کنار!

برای رسیدن به این هدف ما در مرحله اول نیاز به یادگیری در مورد اظهارات.


بیانیه

پس چه هستند اظهارات؟ و این اجازه KONTAKT تصمیم گیری در مورد چه اتفاق خواهد افتاد هنگامی که شما چیزی را.

اگر ... بیانیه دیگری در تمام زبان های برنامه نویسی. این اجازه می دهد تا اسکریپت شما تنها به اجرا اگر چیزی بسیار خاص اتفاق می افتد. به شما امکان می دهد پیام ساده ما از زمان گذشته به عنوان مثال.


توجه داشته باشید در

پیام (شما در حال بازی یک یادداشت)

پایان دادن به در


این نشان می دهد اگر شما هر گونه توجه داشته باشید، توجه داشته باشید در پاسخ به تماس بعد از همه است. بیایید می گویند ما فقط می خواهم این را به نشان می دهد تا در C3 هر چند. در این بیانیه اگر کامل است برای این است.


اگر

اینجا ساختار از عبارت if است.


(تعریف برخی از پارامترهای اینجا چیزی برابر چیزی)


{انجام کاری هوشمندانه است اگر چیزی برابر چیزی!}


اگر پایان


پس سلام خیلی ساده است! اما چه چیزی است که در برابر چیزی است؟ خوب آن می تواند هر چیزی باشد. در این مورد، ما باید به این بیانیه اگر در مورد C3. ما می توانیم با استفاده از یک متغیر ساخته شده است به نام دلار EVENT_NOTE (نیز وجود دارد دلار EVENT_VELOCITY بیش از حد!) این دارای ارزش توجه داشته باشید (ها) برگزار شد در حال حاضر به عنوان توجه داشته باشید شماره MIDI می شود و تنها در داخل توجه داشته باشید در یا در پاسخ به تماس آزاد استفاده می شود.

بنابراین ما می گویند، اگر دلار EVENT_NOTE برابر است به 60 (C3) و پس از آن اجرا اسکریپت. پس چگونه است که ما بنویسید. خب، مثل این!

If statement


اگر من بازی اشاره می کند که C3 arent، من معتاد به هر چیزی که این اسکریپت خاص به C3 را ببینید. اما اگر من!

You're Playing C3!


بنابراین آنچه در مورد تمام یادداشت های دیگر؟ خب، ما می توانیم این را به اگر گسترش ... بیانیه دیگری.


اگر ... دیگر

بخش دیگری مربوط به هر چیزی است که در این فهرست نیست. شما می توانید از این مانند یک دربان در یک باشگاه فکر می کنم!


اگر (شخص جذاب است)


اجازه دهید آنها را در!


دیگر


ارسال آنها دور!


اگر پایان


فقط شوخی (یا من؟) اما این بدان خلاصه آن را! ما می توانیم این کار استفاده کنید.

If...Else Statement


یادداشت ها اشتباه در حال حاضر یک پیام بیش از حد!

Try again Bozo!


پس چه می شود اگر ما می خواهیم یک بار از پیام های مختلف در یادداشت های مختلف؟ ما نمی خواهم به نوشتن بارهای از اگر بیانیه برای هر یک. با این حال وجود دارد یکی دیگر از بیانیه دستی نامیده می شود را انتخاب کنید ().


را انتخاب کنید

را انتخاب کنید مانند نسخه همه کاره اگر ... دیگری است. در این زمان است که اگر مورد، مانند صورت موردی. اینجا چگونه کار می کند.

به جای گفتن دلار EVENT_NOTE = 60 داخل براکت از EVENT_NOTE اگر بیانیه، ما در حال حاضر فقط قرار دادن در داخل براکت را انتخاب کنید مانند آن است.


را انتخاب کنید (EVENT_NOTE دلار)


پایان دادن به را انتخاب کنید


نکته ارزش دلار EVENT_NOTE به صورت منتقل می شود.

Select

این دقیقا همان چیزی که ما به عنوان اولین بار اگر به عنوان مثال انجام دهد. شما می توانید به عنوان بسیاری از موارد دولت به عنوان شما می خواهم.

Select


شما همچنین می توانید محدوده مورد رو تنظیم کنید.

You can also set a range for the case like so.


هنگامی که شما در داخل محدوده بازی خواهید را ببینید.

You're Playing Between C4 and B4!


البته شما نیاز به جفت توجه داشته باشید با آزادی مثل این.


هنگامی که شما آزادی هر توجه داشته باشید.


حالا که ما می دانیم که چگونه است که با این نسخهها کار، رفتن به استفاده از را انتخاب کنید () تا باعث اثرات خود را.


بار کردن بعضی از اثرات

من دارم برای بار سه اثر به وسیله اثر قرار دادن اسلات. من دارم میرم تحریف، LO-Fi و PHASER. من دارم در حال حاضر رفتن به اجتناب از این اثرات است.

Bypass Effects


هدف قرار دادن اثرات

هر چیزی که می تواند در KONTAKT خودکار را می توان توسط KSP دیده شده است. یک تابع ساخته شده در KSP به نام set_engine_par () است که به شما اجازه می دهد تا به دستکاری پارامترها در داخل موتور KONTAKT وجود دارد. شما استفاده از این بسیاری از!

ما نیاز به برخی از اطلاعات را به براکت ها از این تابع به تصویب است. این است که به شرح زیر است:

set_engine_par (،،،،


اجازه می دهد که شکستن این پایین:

  • پارامتر ما می خواهیم به عنوان مثال اثر $ ENGINE_PAR_DRIVE در تحریف. ( شما پیدا کردن یک لیست از تمام پارامترهای موجود در مرجع KONTAKT KSP در پایان.)
  • ارزش برای پارامتر. این را می توان توسط یک کنترل UI تصویب و یا شما می توانید یک مقدار.
  • شماره گروه (در صورت اطلاق). این مربوط به گروه FX. تنظیم این را به -1 اگر شما می خواهید به هدف قرار دادن اثرات آن در سطح دستگاه.


    تنظیم برخی از پارامترهای

    بنابراین، پارامتر من می خواهم به اثر دور زدن. این است که با استفاده از $ ENGINE_PAR_EFFECT_BYPASS هدف قرار داده است. بیایید که شوید.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS دلار، ، ، ، )


    ارزش برای بای پس است 0 و 1 است کنار. من می خواهم به فعال کردن اثر بد قرار داده است 0 به مقدار.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS دلار، 0، ، ، )


    اسلات بر روی سطح دستگاه هستند تا بیمار قرار داده -1 به گروه.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS دلار، 0، -1، ، )


    تحریف من در شیار 1 تا بیمار قرار داده است 0 به شکاف.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS دلار، 0، -1، 0، )


    اثر من اثر درج بنابراین بد 1 عمومی قرار داده است.

    set_engine_par (ENGINE_PAR_EFFECT_BYPASS دلار، 0، -1، 0، 1)


    حالا من یک خط به پایان رسید از کد من می توانم این کار را به من دستور SELECT () قطره.


    Code Example



    وقتی که من C3، اسلات اثر اول (اعوجاج) فعال خواهد شد.

    Distortion becomes active


    من نیاز به معکوس در پاسخ به تماس در آزادی تا زمانی که انگشت من از کلید I را در اثر کنار دوباره. من این کار را با قرار دادن یک 1 به ارزش مانند.

    Code Example



    من هم اکنون می توانید این مجموعه برای کلید های مختلف با استفاده از حالت های مختلف برای هر. همه من باید انجام دهید این است که شماره حافظه را افزایش می دهد.

    Code Example


    اینجا در نتیجه ضربه D3 است.

    Phaser becomes active


    و سپس با استفاده از در آزادی دور زدن در اثر زمانی که من از انتشار کلید با قرار دادن 1 به ارزش.

    Code example


    من می توانم بیش از یک اثر در همان زمان باعث بیش از حد است، که یک جایزه!

    Trigger more than one effect at the same time


    اینجا یک نمونه اسکریپت من در محل کار است.

    [صوتی شناسه = "12،954"]


    من پس از آن می توانید یک عنوان برای اسکریپت من مانند تحت پوشش زمان گذشته تنظیم کنید.

    Script Title


    من پس از آن می توانید بروید و صرفه جویی در این عنوان از پیش تعیین شده را برای استفاده های بعدی!

    Save script as a preset


    با موفقیت انجام شد! سعی کنید این را برای خودتان. من دارم میرم شامل قطعه کد را در یک

    بنابراین وجود دارد که شما آن را داشته باشد. یک اسکریپت ساده با یک نتیجه جالب است. دفعه بعد هم که به خوبی یک نگاه در برخی از طراحی رابط.


    Quick Links


    Introduction To Scripting in Kontakt, Part 2 (you're reading it!)

    Introduction To Scripting in Kontakt, Part 3

    Introduction To Scripting in Kontakt, Part 4

    Introduction To Scripting in Kontakt, Part 5

For the past 20 years Toby has worked as a professional guitarist, programmer and producer. Clients include Sir Paul McCartney, George Michael, Shirley Bassey, Yusuf Islam, Giles Martin as well as the London 2012 Olympic Ceremonies. He has also worked extensively in TV, Advertising and Film. As well as composing himself he has also ... Read More

Discussion

Want to join the discussion?

Create an account or login to get started!