(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-20
(45)【発行日】2023-01-30
(54)【発明の名称】音楽生成器
(51)【国際特許分類】
G10H 1/00 20060101AFI20230123BHJP
G10G 1/00 20060101ALI20230123BHJP
【FI】
G10H1/00 102Z
G10G1/00
G10H1/00 Z
(21)【出願番号】P 2021516539
(86)(22)【出願日】2019-05-23
(86)【国際出願番号】 US2019033686
(87)【国際公開番号】W WO2019226861
(87)【国際公開日】2019-11-28
【審査請求日】2020-12-21
(32)【優先日】2018-05-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520456941
【氏名又は名称】エーアイエムアイ インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】バラッサニアン,エドワード
(72)【発明者】
【氏名】ハッチングス,パトリック
【審査官】佐久 聖子
(56)【参考文献】
【文献】特開2008-242037(JP,A)
【文献】特表2006-513448(JP,A)
【文献】米国特許出願公開第2008/0092721(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00- 7/12
G10G 1/00- 7/02
(57)【特許請求の範囲】
【請求項1】
コンピューターシステムにより音楽コンテンツセットにアクセスするステップと、
前記音楽コンテンツセット内の複数の
ループの組み合わせを分析することに基づいて前記コンピューターシステムにより作曲ルールセットを生成するステップであって、該ルールセットは、ループが同時に再生されるよう重ねられるループの数を選択するためのルールと、ループが組み合わせられる楽器の種類を選択するルールと、キーの進行のために次のキーを選択するためのルールと、を含む、ステップと、
前記コンピューターシステムにより、
ループセットから
ループを選択し、選択したループを、複数の
ループが経時的に重なるように組み合わせることにより新たな出力音楽コンテンツを生成するステップであって、該選択すること及び該組み合わせることは、前記作曲ルールセットと、前記
ループセット内の
ループの属性とに基づいて行われる、ステップと、
を含む方法。
【請求項2】
前記選択すること及び前記組み合わせることは、前記新たな出力音楽コンテンツのための1つ以上のターゲット音楽属性に基づいてさらに行われる、請求項1に記載の方法。
【請求項3】
前記作曲ルールセット又は前記1つ以上のターゲット音楽属性のうちの少なくとも一方を前記新たな出力音楽コンテンツが再生される環境に関連する環境情報に基づいて調整するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記作曲ルールセットを生成するステップは、前記複数の
ループのうちの1つのために用いられる異なる種類の楽器に対応する複数の異なるルールセットを生成することを含む、請求項1に記載の方法。
【請求項5】
前記複数の
ループは前記音楽コンテンツセットの作成者によって提供される、請求項1に記載の方法。
【請求項6】
前記音楽コンテンツセットを処理することにより前記複数の
ループを決定して、前記音楽コンテンツセットに含まれる異なる楽器のための
ループを生成するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記新たな出力音楽コンテンツを生成するステップは、前記作曲ルールセットに基づいて前記
ループのうちの少なくとも1つを変更することをさらに含む、請求項1に記載の方法。
【請求項8】
前記作曲ルールセット内の1つ以上のルールは統計的に指定される、請求項1に記載の方法。
【請求項9】
前記ルールセット内の少なくとも1つのルールはターゲット音楽属性と1つ以上の
ループ属性との関係を指定し、前記1つ以上の
ループ属性は、テンポ、音量、エネルギー、バラエティー、スペクトル、エンベロープ、変調、周期性、立ち上がり時間、減衰時間又はノイズのうちの1つ以上を含む、請求項1に記載の方法。
【請求項10】
前記音楽コンテンツセットは特定種類の出来事のためのコンテンツを含む、請求項1に記載の方法。
【請求項11】
前記作曲ルールセットを生成するステップは、前記作曲ルールセットを実施することを1つ以上の機械学習エンジンに訓練させることを含み、前記選択すること及び前記組み合わせることは、該1つ以上の機械学習エンジンにより行われる、請求項1に記載の方法。
【請求項12】
前記作曲ルールセットは特定の種類の
ループのための複数のルールセットと、異なる種類の
ループを組み合わせるためのルールを指定するマスタールールセットとを含む、請求項1に記載の方法。
【請求項13】
コンピューター装置により実行可能な命令が記憶された非一時的なコンピューター読取可能媒体であって、該コンピューター装置は該命令を実行した場合に動作を行い、該動作は、
音楽コンテンツセットにアクセスすることと、
前記音楽コンテンツセット内の複数の
ループの組み合わせを分析することに基づいて作曲ルールセットを生成することであって、該ルールセットは、
ループが同時に再生されるよう重ねられる
ループの数を選択するためのルールと、
ループが組み合わせられる楽器の種類を選択するルールと、キーの進行のために次のキーを選択するためのルールと、を含む、ことと、
ループセットから
ループを選択し、選択した
ループを、複数の
ループが経時的に重なるように組み合わせることにより新たな出力音楽コンテンツを生成することであって、該選択すること及び該組み合わせることは、前記作曲ルールセットと、前記
ループセット内の
ループの属性とに基づいて行われる、ことと、
を含む、非一時的なコンピューター読取可能媒体。
【請求項14】
前記選択すること及び前記組み合わせることは、前記新たな出力音楽コンテンツのための1つ以上のターゲット音楽属性に基づいてさらに行われる、請求項13に記載の非一時的なコンピューター読取可能媒体。
【請求項15】
前記動作は、前記作曲ルールセット又は前記1つ以上のターゲット音楽属性のうちの少なくとも一方を前記新たな出力音楽コンテンツが再生される環境に関連する環境情報に基づいて調整することをさらに含む、請求項14に記載の非一時的なコンピューター読取可能媒体。
【請求項16】
前記作曲ルールセットを生成することは、前記複数の
ループのうちの1つのために用いられる異なる種類の楽器に対応する複数の異なるルールセットを生成することを含む、請求項13に記載の非一時的なコンピューター読取可能媒体。
【請求項17】
前記動作は、前記音楽コンテンツセットを処理することにより前記複数の
ループを決定して、前記音楽コンテンツセットに含まれる異なる楽器のための
ループを生成することをさらに含む、請求項13に記載の非一時的なコンピューター読取可能媒体。
【請求項18】
前記ルールセット内の少なくとも1つのルールはターゲット音楽属性と1つ以上の
ループ属性との関係を指定し、前記1つ以上の
ループ属性は、テンポ、音量、エネルギー、バラエティー、スペクトル、エンベロープ、変調、周期性、立ち上がり時間、減衰時間又はノイズのうちの1つ以上を含む、請求項13に記載の非一時的なコンピューター読取可能媒体。
【請求項19】
前記作曲ルールセットを生成することは、前記作曲ルールセットを実施することを1つ以上の機械学習エンジンに訓練させることを含み、前記選択すること及び前記組み合わせることは該1つ以上の機械学習エンジンにより行われる、請求項13に記載の非一時的なコンピューター読取可能媒体。
【請求項20】
1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行可能なプログラム命令が記憶された1つ以上のメモリと、
を含む装置であって、
前記1つ以上のプロセッサは前記プログラム命令を実行した場合に、
音楽コンテンツセットにアクセスすることと、
前記音楽コンテンツセット内の複数の
ループの組み合わせを分析することに基づいて作曲ルールセットを生成することであって、該ルールセットは、
ループが同時に再生されるよう重ねられる
ループの数を選択するためのルールと、
ループが組み合わせられる楽器の種類を選択するルールと、キーの進行のために次のキーを選択するためのルールと、を含む、ことと、
ループセットから
ループを選択し、選択した
ループを、複数の
ループが経時的に重なるように組み合わせることにより新たな出力音楽コンテンツを生成することであって、該選択すること及び該組み合わせることは、前記作曲ルールセットと、前記
ループセット内の
ループの属性と基づいて行われる、ことと、
を行う、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はオーディオエンジニアリングに関し、具体的には音楽コンテンツの生成に関する。
【背景技術】
【0002】
ストリーミング音楽サービスは、通常、インターネットを介してユーザーに曲を提供する。ユーザーはこれらのサービスに加入し、ウェブブラウザ又はアプリケーションを介して音楽をストリーミングできる。このようなサービスの例としては、PANDORA、SPOTIFY、GROOVESHARK等がある。多くの場合、ユーザーはストリーミングするために音楽のジャンルや特定のアーティストを選択することができる。通常、ユーザーは(例えば、星評価又は好き/嫌いシステムを用いて)曲を評価することができ、一部の音楽サービスは、先の評価に基づいてユーザーにどの曲をストリーミングするかを合わせることができる。ストリーミングサービスを経営するためのコスト(ストリーミングされた曲のロイヤルティを支払うことを含み得る)は、ユーザーのサブスクリプション料金及び/又は曲の間に再生される広告によってカバーされる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ライセンス契約及び特定のジャンルのために書かれた曲の数によって曲の選択が制限されることがある。ユーザーは、特定のジャンルの同じ曲を聞くことに飽きる可能性がある。さらに、これらのサービスは、ユーザーの好み、環境、行動等に合わせて音楽を合わせることがない場合がある。
【図面の簡単な説明】
【0004】
【
図1】
図1は、一部の実施形態に係る、複数の異なる種類の入力に基づいて音楽コンテンツを生成する例示の音楽生成器モジュールを示す図である。
【
図2】
図2は、一部の実施形態に係る、出力音楽コンテンツを生成するためにユーザー対話のための複数のアプリケーションを有するシステムの例示の概要を示すブロック図である。
【
図3】
図3は、一部の実施形態に係る、前に作成された音楽に基づいてルールを生成する例示のルールセット生成器を示すブロック図である。
【
図4】
図4は、一部の実施形態に係る、例示のアーティストグラフィカルユーザーインターフェイス(GUI)を示すブロック図である。
【
図5】
図5は、一部の実施形態に係る、1つ以上の異なる種類の楽器のためのルールセットを含む、複数の異なる種類の入力に基づいて音楽コンテンツを生成する例示の音楽生成器モジュールを示す図である。
【
図6】
図6A~
図6Bは、一部の実施形態に係る、例示の保存されたルールセットを示すブロック図である。
【
図7】
図7は、一部の実施形態に係る、ビデオのための音楽コンテンツを出力する例示の音楽生成器モジュールを示すブロック図である。
【
図8】
図8は、一部の実施形態に係る、ビデオのための音楽コンテンツをリアルタイムで出力する例示の音楽生成器モジュールを示すブロック図である。
【
図9】
図9A~
図9Bは、一部の実施形態に係る、例示のグラフィカルユーザーインターフェイスを示すブロック図である。
【
図10】
図10は、一部の実施形態に係る、ニューラルネットワークを実施する例示の音楽生成器システムを示すブロック図である。
【
図11】
図11は、一部の実施形態に係る、音楽コンテンツの例示のビルドアップ部分を示す図である。
【
図12】
図12は、一部の実施形態に係る、音楽コンテンツの一部をアレンジするための例示的な技術を示す図である。
【
図13】
図13は、一部の実施形態に係る、音楽コンテンツを自動で生成するための例示の方法を示すフロー図である。
【発明を実施するための形態】
【0005】
本明細書は、本開示が1つの特定の実施に言及することを意図するものではなく、添付の特許請求の範囲を含む、本開示の精神の範囲内にある一連の実施形態に言及するものであることを示すために様々な実施形態への言及を含む。特定の特徴、構造又は性格は、本開示と一致する任意の好適な方法で組み合わせられ得る。
【0006】
本開示の範囲内では、異なるエンティティ(様々に「ユニット」、「回路」、他の構成要素等と様々な形で言及し得る)は、1つ以上のタスク又は動作を行うように「構成」されると記載又はクレームされ得る。(1つ以上のタスクを行う)するように構成された(エンティティ)という定式は、本明細書では、構造(即ち、電子回路等の物理的なもの)を表すために用いられている。より具体的には、この定式は、係る構造が、動作中に1つ以上のタスクを行うように配置されていることを示すために用いられる。構造は、現在動作中でなくてもあるタスクを行うように「構成されている」と言うことができる。「予測キューマップを生成するように構成されたリソースネゴシエータモジュール」という用語は、例えば、対応するデバイスが現在使用されていない(例えば、そのバッテリが接続されていない)場合でも、動作の間にこの機能を行うモジュールをカバーすることを意図している。そのため、あるタスクを行うように「構成されている」と記載又はクレームされているエンティティは、係るタスクを実施するために実行可能な命令を記憶するメモリ、デバイス、回路等の物理的なものを表す。この表現は、本明細書では無形のものを表すためには用いられていない。
【0007】
「構成されている」という用語は、「構成可能である」ことを意味することを意図していない。例えば、プログラムされていないモバイルコンピュータデバイスは、ある特定の機能を行うように「構成されている」とは考えられないが、その機能を行うように「構成可能」であり得る。適切なプログラミングの後、モバイルコンピュータデバイスはその機能を行うように構成され得る。
【0008】
添付の特許請求の範囲において、ある構造が1つ以上のタスクを行うように「構成されている」といの記載は、その記載の構成要素について米国特許法第112条(f)を行使することを意図したものではないと明示する。したがって、出願時の本願のクレームの何れも、ミーンズプラスファンクション要素を有するものと解釈すべきでない。出願人が手続の間に第112条(f)を行使することを希望する場合は、(機能を行う)「ための手段」を用いるクレーム要素を記載する。
【0009】
本明細書において、「~に基づく」という用語は、決定に影響を及ぼす1つ以上の要因を記述するために用いられる。この用語は、追加の要因が決定に影響を及ぼす可能性を除外するものではない。すなわち、決定は、特定された要因のみに基づき得るか又は特定された要因に加えて他の特定されていない要因に基づき得る。「Bに基づいてAを決定する」という表現を考えた場合、この表現は、Aの決定が他の要因、例えばCにも基づき得ることを除外するものではない。この表現は、AがBのみに基づいて決定される実施形態をカバーすることを意図する。本明細書で用いる「基づく」という用語は、「少なくとも部分的に基づく」という用語と同意である。
【0010】
参照によりその全体が本願に組み込まれる2013年8月16日に出願された米国特許出願番号第13/969372(現在の米国特許第8812144号)では、1つ以上の音楽属性に基づいて音楽コンテンツを生成するための技術が論じられている。米国特許出願第13/969372号の定義と本開示の残りの部分との間での認識された矛盾に基づいて解釈がなされる限りにおいて、本開示が支配することを意図する。音楽属性は、ユーザーによって入力され得るか又は周囲のノイズ、照明等の環境情報に基づいて決定され得る。米国特許出願第13/969372号の開示は、記憶されたループ及び/又はトラックを選択するか又は新しいループ/トラックを生成し、選択されたループ/トラックを重ねて出力音楽コンテンツを生成する技術を論じている。
【0011】
本開示は、一般に、カスタム音楽コンテンツを生成するためのシステムに関する。ターゲット音楽属性は宣言的であってもよく、ユーザーは生成すべき音楽のための1つ以上のゴールを特定し、ルールエンジンはそれらのゴールを実現するためにループを選択及び組み合わせる。当該システムは、例えば、ループの一部のみを用いるために切り取ることによって又はオーディオフィルタを適用してループのための音を変更することによりループを変更し得る。以下で説明する様々の技術は、異なる文脈のためにより関連するカスタム音楽を提供し、特定の音声に従って音楽を生成することを容易にし、どのように音楽が生成されるかについてユーザーがより多く制御できるようにし、1つ以上の特定のゴールを実現する音楽を生成し、他のコンテンツに伴ってリアルタイムで音楽を生成し得る。
【0012】
一部の実施形態では、特定のアーティスト又は音楽の種類のために「文法」(例えば、ルールセット)を生成するためにコンピューター学習が用いられる。例えば、アーティストのスタイルを用いるターゲット音楽属性を実現するためのルールセットを決定するのに以前の作曲が用いられる。そして、このルールセットは、そのアーティストのスタイルでカスタム音楽を自動的に生成するのに用いられ得る。ルールセットは、「特定のアーティストのサウンドを実現するためにこれらの種類のループを共に組み合わせる」といったユーザーに理解可能な明示的なルールを含むか又は他の方法で、例えば、ユーザーがルールにアクセスできない、作曲ルール(composition rules)を内部的に実施する機械学習エンジンのためのパラメータとして符号化され得る。一部の実施形態では、以下でさらに詳細に説明するようにルールは確率的である。
【0013】
一部の実施形態では、音楽生成器は、異なる種類のループのために複数の異なるルールセットを用いて実施され得る。例えば、ループセットは特定の楽器(例えば、ドラムループ、ベースループ、メロディループ、リズムギターループ等)に対応して記憶され得る。そして、各ルールセットは、その対応するセットのどのループを選択するか、そして曲全体において何時他のルールセットに参加するかを評価し得る。さらに、個々のルールセットの出力をまとめるためにマスタールールセットが使用され得る。
【0014】
一部の実施形態では、映像及び/又は音声データに基づいて音楽を生成するためにルールエンジンが用いられる。例えば、音楽発生器は、映画のためのサウンドトラックを映画が再生されている間であっても自動的に生成し得る。さらに、例えば、文化、言語、人口統計学等に基づいて異なる楽曲が異なるリスナーに提供され得る。一部の実施形態では、音楽発生器は、例えば、リスナーの所望の感情を得るためにルールセットをリアルタイムで調整するために環境フィードバックを用い得る。このように、特定の環境ゴールを実現するためにルールセットが調整され得る。
【0015】
本開示は、最初に
図1及び
図2を参照して例示の音楽発生器モジュール及び複数のアプリケーションを備えた全体的なシステム構成を説明する。特定のアーティスト又は音楽スタイルのためのルールセットを生成するための技術は
図3及び
図4を参照して説明する。異なるループセット(例えば、楽器)のための異なるルールセットを用いるための技術は
図5及び
図6A、
図6Bを参照して説明する。映像データに基づいて音楽を生成する技術は
図7及び
図8を参照して説明する。
図9A、
図9Bは例示のアプリケーションインターフェイスを示す。
【0016】
一般に、開示する音楽生成器は、ループデータ、メタデータ(例えば、ループを記述する情報)及びメタデータに基づいてループを組み合わせるための文法を含む。生成器は音楽体験をメタデータ及び該音楽体験のターゲット特性に基づいてループを特定するためにルールを用いて生成し得る。音楽生成器は作成可能な経験のセットをルール、ループ及び/又はメタデータを追加又は変更することにより拡張するように構成され得る。調整は手動で行われるか(例えば、アーティストが新しいメタデータを追加する)又は音楽発生器は、所定の環境内での音楽体験及び所望のゴール/特徴を監視してルール/ループ/メタデータを強化することができる。例えば、音楽生成器が観衆を観察して、人々が笑っているのを見た場合、特定のループの組み合わせが人々を笑顔にすることに留意してルール及び/又はメタデータを強化できる。同様に、キャッシュレジスタの売上が増えた場合、ルール生成器はそのフィードバックを用いて、売上の増加と相関する関連ループのルール/メタデータを強化することができる。
【0017】
本明細書で用いる「ループ」という用語は、特定の時間間隔にわたる単一の楽器に関する音声情報を意味する。ループは繰り返して再生され得る(例えば、2分間の音楽コンテンツを生成するために30秒ループが4回連続して再生され得る)が、ループは、例えば、繰り返されることなく1回だけ再生され得る。ループを参照して説明する様々な技術は、複数の楽器を含む音声ファイルを用いて行われてもよい。
【0018】
例示の音楽生成器の概要
図1は、一部の実施形態に係る例示の音楽生成器を示す図である。図示の実施形態では、音楽発生器モジュール160は、複数の異なるソースから様々な情報を受信し、出力音楽コンテンツ140を生成する。
【0019】
図示の実施形態では、モジュール160は記憶されたループ及び記憶されたループのための対応する属性110にアクセスし、ループを組み合わせて出力音楽コンテンツ140を生成する。とりわけ、音楽発生器モジュール160はループを、それらの属性に基づいて選択し、ターゲット音楽属性130及び/又は環境情報150に基づいてループを組み合わせる。一部の実施形態では、ターゲット音楽属性130を決定するために環境情報が間接的に用いられる。一部の実施形態では、ターゲット音楽属性130は、例えば、所望のエネルギーレベル、ムード、複数のパラメータ等を指定することによりユーザーに明示的に指定される。ターゲット音楽属性130の例としては、例えばエネルギー、複雑性及びバラエティーが挙げられるが、より具体的な属性(例えば、記憶されたトラックの属性に対応する)も指定され得る。一般に、より高レベルのターゲット音楽属性が指定されている場合、出力音楽コンテンツを生成する前により低レベルの特定の音楽属性がシステムによって決定され得る。
【0020】
複雑性は、作曲に含まれるループ及び/又は楽器の数を意味し得る。エネルギーは、他の属性に関連し得るか又は他の属性と直交し得る。例えば、キー又はテンポを変更するとはエネルギーに影響を与え得る。しかしながら、所与のテンポ及びキーに対して、エネルギーは、楽器の種類(例えば、ハイハット又はホワイトノイズを加えることにより)、複雑性、音量等を調整することにより変更され得る。バラエティーとは、生成された音楽における経時的な変化の量を意味し得る。バラエティーは、他の静的な音楽属性のセットのために生成され得るか(例えば、所与のテンポ及びキーのために異なるトラックを選択することにより)生成され得るか又は音楽属性を経時的に変化させることにより(例えば、大きなバラエティーが望ましい場合には、テンポ及びキーをより頻繁に変化させることにより)生成され得る。一部の実施形態では、ターゲット音楽属性は、多次元空間に存在するものと考えられ、音楽生成器モジュール160は、環境変化及び/又はユーザー入力に基づいて、例えば、必要に応じて軌道修正しながらその空間をゆっくり移動し得る。
【0021】
一部の実施形態では、ループと共に記憶された属性は、テンポ、音量、エネルギー、バラエティー、スペクトル、エンベロープ、変調、周期性、立ち上がり時間、減衰時間、ノイズ、アーティスト、楽器、テーマ等を含む1つ以上のループに関する情報を含む。なお、一部の実施形態では、1つ以上のループのセットが特定のループの種類(例えば、1つの楽器又は1つの器具の種類)に特有であるようにループが分割される。
【0022】
図示の実施形態では、モジュール160は記憶されたルールセット120にアクセスする。一部の実施形態では、記憶されたルールセット120は、ターゲット音楽属性を実現するために、ループが同時に再生されるようにいくつのループを重ねるか(出力音楽の複雑性に対応し得る)、ループ又は音楽フレーズ間を移行する際にどの主キー/副キーの進行を用いるか、どの楽器を共に用いるか(例えば、互いに親和性がある楽器)についてのルールを規定する。別の言い方をすると、音楽生成器モジュール160は、ターゲット音楽属性(及び/又はターゲット環境情報)によって定義される1つ以上の宣言的ゴールを実現するために記憶されたルールセット120を用いる。一部の実施形態では、音楽発生器モジュール160は、繰り返しの出力音楽を回避するために、擬似的なランダム性を導入するように構成された1つ以上の擬似乱数発生器を含む。
【0023】
一部の実施形態では、環境情報150は、照明情報、周囲の騒音、ユーザー情報(顔の表情、体位、活動レベル、動作、皮膚の温度、特定の活動のパフォーマス、衣類の種類等)、温度情報、ある地域における購入活動、時刻、曜日、時節、存在する人の数、天候等のうちの1つ以上を含む。一部の実施形態では、音楽発生器モジュール160は環境情報を受信/処理しない。一部の実施形態では、環境情報130は、環境情報に基づいてターゲット音楽属性130を決定する別のモジュールにより受信される。ターゲット音楽属性130は、他の種類のコンテンツ、例えば、ビデオデータに基づいて導出されてもよい。一部の実施形態では、環境情報は、例えば、1つ以上の環境ゴールを実現するために、1つ以上の記憶されたルールセット120を調整するために用いられる。同様に、音楽生成器は環境情報を用いて、1つ以上のループのための記憶された属性を調整して、例えば、それらのループがよりわけ関連するターゲット音楽属性又はターゲット視聴者特性を示し得る。
【0024】
本明細書で用いる「モジュール」という用語は、特定の動作を行うように構成された回路又は他の回路(例えば、プロセッサ)に対して特定の動作を行うように指示する情報(例えば、プログラム命令)を記憶する物理的で非一時的なコンピューター読取可能媒体を意味する。モジュールは、配線回路として又は動作を行うために1つ以上のプロセッサにより実行可能なプログラム命令が記憶されたメモリとして等複数の方法で実施され得る。ハードウェア回路は、例えば、カスタムな超大規模集積(VLSI)回路又はゲートアレイ、論理チップ、トランジスタ又は他の個別部品等の市販の半導体を含み得る。モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス等のプログラマブルハードウェアデバイスにおいて実施されてもよい。モジュールは、特定の動作を行うために実行可能なプログラム命令を記憶する非一時的なコンピューター読取可能媒体の任意の好適な形態であってもよい。
【0025】
本明細書で用いる「音楽コンテンツ」という表現は、音楽自体(音楽の課長表現)及び音楽を再生するために使用可能な情報の両方を意味する。そのため、(例えば、限定されないがコンパクトディスク、フラッシュドライブ等の)記憶媒体にファイルとして記録された楽曲は音楽コンテンツの一例であり、この記録されたファイル又は他の電子的表現を(例えば、スピーカを介して)出力することによって生成される音声も音楽コンテンツの一例である。
【0026】
「音楽」という用語は、楽器によって発生される音及び発生音を含むその良く理解された意味を含む。そのため、音楽は、例えば楽器演奏又は録音、キャペラ演奏又は録音及び楽器並びに声の両方を含む演奏又は録音を含む。当業者であれば、「音楽」は全ての発声録音の全てを包含するものではないことが分かる。例えば、スピーチ、ニュースキャスト、オーディオブックといったリズム等の音楽の属性を含まない作品は音楽ではない。
【0027】
ある音楽「コンテンツ」は別の音楽コンテンツから任意の好適な方法で区別することができる。例えば、第1の曲に対応するデジタルファイルは第1の音楽コンテンツを表し、第2の曲に対応するデジタルファイルは第2の音楽コンテンツを表し得る。「音楽コンテンツ」という表現は、所定の音楽作品内の特定の間隔を区別するためにも用いることができる。そのため、同じ曲の異なる部分は異なる音楽コンテンツとみなすことができる。同様に、所定の音楽作品内の異なるトラック(例えば、ピアノトラック、ギタートラック)も異なる音楽コンテンツに対応し得る。生成された音楽の潜在的に無限のストリームの文脈において、「音楽コンテンツ」という表現は、ストリームの一分(例えば、数小節又は数分間)を表すために用いることができる。
【0028】
本開示の実施形態により生成された音楽コンテンツは、これまで生成されたことのない音楽要素の組み合わせである「新たな音楽コンテンツ」であり得る。関連する(がより拡張的な)概念である「オリジナル音楽コンテンツ」については以下に詳述する。この用語の説明を容易にするために、音楽コンテンツ生成のインスタンスに関連する「支配エンティティ(controlling entity)」の概念を説明する。「オリジナル音楽コンテンツ」という表現とは異なり、「新たな音楽コンテンツ」という表現は支配エンティティの概念を意味しない。したがって、新たな音楽コンテンツとは、いかなるエンティティ又はコンピューターシステムによっても生成されたことのない音楽コンテンツを意味する。
【0029】
概念的に、本開示は、コンピューター生成音楽コンテンツの特定のインスタンスを支配することとして一部の「エンティティ」に言及する。そのようなエンティティは、コンピューター生成コンテンツに対応し得る法的権利(例えば、著作権)を(そのような権利が実際に存在する場合に限り)所有する。一実施形態では、コンピューターで実現される音楽生成器を作成(例えば、種々のソフトウェアルーチンをコード化)するか又はコンピューターで実現される音楽生成の特定のインスタンスを操作(例えば、入力を供給)する個人が制御エンティティである。他の実施形態では、コンピューターで実現される音楽生成器は、ソフトウェア製品、コンピューターシステム又はコンピューター装置等の形態で法人(例えば、企業又は他の事業組織)によって作成され得る。一部の場合では、そのようなコンピューターで実現される音楽生成器は多くのクライアントに展開され得る。この音楽生成器の配信に関連するライセンスの条件に応じて、支配エンティティは、様々な場合においてクリエータ、配信者又はクライアントであり得る。そのような明示的な法的合意がない場合、コンピューターで実現される音楽生成器の支配エンティティは、音楽コンテンツのコンピューター生成の特定のインスタンスを促進する(例えば、入力を供給し、それによって操作する)主体である。
【0030】
本開示の意味において、支配エンティティによる「オリジナルの音楽コンテンツ」のコンピューター生成とは、1)支配エンティティ又は他の者のいずれによってもこれまでに生成されたことのない音楽要素の組み合わせ及び2)以前に生成されたが、支配エンティティによって最初に生成された音楽要素の組み合わせを意味する。ここでは、コンテンツタイプ1)とは、「新規の音楽コンテンツ」を意味し、「新規の音楽コンテンツ」の定義は「支配エンティティ」の概念を意味するのに対して、「新たな音楽コンテンツ」の定義はそうでないことを除いて「新たな音楽コンテンツ」の定義と同様である。他方、コンテンツタイプ2)はここでは「所有音楽コンテンツ(proprietary music content)」を意味する。なお、この文脈における「所有」という用語は、コンテンツにおけるいかなる暗黙の法的権利(そのような権利が存在し得るが)を意味するものではなく、支配エンティティによって音楽コンテンツが最初に生成されたことを示すために用いているにすぎない。したがって、支配エンティティが、支配エンティティによって以前及び元々に生成された音楽コンテンツを「再度生成」することは、本開示においては「オリジナル音楽コンテンツの生成」を構成する。特定の支配エンティティに関する「非オリジナルな音楽コンテンツ」は、その支配エンティティにとっての「オリジナル音楽コンテンツ」ではない音楽コンテンツである。
【0031】
音楽コンテンツの一部は、1つ以上の他の音楽コンテンツからの音楽コンポーネントを含み得る。このようにして音楽コンテンツを作成することは、音楽コンテンツの「サンプリング」と呼ばれ、特定の音楽作品、とりわけ特定のジャンルで一般的である。ここでは、そのような音楽コンテンツを「サンプリングされたコンポーネントを有する音楽コンテンツ」、「派生音楽コンテンツ」というか又は他の同様の用語を用いる。これに対して、サンプリングされたコンポーネントを含まない音楽コンテンツを、ここでは「サンプリングされたコンポーネントを含まない音楽コンテンツ」、「非派生音楽コンテンツ」というか又はその他の同様の用語を用いる。
【0032】
これらの用語を適用するに当たって、特定の音楽コンテンツが十分なレベルの粒度にまで下げられた場合、この音楽コンテンツは派生的である(実質的に全ての音楽コンテンツが派生的である)と主張され得る。本開示では「派生的」及び「非派生的」という用語をこの意味では用いていない。音楽コンテンツのコンピューター生成に関して、コンピューター生成が、支配エンティティ以外のエンティティの既存の音楽コンテンツからのコンポーネントの一部を選択する場合(例えば、コンピュータプログラムが、気アーティストの作品のオーディオファイルの特定の部分を生成される音楽コンテンツに含めるために選択する場合)、そのようなコンピューター生成は派生的(派生的音楽コンテンツが結果として得られる)であると言われる。他方、コンピューターによる音楽コンテンツの生成がそのような既存のコンテンツのコンポーネントを利用しない場合には、コンピューター生成は非派生的(非派生的音楽コンテンツが結果として得られる)と言われる。なお、「オリジナルの音楽コンテンツ」の一部は派生的な音楽コンテンツであり、一部は非派生的音楽コンテンツであり得る。
【0033】
なお、本開示において「派生的」という用語は、米国著作権法で用いられている「派生著作物」という用語よりも、より広い意味を持つことが意図されている。例えば、派生的な音楽コンテンツは、米国著作権法の下での派生著作物であるかもしれないし、ないかもしれない。本開示における「派生」という用語は否定的な意味を伝えることを意図するものではなく、特定の音楽コンテンツが、他の作品からのコンテンツの一部を「借用」するか否かを含意するために用いられているにすぎない。
【0034】
さらに、「新たな音楽コンテンツ」、「新規の音楽コンテンツ」及び「オリジナル音楽コンテンツ」という表現は、音楽要素の既存の組み合わせとはわずかに異なる(trivially different)音楽コンテンツのみを包含することを意図したものではない。例えば、既存の音楽作品のいくつかの音符を単に変更するだけでは、本開示で用いる新たな、新規の、又はオリジナルという用語の音楽コンテンツにはならない。同様に、単に既存の音楽作品のキー又はテンポを変更したり、(例えばイコライザーインターフェイスを用いて)相対強度の周波数を調整したりするだけでは、新たな、新規の又はオリジナルの音楽コンテンツは生み出されない。さらに、新たな、新規のオリジナル音楽コンテンツという用語は、オリジナルと非オリジナルなコンテンツとの間の境界線にあるような音楽コンテンツをカバーすることを意図していない。むしろ、係る用語は、支配エンティティにとって著作権の保護対象となり得る音楽コンテンツ(以下、「保護可能な」音楽コンテンツという)を含む、疑いの余地なく、明白にオリジナルな音楽コンテンツをカバーすることを意図している。さらに、本明細書で使用される「利用可能な」音楽コンテンツとは、被支配者以外のいかなる被支配者の著作権も侵害しない音楽コンテンツを意味する。新着および/またはオリジナルの音楽コンテンツは、多くの場合、保護され、利用可能である。これは、音楽コンテンツの複製を防止すること、および/または音楽コンテンツにロイヤルティを支払うことにおいて利点がある。
【0035】
本明細書で説明する様々な実施形態はルールベースエンジンを用いるが、本明細書で説明するコンピューター学習及び/又は音楽生成技術のいずれかのために、コンピューターにより実現される様々な他の種類のアルゴリズムが用いられ得る。しかしながら、ルールベースのアプローチは、音楽の文脈においてとりわけ効果的であり得る。
【0036】
例示の音楽システムで使用され得るアプリケーション、記憶要素及びデータの概要
音楽発生器モジュールは、音楽コンテンツを生成するために複数の異なるアプリケーション、モジュール、記憶素子等とやり取りし得る。例えば、エンドユーザーは、異なる種類のコンピューター装置(例えば、モバイルデバイス、デスクトップコンピュータ、DJ機器等)のための複数の種類のアプリケーションのうちの1つをインストールし得る。同様に、企業ユーザーのために別の種類のアプリケーションが提供され得る。音楽コンテンツを生成する間にアプリケーションとやり取りすることにより、音楽生成器は、音楽生成器がターゲット音楽属性を特定するのに用い得る外部情報を受信する及び/又は音楽コンテンツを生成するために用いられる1つ以上のルールセットを更新することができる。1つ以上のアプリケーションとのやり取りに加えて、音楽生成器モジュールは、ルールセットの受信、ルールセットの更新等のために他のモジュールとやり取りし得る。最後に、音楽生成器モジュールは、1つ以上の記憶素子に記憶された1つ以上のルールセット、ループ及び/又は生成された音楽コンテンツにアクセスし得る。加えて、音楽生成器モジュールは、列挙した上記のアイテムのいずれかをローカルなものであるか又はネットワークを介してアクセスされ得る(例えば、クラウドベースの)1つ以上の記憶素子に記憶し得る。
【0037】
図2は、複数の異なるソースからの入力に基づいて出力音楽コンテンツを生成するためのシステムの例示の概要を示すブロック図である。図示の実施形態では、システム200は、ルールモジュール210、ユーザーアプリケーション220、ウェブアプリケーション230、エンタープライズアプリケーション240、アーティストアプリケーション250、アーティストルール生成器モジュール260、生成された音楽の記憶装置270及び外部入力280を含む。
【0038】
図示の実施形態において、ユーザーアプリケーション220、ウェブアプリケーション230及びエンタープライズアプリケーション240は外部入力280を受信する。一部の実施形態では、外部入力280は、環境入力、ターゲット音楽属性、ユーザー入力、センサ入力等を含む。一部の実施形態では、ユーザーアプリケーション220はユーザーのモバイルデバイス上にインストールされ、ユーザーがルールモジュール210とやり取り/通信することを可能にするグラフィカルユーザーインターフェイスを含む。一部の実施形態では、ウェブアプリケーション230はユーザー装置にインストールされていないが、ユーザー装置のブラウザ内で動作するように構成され、ウェブサイトを介してアクセスされ得る。一部の実施形態では、エンタープライズアプリケーション240は、音楽発生器とやり取りするために大規模なエンティティによって用いられるアプリケーションである。一部の実施形態では、アプリケーション240は、ユーザーアプリケーション220及び/又はウェブアプリケーション230と組み合わせて用いられる。一部の実施形態では、アプリケーション240は、1つ以上の外部ハードウェアデバイス及び/又はセンサと通信して、周囲環境に関する情報を収集する。
【0039】
図示の実施形態では、ルールモジュール210は、ユーザーアプリケーション220、ウェブアプリケーション230及びエンタープライズアプリケーション240と通信して出力音楽コンテンツを生成する。一部の実施形態では、音楽生成器160はルールモジュール210に含まれる。なお、ルールモジュール210はアプリケーション220、230及び240のうちの1つに含まれてもよく又はサーバーにインストールされてネットワークを介してアクセスされてもよい。一部の実施形態では、アプリケーション220、230及び240は、ルールモジュール210から生成された出力音楽コンテンツを受信し、該コンテンツを再生させる。一部の実施形態では、ルールモジュール210は、例えばターゲット音楽属性及び環境情報に関してアプリケーション220、230及び240からの入力を要求し、このデータを用いて音楽コンテンツを生成し得る。
【0040】
図示の実施形態では、記憶されたルールセット120はルールモジュール210によってアクセスされる。一部の実施形態では、ルールモジュール210は、アプリケーション220、230及び240との通信に基づいて記憶されたルールセット120を変更及び/又は更新する。一部の実施形態では、ルールモジュール210は出力音楽コンテンツを生成するために記憶されたルールセット120にアクセスする。図示の実施形態では、記憶されたルールセット120は、以下でさらに詳細に説明するアーティストルール生成器モジュール260からのルールを含み得る。
【0041】
図示の実施形態では、アーティストアプリケーション250は、(例えば、同じアプリケーションの一部であるか又はクラウドベースであり得る)アーティストルール生成器モジュール260と通信する。一部の実施形態では、アーティストアプリケーション250は、例えば以前の作曲に基づいて、アーティストが特定のサウンドのためのルールセットを作成できるようにする可能。この機能については
図3~
図4を参照して以下さらに説明する。一部の実施形態では、アーティストルール生成器モジュール260は、アーティストルールセットをルールモジュール210が用いることができるように記憶するように構成されている。ユーザーは特定のアプリケーションを介して出力音楽を生成するためにルールセットを用いる前に特定のアーティストからそれを購入し得る。特定のアーティストのためのルールセットはシグニチャーパックと呼ばれ得る。
【0042】
図示の実施形態では、記憶されたループ及び対応する属性110は、出力音楽コンテンツを生成するためにトラックを選択し組み合わせるためにルールを適用する際にモジュール210によりアクセスされる。図示の実施形態では、ルールモジュール210は、生成された出力音楽コンテンツを記憶素子270に記憶する。
【0043】
一部の実施形態では、
図2の1つ以上の要素はサーバー上で実現されてネットワークを介してアクセスされ、クラウドベースの実施と呼ぶことがある。例えば、記憶されたルールセット120、ループ/属性110及び生成された音楽270は全てクラウド上に記憶され、モジュール210によりアクセスされ得る。別の例では、モジュール210及び/又はモジュール260もクラウドで実施され得る。一部の実施形態では、生成された音楽270はクラウドに記憶され、デジタルの透かしが付される。これにより、例えば、生成された音楽のコピーの検出に加えて、カスタム音楽コンテンツを大量に生成することができる。
【0044】
一部の実施形態では、開示したモジュールのうちの1つ以上は、音楽コンテンツに加えて他の種類のコンテンツも生成するように構成されている。例えば、システムは、ターゲット音楽属性、決定された環境条件、現在使用されているルールセット等に基づいて出力ビジュアルコンテンツを生成するように構成され得る。例えば、システムは、生成されている音楽の現在の属性に基づいてデータベース又はインターネットを検索し、音楽が変化するにつれて動的に変化するとともに音楽の属性に一致する画像のコラージュを表示し得る。
【0045】
以前に作曲された音楽に基づく例示のルールセット生成器
一部の実施形態では、音楽発生器は、既知のアーティスト又は既知のスタイルに類似のスタイルの音楽コンテンツを出力するように構成されている。一部の実施形態では、ルールセット生成器は、そのようなカスタム音楽を促進するためにルールセットを生成するように構成されている。例えば、ルールセット生成器モジュールは、アーティストの特定のスタイルを該アーティストから以前に作曲された音楽コンテンツを用いることにより捕らえてルールセットを決定する。該アーティストのためのルールセットが決定されると、音楽生成器モジュールはそのアーティストのスタイルに固有の新たな音楽コンテンツを生成し得る。
【0046】
図3は、一部の実施形態に係る、以前に作成された音楽に基づいてルールを生成する例示のルールセット生成器を示すブロック図である。図示の実施形態では、モジュール300は、以前のアーティスト作曲作品310の記憶装置、アーティストループ320の記憶装置及びアーティストインターフェイス330を含む。
【0047】
図示の実施形態では、アーティストルール生成器モジュール260は特定のアーティスト(又は、他の実施形態では特定のテーマ又は音楽スタイル)のためのルールセットを生成し、該ルールセットを記憶されたルールセット120に追加するように構成されている。一部の実施形態では、アーティストは以前の作曲作品310及び/又はアーティストループ320(例えば、以前の作曲で用いたループ)をアップロードする。他の実施形態では、アーティストは、以前の作曲作品のみを対応するループをアップロードすることなくアップロードし得る。しかしながら、ループのアップロードは、アーティストのためのルールセットをより正確に生成するために、以前に作曲された音楽を分解するのを容易にし得る。そのため、図示の実施形態では、ルール生成器モジュール260は以前のアーティスト作曲作品310及びアーティストループ320にアクセスし得る。
【0048】
アーティスト作曲作品310は、1人以上のアーティストによって生成された音楽コンテンツの全てを含み得る。同様に、ループ320は、作曲作品310を生成するために用いられたループの全て又は一部を含み得る。
【0049】
一部の実施形態では、アーティストルール生成器モジュール260は、アーティスト作曲作品310から1つ以上の個別のループを分離する。一部の実施形態では、ループ320の知識は、この分解の精度を改善するとともに処理要件を低減し得る。この分解に基づいて、ルール生成器モジュールは、アーティストがどのように通常作曲するかについてのルールセットを決定する。一部の実施形態では、決定されたルールセットはアーティストシグネチャパックと呼ばれる。例えば、該ルールは、アーティストが通常どの楽器を組み合わせるか、アーティストが通常どのようにキーを変更するか、アーティストの複雑性及びバラエティー等を特定し得る。ルールはバイナリ(例えば、真偽)であり得るか又は統計的に決定されてもよい(例えば、アーティストAは25%の割合でキーAのキーEに移り、アーティストAは60%の割合でキーAからキーDに移る)。統計的な規則に基づいて、音楽生成器は指定されたパーセンテージを経時的に合致させることを試み得る。
【0050】
一部の実施形態では、アーティストは、以前に作曲された音楽について、どの音楽が特定のターゲット音楽属性に合致するかを示し得る。例えば、一部の作曲作品は高又は低エネルギー、高又は低複雑性、嬉しい、悲しい等であり得る。このカテゴリー化及びカテゴリー化された作曲作品の処理に基づいて、ルール生成器モジュール260は、アーティストが特定のターゲット属性について通常どのように作曲するかのためのルールを決定し得る(例えば、アーティストAは、より大きなエネルギーを実現するためにテンポを高めるのに対して、アーティストBは複雑性を加える傾向にあり得る)。
【0051】
図示の実施形態では、アーティストインターフェイス330はアーティストルール生成器モジュール260と通信する。一部の実施形態では、モジュール260は、インターフェイス330を介してアーティストからの入力を要求する。一部の実施形態では、アーティストは、インターフェイス330を介してアーティストルール生成器モジュール260にフィードバックを提供する。例えば、モジュール260は、生成されたアーティストルールセット内の1つ以上のルールについてアーティストからのフィードバックを要求し得る。これにより、アーティストは追加のルールを追加したり、生成されたルールを変更したり等でき得る。例えば、インターフェイスは、「25%の割合でアーティストAはキーAからキーEに移る」というルールを表示し、アーティストはルールを削除するか又は変更できるようにし得る(例えば、アーティストはこの移行が40%の割合で起こるべきことを指定でき得る)。別の例として、モジュール260は、モジュール260がアーティスト作曲作品310からの1つ以上のループを適切に分解したか否かを確認するために、アーティストからのフィードバックを要求し得る。
【0052】
一部の実施形態では、
図3の様々な要素は、同じデバイスにインストールされた同じアプリケーションの一部として実施され得る。別の実施形態では、
図3の1つ以上の要素はアーティストインターフェイス330とは別に、例えばサーバー上に記憶され得る。さらに、記憶されたルールセット120は、例えば、ユーザーが特定の所望のアーティストに対応するルールセットをダウンロードできるように、クラウドを介して提供され得る。上述のように、必ずしもアーティスト特有ではないテーマ又はコンテキストのためのルールセットを生成するために同様のインターフェイスが用いられ得る。
【0053】
図4は、一部の実施形態に係る、アーティストルールセットを生成するための例示のアーティストインターフェイスを示すブロック図である。図示の実施形態では、グラフィカルユーザーインターフェイス(GUI)400は、記憶されたループ410と、選択要素420、430、440及び450と、ディスプレイ460とを含む。なお、図示の実施形態は、
図3に示すアーティストインターフェイス330の例示の実施形態である。
【0054】
図示の実施形態では、記憶されたループ410の少なくとも一部はループA-N412として表示される。一部の実施形態では、ループは、例えば、アーティストの音楽の分解を促進してルールセットを決定するためにアーティストによってアップロードされる。一部の実施形態では、インターフェイスは、記憶されたループ410から1つ以上のループ412をアーティストが選択して修正又は削除できるようにする。図示の実施形態では、選択要素420は、記憶されたループ410のリストにアーティストが1つ以上のループを追加できるようにする。
【0055】
図示の実施形態では、選択要素430は、以前に作曲された音楽コンテンツをアーティストが追加できるようにする。この要素を選択すると、そのようなコンテンツをアップロードするか管理するために別のインターフェイスが表示され得る。一部の実施形態では、インターフェイスは、複数の異なる組の音楽をアップロードできるようにし得る。これにより、アーティストは、例えば、同じアーティストの異なるスタイルのための異なるルールセットを作成でき得る。さらに、これは、アーティストが特定のターゲット音楽属性に適当であると考える以前に生成された音楽をアップロードできるようにし、そのアーティストのためのルールセットの自動決定を容易にし得る。別の例として、インターフェイスは、以前の音楽コンテンツをアーティストが聴くことができるようにし、以前の音楽コンテンツをターゲット音楽属性にタグ付けできるようにし得る。例えば、アーティストは、特定の部分を高エネルギー、低バラエティー、特定のムード等としてタグ付けし、ルール生成器モジュール260はアーティストのためのルールセットを生成するための入力としてこれらのタグを入力として用いり得る。一般に、ルール生成器モジュール260は、1つ以上のルールセットを決定するために種々の適切なコンピューター学習技術のうちのいずれかを実施し得る。
【0056】
図示の実施形態では、選択要素440は、アーティストが、以前に作曲された音楽(例えば要素430の使用に加えて)に基づいてルールセットの決定を開始できるようにする。一部の実施形態では、アーティストが440を選択したことに対応して、アーティストルール生成器モジュールは、以前に作曲された音楽を分析し、ループを分離する。一部の実施形態では、アーティストルール生成器モジュールは分離されたループに基づいてアーティストのためのルールセットを生成する。図示の実施形態では、選択要素450は、生成されたアーティストルールセットをアーティストが変更できるようにする(例えば、決定されたルールを表示し、変更を可能にする別のGUIを開き得る)。
【0057】
図示の実施形態では、ディスプレイ460は、アーティストのルールセット(例えば、オリジナルセット及び/又はアーティストにより変更されたもの)をアーティストに示す。他の実施形態では、ディスプレイ460は、本明細書に開示する様々な他の情報も表示し得る。
【0058】
一部の実施形態では、ルールセット生成器は、特定のユーザーのためのルールセットを生成し得る。例えば、ユーザーが好む音楽は、その特定のユーザーのための1つ以上のルールセットを決定するために分解され得る。ユーザーの好みは、明示的なユーザーの入力、聴取履歴、好みのアーティストの表示等に基づき得る。
【0059】
異なる種類のループのための異なるルールセットを有する例示の音楽生成器モジュール
図5は、複数のループセットに複数の対応するルールセットを用いてアクセスするように構成された音楽生成器モジュールを示す図である。一部の実施形態では、(例えば、異なる楽器のための)複数の異なるルールセットを使用することにより、より大きな変動、ターゲット属性に対する音楽のより正確なマッチング、現実のミュージシャンにより似せること等を提供し得る。
【0060】
図示の実施形態では、情報510は複数のループ種類のためのループセットを含む。ループは、同じ楽器、同じ種類の楽器、同じ種類の音、同じムード、同じ属性等のセットにグループ化され得る。上述したように、各ループの属性も維持され得る。
【0061】
図示の実施形態では、ループセット520はループセットのそれぞれに対応し、ターゲット音楽属性130及び/又は環境情報150に基づいてそれらのループを選択及び/又は組み合わせるためのルールを特定する。これらのルールセットは、どのループを選択し、いつ参加するかを決定することにより即興のセッションでアーティストと同様に調整し得る。一部の実施形態では、他のルールセットからの出力を選択及び/又は組み合わせるために1つ以上のマスタールールセットが動作し得る。
【0062】
図6Aは、一部の実施形態に係る、異なるループタイプA-N612のための複数のルールセットを示すブロック図である。
図6Bは、複数のループセットのためのルールセット612及びマスタールールセット614を示すブロック図である。
【0063】
例えば、特定の種類のドラム(例えば、ループタイプA)のループセットを考えてみる。対応するルールセット512は、例えばテンポ、ピッチ、複雑性等のターゲット音楽属性に基づいてループを選択する場合に優先すべき種々のループパラメータを示し得る。対応するルールセット612は、(例えば、所望のエネルギーレベルに基づいて)ドラムループを全て提供するかどうかも示し得る。さらに、マスタールールセット614は、実際に出力ストリームに組み込むために、ドラムルールセットからの選択されたループのサブセットを決定し得る。例えば、マスタールールセット614は、(対応するルールセットによって示唆されたいくつかの選択ループが実際には出力音楽コンテンツ140に組み合わされないように)異なる種類のドラムのための複数のループセットの中から選択され得る。同様に、マスタールールセット614は、例えば、特定のエネルギーレベルより下のドラムループを決して含まないよう示し得るか又は別の特定のエネルギーレベルより上の1つ以上のドラムループを常に含むことを示し得る。
【0064】
さらに、マスタールールセット614は、ターゲット音楽属性に基づいて組み合わせるためにルールセット612によって選択されたループ出力の数を示し得る。例えば、ターゲット音楽属性に基づいて、(例えば、3個のルールセットは現時点でループを提供しないことを決定するため、合計10個のルールセットのうちの)7個のルールセットがそれらの対応するループセットからのループを提供することを決定する場合、マスタールールセット614は、(例えば、他の2つのルールセットからのループを無視するか又は破棄することによって)提供されたループのうち5個のみを選択して組み合わせ得る。さらに、マスタールールセット614は提供されたループを変更し得る及び/又は他のルールセットにより提供されない追加ループを追加し得る。
【0065】
一部の実施形態では、ルールセットの全ては、所与の時点で同じターゲット音楽属性を有する。他の実施形態では、ターゲット音楽属性は別々に決定され得るか又は異なるルールセットのために特定され得る。これらの実施形態において、マスタールールセットは、他のルールセット間の競合を避けるのに有用であり得る。
【0066】
ビデオコンテンツのための例示の音楽生成器
ビデオのための音楽コンテンツを生成することは長く面倒な作業であり得る。1つ以上のルールセットを用いたルールベースの機械学習を適用することは、このプロセスを回避し得る及び/又はビデオのためのより関連性のある音楽コンテンツを提供し得る。一部の実施形態では、音楽生成器は、ループを選択及び組み合わせる場合に、1つ以上のルールセットへの入力としてビデオコンテンツを用いる。例えば、音楽生成器は、ビデオデータに基づいてターゲット音楽属性を生成し得る及び/又はビデオデータの属性を直接ルールセットへの入力として用い得る。さらに、ビデオのためのサウンドトラックを生成する場合、異なるオーディエンスのために異なるルールセットを用いて各オーディエンスのための固有の体験を生成し得る。音楽生成器がビデオのために用いる1つ以上のルールセット及び1つ以上のループを選択すると、音楽生成器はビデオが視聴されている間に音楽コンテンツを生成して音楽コンテンツを出力する。さらに、例えば、ビデオの視聴者に関連する環境情報に基づいて、ルールセットがリアルタイムで調整され得る。
【0067】
図7は、一部の実施形態に係る、ビデオデータに基づいて音楽コンテンツを出力するように構成された例示の音楽生成器モジュールを示すブロック図である。図示された実施形態では、システム700は、分析モジュール710及び音楽発生器モジュール160を含む。
【0068】
図示の実施形態では、分析モジュール710はビデオデータ712と、該ビデオデータに対応するオーディオデータ714とを受信する。一部の実施形態では、分析モジュール710は、ビデオデータ712に対応するオーディオデータ714を受信しないが、ビデオデータのみに基づいて音楽を生成するように構成されている。一部の実施形態では、分析モジュール710はデータ712及びデータ714を分析し、データの特定の属性を識別する。図示の実施形態では、ビデオ及びオーディオコンテンツ716の属性は音楽生成器モジュール160に送られる。
【0069】
図示の実施形態では、音楽生成器モジュール160は、記憶されたループ、対応する属性110及び記憶されたルールセット120にアクセスする。ビデオのための音楽コンテンツを生成するために、モジュール160は属性716を評価し、出力音楽コンテンツ140を生成するために1つ以上のループセットを用いてループを選択及び組み合わせる。図示の実施形態では、音楽生成器モジュール160は音楽コンテンツ140を出力する。一部の実施形態では、音楽コンテンツ140は、ビデオデータ712及びオーディオデータ714の双方に基づいて音楽生成器モジュールによって生成される。一部の実施形態では、音楽コンテンツ140はビデオデータ712にのみ基づいて生成される。
【0070】
一部の実施形態では、音楽コンテンツはビデオのサウンドトラックとして生成される。例えば、1つ以上のビデオ及び/又はオーディオ属性に基づいてビデオのためのサウンドトラックが生成され得る。この例では、ビデオのためのルールセットを更新するために声のトーン(例えば、ビデオ内のキャラクターが怒っているかどうか)、文化(例えば、シーン内でどのようなアクセント、衣服等が用いられているか)、シーン内のオブジェクト/小道具、シーンの色/暗さ、シーン間の切り替わりの頻度、オーディオデータにより示される音響効果(例えば、爆発、会話、動作音)等のビデオからのビデオ属性のうちの1つ以上が用いられ得る。なお、開示の技術は、任意の種類のビデオ(例えば、30秒クリップ、ショートフィルム、コマーシャル、静止写真、静止写真のスライドショー等)のための音楽コンテンツを生成するのに用いられ得る。
【0071】
別の例では、1人以上の視聴者のために複数の異なるサウンドトラックが生成され得る。例えば、視聴者の年齢に基づいて、2人の異なる視聴者のために音楽コンテンツを生成され得る。例えば、30歳以上の成人の視聴者を対象とする第1のルールセットが適用され、16歳以下の子供の視聴者を対象とする第2のルールセットが適用され得る。この例では、第1の視聴者のために生成された音楽コンテンツは、第2の視聴者のために生成された音楽コンテンツよりも大人向けである。異なる時刻、ビデオを表示するのに用いられるディスプレイ装置、利用可能なオーディオ装置、表示する国、言語等の様々な異なるコンテキストのために異なる音楽コンテンツを生成するために同様の技術が用いられ得る。
【0072】
ルールセットへのリアルタイム更新を伴うビデオコンテンツのための例示の音楽生成器
一部の実施形態では、ルールに基づく機械学習を用いてビデオのために音楽コンテンツを生成することは、環境情報に基づいて、(例えばその音楽コンテンツが基づく)ルールセットをリアルタイムで調整することを可能にする。この音楽コンテンツを生成する方法は、同じビデオコンテンツの異なる視聴者のために異なる音楽を生成し得る。
【0073】
図8は、一部の実施形態に係る、ルールセットをリアルタイムに調整することを伴うビデオのための音楽コンテンツを出力するように構成された例示の音楽生成器モジュール160を示すブロック図である。
【0074】
図示の実施形態では、ビデオの表示中に環境情報150が音楽生成器モジュール160に入力される。図示の実施形態では、音楽生成器モジュールは、環境情報810に基づいてルールセットのリアルタイム調整を行う。一部の実施形態では、環境情報150はビデオを視聴する視聴者から得られる。一部の実施形態では、情報150は、顔の表情(例えば、顔をしかめる、笑う、注意深さ等)、身体の動き(例えば、叩く、おしゃべりをする、注意深さ等)、言葉の表情(例えば、笑う、ため息をする、泣く等)、人口統計学的、年齢、照明、周囲の騒音、視聴者の数等のうちの1つ以上を含む。
【0075】
様々な実施形態では、出力音楽コンテンツ140は、視聴者がビデオを視聴するのと同時に調整されたルールセットに基づいて再生される。これらの技術は、複数の異なる視聴者に表示されるビデオのための固有の音楽コンテンツを同時に生成し得る。例えば、同じ劇場で同じ映像を異なる画面で観ている2人の観客は全く異なる音楽コンテンツを聞き得る。この例の同様の用途は、飛行機、地下鉄、スポーツバー等にいる異なる観客を含む。さらに、ユーザーがパーソナルオーディオ装置(例えばヘッドフォン)を有する場合、各ユーザーのためにカスタムサウンドトラックが作成され得る。
【0076】
開示の技術は、観客の特定の所望の感情を強調するのに用いられ得る。例えば、ホラー映画の目的は観客を怖がらせることにある。強度、恐怖等を増加させるために、観客の反応に基づいてルールセットが動的に調整され得る。同様に、悲しい/嬉しいシーンのために、ターゲットの観客が実際に悲しいか又は嬉しいかに基づいて(例えば、所望の感情を高めることを目的として)ルールセットが調整され得る。一部の実施形態では、ビデオ制作者は、所望の種類の音楽をより正確に作るために、音楽生成器モジュールに入力され得る特定のターゲット属性にビデオの特定の部分をタグ付けし得る。一般に、一部の実施形態では、音楽生成器は、観客により表示される属性がビデオ及び/又はオーディオコンテンツの以前決定された属性に対応するかどうかに基づいてルールセットを更新する。一部の実施形態では、これらの技術はルールセット又はターゲットパラメータを更新するために観客フィードバックが用いられる適合観客フィードバック制御ループを提供する。
【0077】
一部の実施形態では、ルールセットをリアルタイムで調整するために、複数の観客のためにビデオが再生され得る。環境データが記録され、最終的なルールセットを選択するために用いられ得る(例えば、所望のターゲット観客属性に最もぴったり適合したオ観客のためのルールセットに基づく)。このルールセットは、最終的なルールセットへのリアルタイムの更新なしに、ビデオのための音楽を静的又は動的に生成するために用いられ得る。
【0078】
例示のユーザー及びエンタープライズGUI
図9A~
図9Bは、一部の実施形態に係るグラフィカルユーザーインターフェイスを示すブロック図である。図示の実施形態では、
図9Aはユーザーアプリケーション910により表示されるGUIを含み、
図9Bは、エンタープライズアプリケーション930により表示されるGUIを含む。一部の実施形態では、
図9A及び
図9Bに表示されるGUIはアプリケーションではなく、むしろウェブサイトにより生成される。様々な実施形態では、(例えば、音量、エネルギー等を制御するため)ダイヤル、ボタン、ノブ、(例えば、ユーザーに更新された情報を提供するため)表示ボックス等の要素の1つ以上を含む様々な適切な要素のいずれかが表示され得る。
【0079】
図9Aにおいて、ユーザーアプリケーション910は、1つ以上のアーティストパックを選択するための区画912を含むGUIを表示する。それに加えて又は代替的に、一部の実施形態では、パック914は特定の出来事(例えば、結婚式、誕生パーティー、卒業式等)のためのテーマパック又はパック含み得る。一部の実施形態では、区画912に示すパックの数は、区画912に一度に表示できる数よりも大きい。したがって、一部の実施形態では、ユーザーは、1つ以上のパック914を見るため区画912内を上下にスクロールする。一部の実施形態では、ユーザーは、ユーザーが聴きたいと思う出力音楽コンテンツのベースとなるアーティストパック914を選択できる。一部の実施形態では、アーティストパックは、例えば、購入及び/又はダウンロードされ得る。
【0080】
図示の実施形態では、選択要素916はユーザーが1つ以上の音楽属性(例えば、エネルギレベル)を調整できるようにする。一部の実施形態では、選択要素916は、ユーザーが1つ以上のターゲット音楽属性を追加/削除/変更できるようにする。
【0081】
図示の実施形態では、選択要素920は、ターゲット音楽属性を決定するためにユーザーが装置(例えば、モバイルデバイス)に環境の音を聞かすことができるようにする。一部の実施形態では、装置は、ユーザーが選択要素920を選択した後で1つ以上のセンサ(例えば、カメラ、マイクロホン、温度計等)を用いて環境に関する情報を収集する。一部の実施形態では、アプリケーション910は、ユーザーが要素920を選択した場合にアプリケーションによって収集された環境情報に基づいて1つ以上のアーティストパックを選択するか又は提案する。
【0082】
図示の実施形態では、選択要素922は、新しいルールセットを生成するためにユーザーが複数のアーティストパックを組み合わせることを可能にする。一部の実施形態では、新しいルールセットは、ユーザーが同じアーティストのために1つ以上のパックを選択することに基づく。他の実施形態では、新しいルールセットは、ユーザーが異なるアーティストのために1つ以上のパックを選択することに基づく。ユーザーは、例えば、重み付けが大きいルールセットは重み付けが小さいルールセットよりも生成される音楽により効果があるように異なるルールセットのために重みを示し得る。音楽生成器は、例えば、異なるルールセットからのルール間の切り替えること、複数の異なるルールセットからのルールのための値を平均化すること等により、複数の異なる方法でルールセットを組み合わせ得る。
【0083】
図示の実施形態では、選択要素924は、ユーザーが1つ以上のルールセット内のルールを手動で調整できるようにする。例えば、一部の実施形態では、ユーザーは、よりきめ細かいレベルで生成された音楽コンテンツを音楽コンテンツを生成するために用いられるルールセット内の1つ以上のルールを調整することにより調整したいと考えている。一部の実施形態では、これは、アプリケーション910のユーザーが
図9AのGUIに表示されるコントロールを用いて音楽生成器が出力音楽コンテンツを生成すのに用いるルールセットを調整することにより、自分自身がディスクジョッキー(DJ)になることを可能にする。これらの実施形態は、ターゲット音楽属性のよりきめの細かい制御も可能にし得る。
【0084】
図9Bにおいて、エンタープライズアプリケーション930は、アーティストパック914を有するアーティストパック選択区画912も含むGUIを表示する。図示の実施形態では、アプリケーション930により表示されるエンタープライズGUIも、1つ以上の音楽属性を調整/追加/削除するための要素916を含む。一部の実施形態では、
図9Bに表示されるGUIは、音楽コンテンツを生成することにより(例えば、販売を最適化するため)特定の環境を生成するために仕事で又は店頭で用いられる。一部の実施形態では、従業員がアプリケーション930を用いて、以前売上を増加させることを示した1つ以上のアーティストパックを選択する(例えば、所与のルールセットのためのメタデータは、実世界の文脈におけるルールセットを用いた実際の実験結果を示し得る)。
【0085】
図示の実施形態では、入力ハードウェア940は、エンタープライズアプリケーション930を表示しているアプリケーション又はウェブサイトに情報を送る。一部の実施形態では、入力ハードウェア940は、キャッシュレジスタ、熱センサ、光センサ、クロック、ノイズセンサ等のうちの1つである。一部の実施形態では、上記のハードウェア装置のうちの1つ以上から送られた情報を用いて、特定の環境のための出力音楽コンテンツを生成するためにターゲット音楽属性及び/又はルールセットが調整される。図示の実施形態では、選択要素938は、環境入力を受信する1つ以上のハードウェア装置をアプリケーション930のユーザーが選択できるようにする。
【0086】
図示の実施形態では、ディスプレイ934は、入力ハードウェア940からの情報に基づいてアプリケーション930のユーザーに環境データを表示する。図示の実施形態では、ディスプレイ932は、環境データに基づくルールセットへの変更を示す。一部の実施形態では、ディスプレイ932は、環境データに基づいて行われた変更をアプリケーション930のユーザーが見えるようにする。
【0087】
一部の実施形態では、
図9A及び
図9Bに示す要素はテーマパック及び/又は出来事パックのためのものである。すなわち、一部の実施形態では、アプリケーション910及び930によって表示されるGUIを持ちるユーザー又はビジネスは、1つ以上の出来事及び/又はテーマのための音楽コンテンツを生成するためにルールセットを選択/調整/修正できる。
【0088】
音楽生成システムの詳細例
図10~
図12は、音楽生成器モジュール160の特定の実施形態に関する詳細を示す。なお、これらの特定の例は説明の目的で開示しているが、それらは本開示の範囲を制限することを意図したものではない。これらの実施形態では、ループからの音楽の構築は、パーソナルコンピュータ、モバイルデバイス、メディアデバイス等のクライアントシステムにより行われる。ループは、アーティストパックと呼ばれ得る専門的に監修されたループパックに分割されてもよい。音楽プロパティのためにループが分析し、そのプロパティがループメタデータとして記憶され得る。構築されたトラック内のオーディオが(例えば、リアルタイムで)分析され、出力ストリームをミックス及びマスターするためにフィルタリングされ得る。スライダ又はボタンを用いたユーザーとのやりとりからの明示的なフィードバック及び例えば、音量変化に基づいて、リスニングの長さ、環境情報等に基づいてセンサにより生成される暗黙的なフィードバックを含む様々なフィードバックがサーバーに送信され得る。一部の実施形態では、制御入力は(例えば、直接的又は間接的にターゲット音楽属性を特定するため)既知の効果を有し、作曲モジュール(composition module)により用いられる。
【0089】
以下の説明は、
図10~
図12に関連して用いられる様々な用語を紹介する。一部の実施形態では、ループライブラリは、サーバーによって記憶され得るループのマスタライブラリである。各ループは、オーディオデータと、オーディオデータを記述するメタデータとを含み得る。一部の実施形態では、ループパッケージはループライブラリのサブセットである。ループパッケージは、特定のアーティスト、特定のムード、特定の種類のイベント等のためのパックであり得る。クライアント装置は、オフラインリスニングのためにループパックをダウンロードし得るか又は例えばオンラインリスニングのためにループパックの一部をオンデマンドでダウンロードし得る。
【0090】
一部の実施形態では、生成されたストリームは、ユーザーが音楽生成器システムを用いる場合にユーザーが聞く音楽コンテンツを特定するデータである。なお、実際の出力オーディオ信号は、所与の生成ストリーム毎に、例えばオーディオ出力機器の能力に基づいてわずかに変化し得る。
【0091】
一部の実施形態では、作曲モジュールは、ループパッケージ内で利用可能なループから作曲作品を構築する。作曲モジュールは、パラメータとしてループ、ループメタデータ及びユーザー入力を受信し、クライアント装置により実行され得る。一部の実施形態では、作曲モジュールは、パフォーマンスモジュール及び1つ以上の機械学習エンジンに送られるパフォーマンススクリプトを出力する。一部の実施形態では、パフォーマンススクリプトは、生成されたストリームの各トラックでどのループが再生されるか及びストリームにどのようなエフェクトが適用されるかを要約する。パフォーマンススクリプトは、イベントが何時発生するかを表すために、ビート相対タイミング(beat-relative timing)を利用し得る。また、パフォーマンススクリプトは(例えば、リバーブ、遅延、圧縮、イコライゼーション等のエフェクトのための)エフェクトパラメータをエンコードし得る。
【0092】
一部の実施形態では、パフォーマンスモジュールはパフォーマンススクリプトを入力として受信し、それを生成されたストリームにレンダリングする。パフォーマンスモジュールは、パフォーマンススクリプトにより特定される多数のトラックを生成し、トラックをミックスしてストリーム(例えば、ステレオストリームであるが、ストリームは様々な実施形態において、サラウンドエンコーディング、オブジェクトベースオーディオエンコーディング、マルチチャネルステレオ等を含む様々なエンコーディングを有し得る)にし得る。一部の実施形態では、パフォーマンスモジュールは特定のパフォーマンススクリプトが提供された場合に常に同じ出力を生成する。
【0093】
一部の実施形態では、分析モジュールはフィードバック情報を受信し、(例えば、リアルタイムで、定期的に、管理者コマンド等に基づいて)作曲モジュールを構成するサーバーにより実行されるモジュールである。一部の実施形態では、分析モジュールは、ユーザフィードバックを性能スクリプト及びループライブラリメタデータに関連付けために機械学習技術の組み合わせを用いる。
【0094】
図10は、一部の実施形態に係る、分析モジュール及び作曲モジュールを含む例示の音楽生成器システムを示すブロック図である。一部の実施形態では、
図10のシステムは、ユーザーが音楽のムード及びスタイルを直接制御することにより、潜在的に無限の音楽ストリームを生成するように構成されている。図示の実施形態では、システムは分析モジュール1010、作曲モジュール1020、パフォーマンスモジュール1030及びオーディオ出力装置1040を含む。一部の実施形態では、分析モジュール1010はサーバーにより実現され、作曲モジュール1020及びパフォーマンスモジュール1030は1つ以上のクライアント装置により実現される。他の実施形態では、モジュール1010、1020及び1030は全てクライアント装置上に実現されるか又は全てサーバー側で実現され得る。
【0095】
図示の実施形態では、分析モジュール1010は1つ以上のアーティストパック1012を記憶し、特徴抽出モジュール1014、クライアントシミュレータモジュール1016及びディープニューラルネットワーク1018を実現する。
【0096】
一部の実施形態では、特徴抽出モジュール1014は、ループオーディオを分析した後にループライブラリにループを追加する(なお、一部のループは既に生成されたメタデータと共に受信され、分析を必要としない場合があり得る)。例えば、wav、aiff又はFLAC等のフォーマットの生のオーディオは、楽器の分類、ピッチ転写、ビートタイミング、テンポ、ファイル長及び複数の周波数ビンにおけるオーディオ振幅等の定量可能な音楽特性について分析され得る。分析モジュール1010は、例えばアーティスト又は機械リスニングによる手動のタグ付けに基づいてループのためのより抽象的な音楽特性又はムード記述を格納することができる。例えば、気分は、所与のループについての各カテゴリーに対する値の範囲を有する複数の離散カテゴリーを用いて定量化され得る。
【0097】
例えば、音符G2、Bb2及びD2が用いられ、最初のビートがファイルに6ミリ秒で始まり、テンポが122bpmであり、ファイルの長さが6483ミリ秒であり、ループが5つの周波数ビンにわたって0.3、0.5、0.7、0.3及び0.2の正規化振幅値を有することを特定するために分析されるループAを考えてみる。アーティストはループを下記のようなムード値を有する「ファンクジャンル」に分類し得る。
【0098】
【表1】
分析モジュール110はこの情報をデータベースに記憶し、クライアントは、例えばループパッケージとして情報のサブセクションをダウンロードしてもよい。アーティストパック1012を説明の目的のために示しているが、分析モジュール1010は様々の種類のループパッケージを作曲モジュール1020に提供してもよい。
【0099】
図示の実施形態では、クライアントシミュレータモジュール1016は様々な種類のフィードバックを分析し、ディープニューラルネットワーク1018によって支持される形式でフィードバック情報を提供する。図示の実施形態では、ディープニューラルネットワーク1018は、作曲モジュールにより生成されるパフォーマンススクリプトを入力として受信する。一部の実施形態では、ディープニューラルネットワークはこれらの入力に基づいて、例えば生成された音楽出力の種類と所望のフィードバックとの相関関係を改善するために作曲モジュールを構成する。例えば、ディープニューラルネットワークは、作曲モジュール1020を実現するクライアント装置に対して定期的に更新をプッシュし得る。なお、ディープニューラルネットワーク1018は説明の目的で示しており、開示の実施形態では強力な機械学習性能を提供し得るが、本開示の範囲を制限することを意図していない。様々な実施形態では、同様の機能を行うために様々な種類の機械学習技術が単独で又は様々な組み合わせで実施され得る。なお、機械学習モジュールは、一部の実施形態ではルールセット(例えば、配置ルール又は技術)を直接実施するために用いられ得るか又は例えば、図示の実施形態のディープニューラルネットワーク1018を用いて他の種類のルールセットを実施するモジュールを制御するために用いられ得る。
【0100】
一部の実施形態では、分析モジュール1010は、所望のフィードバックと特定のパラメータの使用との相関関係を改善するために、作曲モジュール1020のための作曲パラメータを生成する。例えば、実際のユーザフィードバックは、例えば、ネガティブフィードバックを減らすことを試みるために作曲パラメータを調整するのに用いられ得る。
【0101】
一例として、モジュール1010が、ネガティブフィードバック(例えば、明示的な低ランキング、低ボリュームリスニング、短いリスニング時間等)と、多数の層を用いた作曲との相関関係を発見する状況を考えてみる。一部の実施形態では、モジュール1010は誤差逆伝搬等の技術を用いて、より多くのトラックを追加するために用いられる確率パラメータを調整することでこの問題の頻度が減少することを特定する。例えば、モジュール1010は、確率パラメータを50%低減することによりネガティブフィードバックが8%減ることを予測し、そして低減を行い且つ更新されたパラメータを作曲モジュールにプッシュすることを決定し得る(なお、確率パラメータを以下で詳細に説明するが、統計モデルのための様々なパラメータのいずれかを同様に調整してもよい)。
【0102】
別の例として、モジュール1010が、ユーザーがムードコントロールを高テンションに設定することにネガティブフィードバックが相関していることを発見する状況を考えてみる。また、低テンションタグを有するループと、高テンションを要求するユーザーとの間の相関も見出され得る。この場合、モジュール1010は、ユーザーが高テンションの音楽を要求する場合に高テンションのタグを有するループを選択する確率が高くなるようにパラメータを高め得る。そのため、機械学習は、作曲出力、フィードバック情報、ユーザー制御入力等を含む様々な情報に基づき得る。
【0103】
図示の実施形態では、作曲モジュール1020は、セクションシーケンサー1022、セクションアレンジャー1024、技術実施モジュール(technique implementation module)1026及びループ選択モジュール1028を含む。一部の実施形態では、作曲モジュール1020は、ループメタデータ及びユーザー制御入力(例えば、ムードコントロール)に基づいて作曲のセクションの編成及び構成を行う。
【0104】
一部の実施形態では、セクションシーケンサー1022は異なる種類のセクションを配列する。一部の実施形態では、セクションシーケンサー1022は動作の間に次の種類のセクションを連続的に出力する有限状態機械を実施する。例えば、作曲モジュール1020は、
図12を参照して以下でさらに詳細に説明するように、イントロ、ビルドアップ、ドロップ、ブレークダウン及びブリッジ等の異なる種類のセクションを用いるように構成され得る。さらに、各セクションは、例えば、トランジションイン(transition-in)サブセクション、メインコンテンツサブセクション及びトランジションアウト(transition-out)サブセクションを含む、セクション全体にわたって音楽がどのように変化するかを定義する複数のサブセクションを含み得る。
【0105】
一部の実施形態では、セクションアレンジャー1024は編曲ルールに従ってサブセクションを構成する。例えば、1つのルールはトラックを徐々に追加することによりトランジションインするよう指定し得る。別のルールは、トラックのセットにゲインを徐々に増やすことによりトランジションインするよう指定し得る。別のルールは、メロディを作成するためにボーカルループをチョップするように指定し得る。一部の実施形態では、トラックに付加されるループライブラリ内のループの確率はセクション又はサブセクションにおける現在位置、経時的に別のトラックに重ねられるループ及び(生成された音楽コンテンツのためのターゲット属性を決定するのに用いられ得る)ムード変数等のユーザー入力パラメータの関数である。関数は、例えば機械学習に基づいて係数を調整することにより調整され得る。
【0106】
一部の実施形態では、技術実施モジュール1020は、例えば、アーティストによって指定されたルール又は特定のアーティストの作曲作品を分析することにより決定されたルールを追加することによりセクション編曲を促進するように構成されている。「技術」とは、特定のアーティストが技術レベルでどのように作曲ルールを実施するかを記述し得る。例えば、徐々にトラックを追加することによりトランジションインするよう指定する編曲ルールの場合、1つ技術はドラム、ベース、パッド、次にボーカルの順にトラックを追加することを示す一方で、別の技術はベース、パッド、ボーカル、次にドラムの順にトラックを追加することを示し得る。同様に、メロディを作成するためにボーカルループをチョップするよう指定する編曲ルールの場合、技術は、毎秒ビートのボーカルをチョップし、次のチョップされたセクションに移動する前にチョップされたループのセクションを2回繰り返すことを示し得る。
【0107】
図示の実施形態では、ループ選択モジュール1028は、セクションアレンジャー1024によるセクションに含めるために、編曲ルール及び技術に従ってループを選択する。セクションが完成すると、対応するパフォーマンススクリプトが生成されてパフォーマンスモジュール1030に送信され得る。パフォーマンスモジュール1030は、様々な粒度でパフォーマンススクリプトの部分を受信し得る。これは、例えば、特定の長さのパフォーマンスのためのパフォーマンススクリプト全体、各セクションのためのパフォーマンススクリプト、各サブセクションのためのパフォーマンススクリプト等を含み得る。一部の実施形態では、編曲ルール、技術又はループ選択が統計的に、例えば、異なる時間のパーセントを用いる異なるアプローチで実施される。
【0108】
図示の実施形態では、パフォーマンスモジュール1030は、フィルタモジュール1031、エフェクトモジュール1032、ミックスモジュール1033、マスターモジュール1034及び実行モジュール1035を含む。一部の実施形態では、これらのモジュールはパフォーマンススクリプトを処理し、オーディオ出力装置1010によりサポートされる形式で音楽データを生成する。パフォーマンススクリプトは、再生すべきループ、いつそれらが再生されるべきか、どのエフェクトがモジュール1032により適用されるべきか(例えば、トラック毎又はサブセクション毎)、どのフィルターがモジュール1031によって適用されるべきかを指定し得る。
【0109】
例えば、パフォーマンススクリプトは、特定のトラックに1000~20000Hzの範囲のローパスフィルターを0~5000ミリ秒適用するよう指定し得る。別の例として、パフォーマンススクリプトは、特定のトラックに5000~15000ミリ秒で設定された0.2ウェットのリバーブを適用するように指定し得る。
【0110】
一部の実施形態では、ミックスモジュール1033は、組み合わされるトラックのための自動レベル制御を行うように構成されている。一部の実施形態では、ミックスモジュール1033は、組み合わされたトラックの周波数領域分析を用いて、エネルギーが過大又は過少の周波数を測定し、異なる周波数帯域のトラックにゲインを与えてミックスを均等にする。一部の実施形態では、マスターモジュール1034はマルチバンド圧縮、等化(EQ)又は手順の制限を行って、実行モジュール1035による最終的なフォーマッティングのためのデータを生成するように構成されている。
図10の実施形態は、ユーザーの入力又は他のフィードバック情報に従って様々な出力音楽コンテンツを自動的に生成し得るのと同時に、機械学習技術は、経時的なユーザー体験の改善を可能にする。
【0111】
図11は、一部の実施形態に係る、例示の音楽コンテンツのビルドアップセクションを示す図である。
図10のシステムは、そのようなセクションを編曲ルール及び技術を適用することにより作曲し得る。図示の例では、ビルドアップセクションは3つのサブセクションと、ボーカル、パッド、ドラム、ベース及びホワイトノイズのための別々のトラックとを含む。
【0112】
図示の例では、サブセクションにおける移行はドラムループAを含み、ドラムループAはメインコンテンツサブセクションのためにも繰り返される。サブセクションにおける移行はベースループAも含む。図示のように、セクションのためのゲインは低く始まり、セクション全体を通して直線的に増加する(ただし、非直線的な増減が考えられる)。図示の例では、メインコンテンツ及びトランジションアウトサブセクションは様々なボーカル、パッド、ドラム及びベースループを含む。上述したように、開示した自動的にセクションをシーケンシングする技術、セクションを編曲する技術及び技術を実施するための技術は、様々なユーザー調節可能パラメータに基づいて出力音楽コンテンツのほぼ無限のストリームを生成し得る。
【0113】
一部の実施形態では、コンピューターシステムは
図11と同様のインターフェイスを表示し、セクションを作曲するために用いる技術をアーティストが指定できるようにする。例えば、アーティストは、作曲モジュールのためのコードにパースされ得る
図11に示すような構造を作成し得る。
【0114】
図12は、一部の実施形態に係る音楽コンテンツのセクションを編曲するための例示の技術を示す図である。図示の実施形態では、生成されたストリーム1210は、それぞれが開始サブセクション1222、展開サブセクション1224及び移行サブセクション1226を含む複数のセクション1220を含む。図示の例では、複数の種類の各セクション/サブセクションが点線で結ばれた表に示されている。図示の実施形態では、円形要素は編曲ツールの例であり、以下で説明する特定の技術を用いてさらに実施され得る。図示のように、様々な作曲決定が統計的パーセンテージに従って疑似ランダムに行われ得る。例えば、サブセクションの種類、特定の種類若しくはサブセクションのための編曲ツール又は編曲ツールを実施するために用いられる技術が統計的に決定され得る。
【0115】
図示の例では、所与のセクション1220は、イントロ、ビルドアップ、ドロップ、ブレークダウン及びブリッジという5種類のうちの1つであり、それぞれはセクションにわたって強度を制御する異なる機能を有する。この例では、状態サブセクションは、低速ビルド、突然シフト又はミニマルという3種類タイプのうちの1つであり、それぞれ挙動が異なる。この例における展開サブセクションは、リデュース、トランスフォーム、アグメントという3種類のうちの1つである。この例では、移行サブセクションは、コラプス、ランプ、ヒントという3種類のうちの1つである。異なる種類のセクション及びサブセクションは、例えばルールに基づいて選択されてもよいし、疑似ランダムに選択されてもよい。
【0116】
図示の例では、異なる種類のサブセクションのための挙動は、1つ以上の編曲ツールを用いて実施される。スロービルドの場合、この例では、40%の割合でローパスフィルターが適用され、80%の割合でレイヤーが追加される。トランスフォーム展開サブセクションの場合、この例では、25%の割合でループがチョップされる。ワンショット、ドロップアウトビート、リバーブの適用、パッドの追加、テーマの追加、レイヤーの削除、ホワイトノイズを含む様々な追加の編曲ツールを示す。これらの例は説明を目的として含まれており、本開示の範囲を制限することを意図するものではない。さらに、説明を容易にするために、これらの例は完全ではない場合がある(例えば、実際の編曲は、通常はるかに多くの数の編曲ルールを伴い得る)。
【0117】
一部の実施形態では、1つ以上の編曲ツールは(アーティストのコンテンツの分析に基づいてアーティストが指定又は決定したものであり得る)特定の技術を用いて実施され得る。例えば、ワンショットは、サウンドエフェクト又はボーカルを用いて実施され、ループチョッピングはスタター又はチョッピングハーフ技術を用いて実施され、レイヤーの削除はシンセ又はボーカルを除去することにより実施され、ホワイトノイズはランプ又はパルス機能を用いて実施され得る。一部の実施形態では、所与の編曲ツールのために選択される特定の技術は、統計的機能に従って選択され得る(例えば、所与のアーティストの場合に30%の割合でレイヤーの削除によりシンセが除去され、70%の割合でボーカルが除去され得る)。上述したように、編曲ルール又は技術は、例えば機械学習を用いて既存の作曲作品を分析することにより自動的に決定され得る。
【0118】
方法例
図13は、一部の実施形態に係る出力音楽コンテンツを生成する方法を示すフロー図である。
図13に示す方法は、とりわけ本明細書で開示するコンピューター回路、システム、装置、素子又はコンポーネントのうちのいずれかと共に用いられ得る。様々な実施形態では、図示の方法要素のうちの一部は図示のものと異なる順番で同時に実施され得るか又は省略され得る。追加の方法要素が必要に応じて行われ得る。
【0119】
図示の実施形態では、コンピューターシステムが1310で音楽コンテンツセットにアクセスする。例えば、音楽コンテンツセットは特定のアーティストのアルバム、曲、完全な作品等であり得る。別の例として、音楽コンテンツセットは特定のジャンル、イベントの種類、ムード等に関連し得る。
【0120】
図示の実施形態では、システムは1320で音楽コンテンツセットにおける複数のループの組み合わせの分析に基づいて作曲ルールセットを生成する。作曲ルールは統計的に指定されてもよく、統計的指標を満たすためにランダム又は疑似ランダム手順を利用し得る。ループは音楽コンテンツセットのために明示的に提供されてもよいし、システムは音楽コンテンツセットを分解してループを決定してもよい。一部の実施形態では、技術実施モジュール1026へのアーティストの直接入力に加えて又は代えて、分析モジュール1010は音楽コンテンツセットを作曲するために用いる技術(ルールセット又は文法と呼ばれることがある)を生成し、作曲モジュール1020はその技術を用いて新たな音楽コンテンツを生成し得る。一部の実施形態では、作曲ルールは要素1320で決定され得る。
【0121】
図示の実施形態では、システムは1330でループセットからループを選択するとともに、ループのうちの複数が経時的に重なるように選択されたループを組み合わせることにより新たな出力音楽コンテンツを生成する。選択すること及び組み合わせることは、作曲ルールセット及びループセット内のループの属性に基づいて行われる。なお、一部の実施形態では、コンピューターシステムの異なる装置が出力音楽コンテンツを生成し、作曲ルールを生成し得る。一部の実施形態では、クライアント装置は、サーバーシステムにより提供される(例えば、ディープニューラルネットワーク1018により生成される)パラメータに基づいて出力音楽コンテンツを生成する。
【0122】
一部の実施形態では、新たな出力音楽コンテンツを生成することは、選択されたループのうちの1つ以上を変更することを含む。例えば、システムはループをカットしたり、フィルターをループに適用したりし得る。
【0123】
一部の実施形態では、ループを選択すること及び組み合わせることは、ターゲット音楽属性、例えば、作曲モジュール1020へのユーザー制御入力に基づいて行われる。一部の実施形態では、様々なシステムパラメータが環境情報に基づいて調整され得る。例えば、システムは、環境情報又は他のフィードバック情報に基づいて(例えば、ディープニューラルネットワーク1018等の機械学習エンジンを用いて)、ルール/技術/文法自体を調整し得る。別の例として、システムは環境情報に基づいてターゲット属性を調整又は重み付けし得る。
【0124】
特定の実施形態を上述したが、これらの実施形態は、たとえ単一の実施形態が特定の特徴に関して説明されている場合でも本開示の範囲を制限することを意図していない。本開示で提供される特徴の例は、特に記載のない限り限定的ではなく例示的であることを意図している。上記の説明は、本開示の利益を受ける当業者に明らかなようなに代替、変更及び等価物をカバーすることを意図している。
【0125】
本開示の範囲は、本明細書に記載の問題のいずれか又は全部を軽減するか否かにかかわらず、本明細書で開示の(明示的又は暗黙的な)任意の特徴又は特徴の組み合わせ又はその一般化したものを含む。したがって、本願(又は本願の優先権を主張する出願)の手続の間に、そのような特徴の組み合せに係る新たなクレームが作成され得る。とりわけ、添付の特許請求の範囲を参照して、従属請求項の特徴は独立請求項の特徴と組み合わされ、各独立請求項の特徴は添付の特許請求の範囲に列挙された特定の組み合わせのみでなく、任意の適切な方法で組み合わせられ得る。