はじめに
Conchordalは、生成的な作曲のための生体音響楽器です。Rhaiは、この楽器にシナリオを 与えるための言語であり、音符を順番に並べるためのものではありません。音から Consonance Fieldをつくり、複数のVoiceがその中を移動し、生き残り、世代を重ねながら Populationを再編成します。
シナリオでは、まずPopulationSpecを定義します。それをplace()で配置すると、
世代交代を通じて同一性を保つPopulationになります。Populationを構成する一個の
生きた要素がVoiceです。同じLandscapeを共有するすべてのPopulationを合わせたものを
Communityと呼びます。和声は心理音響的なroughnessとharmonicityから生まれ、
リズムはCommunity自身が駆動する共有拍の上で創発します。スクリプトの役割は、音符を並べる
シーケンサーではなく、全体の条件と流れを整える演出者です。
Conchordal v0.4.0は、こうしたコンセプトを直接検討したい研究者と開発者のための research alphaです。機能は未完成で、不安定な場合があります。作曲家や制作者は beta版を待ってください。一般的な音楽制作の語彙で覆い隠さず、このモデル固有の 言葉で説明します。
本書の構成
- チュートリアルでは、最初の音を鳴らし、エディタを設定し、演奏の実行、analysisの 記録、再現を扱います: クイックスタート、 エディタ設定、 演奏。
- コンセプトでは、一つの生きたVoiceから、生態系と時間構造の全体までを 組み立てます: Population — Voiceをまとめる持続単位、 VoiceとLandscape — 音と環境のフィードバック、 Consonance Field — 音高を評価する地形、 リズム、 ルーティングとListenerTwin、 タイムラインと構造。
- リファレンスには、生成されたAPIリファレンスと、 順に試すためのサンプルがあります。APIは Core API、Core候補を試聴するExperimental、Mechanism Tuning、 Research Controlsの四層です。まずCoreから始め、作品が必要とするまでは 残りを無視してください。登録signatureとtier分類はengineから生成して照合し、 意味を説明する文章はdocumentation registryで管理します。
本書のすべてのrhaiコードブロックは、テストスイートによって実際の
スクリプトengine上で実行されます。これにより、現在のengineでcompile・実行
できることを確認します。ただし、説明文の意味まで自動的に証明するものではありません。