FalconはスクリプティングにUVIScriptを使用します。これは開発言語のLuaスクリプトをベースにした専用の開発言語になります。Falconのスクリプトによって、先進的なMIDIエフェクトの作成が可能になり、すべてのFalconに装備されたシンセエンジンモジュールにアクセスし、様々な演奏効果や可能性をもたらします。また、スクリプトによって独自のインターフェイスを定義することが可能で、完成したスクリプトをリアルタイムに扱うことも可能です。
UVIScriptsは拡張子‘.lua’のテキストドキュメントとして保存され、Falconのスクリプトプロセッサー(Script Processor)モジュールで読み込んで扱います。一般的な情報と基礎概念はFalconユーザーマニュアルの48ページ(イベント)と216ページ(イベントプロセッサー)の項目に記載しています。
UVIScriptに初めて挑戦される方のために、ここで、Script Processorモジュールのファクトリープリセットとして含まれる:Pitch Inverterの簡単なモディファイを例としてその扱い方を解説します:
CenterPitch = Knob(“Center Pitch”, 60, 0, 127, true)
function onNote(e)
local center = CenterPitch.value
local delta = e.note-center
local note = center - delta
if note>=0 and note<=127
then playNote(note, e.velocity)
end
end
function onRelease()
end
このLUAテキストファイルをFalconのScript Processorで開くとこうなります:
このスクリプトは1ノブのモジュールで、最初の1行(スクリプト)がそのセンター値がセンターピッチであること、操作した際の最小値と最大値を定義します。2行目がノートオンを受けた際に反応することを定義します。そして3~5行目がノブ操作によって、ノートがセンターを中心に反転することを定義します。6行目はピッチの範囲が0~127以内であることを定義し、7行目では設定値に従ったプッチシフトをするとして認識する定義になります。このスクリプトでは、センターピッチをC3に設定した場合、C2ノートを入力すると、反転したポジションのC4ノートが演奏されるようになります。
UVIScriptに関する情報は、以下のリンク記載しています:
*プログラミングに関する技術資料になりますので、英文のみとなります。