SOMAX2ユーザーズガイド(日本語訳)
1. Somax2 for Max
1.1 Somax2の紹介
Somax2は、機械学習、認知メモリー活性化モデル、マルチエージェントアーキテクチャ、エージェントのパッチングと制御のためのフルアプリケーションインターフェース、およびMaxライブラリAPIを使用して、音楽即興演奏および作曲のためのアプリケーションです。これは、内部で選択されたコーパススタイルと展開する外部音楽コンテキストの両方に一貫したリアルタイムの機械即興を提供する生成AIモデルに基づいています。Somax2は、MIDIおよびオーディオ入力、コーパスメモリー、および出力を処理します。このモデルは、少ない設定でエージェントが自律的に音楽家と(お互いに)相互作用することを可能にしますが、その生成プロセスと相互作用戦略の多様な手動制御も許可し、完全に柔軟なスマート楽器として使用することができます。
Somax2は、長年にわたってMusic Representationチームで開発された著名なOmaxの多くの子孫の1つであるSomaxから完全に書き直されており、共演即興、作曲、インスタレーションなどのための強力で信頼性のある環境を提供します。MaxとPythonで記述されており、モジュラー型のマルチスレッド実装、複数のワイヤレス相互作用プレイヤー(AIエージェント)、チュートリアルとドキュメントを備えた新しいUIデザイン、および多数の新しい相互作用フレーバーとパラメーターを特徴としています。
自己完結型のアプリパッチに加えて、Somax2はMaxライブラリとしても設計されており、多くのソース、プレイヤー、インフルエンサー、レンダラーを必要に応じて含む独自の環境と処理を設計するためのカスタムSomax2パッチをプログラムすることができます。これらの抽象化により、完全なMaxスタイルのプログラミングとワークフローを提供するために実装されており、ユーザーはSomax2アプリケーションと同じ結果を達成できますが、そのモジュラーアーキテクチャのおかげで、カスタムパッチを作成して未見の相互作用と制御の振る舞いを解放することも可能です。
このガイドは、Somax2の一般的な哲学とプロセスについて説明し、その後、Somax2のコアオブジェクトを紹介します。Somax2の基本的な使い方をすばやく学ぶために、Somax2フォルダにある「somax2.overview.maxpat」を通して進んでください。
詳細な情報、ヘルプ、リソース(デモ、メディア、ディスカッションなど)については、Somax2の研究プロジェクトページhttp://repmus.ircam.fr/somax2をご覧ください。
1.2 準備
1.2.1 要件
- macOS 10.13以降 / Windows 10以降
- Max 8.5以降
- (Python 3.9以降 – 手動インストールの場合のみ必要)
macOS: Somaxを初めて起動するとき、セキュリティ設定に応じて、いくつかの外部プログラム(shell、bonk、ircamdescriptor、bc.virfun、およびbc.yinstats)に対する許可を求めるダイアログが表示される場合があります。Somaxが正常に動作するために必要です。また、初めてサーバーを起動するときにも許可を求められる場合があります(このステップはチュートリアルで説明されています)。各ダイアログで許可を与えて進めてください。
注:Somax2.6はARMプロセッサ(Apple M1、M2、M3)上でネイティブに動作し、Rosettaの下でMaxを実行する必要はありません(詳細はhttps://docs.cycling74.com/max8/vignettes/apple_arm64を参照)。
1.2.2 インストール
簡単インストール
ほとんどのユーザーにはこの手順が推奨されます。Pythonコードを変更する必要がない限り、この手順を使用してください。
- https://github.com/DYCI2/Somax2/releasesにアクセスし、最新バージョンのSomax2(Somax-2.x.x.dmg)をダウンロードします。
- 抽出された/Somax-2.x.xフォルダをMaxフォルダの/Packagesフォルダにコピーします(デフォルトでは、/Documents/Max 8/Packagesにあります)。
手動インストール
Pythonコードを変更する場合、手動インストールが必要です。Python 3.9以上がインストールされていることを前提とします。
手順1: Somaxのインストール
- https://github.com/DYCI2/Somax2のマスターブランチをクローンするか、https://github.com/DYCI2/Somax2/releasesにアクセスして最新バージョンのSomaxソースコードをダウンロードします。
- /Somax-2.x.xのmax/somaxサブフォルダをMaxパスに追加します。Maxの「オプション」→「ファイル環境設定」で設定できます。「サブフォルダ」オプションがチェックされていることを確認します。
手順2: Pythonの要件をインストール
- ターミナルで、/Somax-2.x.xルートフォルダに移動し、次のコマンドを実行して要件をインストールします:
pip3 install -r python/somax/requirements.txt
1.2.3 パッケージの内容
Somax2のディストリビューションには、多くのファイルとフォルダが含まれていますが、その中でも重要なものは以下の通りです:
- /corpus: 配布されているSomax2のコーパスセットが含まれています。
- /docs: チュートリアルパッチやプレイ可能なパフォーマンス戦略が含まれています。
- /externals: Somax2内部で使用される外部プログラムが含まれています。
- /extras: 「somax2.overview.maxpat」が含まれています。これを使ってすべてを探索することができます。
- /help: 各Somax2抽象化に関連するmaxhelpファイルが含まれています。
- /patchers: Somax2を構成する実際のMaxパッチが含まれています。
- somax2.maxpat: 1プレイヤー用のSomax2アプリケーションパッチです。
- somax2.overview.maxpat: どこに行くにも案内してくれる概要パッチです。
- /templates: 1プレイヤーから4プレイヤー用のテンプレートパッチが含まれています。
Somax2の世界に飛び込むには、以下のセクションを参照し、「somax2.overview.maxpat」をメインガイドとして使用することをお勧めします。
Somax2の概要
Somax2のルートフォルダまたは/extrasフォルダにある「somax2.overview.maxpat」は、Somax2の世界を探索するための出発点です。ここから、さまざまなチュートリアルにアクセスしたり、特定のパフォーマンス戦略を定義する準備ができたパッチにアクセスしたりすることができます。また、1プレイヤーから4プレイヤー用のテンプレートや、すべてのSomax2オブジェクトのmaxhelpも利用できます。
アプリチュートリアル
「somax2.overview.maxpat」からアクセスできるだけで
なく、以下の3つのチュートリアルパッチ:
- app1 - First Steps with Somax2.maxpat1
- app2 - Audio Corpus Builder.maxpat2
- app3 - Script your Environment.maxpat
これらはSomax2アプリケーションの基本を案内し、パッチをカスタマイズし、Maxメッセージを通じてさまざまなSomax2オブジェクトをスクリプトする方法を教えてくれます。
Maxチュートリアル
さまざまなパッチがSomax2 Maxライブラリの使用方法を案内します。これらのチュートリアルは、Somaxモデルの非常に基本的なMaxワークフローのレビューから始まり、Somax2のモジュラーアーキテクチャのおかげで、複雑な相互作用の方法に徐々に進化します。「somax2.overview.maxpat」パッチまたは/docs/tutorial-patchersフォルダからこれらを見つけることができます。
パフォーマンス戦略
3つのプレイ可能なパッチは、Somax2の特定の相互作用の振る舞いを紹介します。模倣やハーモナイゼーション戦略からインスタレーションモードまで。これらのパッチは「somax2.overview.maxpat」または/docs/tutorial-patchersフォルダから利用できます。
テンプレート
/templatesフォルダには、1プレイヤーから4プレイヤーまでの設定があらかじめ設定された4つのパッチが含まれています。これらのパッチは、さまざまなプレイヤー構成でSomax2のすべての機能を試すためのテストベンチとして使用できるほか、自分のパッチを作成するための出発点としても使用できます。
ヘルプセンター
「somax2.overview.maxpat」のヘルプセンタータブまたは/helpフォルダから、Somax2抽象化に関する具体的で詳細なmaxhelpファイルにアクセスできます。疑問があるときには、これらを使用してください。
2. Somax2の概念
Somaxは、与えられた音楽素材をもとに即興演奏を行うインタラクティブシステムであり、ライブの音楽入力に合わせてスタイル的に一貫性のある即興を生成することを目指しています。このシステムはユーザーが選択した音楽素材でトレーニングされ、その素材から即興の基礎となる「コーパス」を構築します。Somaxは、オーディオファイルまたはMIDIファイル(またはその組み合わせ)を音楽素材として使用でき、外部からのオーディオおよびMIDI入力に対応して適応します。
Somaxは、即興の過程における共同創造エージェントとして機能することができ、システムは初期の調整後、自己完結的にミュージシャンに合わせて継続的にリスニングおよび適応することができます。もちろん、入力はライブミュージシャンからである必要はなく、オーディオファイル、スコアエディター、シンセサイザー、DAW、または他のSomaxプレイヤーからのものであっても構いません。Somaxは、出力の詳細なパラメトリックコントロールも可能であり、独自の楽器としても操作できます。また、システムは単一のエージェントや単一の入力ソースに限定されず、ユーザーがさまざまな入力ソースやエージェント間のリスニング方法を制御できるエージェントのアンサンブルを作成することも可能です。
このセクションの目的は、Somaxの簡単な紹介を行い、そのインタラクションモデルがどのように機能するかについての基本的な知識を提供することです。これにより、システムの調整やインタラクション時に情報に基づいた選択ができるようになります。Somaxとそのユーザーインターフェースのハンズオンの紹介については、Somaxディストリビューションに含まれるインタラクティブチュートリアルも参照してください。
2.1 コーパスとナビゲーションモデル
前述の通り、Somaxシステムはユーザーが選択した音楽素材に基づいて即興の素材を生成します。この素材は「コーパス」と呼ばれ、1つまたは複数のMIDIファイル、または単一のオーディオファイルから構築できます。多くの他の生成アプローチとは異なり、このシステムは最終的に使用された素材から独立したモデルを構築するのではなく、元のデータの上に直接モデルを構築し、それを非線形的にナビゲートする方法を提供します。これは、音楽ストリームの細かい側面があまりに複雑でモデル化できないことがあり、そのため、音楽素材に織り込む際にある程度は保存されるという見方ができます。
Somaxが与えられた音楽素材からコーパスを構築するための最初のステップは、音楽ストリームを「スライス」と呼ばれる個別のユニットに分割することです。スライスは、元のファイルの垂直(ポリフォニック)セグメントであり、スライスの持続時間は2つのノートオンセット間の距離です。各スライスは、ハーモニー/テクスチャ、個々のピッチ、ダイナミクスなどの音楽的特徴に基づいて分析および分類されます。これらの特徴とそれらが音楽シーケンス上で形成するパターン構造は、ナビゲーションモデルを制御する主な基礎となります。このようにして、ナビゲーションモデルは音楽メモリ(基本的にはコーパス)と、メモリ内をナビゲートして生成信号を再構築する動的パターンマッチングおよび選択スキームから構成されます。MIDIの場合のスライシングは、ポリフォニーがノート間のタイを伴う垂直カラムに分割され、コンテンツの分析と分類の前に行われます。この表現により、生成時にポリフォニック構造を再び織り込むことが可能になります。
図2.1:MIDIデータをスライスに分割してコーパスを構築する手順
メモリをパターンでマッピングする手順は、分析の各音楽特徴(ハーモニー、メロディなど)に対して実際に繰り返され、最終的には各層が1つの特徴に対応する多層表現をもたらします。すなわち、ハーモニーのための1層、ピッチのための1層などです。
ミュージシャンがシステムと対話するとき、入力ストリームに対するリアルタイムのセグメンテーションと多層分析および分類のプロセスが同様に行われ、各時点でこのプロセスの結果がナビゲーションモデル内の情報と一致し、入力がモデルと一致するシーケンシャルメモリの特定のポイントで「ピーク」を生成します。各ピークはメモリ内のポイントに対応するため、ピークの全セットは実質的にコーパスの時間軸に対する1次元曲線として線形に見なすことができます。各層のピークは、システムが調整された方法に従ってマージおよびスケールされ、最終的には、その時点での全体的な文脈とよく一致する位置でシーケンシャルメモリから出力スライスが選択されます。
図2.2:各時点でシステムが出力を生成するステップの概要
このプロセスの生成された出力は、元の素材のシーケンシャルロジックおよび統計的性質と一致する方法で既存の素材を再結合しながら、同時にミュージシャンからの入力にリアルタイムで適応する共同即興です。これは、マルチレイヤーピークプロファイルが入力だけでなく、ナビゲーション自体の出力(「自己リスニング」と呼ばれる)によっても形作られるためです。自己リスニングは、それ自身のレイヤーセットを条件付け、次に外部リスニングのものと結合されます。このプロセスは、コーパスの内部論理とミュージシャンの外部論理のバランスを取ろうとするため、即興プロセスでアクティブなエージェントの印象を与えるような一貫性と予想外の混合を提供することがよくあります。
2.2 Somax2とのインタラクション
Somax2と対話するとき、理解することが重要な3つの主要な概念があります:「スライス」、「インフルエンス」、および「ピーク」です。
2.2.1 スライス
スライスは前述の通り、コーパスの短いセグメントであり、システムの出力の最小単位として機能します。スライスはある程度操作可能(トランスポーズ、音声/チャンネルに関するフィルタリング、ストレッチなど)ですが、元のコーパスの基本的な特性は常に保持されます。
2.2.2 インフルエンス
Somaxがミュージシャンの演奏をリスニングすると、この音楽ストリームは前述のコーパス構築と同様に音楽パラメータに基づいてセグメント化および分析されますが、リアルタイムで動作できるように若干異なるセットの方法が使用されます。このプロセスの結果は、多層データまたは「インフルエンス」の離散的なチャンクとなり、システムがメモリと入力を比較できるようになります。インフルエンスの主な目的は、システムの出力を決定するガイドとして機能することです。インフルエンスの概念は初めは実装の詳細のように見えるかもしれませんが、複数のエージェントおよび/または複数の入力ソースを
含むより複雑な構成ではますます重要になります。システムは音楽入力ストリームを直接リスニングすることはできず、それをインフルエンスに変換する必要があること、そしてリスニングを調整するプロセスが共同即興の質にとって非常に重要な要素であることが主なポイントです。インフルエンスはSomaxエージェント間でやり取りされる主なデータであり、そのため「audioinfluencer」および「midiinfluencer」と呼ばれる入力モジュールがあります。通常、Somaxプレイヤーは累積されたインフルエンス(オーディオ入力、MIDI入力、他のエージェントの生成物)を一定量リスニングし、これらのインフルエンスに基づいて意思決定を行います。
2.2.3 ピーク
最後に、「ピーク」とは、入力がモデルに対応するコーパスのポイント、または単に入力インフルエンスと対応するスライスの一致を指します。各ピークには高さがあり、その特定のスライスが出力候補としての確率(または妥当性)に対応します。インフルエンス(インターフェースで表示される)およびスライス(システムの聞こえる出力に対応する)とは異なり、ピークは直接操作されることはなく、システムの内部状態の一部ですが、おそらく最も重要な部分です。各ピークは、最新のインフルエンスに基づいて現在の出力候補としてのスライスに対応するため、各時点で合理的な数のピークがあることが出力の質にとって重要です。ピークがないと、出力がミュージシャンのインフルエンスを考慮していないことを意味し、逆に多くのピークがある場合は、一致が不正確であることを示します。
2.2.4 全てをまとめる
ピークの概念を文脈に合わせるために、システムの動作を少し深く掘り下げてみましょう。ミュージシャンが演奏している間、Somaxは検出されたオンセットごとに入力をセグメント化/分析し、ピッチ、ハーモニーなどの音楽的な影響の情報を含むインフルエンスを生成します。このプロセスは「インフルエンサー」と呼ばれるシステムのエージェントによって実行されます。この情報は「プレイヤー」にルーティングされ、ここでマッチングと出力生成の全プロセスが処理されます。インフルエンスは前述の通り、プレイヤーによって複数の層にルーティングされます。各層はインフルエンスの音楽的な次元(例:ハーモニー、メロディ)に対応します。各層には、その特定の音楽次元に関するコーパスのモデルが存在し、インフルエンスを受け取ると、モデルは直近のインフルエンスのシーケンスと一致するコーパス内のシーケンスを探し、それぞれの場所に新しいピークを挿入します。
図2.3:新しいインフルエンスを受け取ったときに単一レイヤー内で以前のピークをシフトおよび減衰させるプロセス
システムはまた、ピークを以前のインフルエンスから直ちに捨てず、メモリの時間軸に沿ってシフトさせ、経過時間に対応してその高さを減衰させた後、新しいインフルエンスセットとマージすることで、このモデル内に短期記憶をシミュレートしています。これにより、いくつかの連続するインフルエンスに一致し続けるシーケンスが他のシーケンスよりも高く優先されるようになります。このシステムのもう一つの強力な特性は、完璧な一致ではない位置が、時間が経つにつれて良い一致になる可能性があるため、曖昧なパターン認識が可能であるということです。最終的に、すべての層のピークが単一のピークセットに統合され、システムはこのセットを使用して、現在の時点での最も適したスライスを確率的に決定します。このマルチレイヤーピークマージプロセスの結果は、インフルエンスのハーモニーやピッチと厳密に一致するだけでなく、コーパスの独自の構造に対する最新のインフルエンスの履歴に基づいて即興演奏を行います。
図2.4:内的メロディ、内的ハーモニー、外的メロディ、外的ハーモニーの各音楽次元に対応する4つのピークレイヤーを単一のピークセットに統合し、最終的なスケーリングとピーク選択を行うプロセス
また、プレイヤー自体の出力をリスニングする2つのレイヤーも存在し、これらはフィードバックレイヤーとしてプレイヤーの一貫性とその自身のパフォーマンスの継続性をバランスさせるために使用されます。異なるレイヤー間のバランスや古いピークのシフト/減衰時間、メモリ内の一致するシーケンスの長さなどの制御は、後述する「somax.player.app」および「somax.player.ui」ユーザーインターフェースで利用可能です。
2.3 Somax2ユーザーインターフェース
前述の生成とインタラクションの概念を理論的な観点からのみ理解するのは難しいかもしれません。しかし、Somax2アプリケーションオブジェクトによって提供されるユーザーインターフェースのおかげで、すぐに実際に操作し、Somax2を使い始めることができます。図2.5に示されているように、Somax2アプリケーションの基本オブジェクトは以下の通りです:
- サーバー(Server)
- プレイヤー(Player)
- オーディオインフルエンサー(Audio Influencer)
- MIDIインフルエンサー(MIDI Influencer)
図2.5:Somax2アプリケーションに含まれるオブジェクトへの迅速なアクセスを提供する「somax2.maxpat」
これは、もちろん、Somax2オブジェクトの一つの可能な構成に過ぎません。このアプリケーションの大きな利点の一つは、各オブジェクトがワイヤレスで通信するため、パッチコードの必要がないことです。このようにして、簡単にパッチを適応させ、パッチケーブルの混乱を気にせずに自分の構成を作成することができます。
次のセクションでは、これらのアプリケーションオブジェクトを分解し、それぞれの概要を説明し、主なインタラクションパラメータについて説明します。
3. Somax2オブジェクト
3.1 Somax2アーキテクチャ
新しいSomax2.6は、MaxアプリケーションおよびMaxライブラリとして再設計されました。ほとんどすべてのオブジェクトには「コア」バージョンと「.app」バージョン(例:somax.playerおよびsomax.player.app)があります。
その名前が示すように、コアオブジェクトは純粋なMax抽象化であり、Somax2を完全にMaxスタイルのプログラミングスタイルで使用したいユーザー向けに設計されています。
一方、.appオブジェクトは、パラメータを制御するためのユーザーインターフェースおよび他のユーティリティツールを提供し、抽象化を直ちに使用できるようにする抽象化です。.appオブジェクトは基本的なコアオブジェクトを含んでおり、素早いインタラクションを提供するためにモジュール化されていますが、コアオブジェクトのモジュラリティを保持しています。ほとんどのユーザーは、Maxプログラミングに熟練しておらず、カスタムアプリケーションパッチを作成したいと思わない限り、.appオブジェクトを使用します。
一部のオブジェクトには「.ui」バージョンもあります(例:somax.player.ui)。これは、コアオブジェクトのコンパクトなユーザーインターフェースバージョンであり、これを代替として使用できます。.uiオブジェクトには.appオブジェクトと同じユーティリティが含まれていないため、準備が整ったプレイオブジェクトとしては使用できず、むしろコアオブジェクトに対する視覚的フィードバックの代替手段として設計されています。.uiオブジェクトは.appオブジェクトに含まれているため、以下では.appユーザーインターフェースの詳細を説明するために使用されます。
この章では、コアおよび.appバージョンの主要なSomax2オブジェクトの概要を紹介します。さらに詳しくは、somax2.overview.maxpatパッチを参照してください。
3.2 サーバー
Somaxサーバーは、すべてのsomax.playerオブジェクトが通信する外部のPythonアプリケーションです。somax.server Maxオブジェクトは、リモートサーバーとの通信をOSCプロトコルを使用して管理します。したがって、somax.playerオブジェクトを使用するには、まずsomax.serverオブジェクトを初期化する必要があります。サーバーはまた、プレイヤー間の時間を管理および同期します。
Maxパッチにsomax.serverオブジェクトが作成されると、通常のワークフローは次のステップで構成されます:
- サーバーの初期化:デフォルトでは、somax.serverは作成時に自動的に初期化されます。しかし、属性「@autoinitialize 0」で作成された場合は、「initialize」メッセージを送信する必要があります。
- プレイヤーの初期化:ローカルのすべてのsomax.playerオブジェクトを初期化するには、サーバーに「initializeplayers」メッセージを送信します。
- サーバーのトランスポートのアクティブ化:すべてのプレイヤーの生成を開始するには、「toggle」を使用してプレイヤーのトランスポートを開始または停止します。
図3.1:/helpフォルダおよびsomax2.overview.maxpatのヘルプセンターから利用できる「somax.server.maxhelp」のヘルプパッチ
3.2.1 サーバーアプリ
somax.server.appオブジェクトは、リモートPythonサーバーとの通信を管理するラッパーです。サーバーはまた、プレイヤー間の時間とテンポのスケジューリング、およびコーパスビルダーモジュールを通じた新しいコーパスの構築を管理します。somax.server.app.maxhelpの詳細な説明を参照してください。
図3.2:すべてのパラメータの制御およびコーパスビルダーモジュールのためのインターフェースを備えた「somax.server.app」のユーザーインターフェース
3.3 プレイヤー
somax.playerは、Somaxパッケージの主要な生成オブジェクトです。プレイヤーはコーパス(コーパスビルダーを介して構築)を読み込み、コーパスから非線形的にセグメント(イベント)を再生してMIDIまたはオーディオコンテンツを生成します。プレイヤーとの主なインタラクション方法は、somax.midiinfluencerおよび/またはsomax.audioinfluencerからインフルエンスメッセージを送信することです。これらはプレイヤーが一致させようとしているハーモニーおよびメロディのコンテキストとして機能します。
プレイヤーには、特定のユースケースを対象とする3つの異なるオブジェクトがあります:
- somax.player:これはコアのMaxオブジェクトです。これを使用するには、インフルエンサーをそのインレットに接続し、そのアウトレットをオーディオまたはMIDIレンダラーに接続します。プレイヤー自体はオーディオまたはMIDIを出力せず、データを出力します。
- somax.player.ui:これはsomax.playerと同じように動作しますが、パラメータを制御するためのユーザーインターフェースが提供されます。
- somax.player.app:これはプレイヤーのアプリケーションモジュールです。基本的なsomax.playerオブジェクトがそのコアにあり、ユーザーインターフェース(somax.player.uiと同じ)に加えて、インフルエンスの選択、マッチングのフィードバック、オーディオまたはMIDIの再生のためのモジュールが提供されます。これはワイヤレスで信号をルーティングする準備が整ったオブジェクトです(.appオブジェクト内のすべてのルーティングにはパッチコードが不要です)。
図3.3:/helpフォルダおよびsomax2.overview.maxpatのヘルプセンターから利用できる「somax.player.maxhelp」のヘルプパッチ
3.3.1 プレイヤーアプリ
somax.player.appは、somax.playerの周りにラッパーをかけ、インフルエンスのルーティング、オーディオまたはMIDIのレンダリングおよび再生のための他のツールを組み合わせたものです。somax.player.appには、すべてのパラメータを制御し、ユーザーにより良いインタラクションを提供するためのグラフィックインターフェースがあります。この.appオブジェクトのおかげで、Somaxはインフルエンサーとプレイヤー間のインフルエンスをワイヤレスで送信できます(すなわち、Maxパッチコードなしで)。詳細は「somax.player.app.maxhelp」を参照してください。
図3.4:somax.player.appオブジェクト。ここには、インフルエンスのルーティング、リアルタイムのオーディオコーパスの録音、プレイヤーのパラメータの制御(somax.player.uiで示されるもの)、リージョンフィルタ、アウトゴーイングインフルエンス、および出力オーディオまたはMIDIの制御モジュールが含まれます。
somax.player.appは実際には複数のモジュールで構成されています(図3.4を参照):
- インフルエンスソース:プレイヤーがリスニングするインフルエンスを選択するためのモジュール(オーディオインフルエンサー、MIDIインフルエンサー、またはパッチ内の他のプレイヤーのいずれか)。ここから、各インフルエンサーがプレイヤーに送信するインフルエンスの種類(オンセット、ピッチ、クロマ)を選択することもできます。
- コーパス録音:オーディオコーパスもリアルタイムで録音できます。これはsomax.audiorecordモジュール(コアオブジェクトおよびsomax.audiorecord.uiのアプリバージョンとして利用可能)によって実行されます。
- プレイヤーコントロール:これはsomax.player.uiオブジェクトに対応しており、インタラクションのためのプレイヤーの主なパラメータを制御するモジュールです。「Settings」ボタンを押すと、すべてのパラメータにアクセスできる新しいウィンドウが開きます(図3.5参照)。
- リージョンフィルタおよびマッチ数:このモジュールは、コーパスの最後に再生された状態インデックスおよび任意のレイヤーでのマッチ数に関する視覚的フィードバックを提供します。また、マルチリージョンフィルタ(somax.regions)を有効にして、再生するコーパスの特定のエリアを選択することもできます。
- アウトゴーイングインフルエンス:このモジュールは実際にはインフルエンサーであり、プレイヤーが出力しているオンセット、ピッチ、クロマのデータを監視するのに役立ちます。
- 出力コントロール:オーディオプレイヤーの場合(図3.4参照)、プレイヤーがオーディオを再生するチャンネルを選択し、パン、ゲイン、アタック、リリース、およびその他の設定を制御する専用ボタンをクリックして制御できます。MIDIプレイヤーの場合も同様に、MIDI出力デバイス、ポート、およびチャンネルを選択できます。
図3.5:somax.player.appオブジェクトの「Settings」ボタンをクリックすると、すべての利用可能なプレイヤーのパラメータにアクセスできるウィンドウが開きます。
3.4 インフルエンサー
インフルエンサーの目的は、オーディオまたはMIDIをリアルタイムで解析およびセグメント化し、それを離散的なラベル(オンセット、ピッチ、クロマ)に変換して任意のSomaxプレイヤーに送信することです。
オーディオインフルエンサーは、入力されるオーディオ信号をピッチ、クロマ、およびオンセットに基づいてセグメント化および解析し、それを離散的なラベルに変換します。これにより、プレイヤーがコーパスをナビゲートする方法を制御できます。
同様に、MIDIインフルエンサーは、入力されるMIDIデータをピッチ、クロマ、およびオンセットに基づいてセグメント化および解析し、それを離散的なラベルに変換します。これにより、プレイヤーが同じ方法で影響を受けることができます。
図3.6:インフルエンサーとsomax.playerの関係。データをプレイヤーに送信する前に、すべてのデータ出力に「influence」という単語を付ける必要があります。
プレイヤーと同様に、インフルエンサーは3つの種類のオブジェクトとして存在します:
- somax.audioinfluencerまたはsomax.midiinfluencer:これはコアのMaxオブジェクトです。パラメータを調整するには、多数のメッセージを送信できます(詳細な説明は「somax.audioinfluencer.maxhelp」および「somax.midiinfluencer.maxhelp」を参照)。このオブジェクトの最初のアウトレットを「influence」という単語を前に付けてから、プレイヤーのインレットに接続できます。また、Maxの「route」オブジェクトを使用して、どの種類のインフルエンスを選択するかを設定できます。
- somax.audioinfluencer.uiまたはsomax.midiinfluencer.ui:これはコアインフルエンサーオブジェクトと同じように動作しますが、現在解析されているデータの視覚的フィードバックを提供し(図3.7を参照)、すべてのパラメータにアクセスできる「Settings」ボタンをクリックできます。
- somax.audioinfluencer.appまたはsomax.midiinfluencer.app:これはインフルエンサーのアプリケーションモジュールです。基本的なインフルエンサーオブジェクトがそのコアにあり、ユーザーインターフェース(uiオブジェクトと同じ)に加えて、オーディオまたはMIDI出力のリスニングや、任意のプレイヤーへのインフルエンスのワイヤレスルーティングのためのモジュールを提供します。このアプリケーションモジュールは、先に述べた「somax.player.app」のインフルエンスソースモジュールに表示されます(図3.4を参照)。
図3.7:オンセット、ピッチ、クロマ値を解析した「somax.audioinfluencer.ui」または「somax.midiinfluencer.ui」オブジェクトのコンパクトなインターフェース
3.4.1 オーディオインフルエンサーアプリ
「somax.audioinfluencer.app」オブジェクトは、オーディオインフルエンサーに便利なユーザーインターフェースを追加したラッパーです。このアプリオブジェクトのおかげで、Somaxはインフルエンサーとプレイヤー間のインフルエンスをワイヤレスで送信できます(つまり、Maxパッチコードなしで)。詳細な説明は「somax.audioinfluencer.app.maxhelp」を参照してください。
オーディオセグメンテーションのすべての利用可能なパラメータを微調整するには、「somax.audioinfluencer.app」のユーザーインターフェースにある「Settings」ボタンを押します(図3.8を参照)。これにより、図3.9に示されるような新しいウィンドウが開き、各パラメータを制御し、オンセット検出の方法を選択することができます。また、解析されたオンセット、ピッチ、クロマの視覚的フィードバックも得られます。
図3.8:「somax.audioinfluencer.app」は、オーディオ入力ソースの選択、オーディオ出力およびMIDI出力の再生とルーティングのためのモジュールを提供します。ユーザーは、コンピューターのサウンドカードの任意のチャンネルからオーディオ入力を選択し、オーディオインフルエンサーのステレオ出力を任意の出力チャンネルにルーティングし、パンおよびレイテンシ補償のための遅延値を制御できます。
図3.9:「somax.audioinfluencer.app」および「somax.audioinfluencer.ui」オブジェクトの「Settings」ボタンをクリックすると、オーディオ解析のためのすべての利用可能なパラメータにアクセスできるウィンドウが開きます。
3.4.2 MIDIインフルエンサーアプリ
オーディオインフルエンサーと同様に、「somax.midiinfluencer.app」オブジェクトは、MIDIインフルエンサーに便利なユーザーインターフェースを追加したラッパーです。このアプリオブジェクトのおかげで、Somaxはインフルエンサーとプレイヤー間のインフルエンスをワイヤレスで送信できます(つまり、Maxパッチコードなしで)。詳細な説明は「somax.midiinfluencer.app.maxhelp」を参照してください。
MIDIセグメンテーションのすべての利用可能なパラメータを微調整するには、「somax.midiinfluencer.app」のユーザーインターフェースにある「Settings」ボタンを押します(図3.10を参照)。これにより、図3.11に示されるような新しいウィンドウが開き、各パラメータを制御し、ピッチ解析の方法を選択することができます。また、解析されたオンセット、ピッチ、クロマの視覚的フィードバックも得られます。
図3.10:「somax.midiinfluencer.app」は、MIDI入力ソースの選択、およびMIDI出力の再生とルーティングのためのモジュールを提供します。入力はMIDIファイルまたは任意のMIDIチャンネルから選択でき、出力は標準のMax MIDIデバイスに送信するか、任意の外部アプリケーションに送信できます。
図3.11:「somax.midiinfluencer.app」および「somax.midiinfluencer.ui」オブジェクトの「Settings」ボタンをクリックすると、MIDI解析のためのすべての利用可能なパラメータにアクセスできるウィンドウが開きます。
3.4.3 オーディオコーパスビルダー
「somax.audiocorpusbuilder」は、オーディオファイルからコーパスを構築するために使用されます。「somax.player」はオーディオファイルを直接読み取ることはできません。解析およびセグメント化された後に初めて、オーディオをパースすることができます。「somax.audiocorpusbuilder」は、オーディオファイルをセグメント化し、多くの記述子に基づいて解析し、その結果を別のファイルとしてエクスポートし、これを「somax.player」に読み込むことができます。
これまでに見たオブジェクトとは異なり、オーディオコーパスビルダーには1つの種類のオブジェクトしかありません。それはコアオブジェクトです。しかし、コーパスを構築するには多くのパラメータを調整する必要があります。特にオーディオ素材に関しては、解析されたファイル内のオンセットが正確にどこにあるか、結果として得られるスライスの長さがどれくらいかを視覚的にフィードバックすることが、良いコーパスを構築するためには非常に重要です。このため、すべてのセグメント化パラメータに完全にアクセスできるユーザーインターフェースがあり、スライスされた音声ファイルの視覚的フィードバックも提供されます。このインターフェースは、「somax.audiocorpusbuilder」をダブルクリックするか、「openwindow」メッセージを送信することで利用できます。図3.13に示されるように、このインターフェースが表示されます。
図3.12:「somax.audiocorpusbuilder.maxhelp」のヘルプパッチは、/helpフォルダおよび「somax2.overview.maxpat」のヘルプセンターから利用できます。
図3.13:「somax.audiocorpusbuilder」は、オーディオコーパスをセグメント化するための幅広いパラメータを提供し、実際にコーパスを構築する前にセグメント化を視覚化し、リスニングするためのモジュールを備えています。
詳細な説明については、「somax.audiocorpusbuilder.maxhelp」または「somax.server.app.maxhelp」のオーディオコーパスビルダーのタブを参照してください。
実際の使用例については、「app2 - Audio Corpus Builder.maxpat」アプリチュートリアルまたは「max3 - Building a Corpus.maxpat」Maxチュートリアルを参照してください。
3.4.4 MIDIコーパスビルダー
「somax.midicorpusbuilder」は、オーディオのコーパスビルダーと同様に、1つ(または複数)のMIDIファイルからコーパスを構築するために使用されます。「somax.player」はMIDIファイルを直接読み取ることはできません。解析およびセグメント化された後に初めて、MIDIをパースすることができます。「somax.midicorpusbuilder」は、MIDIファイルをセグメント化し、多くの記述子に基づいて解析し、その結果を別のファイルとしてエクスポートし、これを「somax.player」に読み込むことができます。
オーディオコーパスビルダーと同様に、MIDIコーパスビルダーには1つの種類のオブジェクトしかありません。それはコアオブジェクトです。しかし、同じ理由から、セグメント化のすべてのパラメータに完全にアクセスできるユーザーインターフェースがあります。「somax.midicorpusbuilder」をダブルクリックするか、「openwindow」メッセージを送信することで利用できます。このインターフェースは図3.15に示されています。もちろん、ここでは波形の表現はありませんが、MIDIデータを扱っているため、ピッチおよびクロマの異なる記述子を選択して異なるMIDIチャンネルに割り当てることができます。このようにして、複数のMIDIファイルからコーパスを構築することが可能であり、異なるMIDIチャンネルからメロディ(ピッチ)やハーモニー(クロマ)を選択し、それらを異なるMIDIファイルに関連付けることができます。
図3.15:「somax.midicorpusbuilder」には、MIDIコーパスを構築する際にメロディ(ピッチ)およびハーモニー(クロマ)の次元を指定するためのパラメータがあります。
詳細な説明については、「somax.midicorpusbuilder.maxhelp」または「somax.server.app.maxhelp」のMIDIコーパスビルダーのタブを参照してください。
実際の使用例については、「max3 - Building a Corpus.maxpat」Maxチュートリアルを参照してください。
3.5 オーディオレコード
オーディオコーパスは、リアルタイムでライブストリームから録音できるようになりました。これは、専用モジュール「somax.audiorecord」のおかげです。このモジュールはコア抽象化としても、ユーザーインターフェース付きのモジュールとしても利用できます。詳細は「somax.audiorecord.maxhelp」、および「somax.player.app.maxhelp」の「コーパス録音」タブ、Maxチュートリアル「8 - Real Time Corpus Recording」で確認できます。
3.5.1 somax.audiorecord
「somax.audiorecord」は、オーディオソースからリアルタイムでコーパスを構築するために使用されます。このモジュールは、オーディオストリームと「somax.audioinfluencer」から派生したセグメンテーション解析を入力として受け取り、「somax.player」に特定のメッセージを送信してイベントを学習し、それらからコーパスを構築します。
初期化方法、カスタムラベリングの提供方法、またはこのモジュールのUIバージョンの使用方法については、「somax.audiorecord.maxhelp」の各タブを参照してください。
図3.16:「somax.audiorecord.maxhelp」のヘルプパッチは、/helpフォルダおよび「somax2.overview.maxpat」のヘルプセンターから利用できます。
3.5.2 somax.audiorecord.ui
「somax.audiorecord.ui」は、コアオブジェクトをラップし、専用のユーザーインターフェースとアプリモジュールの自動処理を備えたものです。環境内のすべての「somax.audioinfluencer.app」とすべての入力チャンネルが直接利用可能であり、メニューを通じて選択できます。また、このUIオブジェクトは、影響およびオーディオ信号のインレットを使用して、コアSomaxオブジェクトに接続するハイブリッド構成でも使用できます(「None」に設定した場合)。
図3.17:「somax.audiorecord.ui」は、録音の即時制御のためのコンパクトなユーザーインターフェースを備えています。このインターフェースには、完全なウィンドウで利用可能な設定のほとんどが含まれています。
「somax.audiorecord.ui」の「Settings」ボタンを押すと、すべてのパラメータを制御できる完全なウィンドウが開きます(図3.18に示されています)。
図3.18:「somax.audiorecord.ui」の設定ウィンドウ
前述のように、「somax.player.app」は、リアルタイムでライブストリームのオーディオを録音し、そこから直接コーパスを作成することができます。これは、専用のユーザーインターフェースと特定の設定により制御可能な「somax.audiorecord.ui」モジュールを介して行われます。このモジュールは、「somax.player.app」の上部にあり、インフルエンスソースのモジュールのすぐ後に配置されています。
「somax.audiorecord.ui」のすべてのパラメータの完全な概要については、「somax.player.app.maxhelp」の「コーパス録音」タブを参照してください。「somax.audiorecord.maxhelp」の「UI」タブも参照して、このモジュールを非アプリモジュールと接続する方法を学んでください。
図3.19:「somax.audiorecord.maxhelp」のヘルプパッチは、/helpフォルダおよび「somax2.overview.maxpat」のヘルプセンターから利用できます。
3.6 リージョン
任意のオーディオまたはMIDIコーパスは、異なるエリアを制御するために6つの異なるリージョンに編集できるようになりました(注:MIDIコーパスはそのオーディオ波形を表示しませんが、リージョンは機能します)。これらのリージョンは、詳細なユーザーインターフェースを備えた特定のモジュールのおかげで、動的に編集、有効化、リセットできます。
「somax.regions」モジュールは、「somax.player」とループ接続する必要があり、再生を監視し、次のイベントの生成をガイドするためにコーパスと動的に対話するために使用されます。このモジュールは、「somax.player.app」にも組み込まれており、アプリケーションモジュールとすぐに使用できます。
図3.20:「somax.player.app」に組み込まれた「somax.regions」モジュールが有効化された状態
リージョンは、ニーズに応じて編集、有効化、無効化、およびリサイズでき、コーパスのさまざまなセクションを正確かつ動的に選択できるツールを提供し、インタラクションを構造化するためのツールを提供します。このモジュールをユーザーインターフェースと一緒に使用することが最も簡単な方法ですが、「somax.regions.maxhelp」に示されているように、情報を取得して独自のインターフェースを設計することもできます。
図3.21:「somax.regions.maxhelp」のヘルプパッチは、/helpフォルダおよび「somax2.overview.maxpat」のヘルプセンターから利用できます。
3.7 まとめ
Somax2アプリケーションオブジェクトの各機能について説明しましたので、図3.22に示されているデフォルトの「somax2.maxpat」でそれらを見つけることが簡単になるでしょう。これにより、このパッチに含まれるオブジェクトを分類する際に、すべてのオブジェクトが互いにワイヤレスで通信する.appオブジェクトであることが明確に理解できるようになります。
- somax.server.app
- somax.player.app
- somax.audioinfluencer.app
- somax.midiinfluencer.app
前述のように、これは即座にインタラクションを可能にする1つの構成例にすぎません。「somax2.overview.maxpat」を使用して、提案されているすべての構成やリソースを探索し、/templatesフォルダにあるさまざまなテンプレートパッチを試してみてください。これらをテストベンチのように使用して、さまざまなインタラクション方法を試し、パラメータを探索してください。オブジェクトに慣れてきたら、自分のパッチを作成し、新しい構成やインタラクション方法を見つけることができます。「somax2.overview.maxpat」を頼りにして、必要な場所にリダイレクトし、すべてのアプリおよびMaxチュートリアルを探索し、ヘルプセンターにあるヘルプファイルやパフォーマンス戦略を学んでください。
図3.22:「somax2.maxpat」は、Somax2アプリケーション内のすべてのオブジェクト(サーバー、プレイヤー、オーディオインフルエンサー、MIDIインフルエンサー)への迅速なアクセスを提供します。
おっしゃる通り、図4.3が抜けているのは間違いです。図の案内がある場合、その図を含めた詳細な説明が必要です。以下に修正した翻訳を提供します。
3. Somax2インタラクションのマスター
4.1 基本的なワークフロー
第2章で説明した理論モデルに基づき、図4.1に示されるように、Somax2システムとの基本的なインタラクションのワークフローは以下の通りです。
-
コーパスの生成:Somax2は、外部の音楽素材セット「コーパス」に基づいて即興演奏の素材を生成します。このコーパスは、ユーザーが自由に選択したオーディオまたはMIDIファイルから専用のコーパスビルダーオブジェクトを使用して構築できます。構築されたコーパスは、「corpora」という大きなデータベースに保存され、Playerがcorpuspathフォルダからアクセスできるようになります。したがって、コーパスは実際にPlayerに読み込まれる音楽素材です。
-
インフルエンサーのリスニング:オーディオおよびMIDIインフルエンサーは、ライブミュージシャンを含むあらゆる種類のソースからの連続的なオーディオまたはMIDI入力データをリスニングし、時間的にセグメント化します。各スライスはオンセット、ピッチ、クロマに関して解析され、その情報がPlayerに送信されます。このように、インフルエンサーはPlayerの共同即興行動のトリガーとなります。
-
Player:PlayerはSomax2の主要なエージェントです。インフルエンサーのリスニングを行い、それに基づいてコーパスの内容を再構成し、出力を生成します。
-
サーバー:サーバーはSomax2の中核であり、スケジューリングとバックグラウンドのPythonアプリケーションとの通信、およびすべてのsomax.playerインスタンスとの通信をOSCを通じて行います。サーバーを起動すると、外部ウィンドウに表示されます。
-
プレイヤーの再生:'somax.player'は再生を行いません。リスト内の一連のイベントを提供するだけです。再生は、somax.audio/midiレンダラーオブジェクトを介して独立して処理されます(または独自のシーケンサー/再生パッチを実装します)。ただし、'somax.player.app'オブジェクトを使用すると、出力のレンダリングと再生がここで処理されます。これは即時に使用可能なアプリケーションオブジェクトです。
図4.1:Somax2システムの基本的なワークフロー
4.1.1 インタラクションパラメータ
'somax.player'には広範なパラメータがあり、これらは'somax.player.app.maxhelp'の「パラメータ」タブに完全に文書化されています。'somax.player.ui'では、図4.2に示すように、主要なパラメータの選択にアクセスでき、次のセクションで説明されます。
-
プレイモード:プレイヤーのモードを制御します。
- Reactive:インフルエンサーからの入力があるたびに出力がトリガーされます(ノートごとに)。
- Continuous:入力に関係なく、継続的に出力がトリガーされます。
図4.2:'somax.player.ui'のユーザーインターフェースは、インタラクションを制御するための主要なパラメータのセットを表示します。
-
タイムアウト:リアクティブモードでは、プレイヤーが現在のイベントの再生を終了するまでに新しいトリガーが到着しなかった場合にプレイヤーが再生を続けるかどうかを制御します。この値をゼロ以外に設定すると、プレイヤーはその秒数だけ再生を続けます。無効にすると、プレイヤーは無限に再生を続けます。
-
連続性:プレイヤーの出力の現在の状態インデックスの順序を制御します。
- 連続性 > 1:継続を優先します(ジャンプが少なくなります)。
- 連続性 = 1.00:変更なし(このパラメータによるバイアスなし)。
- 連続性 < 1:ジャンプを優先します。
-
クオリティ / スパース:'クオリティ'しきい値は、マッチが出力として資格を得るために必要な最小スコアを設定します。'スパース'と組み合わせると、良いマッチと見なされるイベントのみが再生されることを保証します。
- クオリティ 0.0:見つかったマッチをすべて再生します。
- クオリティ 1.0:ほとんど再生されません。
- 中間値:このしきい値を超えるマッチを選択して再生します。
-
カット:リアクティブモードでは、新しいトリガー(オンセット)が到着するたびに出力が生成されます。トリガーが到着したときにプレイヤーがイベントの再生中である場合、「カット」は現在再生中のイベントを中断するかどうかを制御します。
- 許可:現在のイベントを中断し、新しいトリガーが到着したらすぐに新しいイベントをトリガーします。
- 許可しない:トリガーを遅延させ、現在のイベントが完了した後に新しいイベントを再生します。
-
確率:生成された各出力を確率で条件付けし、イベントを再生するかどうかを決定します。このパラメータが1.0に設定されている場合は無効ですが、1.0未満の値に設定すると、生成されたイベントの再生率が100%未満になります。たとえば、0.2に設定すると、生成されたイベントのうち20%のみが再生されます。
-
内部および外部のインフルエンス:さまざまな内部および外部のインフルエンスのバランスを制御します。4つの色(緑、紫、赤、青)は、セクション2.2.4で導入された4つの異なるレイヤーに対応しています。
- 緑(内部メロディ):プレイヤー自身の前回の出力のメロディ(ピッチ)をリスニングするフィードバックレイヤー
- 紫(内部ハーモニー):プレイヤー自身の前回の出力のハーモニー(クロマ)をリスニングするフィードバックレイヤー
- 赤(外部メロディ):外部ソース(オーディオ/MIDIインフルエンサー)からのメロディック(ピッチ)インフルエンスをリスニングするメロディレイヤー
- 青(外部ハーモニー):外部ソース(オーディオ/MIDIインフルエンサー)からのハーモニック(クロマ)インフルエンスをリスニングするハーモニーレイヤー
図4.3:次元間のバランス、各次元の一致するシーケンスの長さ、およびピークの減衰時間(メモリ長)を制御するユーザーインターフェース
-
ビートアライメント:有効にすると、プレイヤーは特定のビートフェーズに一致するコーパスのイベントを出力するビートアライメントアルゴリズムを使用します。このビートフェーズは、ビートグリッド内の特定のイベントの位置を表す0から1の間の循環値です。このフィルタは、メインのsomax.player.app UIで有効にできますが、そのコントロールは設定の完全なウィンドウを開くことで利用できます。
- タイプ:ビートアライメントアルゴリズムの強度を設定するために、ハードフィルタとソフトフィルタのいず
れかを選択します。
- ハードフィルタ:ビートフェーズに一致しないすべてのピークを完全に削除し、ビートフェーズに一致しないコーパスイベントをタブーとします。ピークがない場合、Somaxのフォールバックメカニズムは、ビートがずれたイベントを再生するよりも何も再生しないことを選択します。
- ソフトフィルタ:ピークを削除せず、ビートフェーズに一致しないものをこの量でスケーリングします。これは、ビートがずれたイベントが再生される可能性が低くなることを意味しますが、完全には削除されません。
-
グリッドサイズ:各ビートを分割するステップ数。
-
状態とリージョンフィルタ:最後に出力された状態がインターフェースの下部に表示され、リージョンフィルタを使用してプレイヤーがジャンプする状態(リージョン)の範囲を選択できます。
図4.4:プレイヤーのインターフェースのこの部分には、最後に出力された状態およびリージョンフィルタ(有効にされている場合)が表示されます。
- 一致の数:図4.5に示すように、緑、紫、赤、および青のインジケータは、各レイヤー内の一致の数を示します。これらには重複する一致が含まれる場合があります。白のインジケータは、すべてのレイヤーがマージされた後の一致の総数を示します。マージされた結果には重複が含まれず、ほとんどの場合、個々のレイヤーの合計よりも少なくなります。「マッチ」ライトを通じて、一致が発生したかどうかの視覚的フィードバックも得られます。緑の場合は一致が発生し再生されており、赤の場合は一致がなく、黄色の場合はプレイヤーがデフォルトのシーケンスを再生しています。これは、一致がないがスパースがオフであるためにフォールバック動作がデフォルトで行われているか、タイムアウトシーケンスを再生している場合に発生します。
図4.5:ユーザーはピークと直接対話することはありませんが、ユーザーインターフェースにはそれらが示されています。ここで、色(緑、紫、赤、青、白)は、内部フィードバックレイヤーのピーク数(緑:ピッチ、紫:ハーモニー)、外部ピッチレイヤー(赤)、外部ハーモニーレイヤー(青)、およびマージ後の総ピーク数(白)に対応しています。
5. チュートリアルとさらなる探索
Somax2は、驚くべき進化を遂げたインタラクションの新しい世界を開きます。ここではいくつかの提案を行いますが、ライブラリ全体を探索し、興奮するような結果を達成できることを願っています。
5.1 Somax2オーバービューパッチ
Somax2のルートフォルダまたは/extrasフォルダにある'somax2.overview.maxpat'から始め、MaxのExtrasメニューからアクセスできる、Somax2ディストリビューションに含まれる膨大なリソースを閲覧できます。
図5.1に示されているように、ニーズに応じて、ここからSomax2アプリケーションのチュートリアル、Somax2 Maxオブジェクトのチュートリアル、パフォーマンス戦略、テンプレート、およびSomax2オブジェクトに関する詳細な情報を提供するヘルプセンターに素早くアクセスできます。
図5.1:'somax2.overview.maxpat'はSomax2パッケージの出発点です。ここから、アプリチュートリアル(最初のタブ)、Maxチュートリアル(2番目のタブ)、パフォーマンス戦略およびテンプレート(3番目のタブ)、ヘルプセンター(4番目のタブ)、およびプロジェクトページへの直接リンクにアクセスできます。
5.2 アプリチュートリアル
'somax2.overview'の最初のタブから、Somax2アプリケーションの基本を案内する2つのインタラクティブなチュートリアルにアクセスできます。
最初のチュートリアル('app1 - First Steps with Somax2.maxpat'、図5.2および5.3参照)は、第3章で説明したSomax2アプリオブジェクトの紹介を提供します。このチュートリアルは、Somax2アプリケーションの使用の最初のステップを案内し、オーディオとMIDIの両方を使用した迅速なインタラクションに即座にアクセスできるようにします。
2番目のチュートリアル('app2 - Audio Corpus Builder.maxpat'、図5.4参照)は、オーディオコーパスビルダーの使用方法を案内し、独自のオーディオ素材からコーパスを構築し、それをSomax2で即座に使用する方法を示します。
これらの詳細なチュートリアルを使用して、Somax2アプリケーションバージョンへの迅速なダイブを行ってください。
図5.2:チュートリアル 'app1 - First Steps with Somax2.maxpat'は、すべてのSomax2アプリオブジェクトの最初の概要を提供し、最初のステップを案内します。
図5.3:チュートリアル 'app1 - First Steps with Somax2.maxpat'は、オーディオおよびMIDIの基本的なインタラクションを案内します。
図5.4:チュートリアル 'app2 - Audio Corpus Builder.maxpat'は、独自の音楽素材からオーディオコーパスを構築し、Somax2で即座に使用する方法を示します。
図5.5:チュートリアル 'app3 - Script your Environment.maxpat'は、環境をカスタマイズし、Maxメッセージを通じてSomax2 .appオブジェクトをスクリプト化する方法を示します。
5.3 Maxチュートリアル
'somax2.overview'の2番目のタブから、多くの詳細なチュートリアルにアクセスでき、Somax2 Maxオブジェクトの使用の基本的なステップを案内します。
これらのチュートリアルは、複雑さのレベルに応じて配布されているため、その順序に従って進めることをお勧めします。Somax2 Maxライブラリが提供する深い可能性の世界を理解し、探索するためです。各チュートリアルにはいくつかのタブがあり、カバーされたトピックに応じてオーディオとMIDIの両方の全体像を提供します。
以下の図は、これらのMaxチュートリアルパッチの簡単な抜粋を示します。
(a) 基本的なオーディオデモ
(b) 基本的なMIDIデモ
図5.6:チュートリアル 'max1 - Basic Workflow.maxpat'は、オーディオおよびMIDIのMaxインタラクションの基礎を提供します。
図5.7:チュートリアル 'max2 - Introducing Parameters.maxpat'は、セクション4.1.1で説明されているように、インタラクションパラメータの使用に関する最初の概要を提供します。これらのパラメータは、チュートリアル 'max4 - Mastering Somax Interaction Parameters.maxpat'で詳細に探索されます。
図5.8:チュートリアル 'max5 - Advanced Players Interaction.maxpat'は、Somax2 Maxライブラリのモジュール性のおかげで、複雑なインタラクション手段を達成する方法を示します。この特定の例では、'somax.player'が他のプレイヤーに影響を与えるために使用されます。
図5.9:チュートリアル 'max7 - UI versus App.maxpat'は、Somax2オブジェクトの.uiバージョンを.appバージョンと同じように動作させる方法を示します。
図5.10:チュートリアル 'max8 - Real Time Corpus Recording.maxpat'は、somax.audiorecordおよびsomax.audiorecord.uiを使用してライブ入力オーディオストリームからオーディオコーパスを作成する方法を案内します。
5.4 パフォーマンス戦略
この文書で説明された概念に慣れ、さまざまなチュートリアルを探索した後、パフォーマンス戦略パッチを試してみることをお勧めします。
これらは、模倣、ハーモナイゼーション、または終わりのないインスタレーションモードなど、特定のSomax2の動作を実現するための準備が整ったパッチです。これらの動作は、Maxの初期化メッセージを使用して異なるSomax2オブジェクトをスクリプト化することで達成され、チームメンバーの好みの構成から選ばれたものです。これらのパッチは、/docs/tutorial-patchesフォルダ、または'somax2.overview.maxpat'の3番目のタブから見つけることができます。
以下の図は、これらのパッチの概要を示します。
図5.11:パッチ 'performance - Mimetism.maxpat'は、オーディオインフルエンサーとプレイヤーの間で即座に模倣結果を提供します。
図5.12:パッチ 'performance - Harmonization.maxpat'は、プレイヤーのハーモニックマテリアルを使用して、メロディックオーディオインフルエンサーを即座にハーモナイズします。
図5.13:パッチ 'performance - Installation.maxpat'のおかげで、2人のプレイヤー間のインタラクションが無限に続く可能性のあるインスタレーション環境を持つことができます。
5.5 テンプレート
/templatesフォルダには、1人から4人のプレイヤーの構成ですでに設定された4つのパッチが見つかります。これらのパッチは、Somax2のアプリケーションオブジェクトのみを使用しており、さまざまなプレイヤー構成でSomax2のすべての機能を試すためのテストベンチとして使用できます。また、自分のパッチを作成するための出発点としても使用できます。好きな構成を選び、新しいパッチにすべてのオブジェクトをコピーし、自分の新しいパッチを楽しんで実験してください。
図5.14:1人から4人のプレイヤーの構成に簡単にアクセスできる、4つの異なるアプリケーションテンプレートパッチの概要。
5.6 ヘルプセンター
図5.15:'somax2.overview'の4番目
のタブから、包括的なヘルプセンターにアクセスできます。ここから、Somax2オブジェクトの.appおよびMaxバージョンのmaxhelpを開くことができます。また、さまざまなインタラクションパラメータを制御するために使用できるすべての可能なMaxメッセージをリストした文書にアクセスするボタンもあります。
5.7 クレジット
Somax2は、Ircam - STMSのMusic Representationsチームで生まれたSomax反応即興パラダイムの完全に更新されたバージョンであり、有名なOMax即興ソフトウェアの子孫です。
これは、Gérard Assayagが指揮するANR MERCI(Mixed Musical Reality with Creative Instruments)およびERC REACH(Raising Co-creativity in Cyber-Human Musicianship)プロジェクトの一部です。
Somax2の開発はJoakim Borgが行い、文書およびチュートリアルはJoakim BorgとMarco Fioriniが担当しました。
SomaxはGérard AssayagとLaurent Bonnasse-Gahotによって作成され、Axel Chemla Romeu Santosによってバージョン2に適応され、Olivier Delerueによって初期プロトタイプが作成されました。
Georges Bloch、Mikhaïl Malt、Marco Fioriniの継続的な専門知識に感謝します。Somax2ディストリビューションコーパスで使用されている音楽素材について、Bernard Borron、Bernard Magnien、Carine Bonnefoy、Joëlle Léandre、Fabrizio Cassol、Marco Fioriniに感謝します。
5.8 さらなる情報およびチームへの連絡
プロジェクトページ(http://repmus.ircam.fr/somax2)を参照して、情報、ヘルプ、デモビデオ、メディア、およびさまざまなリソースを確認してください。
Facebook: Somax2
Instagram: erc_reach
Facebook: erc.reach
Discussion