(57)【要約】  音楽制作システムであって、当該音楽制作システムは、音楽に対する外部リクエストを受信するための少なくとも１つの入力と、第１の音楽データが含まれる音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するための少なくとも１つの出力とを含むコンピュータインターフェースと、少なくとも第１の入力設置に従って第２の音楽データを処理して、第１の音楽データを生成するように配置される第１の音楽制作コンポーネントと、コンピュータインターフェースを介して内部リクエストを受信し、少なくとも内部リクエストによって指示される第２の入力設置に基づいて第２の音楽データを提供するように配置される第２の音楽制作コンポーネントと、外部リクエストに応答して第１の入力設置と第２の入力設置を確定し、コンピュータインターフェースを介して内部リクエストを起動するように配置されるコントローラーと、を含む。
2021507309.tif 000002
【特許請求の範囲】
【請求項１】
音楽制作システムであって、
一段の音楽に対する外部リクエストを受信するための少なくとも１つの入力と、第１の音楽データが含まれる一段の音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するための少なくとも１つの出力とを含むコンピュータインターフェースと、
少なくとも第１の入力設置に従って第２の音楽データを処理して、前記第１の音楽データを生成するように配置される第１の音楽制作コンポーネントと、
前記コンピュータインターフェースを介して内部リクエストを受信し、少なくとも前記内部リクエストによって指示される第２の入力設置に基づいて前記第２の音楽データを提供するように配置される第２の音楽制作コンポーネントと、
前記外部リクエストに応答して前記第１の入力設置と前記第２の入力設置を確定し、前記コンピュータインターフェースを介して前記内部リクエストを起動するように配置されるコントローラーと、
を含む音楽制作システム。
【請求項２】
前記第２の音楽データは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを含む請求項１に記載の音楽制作システム。
【請求項３】
前記第２の入力設置は合成設置であり、前記第２の音楽制作コンポーネントは、前記合成設置に従って前記少なくとも１つの音楽セグメントを生成するように配置される合成エンジンである請求項２に記載の音楽制作システム。
【請求項４】
前記コントローラーは、前記外部リクエストに応答して検索基準を確定し、前記検索基準とマッチングする少なくとも１つの音楽セグメントをライブラリで検索し、マッチングするセグメントが見つからない場合に、前記内部リクエストを起動するように配置される請求項２に記載の音楽制作システム。
【請求項５】
前記第２の音楽制作コンポーネントは、前記第２の入力設置に従ってライブラリから前記少なくとも１つの音楽セグメントを選択するように配置される請求項２に記載の音楽制作システム。
【請求項６】
前記第２の音楽制作コンポーネントは、前記第２の入力設置にマッチングする音楽セグメントをライブラリで検索し、マッチングするセグメントが見つかった場合、見つかったマッチングするセグメントを前記第１の音楽制作コンポーネントに提供し、マッチングするセグメントが見つからない場合、前記音楽制作システムの合成エンジンに前記第２の入力設置に従って音楽セグメントを生成させ、生成された音楽セグメントを前記第１の制作コンポーネントに提供するように配置される請求項２に記載の音楽制作システム。
【請求項７】
前記第１の音楽制作コンポーネントは、前記第１の音楽データをオーディオデータとして生成するように配置されるオーディオエンジンである請求項１に記載の音楽制作システム。
【請求項８】
前記オーディオエンジンは、前記第１の入力設置に従って、前記少なくとも１つの音楽セグメントをレンダリングして、前記オーディオデータを生成するように配置される請求項２又は７に記載の音楽制作システム。
【請求項９】
前記第１の音楽制作コンポーネントは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントの形で、前記第１の音楽データを生成するように配置される請求項１に記載の音楽制作システム。
【請求項１０】
前記外部リクエストを前記コントローラーに割り当て、前記内部リクエストを前記第２の音楽制作コンポーネントに割り当てるように配置されるリクエストマネージャーを含む請求項１に記載の音楽制作システム。
【請求項１１】
前記リクエストマネージャーは、前記リクエストのタイプに基づいて各リクエストを割り当てるように配置される請求項９に記載の音楽制作システム。
【請求項１２】
前記リクエストのタイプは、オーディオタイプと音楽記号タイプのいずれかである請求項１０に記載の音楽制作システム。
【請求項１３】
前記リクエストマネージャーは、前記外部リクエストを第１のキューに割り当て前記コントローラーに処理させ、前記内部リクエストを第２のキューに割り当て前記第２の音楽制作コンポーネントに処理させるように配置される請求項９に記載の音楽制作システム。
【請求項１４】
前記第１の入力設置又は前記第２の入力設置は、スタイルパラメータ、拍子、トラック継続時間、音楽小節の数及び１つまたは複数の音楽パーツのうちの少なくとも１つを含む請求項１に記載の音楽制作システム。
【請求項１５】
前記内部リクエストに応答することによって、前記第２の音楽データを前記コントローラーで使用可能にする請求項１に記載の音楽制作システム。
【請求項１６】
前記第２の音楽制作コンポーネントは、前記第２の音楽データを識別子と関連付けてデータベースに記憶するように配置され、前記応答は、前記識別子を含み、前記第２の音楽データを前記コントローラーで使用可能にする請求項１５に記載の音楽制作システム。
【請求項１７】
対応する識別子を前記外部リクエストと前記内部リクエストに指定するように配置されるリクエストマネージャーを含み、前記コントローラーは、前記第１の音楽データを、前記外部リクエストに対して指定した前記識別子と関連付けて電子メモリに記憶し、前記第２の音楽データを、前記内部リクエストに対して指定した前記識別子と関連付けて前記電子メモリに記憶するように配置される請求項１に記載の音楽制作システム。
【請求項１８】
前記外部リクエストは、前記一段の音楽を編集するリクエストである請求項１に記載の音楽制作システム。
【請求項１９】
前記外部リクエストは、編集対象の前記一段の音楽の識別子を含む請求項１８に記載の音楽制作システム。
【請求項２０】
前記第１の入力設置と前記第２の入力設置は、一セットの変更されたトラック設置に含まれ、前記一セットの変更されたトラック設置は、編集リクエストに従って、前記識別子と関連付けてデータベースに保存される一セットのトラック設置を変更することによって確定される請求項１９に記載の音楽制作システム。
【請求項２１】
前記外部リクエストは、編集対象トラックの音楽データを含むか又は識別する請求項１９に記載の音楽制作システム。
【請求項２２】
前記第１の音楽制作コンポーネントと前記第２の音楽制作コンポーネントの少なくとも１つは、前記ライブラリのための音楽セグメントを生成するように配置される請求項４、５又は６のいずれか１項に記載の音楽制作システム。
【請求項２３】
音楽制作システムであって、
リクエストを受信するための少なくとも１つの入力と、各前記リクエストに対する応答を出力するための少なくとも１つの出力とを含むコンピュータインターフェースと、
各前記リクエストのタイプに基づいて、各前記リクエストを複数のジョブキューの１つに割り当てるように配置されるリクエストマネージャーと、
前記ジョブキューのうち第１のジョブキューに割り当てられた第１のリクエストに応答して一段の音楽に使用されるオーディオデータを生成するように配置されるオーディオエンジンであって、前記第１のリクエストに対する応答により、前記オーディオデータを前記リクエストのソースで使用可能にするオーディオエンジンと、
前記ジョブキューのうち第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成するように配置される合成エンジンであって、前記第２のリクエストに対する応答により、前記少なくとも１つの音楽セグメントを前記リクエストのソースで使用可能にする合成エンジンと、
を含む音楽制作システム。
【請求項２４】
前記リクエストマネージャーは、各前記リクエストに一意のジョブ識別子を指定するように配置される請求項２３に記載の音楽制作システム。
【請求項２５】
各リクエストに対する前記応答は、前記リクエストに指定された前記ジョブ識別子を含む請求項２４に記載の音楽制作システム。
【請求項２６】
前記オーディオエンジンは、前記オーディオデータを前記第１のリクエストに指定された前記ジョブ識別子と関連付けてデータベースに記憶して、前記オーディオデータが、第１のリクエストに対する応答における前記ジョブ識別子によって得られるように配置され、
前記合成エンジンは、前記少なくとも１つの音楽セグメントを前記第２のリクエストに指定された前記ジョブ識別子と関連付けて前記データベース又は別のデータベースに記憶して、前記少なくとも１つの音楽セグメントが、前記第２のリクエストに対する応答における前記ジョブ識別子によって得られるように配置される請求項２４に記載の音楽制作システム。
【請求項２７】
前記第１のリクエストは、外部リクエストである請求項２３に記載の音楽制作システム。
【請求項２８】
前記第１のジョブキューに結合され、前記第１のジョブキューから前記第１のリクエストを受信し、前記第１のリクエストに応答して前記オーディオエンジンによる前記オーディオデータの生成を起動するように配置されるコントローラーを含む請求項２３に記載の音楽制作システム。
【請求項２９】
前記第２のリクエストは、前記コントローラーによって前記第１のリクエストに応答して起動される内部リクエストである請求項２８に記載の音楽制作システム。
【請求項３０】
前記コントローラーは、前記第２のリクエストに対する応答を受信し、前記少なくとも１つの音楽セグメントを取得し、前記少なくとも１つの音楽セグメントを前記オーディオエンジンに提供して、前記少なくとも１つの音楽セグメントに基づく前記オーディオデータの生成を起動するように配置される請求項２９に記載の音楽制作システム。
【請求項３１】
前記第２のリクエストは、外部リクエストである請求項２３に記載の音楽制作システム。
【請求項３２】
前記第２のジョブキューは、外部の前記第２のリクエストが前記合成エンジンに直接ルーティングされるように、前記合成エンジンに結合される請求項３１に記載の音楽制作システム。
【請求項３３】
前記第１のリクエストは、前記一段の音楽を編集するリクエストであり、前記一段の音楽の識別子を含み、前記識別子と関連付けられてデータベースに保存されている少なくとも１つの既存の設置と、前記第１のリクエストに応答して確定された少なくとも１つの新しい設置に基づいて、前記オーディオデータを生成する請求項２３に記載の音楽制作システム。
【請求項３４】
前記第２のリクエストは、識別子を含む編集リクエストであり、前記識別子と関連付けられてデータベースに保存されている少なくとも１つの既存の設置と、前記第２のリクエストに応答して確定された少なくとも１つの新しい設置に基づいて、前記少なくとも１つの音楽セグメントを生成する請求項２３に記載の音楽制作システム。
【請求項３５】
前記第１のリクエストと前記第２のリクエストの少なくとも１つは、前記一段の音楽を編集するリクエストであり、編集対象の前記一段の音楽の音楽データを含むか又は識別し、前記音楽制作システムは、前記音楽データを前記オーディオエンジンと前記合成エンジンの少なくとも１つに提供することによって前記一段の音楽の編集バージョンを作成するように配置されるコントローラーを含む請求項２３に記載の音楽制作システム。
【請求項３６】
前記リクエストにおける前記音楽データは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを含む請求項３５に記載の音楽制作システム。
【請求項３７】
前記オーディオエンジンと前記合成エンジンの少なくとも１つは、複数のジョブキューに結合され、異なるタイプのリクエストを受信する請求項２３に記載の音楽制作システム。
【請求項３８】
前記外部リクエストは、いずれの入力設置も定義せず、前記システムは、前記第１の入力設置と前記第２の入力設置を自動的に確定するように配置される請求項１に記載の音楽制作システム。
【請求項３９】
音楽制作システムで実行される方法であって、
コンピュータインターフェースで一段の音楽に対する外部リクエストを受信するステップと、
前記外部リクエストに応答して、少なくとも第１の入力設置と第２の入力設置を確定するステップと、
前記コンピュータインターフェースを介して、前記第２の入力設置を指示する内部リクエストを起動するステップと、
第２の音楽制作コンポーネントでは、前記コンピュータインターフェースを介して前記内部リクエストを受信し、前記第２の入力設置に基づいて第２の音楽データを提供するステップと、
第１の音楽制作コンポーネントでは、前記第１の入力設置に従って前記第２の音楽データを処理して、第１の音楽データを生成するステップと、
前記第１の音楽データが含まれる前記一段の音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するステップと、
を含む方法。
【請求項４０】
音楽制作システムで実行される方法であって、
コンピュータインターフェースで複数のリクエストを受信するステップと、
各前記リクエストのタイプに基づいて、各前記リクエストを複数のジョブキューの１つに割り当てるステップと、
オーディオエンジンでは、前記リクエストにおける前記ジョブキューのうち第１のジョブキューに割り当てられた第１のリクエストに応答して、一段の音楽のためのオーディオデータを生成するステップと、
前記コンピュータインターフェースでは、前記第１のリクエストに対する応答を出力し、前記応答により、前記オーディオデータを前記リクエストのソースで使用可能にするステップと、
合成エンジンでは、前記リクエストにおける前記ジョブキューのうち第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成するステップと、
前記コンピュータインターフェースでは、前記第２のリクエストに対する応答を出力し、前記応答により、前記少なくとも１つの音楽セグメントを前記リクエストのソースで使用可能にするステップと、
を含む方法。
【請求項４１】
非一時的なコンピュータ可読記憶メディアに記憶される実行可能な指令を含むコンピュータプログラムであって、前記実行可能な指令は、音楽制作システムで実行される場合に、前記音楽制作システムに請求項３９又は４０に記載されたステップを実施させるように配置されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動音楽制作に関する。
【背景技術】
【０００２】
人工知能（ＡＩ）に基づく自動音楽制作は、大きな可能性を秘めた新興技術である。限られた数の入力パラメーターに基づいてオリジナルの音楽を合成するように、ＡＩシステム（例えば、ニューラルネットワークなど）のトレーニングに関する研究が行われている。これはエキサイティングな研究分野であるが、今まで開発された多くの方法には、音楽出力の品質と柔軟性に問題があるため、これらの方法の実際の環境での有用性が制限されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示の１つの目的は、システムとの柔軟かつ複雑なインタラクションを可能にする改善されたインターフェースを備えた自動音楽制作システムを提供することである。これにより、ミュージシャンやプロデューサーなどの個人的なニーズや好みに合うようなシステムを作成ツールとして使用できる、エキサイティングな新しいユースケースが開かれる。
【課題を解決するための手段】
【０００４】
本発明の第１の態様は、音楽制作システムを提供し、一段の音楽に対する外部リクエストを受信するための少なくとも１つの入力と、第１の音楽データが含まれる一段の音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するための少なくとも１つの出力とを含むコンピュータインターフェースと、少なくとも第１の入力設置に従って第２の音楽データを処理して、第１の音楽データを生成するように配置される第１の音楽制作コンポーネントと、コンピュータインターフェースを介して内部リクエストを受信し、少なくとも内部リクエストによって指示される第２の入力設置に基づいて第２の音楽データを提供するように配置される第２の音楽制作コンポーネントと、外部リクエストに応答して第１の入力設置と第２の入力設置を確定し、コンピュータインターフェースを介して内部リクエストを起動するコントローラーと、を含む。
【０００５】
実施の形態では、第２の音楽データは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを含んでもよい。
【０００６】
第２の入力設置は合成設置であってもよく、第２の音楽制作コンポーネントは、合成設置に従って少なくとも１つの音楽セグメントを生成するように配置される合成エンジンであってもよい。
【０００７】
コントローラーは、外部リクエストに応答して検索基準を確定し、検索基準にマッチングする少なくとも１つの音楽セグメントをライブラリで検索し、マッチングするセグメントが見つからない場合、内部リクエストを起動するように配置されてもよい。
【０００８】
第２の音楽制作コンポーネントは、第２の入力設置に従ってライブラリから少なくとも１つの音楽セグメントを選択するように配置されてもよい。
【０００９】
第２の音楽制作コンポーネントは、第２の入力設置にマッチングする音楽セグメントをライブラリで検索し、マッチングするセグメントが見つかった場合、見つかったマッチングするセグメントを第１の音楽制作コンポーネントに提供し、マッチングするセグメントが見つからない場合、音楽制作システムの合成エンジンに第２の入力設置に従って音楽セグメントを生成させ、生成された音楽セグメントを第１の制作コンポーネントに提供するように配置されてもよい。
【００１０】
第１の音楽制作コンポーネントと第２の音楽制作コンポーネントの少なくとも１つは、ライブラリのための音楽セグメントを生成するように配置されてもよい。
【００１１】
第１の音楽制作コンポーネントは、第１の音楽データをオーディオデータとして生成するように配置されるオーディオエンジンであってもよい。
【００１２】
オーディオエンジンは、第１の入力設置に従って少なくとも１つの音楽セグメントをレンダリングしてオーディオデータを生成するように配置されてもよい。
【００１３】
第１の音楽制作コンポーネントは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントの形で第１の音楽データを生成するように配置されてもよい。
【００１４】
音楽制作システムは、外部リクエストをコントローラーに割り当て、内部リクエストを第２の音楽制作コンポーネントに割り当てるように配置されるリクエストマネージャーを含んでもよい。
【００１５】
リクエストマネージャーは、リクエストのタイプに基づいて各リクエストを割り当てるように配置されてもよい。
【００１６】
リクエストのタイプは、オーディオタイプと音楽記号タイプのいずれかであってもよい。
【００１７】
リクエストマネージャーは、外部リクエストを第１のキューに割り当てコントローラーに処理させ、内部リクエストを第２のキューに割り当て第２の音楽制作コンポーネントに処理させるように配置されてもよい。
【００１８】
第１の入力設置又は第２の入力設置は、スタイルパラメータ、拍子、トラック継続時間、音楽小節の数及び１つ以上の音楽パーツのうち少なくとも１つを含んでもよい。
【００１９】
内部リクエストに応答することによって、第２の音楽データをコントローラーで使用可能にする。
【００２０】
第２の音楽制作コンポーネントは、第２の音楽データを識別子と関連付けてデータベースに記憶するように配置されてもよく、その中、応答には識別子が含まれてもよく、これにより、第２の音楽データをコントローラーで使用可能にする。
【００２１】
音楽制作システムは、対応する識別子を外部リクエストと内部リクエストに指定するように配置されるリクエストマネージャーを含み、前記コントローラーは、前記第１の音楽データを前記外部リクエストに指定された前記識別子と関連付けて電子メモリに記憶し、前記第２の音楽データを前記内部リクエストに指定された前記識別子と関連付けて前記電子メモリに記憶するように配置されてもよい。
【００２２】
外部リクエストは、当該一段の音楽を編集するリクエストであってもよい。
【００２３】
外部リクエストは、編集対象の当該一段の音楽の識別子を含んでもよい。
【００２４】
第１の入力設置と第２の入力設置は、編集リクエストに従って、前記識別子と関連付けてデータベースに保存される一セットのトラック設置を変更することによって確定される、一セットの変更されたトラック設置に含まれてもよい。
【００２５】
外部リクエストは、編集対象のトラックを含むか又は識別する音楽データであってもよい。
【００２６】
本発明の第２の態様は音楽制作システムを提供し、リクエストを受信するための少なくとも１つの入力と、各リクエストに対する応答を出力するための少なくとも１つの出力とを含むコンピュータインターフェースと、各リクエストのタイプに基づいて各リクエストを複数のジョブキューの１つに割り当てるように配置されるリクエストマネージャーと、第１のジョブキューに割り当てられた第１のリクエストに応答して一段の音楽のためのオーディオデータを生成し、第１のリクエストに対する応答によって、オーディオデータを当該リクエストのソースで使用可能にするように配置されるオーディオエンジンと、第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成し、第２のリクエストに対する応答によって、当該少なくとも１つの音楽セグメントを当該リクエストのソースで使用可能にするように配置される合成エンジンと、を含む。
【００２７】
実施の形態では、リクエストマネージャーは、各リクエストに一意のジョブ識別子を指定するように配置されてもよい。
【００２８】
各リクエストに対する応答は、当該リクエストに指定されたジョブ識別子を含んでもよい。
【００２９】
オーディオエンジンは、オーディオデータが第１のリクエストに対する応答におけるジョブ識別子によって得られるように、オーディオデータを第１のリクエストに指定されたジョブ識別子と関連付けてデータベースに記憶するように配置されてもよい。
【００３０】
当該合成エンジンは、少なくとも１つの音楽セグメントが第２のリクエストに対する応答における前記ジョブ識別子によって得られるように、少なくとも１つの音楽セグメントを第２のリクエストに指定されたジョブ識別子と関連付けてデータベース又は別のデータベースに記憶するように配置されてもよい。
【００３１】
第１のリクエストは、外部リクエストであってもよい。
【００３２】
音楽制作システムは、第１のジョブキューに結合され、第１のジョブキューから第１のリクエストを受信し、第１のリクエストに応答してオーディオエンジンにオーディオデータを生成させるように配置されるコントローラーを含んでもよい。
【００３３】
第２のリクエストは、第１のリクエストに応答してコントローラーによって起動される内部リクエストであってもよい。
【００３４】
コントローラーは、第２のリクエストに対する応答を受信し、少なくとも１つの音楽セグメントを取得し、少なくとも１つの音楽セグメントをオーディオエンジンに提供して、少なくとも１つの音楽セグメントに基づくオーディオデータの生成を起動するように配置されてもよい。
【００３５】
第２のリクエストは、外部リクエストであってもよい。
【００３６】
第２のジョブキューは、外部の第２のリクエストが合成エンジンに直接ルーティングされるように、合成エンジンに結合されてもよい。
【００３７】
第１のリクエストと第２のリクエストの少なくとも１つは、当該一段の音楽を編集するリクエストであってもよい。
【００３８】
第１のリクエストは、当該一段の音楽を編集するリクエストであり、当該一段の音楽の識別子を含み、当該識別子と関連付けられてデータベースに保存されている少なくとも１つの既存の設置と第１のリクエストに応答して確定された少なくとも１つの新しい設置に基づいてオーディオデータを生成してもよい。
【００３９】
第２のリクエストは、識別子を含む編集リクエストであり、識別子と関連付けられてデータベースに保存されている少なくとも１つの既存の設置と第２のリクエストに応答して確定された少なくとも１つの新しい設置に基づいて少なくとも１つの音楽セグメントを生成してもよい。
【００４０】
第１のリクエストと第２のリクエストの少なくとも１つは、当該一段の音楽を編集するリクエストであり、編集対象の一段の音楽の音楽データを含むか識別してもよい。音楽制作システムは、音楽データをオーディオエンジンと合成エンジンの少なくとも１つに提供することによって当該一段の音楽の編集バージョンを作成するように配置されるコントローラーを含んでもよい。
【００４１】
リクエストにおける音楽データはデジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを含んでもよい。
【００４２】
オーディオエンジンと合成エンジンの少なくとも１つは複数のジョブキューに結合され、異なるタイプのリクエストを受信してもよい。
【００４３】
外部リクエストはいずれの入力設置も定義しなくてもよく、システムは第１の入力設置と第２の入力設置を自動的に確定するように配置されてもよい。
【００４４】
本発明の第３の態様は、音楽制作システムで実行される方法を提供し、コンピュータインターフェースで一段の音楽に対する外部リクエストを受信することと、外部リクエストに応答して、少なくとも第１の入力設置と第２の入力設置を確定することと、コンピュータインターフェースを介して、第２の入力設置を指示する内部リクエストを起動することと、第２の音楽制作コンポーネントでは、コンピュータインターフェースを介して内部リクエストを受信し、第２の入力設置に基づいて第２の音楽データを提供することと、第１の音楽制作コンポーネントでは、第１の入力設置に従って第２の音楽データを処理して、第１の音楽データを生成することと、第１の音楽データが含まれる音楽を含むか又は指示する、当該外部リクエストに対する応答を送信することと、を含む。
【００４５】
本発明の第４の態様は、音楽制作システムで実行される方法を提供し、コンピュータインターフェースで複数のリクエストを受信することと、各リクエストのタイプに基づいて各リクエストを複数のジョブキューの１つに割り当てることと、オーディオエンジンでは、第１のジョブキューに割り当てられた第１のリクエストに応答して、音楽のためのオーディオデータを生成することと、コンピュータインターフェースで第１のリクエストに対する応答を出力し、当該応答によって、オーディオデータを当該リクエストのソースに使用可能にすることと、合成エンジンでは、第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成することと、コンピュータインターフェースで第２のリクエストに対する応答を出力し、当該応答によって、少なくとも１つの音楽セグメントを当該リクエストのソースに使用可能にすることと、を含む。
【００４６】
本発明の第５の態様はコンピュータプログラムを提供し、非一時的なコンピュータ可読記憶メディアに記憶される実行可能な指令を含み、実行可能な指令は、音楽制作システムで実行される場合に、音楽制作システムにいずれかの方法のステップを実施させるように配置される。
【図面の簡単な説明】
【００４７】
本発明をよりよく理解し、本発明の実施形態をどのように実施できるかを示すために、以下の図面を参照する。
【００４８】
【図１】音楽制作システムの概略ブロック図を示す。
【図２】着信のジョブリクエストが音楽制作システムによってどのように処理されるかを示す。
【図３】スタックに配置されたコアシステムコンポーネントを有する音楽制作システムの高レベルの概要を示す。
【図４】合成エンジンの概略ブロック図を示す。
【図５】複数の音楽パーツの音楽セグメントを生成するための合成エンジンの例示的なアーキテクチャを示す。
【図６】ユーザーからのリクエストに応答してトラックを生成する方法のフローチャートを示す。
【図７】データベースを設置するための可能な構成の概略図を示す。
【図８】トラック設置を選択するための階層的選択メカニズムを示す。
【図９】音楽合成システムの一部の概略ブロック図を示す。
【図１０】アプリケーションプログラミングインターフェースの概略ブロック図を示す。
【図１１】音楽トラックを編集する方法を説明するフローチャートを示す。
【図１２】ＡＩ音楽制作スタックを示す。
【発明を実施するための形態】
【００４９】
以下、ＡＩを使用してオリジナル音楽を合成及び／又は制作することができるＡＩ音楽制作システムについて説明する。
【００５０】
ＡＩ音楽制作システムは、以下で「Ｊｕｋｅｄｅｃｋ」システムと呼ばれる。
【００５１】
伝統的に、合成音楽は人類の一意の領域である。ＡＩ技術が進歩を遂げたとしても、これらの技術を音楽合成に適用することは非常に困難であることが証明され、それは、音楽の複雑さと性質のためである。ＡＩの１つの形式である機械学習は、現在、画像やサウンド認識などの分野でよく使用されている。しかしながら、ＡＩの音楽への適用は成功がほとんどない。その原因は次の通りである。
【００５２】
１. 音楽は非常に複雑であり、音楽は多次元であり、調性と時間空間との両方で動作し、多くの場合、多くの異なる方法で同時にインタラクションする多くの音楽コンポーネントを持っている。ＡＩシステムは、この複雑さを理解して解決できる必要がある。
【００５３】
２. 従来から、音楽制作（セグメントのアレンジ、ボリュームレベルの設定、適用効果など）は、ほとんど複雑な手動プロセスであり、完了するためには様々な高度なツールが必要である。現在の音楽が使用されている様々な環境で使用できる音楽を自動的に生成するためには、システムは楽譜を自動的に生成するだけでなく、この複雑な音楽制作プロセスも自動化する必要がある。
【００５４】
Ｊｕｋｅｄｅｃｋの技術紹介
【００５５】
Ｊｕｋｅｄｅｃｋシステムには、フルスタックのクラウドベースの音楽シンセサイザーが組み込まれており、従来のＡＩと音楽を関連付ける複雑さを解決する。当該技術は、高度な音楽理論に基づいて、ニューラルネットワークを斬新な方法で組み合わせて、ユニークでプロフェッショナルな品質の音楽をほんの数秒で合成及び制作する。エンドツーエンドのテクノロジースタックは、次のようにまとめることができる。（ｉ）ジャンル及びその他の全体的な音楽属性を選択し、（ｉｉ）次に、これらの選択を組み合わせてレンズを形成し、当該レンズによって各音符と音符シーケンスを合成し（音楽合成）、（ｉｉｉ）次に、これらの合成された音符を完全なオーディオトラックに制作する（音楽制作）。以下は、合成からユーザーインターフェース／ＡＰＩに制作するまでのスタックの概要である。
【００５６】
エンドツーエンドのテクノロジースタック
【００５７】
図１２は、ＡＩ音楽制作システムの概略機能ブロック図であり、当該ＡＩ音楽制作システムは、自動合成エンジン２、自動制作エンジン３及びアプリケーションプログラミングインターフェース（ＡＰＩ）形態のアクセスコンポーネント１４を含む。
【００５８】
自動音楽合成エンジン
【００５９】
自動音楽合成エンジン２は、音楽を生成する第１ステップを実行する。伝統的に、ＡＩに基づくシンセサイザーは、ハードコーディングされたルールベースのシステム（一般的に互いによく似たトラックを作る）又は基本的な機械学習システムのいずれかであり、これらのシステムは、複雑さを欠けるため、あらゆる環境でユーザーに役立つ多面的で心地よい音楽を生成することができない。
【００６０】
対照的に、合成エンジン２は、新規のニューラルネットワーク構成を使用して、その機械学習システムが複雑で適切に構造化された高品質の音楽出力を生成できるようにする。また、これによりシステムは次のことを実行できる。
【００６１】
音楽パーツが連携して機能する能力を最大化する─新しい技術により、システムは音楽的に説得力のある方法で相互に作用する音楽パーツを生成できるようになり、生成された音楽の全体的な品質を大幅に向上させる。
【００６２】
音楽選択の韻律的文脈をよりよく理解する─他のＡＩシステムは、合成の選択を行う際に必要な韻律のコンテキストを理解するために必要な長期な記憶を持つことは困難である。しかしながら、この技術はこの問題を解決し、各合成選択に韻律のコンテキスト要素が組み込まれることを確保し、生成された音楽の品質を向上させる。
【００６３】
大幅に変化する出力を生成する─ハードコーディングルールの代わりに機械学習技術を利用することによって、合成エンジン２は、トレーニングされたデータセットの特性をより適切に反映する音楽出力を提供する。これは、出力をより多様に変更できることを意味し、ハードコーディングルールが本質的に出力の可能性の範囲を制限するためである。
【００６４】
自動音楽制作エンジン
【００６５】
自動音楽合成エンジン２は（ＭＩＤＩ又は他のデジタル音楽記号の形）、音楽を合成することを担当し、自動音楽制作エンジン３は、音楽制作技術を当該合成された音楽に適用して、スタジオ品質のトラックを作成することを担当する。制作エンジン３は、自動音楽合成エンジン２の出力を、完全にアレンジされ制作された曲として自動的に組み立てて、それをオーディオファイルに出力する。制作エンジン３は、各音楽パーツに使用する楽器とサウンドを選択し、複雑なクラウドベースのオーディオエンジン（図１の符号１２で示される。以下を参照）でオーディオを自動的にレンダリング、混合、制御する。これにより、ユーザーの希望する音楽設置（例えばジャンル、ムード、継続時間など）に従って曲を自動的に生成及び制作することができ、そのため、ユーザーは音楽のコンセプトや音楽制作技術の事前知識がなくても、新しい曲を作成することができる。
【００６６】
自動音楽制作エンジン３には、次のようないくつかの重要な区別的特徴がある。
高性能のクラウドベースのオーディオエンジン─ほとんどのオーディオエンジンは、ローカルマシンで実行され、ユーザーインターフェースを介して制御されオーディオを操作するように設計される。対照的に、Ｊｕｋｅｄｅｃｋシステムのオーディオエンジン１２はクラウドで実行され、ユーザー入力なしで、オーディオを自動的に制作するように設計される。これは、Ｊｕｋｅｄｅｃｋシステムは様々なアプリケーションやユーザーが利用でき、専門的な音楽知識を必要とせず、拡張性が高いことを意味する。
【００６７】
音楽内の特定のポイントで何が発生するかに影響を与える能力─ビデオ作成者は、ほとんどの場合、ビデオの作成が完了した後に音楽を提供する。多くの場合、ビデオには、作成者が音楽を使用して強調したい特定のポイントがある。例えば、これらのポイントでのアクションは多かれ少なかれ強烈であり、音楽がマッチングする場合、ビデオはより効果的である。ビデオに音楽を提供する既存の方法では、通常、ユーザーは音楽で特定のイベントが発生すべき特定のポイントを設置できない。対照的に、本開示は、「同期ポイント」及び「強度」という特徴を提供し、さらに、ビデオ作成者に、それらのビデオサウンドトラックをより効率的にし、編集時間を短縮する機能を提供する。
【００６８】
同期ポイント─Ｊｕｋｅｄｅｃｋシステムでは、ユーザーは、トラック内の同期ポイントを最も近いミリ秒に設置できる。つまり、Ｊｕｋｅｄｅｃｋシステムでは、特定の音楽イベント（例えば、セグメント変更）をトラック内の特定の時点に配置することができる。当該特徴により、音楽と別のメディアと同期させる（例えば、付随するビデオで発生するあるイベントと同期させる）ことができる。Ｊｕｋｅｄｅｃｋシステムは、オーディオトラック内の複数の異なる時点に複数の同期ポイントを設置することができる。
【００６９】
強度─Ｊｕｋｅｄｅｃｋシステムでは、ユーザーは、音楽の強度をトラックでどのように変更させるかを指定することができる。定義された強度曲線は、サウンドの複数の属性にマッピングされ、さらに、生成された音楽を付随するメディアに合わせて自動的に整形することを可能にし、これにより、段階的にクライマックスまで蓄積した音楽構造を特定の時点で発生させることができる。
【００７０】
これは、ユーザーが次の入力を使用して音楽を作成できる単純な状況ではなく、当該入力は、事前にレンダリングされたオーディオステム（ｓｔｅｍ）を使用するセグメント内の特定のポイントでのサウンドに影響し、一方、Ｊｕｋｅｄｅｃｋのエンジンは、ユーザーの入力に応答してオリジナルのオーディオをリアルタイムで生成する。オーディオをリアルタイムでレンダリングすることによって、プロセス全体では音楽の変更をより詳細に制御することができる。ステムベースのシステムは、効果を、曲の作成に使用されるオーディオに適用するしかできないが、Ｊｕｋｅｄｅｃｋシステムは、任意の効果を体験する前に、再生中の音符を直接変更したり、各音楽シーケンスに使用されるサウンドを変更したりすることができる。これにより、システムは、所望の同期ポイント又は強度の変更に応答するときによりリアルに聞こえることを可能にする。例えば、水中に潜っている人のスローモーションビデオでは、同期ポイント又は強度ピークは、クライマックスに蓄積された音楽効果を作成するために、彼又は彼女が水に当たるポイントと一致するように選択することができる。
【００７１】
以前に生成されたオーディオトラックを編集する能力─編集機能により、以前に生成されたオーディオトラックを編集でき、また、新しい高レベルの設置（例えば変更された継続時間）に準拠するようにリクエストすることで新しいバージョンを作成することができる。これは、ユーザーが、オリジナルの曲と似るように聞こえ、必要な編集を組み込んだ以前に制作された曲の改訂バージョンを自動的に生成することができることを意味する。これにより、ユーザーは、このタスクに従来必要であった専門的な編集スキルを必要とせずに、例えば任意の曲の継続時間をすばやく効率的に変更することができる。
【００７２】
ニューラルネットワークに基づくオーディオ合成─この技術の拡張は、サードパーティの仮想楽器を必要とせずに、ＭＩＤＩデータをオーディオデータに変換するようにニューラルネットワークをトレーニングすることである。
【００７３】
事前にレンダリングされた、人間が合成したオーディオステムを自動的にアレンジする能力─Ｊｕｋｅｄｅｃｋシステムのアーキテクチャはモジュール式であり、つまり、この機能が必要な状況では、自動音楽制作エンジン３は、予めレンダリングされた、人間が合成したオーディオステムを動的に再アレンジして、自動音楽合成エンジン２の出力を置き換えることもできる。これは、この技術を使用して、事前にレンダリングされたオーディオステムを、正確な同期ポイントが必要なメディアに適合させることができることを意味する。
【００７４】
アプリケーションプログラミングインターフェース（ＡＰＩ）
【００７５】
ＡＰＩ １４により、サードパーティの開発者は、ＡＩ合成音楽（オーディオ又はＭＩＤＩ）の生成とカスタマイズをその自身のアプリケーションプログラム（アプリケーションプログラム、ブラウザー、又はモバイル環境）に直接組み込むことができる。
【００７６】
説明のＡＩ音楽制作システムの重要な特徴は、アプリケーションプログラミングインターフェース（ＡＰＩ）であり、ＡＰＩにより、開発者は、ＡＩ合成及び制作システムの全ての機能にアクセスでき、ユーザーは、プロ品質のカスタマイズの音楽を大規模に自動的に作成できる。ボタンをクリックすることによって、様々な音楽スタイルにアクセスすることができる。
【００７７】
ＡＰＩは、オーディオとＭＩＤＩに使用されるＡＰＩである。つまり、ＡＰＩを利用すると、ユーザーは、オーディオファイル及びその基礎となる作品の両方をＭＩＤＩフォーマットで生成することができる。提供されるいくつかの可能なオプションは、次の表にまとめられている。
【表１】
2021507309.tif 000003
【００７８】
オーディオ及びＭＩＤＩ ＡＰＩを使用して、ビデオ作成、ゲーム、音楽制作、様々な環境でのビジュアルコンテンツやその他のコンテンツに付随する音楽生成、ポッドキャスティング、コンテンツ自動化などの、幅広いアプリケーションをサポートすることができる。
【００７９】
利点は次のとおりである。シングルクリック、パーソナライズ音楽でユーザーにクリエイティブエクスペリエンスを与えることができ、独特の特徴によってユーザーエンゲージメントを高め、数行のコードだけで完全なオーディオトラックをプラットフォームに返し、人工的に作成した音楽をユーザーに提供し、ユーザーは、録音された音楽に関連するいくつかのカスタム制限なしで、人工的に作成した音楽を自由に使用することができる。
【００８０】
図３は、ＡＩ音楽制作システムのブロック図を示し、後でさらに詳細に説明されるＡＩ音楽制作システムのコア機能のいくつかの高レベルの概要を与える。
【００８１】
ここで、人工知能という用語は広い意味で使用されているため、機械学習（ＭＬ）システムと、ＭＬシステムではないエキスパート（ルールベース）システムと、ＭＬシステムでもエキスパートシステムでもない他の形式のＡＩシステムをカバーする。以下では、ＭＬシステムとエキスパートシステム又は上記の組み合わせを具体的に参照するが、発明は、他の形式のＡＩシステムにも同様に適用される。
【００８２】
当該システムは、合成エンジン２と制作エンジン３を含み、これらは、当該システムの機能の２つの主要な側面を大まかに表す。これらは、スタックレイヤーとしてアレンジされて示され、合成エンジンは、制作エンジンの下に位置し、それぞれの機能を反映する。スタックの様々な構造については後で説明するが、これらの構成は、合成と制作との間のこの区分に従う。
【００８３】
合成エンジン２は、デジタル音楽記号フォーマットで音楽セグメントを合成する。ここで、デジタル音楽記号フォーマットは、コンピュータで読み取り可能な形式の楽譜のデジタル表現を意味する。このようなフォーマットの１つは、イベントに基づくフォーマットであり、この場合、音楽音符は、開始時間／停止時間のあるイベントによって指示される。このような記号は既知である。これは、音楽音符が、ピッチ値と、音符の開始時間と終了時間を表す（又は、開始時間と継続時間又は「維持」の観点から見る）関連タイミングデータとして表されるフォーマットであってもよい。例えば、音符は個別に、又は和弦で表すことができる。
【００８４】
ピッチ値は通常、音楽のハーフトーンとして量子化されるが、これは必須ではなく、量子化のレベルは音楽のスタイルによって異なる場合がある。通常、他の音楽データも、例えば各音符のピッチ変調や速度などのフォーマットで表現される。速度パラメータは、アコースティック楽器にまでさかのぼり、一般に、ピアノやギターなどの楽器を演奏する際の強さに直感的に対応する。このフォーマットは、内部の音楽合成ロジックに従って様々なパラメーターを解釈することにより、楽譜を「演奏」してオーディオを作成するシンセサイザー（例えば仮想楽器など）で解釈できる。このフォーマットの一例として、ＭＩＤＩがあり、ＭＩＤＩは、標準化され、広く使用されている楽譜を表現するための方法であるが、この用語は、カスタマイズフォーマットを含む他のフォーマットに一般的に適用される。以下では、例としてＭＩＤＩセグメントを参照するが、説明は他のどの音楽記号フォーマットにも同様に適用される。合成エンジンは、後述するように、機械学習（ＭＬ）に基づいて動作することが好ましい。
【００８５】
ここで、「音楽セグメント（ｍｕｓｉｃ ｓｅｇｍｅｎｔ）」と「音楽のセグメント（ｍｕｓｉｃａｌ ｓｅｇｍｅｎｔ）」という用語は同義であり、一般に、デジタル音楽記号フォーマットの任意の音楽セグメントを指す。各セグメントはコンテキストに応じて、例えば音楽小節、小節の一部（例えば４分音符、８分音符、８分音符の長さの半分のセグメントなど）又は複数の小節のシーケンスであってもよい。音楽セグメントは、長い楽譜におけるセグメントであってもよい。楽譜は、複数の音楽パーツ（ボーカルパート、楽器、特定の楽器の左手と右手のパートなど、異なる演奏声に対応）で構成される。音楽記号では、通常、各パートは別々の譜表でスコアリングされ（例えば、和弦シンボルを使用して和弦パートをスコアリングすることができる）、この観点から見ると、各音楽セグメントは、パートの１つである小節、小節の一部又は小節シーケンスに適用することができる。これは、ＭＩＤＩセグメントにも同様に適用され、ＭＩＤＩセグメントとは、ＭＩＤＩフォーマットの音楽セグメントである。個々のＭＩＤＩセグメントは、単独のＭＩＤＩファイル又はデータストリームに反映することができるが、異なるＭＩＤＩセグメントは同じＭＩＤＩファイル又はデータストリーム内に反映することもできる。当技術分野で知られているように、例えば、同じＭＩＤＩファイル又はデータストリーム内に異なる音楽パーツに対するＭＩＤＩセグメントを反映するように、異なるパートに異なるＭＩＤＩチャネルを使用してもよい。そのため、以下の説明では、ＭＩＤＩループと、ＭＩＤＩループ又はパーツの個々のセグメントの両方とも音楽セグメントと呼ぶことができる。指す内容は文脈上明らかになる。
【００８６】
制作エンジン３のコアの機能は、１つまたは複数のＭＩＤＩセグメントのセットを取得し、それらを再生可能なオーディオデータに変換することである。これは複雑なプロセスであり、通常は複数の仮想楽器とオーディオエフェクト（リバーブ、遅延、圧縮、ディストーションなど）を慎重に選択して、異なるＭＩＤＩセグメントを別々のオーディオデータとしてレンダリングし、それらを相乗的に「ミックス」（結合）して、希望する全体的な音楽と効果音又は「サウンドスケープ」を持っている最終的な「トラック」を形成し、トラックは実質的に音楽の録音である。制作エンジンの役割は人間の音楽プロデューサーの役割に類似しており、制作エンジンは、専門家の人間の知識に基づいて配置できる。但し、使用中、制作プロセスは、比較的少数の選択された制作パラメータによって駆動される完全に自動化されたプロセスである。制作エンジンはＡＩコンポーネントでもあり、エキスパート（ルールベース）システム、非ＭＬシステム、ＭＬシステム又はルールベースとＭＬ処理との組み合わせとして実現される。
【００８７】
システムによって提供される主要なサービスの１つは、トラックの形式（例えばＷＡＶ、ＡＩＦＦ、ｍｐ３など）で「ゼロから」音楽を作成することであり、作成されたＭＩＤＩセグメントを合成し、これらのＭＩＤＩセグメントはトラックの基礎を形成し、トラックは、制作エンジンがＭＩＤＩセグメントに従ってオーディオパーツを合成し、上記の方法でこれらのオーディオパーツをミキシングすることによって生成される。主要なサービスは本明細書では「フルスタック」サービスと呼ばれる。
【００８８】
なお、システムアーキテクチャの利点は制作エンジン又は合成エンジンの機能の各部分をサービスとして提供できることである。
【００８９】
そのようなサービスの１つは本明細書では「サービスとしてのＭＩＤＩ」と呼ばれ、それにより、人間の制作者は、ＭＬによって生成されたＭＩＤＩセグメント（例えば、ループ）を取得することができ、例えば、デジタルオーディオワークステーション（ＤＡＷ）で、ＭＬによって生成されたＭＩＤＩセグメントに自身の個人的な制作方法を使用することができる。基本的に、これは本質的には独立したサービスとして合成エンジンの機能を提供するが、後で明らかになるように、システムの実装方法によって、制作エンジンの要素を利用することができる（後で説明するように、制作と合成の間の区分は、ある程度実装固有である）。これは、制作スキルはあるが合成スキルや音楽のインスピレーションが不足しているユーザーに特に役立つ。
【００９０】
別のそのようなサービスは「サービスとしての制作」であり、それにより、作成者はシステムに、自分が合成したＭＩＤＩセグメントを提供でき、このコンテキストでは、ＡＩシステムは制作者の役割を担い、これらのＭＩＤＩセグメントから完成のトラックを作成する。これは、独立したサービスとしての制作エンジンの機能を提供し、本質的にはサービスとしてのＭＩＤＩの反対である。サービスとしての制作は、制作スキルや傾向がない作成者に特に役立つ。
【００９１】
全てのサービスは、アプリケーションプログラミングインターフェース（ＡＰＩ）形式（例えばｗｅｂ ＡＰＩ）のアクセスコンポーネント１４を介してアクセスすることができ、それにより、インターネットなどのコンピュータネットワークを介してシステムのＡＰＩサーバーと外部装置との間でＡＰＩリクエストと応答を送受信する。アクセスコンポーネント１４は、後述するように、内部リクエストと外部リクエストを受信するためのコンピュータインターフェースを含む。
【００９２】
合成と制作との間の区分に関して、これらのそれぞれは特徴を限定する特定のコアを持っているが、システムアーキテクチャに関し、どこに線を引くかについてある程度の柔軟性がある。最後、当該システムは、それが動作する音楽の原理に合わせて構成される。
【００９３】
簡単に言えば、従来の音楽作成プロセスは次の段階に分けることができる。
１. 合成
２. 演奏（又は人間化）
３. 制作
【００９４】
コンテキストに応じて、ある形式の合成は、要素合成とアレンジという2つの異なるサブステージに分割できる。ここで、要素合成とは、トラックを構成する基本的な音楽要素を作成し、その後、基本的な音楽要素をアレンジして説得力のある長期的な構造を持つ音楽セグメントを作成することを指す。これらは全て、シンセサイザーの制御の範囲内にある場合もあれば、全く別のステージである場合もあり、従来から、ある程度音楽のスタイルに依存する。なお、他のコンテキストでは、合成とアレンジは基本的に一つの全体として実行することができる。本明細書で使用される「合成」という用語は、コンテキストに応じてアレンジに組み込む又は要素合成を指す。伝統的に、演奏は、人間の演奏者によって導入された変更（例えばタイミング／速度変更など）の要素であり、当該演奏を録音でキャプチャするプロセスを制作する。しかしながら、時間が経つにつれ、これらの側面の境界は、特に現代的な電子音楽の場合、ますます不鮮明になり、電子音楽は、ＭＩＤＩシーケンスなどを使用して最少の人間の演奏を超えず作成することができるため、場合によって、演奏よりも制作に重点が置かれる。現在、制作という用語は、例えば、各チャネルのレベルのバランス、イコライゼーション、ダイナミックコントロール（圧縮、制限など）及びその他のオーディオエフェクト（リバーブ、遅延、ディストーションなど）、各チャネルのオーディオを生成するための仮想楽器の選択など、幅広いものをカバーできる。
【００９５】
ＡＩ音楽制作システムの実装方式に関して、合成、アレンジ及び演奏機能を制作エンジンの本質的に独立した機能として実現することができ、合成エンジンからＭＩＤＩセグメントを取得し、それぞれアレンジ及び人間化する。例えば、ＭＩＤＩセグメントは、小節の一部（例えば、１／１６又は１／３２）として厳密に時間量子化された短いループであってもよい。その後、これらのＭＩＤＩセグメントを（例えば、メインソングのコーラスの構造に従って）アレンジすることができ、増加変化の程度（時間、速度、ピッチなど）を大きくして演奏を向上させ、不完全な人間の演奏に近づけることができる。この方法によって、これらの機能及び最終的な音楽制作プロセスの一部として実行されるＭＩＤＩ処理を制作エンジンに簡単に実行することができる。
【００９６】
なお、同等に実行可能な方法は、これらの機能の１つ又は２つを合成自体とマージすることであり、これにより、ＭＬ合成エンジンは、合成エンジン内において説得力のある長期的な構造と可能な人間化で音楽を合成するようにトレーニングされる。
【００９７】
従って、制作エンジン、合成エンジン又は両方の組み合わせでアレンジと演奏を実現することができる。
【００９８】
実際の環境では、システムのアーキテクチャは、音楽合成とアレンジに使用される方法をある程度反映する。
【００９９】
人間化、特に選択可能な成分は、全てのスタイルの音楽（例えば、特定のスタイルの電子音楽）には望ましくない場合があることに注意されたい。
【０１００】
合成エンジン：
【０１０１】
合成エンジン２の可能な構成を以下に説明する。まず、合成エンジン２を形成するいくつかの設計の基本原理について説明する。
【０１０２】
確率的シーケンス模型（ＰＳＭ）は、値又はアイテムのシーケンス上の確率分布を確定するコンポーネントである。当該分布は、例示的なシーケンスのデータセットから学習するか、又は、例えば分野の専門家によって事前に固定することができる。適切なデータセットを選択するか、又は適切な専門知識をエンコードすることにより、ＰＳＭに関心のあるドメインの典型的時間構成、例えば音楽における典型的な和弦又は音符シーケンスを反映させることができる。
【０１０３】
ＰＳＭは、その分布に従って、これまでにサンプリングされたアイテムのプレフィックスが与えられた場合に、次の可能性のあるアイテムの暗黙の確率分布から一度に１つのアイテムをサンプリングすることによってシーケンスを生成するために使用できる。つまり、選択された１つまたは複数のアイテムに基づいてＰＳＭによって生成された可能なアイテムの確率分布に従って、各アイテムを選択する。合成エンジンのコンテキストでは、アイテムは音楽セグメントであり、例えば合成エンジンレベルの小節の一部（例えば１／１６、１／３２など）に対応することができ、ＰＳＭの配置方法に依存する任意の長さのセクションであってもよい。各音楽セグメントは例えばシーケンスにおける特定のポイントでの個別の音符又は和弦に対応することができる。
【０１０４】
確率分布は、当該シーケンス用に既に選択された１つ以上の音楽セグメントに基づいてシーケンス用に選択される候補音楽セグメント（音符、和弦など）及び各候補音楽セグメントの関連する確率値のセットを提供し、当該確率値は当該音楽セグメントがシーケンスにおける次の音楽セグメントとして選択される可能性を定義した。出力は確率的であるため、可変要素が導入される。これにより、同じ合成設置で異なる合成を生成することができる（以下で説明するように、合成設置自体を選択するときに、付加の確率的要素を導入することができる）。
【０１０５】
ＰＳＭの例には、マルコフ連鎖、確率的文法、確率的最終層（柔軟性最大伝達関数（ＳＯＦＴＭＡＸ）など）を備えたリカレントニューラルネットワークが含まれる。
【０１０６】
合成エンジン（ＣＥ）は少量の合成パラメータを完全な楽譜又はより短い音楽節に変換することができるシステムであり、任意の数のパーツを有し得る。パーツは、演奏音声間の音楽素材の区分として理解され、様々な方法で表現することができる。この区分は音楽制作の基本であり、例えば、物理的な音楽演奏をシミュレートするために、様々な楽器や空間パラメータを各パーツに割り当てることができる。
【０１０７】
複数のパーツに例えばニューラルネットワークなどの単一のＰＳＭを提供することができる比較的基本的な合成エンジンを構築することができる。つまり、複数のパーツによる合成の全ての側面の完全な一瞬一瞬の記述の上に、単一のＰＳＭを構築する。このような方法は実行可能であるが、より複雑な合成の場合、モデルを単純化して実行可能にするために内部のトレードオフが必要になる場合がある。状況によってはこれで十分な場合もあるが、より複雑な合成に関しては、他の方法が有益な場合がある。
【０１０８】
従って、複雑さのレベルに応じて、複数のＰＳＭの間でタスクを分割することが適切な場合があり、その中、各ＰＳＭは、属性の特定の組み合わせ又は特定のパーツに集中するなど、特殊な役割を持つ。この場合に、重要なモデル化の決定は、各ＰＳＭの範囲がどの程度具体的であるべきかである。
【０１０９】
モジュラー方法で、疎結合されたＰＳＭ集合を一緒にまとめることは、ＣＥに対する各リクエストを処理する方法に大きな柔軟性をもたらす。
【０１１０】
以下に説明する技術を使用して、個々のＰＳＭの能力を制限することなく、他のＰＳＭと同じように動作するように、各ＰＳＭを協調することができる。つまり、これらの原理は、複数のＰＳＭ間で情報を共有するという問題を柔軟な方法で解決する解決策を提供する。当該技術の主な要素は、次のようにまとめることができる。
【０１１１】
１.ＰＳＭへの入力又はＰＳＭからの出力の一部を形成できるように、音楽の属性を処理するためのモジュラー拡張可能なシステム。
２.属性及び／又はパーツの制限された組み合わせのモデリングを担当するための複数のＰＳＭ。
３.別の属性又は外部の制約によって生成された属性に従ってＰＳＭからサンプリングするイベントを制限するためのメカニズム。
【０１１２】
以下、これらの要素について詳細に説明する。
【０１１３】
１.音楽の属性がＰＳＭへの入力又はＰＳＭからの出力の一部を形成できるように、音楽の属性を処理するためのモジュラー拡張可能なシステム。
【０１１４】
音楽イベントは、イベントに関する潜在的な無制限の数の側面又は属性から説明できる、固有属性（例えば、ピッチ、継続時間、ビブラートなど）及びイベントとそのコンテキストとの関係（例えば、基本的なハーモニー、その時間的な位置、音符が前の音符よりも高いか低いかなど）を含む複雑なオブジェクトである。限られた数のこれらの「視点」に焦点を合わせると、ＰＳＭは、（扱いやすいモデルを得るために）音楽シーケンスの特定の側面における確率的構成のキャプチャに焦点を合わせ、同時に、それ以外、他のシステムによって処理される。２つのＰＳＭは、１つ以上の視点を共有することによって協調することができ、例えば、一方のＰＳＭから視点の値を生成し、それを他方のＰＳＭのサンプリング空間への制約として入力することができる。これにより、モデリング問題の複雑さを大幅に低下させる。視点と一緒に動作するモジュラー方法は、ＰＳＭが、トレーニング中と生成中の両方でＰＳＭ間の一致した協調を保証しながら、視点の任意の組み合わせをモデリングするために簡単に作成することができることを意味する。
【０１１５】
２.属性及び／又はパーツの制限された組み合わせのモデリングを担当するための複数のＰＳＭ。
【０１１６】
複雑な合成問題を解決するための「分割統治」方法は、特定の音楽属性（特にスタイル）に特化したＰＳＭを提供することである。例えば、１つのＰＳＭは、継続時間を有する和弦記号の制作に特化し、別のＰＳＭは、和弦記号及びメロディーの音符のピッチ及び継続時間の制作に特化することができる。これは、各ＰＳＭが、その属性の組み合わせを精確にモデリングすることに焦点を合わせることができることを意味し、これにより、高品質で音楽的に説得力のある出力を生成する。ＰＳＭの疎結合は、それらが合成リクエストを処理する点で選択された組み合わせでは自由に使用できることを意味し、システムが１つの合成に対して生成されたパーツの数及び種類を柔軟に選択できるようにする。
【０１１７】
３.別のＰＳＭに発生する属性に従ってＰＳＭからサンプリングするイベントを制限する能力。
【０１１８】
特定のＰＳＭは、１つのＰＳＭの出力を別のＰＳＭの（パーツである可能性がある）入力にする方式で使用され得る。例えば、和弦記号を有するメロディー音符におけるＰＳＭは異なるＰＳＭから制作された和弦記号にマッチングするように調整される。これは、パーツ間の一致性を促進し、合成エンジン２は、音楽品質を犠牲にすることなく、マルチＰＳＭの方法モジュール性を利用することができる。
【０１１９】
図４は、上記の原理に基づく合成エンジン２の可能な配置のさらなる詳細を示す。この場合、タスクは複数のニューラルネットワークの間で分割されるが、これらのニューラルネットワークは他の形式のＰＳＭであってもよい。
【０１２０】
合成エンジン２は、それぞれ内部の入力と出力である入力４０２と出力４０４を有する。合成エンジン入力４０２は、ＭＩＤＩセグメントに対するリクエストを受信するように配置され、各ＭＩＤＩセグメントは、後述するように割り当てられたジョブ識別子（ＩＤ）を持っている。
【０１２１】
合成エンジンの主要な機能は、異なる音楽パーツに対して音楽的にコラボレーションした音楽セグメントを生成することであり、これらの音楽セグメントは、同時に演奏されて首尾一貫した音楽を作成するように構成される。ＭＩＤＩセグメントは、より複雑なトラックを構築するようにループされる（繰り返される）ｍｉｄｉ「ループ」であってもよい。異なる音楽パーツに対して異なるＭＩＤＩループを提供する場合、これらのＭＩＤＩループは、パーツを一緒に演奏する効果を達成するように同時にループすることができる。その代わりに、単一のＭＩＤＩループでは、複数のパーツをキャプチャーすることができる。しかしながら、これらの原理を拡張して、合成エンジン２がより長い音楽節を提供することを可能にし、さらに、オーディオトラックの継続時間にわたる各パーツに完全な音楽節を提供する。
【０１２２】
単一のジョブリクエストでは複数の音楽パーツに使用される（１つ以上の）音楽セグメントをリクエストすることができる。異なる段落の音楽（例えば、メインソングとサブソング）をそれぞれリクエストする場合、これらは個別のジョブリクエストでリクエストすることができ、単一のジョブリクエストで、このような音楽段落をリクエストする（例えば、メインソングとサブソングを一緒にリクエストする）可能性もある。これら（１つ以上）のジョブリクエストは、図２の（以下で説明する）ジョブリクエストに対応するが、図４では、４０６ａ、４０６ｂと表記される。なお、これらのジョブリクエストは、アクセスコンポーネントの外部入力から直接受信でき（図１を参照し、以下のようになる）、或いは、図２を参照して説明するように、内部ジョブリクエストとして受信することができる。各ジョブリクエストにはジョブＩＤと合成パラメータのセットが含まれ、この例では、当該パラメータのセットは次のとおりである。
【表２】
2021507309.tif 000004
【０１２３】
上記のように、これらの合成パラメータの全ては必須であるわけではなく、異なる形態では他の異なるタイプの合成パラメータを定義することができる。当該システムの主要な側面は、ユーザーが所望のタイプを定義することができる（その代わりに、当該システムはタイプが指定されていない場合にタイプを自動的に選択することができる、下記を参照する）ことであり、また、合成エンジン２は、後述するアーキテクチャによって、異なるタイプの合成を提供することができる。
【０１２４】
合成層２は、４０８Ａ及び４０８Ｂとして表記される複数の合成モジュールを含む。各合成モジュールは、トレーニングされたニューラルネットワークの形式であり、各合成モジュールは全て、非常に特定のタイプの音楽トレーニングデータで既にトレーニングされたため、特定のタイプの音楽を生成することができる。以下の例では、合成モジュールはネットワークと呼ばれるが、この説明は他の形式のＭＬ又はＰＳＭ合成モジュールにも適用される。
【０１２５】
各ジョブリクエスト４０６ａ、４０６ｂにおける合成パラメータは、ネットワーク４０８Ａ、４０８Ｂの適切な１つを選択するために使用されてもよく、選択されたネットワークへの入力として使用されてもよい。この例では、各所定のタイプは対応する複数のネットワークに関連付けられる。一例として、図４は、第１のタイプ（タイプＡ）に関連付けられる第１のネットワーク４０８Ａと、第２のタイプ（タイプＢ）に関連付けられる第２のネットワーク４０８Ｂを示す。
【０１２６】
各タイプグループ４０８Ａ、４０８Ｂ内で、目前のタスクに適したネットワークを選択することができる。ネットワークを選択する方法は、前述の原理に基づいてこれらのネットワークを最適化する方法に依存する。
【０１２７】
各ジョブリクエスト４０６ａ、４０６ｂについて、合成エンジン２の合成コントローラー４０８は、ネットワークの適切なサブセットを選択して当該ジョブリクエストを処理する。ネットワークサブセットは、ジョブリクエストで指定された音楽タイプに関連付けられるサブセットに基づいて選択される。
【０１２８】
上記のように、例えば和弦やメロディーなどの複数のパーツを同じジョブリクエストではリクエストすることができる。これは、合成エンジン２への内部リクエストと外部リクエストの両方に適用される。
【０１２９】
各ジョブリクエスト５０６ａ、５０６ｂに応答して生成された（１つ以上の）ＭＩＤＩセグメントは割り当てられるジョブＩＤと関連付けてジョブデータベースに記憶される（２４、図１）。或いは、ＭＩＤＩセグメントは、独立のデータベースに記憶することができ、このコンテキストでのジョブデータベースに関する全ての説明は前記イベントにおける独立のデータベースにも適用される。
【０１３０】
図５を参照し、特定のスタイルに関連付けられたネットワークは協力して、音楽的にコラボレーションした複数の要素を作成する。これは、ネットワークの出力を階層関係にある他のネットワークへの入力として提供することで実現される。
【０１３１】
この基本原理を説明するために、図５は、タイプＡに関連付けられた３つのネットワーク、すなわち、和弦（ＣＮ）、メロディー（ＭＮ）、及びハーモニー（ＨＮ）を示し、図４における第１のネットワーク４０８Ａに対応する。
【０１３２】
この例では、ネットワークＣＮ、ＭＮ及びＨＮのそれぞれは合成エンジン２の合成コントローラー４０８によって上記の方式で確定された合成パラメータ５０２を入力として受信するように配置される。同じ入力として示されているが、ネットワークはまったく同じパラメーターを受信する必要はなく、また、例えば、それぞれは合成パラメータの異なる選択を受信することができる。
【０１３３】
和弦ネットワークＣＮは、パラメータ５０２に基づいて和弦シーケンス（プログレッション）５０４を生成するように配置される。これはＭＩＤＩである必要はなく、例えば記号和弦表現であってもよいが、後続の処理のためにＭＩＤＩに変換すると（必須ではないが）便利である可能性がある。生成された和弦シーケンスを該当するジョブＩＤと関連付けてジョブデータベースに記憶する。
【０１３４】
また、メロディーネットワークＭＮは、和弦シーケンスを音楽的に伴奏するように、生成された和弦シーケンス５０４を入力として受信し、和弦シーケンス５０４と合成設置５０２に基づいてメロディー５０６を生成する。つまり、メロディー５０６は、音楽的に和弦シーケンス５０４を取り囲んで構築される。生成されたメロディー５０６も、該当するジョブＩＤと関連付けてジョブデータベース２４に記憶される。
【０１３５】
また、メロディー５０６は、ハーモニーネットワークＨＮに入力される。ハーモニーネットワークＨＮは、合成設置５０２とメロディー５０６に基づいてハーモニー５０８を生成し、ハーモニー５０８はＭＩＤＩセグメントとして出力され、音楽的にメロディー５０６のハーモニーである。図５には示されていないが、ハーモニーネットワークＨＮは、和弦シーケンス５０４を入力として適当に受信することもできるため、メロディー５０６を調整して、ハーモニー５０８を和弦シーケンス５０４と調和させることが可能になる。生成されたハーモニー５０８も、該当するジョブＩＤと関連付けてジョブデータベース２４に記憶される。
【０１３６】
和弦シーケンス５０４、メロディー５０６及びハーモニー５０８は同じジョブリクエストではリクエストされてもよく、この場合、同じジョブＩＤと関連付けてジョブデータベース２４に記憶される。
【０１３７】
各ネットワークの出力はＭＩＤＩである場合があるが、必ずしもＭＩＤＩである必要はなく、例えばカスタムフォーマット（上記を参照）などの他のデジタル音楽記号フォーマットであってもよい。出力がＭＩＤＩではない場合、後で出力をＭＩＤＩに変換すると便利である可能性があるが、これは必須ではない。
【０１３８】
ネットワークは、例えばユーザーが生成したセグメントやライブラリのＭＩＤＩセグメントなどの外部ＭＩＤＩを入力として、これを中心として合成してもよい。
【０１３９】
ネットワークが合成できる入力のもう１つの例は、ユーザー又はＭＬで生成できるパーカッションであってもよい。ここで、パーカッションは例えば、合成されたセグメントのリズムを駆動するか、又は特定のある音符に置かれることを強調する（その中、強調／ヴェロシティは合成エンジン２で処理される）。
【０１４０】
フルスタック：
【０１４１】
図１は、音楽制作システムの可能な配置を示す概略ブロック図である。音楽制作システムは、４つの層又はコンポーネントで構成される。以下の説明から、各層又はコンポーネントの機能間にある程度の重複がある可能性があることは明らかであり、以下の説明は、音楽制作が音楽制作システムでどのように編成されるかを明確に示す。音楽制作システムは、一連の設置（詳細は後述）を受信し、一段の音楽を生成するように動作する。以下では、一段の音楽は、「トラック」と呼ばれるが、システムは任意の長さ／文字の音楽を制作できる。トラックは、デジタル楽譜記号（例えばＭＩＤＩ）又はオーディオで楽譜として生成されてもよい。ＭＩＤＩ以外の楽譜フォーマットを使用する場合、それをＭＩＤＩに変換すると後の処理で便利である（ただし必須ではない）。そのため、記号楽譜をＭＩＤＩに変換する変換層（図示せず）をシステム内で提供することができる。この変換層は、合成エンジン自体の一部を形成する場合もあれば、楽譜を受信しＭＩＤＩを使用する目的でＭＩＤＩに変換するシステム内の別の層の一部を形成する場合もある。
【０１４２】
制作管理コンポーネント（コントローラー）１３は、以下の方法でシステムの層を管理する。コントローラー１３は、内部リクエスト及び外部リクエストの両方を処理し、必要に応じて１つまたは複数の層で機能をアクティブ化して、各リクエストにサービスを提供する。
【０１４３】
符号２は合成エンジンを示す。合成エンジンは、一連の設置（詳細は後述）を受信し、オーディオトラックにアレンジ及び制作されるＭＩＤＩセグメントを生成するように動作する。合成エンジンは、オーディオトラックにアレンジ及び制作される音楽セグメントを記号フォーマットで生成する。合成エンジンはＰＳＭの集合を使用して音楽セグメントを生成する。これらのＰＳＭは既に、特定の音楽スタイルを例示するために選択された音楽トラックのデータセットでトレーニングされる。合成エンジンは入力設置に基づいて、使用するＰＳＭを確定する。
【０１４４】
符号４はアレンジ層を示す。アレンジ層は、合成エンジン２によって生成されるＭＩＤＩセグメントを音楽アレンジにアレンジするジョブを有する。アレンジ層は２段階で動作すると考えることができる。第１の段階で、アレンジ層は、後で説明するアレンジパラメータを受信し、タイミングや必要なシーケンスなどを定義するエンベロープとして、これらのパラメータに従って音楽アレンジを生成する。アレンジ層のアレンジ機能は６として表記される。当該エンベロープは、一段の音楽のアレンジを定義した。後でさらに詳しく説明するように、これらの設置は、制作マネージャーによって合成エンジン２からＭＩＤＩセグメントをリクエストするために使用できる。アレンジ層の第２の段階はソート機能８である。ソート機能に従って、ＭＩＤＩセグメントをアレンジエンベロープに従って、完成した一段の音楽にソートする。ＭＩＤＩセグメントは、（前述のように）合成エンジンによって提供されてもよく、或いは、合成エンジン２によって予め生成できる適切なＭＩＤＩセグメントの既存のライブラリから取得することもできる。制作管理コンポーネント１３は、例えば、ライブラリをチェックして、適切な既存のＭＩＤＩが利用可能であるかどうかを確認し、利用可能ではない場合、合成エンジン２へリクエストを起動して適切なＭＩＤＩを生成する。その代わり、リクエストに応答して合成エンジン２でライブラリのチェックを実行するか、又はライブラリのチェックを完全に省略してもよい。さらに、ＭＩＤＩセグメントは、後で詳しく説明するように、外部ユーザーによって導入されてもよい。アレンジ層４は、ＭＩＤＩ形式のアレンジされた一段の音楽を提供する。状況によっては、この「オリジナル」の音楽はいくつかの目的に適しているかもしれない。しかしながら、この場合、それは任意の有用な形式で再生できない。そのため、アレンジ層４によって制作される音楽に演奏品質構成を追加するパフォーマンス層１０を提供する。
【０１４５】
アレンジの部分には入力設置操作に基づく決定木がある。この決定木は、人間の専門知識、つまり人間の音楽制作者の専門知識を具体化する。アレンジ層は、設置を使用して一連の時間ソートパーツを含む音楽アレンジ構成を生成し、その後、当該音楽アレンジ構成は合成エンジン（または、例えばライブラリから）にＭＩＤＩをリクエストし、ＭＩＤＩはアレンジ構成によってソートされる。
【０１４６】
これは如何に一段の音楽に対して長い形式の構造を作成するかの方法のほんの一例に過ぎない。この別個のアレンジ層の代わりに、シーケンスされるＭＩＤＩを「不可知論的」に操作し、アレンジエンジン２ではアレンジを合成自体の一部として処理することができる。
【０１４７】
パフォーマンス層は、ＭＩＤＩで演奏品質の音楽を出力する。これは、多くのアプリケーションで役立つ。しかしながら、同様に、一段の音楽のオーディオバージョンを必要とする他のアプリケーションもある。そのため、オーディオでレンダリングされた演奏品質の一段の音楽を出力するオーディオレンダリング層１２（オーディオエンジン）を提供する。
【０１４８】
一段の音楽のＭＩＤＩからオーディオへの変換又はレンダリングは、多くの異なる方法で行うことができ、これらの方法は、当技術分野で知られているものを含むため、ここで説明しない。
【０１４９】
上記のように、音楽制作エンジンは、ＡＰＩ（アプリケーションプログラミングインターフェース）の形式で実現できるアクセスコンポーネント１４を有する。当該アクセスコンポーネントにより、音楽制作システム内での通信を可能にし（具体的に、制作管理コンポーネント１３はアクセスコンポーネント１４を介して合成エンジン２と通信することができる-下記を参照）、機能を外部ユーザーに提供することもできる。説明のために、音楽制作システムに面するアクセスコンポーネント１４の側は、制作管理コンポーネントを介して層間の内部ルーティングを担当し、反対側は、外部ユーザーからの入力及び出力を担当すると仮定する。これは、例示的なものであり、ＡＰＩは任意の適切な方式で実現することができる。当技術分野でよく知られているように、ＡＰＩの機能を実現するために、ＡＰＩ内のプロセッサーで実行されるソフトウェアを使用してＡＰＩを実現する。
【０１５０】
ＡＰＩは、外部ユーザーからジョブリクエストを受信するための少なくとも１つの外部入力１６と、完成したジョブを外部ユーザーに返すための少なくとも１つの外部出力１８とを有する。また、いくつかの実施形態では、ＡＰＩは、後述するように、音楽制作システムの内部層の間での通信を可能にする。
【０１５１】
入力１６ではリクエストできるジョブは以下のものを含む。
【０１５２】
タグへのリクエストはユーザーによって入力でき、当該ユーザーは、音楽トラックを作成するように設置を提供するためのタグリストを検索する。タグは、例えばピアノ、フォーク音楽などの音楽スタイルを含む。以下、単なる例としてのタグのリストが示される。タグはタグメモリ２０に保存される。必要に応じて、このようなリクエストは、システム内で利用可能な設置をリクエストするように使用されてもよい。
【０１５３】
例えば、ムードやジャンルタグなどの異なるタイプのタグを定義することができる。ジャンルタグの例には、ピアノ、フォーク、ロック、環境、映画、ポップ、快適、グループ、ドラムとベース、シンセポップが含まれる。ムードタグの例には、高揚、メランコリック、悲観的、怒り、シンプル、瞑想的、ファンタジー、アクション、感情的、聞き取りやすい、穏やか（Ｔｅｃ）、攻撃的、情熱的、刺激的が含まれる。システムは、ジャンルとムードタグとの特定の組み合わせのみを許可するように配置されてもよいが、これは設計上の選択である。これは、タグの完全なリストではなく、任意の適切なタグのセットを使用でき、これは、システム内で制作及び合成設置におけるタグの役割を選択することを説明するときなどの適切なときに明らかになる。
【０１５４】
ライブラリクエリは、入力１６で提供することができ、ライブラリクエリは、トラック記憶装置２２又は代替的にジョブデータベース２４に保存されているオーディオトラックに対するページ化リストの検索を生成する。これらは、後述する編集可能なフォーマットで記憶できる。これらは、音楽制作システムによって既に作成されたか又は他の場所からライブラリにアップロードされたトラックである。トラックの作成プロセスで説明するように、それらは後の編集に適した方法で記憶される。
【０１５５】
トラックのライブラリクエリは、次のパラメータを返す。
ジョブＩＤ─識別されたトラックの一意の識別子であり、特に、トラックの編集を可能にする一意のＩＤである。
タグ─トラックに関連付けられた識別子タイプのタグである。
アセット─アセットのタイプ、即ち、ＭＩＤＩ又はＷＡＦを表す。
継続時間─一段の音楽の長さを表す。曲の作成で、一段の音楽の長さは通常約３分である。なお、様々な目的で一段の音楽を生成でき、また、一段の音楽は任意の適切な継続時間を持つことができる。
【０１５６】
これらは単なる例であり、リクエストについて、異なる実現で異なるパラメータを返すことができる。
【０１５７】
入力１６は、ジョブを作成するリクエストを受信してもよい。ジョブは異なるタイプであってもよい。
【０１５８】
第１のタイプのジョブは、オーディオトラックを作成することである。このジョブを実現するために、ユーザーは複数のオーディオトラック作成設置を提供することができ、以下を含む。
音楽スタイル
継続時間─オーディオトラックの長さ
１つまたは複数のタグ─トラックのタイプを定義する
リズム─トラックの音楽リズム
同期ポイント─トラック又は他のイベントで強度が集中する任意の特定の位置、例えば特定のポイントでの特定の楽器入力又は音楽的特徴をオーディオトラックに導入する任意の他のイベント。
強度曲線─同期ポイントの一般化により、オーディオトラックの望ましい強度の変化をより大きい柔軟性で時間の経過に応じた曲線として定義する。
【０１５９】
これらのパラメータのすべてが必要なわけではない。当該システムは、最小限の情報に基づいて自律的な意思決定を行うことができる。例えば、オーディオトラックに継続時間しか提供されていない場合、システムはオーディオトラックを作成することができる。制作管理コンポーネント１３自体は当該イベントのタグ、リズム、及び同期ポイントを確定する。実際に、システムは、設置を入力せずにトラックを生成することができ、トラックリクエストで設置が提供されていない場合、システムは任意の設置を自動的に選択することができる。
【０１６０】
制作管理コンポーネントは、音楽スタイルに基づいて１つまたは複数の層に使用される設置を生成してもよい。完全なオーディオトラックを生成するときに、以下で詳細に説明するように、タイプに基づいてオーディオ制作エンジン３に使用されるオーディオ制作パラメータと合成エンジン２に使用される合成パラメータを生成する。
【０１６１】
以下、必要に応じて特定のパラメータについて言及する場合がある。これは単に可能な形態であり、これらのパラメータは設計上の選択とする必要なパラメータである。なお、ユーザーにより提供されていない所望のパラメータをすべて自動的に選択するようにシステムを配置するため、ユーザーが提供するパラメータに基本的な要件はない。
【０１６２】
第２のタイプのジョブは、作成されるＭＩＤＩトラックをリクエストすることである。このジョブについて、少なくとも継続時間、及びオプションである少なくとも１つのタグ、リズム、及び同期ポイントの入力が必要である。或いは、継続時間は、オプションのパラメータであってもよく、継続時間が提供されていない場合、システムは継続時間を自動的に選択することができる。
【０１６３】
オーディオトラックのリクエストには、オーディオレンダリング層を含む音楽制作システムの全てのコンポーネントを使用して、オーディオでレンダリングされたトラックを生成することが含まれる。この例では、ＭＩＤＩトラックを作成するリクエストは合成エンジン、アレンジ層、及びパフォーマンス層を使用してＭＩＤＩのトラックを生成する。オーディオレンダリング層は使用しない。上記のように、アレンジ層とパフォーマンス層はオプションのコンポーネントであり、当該システムはこれらのコンポーネントなしで実現することができる。例えば、合成エンジン２は、必要に応じて、完全にアレンジされた人間化のＭＩＤＩを生成するように配置されてもよい。
【０１６４】
トラック制作について後述する。
【０１６５】
第３のタイプのリクエストは、既存のトラックを編集することである。トラックは、以下に説明する方法で、一意のジョブ識別子によって識別されるトラックライブラリに記憶される。ユーザーは編集のためにジョブのＩＤを提供する必要がある。なお、これは編集が必要なトラックの正しいジョブＩＤを識別するために前述のライブラリクエリを実行することによって実現できることに注意されたい。ユーザーは、トラックに新しい継続時間を提供することができる。オプションで、リズムと同期ポイントを定義することができる。その出力は既存のオーディオトラックの新しいバージョンであり、新しい設置によって定義されるように編集する。或いは、ユーザーが継続時間を変更せず、オーディオトラックの他（１つまたは複数）の側面を編集したい場合、既存の継続時間を使用することができる（又は、継続時間が提供されていないが、継続時間を変更したい場合、システムは継続時間を自動的に選択するように配置できる）。以下に説明するように、システムが各段階で行った決定に関する十分な情報がトラックＩＤに対してジョブデータベース２４に記憶されているため、システムは編集リクエストを処理することができる。
【０１６６】
システムは、後で説明するように、ＭＩＤＩトラックを編集するリクエストを処理するように配置されてもよい。これらは、トラック編集リクエストとほぼ同じ方式で処理できるが、出力はオーディオではなくＭＩＤＩである。
【０１６７】
第４のジョブはＭＩＤＩループを作成することである。これは合成エンジンによって実行されるジョブであり、他のジョブと異なるパラメータのセットを受け取ることができる。少なくとも生成のＭＩＤＩループの小節の長さ（１、２、４又は８であるが、これは単なる例である）を受信する。或いは、長さはオプションのパラメータであり、長さが提供されていない場合、システムは長さを自動的に選択することができる。また、タイプ、例えばピアノ、フォーク、ロック、映画、ポップ、快適、グループ、ドラムとベース、環境、シンセポップのいずれかを指定することができる。これらは、上記の意味でのタグとして指定できる。例えば、主音数字[０-１１]、及び０=Ｃ、及び／又は調性を例えば自然性_主要と自然性_次要の１つとして提供することができる。後述するように、合成エンジンはこれらのパラメータに従ってＭＩＤＩループを生成することができる。また、ＭＩＤＩの速度、タイミング、人間化を可能にする有効化パラメータを提供することができる。或いは、これらのパラメーターを個別に有効化／無効化できるように、個別のパラメータを提供することもできる。
【０１６８】
類似のジョブはオーディオループを作成することである。これは、ＭＩＤＩループリクエストと類似であるが、制作エンジンに関連する。制作エンジンがＭＩＤＩループをリクエストすることによって、それをレンダリングしてループ可能なオーディオを提供することで実現できる。
【０１６９】
図９は、ＡＰＩ １４を実現するためのアーキテクチャの一例を示した。このアーキテクチャのＡＰＩ １４の主要な特徴は、内部ジョブリクエストと外部ジョブリクエストの両方を同じ方式で処理できることである。つまり、音楽制作システムの外部からのジョブリクエストと、システム自体のコンポーネントによって引き起こされシステムの他のコンポーネントへ向けられたジョブリクエストの両方である。この場合の特定の例は、合成エンジン２によって提供される「サービスとするＭＩＤＩ」機能であり、当該機能は、外部ユーザーだけでなく、例えば制作マネージャー１３などのシステム自体のコンポーネントにも使用できる。
【０１７０】
ＡＰＩ １４での各着信リクエスト（内部又は外部）はリクエストのタイプに従って多くのジョブキュー３１のうちの１つに割り当てられる。この例では、合成ジョブキュー３４は、合成エンジン２に結合されるように示される。制作ジョブキュー３２とＭＩＤＩジョブキュー３２Ａは、制作管理コンポーネント１３に結合されるように示され、これらの２つのキュー３２、３２Ａは、制作管理コンポーネント１３によって処理される異なるタイプのリクエストを保持する。制作ジョブキュー３２に割り当てられたジョブは、オーディオエンジン１２のトラックに関し、ＭＩＤＩジョブキュー３２Ａに割り当てられたジョブはＭＩＤＩに関し、オーディオエンジン１２に関しない。つまり、制作管理コンポーネントは、オーディオリクエストとＭＩＤＩリクエストとの両方を処理することができる。
【０１７１】
あるタイプのリクエストは、制作エンジン３と制作管理コンポーネント１３を「バイパス」し、制作エンジン３又は制作管理コンポーネント１３を関与させることなく、合成エンジン２によって処理されるように合成ジョブキュー３４に割り当てられる。このようなリクエストは、外部装置又は制作管理コンポーネント１３から生じ得る。
【０１７２】
制作管理コンポーネント１３によって処理されるリクエストは例えば、トラック全体に対するリクエスト又はトラックを編集するためのリクエストであり（下記を参照）、制作管理コンポーネント１３によって処理されるために、オーディオの場合に、制作ジョブキュー３２に割り当てられ、ＭＩＤＩの場合に、ＭＩＤＩジョブキュー３２Ａに割り当てられる。以下さらに詳細に説明するように、制作管理コンポーネント１３で受信されるそのようなリクエストは、制作管理コンポーネント１３に同じＡＰＩ １４を介して合成エンジン２へそれ自身の１つまたは複数の内部リクエストをするようにし、これらの内部リクエストは合成エンジン２によって処理されるように合成ジョブキュー３４に割り当てられる。
【０１７３】
図９には示されていないが、ＡＰＩ １４が処理できる各タイプのリクエストに対して別個のジョブキューを提供する。従って、実際には複数のオーディオタイプジョブキュー（例えばオーディオ作成とオーディオ編集）と複数のＭＩＤＩタイプジョブキュー（例えばＭＩＤＩ作成とＭＩＤＩ編集）が制作管理コンポーネント１３に結合される場合がある。
【０１７４】
次に、図２を参照して、オーディオトラック作成タスクについて説明する。図２では、円内の数字は、方法のステップを示し、構造の特定の要素を示す参照数字とは異なる。図２に示されている構造の要素は、図１で説明されている要素に対応し、図１に対応する参照数字が付けられている。
【０１７５】
ステップ１では、人間ユーザーはＡＰＩ １４の入力１６でジョブリクエスト３０を提供することができる。ジョブリクエスト３０は原則として、上記の任意のジョブタイプであり得るが、本明細書のここの部分はトラック又はＭＩＤＩトラックの作成に関する。上記のように、ジョブリクエスト３０は、これらのトラックの作成を定義するための少なくとも１つのパラメータを定義する。或いは、前記のように、ジョブリクエスト３０はパラメータを定義せず、当該イベントの全てのパラメータはシステムで自動に選択される。ステップ２では、ＡＰＩ １４内では、ジョブ識別子がジョブリクエスト３０に割り当てられる。これは、本明細書ではＩＤ Ａと呼ばれる。次に、当該ジョブを制作マネージャー１３に関連付けられた制作ジョブキュー３２に割り当てる。ジョブＩＤ Ａを制作キューに割り当てることはステップ３で示される。
【０１７６】
ステップ４で、制作マネージャーはトラックを制作するように動作する。制作マネージャー１３はアレンジ層４、パフォーマンス層１０及びオーディオレンダリング層１２にアクセスすることができる。図２では、パフォーマンス層は、個別に表示されていないが、必要に応じて制作マネージャーが利用できる。制作マネージャー１３は制作層で実施される人工知能モデルに従って、アレンジ層４と関連付けられて動作する。これは、決定木で実施され、当該決定木は、人間の専門知識と知識を組み合わせて、オーディオトラックの制作を完了するための制作層をガイドし、但し他の実施形態も可能である。例えば、上記のように、制作エンジンはＭＬを使用して実現できる。当該決定木により、ステップ５に示すように、制作マネージャー１３がアレンジ層４にアクセスする。アレンジ層４は少なくともタイミング及び所望のタイムスタンプ（小節の拍数）を含む音楽アレンジを提供するように動作し、ステップ５ａに示すように、アレンジエンベロープを制作マネージャー１３に返す。その後、制作マネージャー１３は、アクティブ化されてＭＩＤＩセグメントをリクエストし、これらのＭＩＤＩセグメントは、アレンジ層４によって提供されるアレンジにソートされる。上述のように、これは例として説明された1つの可能な形態に過ぎない。特に、前述のように、当該システムは、アレンジ層４とパフォーマンス層８の一方又は両方を使用せずに実現でき、必要に応じて、これらの層の機能はシステムにおける他の場所で処理され、例えば、合成エンジン２の操作に組み込まれる。当該リクエストは、ＡＰＩ入力（ここでは内部ＡＰＩ入力１７と呼ばれる）を介して加えてもよい。例えば、制作マネージャー１３は、例えば、図２にそれぞれＢ１、Ｂ２、Ｂ３として示されるジョブリクエストなどの複数のＭＩＤＩジョブリクエストを生成することができる。各ＭＩＤＩジョブリクエストをＡＰＩ １４の内部入力１７に加え、ＡＰＩ １４はジョブ識別子をＭＩＤＩジョブリクエストに割り当て、当該ジョブ識別子はＩＤ Ｂ１、ＩＤ Ｂ２及びＩＤ Ｂ３として表され、ステップ８では、一意の識別子で表記されるこれらのジョブをＭＩＤＩジョブキュー３４に提供する。識別子は、制作マネージャー１３に返される。これは、ステップ７で示される。
【０１７７】
一意の識別子を持つジョブは、合成エンジン2に割り当てられ、様々なＭＩＤＩセグメントの人工知能／機械学習を使用して生成できる。合成エンジンは、上記のようにトレーニングされている。
【０１７８】
合成エンジン２は、ステップ９に示されるように、ＭＩＤＩセグメントをジョブデータベース２４に出力する。ＭＩＤＩセグメントは別個のデータベースに記憶されるか、又は、説明しようとする他の完了したジョブと同じジョブデータベースに記憶される。各ＭＩＤＩセグメントは一意の識別子と関連付けられて記憶されるため、再び呼び出すことができる。次の段落で説明するように、制作マネージャー１３は、周期的に、ＡＰＩ １４をポーリングしてＩＤ Ｂ１、ＩＤ Ｂ２及びＩＤ Ｂ３によって識別されたジョブが完了したかどうかを確認する。これはステップ１０で示されている。それらがアクセス準備ができると、上記のようにソートするためにアレンジ層にそれらを提供する制作マネージャー１３に返される。ソートされたセグメントは制作マネージャー１３を介して（ＭＩＤＩトラックが必要な場合）出力に返されるか、又は、オーディオトラックが必要な場合、オーディオレンダリング層１２に返される（ステップ１２）。
【０１７９】
この方法でジョブＩＤを割り当てることは様々な利点がある。リクエストを受信したときに、ジョブＩＤを当該リクエストに割り当てるため、リクエストが実際に処理される前（リクエストの性質によって、数秒以上かかる場合がある、特にオーディオの場合）、ＡＰＩ １４は、ジョブＩＤを含む当該リクエストへの応答をリクエストのソースにすぐに返すことができる。例えば、オーディオ又はＭＩＤＩを実際に生成又は検索する前に、オーディオ又はＭＩＤＩへのリクエストを返すことができる。その後、リクエストのソースは、返されたジョブＩＤを使用してシステムを調べ（必要に応じて繰り返し）リクエストのデータ（例えばオーディオ又はＭＩＤＩ）の準備ができているかどうかを調べ、準備ができている場合、システムは、リクエストされたデータを応答として返すことができる。これにより、リクエストの処理中に接続を開いたままにしておく必要がなくなり、信頼性とセキュリティの点で有益である。
【０１８０】
オーディオエンジン：
【０１８１】
次に、本明細書では説明する音楽制作システムでオーディオを再生する方法について説明する。図１及び図２を参照する。オーディオトラックへのリクエストは、上記のＡＰＩ １４の入力１６で受信できるジョブのタイプの１つである。このコンテキストでは、ＡＰＩは、オーディオトラックへのリクエストを受信するためのコンピュータインターフェースを提供する。この点について、オーディオトラックは、任意の適切な長さのオーディオ再生音楽である。それが一段の完全な音楽であると仮定すると、ある意味で、オーディオデータで再生して完全な楽曲として聴くことができる。当該着信リクエストには、ジョブＩＤが割り当てられている。上記のように、リクエストは、オーディオトラックを作成するための１つまたは複数のパラメータを含むことができる。なお、前記のように、いずれのトラック作成パラメータも指定せずにトラックをリクエストすることができ、この場合、システムは、例えば、デフォルトのパラメータに関するデフォルトのトラック作成プロセスを使用することができる。このようなデフォルトのパラメータは、入力１６でのリクエストに応答して、制作管理コンポーネント１３で生成される。例えば、デフォルトの継続時間は９０秒で事前に設定できる。他のデフォルトの長さも可能である。当該リクエストに基づいて、複数の音楽パーツを確定する。これらは、入力１６で提供されるリクエストにおける入力パラメータに基づいて、又は制作管理コンポーネントによって生成されたパラメータに従って、制作管理コンポーネント１３で確定される。或いは、音楽パーツは、リクエストを行うユーザーによってリクエスト自体では提供されてもよい。この場合、制作管理コンポーネント１３のリクエストから音楽パーツを抽出することができる。これは、音楽制作システムに幅広い柔軟性を提供する。つまり、ユーザーからの入力がない場合、又は、ユーザーによって提供される制約が多くある場合に働くことができ、トラック作成パラメータ及び／又は音楽パーツを含む。ステップＳ６０２で音楽パーツの確定が示される。当該リクエストに従ってオーディオ制作設置も生成される。これはステップＳ６０３に示される。ステップＳ６０２及びＳ６０３が順次又は並行して実行できることは注意されたい。これらは、制作管理コンポーネント又は音楽制作システム内の任意の適切なコンポーネントによって実行できる。
【０１８２】
ステップＳ６０４で、オーディオ制作設置及び音楽パーツはオーディオレンダリングコンポーネントに提供される。なお、デジタル音楽記号フォーマットの音楽セグメントシーケンスはオーディオレンダリングコンポーネントに提供される。当該シーケンスは、合成エンジンによって生成されるか、又は他の場所で取得され、ＭＩＤＩセグメントの形式である。これらのＭＩＤＩセグメントは、本明細書で前述したように生成できるが、必ずしもこのように生成する必要はない。また、ＭＩＤＩセグメントのアレンジシーケンスをオーディオレンダリングコンポーネント１２に提供することができる。当該アレンジ順序は、上述したようなアレンジコンポーネント４から取得してもよいし、合成エンジンとアレンジエンジンの組み合わせによって生成されたアレンジ順序であってもよい。或いは、アレンジされたＭＩＤＩシーケンスは、トラックリクエストを行うユーザーによって提供されてもよい。
【０１８３】
ステップＳ６０５で、オーディオレンダリングコンポーネント１２はオーディオ制作設置、音楽パーツ、及びＭＩＤＩシーケンスを使用して音楽トラックのオーディオデータをレンダリングする。ステップＳ６０６で、音楽トラックはＡＰＩコンポーネントの出力ポート１８を介して、リクエストを行うユーザーに返される。
【０１８４】
次に、ステップ６０３のより詳細な説明を行い、ステップ６０３では、オーディオ制作設置を選択する。制作管理コンポーネント１３は、１つまたは複数のタグを使用して、図１で２３と表記された設置のデータベースにアクセスする。１つまたは複数のタグは、入力１６で入力されたリクエストで定義されるか、又は入力リクエストにおける情報に基づいて制作管理コンポーネントによって生成されるか、又は制作管理コンポーネントで自動的に生成される。
【０１８５】
例えば、スタイルパラメータがリクエストで定義される場合、当該スタイルパラメータに適したタグをタグデータベース２０からリクエストする。或いは、制作コンポーネント１３により、１つまたは複数のタグがランダムに選択されてもよい。設置データベース２３の構成を図７に示す。各アレンジ設置データベースオブジェクトが１つまたは複数のタグに関連付けられているため、データベース２３はタグを使用して照会することができる。単一のアレンジ設置オブジェクトに関連付けられるタグの数に制限はない。１つまたは複数のタグを提供して、提供された全てのタグがマークされたアレンジ設置オブジェクトの全てを返すことによって、アレンジ設置オブジェクトのデータベースに照会することができる。データベース２３にはタグＴ１及びＴ２に関連付けられたアレンジ設置オブジェクトＯ１が示され、オブジェクトＯ１は任意の数のタグに関連付けられてもよい。各アレンジ設置オブジェクトは３組の設置を含む。一組のアレンジ設置７０、一組の合成設置７２、及び一組のオーディオ設置７４がある。これは単なる例であり、設置グループの数は増減してもよい。設置のグループは、システムのアーキテクチャを反映しており、上記のように柔軟に設計できる。例えば、アレンジ設置７０は、アレンジが合成の一部として処理されるように、合成設置７２に組み込まれてもよい。
【０１８６】
これらのグループは、（１つまたは複数）タグで指示されたタイプに従って完成した音楽セグメントで協働するように定義される。既に説明したように、タグは、ジャンル／ムード／楽器などを定義することができる。制作管理コンポーネント１３がデータベース２３から呼び出した設置は音楽の制作を制御するために使用される。各音楽パーツの各グループから設置の特定の集合を選択するか、又は１つまたは複数の設置を複数の音楽パーツに適用することができる。図８を参照して、オーディオ制作に使用される選択フローが示される。特定のタグに使用される１つまたは複数のオーディオ設置セットから各パーツの楽器を選択する。これは、図８のクロスハッチングによって示されている。各パーツの楽器を選択する1つの方法は、当該パーツに適した設置セットから楽器をランダムに選択することである。オーディオ設置内には、例えば低音、メロディー、ハーモニーなどの各パーツに関連付けられる設置カテゴリがあり得る。
【０１８７】
サウンド設置のセットから一つの設置を選択することによって、当該楽器の特定のサウンドを選択する。この選択は、ランダムであってもよい。各サウンドに１つまたは複数のサウンド効果を選択することができる。再び、これは、特定のサウンドに適した一連のサウンド効果からランダムに選択することができる。これらの選択を実現するために、制作管理コンポーネント１３は、特定の楽器の特定の部分、特定のサウンド、特定の楽器、特定のサウンド効果に対する適合性に関する知識が埋め込まれた決定木を使用する。
【０１８８】
このコンテキストでの「サウンド」という用語は仮想楽器のプリセットを指す。仮想計器は、当技術分野における用語であり、ソフトウェアシンセサイザーを指し、仮想計器プリセットとは、仮想計器を構成するための1つまたは複数の設置のセットと一緒になっていることが好ましい特定の仮想計器を指す。仮想楽器プリセットは、特定の仮想楽器と仮想楽器の音色又は品質を定義した。異なる仮想計器プリセットは、同じ又は異なる仮想計器に関してもよい。例えば、ピアノをシミュレートする仮想楽器の場合、仮想楽器をグランドピアノのように鳴らすプリセットと、アップライトピアノのように聞こえる別のプリセットがあり得る。楽器にサウンドを選択するときに、システムはこれらのプリセットから選択する。仮想計器を構成する設置を1つのファイルにまとめることは便利である。
【０１８９】
タグに関連付けられた合成設置は、ＭＩＤＩセグメントの出力をトラックに組み込むように制御するために、合成エンジン２に提供できる。タグに関連付けられるアレンジ設置７０は、合成エンジンからのＭＩＤＩセグメントがタグの支配下でどのようにアレンジされるかを確定するために、アレンジ層４に適用できる。
【０１９０】
完成したトラックは、着信リクエストに割り当てられたジョブＩＤとともに、ジョブデータベース２４に記憶される。
【０１９１】
オーディオトラックは、オーディオデータ自体として保存するのではなく、合成エンジン２から出力されたソートされたＭＩＤＩ及び／又は（１つまたは複数）ソートされていないＭＩＤＩループ又は（１つまたは複数）そのセグメントとともに、トラックを生成するために選択する設置（トラック設置８０）に従って記憶される。その後、ソートされたＭＩＤＩを音楽パーツ及び選択されたオーディオ制作設置とともにオーディオレンダリングコンポーネント１２に提供して（図６のフローのステップＳ６０４のように）、トラックを再生成することができる。トラック設置８０は、選択されたオーディオ設置だけでなく、合成設置とアレンジ設置からも構成される。つまり、トラック設置８０には、制作管理コンポーネント１３による選択の全てが含まれるため、オーディオトラックを完全に再生するために必要な設置が全て含まれる。同じトラックを再生するために、これらの記憶されたトラック設置８０は、図６のステップＳ６０４では、同じトラックを作成するために使用することができる。この場合、トラック設置８０は再生性設置と呼ばれる。
【０１９２】
図２に戻ると、トラックへのリクエストのコンテキストでは、割り当てられたジョブＩＤ（ＩＤ Ａ）はトラックの識別子を構成する。トラック設置８０はトラック識別子ＩＤ Ａと関連付けられてジョブデータベース２４に記憶される。さらに、識別子ＩＤ Ｂ１、ＩＤ Ｂ２及びＩＤ Ｂ３はトラック識別子ＩＤＡと関連付けられてジョブデータベース２４に記憶されるので、トラック識別子ＩＤ Ａを使用してオーディオトラックを構築するためのＭＩＤＩセグメントを検索することができる。これらのＭＩＤＩセグメントは、ソートされているか又はソートされていないＭＩＤＩセグメント、又は両方の組み合わせであってもよい。ＩＤ Ａに関連づけられてジョブデータベース２４に記憶される情報は、後でオーディオトラックを再生するために使用できるように十分に包括的である。
【０１９３】
次に、図１１を参照して、既存のトラックを編集するための例示的なプロセスを説明し、ステップＳ１１０２では、ＡＰＩ １４で編集リクエスト５２が受信されることを示している。編集リクエスト５２は、編集対象のトラックのジョブＩＤ ５４と少なくとも１つの新しい設置５６とを含み、トラックは当該新しい設置に従って編集されるべきである。編集リクエストは実際に、完全に新しい音楽トラックを作成するリクエストであるが、以前のトラックを生成するための設置及び／又はＭＩＤＩセグメントの少なくとも１つを使用する。編集対象のトラックは、オーディオトラック又はＭＩＤＩトラックであってもよい。ステップＳ１１０４では、編集リクエスト５２への応答５９をリクエスト５２のソースに返す。応答５９は、編集リクエスト５２自身に割り当てられたジョブＩＤ ５８を含む。なお、編集リクエスト５２自身の当該ジョブＩＤ ５８は、当該トラックを作成する以前のリクエストに割り当てられた編集対象のトラックのジョブＩＤ ５４と異なる（当該以前のリクエストはゼロからトラックを作成するリクエストであってもよく、或いは、自身は既存のトラックを編集するリクエストであってもよい）。ステップＳ１１０６では、編集リクエスト５２は、上記の方式で制作管理コンポーネント１３に提供される。編集対象のトラックのジョブＩＤ ５４を使用し、制作マネージャー１３は、ステップＳ１１１０で受信したジョブＩＤ ５４に関連付けられるトラック設置８０を検索するために、ジョブＩＤ ５４を使用してジョブデータベース２４に照会する（Ｓ１１０８）。トラック設置８０にはトラックを作成するためのＭＩＤＩセグメントへの１つ以上の参照が含まれる場合、必要に応じて、制作マネージャー１３によって検索できる。上記のように、そのような参照は、ＭＩＤＩセグメントがジョブデータベース２４に記憶されるジョブＩＤの形式であってもよく、或いは、ＭＩＤＩセグメントが保存される別個のデータベースへの参照であってもよい。この観点から、オーディオトラックの編集バージョンの作成に使用されるトラック設置がジョブデータベース２４から検索された１つ以上のトラック設置８０と、編集リクエスト５２で提供される１つ以上の新しい設置５６との組み合わせであるという事実を除いて、当該方法は図６を参照して説明した方法と同じ方法で実行される。
【０１９４】
新しい設置５６の一例は、トラック継続時間であり、ユーザーが既存のトラックのより長いバージョン又はより短いバージョンを作成したい場合、ユーザーは当該トラック継続時間を提供することができる。簡単な場合に、全てのオリジナルのトラック設置８０は、オリジナルのＭＩＤＩセグメントと共に、トラックの編集バージョンを作成するために使用できるが、オリジナルの継続時間は新しい継続時間に置き換えられる。或いは、新しい継続時間により適する新しいＭＩＤＩセグメントを合成することができ、合成エンジン２に対する内部リクエストが含まれる。これは単なる例であり、より複雑なトラック編集が想定される。図１１の例では、編集リクエスト５２で１つまたは複数の新しい設置５６が提供されるが、より複雑なシナリオでは、制作マネージャー１３は実際に、編集リクエスト５２に応答してこのような（１つまたは複数の）新しい設置５６自体を選択することができ、例えば、編集リクエスト５２に指示される設置に基づいて付加設置を選択するか、又は何らかの他の手段により（１つまたは複数の）新しい設置を自動的に選択する。
【０１９５】
図１１のステップＳ１１１２に示すように、編集リクエスト５２に割り当てられたジョブＩＤ ５８は、８０’として表記される編集トラックのトラック設置と共に、他のリクエストと同様にジョブデータベース２４に記憶される。トラック設置８０’は、トラックの編集バージョンを生成するために既に使用された設置であり、また、上記のように、これらの設置は、１つまたは複数のオリジナルのトラック設置８０と、上記の方式で編集リクエスト５２に応答して確定された（１つまたは複数の）新しい設置５６との組み合わせから構成される。
【０１９６】
上記の様々なコンポーネント、特に制作管理コンポーネント１３、制作エンジン３（即ち、オーディオレンダリングコンポーネント１２、パフォーマンスコンポーネント１０、及びアレンジコンポーネント４）及び合成エンジン２は、ソフトウェアで実現されるシステムの機能コンポーネントである。つまり、合成システムは、例えば汎用ＣＰＵ、ＧＰＵ又はその他の専用処理ハードウェアなどの専用処理ユニット、又は汎用処理ハードウェアと専用処理ハードウェアとの組み合わせなどの、１つまたは複数の処理ユニットを含み、前記１つまたは複数の処理ユニットは、コンピュータ可読命令（コード）を実行することによって、１つまたは複数の処理ユニットに明細書の各コンポーネントの機能を実現させるように配置される。ＧＰＵなどの専用処理ハードウェアは特に、制作エンジン２のＭＬ機能の特定の部分を実現するのに適しており、ＭＬを使用してこれらの機能を実現するときに、他のコンポーネントを実現することもできる。（１つまたは複数）処理ユニットは、コンピュータ装置又はコンピュータ装置を協調するネットワーク（例えばサーバー又はサーバーネットワーク）で実施できる。
【０１９７】
図１０は、ＡＰＩ １４のいくつかの構成を説明する概略ブロック図を示し、コンピュータインターフェース４２と、コンピュータインターフェース４２に結合されるリクエストマネージャー４４とを含む。リクエストマネージャー４４は、上記のようにコンピュータインターフェース４２で受信されたリクエストを管理する。特に、リクエストマネージャー４４は各リクエストをジョブキュー３１のうち適切な１つに割り当て、また、一意のジョブ識別子（ＩＤ）を各リクエスト（内部リクエストと外部リクエストの両方）に割り当てる。ジョブＩＤは、後で説明する様々な目的に使用される。ＡＰＩ １４は、サーバー（ＡＰＩサーバー）又はサーバープールとして実現されてもよい。後者の場合、リクエストマネージャー４２はサーバープールとして実現され、コンピュータインターフェース４２は少なくとも部分的にロードバランサーによって提供でき、当該ロードバランサーは、サーバープールに代わってリクエストを受信し、各リクエストをサーバープール４４のサーバーの１つに割り当て、当該サーバーはそれを適切なジョブキューに割り当てる。より一般的には、ＡＰＩ １４は、少なくとも１つのコンピュータ装置（例えば、サービス）と、本明細書で説明されるＡＰＩ機能を実行するように配置される任意の関連するハードウェアの形態である。コンピュータインターフェース４２は、リクエストを送受信するハードウェアとソフトウェアの組み合わせを表し、リクエストマネージャー４４は、それらのリクエストを管理するハードウェアとソフトウェアの組み合わせを表す。リクエストは、コンピュータインターフェースのネットワークアドレス、例えば、それに関連付けられるＵＲＬ又はＵＲＩに送信される。ＡＰＩ １４は、この目的のために提供される少なくとも１つのＷｅｂアドレスを有するＷｅｂ ＡＰＩであってもよい。着信要求を受信するために、1つまたは複数のこのようなネットワークアドレスを提供できる。
【０１９８】
フィードバックに基づく自動学習
【０１９９】
このシステムは例えば、ニューラルネットワークなどの機械学習（ＭＬ）コンポーネントを後述する合成エンジン２に組み込む。これらは、トレーニング可能なコンポーネントであり、ユーザーがシステムに参加するときに提供したフィードバックに従って学習することができる。
【０２００】
基本的な技術は、図１２の符号１２００で表される効率的なフィードバックループを利用し、ユーザーはＪｕｋｅｄｅｃｋのＡＩソフトウェアとインタラクションしてトラックを作成、聴き、変更し、最終にダウンロードすればするほど、ユーザーデータがシステムにフィードバックされて、音楽を合成するときに、ＭＬコンポーネントがより効率的に完成する。当該ユーザーデータを利用する機能により、ユーザーインタラクションに基づいて基本的な技術を継続的に改善することができる。
【０２０１】
そのため、例えば合成エンジン２や制作エンジン３などのＪｕｋｅｃａｐｏシステムの少なくとも１つのコンポーネントは、システムのユーザーから収集された情報に基づいてその操作を調整するように配置できる。この情報は、例えばトラック又はＭＩＤＩ作成リクエスト、検索リクエスト、編集リクエスト、ダウンロードリクエストなどの様々なソースから収集することができ、又は、システムのユーザーから取得された任意の他の情報源から収集することができる。
【０２０２】
適用
【０２０３】
当該技術は、音楽が使用されるあらゆる状況に適用することができ、それを、視覚的／没入型メディア（例えば、ビデオ、ソーシャルメディア、テレビ、広告、ゲーム、バーチャルリアリティなど）に使用されるオーディオ、個人的な聴取（例えば、音楽ストリーミング、ラジオなど）及び音楽作成ツール（例えば、音楽制作ソフトウェア）を含む複数のカテゴリに関連付ける。
【０２０４】
視覚的／没入型メディア（例えば、ビデオ、ソーシャルメディア、広告、ゲーム、ＡＲ／ＶＲなど）
【０２０５】
ユーザーが作成したビデオ、ビデオ広告、ゲーム、拡張現実コンテンツやバーチャルリアリティコンテンツなど、以前よりも多くのコンテンツが作成される。しかしながら、このコンテンツに音楽を探すことは伝統的に非常に困難であり、音楽は通常高価であり、権利が制限され、音楽を問題のコンテンツに合わせるために手動で編集する必要がある。
【０２０６】
本技術はこれらの問題を解決し、低コストで明確な権利、及びパーソナライズされたコンテンツを大規模に提供する。さらに、様々なデータ入力に応答してトラックを作成するシステムの機能は、視聴覚体験のまったく新しい領域を開き、音楽の好み（ジャンル、リズムなど）、状況データ（ムード、時刻など）、人口統計データ（場所、年齢、性別など）の入力に基づいて、パーソナライズされた音楽をコンテンツの消費者に提供できるようにし、これにより、コンテンツの効率を大幅に向上させる。
【０２０７】
また、自動音楽制作エンジン３が事前に再生された人間が合成したステムを再アレンジする能力は、既存の制作ライブラリ内の人間が合成した曲をユーザーのニーズに適合することができることを意味する。例えば、長さの異なる複数のバージョンのトラックを自動的に生成することができる。
【０２０８】
パーソナライズされたユースケース
【０２０９】
１つのユースケースは動的な音楽作成であり、当該動的な音楽作成により、各ユーザーごとに音楽の好みに応じて独特のパーソナライズされた音楽を生成することができ、当該独特のパーソナライズされた音楽は、ムード、時間帯、場所、その他のコンテキスト入力など、他の様々な要因の影響を受ける。また、本技術により、音楽はこれらの要因にリアルタイムで反応することができる。
【０２１０】
音楽作成ツール（例えば音楽制作ソフトウェア）
【０２１１】
従来から、音楽は非常に複雑なため、音楽の作成は主に専門家の分野で行われる。時間の経過とともに、継続的な技術の進歩（例えばシンセサイザー、デジタルオーディオワークステーションなど）により、より多くの人々が音楽制作プロセスに参加できるようになっている。この技術はさらなる進歩であり、音楽にあまり慣れていない人に（例えばメロディーのハーモニーなど）音楽的な支援を提供したり、音楽に慣れた人に音楽のインスピレーションを提供したり、効率を高めたりするために使用できる。
【０２１２】
まとめ
【０２１３】
ここで説明する動的な音楽作成機能は、次の目的で使用できる。様々なタイプのコンテンツ及び様々なシナリオ（例えば、ビデオ、広告、ビデオゲーム、小売など）に対してトラックを提供し、（ｉｉ）リスナー固有の要因に動的に応答できる、従来の音楽配信チャネル（ストリーミングサービスなど）を介して配信するためのトラックを提供し、（ｉｉｉ）作成プロセス中にミュージシャンに役立つツールを提供する。
【０２１４】
上記は特定の実施形態に関して説明したが、これらは網羅的ではない。本発明の範囲は、説明された実施形態によって限定されず、添付の特許請求の範囲によって限定されるべきである。
【図１】
2021507309.tif 000005
【図２】
2021507309.tif 000006
【図３】
2021507309.tif 000007
【図４】
2021507309.tif 000008
【図５】
2021507309.tif 000009
【図６】
2021507309.tif 000010
【図７】
2021507309.tif 000011
【図８】
2021507309.tif 000012
【図９】
2021507309.tif 000013
【図１０】
2021507309.tif 000014
【図１１】
2021507309.tif 000015
【図１２】
2021507309.tif 000016
【手続補正書】
【提出日】令和2年7月15日(2020.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
音楽制作システムであって、
一段の音楽に対する外部リクエストを受信するための少なくとも１つの入力と、第１の音楽データが含まれる一段の音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するための少なくとも１つの出力とを含むコンピュータインターフェースと、
少なくとも第１の入力設置に従って第２の音楽データを処理して、前記第１の音楽データを生成するように配置される第１の音楽制作コンポーネントと、
前記コンピュータインターフェースを介して内部リクエストを受信し、少なくとも前記内部リクエストによって指示される第２の入力設置に基づいて前記第２の音楽データを提供するように配置される第２の音楽制作コンポーネントと、
前記外部リクエストに応答して前記第１の入力設置と前記第２の入力設置を確定し、前記コンピュータインターフェースを介して前記内部リクエストを起動するように配置されるコントローラーと、
を含む音楽制作システム。
【請求項２】
前記第１の音楽制作コンポーネントは、前記第１の音楽データをオーディオデータとして生成するように配置されるオーディオエンジンである請求項１に記載の音楽制作システム。
【請求項３】
前記第１の音楽制作コンポーネントは、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントの形で、前記第１の音楽データを生成するように配置される請求項１に記載の音楽制作システム。
【請求項４】
前記外部リクエストを前記コントローラーに割り当て、前記内部リクエストを前記第２の音楽制作コンポーネントに割り当てるように配置されるリクエストマネージャーを含む請求項１に記載の音楽制作システム。
【請求項５】
前記リクエストマネージャーは、前記外部リクエストを第１のキューに割り当て前記コントローラーに処理させ、前記内部リクエストを第２のキューに割り当て前記第２の音楽制作コンポーネントに処理させるように配置される請求項４に記載の音楽制作システム。
【請求項６】
対応する識別子を前記外部リクエストと前記内部リクエストに指定するように配置されるリクエストマネージャーを含み、前記コントローラーは、前記第１の音楽データを、前記外部リクエストに対して指定した前記識別子と関連付けて電子メモリに記憶し、前記第２の音楽データを、前記内部リクエストに対して指定した前記識別子と関連付けて前記電子メモリに記憶するように配置される請求項１に記載の音楽制作システム。
【請求項７】
音楽制作システムであって、
リクエストを受信するための少なくとも１つの入力と、各前記リクエストに対する応答を出力するための少なくとも１つの出力とを含むコンピュータインターフェースと、
各前記リクエストのタイプに基づいて、各前記リクエストを複数のジョブキューの１つに割り当てるように配置されるリクエストマネージャーと、
前記ジョブキューのうち第１のジョブキューに割り当てられた第１のリクエストに応答して一段の音楽に使用されるオーディオデータを生成するように配置されるオーディオエンジンであって、前記第１のリクエストに対する応答により、前記オーディオデータを前記リクエストのソースで使用可能にするオーディオエンジンと、
前記ジョブキューのうち第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成するように配置される合成エンジンであって、前記第２のリクエストに対する応答により、前記少なくとも１つの音楽セグメントを前記リクエストのソースで使用可能にする合成エンジンと、
を含む音楽制作システム。
【請求項８】
音楽制作システムで実行される方法であって、
コンピュータインターフェースで一段の音楽に対する外部リクエストを受信するステップと、
前記外部リクエストに応答して、少なくとも第１の入力設置と第２の入力設置を確定するステップと、
前記コンピュータインターフェースを介して、前記第２の入力設置を指示する内部リクエストを起動するステップと、
第２の音楽制作コンポーネントでは、前記コンピュータインターフェースを介して前記内部リクエストを受信し、前記第２の入力設置に基づいて第２の音楽データを提供するステップと、
第１の音楽制作コンポーネントでは、前記第１の入力設置に従って前記第２の音楽データを処理して、第１の音楽データを生成するステップと、
前記第１の音楽データが含まれる前記一段の音楽を含むか又は指示する、前記外部リクエストに対する応答を送信するステップと、
を含む方法。
【請求項９】
音楽制作システムで実行される方法であって、
コンピュータインターフェースで複数のリクエストを受信するステップと、
各前記リクエストのタイプに基づいて、各前記リクエストを複数のジョブキューの１つに割り当てるステップと、
オーディオエンジンでは、前記リクエストにおける前記ジョブキューのうち第１のジョブキューに割り当てられた第１のリクエストに応答して、一段の音楽のためのオーディオデータを生成するステップと、
前記コンピュータインターフェースでは、前記第１のリクエストに対する応答を出力し、前記応答により、前記オーディオデータを前記リクエストのソースで使用可能にするステップと、
合成エンジンでは、前記リクエストにおける前記ジョブキューのうち第２のジョブキューに割り当てられた第２のリクエストに応答して、デジタル音楽記号フォーマットの少なくとも１つの音楽セグメントを生成するステップと、
前記コンピュータインターフェースでは、前記第２のリクエストに対する応答を出力し、前記応答により、前記少なくとも１つの音楽セグメントを前記リクエストのソースで使用可能にするステップと、
を含む方法。
【請求項１０】
非一時的なコンピュータ可読記憶メディアに記憶される実行可能な指令を含むコンピュータプログラムであって、前記実行可能な指令は、音楽制作システムで実行される場合に、前記音楽制作システムに請求項８又は９に記載されたステップを実施させるように配置されるコンピュータプログラム。
【国際調査報告】
2021507309.tif 000017
2021507309.tif 000018
2021507309.tif 000019
2021507309.tif 000020