第30章. 楽曲一覧の見学
この章の目的
この章を読み終える頃には、Keleusmaの楽曲ができることの全体的な幅を聴いて、その幅がなぜそれほど広いのかが分かるようになります。この章を読み終える頃には、Keleusmaの楽曲ができることの全体的な幅を聴いて、その幅がなぜそれほど広いのかが分かるようになります。
楽曲はプログラムである
一覧が見学する価値があるのは、本ガイド全体で確認してきた一つの事実があるからです。楽曲は音符のリストではありません。楽曲はプログラムです。計算し、分岐し、数え、時間とともに自分自身の振る舞いを変えられます。関数、match、データセグメント、そしてloopで組み立てられているからです。有界なプログラムができることは何でも、楽曲もできます。バンドルされている10曲は、その幅を見せるために選ばれています。一覧が見学する価値があるのは、本ガイド全体で確認してきた一つの事実があるからです。楽曲は音符のリストではありません。楽曲はプログラムです。計算し、分岐し、数え、時間とともに自分自身の振る舞いを変えられます。関数、match、データセグメント、そしてloopで組み立てられているからです。有界なプログラムができることは何でも、楽曲もできます。バンドルされている10曲は、その幅を見せるために選ばれています。
第28章のピアノロールを走らせて、sか数字キーで切り替えて聴いてみてください。第28章のピアノロールを走らせて、sか数字キーで切り替えて聴いてみてください。
一覧
- 楽曲0と1は導入用の曲です。3チャンネル、4小節のコード進行。最初に読むべき曲で、第29章で書き換えたのもこれらです。楽曲0と1は導入用の曲です。3チャンネル、4小節のコード進行。最初に読むべき曲で、第29章で書き換えたのもこれらです。
- 楽曲2はバッハの前奏曲の5チャンネル編曲です。本物のレパートリーに対する、ホストのエンベロープとリトリガー処理を見せます。楽曲2はバッハの前奏曲の5チャンネル編曲です。本物のレパートリーに対する、ホストのエンベロープとリトリガー処理を見せます。
- 楽曲3はDマイナーの8チャンネル楽曲で、すべてのホストネイティブを使い切り、途中で7拍子に切り替わり、テンポを連続的にランプさせます。楽曲3はDマイナーの8チャンネル楽曲で、すべてのホストネイティブを使い切り、途中で7拍子に切り替わり、テンポを連続的にランプさせます。
- 楽曲4は60〜300 BPMの間でゆっくり正弦波の形にテンポが揺れます。曲はループカウンターが進むたびに素材が変わり、アルゴリズミックなヴァリエーション形式のように振る舞います。楽曲4は60〜300 BPMの間でゆっくり正弦波の形にテンポが揺れます。曲はループカウンターが進むたびに素材が変わり、アルゴリズミックなヴァリエーション形式のように振る舞います。
- 楽曲5はプロセス音楽です。8つのヴォイスが同じ12音のパターンを弾きますが、それぞれ違う速度で進むので、ヴォイスは数分から数時間のスケールで離合集散します。楽曲5はプロセス音楽です。8つのヴォイスが同じ12音のパターンを弾きますが、それぞれ違う速度で進むので、ヴォイスは数分から数時間のスケールで離合集散します。
- 楽曲6はカノンで、4つのヴォイスが1つの旋律を共有しながら4つの違う速度で同時に進み、本物の4声対位法を生みます。楽曲6はカノンで、4つのヴォイスが1つの旋律を共有しながら4つの違う速度で同時に進み、本物の4声対位法を生みます。
- 楽曲7はマイクロトナルなドローン作品です。8つのヴォイスが自然倍音列に合わせて調律されています。ホストが直接サポートしている細かなピッチ調整を使っています。楽曲7はマイクロトナルなドローン作品です。8つのヴォイスが自然倍音列に合わせて調律されています。ホストが直接サポートしている細かなピッチ調整を使っています。
- 楽曲8は標準的なポップ曲で、ブリッジと転調があります。実験的な曲を走らせる同じエンジンが、普通の作曲も扱えることを見せるために入っています。楽曲8は標準的なポップ曲で、ブリッジと転調があります。実験的な曲を走らせる同じエンジンが、普通の作曲も扱えることを見せるために入っています。
- 楽曲9は長い実験的なループで、スケールと楽器の16通りの組み合わせを巡って、繰り返すまでに約50分かかります。楽曲9は長い実験的なループで、スケールと楽器の16通りの組み合わせを巡って、繰り返すまでに約50分かかります。
なぜこれが大切か
これらの楽曲のうちいくつかは、従来の音楽ソフトウェア — DAW (Digital Audio Workstation) — では難しいことをします。連続的な正弦波で形作られたテンポ、同時に走る4つの拍子、自然倍音列から取った調律、カウンター値で自分を作り直す曲、などです。これらはメニューの選択肢ではありません。楽曲がプログラムであることから来る結果です。これらの楽曲のうちいくつかは、従来の音楽ソフトウェア — DAW (Digital Audio Workstation) — では難しいことをします。連続的な正弦波で形作られたテンポ、同時に走る4つの拍子、自然倍音列から取った調律、カウンター値で自分を作り直す曲、などです。これらはメニューの選択肢ではありません。楽曲がプログラムであることから来る結果です。
それが見せている事です。実験的な楽曲が並んでいるのは、それが心地よいからではありません。これらは他のやり方ではほとんど成り立たないことで、それが楽曲0と同じ「証明された時間とメモリの上限」の中で走るという事実は、言語が何のためにあるのかを示しています。それが見せている事です。実験的な楽曲が並んでいるのは、それが心地よいからではありません。これらは他のやり方ではほとんど成り立たないことで、それが楽曲0と同じ「証明された時間とメモリの上限」の中で走るという事実は、言語が何のためにあるのかを示しています。
この章のまとめ
- 一覧の各楽曲がプログラムだから、一覧はこれほど幅広く広がっています。
- バンドルされている楽曲は、導入用の進行、バッハの編曲、プロセス・調律系の実験曲、そして1曲の標準的なポップ曲を含みます。バンドルされている楽曲は、導入用の進行、バッハの編曲、プロセス・調律系の実験曲、そして1曲の標準的なポップ曲を含みます。
- 普通の音楽ソフトウェアでは難しい、あるいは不可能なテクニックが、楽曲がプログラムだという事実から自然に出てきます。普通の音楽ソフトウェアでは難しい、あるいは不可能なテクニックが、楽曲がプログラムだという事実から自然に出てきます。
これで第8部、そして言語を学ぶ人に向けたガイドの部分が完了です。第9部は別のトラック — Keleusmaを自分のRustプログラムの中に組み込みたい開発者向け、です。これで第8部、そして言語を学ぶ人に向けたガイドの部分が完了です。第9部は別のトラック — Keleusmaを自分のRustプログラムの中に組み込みたい開発者向け、です。