IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディストリビューテッド クリエーション インコーポレイテッドの特許一覧

特表2023-535975音声コンテンツベースの取り込みのための音声信号の潜在空間表現
<>
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図1
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図2
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図3
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図4
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図5
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図6
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図7
  • 特表-音声コンテンツベースの取り込みのための音声信号の潜在空間表現 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-22
(54)【発明の名称】音声コンテンツベースの取り込みのための音声信号の潜在空間表現
(51)【国際特許分類】
   G10L 25/51 20130101AFI20230815BHJP
   G10L 25/30 20130101ALI20230815BHJP
   G10L 25/18 20130101ALI20230815BHJP
【FI】
G10L25/51 300
G10L25/30
G10L25/18
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023506208
(86)(22)【出願日】2021-07-28
(85)【翻訳文提出日】2023-03-20
(86)【国際出願番号】 US2021043427
(87)【国際公開番号】W WO2022026529
(87)【国際公開日】2022-02-03
(31)【優先権主張番号】16/942,410
(32)【優先日】2020-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523031161
【氏名又は名称】ディストリビューテッド クリエーション インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】コレツキー、アレハンドロ
(72)【発明者】
【氏名】ラジャシェカラッパ、ナヴィーン ササル
(57)【要約】
ピッチ、音色、減衰、残響、及び他の心理音響的属性の変動を示す特徴をデジタル音声信号から抽出し、抽出された特徴から、デジタル音声信号のコンテキスト潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムが提供される。生成された潜在空間表現が、デジタル音声信号間の心理音響的類似性を決定する目的のために比較可能である、デジタル音声信号の一貫した潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムも提供される。デジタル音声信号から特徴を抽出し、抽出された特徴から、信号間の心理音響的な違いを表す信号の顕著な属性を選択することを担当するデジタル音声信号の潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムも提供される。
【特許請求の範囲】
【請求項1】
方法であって、
特定のサウンドコンテンツカテゴリと関連付けられたデジタル音声信号ソースのセットのうちの特定のデジタル音声信号ソースを読み取ることと、
前記特定のデジタル音声信号に基づいて時間周波数表現を生成することと、
人工ニューラルネットワークを使用して、前記時間周波数表現の潜在空間表現を提供する数値コードのセットを学習することであって、前記数値コードのセットが、前記時間周波数表現の次元に満たない次元を有する、前記学習することと、
前記人工ニューラルネットワークを訓練するために、前記特定のサウンドコンテンツカテゴリの前記デジタル音声信号ソースのセットの複数の他のデジタル音声信号ソースのそれぞれに対して、前記読み取ること、前記生成すること、及び前記学習することを繰り返すことと、
前記訓練された人工ニューラルネットワークから、学習されたモデルパラメータのセットを取得することと、
コンピュータ記憶媒体に、前記特定のサウンドコンテンツカテゴリのための前記学習されたモデルパラメータのセットを格納することと
を含む、前記方法。
【請求項2】
前記特定のサウンドコンテンツカテゴリと関連付けられた第1のデジタル音声信号に基づいて第1の時間周波数表現を生成することと、
前記第1の時間周波数表現の潜在空間表現を提供する数値コードの第1のセットを計算するために、前記学習されたモデルパラメータのセットを使用することと、
前記特定のサウンドコンテンツカテゴリと関連付けられた第2のデジタル音声信号に基づいて第2の時間周波数表現を生成することと、
前記第2の時間周波数表現の潜在空間表現を提供する数値コードの第2のセットを計算するために、前記学習されたモデルパラメータのセットを使用することと、
前記数値コードの第1のセットと、前記数値コードの第2のセットとの間の距離を計算することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記距離に基づいて、前記第1のデジタル音声信号及び前記第2のデジタル音声信号が類似音を包含する旨の表示を、コンピュータグラフィカルユーザーインターフェースに提示させることをさらに含む、請求項2に記載の方法。
【請求項4】
コンピューティングデバイスからデータ通信ネットワークを介して前記第1のデジタル音声信号を受信することをさらに含み、
前記第1のデジタル音声信号が、人間が可聴のパフォーマンスを録音する前記コンピューティングデバイスの、または人間が可聴のパフォーマンスを記録する前記コンピューティングデバイスに動作可能なように結合されたマイクロホンを使用して、前記コンピューティングデバイスによって取り込まれる、
請求項2に記載の方法。
【請求項5】
前記距離を距離閾値と比較することと、
前記距離が前記距離閾値未満であることに基づいて、前記第1のデジタル音声信号及び前記第2のデジタル音声信号がほぼ重複する音を包含する旨の表示を、コンピュータグラフィカルユーザーインターフェースに提示させることと
をさらに含む、請求項2に記載の方法。
【請求項6】
前記特定のサウンドコンテンツカテゴリに基づいて前記距離閾値を選択することをさらに含む、請求項5に記載の方法。
【請求項7】
前記数値コードの第1のセットと前記数値コードの第2のコードとの間のコサイン類似性に基づいて、前記数値コードの第1のセットと前記数値コードの第2のコードとの間の前記距離を計算することをさらに含む、請求項5に記載の方法。
【請求項8】
前記特定のサウンドコンテンツカテゴリが、ループ及びワンショットから成る前記グループから選択される、請求項1に記載の方法。
【請求項9】
前記特定のサウンドコンテンツカテゴリが、ドラムループ、ドラムワンショット、楽器ループ、及び楽器ワンショットから成る前記グループから選択される、請求項1に記載の方法。
【請求項10】
前記人工ニューラルネットワークが、入力層と、1つまたは複数のエンコーダ中間層と、ボトルネック層と、1つまたは複数のデコーダ中間層と、出力層とを備え、前記方法が、前記時間周波数表現の前記潜在空間表現を提供する前記数値コードのセットを前記ボトルネック層から取得することをさらに含む、請求項1に記載の方法。
【請求項11】
前記1つまたは複数のエンコーダ中間層が、1つまたは複数の畳み込み層を備え、前記1つまたは複数のデコーダ中間層が、1つまたは複数の畳み込み層を備える、請求項10に記載の方法。
【請求項12】
前記特定のデジタル音声信号に基づいて前記時間周波数表現を生成することが、
前記特定のデジタル音声信号に基づいて前処理された信号を取得することと、
前記前処理された信号に基づいて持続時間正規化信号を生成することと、
前記持続時間正規化信号の時間シフトスライス信号を選択することであって、前記時間シフトスライス信号が特定の持続時間を有する、前記選択することと、
前記時間シフトスライス信号に基づいて前記時間周波数表現を生成することと
に基づく、請求項1に記載の方法。
【請求項13】
前記特定のサウンドコンテンツカテゴリに基づいて前記特定の持続時間を選択することをさらに含む、請求項12に記載の方法。
【請求項14】
前記特定のデジタル音声信号に基づいて前記時間周波数表現を生成することが、
前記特定のデジタル音声信号に基づいて持続時間正規化信号を生成することと、
前記持続時間正規化信号に基づいて前処理された信号を生成することと、
前記前処理された信号の時間シフトスライス信号を選択することであって、前記時間シフトスライス信号が特定の持続時間を有する、前記選択することと、
前記時間シフトスライス信号に基づいて前記時間周波数表現を生成することと
に基づく、請求項1に記載の方法。
【請求項15】
前記特定のデジタル音声信号に基づいて複数の潜在空間表現を生成することと、
前記人工ニューラルネットワークを使用して、前記複数の潜在空間表現のうちの潜在空間表現を提供する数値コードの複数のセットを学習することと
をさらに含む、請求項1に記載の方法。
【請求項16】
コンピューティングシステムであって、
つまたは複数のハードウェアプロセッサと、
記憶媒体と、
前記記憶媒体に格納される命令であって、前記コンピューティングシステムによって実行されると、前記コンピューティングシステムに、請求項1~15のいずれか1項に記載の方法を実行させる、前記命令と
を備える、前記コンピューティングシステム。
【請求項17】
命令の1つまたは複数のシーケンスを格納する1つまたは複数の非一時的な記憶媒体であって、前記命令が、1つまたは複数のコンピューティングデバイスによって実行されると、前記1つまたは複数のコンピューティングデバイスに、請求項1~15のいずれか1項に記載の方法を実行させる、前記1つまたは複数の非一時的な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル音声信号の潜在空間表現を学習及び使用するためのコンピュータ実装方法ならびにシステムに関し、より詳細には、音声コンテンツベースの取り込みとの関連でのそのようなコンピュータ実装方法及びシステムに関する。
【背景技術】
【0002】
心理音響学は、音の空間、及び人間による音の知覚のメカニズムの研究を包含している。視覚情報を用いるのとは異なり、人間が客観的な用語を使用して音の特定の属性を口頭で説明することは、通常、より困難である。例えば、音色の違いを説明するために広く受け入れられている客観的な用語はない。
【0003】
様々な人が、同じ音色を異なるように説明する場合がある。例えば、ある人は音を出す楽器によって音色を説明する場合があり、別の人は音の質及び音調(例えば、明るい、金属音、甲高い、強すぎて不快な、耳障りな、けたたましいなど)によって音色を説明する場合もあり、さらに別の人は、音の感情によって(例えば、興奮している、怒っている、幸せである、悲しいなど)音色を説明する場合がある。特に音楽での、容易に説明されない音の他の要素は、リズム、メロディー、ダイナミクス、及びテクスチャを含む。
【0004】
この難しさにも関わらず、多くの既存の音声コンテンツの取り出しコンピューティングシステムは、キーワードベースである。すなわち、音声コンテンツは、音声コンテンツを説明するキーワードでタグ付けされる(例えば、索引付けされる)。そのようなコンピューティングシステムのユーザーは、次いでキーワードを使用して、所望の音声コンテンツを検索またはブラウズする。
【0005】
キーワードのタグ付け/索引付けは、音声コンテンツが、例えばアーティスト名、曲名、音楽のジャンル、半音階のピッチ、1分あたりのビート数、またはその他の客観的な属性などの客観的な属性によってタグ付け/索引付けされているときにはうまく機能する。ただし、キーワードに基づいた音声コンテンツの検索またはブラウズは、ユーザーが探している音声コンテンツを言葉で表現するのが難しいとき、または心理音響的な意味でユーザーにとって所望の音声コンテンツを目立たせる所望の音声コンテンツの属性が主観的または多因子であるときにはうまく機能しない。例えば、ユーザーが、特定の歌手が特定の表現法で特定のメロディーを歌っているように聞こえるが、必ずしも正確にその箇所、そのメロディー、またはその表現法ではないボーカルサンプルを探している場合がある。同様に、ユーザーが、特定のリズムパターンに類似しているように聞こえるが、必ずしも同一ではないドラムループを探している場合がある。
【0006】
類似音を認識することは、長い間重要であった。類似音を検出するための強力なコンピュータ実装技術が存在している。コンピュータベースの音の類似性の認識に使用されるデジタル音声信号の特徴は、多くの場合、デジタル音声信号のスペクトル重心、スペクトル帯域幅、またはスペクトル平坦性など、手動で選択される特徴を含む。音の類似性検出のための特徴選択のためには手動の方法が存在しており、方法は、デジタル音声信号がどのように表現されるかについて完全な知識及び制御の利点を提供し、目前の特定の実装の要件に従って選択された特徴の構成の微調整を可能にする。残念ながら、これらの方法は、多くの場合、有用な識別特徴を省略するか、有用な識別特徴を認識していないか、または大部分が冗長な特徴を使用することによって無効になる。
【0007】
本発明は、これに対処し、他の必要性に対処する。
【0008】
本項に説明される手法は、追求されるであろう手法ではあるが、必ずしも以前に企図または追求された手法ではない。したがって、別段の指示がない限り、本項に記載されている手法のいずれも、単に本項に含まれているという理由だけで、先行技術としての資格があると見なされるべきではない。
【0009】
本発明のいくつかの実施形態は、限定としてではなく例として、同様の参照番号が同様の要素を指す添付の図面の図に示される。
【図面の簡単な説明】
【0010】
図1】本発明のいくつかの実施形態による、デジタル音声信号の潜在空間表現を学習するためのシステムの概略図である。
図2】本発明のいくつかの実施形態による、デジタル音声信号の潜在空間表現を学習するためのシステムにおける人工ニューラルネットワークの概略図である。
図3】本発明のいくつかの実施形態による、デジタル音声信号の潜在空間表現を学習するためのシステムにおける人工ニューラルネットワークのアーキテクチャの概略図である。
図4】本発明のいくつかの実施形態による、デジタル音声信号の潜在空間表現を学習するためのシステムによって実行されるプロセスのフローチャートである。
図5】本発明のいくつかの実施形態による、音声コンテンツベースの取り出しシステムにおける類似音アプリケーションのための例示的なグラフィカルユーザーインターフェースのモックアップである。
図6】本発明のいくつかの実施形態による、エンドユーザーの入力に応えて、図5の例示的なグラフィカルユーザーインターフェースにおける状態変化のモックアップである。
図7】本発明のいくつかの実施形態が実装され得る例示的なコンピューティングデバイスの概略図である。
図8図7の例示的なコンピューティングデバイスの動作を制御するための例示的なソフトウェアシステムの概略図である。
【発明を実施するための形態】
【0011】
図は、明確な例を示す目的で本発明のいくつかの実施形態を示しているが、本発明のいくつかの実施形態は、図に示されている要素のいずれかを省略、追加、並べ替え、または修正する場合がある。
【0012】
以下の説明では、説明の目的で、本発明のいくつかの実施形態の完全な理解を提供するために、多くの具体的な詳細が述べられている。しかしながら、本発明のいくつかの実施形態が、これらの具体的な詳細がなくても実施し得ることは明らかである。他の例では、本発明のいくつかの実施形態を不必要に分かりにくくするのを回避するために、周知の構造及びデバイスはブロック図の形式で示されている。
1.0 総括
2.0 例示的な潜在空間表現学習システムの実装
2.1 ループ及びワンショット
2.2 サウンドコンテンツのカテゴリ
2.3 読み取り/デコードロジック
2.4 変換ロジック
2.4.1 前処理
2.4.2 持続時間正規化
2.4.3 時間周波数表現
2.4.4 ループ信号拡張
2.5 学習ロジック
2.5.1 例示的な人工ニューラルネットワーク
2.5.2 例示的な人工ニューラルネットワークアーキテクチャ
3.0 例示的な潜在空間表現学習プロセス
4.0 音の埋め込みの例示的な適用
4.1 類似音検索
4.2 検索入力としての音
4.3 ほぼ重複する音の検出
5.0 実装メカニズム-ハードウェアの概要
6.0 実装メカニズム-ソフトウェアの概要
7.0 開示の他の態様
【0013】
1.0 総括
本発明のいくつかの実施形態によれば、ピッチ、音色、減衰、残響、及び他の心理音響的属性の変動を示す特徴をデジタル音声信号から抽出し、抽出された特徴から、デジタル音声信号のコンテキスト潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムが提供され、そのようなコンテキスト潜在空間表現を生成するためのそのようなモデルを学習することは、既存の学習システム及び方法を複雑にしている。
【0014】
本発明のいくつかの実施形態によれば、デジタル音声信号の一貫した潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムが提供され、生成された潜在空間表現は、デジタル音声信号間の心理音響的類似性を決定する目的のために比較可能であり、そのような一貫して比較可能な学習された潜在空間表現を生成するためのそのようなモデルを学習することは、既存の学習方法及びシステムを複雑化している。
【0015】
本発明のいくつかの実施形態によれば、デジタル音声信号から特徴を抽出し、抽出された特徴から、信号間の心理音響的な違いを表す信号の顕著な属性を選択することを担当するデジタル音声信号の潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するための方法及びシステムが提供され、そのような選択は既存の手法を複雑化している。
【0016】
本発明のいくつかの実施形態によれば、本明細書で「音の埋め込み」と呼ばれるベクトルまたは数値コードのセットの形でデジタル音声信号の潜在空間表現を学習するために、機械学習技術が使用される。音の埋め込みは、教師なしで学習され得、それによって目標変数(ラベル)を使用して、トレーニング例の手動で生成された、またはコンピュータで生成されたラベル付けの必要性を低減または排除する。さらに、音の埋め込みは、人間が実施した手動の手法が認識さえしない場合がある、または人間が完全に理解するのが困難である音声信号の属性をエンコードし得るので、学習された音の埋め込みは、より手動の手法と比較するとより高品質であり得る(すなわち、音の違いをより表現し得る)。より高品質の音の埋め込みは、音声信号のよりよい表現を意味し、これは信号間のより一貫性のある類似した測定値に変わり、最終的には高品質でよりロバストな音声類似性の検索及び推奨につながる。
【0017】
2.0 潜在空間表現学習システム
図1は、本発明のいくつかの実施形態による、デジタル音声信号の潜在空間表現を生成するための人工ニューラルネットワークモデルを学習するためのシステムの概略図である。システム100は、デジタル音声信号ソース(例えば、デジタル音声データを含むデータファイル)を読み取り、デジタル音声信号に基づいて人工ニューラルネットワークを訓練するようにプログラムまたは構成されて、デジタル音声信号の潜在空間表現を提供する数値コード(音の埋め込み)のセットを生成することができるモデルを学習する。
【0018】
デジタル音声信号の潜在空間表現を提供するデジタル音声信号の学習モデルによって生成される数値コードのセットは、以降、デジタル音声信号の「音の埋め込み」と呼ばれることがある。音の埋め込みは、数値コードを含むベクトルによってコンピュータ記憶媒体に表され得る。各数値コードは、通常、浮動小数点値でコンピュータ記憶媒体に表される実数である。
【0019】
潜在空間表現のため、距離基準(例えば、コサイン類似性、ユークリッド距離など)に従って互いにより近くにあるデジタル音声信号の音の埋め込みは、距離基準に従ってさらに遠く離れたデジタル音声信号の音の埋め込みよりも、再生時に人間の耳によって知覚される、より類似して聞こえるデジタル音声信号を反映する。他のアプリケーションの中でも、音の埋め込みは、類似して聞こえるデジタル音声信号を識別し、基準デジタル音声信号に類似して聞こえるデジタル音声信号のコーパス内のデジタル音声信号を推奨するために使用され得る。
【0020】
学習システム100は、本開示の方法を実装するために、本明細書に別段に開示されるように、新しい順序付けされた組み合わせで命令をロードされ得るため、学習システム100は、そのうちのどれも、汎用コンピュータとして意図されていない1つまたは複数の物理コンピューティングデバイスを使用して実装され得る。以下に説明される図7は、本開示の方法を実装するために学習コンピューティングシステムで使用され得るコンピューティングデバイスの一例の概略図である。
【0021】
システム100のコンポーネントは、本明細書に説明される方法を実行するために1つまたは複数のコンピュータメモリに格納された格納済みプログラム命令を実行する1つまたは複数のハードウェアマイクロプロセッサなど、1つまたは複数のコンピューティングデバイスで少なくとも部分的にコンピュータハードウェアによって実装され得る。あるいは、クラウドコンピューティングセンタなどの共有コンピューティング施設内の1つまたは複数の仮想マシンインスタンスが使用され得る。
【0022】
本明細書に説明される方法は、専用コンピュータまたは汎用コンピュータにおいてプログラミングを使用して実行される操作を示すことを意図している。システム100は、方法を実行するように構成されたコンポーネントの多くの可能な配置のうちの1つだけを示している。他の配置は、より少ないまたは異なるコンポーネントを含む場合があり、コンポーネント間の分業は配置に応じて変わる場合がある。
【0023】
システム100の1つまたは複数のコンポーネントは、同じコンピューティングデバイスに実装され得る。したがって、システム100のコンポーネントの分離は、1つの可能なコンピューティングアーキテクチャを単に例示するものである。システム100のコンポーネントは、分散コンピューティング構成において複数のコンピューティングデバイスにわたって分散され得る。例えば、分散コンピューティング構成は、目前の特定の実装の要件に従って、計算能力またはスケーラビリティの理由から使用され得る。
【0024】
2.1 ループ及びワンショット
システム100は、読み取り/デコードロジック104を含み得る。ロジック104は、デジタル音声信号データを含むファイルまたは他のデータコンテナ(例えば、コンピュータデータベースレコード)など、デジタル音声信号ソース102を読み取るようにプログラムまたは構成される。本発明のいくつかの実施形態では、ソース102が含むデジタル音声信号は、ループまたはワンショットの形の人間による音楽または他の聴覚パフォーマンスの記録である。ループまたはワンショットはまた、コンピュータまたはマシンで生成され得る。
【0025】
ループは、マイクロホン、ターンテーブル、デジタルサンプラ、ルーパーペダル、シンセサイザ、シーケンサ、ドラムマシン、テープマシン、ディレイユニット、コンピュータ音楽ソフトウェアなどを使用するプログラミングなどを含むが、これらに限定されない、いくつかの異なる技術のいずれか1つを使用して作成された音声素材の繰り返しセクションである。ループは、多くの場合、いくつかの音楽の小節(1小節、2小節、4小節、8小節など)に対応するリズミカルなパターン、または音符もしくはコードのシーケンスもしくは進行を包含する。ループは無期限に繰り返され得るが、音楽的連続性の可聴感覚を保持し得る。
【0026】
ワンショットはまた、上記段落で挙げた技術などのいくつかの異なる技術のうちの任意の1つを使用して作成され得る。しかしながら、ワンショットは、音素材のセクションがワンショットでは繰り返さないという点で、ループのようではない。代わりに、ワンショットは、通常、指数関数的に減衰する音のパターンが後に続く事象の始まりで明確な開始を有する単一の可聴事象に相当する。例えば、ワンショットは、単一の音符または和音の音、または打楽器の打撃(例えば、ドラムキットピースの打撃)を包含し得る。
【0027】
用語「ワンショット」は、単一の音符、和音、ストライク、または他の音を意味するが、ワンショットはそのように限定されず、複数の音符、和音、ストライク、または連続もしくは進行でのその他の音を包含する場合がある。さらに、一部のワンショットは、指数関数的に減衰する音のパターンが後に続く、始まりに明確な可聴開始がある前述の単一の可聴事象パターンを包含する場合があるが、他のワンショットは、例えば逆のサンプルまたは特定の音響効果など、このパターンに従わない場合がある。いずれにせよ、ワンショットは、平均すると、通常ループよりも再生長さがより短い。
【0028】
ソース102が含むデジタル音声信号は、ループまたはワンショットを包含し得るが、ソース102が含むデジタル音響信号は、約20~20,000ヘルツの人間の可聴範囲内にある任意のコンピュータまたはマシンで生成または記録された音を包含する場合がある。
【0029】
いくつかの例では、デジタル音声信号ソース102は、デジタル音声信号ソースのコーパスに属する。コーパスは、数百、数千、または数百万、またはそれ以上のデジタル音声信号ソースを含む場合がある。例えば、コーパスは、例えばカリフォルニア州サンタモニカのSPLICE.COM及びニューヨーク州ニューヨークから入手可能な音などの、クラウドベースの音楽制作及びコラボレーションプラットフォームによって提供される、例えばミュージカルサンプルライブラリなど、ユーザー、コンピュータ、またはマシンによって生成または記録された音のライブラリであり得る。
【0030】
2.2 サウンドコンテンツカテゴリ
本発明のいくつかの実施形態では、人工ニューラルネットワークは、所与のサウンドコンテンツカテゴリのデジタル音声信号のための音の埋め込みを生成するためのモデルを学習するように訓練される。複数の異なるサウンドコンテンツカテゴリ、及び人工ニューラルネットワークを使用して学習された複数の対応するモデルがある場合がある。異なるモデルは、異なるサウンドコンテンツカテゴリのデジタル音声信号のための音の埋め込みを生成するために使用され得る。
【0031】
異なるサウンドコンテンツカテゴリは、異なるサウンドコンテンツカテゴリのデジタル音声信号の基礎となる統計的分布の一般的な違いを反映する場合がある。このように、サウンドコンテンツカテゴリは、統計的分布のクラスまたはタイプに対応する場合がある。すべてが同じサウンドコンテンツカテゴリに属するトレーニング例のセットに基づいて音の埋め込みを生成するためのモデルを学習するように人工ニューラルネットワークを訓練することによって、人工ニューラルネットワークは、他のトレーニング技術と比較したときに、サウンドコンテンツカテゴリのデジタル音声信号の識別特徴をよりうまく学習することができ、サウンドコンテンツカテゴリのデジタル音声信号のためにより高品質の音の埋め込みを生成する。最終的に、サウンドコンテンツカテゴリの類似音のよりよい推奨を行うために、高品質の音の埋め込みを使用することができる。
【0032】
サウンドコンテンツカテゴリのセットは、事前に定義され得、デジタル音声信号ソース(例えば、102)は、それらが割り当てられるか、またはそれらが属する1つまたは複数のサウンドコンテンツカテゴリでタグ付けされ得る。例えば、デジタル音声信号ソースは、データベース内で、1つまたは複数のサウンドコンテンツカテゴリのラベル/タグによって索引付けされ得るか、またはそうでなければ1つまたは複数のサウンドコンテンツカテゴリのラベル/タグに関連付けられ得る。
【0033】
サウンドコンテンツカテゴリのラベル/タグは、デジタル音声信号の基礎となる統計的分布に基づいて、デジタル音声信号ソースに割り当てられ得る。例えば、ワンショットデジタル音声信号は、通常、信号の始まりに明確な開始を示し、通常、短い持続時間を有し、通常、指数関数的に減衰するリリースパターンを有する。あるいは、逆ワンショットのこのパターンの逆。他方、ループデジタル音声信号は、通常、信号の時間にわたって周期的または準周期的なパターンを示す。
【0034】
本発明のいくつかの実施形態によれば、デジタル音声信号ソースのコーパスは、少なくとも2つの異なるサウンドコンテンツカテゴリ、すなわちループ及び1つのワンショットに分割される。ループ及びワンショットは、信号の時間にわたってその典型的に根本的に異なる統計的分布に基づいて、異なるサウンドコンテンツカテゴリに割り当てられ得る。
【0035】
ループサウンドコンテンツカテゴリ、及びワンショットサウンドコンテンツカテゴリは、サウンドコンテンツカテゴリの階層を形成するために、楽器、楽器の種類、ジャンル、ムード、または目前の特定の器具の要件に適した他の音の属性に基づいてさらに細分化され得る。例として、サウンドコンテンツカテゴリの階層は、最上位のサウンドコンテンツカテゴリ、つまり「ループ」及び「ワンショット」を含む場合がある。次いで、それらの最上位のサウンドコンテンツカテゴリのそれぞれは、階層の2番目のレベルに「ドラム」カテゴリ及び「楽器」カテゴリを含む場合がある。楽器は、ドラム以外のボーカルや楽器を含む場合がある。この例では、「ドラムループ」、「ダンプワンショット」、「楽器ループ」、「楽器ワンショット」の4つのサウンドコンテンツカテゴリが提供される。
【0036】
ループ、ワンショット、ドラム、及び楽器(例えば、ドラム以外のボーカルまたは楽器)は、デジタル音声信号ソースのコーパスを異なるサウンドコンテンツカテゴリに分割するために使用され得る信号の時間にわたるデジタル音声信号の異なる統計的分布を反映する属性の非限定的な例である。ただし、他の分割も可能であり、本発明は、いずれの特定の分割にも限定されない。例えば、デジタル音声信号ソースのコーパスのサウンドコンテンツカテゴリへの別の可能な階層的な分割は、以下である可能性がある。
・ワンショット
oドラム
o楽器
・ループ
oドラム
o楽器
・逆サンプル
oドラム
o楽器
・音響効果
【0037】
サウンドコンテンツカテゴリは、コーパス内のデジタル音声信号の、予想または発見された異なるクラスまたはタイプの経時的な統計的分布に基づくことを含む、目前の特定の実装の要件に従って発見的にまたは経験的に選択され得るが、サウンドコンテンツカテゴリは、コンピュータで実装された教師なしクラスタ化アルゴリズム(例えば、排他的アルゴリズム、重複アルゴリズム、階層アルゴリズム、または確率クラスタ化アルゴリズム)に従って学習または計算され得る。
【0038】
例えば、デジタル音声信号ソースは、ソースのデジタル音声信号から抽出または検出された1つまたは複数の属性間の類似性に基づいて、異なるクラスタにグループ化(クラスタ化)され得る。音声信号がクラスタ化され得るそのような音の属性は、例えば、経時的な信号振幅の統計的分布、ゼロ交差率、スペクトル重心、信号のスペクトル密度、信号のスペクトル帯域幅、または信号のスペクトル平坦性の1つまたは複数を含む可能性がある。クラスタ化時、これらの音の属性の1つまたは複数に対してより類似しているデジタル音声信号は、同じクラスタ内でともにクラスタ化される可能性が高いはずであり、これらの音の属性の1つまたは複数に対して類似性が低いデジタル音声信号は同じクラスタ内でともにクラスタ化される可能性は低いはずである。
【0039】
上述のように、デジタル音声信号ソースのコーパスは、サウンドコンテンツカテゴリにグループ化され得、別個の人工ニューラルネットワークモデルが、学習のためのトレーニングセットとして、サウンドコンテンツカテゴリに割り当てられるまたはサウンドコンテンツカテゴリに属するデジタル音声信号ソースのセットを使用して、サウンドコンテンツカテゴリごとに学習され得る。コーパス内のデジタル音声信号ソースは単一のサウンドコンテンツカテゴリだけに属することができるが、例えば、サウンドコンテンツカテゴリを識別するために重複クラスタ化アルゴリズムが使用される場合、デジタル音声信号ソースは複数のサウンドコンテンツカテゴリに属する可能性があることに留意されたい。
【0040】
したがって、デジタル音声信号ソース102は、特定のサウンドコンテンツカテゴリのための音の埋め込みを生成するためのモデルを学習するように人工ニューラルネットワークを訓練するための複数(例えば、数百、数千、数百万、またはそれ以上)のデジタル音声信号ソースのトレーニングセットに属する1つのデジタル音声信号ソースと見なし得る。すべて特定のサウンドコンテンツカテゴリに属するデジタル音声信号ソースを含むトレーニングセットは、本明細書では「ソース」トレーニングセットと呼ばれることがある。人工ニューラルネットワークがソーストレーニングセットに基づいて訓練される特定のサウンドコンテンツカテゴリは、本明細書では、「ソース」サウンドコンテンツカテゴリと呼ばれることがある。そして、ソーストレーニングセットを使用したトレーニングの結果として人工ニューラルネットワークによって学習されるソースサウンドコンテンツカテゴリのモデルは、本明細書では「ターゲット」モデルと呼ばれることがある。異なるサウンドコンテンツカテゴリは、異なるソーストレーニングセットを有する可能性があり、異なるターゲットモデルは、異なるサウンドコンテンツカテゴリについて学習され得る。
【0041】
2.3 読み取り/デコードロジック
上述のように、システム100は、読み取り/デコードロジック104を含み得る。読み取り/デコードロジック104は、デジタル音声信号ソース102を読み取り、デジタル音声信号ソース102に基づいて「未加工の」デジタル音声信号サンプルを生成するようにプログラムまたは構成される。読み取り/デコードロジック104は、変換ロジック106に通信可能に結合され、さらなる処理のために未加工のデジタル音声サンプルを変換ロジック106に送ることができる。
【0042】
ソース102のデジタル音声信号は、非圧縮、可逆エンコードフォーマットで圧縮、または非可逆エンコードフォーマットで圧縮され得る。それらの既知のファイル拡張子によって示されるソース102のデジタル音声信号の例示的な可能なフォーマットは、.AAC、.AIFF、.AU、.DVF、.M4A、.M4P、.MP3、.OGG、.RAW、.WAV、及び.WMAを含み得るが、これらに限定されない。
【0043】
システム100は、ソース102を読み取り、必要に応じてその中に含まれるデジタル音声信号をデコード/圧縮解除し、デジタル音声信号に基づいて未加工のデジタル音声信号サンプルを生成するようにプログラムまたは構成された読み取り/デコードロジック104を含む。
【0044】
読み取り/デコードロジック104によって生成された未加工のデジタル音声信号サンプルは、デジタル音声信号の時間領域で取得することができる。例えば、パルス符号変調(PCM)サンプルは、考えられる未加工のデジタル音声信号サンプルの一例である。PCM信号は、元の可聴音声信号を再構築するための情報を提供するデータを含む未加工のデジタル音声信号サンプルのシーケンスである。PCMサンプルは、特定の時点での可聴音声信号の振幅を表し得る。PCM信号のPCMサンプルは、時間的に均一に離間され得る。振幅は、PCMサンプルに明示的に含まれる唯一の情報である場合がある。例えば、PCMサンプルは、PCMサンプルのビット深度を表すいくつかのビットを使用して2進数としてエンコードされた整数または浮動小数点数を含み得る。
【0045】
デジタル音声信号自体が未加工のデジタル音声信号サンプルからすでに成る場合、デジタル音声信号ソース102のデコードは、読み取り/デコードロジック104によって必要とされない場合がある。例えば、デジタル音声信号は、デコードが不要である。WAVフォーマットの未加工のデジタル音声信号サンプルを含み得る。他方、.MP3形式は、未加工のデジタル音声信号サンプルを生成するために、デジタル音声信号のデコードが必要とされる場合がある圧縮された非可逆フォーマットである。したがって、読み取り/デコードロジック104は、様々な異なる音声フォーマット用の様々なデジタル音声信号ソース102リーダ及びデコーダを含むようにプログラムまたは構成することができる。読み取り/デコードロジック104は、次いで、ソース102のデジタル音声信号の特定のフォーマットに基づいて未加工のデジタル音声信号サンプルを生成するための適切なリーダ及び/またはデコーダを選択することができる。
【0046】
未加工のデジタル音声信号が、ソース102のデジタル音声信号からを読み取り/デコードロジック104によって生成されたか、またはデジタル音声信号がすでに未加工のデジタル音声信号である場合、次いで未加工のデジタル音声信号は、変換ロジック106に提供する(例えば、送るまたは送信する)ことができる。
【0047】
2.4 変換ロジック
本発明のいくつかの実施形態によれば、変換ロジック106は、読み取り/デコードロジック104から受信した未加工のデジタル音声信号を、未加工のデジタル音声信号の1つまたは複数の時間周波数表現に変換する。変換ロジック106は、次いで、1つまたは複数の生成された時間周波数表現を、さらなる処理のために学習ロジック108に提供する。いくつかの実施形態によれば、時間周波数表現は正規化され、次いで、ターゲットモデルを学習するために人工ニューラルネットワークに入力される。本発明のいくつかの実施形態によれば、変換ロジック106によって実行される変換は、ソースサウンドコンテンツカテゴリに応じて変わる。
【0048】
2.4.1 前処理
本発明のいくつかの実施形態では、変換ロジック106は未加工のデジタル音声信号をダウンサンプリングする。このダウンサンプリングは、ターゲットモデルの学習時に人工ニューラルネットワークに入力される時間周波数表現の次元を削減するために行われ得る。例えば、デジタル音声信号は、44,100ヘルツまたは48,000ヘルツから22,050ヘルツに半分またはほぼ半分、ダウンサンプリングされ得る。時間周波数表現の入力次元を削減することによって、ターゲットモデルの精度の有効性に大きな影響を与えることなく、コンピューティングリソース及びターゲットモデルを学習するための時間を短縮し得る。
【0049】
ダウンサンプリングに加えて、学習したターゲットモデルの有効性に大きな影響を与えずに人工ニューラルネットワークのトレーニングを加速する目的で、未加工のデジタル音声信号は、(例えば、中央のチャンネルを計算することによって)ステレオサンプルからモノラル音声サンプルに変換され得る。代わりに、左チャネルのみまたは右チャネルのみが使用されてもよい。
【0050】
未加工のデジタル音声信号に対する他の前処理は、変換ロジック106によって実行され得る。例えば、プリエンファシスフィルタは、小さい振幅の高周波と大きい振幅の低周波との間で周波数スペクトルのバランスをとるために適用され得、フーリエ変換中の数値問題を回避するか、または信号の信号対雑音比(SNR)を改善する。
【0051】
圧縮もしくは等化または目前の特定の実装の要件に適切な他の前処理など、未加工のデジタル音声信号に対する他の前処理が実行され得る。
【0052】
2.4.2 持続時間正規化
本発明のいくつかの実施形態によれば、変換ロジック106は、未加工のデジタル音声信号または読み取り/デコードロジック104から受信した前処理された未加工のデジタル音声信号に対して持続時間正規化を実行する。未加工のデジタル音声信号または前処理された未加工のデジタル音声信号は、以下では「目標」信号と呼ばれる。目標信号は、所定の持続時間に正規化することができる。所定の持続時間は、ソースサウンドコンテンツカテゴリに基づく場合がある。異なるサウンドコンテンツカテゴリは、異なる所定の持続時間を有し得る。しかしながら、異なるサウンドコンテンツカテゴリは、同じ所定の持続時間を有することが可能である。
【0053】
そのような各目標信号がソースサウンドコンテンツカテゴリに同じ所定の持続時間を有するソーストレーニングセットで各目標信号を正規化すると、ターゲットモデル学習時に人工ニューラルネットワークに対する入力のために目標信号から同じ次元の時間周波数表現を抽出することが容易になる。言い換えると、ソーストレーニングセットのために目標信号ごとに生成された各時間周波数表現は、ソーストレーニングセットの目標信号をソースサウンドコンテンツカテゴリの同じ所定の持続時間に正規化した結果と同じ次元を有し得る。本明細書で使用される場合、「同じ」持続時間への言及は、所定の時間分解能(例えば、ミリ秒)で同じ時間長を有する場合、2つの持続時間が同じであることを意味する。例えば、ともに長さが500ミリ秒の2つの信号は、たとえそれらがナノ秒時間分解能で時間の長さが異なっていても同じ持続時間を有する。
【0054】
目標信号が所定の持続時間よりも長い持続時間を有する場合、変換ロジック106による目標信号の所定の持続時間への持続時間正規化は、目標信号の最後からサンプルを切り捨てることによって、または目標信号の始まりからサンプルをトリミングすることによって達成することができる。目標信号の持続時間が所定の持続時間よりも短い場合、次いで、目標信号の持続時間が所定の持続時間に等しくなるまで、ダミーのデジタル音声信号サンプル(例えば、ゼロ値サンプル)を目標信号に付加することができる。
【0055】
変換ロジック106によって目標信号に対して持続時間正規化が実行された結果、目標信号は、ソースサウンドコンテンツカテゴリの所定の持続時間を有する「持続時間正規化」信号として正規化される。所定の持続時間がサウンドコンテンツカテゴリ間でどのように変わり得るのかの一例として、ループサウンドコンテンツカテゴリ及びワンショットサウンドコンテンツカテゴリを検討する。
【0056】
ソースサウンドコンテンツカテゴリがワンショットサウンドコンテンツカテゴリである場合、次いで、ワンショットの明確な開始が存在する目標信号の最初の部分が、持続時間正規化信号として選択され得る。これは、例えば、ドラムワンショットの場合、目標信号の最初の1秒程度の範囲内に相当し得る。したがって、ドラムワンショット目標信号の所定の持続時間は、例えば、1秒弱程度である可能性がある。楽器またはボーカルのワンショット目標信号の場合、持続時間正規化信号は、ドラムワンショット目標信号よりもわずかに長くなる可能性があり(例えば、最初の数秒以内)、楽器またはボーカルのワンショット目標信号でのリリース前の開始の通常比較的に長い持続時間を反映する。結果として、楽器またはボーカルのワンショット目標信号の所定の持続時間は、約1秒と3秒などの間であり得る。より一般的には、持続時間正規化信号として解釈されるワンショット目標信号の部分は、ワンショットの音の開始を含む目標信号の部分を含むが、これに限定されない目標信号の様々な属性に基づいて選択され得る。
【0057】
他方、ソースサウンドコンテンツカテゴリがループサウンドコンテンツカテゴリである場合、次いで、所定の持続時間は、ソーストレーニングセットの各ループ信号の繰り返す周期的なまたは準周期的なパターンの少なくとも1つのサイクルを取り込むほど十分に長い場合がある。例えば、2小節、4小節、または8小節にまたがる音楽ループの場合、所定の持続時間は、3秒より長く5秒より短い場合がある。例えば、ソースサウンドコンテンツカテゴリがループサウンドコンテンツカテゴリである場合、ソースサウンドコンテンツカテゴリの所定の持続時間は、ソーストレーニングセットのループ信号の繰り返す周期的または準周期的なパターンの1つのサイクルの平均または平均持続時間に基づいて選択され得る。
【0058】
2.4.3 時間周波数表現
本発明のいくつかの実施形態によれば、変換ロジック106は、持続時間正規化信号を受信し、持続時間正規化信号の時間周波数変換を計算することによって、持続時間正規化信号の時間周波数表現を生成するようにプログラムまたは構成される。時間周波数表現は、持続時間正規化信号の周波数が経時的に変わるにつれた持続時間正規化信号の周波数のスペクトルの表現である。本発明のいくつかの実施形態によれば、時間周波数変換は、z=a+ixの形の複素数から成る複素数値変換であり、「a」は数の実数部を表し、「x」は数字の虚数部を表す。
【0059】
本発明のいくつかの実施形態によれば、時間周波数表現は、y軸が周波数を表し、x軸が時間枠を表す複素スペクトログラムの絶対値を計算することによって、持続時間正規化信号の複素スペクトログラムに基づいて計算された振幅スペクトログラムである。各時間周波数スロットの値は、持続時間正規化信号の特定のエネルギーレベルを表す。マグニチュード行列は、コンピュータ記憶媒体内で浮動小数点値として変換ロジック106によって表され得る実数の行列として、コンピュータ記憶媒体内で変換ロジック106によって表され得る。
【0060】
変換ロジック106は、時間周波数変換を使用することによって持続時間正規化信号の時間周波数表現を生成するようにプログラムまたは構成され得る。使用され得る時間周波数変換のいくつかの例は、短時間高速フーリエ変換(STFT)、定数Q変換、ウェーブレット、フィルタバンクなどを含むが、これらに限定されない。
【0061】
変換ロジック106は、任意選択で、持続時間正規化信号の時間周波数表現に非線形補間を適用し得る。時間周波数表現に非線形補間を適用することは、人間の聴覚系がよりよい分解能を有する周波数バンドにより大きい重み及び改善された分解能を与え、それによってそれらの周波数の識別属性を学習する能力を改善することを意図している。理想的な実験室の条件下では、可聴範囲は12Hzから28kHzほど幅広くなり得るが、人間の聴覚系は、一般に、20Hzから20kHzの可聴範囲を有する。したがって、人間の傾聴の実際的な観点から、音声の識別属性を学習することは、人間の可聴範囲の周波数にのみ関連している。
【0062】
適用される場合、変換ロジック106によって適用される非線形補間は、心理音響スケールと呼ばれることもある人間の聴覚スケールのコンテキストに基づいた多くの異なる補間の1つを使用し得る。そのような心理音響スケールの例は、メルスケール、バークスケール、及び/または等価長方形帯域幅(ERB)スケールを含む。したがって、変換ロジック106は、時間周波数表現に非線形補間を適用するためにこれらの心理音響スケールの1つまたは複数を使用し得る。
【0063】
本発明のいくつかの実施形態によれば、持続時間正規化信号に適用される時間周波数変換は、複素短時間フーリエ変換(STFT)であり、変換ロジック106は、そのどちらかまたは両方とも、ソースサウンドコンテンツカテゴリに応じて変わる場合がある、選択されたウィンドウサイズ(例えば、1024のサンプル)及び選択されたホップサイズ(例えば、128のサンプル、256のサンプルなど)に従って持続時間正規化信号に対する複素STFTを計算する。例えば、複素STFT変換の時間枠は、選択されたウィンドウサイズ及び選択されたホップサイズに従って互いに重複する場合がある。選択されたホップサイズは、どのくらい多くの信号サンプルが、持続時間正規化信号の現在の時間枠の起点を進めて、持続時間正規化信号の次の時間枠の起点を設定して複素STFT変換を受けるのかを表す。例えば、時間枠が、選択されたウィンドウサイズに従って1024の音声信号サンプルを有し、選択されたホップサイズが256の信号サンプルである場合、次いで、持続時間正規化信号の現在の時間枠の起点は、256の音声信号サンプルを進み、以前の現在の時間枠と新しい現在の時間枠との間で持続時間正規化信号に768の音声信号サンプルの重複(75%の重複)を生じさせる。
【0064】
本発明のいくつかの実施形態では、複素STFT変換のホップサイズは、ソースサウンドコンテンツカテゴリに基づいて選択される。特に、ホップサイズが小さいほど、時間枠間で取り込まれる冗長性は多くなる。カテゴリの持続時間正規化信号が比較的に速い過渡事象を有するか、またはカテゴリの持続時間正規化信号の所定の持続時間が、例えば、ドラムワンショットなど相対的に短いソースサウンドコンテンツカテゴリの場合、ターゲットモデルが、カテゴリの持続時間正規化信号のスペクトル時間パターンの遷移をよりうまく区別できるように、相対的により小さいホップサイズが使用され得る。
【0065】
より小さいホップサイズを使用する欠点は、処理する時間枠がより多くなり、所与の数の連続時間枠によって取り込まれる時間コンテキストの量がより少なくなることである。高速過渡事象を有さないか、または例えば、楽器またはボーカルのワンショットソースサウンドコンテンツカテゴリなど、より長い所定の持続時間を有する持続時間正規化信号を包含するソースサウンドコンテンツカテゴリの場合、生成されるターゲットモデルの識別能力に大きな犠牲を払うことなく、変換ロジック108によって処理される時間枠の数を減少させるために、及び所与の数の連続時間枠ごとにより大量の時間コンテキストを取り込むために、比較的に大きいホップサイズが使用され得る。
【0066】
本発明のいくつかの実施形態によれば、マグニチュードSTFTは、持続時間正規化信号の複素STFTから計算される。次いで、マグニチュードスペクトグラムがマグニチュードSTFTから生成される。非線形補間は、次いでマグニチュードスペクトログラムに適用される。本発明のいくつかの実施形態によれば、複素STFTのパワースペクトルSTFTが、マグニチュードSTFTの代わりに変換ロジック106によって計算され、次いで非線形補間がパワースペクトルSTFTに適用される。
【0067】
本発明のいくつかの実施形態によれば、ハミング窓関数または他の適切な窓関数などの窓関数が、時間枠に対する複素STFT変換を見越して持続時間正規化信号の各時間枠に適用される。
【0068】
本発明のいくつかの実施形態では、変換ロジック108は、N掛けるMの時間周波数表現(例えば、マグニチュードスペクトグラム)を生成し、Nは、異なる周波数ビンの数であり、Mは時間枠の数であり、これは、持続時間正規化信号のウィンドウサイズ、ホップサイズ、及び所定の持続時間に依存する。本発明のいくつかの実施形態では、Nは、持続時間正規化信号の各時間枠の128の値である。ただし、値の特定の数Nは必要とされない。
【0069】
上述のように、ソースサウンドコンテンツカテゴリの各持続時間正規化信号は、同じ所定の持続時間を有することができる。この持続時間は、本明細書では、ソースコンテンツカテゴリの「目標持続時間」と呼ばれることがある。例えば、「ドラムワンショット」サウンドコンテンツカテゴリの各持続時間正規化信号は、0.78秒の目標持続時間を有する可能性があり、「楽器ワンショット」サウンドコンテンツカテゴリの各持続時間正規化信号は、1.48秒の目標持続時間を有する可能性があり、「ループ」サウンドコンテンツカテゴリの各持続時間正規化信号は、3.75秒の目標持続時間を有する可能性がある。ただし、特定の目標持続時間は必要とされない。そして、上述のように、異なるサウンドコンテンツカテゴリは、異なる目標持続時間を有し得る。
【0070】
上述のように、時間周波数表現の時間次元Mは、ソースサウンドカテゴリの目標持続時間、ソースサウンドコンテンツカテゴリのために選択されたウィンドウサイズ及び選択されたホップサイズに応じて変わる場合がある。例えば、目標持続時間が0.743秒で、選択されたホップサイズが128時間領域サンプルのドラムワンショットカテゴリの持続時間正規化信号は、それぞれ、時間周波数表現ごとに合計で16,384の値に128掛ける128の次元を有する時間周波数表現を生成した可能性がある。目標持続時間が1.486秒で、選択されたホップサイズが256時間領域サンプルの楽器ワンショットカテゴリの持続時間正規化信号はまた、それぞれ128掛ける128の値の次元を有する時間周波数表現を生成した可能性がある。楽器ワンショットカテゴリの目標持続時間がドラムワンショットカテゴリの目標持続時間の2倍であっても、これらの2つのカテゴリに生成された時間周波数表現の次元は、M次元で同じ場合がある。これは、楽器ワンショットカテゴリがまた、両方のカテゴリに同じ選択されたサイズを想定すると、ドラムワンショットカテゴリの選択されたホップサイズの2倍であるためである。別の例として、目標持続時間が3.75秒で、選択されたホップサイズが256のドラムループカテゴリの持続時間正規化信号は、それぞれ、時間周波数表現ごとに40,960の値の合計次元に128掛ける320の次元を有する時間周波数表現を生成した可能性がある。
【0071】
持続時間正規化信号の時間周波数表現が、ターゲットモデルを学習するための学習ロジック108に渡される前に、正規化処理は、時間周波数表現の値に対して実行され得る。例えば、時間周波数表現の値は、人工ニューラルネットワークの学習アルゴリズム(例えば、勾配降下)が収束するのを支援するために、0と1を含む、または-1~1を含む間の値に最小最大正規化することができる。例えば、平均正規化、Zスコア正規化、または単位長さへのスケーリングなど、他の正規化が可能である。
【0072】
2.4.4 ループ信号拡張
本発明のいくつかの実施形態によれば、複数の時間周波数表現は、変換ロジック106によってループソースサウンドコンテンツカテゴリの単一の持続時間正規化信号から生成される。ループソースサウンドコンテンツカテゴリの持続時間正規化信号の複数の時間周波数表現へのこの拡張は、ターゲットモデルを学習するためのトレーニング中に行われ得る。特に、この拡張は、ループデジタル音声信号ソースのトレーニングセットに基づいてターゲットモデルを学習するときに、よりよい時間コンテキストを提供するために変換ロジック106によって実行され得る。持続時間正規化ループ信号の繰り返しパターンは、異なる持続時間、及び異なる周期的なまたは準周期的な繰り返しパターンを有する場合がある。さらに、繰り返しパターンは、ソーストレーニングセットの持続時間正規化ループ信号にわたって位置合わせされない場合がある。例えば、ソーストレーニングセットのためのいくつかの持続時間正規化ループ信号は、ループ信号の繰り返しパターンの始まりで開始する場合があり、ソーストレーニングセットの他の持続時間正規化ループ信号は、ループ信号の繰り返しパターンの中間で開始する場合があり、ソーストレーニングセットのさらに他の持続時間正規化信号は、ループ信号の繰り返しパターンの最後で開始する場合がある。
【0073】
ソーストレーニングセットの持続時間正規化ループ信号の中でのこれらの違いを説明するために、複数の時間周波数表現が、各持続時間正規化信号の複数の無作為に選択された「スライス」から生成され得る。そのような選択された各スライスは、ソースサウンドコンテンツカテゴリと同じ所定の持続時間、したがって持続時間正規化ループ信号と同じ持続時間を有し得る。選択されたスライスごとに、スライスの時間周波数表現は、持続時間正規化信号の代わりにスライス信号を使用することを除き、持続時間正規化信号の時間周波数表現を生成するために上述の技術を使用して生成され得る。このようにして、複数の時間周波数表現を持続時間正規化信号の複数のスライスに対して生成することができる。
【0074】
ループ持続時間正規化信号のスライスを無作為に選択するとき、開始時間がループ信号の持続時間の範囲内である場合、スライスの開始時間は無作為に選択され得る。スライスは次いで、無作為に選択された開始時間に開始し、次いで選択されたスライス信号が、持続時間正規化信号と同じ持続時間を有するように、持続時間正規化信号の終わりをスライスの開始にラップアラウンドする持続時間正規化信号の時間シフトバージョンとして解釈され得る。代わりに、選択されたスライス信号は、持続時間正規化信号の始まりをスライス信号の開始にラップアラウンドし得る。このようにして、持続時間正規化信号の複数のスライス信号は、持続時間正規化信号の時間の間に異なって無作為に選択された開始時間から取得することができ、そのような各スライス信号は、ソースサウンドコンテンツカテゴリの所定の持続時間を有する。
【0075】
本発明のいくつかの実施形態では、持続時間正規化信号からスライスを無作為に選択する代わりに、スライスは、持続時間正規化信号全体の時間周波数表現から無作為に選択される。これらの実施形態では、マグニチュードスペクトログラムなどの時間周波数表現のスライスを選択するために、マグニチュードスペクトログラムの時間枠が無作為に選択され得る。このスライスは、次いで無作為に選択された時間枠で開始し、マグニチュードスペクトログラムの終わりまたは始まりをラップアラウンドし、無作為に選択された時間枠に戻って終了する持続時間正規化信号全体のマグニチュードスペクトログラムの時間シフトバージョンであってよい。このようにして、持続時間正規化信号全体の時間周波数表現の複数の無作為に選択されたスライスは、時間周波数表現の異なって無作為に選択された開始時間枠から取得できる。
【0076】
どちらの場合も、持続時間正規化ループ信号は、複数の時間周波数表現に拡張できる。いくつかの実施形態では、複数の時間周波数表現は、時間周波数表現のうちの2つが、持続時間正規化信号の同じ点で開始しないように別個である。
【0077】
ソーストレーニングセットの持続時間正規化ループ信号を複数の時間周波数表現に拡張することによって、ソーストレーニングセットに含むためのより多くのデジタル音声信号ソースを取得する必要なく、人工ニューラルネットワークに入力されるトレーニング例の多様性を拡張することができる。例えば、十万のループデジタル音声信号ソースのソーストレーニングセットは、このようにして、トレーニング中に人工ニューラルネットワークに入力される数百万の異なるトレーニング例に拡張することができる。
【0078】
例えば、選択されたバッチサイズN(例えば、32)に基づいて人工ニューラルネットワークのトレーニング中にバッチ勾配降下が使用される場合、次いで、Nの数の時間周波数表現がソーストレーニングセットのために各持続時間正規化ループ信号から生成され、バックプロパゲーションの前に順方向パスで人工ニューラルネットワークを通過し得る。そうすることによって、勾配が計算される誤差は、バッチ内のすべてのN時間周波数表現の誤差の平均となる。
【0079】
変換ロジック106によって実行される処理の結果として、持続時間正規化信号の1つまたは複数の時間周波数表現は、変換ロジック106によって学習ロジック108に提供され得る。
【0080】
読み取り/デコードロジック104及び変換ロジック106によって実行される上述の演算が、いくつかの例では並べ替えられ得ることに留意されたい。例えば、ソース102からのデジタル音声信号または未加工の信号音声信号は、最初に、変換ロジック106によって、持続時間正規化信号に持続時間正規化することができ、次いで、読み取り/デコードロジック104は、どの変換ロジック106が、1つまたは複数の時間周波数表現を生成するのかに基づいて、持続時間正規化信号を持続時間正規化信号の前処理バージョンに前処理することができる。
【0081】
2.5 学習ロジック
読み取り/デコードロジック104及び変換ロジック106は、時間周波数表現のセットを生成するために、ソーストレーニングセット内の各デジタル音声信号ソースに適用できる。ソーストレーニングセットのために生成されたこの時間周波数表現のセットは、ターゲットモデルを学習するように人工ニューラルネットワークを訓練するために学習ロジック108によって使用され得る。
【0082】
学習ロジック108が、人工ニューラルネットワークを訓練し始める前に、ソーストレーニングセットから時間周波数表現のセット全体を生成する必要はないことに留意されたい。代わりに、人工ニューラルネットワークは、セット内の時間周波数表現のいくつかに基づいて人工ニューラルネットワークの訓練が開始し、セット全体が生成される、並列パイプライン式で訓練され得る。
【0083】
いくつかの実施形態によれば、トレーニング例を所与としてターゲットモデルを学習するように人工ニューラルネットワークを訓練するとき、人工ニューラルネットワークは、時間周波数表現を採取するように試行し、それを縮小された潜在空間表現に変換し、縮小された潜在空間表現を時間周波数表現に変換して戻すように試行するようにプログラムまたは構成される。トレーニング中、これは、人工ニューラルネットワークが、人工ニューラルネットワークが損失関数に従って誤差範囲内で時間周波数表現を再現できる縮小された潜在空間表現を生成することを学習するまで繰り返され得る。
【0084】
2.5.1 例示的な人工ニューラルネットワーク
図2は、いくつかの実施形態による、入力された時間周波数表現214の音の埋め込みを学習するための学習ロジック110のコンポーネントであり得る人工ニューラルネットワーク216の概略図である。図示のように、人工ニューラルネットワーク216は3つのコンポーネント、つまりエンコーダ218、潜在空間表現220、及びデコーダ222を包含する。
【0085】
いくつかの実施形態によれば、人工ニューラルネットワーク216は、(エンコーダ218によって)潜在空間表現220を生成するためにバックプロパゲーションを介して学習することを試行し、潜在空間表現220から出力された時間周波数表現224を(デコーダ222によって)生成するためにバックプロパゲーションを介して学習することを共同で試行するようにプログラムまたは構成され、潜在空間表現220では、出力された時間周波数表現224は、入力された時間周波数表現214の密接な(非可逆の)表現である。ターゲットモデルを学習する一部として、推定/再構築された時間周波数表現224と、入力されたスペクトグラム214との間の不一致(例えば平均二乗誤差などの選ばれた損失関数によって数値化される)は、ネットワーク216全体で重みを調整して、ネットワーク224の出力において、入力されたスペクトルグラム214と、推定/再構築された時間周波数表現との間の誤差を削減するために、反復して使用され得る。
【0086】
潜在空間表現220は、より少ない数値を含むより低い次元の埋め込みとして入力された時間周波数表現214を表すが、入力された時間周波数表現214についての顕著な識別情報を依然として保持する。例えば、入力された時間周波数表現214が、例えば128掛ける128の値の次元を有し、潜在空間表現220が、256の数値の次元を有する場合、次元削減は64対1であり得る。特定の次元削減比は必要とされず、64対1は一例に過ぎない。
【0087】
本発明のいくつかの実施形態では、人工ニューラルネットワーク216は、特に、特定のソースコンテンツカテゴリに対して訓練され得る。すなわち、いったん訓練されると、ソースコンテンツカテゴリのためにソーストレーニングセットに基づいて人工ニューラルネットワーク216を訓練した結果生じるターゲットモデルは、ソースコンテンツカテゴリの音声信号のためだけに音の埋め込みを生成するために使用することができ、ソースコンテンツカテゴリに属していないか、またはソースコンテンツカテゴリに割り当てられていない音声信号のために意味のある音の埋め込みを生成するために使用することはできない可能性がある。
【0088】
推定/再構築された時間周波数表現224は、入力された時間周波数表現214に対して非可逆であってよい。すなわち、推定/再構築された時間周波数表現224が、入力された時間周波数表現224と同一の(可逆の)表現であることは必要とされない。
【0089】
人工ニューラルネットワーク216の利点は、ソーストレーニングセットでトレーニング例を事前にラベル付けすることが必要とされないことである。代わりに、人工ニューラルネットワーク216は、潜在空間表現(例えば、220)の形でソーストレーニングセット内のトレーニング例のより低い次元の表現を学習することができ、より低い次元の表現は、ソースサウンドコンテンツカテゴリの基礎的な統計的分布についての有意義な識別情報を保持する。
【0090】
人工ニューラルネットワーク216は、いくつかのハイパーパラメータを有し得る。ハイパーパラメータの1つは、ボトルネック層220としても知られる音の埋め込みを学習することを担当する中間層の次元を指定し得る。他のハイパーパラメータは、他の可能なハイパーパラメータの中でも、エンコーダ218及びデコーダ222における中間(例えば、隠れ)層の数、トレーニング中に使用する損失関数(例えば、平均二乗誤差)を含み得る。
【0091】
2.5.2 例示的な人工ニューラルネットワークアーキテクチャ
図3は、本発明のいくつかの実施形態による、人工ニューラルネットワーク216の可能なアーキテクチャの概略図である。アーキテクチャは、入力層326と、エンコーダ中間層332と、ボトルネック層330と、デコーダ中間層334と、出力層328とを含む。入力層326は、エンコーダ中間層332によるボトルネック層330への圧縮のために、時間周波数表現214の正規化された値を包含し得る。同様に、出力層328は、デコーダ中間層334によってボトルネック層330から生成された推定/再構築された時間周波数表現224の正規化された値を包含し得る。ボトルネック層330は、エンコーダ218の出力層及びデコーダ222の入力層と見なされる場合がある。
【0092】
バックプロパゲーションを介したトレーニング中、入力層326の時間周波数表現214は、ボトルネック層330に潜在空間表現220を生成するためにエンコーダ218の中間層332を通過する。エンコーダ218は、完全に接続された人工ニューラルネットワークであってよい。同様に、デコーダ222は、完全に接続された人工ニューラルネットワークであってよい。
【0093】
ボトルネック層330の潜在空間表現220は、出力層328に推定/再構築された時間周波数表現224を生成するために、デコーダ222の中間層334を通過する。したがって、入力層326及び出力層328の次元は同じであり得る。ボトルネック層330の次元は、入力層326及び出力層328の次元に満たない。エンコーダ中間層332の数は、1つまたは複数である場合がある。複数である場合、次いでボトルネック層330により近い中間層は、エンコーダ218にボトルネック層330に時間周波数表現214の要約、非可逆、及び次元削減の潜在空間表現220を生成することを強制的に学習させるために、任意選択で、次に最も近い中間層332よりも少ないユニットを有し得る。
【0094】
デコーダ中間層334の数はまた、1つまたは複数である場合があり、エンコーダ中間層332と同じ数または異なる数の層を有し得る。複数のデコーダ中間層334である場合、次いで、出力層328により近いデコーダ222の中間層は、デコーダ222に、生成された、推定/再構築された時間周波数表現224が時間周波数表現214に近いボトルネック層330の潜在空間表現220から出力層328の推定/再構築された時間周波数表現224を生成することを強制的に学習させるために、次に最も近い中間層334より多くを有し得る。それぞれエンコーダ218及びデコーダ222のすべての中間層332及び334は、任意選択で、ボトルネック層330よりも高い次元を有し得る。入力層326及び出力層328は、任意選択で、中間層332及び334よりも高い次元を有し得る。
【0095】
本発明のいくつかの実施形態では、エンコーダ中間層332は、畳み込み層、アクティブ化層、及びプーリング層を含み、デコーダ中間層334は、畳み込み層、アクティブ化層、及びアップサンプリング層を含む。エンコーダ中間層332及びデコーダ中間層334で畳み込み層を使用することによって、人工ニューラルネットワーク216は、高密度の層を使用するフィードフォワードニューラルネットワーク実装によって必要とされる可能性がある時間周波数表現214を修正する(及び結果的に空間情報を失う)必要なく、訓練することができる。例えば、二次元時間周波数表現を一次元ベクトルに平坦化することは、畳み込み層を使用することによって回避できる。また、畳み込み層を使用すると、学習プロセスが、マグニチュードSTFTに提示される重要な二次元スペクトル時間パターンを取り込むことが可能になる。
【0096】
本発明のいくつかの実施形態では、エンコーダ中間層332またはデコーダ中間層334は、1つまたは複数の畳み込み層に加えて、または1つまたは複数の畳み込み層の代わりに、1つまたは複数の再帰層を含む。例えば、エンコーダ中間層332またはデコーダ中間層334は、1つまたは複数の畳み込み層に加えて、または1つまたは複数の畳み込み層の代わりに、1つまたは複数の長・短期記憶(LSTM)層または1つまたは複数のゲート付き回帰型ユニット(GRU)層を含むであろう。
【0097】
3.0 例示的な潜在空間表現学習プロセス
図4は、いくつかの実施形態による、デジタル音声信号の潜在空間表現を学習するためにシステム100によって実行される例示的なプロセス436のフローチャートである。図4は、本明細書に説明され、1つまたは複数のコンピューティングデバイスのうちの1つのコンピューティングシステムを、本明細書に開示される新しい方法で動作させる機能を実装するためにコンピュータプログラムを書く基礎として使用され得るアルゴリズムまたは機能説明を開示することを意図する。さらに、図4は、本開示が対象とする当業者が、当業者間で、同様のレベルの複雑さの他のコンピュータプログラムのための計画、設計、及びアルゴリズムを伝達するために通常使用する同じレベルの詳細でそのようなアルゴリズムを伝達するために提供される。
【0098】
プロセス436は、ステップ438で始まり得る。ステップ438で、システム100はソーストレーニングセットを取得する。ソーストレーニングセットは、デジタル音声信号を含むデジタル音声信号ソースを、特定のソースサウンドコンテンツカテゴリでタグ付けまたは索引付けすることによって取得され得る。あるいは、ソーストレーニングセットは、特定のソースサウンドコンテンツカテゴリにともに属する必要のある類似したデジタル音声信号のサブセットを識別するために、クラスタ化アルゴリズムをデジタル音声信号のコーパスに適用することによって取得されてもよい。どちらの場合も、ソーストレーニングセットのデジタル音声信号は、それらがすべて時間領域に同じ一般的な統計的分布を有するという点で、すべて互いに類似している場合がある。ここで検討される統計は変わる可能性があるが、例えば、デジタル音声信号の時間長、または例えばスペクトル重心、スペクトル平坦性、またはスペクトル帯域幅などのデジタル音声信号の経時的な1つまたは複数の可聴音の属性での一般的な類似性を含み得る。例えば、ソーストレーニングセットのデジタル音声信号は、すべてワンショットパターンを有し得、すべてドラムワンショットパターンを有し得、すべてドラムワンショットパターンを有し得、すべてボーカルワンショットパターンを有し得、すべて楽器ワンショットパターンを有し得、すべてループパターンを有し得、すべてボーカルループパターンを有し得、すべて楽器ループパターンを有し得、すべて逆ワンショットパターンを有し得るなどである。
【0099】
ステップ440で、読み取り/デコードロジック104及び変換ロジック106を含むシステム100は、ソーストレーニングセットの各デジタル音声信号から1つまたは複数の時間周波数表現を生成する。これは、上述のように、デジタル音声信号ごとに、デジタル音声信号から目標信号を生成することと、目標信号から持続時間正規化信号を生成することと、持続時間正規化信号から1つまたは複数の時間周波数表現を生成することとを含み得る。
【0100】
ステップ442で、学習ロジック108を含むシステム100は、ソーストレーニングセットに生成された時間周波数表現の潜在空間表現を生成することを学習するように、バックプロパゲーションを介して人工ニューラルネットワークを訓練する。人工ニューラルネットワークは、バッチ勾配降下法、確率的勾配降下法、またはミニバッチ勾配降下法で訓練され得る。いくつかの実施形態では、人工ニューラルネットワークは、ミニバッチ勾配降下法で訓練される。
【0101】
ステップ444で、人工ニューラルネットワークがソーストレーニングセットに基づいて訓練されると、ターゲットモデルは、システム100によってモデルデータベース110に格納される。ターゲットモデルは、トレーニング442の結果として、人工ニューラルネットワークの学習されたパラメータを含み得る。例えば、ターゲットモデルは、人工ニューラルネットワークのエンコーダ(例えば、218)の学習されたパラメータを含み得る。
【0102】
ステップ446で、ターゲットモデルは、ソースコンテンツカテゴリに割り当てられるか、またはソースコンテンツカテゴリに属するデジタル音声信号のための音の埋め込みを生成するために使用される。特定の基準デジタル音声信号に対してこれを行うためには、読み取り/デコードロジック104及び変換ロジック106を含むシステム100は、基準デジタル音声信号の時間周波数表現を生成する。これを行うために、例えば、読み取り/デコードロジック104が、基準デジタル音声信号から目標信号を生成するために使用され得、変換ロジック106が、目標信号から持続時間正規化信号を生成するために使用され得る。変換ロジック106は、持続時間正規化信号の時間周波数表現を生成するために使用され得る。基準デジタル音声信号がループ信号である場合、複数の時間周波数表現が信号ループ信号から生成され得るトレーニング中とは異なり、基準デジタル音声信号の単一の時間周波数表現が生成され得る。代わりに、読み取り/デコードロジック104は、基準デジタル音声信号から持続時間正規化信号を生成するために使用され得、変換ロジック106は、持続時間正規化信号から目標信号を生成するために使用され得る。変換ロジック106は、目標信号の時間周波数表現を生成するために使用され得る。
【0103】
いずれにせよ、基準デジタル音声信号の時間周波数表現は、トレーニング中にトレーニング例を用いて変換ロジック106によって行われるように正規化され得る。
【0104】
基準デジタル音声信号の生成された正規化時間周波数表現は、基準信号に、出力として潜在空間表現(つまり、音の埋め込み)を生成するために、順方向パスでターゲットモデルのパラメータで構成された人工ニューラルネットワークに入力され得る。例えば、人工ニューラルネットワーク216のエンコーダ218は、ターゲットモデルの学習されたパラメータで構成され得、正規化された時間周波数表現は、ボトルネック層330の特定の基準デジタル音声信号のために潜在空間表現を取り込む音の埋め込みを生成するために、エンコーダ218だけを通る(つまり、デコーダ222を通らない)順方向パスで入力層326から処理され得る。
【0105】
これは、それらの信号のためのする音の埋め込みを生成するために、ソースサウンドコンテンツカテゴリに割り当てられるか、またはソースサウンドコンテンツカテゴリに属する他の基準デジタル音声信号について繰り返され得る。音の埋め込みは、音の埋め込みが生成されるソースサウンドコンテンツカテゴリの2つのデジタル音声信号の類似度が、適切な距離基準に従って音の埋め込み間の距離を測定することによって計算できるという有用な特性を有している。距離が近いほど、それらは心理音響的な意味で類似性が高くなる。距離が遠いほど、それらは心理音響的な意味で類似性は低くなる。例えば、音の埋め込みは、数のベクトルであってよく、それらの音は、例えば、コサイン距離が近いほど、音声信号がより類似して聞こえる2つのベクトル間のコサイン距離などの適切な距離基準によって同様に計算され得る。
【0106】
プロセス436は他のサウンドコンテンツカテゴリに対して繰り返されて、ターゲットモデルを学習し、これらの他のサウンドコンテンツカテゴリの音声信号のための音の埋め込みを生成し得る。
【0107】
4.0 例示的なアプリケーション
本明細書に開示される技術を使用して生成される音の埋め込みは、多くの有用なアプリケーションで使用することができる。特定なアプリケーションは必要とされない。ここで、2つの特定の例示的なアプリケーションを説明する。
【0108】
4.1 類似音検索
本発明のいくつかの実施形態によれば、特定のサウンドコンテンツカテゴリの基準デジタル音声信号に類似して聞こえる、特定のサウンドコンテンツカテゴリの1つまたは複数のデジタル音声信号が識別され、グラフィカルユーザーインターフェースでユーザーに提示される。類似して聞こえるデジタル音声信号は、1つまたは複数のコンピューティングデバイスのサーバコンピューティングシステム(「サーバシステム」)によって識別され得、グラフィカルユーザーインターフェースは、ユーザーのパーソナルコンピューティングデバイス(「クライアントデバイス」)に提示され得る。サーバシステム及びクライアントは、例えばインターネットなどの1つまたは複数のデータ通信ネットワークによって接続され得る。
【0109】
クライアントとサーバの区別は、類似音の実施形態を説明するための有用なフレームワークを提供するが、それは必要な区別ではなく、類似音の実施形態は、他のコンピューティングアーキテクチャの状況でも実装され得る。例えば、クライアント及びサーバシステムによって実行されるとして以下に説明される機能は、単一のコンピューティングデバイスで具現化され得、サーバシステムによって実行されると説明される機能のいくつかは、一部の実装ではクライアントデバイスで実行され得るか、またはクライアントデバイスによって実行されると説明される機能のいくつかは、一部の実装ではサーバシステムで実行され得る。
【0110】
図5は、本発明のいくつかの実施形態による、類似音アプリケーションの可能なコンピュータグラフィカルユーザーインターフェースのモックアップである。特に、モックアップは、エンドユーザーのコンピューティングデバイスでグラフィカルユーザーインターフェースに提示され得るテーブル548のものである。エンドユーザーのコンピューティングデバイスは、デスクトップコンピュータもしくはラップトップコンピュータなどのパーソナルコンピューティングデバイス、または携帯電話などの携帯型の電子機器であってよい。エンドユーザーのコンピューティングデバイスはまた、専用の音楽ミキシングコンピューティングデバイス、またはビデオディスプレイを含むか、またはビデオディスプレイに電気的に結合された他の専用のコンピューティング機器であってもよい。特定のタイプのエンドユーザーコンピューティングデバイスは必要とされない。この点で、図5のモックアップは、可能な実装を説明する目的で提供されており、グラフィカルユーザーインターフェースが提示されるエンドユーザーコンピューティングデバイスのタイプ(例えば、デスクトップコンピュータ対モバイルコンピュータ)を含む目前の特定の実装の要件に従って変わる場合があるすべての可能なグラフィカルユーザーインターフェースの実装を網羅することを意図していないことに留意されたい。
【0111】
テーブル548は、デジタル音声信号ソースのコーパスの1つまたは複数のデジタル音声信号ソースのリストを含む。リストは、様々な異なるエンドユーザー入力に応えてテーブル548に提示され得る。例えば、リストは、キーワードと関連付けられたか、またはキーワードによりタグ付けもしくは索引付けされたデジタル音声信号ソースを求めてコーパスを検索するためにグラフィカルユーザーインターフェースを介してエンドユーザーによって入力されたキーワードベースの検索クエリに応えて、検索結果として提示され得る。ただし、リストは、他の理由(コーパスをブラウズした結果のリスト、人気のある音のリスト、お気に入りの音のリスト、最近使用した、アクセスした、または再生した音のリストなど)のために提示されてもよく、特定の理由は必要とされない。
【0112】
テーブル548は、提示されるデジタル音声信号ソースごとの行を含む。この例では、4行550、552、554、及び546が提示されているが、他の状況ではより多いまたはより少ないであろう。各行はデジタル音声信号に対応し、信号の再生時間長、信号の波形、信号ソースのファイル名を示し、選択されたデジタル音声信号に類似して聞こえるコーパスの音を示すためのユーザーインターフェースのコントロール(例えば、選択可能なボタンまたはアイコン)を提供する。行は、より多くの情報またはより少ない情報を含むであろう。例えば、行は、デジタル音声信号の1つまたは複数のサウンドコンテンツカテゴリを含み、例えば音声信号を再生すること、音声信号ソースをお気に入りに登録すること、または音声信号ソースをダウンロードすることなどの操作のための他のユーザーインターフェースのコントロールを提供するであろう。
【0113】
図6は、いくつかの実施形態による、エンドユーザーが、図5に示されたグラフィカルユーザーインターフェースの状態でユーザーインターフェースコントロール558の「類似を表示」を選択またはアクティブ化したのに応えたグラフィカルユーザーインターフェースの状態の変化のモックアップである。エンドユーザーの選択に応えて、いくつかの追加の行658、660、662、664、及び666がテーブル548に表示される。追加の行は、行552が表す選択された基準音声信号ソースに類似して聞こえるデジタル音声信号を含むコーパス内のデジタル音声信号ソースを表す。この例では、基準音声信号を含む類似した音声信号のすべては、電気ピアノでの中央のCをたたいたように聞こえる。ただし、すべての音声信号が同一に聞こえるとは限らない。
【0114】
コーパスの中で基準音声信号に最も類似して聞こえる音声信号を決定するために、信号が属するサウンドコンテンツカテゴリのターゲットモデルによって信号のために生成された音の埋め込みが使用され得る。例えば、信号のための音埋め込み間の計算されたコサイン距離が、検索アルゴリズムの類似性/非類似性の基準として使用される場合、近似最近傍検索アルゴリズムまたは他の適切な検索アルゴリズムが、基準音声信号に類似して聞こえるコーパス内の上位N(例えば、上位5つ)の信号を識別するために使用され得る。いくつかの実施形態では、コサイン距離が検索アルゴリズムの類似性/非類似性の基準として使用されるが、他の実施形態では他の距離測定値が使用される。例えば、ユークリッド距離または他の適切な距離基準が使用されるであろう。
【0115】
したがって、音の埋め込みがコーパス内のデジタル音声信号のために生成された結果、エンドユーザーは、類似して聞こえる音声信号を求めてキーワード検索を行う必要なく、及び類似して聞こえる音声信号を、それらが類似して聞こえるかどうかを決定するために傾聴する(再生する)必要なく、コーパス内の選択された基準音声信号に類似して聞こえるデジタル音声信号を含むデジタル音声信号ソース(例えば、ファイル)を発見することができる。
【0116】
4.2 検索入力としての音
いくつかの実施形態によれば、エンドユーザーは、コーパス内の既存のデジタル音声信号ソースを選択する代わりに、類似音検索への入力として自分のパーソナルコンピューティングデバイスを使用して取り込まれたデジタル音声録音を提供する。言い換えると、基準デジタル音声信号は、エンドユーザーが生成または演奏する音のマイクロホン録音に基づいて生成された信号である。マイクロホンは、エンドユーザーのパーソナルコンピューティングデバイスのコンポーネントであるか、またはパーソナルコンピューティングデバイスに結合されてよい。パーソナルコンピューティングデバイスは、データ通信ネットワーク(例えば、インターネット)によってサーバシステムに結合され得る。サーバシステムは、類似音検索を実装し、デジタル音声信号ソースのコーパス、及び本明細書に開示される技術を使用して生成され、それらに関連付けられて生成された音の埋め込みにアクセスし得る。
【0117】
例えば、本発明のいくつかの実施形態では、エンドユーザーパーソナルコンピューティングデバイスは、マイクロホンで構成された携帯電話、または他の携帯コンピューティングデバイスである。デバイスは、アプリケーション(モバイルアプリケーション)で構成される。アプリケーションを用いて、エンドユーザーは、アプリケーションのグラフィカルユーザーインターフェースコントロールによって、「録音開始」または類似したオプションを選択できる。このオプションを選択すると、マイクロホンがアクティブ化され、アプリケーションと協調するデバイスが、マイクロホンによって取り込まれる音をデジタル音声信号として録音し始める。エンドユーザーは、次いでマイクロホンによって取り込まれる所望の音を生成し得る。例えば、エンドユーザーは、興味のあるメロディーを歌う、楽器を演奏する、興味のあるドラムパターンをタップする、または興味のあるドラムもしくはリズムのパターンを声でビートボックスし得る。エンドユーザーが所望の音の生成またはパフォーマンスを終了すると、エンドユーザーは、アプリケーションのグラフィカルユーザーインターフェースコントロールを介して「録音停止」または類似したオプションを選択し得る。
【0118】
アプリケーションは、次いで、グラフィカルユーザーインターフェースコントロールを介して、エンドユーザーが録音された音に類似した音を検索するオプションを提供し得る。このオプションを選択すると、アプリケーションと協調するデバイスは、ネットワークを介してサーバシステムに記録されたデジタル音声信号を提出し得る。サーバシステムは、本明細書に開示される技術を使用して、デジタル音声信号のための音の埋め込みを生成し得る。例えば、デジタル音声信号の選択されたスライスのマグニチュードスペクトログラムは、本明細書に開示される技術を使用して生成され得、生成されたスペクトログラムは、記録されたデジタル音声信号のための音の埋め込みを生成するために、ターゲットモデルで構成された人工ニューラルネットワークの順方向パスを通して入力され得る。
【0119】
音の埋め込みが生成されると、デジタル音声信号ソースのコーパス内の類似音は、検索アルゴリズム(例えば、近似最近傍検索)を使用して識別することができ、コーパス内の上位Nの最も類似して聞こえるデジタル音声信号ソースは、モバイルアプリケーションによるエンドユーザーへの提示のためにエンドユーザーのデバイスの返すことができる。例えば、行658、660、662、664、及び666のようなテーブル行は、最も類似して聞こえるデジタル音声信号ソースについてアプリケーションのグラフィカルユーザーインターフェースでエンドユーザーに提示され得る。
【0120】
本発明のいくつかの実施形態では、記録されたデジタル音声信号のサウンドコンテンツカテゴリは(例えば、アプリケーションのグラフィカルユーザーインターフェース制御を介して)エンドユーザーによって選択される。本発明のいくつかの実施形態では、記録されたデジタル音声信号のサウンドコンテンツカテゴリは、アプリケーションまたはサーバシステムによって自動的に検出される。サーバシステムは、選択または検出されたサウンドコンテンツカテゴリに基づいて録音されたデジタル音声信号のための音の埋め込みを生成するために使用するための適切なターゲットモデルを選択できる。サーバシステムはまた、検索のために検討されたすべてのデジタル音声信号ソースが、選択または検出されたサウンドコンテンツカテゴリに割り当てられるか、または選択または検出されたサウンドコンテンツカテゴリに属し、記録されたデジタル音声信号のための音の埋め込みを生成するために使用されるターゲットモデルと同じターゲットモデルによって生成された同等な音の埋め込みを有するように、選択または検出されたサウンドコンテンツカテゴリに基づいて類似音を検索するためにデジタル音声信号ソースのコーパスを選択することができる。
【0121】
4.3 ほぼ重複する音の検出
本発明のいくつかの実施形態によれば、デジタル音声信号のために生成された音の埋め込みは、ほぼ重複する音を検出するために使用される。例えば、デジタル音声信号のコーパス(ライブラリ)内の既存のデジタル音声信号は、例えばオリジナルのボーカルサンプル、オリジナルのドラムリズム、またはオリジナルの楽器進行(例えばオリジナルのメロディーリフ)などのオリジナルの著作成果物を包含し得る。デジタル音声信号は、別の人によって、例えば圧縮、等化、時間ストレッチ、ピッチシフトなどの1つまたは複数のプロセスを使用してわずかに修正されて、この人がコーパスに追加して、それを自身のオリジナルの著作成果物として提供する新しいデジタル音声信号を生成し得る。コーパスのキュレータまたは運営者(例えば、クラウドベースのデジタル音楽ライブラリプロバイダ)は、著作権紛争を防止する目的で、またはほぼ重複する音を識別することが有用である他の目的のために、そのようなほぼ重複するデジタル音声信号の識別を支援する技術を評価するであろう。
【0122】
デジタル音声信号のための音の埋め込みを生成するための本明細書に開示される技術を用いて、音の埋め込みは、デジタル音声信号のコーパスまたはライブラリへの追加のために提出またはアップロードされたデジタル音声信号のために生成できる。提出またはアップロードされたデジタル音声信号のために生成された音の埋め込みは、距離基準によって、コーパスまたはライブラリ内の既存のデジタル音声信号のために生成された音の埋め込みに比較できる。(a)提出またはアップロードされたデジタル音声信号のための音の埋め込みと、(b)既存のデジタル音声信号のための音の埋め込みとの間の距離(例えば、コサイン類似性、ユークリッド距離など)が閾値未満である(つまり、距離で近い)場合、次いで提出またはアップロードされたデジタル音声信号及び既存のデジタル音声信号は、例えば、互いにほぼ重複するものとして(コンピュータデータベースで、またはコンピュータグラフィカルユーザーインターフェースで)フラグを付ける(示す)ことができる。
【0123】
本発明のいくつかの実施形態では、距離閾値は、デジタル音声信号のサウンドコンテンツカテゴリに応じて変わる場合がある。例えば、距離閾値は、サウンドコンテンツカテゴリでの信号の統計的分布の分散に応じて変わる場合がある。所与のサウンドコンテンツカテゴリにおける統計的分布の分散が小さいときは、小さい距離閾値が、所与のサウンドコンテンツカテゴリに使用され得、統計的分散の程度がより大きいときは、より大きいこり閾値が使用され得る。例えば、カテゴリの信号の統計的分布は共通する多く(例えば、開始の場所、均一な持続時間及び減衰パターン、音色の多様性の少なさなど)を有し得るため、ドラムワンショットカテゴリの信号は、比較的に小さい分散を有する可能性がある。結果として、ドラムワンショットカテゴリの信号のために生成された音の埋め込みは、平均すると、それらの間のより小さい距離を有し得、その結果、例えば、楽器ワンショットカテゴリまたは他のカテゴリの信号のために生成された音の埋め込みは、カテゴリの信号の統計的分布でより大きい分散を有する。結果として、ほぼ重複する検出の場合、ほぼ重複する検出の精度を高めるために(例えば、誤判定を減らすために)、より小さい距離閾値がより小さい分散カテゴリに使用され得る。より大きい距離閾値はまた、ほぼ重複する検出の精度を高めるために(例えば、検出漏れを減らすために)より大きい分散カテゴリに使用され得る。
【0124】
5.0 実装メカニズムーハードウェアの概要
ここで図7を参照すると、本発明のいくつかの実施形態が実装され得る例示的なコンピューティングデバイス700を示すのはブロック図である。
【0125】
接続、関係性、及び機能を含むコンピューティングデバイス700及びそのコンポーネントは、例としてのみ提供されており、本発明の実装を制限することを意図していない。本発明のいくつかの実施形態を実装するために適切な他のコンピューティングデバイスは、異なる接続、関係、及び機能を有するコンポーネントを含む異なるコンポーネントを有し得る。
【0126】
コンピューティングデバイス700は、メインメモリ706をアドレス指定するため、及びデバイス700の様々なコンポーネント間及びの中でデータを転送するためのバス702または他の通信機構を含む。
【0127】
コンピューティングデバイス700はまた、情報を処理するためにバス702と結合された1つまたは複数のハードウェアプロセッサ704を含む。ハードウェアプロセッサ704は、中央演算処理装置(CPU)、システムオンチップ(SoC)、グラフィックスプロセッシングユニット(GPU)、または他のタイプのマイクロプロセッサなどの汎用マイクロプロセッサであり得る。
【0128】
ランダムアクセスメモリ(RAM)または他の動的記憶装置などのメインメモリ706は、情報、及びプロセッサ(複数可)704によって実行されるソフトウェア命令を記憶するためにバス702に結合される。メインメモリ706はまた、プロセッサ(複数可)704によって実行されるソフトウェア命令の実行中に、一時変数または他の中間情報を格納するために使用され得る。
【0129】
ソフトウェア命令は、プロセッサ(複数可)704がアクセス可能な記憶媒体に格納されると、コンピューティングデバイス700をソフトウェア命令に指定された操作を実行するためにカスタマイズされた専用コンピューティングデバイスにする。用語「ソフトウェア」、「ソフトウェア命令」、「コンピュータプログラム」、「コンピュータ-実行可能命令」、及び「プロセッサ-実行可能命令」は、人間により読み取り可能かどうかに関わらず、コンピューティングデバイスに特定の動作を実行するように命令するための任意のマシン可読情報をカバーするものとして広く解釈され、アプリケーションソフトウェア、デスクトップアプリケーション、スクリプト、バイナリ、オペレーティングシステム、デバイスドライバ、ブートローダ、シェル、ユーティリティ、システムソフトウェア、JAVASCRIPT(登録商標)、Webページ、Webアプリケーション、プラグイン、組み込みソフトウェア、マイクロコード、コンパイラ、デバッガ、インタプリタ、仮想マシン、リンカ、及びテキストエディタを含むが、これらに限定されない。
【0130】
コンピューティングデバイス700は、プロセッサ(複数可)704のための静的情報及びソフトウェア命令を記憶するために、バス702に結合された読み取り専用メモリ(ROM)708または他の静的記憶装置を含む。
【0131】
1つまたは複数の大容量記憶装置710は、磁気、光学、ソリッドステート、光磁気、フラッシュメモリ、または任意の他の利用可能な大容量記憶技術などの固定媒体またはリムーバブル媒体に情報及びソフトウェア命令を永続的に格納するために、バス702に結合される。大容量記憶装置は、ネットワーク上で共有される場合もあれば、大容量記憶装置は、専用の大容量記憶装置である場合もある。
【0132】
通常、大容量記憶装置710の少なくとも1つ(例えば、デバイスのメインソリッドステートドライブまたはハードディスク)は、オペレーティングシステム、ユーザーアプリケーションプログラム、ドライバ、及びすべての種類の他のデータファイルだけではなく他のサポートファイルを含む、コンピューティングデバイスの動作を指示するためのプログラム及びデータの本体を格納する。
【0133】
コンピューティングデバイス700は、情報をコンピュータユーザーに表示するために、バス702を介して、液晶ディスプレイ(LCD)または他の電子視覚ディスプレイなどのディスプレイ712に結合され得る。いくつかの構成では、タッチ検出技術(例えば、抵抗性、容量性など)を組み込んだタッチセンサ式表面は、タッチジェスチャ(例えば、指またはスタイラス)入力をプロセッサ(複数可)704に通信するためのタッチセンサ式ディスプレイを形成するためにディスプレイ712と統合され得る。
【0134】
英数字キー及び他のキーを含む入力装置714は、情報及びコマンド選択をプロセッサ704に通信するためにバス702に結合され得る。英数字キー及び他のキーに加えて、または英数字キー及び他のキーの代わりに、入力装置714は、例えば電源(オン/オフ)ボタン、「ホーム」ボタン、音量調節ボタンなどの1つまたは複数の物理的なボタンまたはスイッチを含み得る。
【0135】
別のタイプのユーザー入力装置は、方向情報及びコマンド選択をプロセッサ704に伝達するために、及びディスプレイ712上でのカーソルの動きを制御するために、マウス、トラックボール、またはカーソル方向キーなどのカーソルコントロール716であり得る。この入力装置は、通常、デバイスが平面で位置を指定することを可能にする2つの軸、つまり第1の軸(例えば、x)及び第2の軸(例えば、y)で2つの自由度を有する。
【0136】
図7に示される構成などのいくつかの構成では、ディスプレイ712、入力装置714、及びカーソルコントロール716の1つまたは複数が、コンピューティングデバイス700の外部コンポーネント(例えば、周辺装置)であるが、他の構成では、ディスプレイ712、入力装置714、及びカーソルコントロール716の一部またはすべてはコンピューティングデバイス700のフォームファクタの一部として統合される。
【0137】
開示されたシステム、方法、及びモジュールの機能は、プロセッサ(複数可)704が、メインメモリ706に含まれるソフトウェア命令の1つまたは複数のプログラムを実行したことに応えて、コンピューティングデバイス700によって実行され得る。そのようなソフトウェア命令は、記憶装置(複数可)710などの別の記憶媒体からメインメモリ706に読み込まれ得る。メインメモリ706に含まれるソフトウェア命令を実行すると、プロセッサ(複数可)704は本発明のいくつかの実施形態の機能を実行する。
【0138】
本発明のいくつかの実施形態の機能及び動作は、ソフトウェア命令で完全に実装され得るが、コンピューティングデバイス700のハードワイヤード回路またはプログラム可能回路(例えば、ASIC、FPGAなど)は、本発明のいくつかの実施形態では、目前の特定の実装の要件に従って、機能を実行するためのソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて使用され得る。
【0139】
本明細書で使用される場合、用語「記憶媒体」は、コンピューティングデバイスを特定の方法で動作させるデータまたはソフトウェア命令を格納する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体または揮発性媒体を含み得る。不揮発性媒体は、例えば、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、光ディスク、磁気ディスク、または記憶装置710などのソリッドステートドライブを含む。揮発性媒体は、メインメモリ706などの動的メモリを含む。記憶媒体の共通の形式は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD-ROM、他の光学データ記憶媒体、孔パターンを有する物理媒体、RAM、PROM、及びEPROM、FLASH(登録商標)-EPROM、NVRAM、フラッシュメモリ、任意の他のメモリチップまたはカートリッジを含む。
【0140】
記憶媒体は、伝送媒体とは別であるが、伝送媒体と併せて使用され得る。伝送媒体は、記憶媒体間での情報の転送に関与する。例えば、伝送媒体は、バス702を含むワイヤを含む、同軸ケーブル、銅線及び光ファイバを含む。伝送媒体はまた、電波データ通信及び赤外線データ通信の間に生成されるものなど、音波または光波の形をとる可能性がある。
【0141】
様々な形の媒体は、実行のために、1つまたは複数のソフトウェア命令の1つまたは複数のシーケンスをプロセッサ(複数可)704に搬送することに関与し得る。例えば、ソフトウェア命令は、最初にリモートコンピュータの磁気ディスクまたはソリッドステートドライブで搬送され得る。
【0142】
リモートコンピュータは、ソフトウェア命令をその動的メモリにロードし、モデムを使用して電話回線を介してソフトウェア命令を送信することができる。コンピューティングデバイス700にとってローカルであるモデムは、電話回線でデータを受信し、赤外線送信機を使用して、データを赤外線信号に変換することができる。赤外線検出器は、赤外線信号で搬送されるデータを受信し、適切な回路はデータをバス702に配置できる。バス702は、データをメインメモリ706に搬送し、プロセッサ(複数可)704はメインメモリ706からデータを取り出し、ソフトウェア命令を実行する。メインメモリ706によって受信されたソフトウェア命令は、プロセッサ(複数可)704による実行の前または後のどちらかに記憶装置(複数可)710に任意選択で格納され得る。
【0143】
コンピューティングデバイス700はまた、バス702に結合される1つまたは複数の通信インターフェース(複数可)718を含み得る。通信インターフェース718は、ローカルネットワーク722(例えば、イーサネット(登録商標)ネットワーク、無線ローカルエリアネットワーク、携帯電話網、ブルートゥース(登録商標)無線ネットワークなど)に接続された有線または無線のネットワークリンク720に結合する双方向データ通信を提供する。通信インターフェース718は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁気信号、または光信号を送信及び受信する。例えば、通信インターフェース718は、有線ネットワークインターフェースカード、統合無線アンテナを有する無線ネットワークインターフェースカード、またはモデム(例えば、ISDN(登録商標)、DSL、またはケーブルモデム)であり得る。
【0144】
ネットワークリンク(複数可)720は、通常、1つまたは複数のネットワークを介して他のデータデバイスにデータ通信を提供する。例えば、ネットワークリンク720は、ローカルネットワーク722を介して、ホストコンピュータ724またはインターネットサービスプロバイダ(ISP)726によって操作されるデータ機器への接続を提供し得る。ISP726は、次に、現在一般に「インターネット」728と呼ばれている世界規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク(複数可)722及びインターネット728は、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。コンピューティングデバイス700との間でデジタルデータを搬送する、様々なネットワークを通る信号、及びネットワークリンク(複数可)720上及び通信インターフェース(複数可)718を通る信号は、伝送媒体の例示的な形である。
【0145】
コンピューティングデバイス700は、ネットワーク(複数可)、ネットワークリンク(複数可)720、及び通信インターフェース(複数可)718を通してメッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ730は、インターネット728、ISP726、ローカルネットワーク(複数可)722、及び通信インターフェース(複数可)718を通してアプリケーションプログラムの要求されたコードを送信する可能性がある。受信されたコードは、それが受信されたとおりにプロセッサ704によって実行され得る、及び/または後の実行のために、記憶装置710、または他の不揮発性ストレージに格納され得る。
【0146】
受信されたコードは、それが受信されたとおりにプロセッサ704によって実行され得る、及び/または後の実行のために、記憶装置710もしくは他の不揮発性ストレージに記憶され得る。
【0147】
6.0 実装メカニズムーソフトウェアの概要
図8は、例示的なコンピューティングデバイス800の動作を制御するために採用され得る例示的なソフトウェアシステム800のブロック図である。接続、関係、及び機能を含むソフトウェアシステム800及びそのコンポーネントは、例示となることのみを意図しており、本発明の実施を限定することを意図していない。本発明のいくつかの実施形態を実装するために適切な他のソフトウェアシステムは、異なる接続、関係、及び機能を有するコンポーネントを含む異なるコンポーネントを有し得る。
【0148】
ソフトウェアシステム800は、コンピューティングデバイス700の動作を指示するために提供される。システムメモリ(RAM)706及び固定記憶装置(例えば、ハードディスクまたはフラッシュメモリ)710に格納され得るソフトウェアシステム800は、カーネルまたはオペレーティングシステム(OS)810を含む。
【0149】
OS810は、プロセスの実行、メモリ割り当て、ファイル入出力(I/O)、及びデバイスI/Oの管理を含むコンピュータ動作の低レベルの態様を管理する。802A、802B、802C、...802Nとして表される1つまたは複数のアプリケーションプログラムは、システム800による実行のために「ロード」(例えば、固定記憶装置710からメモリ706に転送)され得る。デバイス800での使用に意図されるアプリケーションまたは他のソフトウェアはまた、例えば、インターネットの場所(例えば、ウェブサーバ、アプリストア、または他のオンラインサービス)からのダウンロード及びインストールのためなど、ダウンロード可能なコンピュータ実行可能命令のセットとして格納され得る。
【0150】
ソフトウェアシステム800は、グラフィカル(例えば、「ポイントアンドクリック」または「タッチジェスチャ」)方式でユーザーコマンド及びデータを受信するためのグラフィカルユーザーインターフェース(GUI)815を含む。これらの入力は、次に、オペレーティングシステム810またはアプリケーション(複数可)802からの命令に従って、システム800によって作用され得る。GUI815はまた、OS810及びアプリケーション(複数可)802からの操作の結果を表示する働きをし、そこでユーザーは、追加の入力を供給するか、またはセッションを終了(例えば、ログオフ)し得る。
【0151】
OS810は、デバイス700の裸のハードウェア820(例えば、プロセッサ(複数可)704)上で直接的に実行することができる。代わりに、ハイパーバイザまたは仮想マシンモニタ(VMM)830は、裸のハードウェア820とOS810との間に介在してもよい。この構成では、VMM830は、デバイス700のOS810と裸のハードウェア820との間のソフトウェア「クッション」または仮想化層として機能する。
【0152】
VMM830は、1つまたは複数の仮想マシンインスタンス(「ゲストマシン」)をインスタンス化し、実行する。各ゲストマシンは、OS810などの「ゲスト」オペレーティングシステムと、ゲストオペレーティングシステム上で実行するように設計されたアプリケーション(複数可)802などの1つまたは複数のアプリケーションとを含む。VMM830は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提供し、ゲストオペレーティングシステムの実行を管理する。
【0153】
いくつかの例では、VMM830は、ゲストオペレーティングシステムが、あたかもそれがデバイス700の裸のハードウェア820上で直接的に実行しているかのように実行することを可能にし得る。これらの例では、裸のハードウェア820上で直接的に実行するように構成された同じバージョンのゲストオペレーティングシステムも、修正または再構成なしで、VMM830上で実行し得る。言い換えると、VMM830は、いくつかの例では、完全なハードウェア及びCPU仮想化をゲストオペレーティングシステムに提供し得る。
【0154】
他の例では、ゲストオペレーティングシステムは、効率のためにVMM830上で実行するように特別に設計または構成され得る。これらの例では、ゲストオペレーティングシステムは、それが仮想マシンモニタで実行することを「認識」している。言い換えると、VMM830は、いくつかの例では、準仮想化をゲストオペレーティングシステムに提供し得る。
【0155】
上述の基本的なコンピュータハードウェア及びソフトウェアは、本発明のいくつかの実施形態を実装するために採用され得る基本的な基礎となるコンピュータコンポーネントを示す目的で提示されている。しかしながら、本発明は、任意の特定のコンピューティング環境またはコンピューティングデバイス構成に必ずしも限定されない。代わりに、本発明のいくつかの実施形態は、当業者が、本開示を鑑みて、本明細書に提示される特徴及び機能をサポートできるとして理解するであろう任意のタイプのシステムアーキテクチャまたは処理環境で実装され得る。
【0156】
7.0 本開示の他の態様
文脈が明確に別段の指示をしない限り、用語「または」は、上述の明細書において及び添付の特許請求の範囲において、その包含的な趣旨で(排除的な趣旨ではなく)用いられ、例えば要素のリストをつなぐのに用いられる際、用語「または」はリストの中の要素の1つ、一部またはすべてを意味する。
【0157】
文脈が明確に別段の指示をしない限り、用語「含む(comprising)」、「含む(including)」、「有する(having)」、「に基づく(based on)」、「包含する(encompassing)」は、上述の明細書及び添付の特許請求の範囲においてオープンエンド式で使用され、追加の要素、機能、行為、または操作を除外しない。
【0158】
文脈が明確に別段の指示をしない限り、語句「X、Y、及びZのうちの少なくとも1つ」などの接続的言語は、物品、用語などがX、Y、またはZ、またはそれらの組み合わせであってもよいことを伝えると理解される。したがって、そのような接続的言語は、ある実施形態が、Xの少なくとも1つ、Yの少なくとも1つ、及びZの少なくとも1つがそれぞれ存在することを必要とすることを含意することは意図していない。
【0159】
文脈が明確に別段の指示をしない限り、上述の詳細な説明及び添付の特許請求の範囲で使用されるように、単数形「a」、「an」、及び「the」は複数形をも含むことが意図される。
【0160】
文脈が明確に別段の指示をしない限り、上述の詳細な説明及び添付の特許請求の範囲では、用語、第1の、第2のなどは、いくつかの例では、様々な要素を説明するために本明細書で使用されているが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためだけに使用される。例えば、第1のコンピューティングデバイスは、第2のコンピューティングデバイスと称される場合があり、同様に、第2のコンピューティングデバイスは第1のコンピューティングデバイスと称される場合があるであろう。第1のコンピューティングデバイス及び第2のコンピューティングデバイスはともにコンピューティングデバイスであるが、それらが同じコンピューティングデバイスではない。
【0161】
上述の明細書において、本発明のいくつかの実施形態は、実施態様ごとに異なる場合がある多数の具体的な詳細を参照して説明されてきた。したがって、明細書及び図面は、制限的な意味ではなく例示的なものと見なされる。本発明の範囲の唯一かつ排他的な指標、及び出願人が本発明の範囲であると意図するものは、任意の後の修正を含む、そのような請求項が発行される特定の形で本出願から発行される一連の請求項の範囲の文字通り及び同等の範囲である。
図1
図2
図3
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2023-03-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
定のサウンドコンテンツカテゴリと関連付けられたデジタル音声信号ソースのセットのうちの特定のデジタル音声信号ソースを読み取ることと、
前記特定のデジタル音声信号に基づいて時間周波数表現を生成することと、
人工ニューラルネットワークを使用して、前記時間周波数表現の潜在空間表現を提供する数値コードのセットを学習することであって、前記数値コードのセットが、前記時間周波数表現の次元に満たない次元を有する、学習することと、
前記人工ニューラルネットワークを訓練するために、前記特定のサウンドコンテンツカテゴリの前記デジタル音声信号ソースのセットの複数の他のデジタル音声信号ソースのそれぞれに対して、前記読み取ること、前記生成すること、及び前記学習することを繰り返すことと、
前記訓練された人工ニューラルネットワークから、学習されたモデルパラメータのセットを取得することと、
コンピュータ記憶媒体に、前記特定のサウンドコンテンツカテゴリのための前記学習されたモデルパラメータのセットを格納することと
を含む、方法。
【請求項2】
前記特定のサウンドコンテンツカテゴリと関連付けられた第1のデジタル音声信号に基づいて第1の時間周波数表現を生成することと、
前記第1の時間周波数表現の潜在空間表現を提供する数値コードの第1のセットを計算するために、前記学習されたモデルパラメータのセットを使用することと、
前記特定のサウンドコンテンツカテゴリと関連付けられた第2のデジタル音声信号に基づいて第2の時間周波数表現を生成することと、
前記第2の時間周波数表現の潜在空間表現を提供する数値コードの第2のセットを計算するために、前記学習されたモデルパラメータのセットを使用することと、
前記数値コードの第1のセットと、前記数値コードの第2のセットとの間の距離を計算することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記距離に基づいて、前記第1のデジタル音声信号及び前記第2のデジタル音声信号が類似音を包含する旨の表示を、コンピュータグラフィカルユーザーインターフェースに提示させることをさらに含む、請求項2に記載の方法。
【請求項4】
コンピューティングデバイスからデータ通信ネットワークを介して前記第1のデジタル音声信号を受信することをさらに含み、
前記第1のデジタル音声信号が、人間が可聴のパフォーマンスを録音する前記コンピューティングデバイスの、または人間が可聴のパフォーマンスを記録する前記コンピューティングデバイスに動作可能なように結合されたマイクロホンを使用して、前記コンピューティングデバイスによって取り込まれる、
請求項2または3に記載の方法。
【請求項5】
前記距離を距離閾値と比較することと、
前記距離が前記距離閾値未満であることに基づいて、前記第1のデジタル音声信号及び前記第2のデジタル音声信号がほぼ重複する音を包含する旨の表示を、コンピュータグラフィカルユーザーインターフェースに提示させることと
をさらに含む、請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記特定のサウンドコンテンツカテゴリに基づいて前記距離閾値を選択することをさらに含む、請求項5に記載の方法。
【請求項7】
前記数値コードの第1のセットと前記数値コードの第2のコードとの間のコサイン類似性に基づいて、前記数値コードの第1のセットと前記数値コードの第2のコードとの間の前記距離を計算することをさらに含む、請求項5または6に記載の方法。
【請求項8】
前記特定のサウンドコンテンツカテゴリが、ループ及びワンショットから成るグループから選択される、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記特定のサウンドコンテンツカテゴリが、ドラムループ、ドラムワンショット、楽器ループ、及び楽器ワンショットから成るグループから選択される、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記人工ニューラルネットワークが、入力層と、1つまたは複数のエンコーダ中間層と、ボトルネック層と、1つまたは複数のデコーダ中間層と、出力層とを備え、前記方法が、前記時間周波数表現の前記潜在空間表現を提供する前記数値コードのセットを前記ボトルネック層から取得することをさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記1つまたは複数のエンコーダ中間層が、1つまたは複数の畳み込み層を備え、前記1つまたは複数のデコーダ中間層が、1つまたは複数の畳み込み層を備える、請求項10に記載の方法。
【請求項12】
前記特定のデジタル音声信号に基づいて前記時間周波数表現を生成することが、
前記特定のデジタル音声信号に基づいて前処理された信号を取得することと、
前記前処理された信号に基づいて持続時間正規化信号を生成することと、
前記持続時間正規化信号の時間シフトスライス信号を選択することであって、前記時間シフトスライス信号が特定の持続時間を有する、選択することと、
前記時間シフトスライス信号に基づいて前記時間周波数表現を生成することと
に基づく、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記特定のサウンドコンテンツカテゴリに基づいて前記特定の持続時間を選択することをさらに含む、請求項12に記載の方法。
【請求項14】
前記特定のデジタル音声信号に基づいて前記時間周波数表現を生成することが、
前記特定のデジタル音声信号に基づいて持続時間正規化信号を生成することと、
前記持続時間正規化信号に基づいて前処理された信号を生成することと、
前記前処理された信号の時間シフトスライス信号を選択することであって、前記時間シフトスライス信号が特定の持続時間を有する、選択することと、
前記時間シフトスライス信号に基づいて前記時間周波数表現を生成することと
に基づく、請求項1から11のいずれか一項に記載の方法。
【請求項15】
前記特定のデジタル音声信号に基づいて複数の潜在空間表現を生成することと、
前記人工ニューラルネットワークを使用して、前記複数の潜在空間表現のうちの潜在空間表現を提供する数値コードの複数のセットを学習することと
をさらに含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
コンピューティングシステムであって、
つまたは複数のハードウェアプロセッサと、
記憶媒体と、
前記記憶媒体に格納される命令であって、前記コンピューティングシステムによって実行されると、前記コンピューティングシステムに、請求項1から15のいずれか1項に記載の方法を実行させる、前記命令と
を備える、コンピューティングシステム。
【請求項17】
ンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、請求項1から15のいずれか1項に記載の方法を実行させる、コンピュータプログラム
【国際調査報告】