(57)【特許請求の範囲】
【請求項１】
発話の入力オーディオエンコーディングを、対象歌曲にリズム的に調和する出力へと変換するためのコンピュータ処理方法であって、
前記発話の前記入力オーディオエンコーディングを複数のセグメントへと分割することであって、前記複数のセグメントは、前記入力オーディオエンコーディングの複数のサンプルの連続したシーケンスに対応し、かつ、前記サンプルの中で識別される複数の出だしによって境界が定められる、ことと、
前記複数のセグメントのうちの連続して時間順に並んだセグメントを、前記対象歌曲用のリズムスケルトンの其々の連続したパルスと時間的に整列させることと、
前記時間的に整列した複数のセグメントのうちの少なくとも幾つかを時間的に延伸し、かつ、前記時間的に整列した複数のセグメントのうちの少なくとも他の幾つかを時間的に圧縮することであって、前記時間的に延伸および圧縮することは、前記リズムスケルトンの前記連続したパルスのうちの其々のパルス間の利用可能な時間的スペースを実質的に満たし、前記時間的に延伸および圧縮することは、前記時間的に整列した複数のセグメントを実質的にピッチシフトすることなく実施される、ことと、
前記入力オーディオエンコーディングの、前記時間的に整列し且つ延伸および圧縮された複数のセグメントに対応して、結果として生じる前記発話のオーディオエンコーディングを準備することと、
を含む、ことを特徴とするコンピュータ処理方法。
【請求項２】
前記結果として生じるオーディオエンコーディングを、前記対象歌曲用のバッキングトラックのオーディオエンコーディングとミキシングすることと、
前記ミキシングされたオーディオを可聴的に提供することと、
をさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項３】
ポータブルハンドヘルドデバイスのマイクロフォン入力から、前記入力オーディオエンコーディングとして、前記ポータブルハンドヘルドデバイスのユーザによって発声された発話を取り込むことをさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項４】
ユーザによる前記対象歌曲の選択に応じて、前記対象歌曲用の前記リズムスケルトンおよびバッキングトラックのうちの少なくとも一方のコンピュータ可読エンコーディングを検索することをさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項５】
前記ユーザの選択に応じて前記検索することは、ポータブルハンドヘルドデバイスの通信インターフェイスを介して、遠隔記憶装置から、前記リズムスケルトンおよび前記バッキングトラックのいずれかもしくはその双方を獲得することを含む、
ことを特徴とする請求項４に記載のコンピュータ処理方法。
【請求項６】
前記分割することは、
帯域制限されたもしくは帯域加重されたスペクトル差タイプ（ＳＤＦタイプ）関数を、前記発話の前記オーディオエンコーディングに適用し、かつ、その結果における時間的に指数付けされた複数のピークを、前記発話の前記オーディオエンコーディング内の複数の出だし候補として選び取ることと、
前記複数の出だし候補の相対的強度に少なくとも部分的に基づいて、前記オーディオエンコーディングの隣接する出だし候補によって境界を定められた複数のサブ部分を、複数のセグメントへとまとめることと、
を含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項７】
前記帯域制限されたもしくは帯域加重されたＳＤＦタイプ関数は、前記オーディオエンコーディング用のパワースペクトルの心理音響に基づいた表現に対して動作し、
前記帯域制限もしくは帯域加重は、約２０００Ｈｚ未満の前記パワースペクトルのサブ帯域を強調する、ことを特徴とする請求項６に記載のコンピュータ処理方法。
【請求項８】
前記強調されたサブ帯域は、約７００Ｈｚから約１５００Ｈｚの間である、ことを特徴とする請求項７に記載のコンピュータ処理方法。
【請求項９】
前記まとめることは、最小セグメント長閾値に少なくとも部分的に基づいて実施される、ことを特徴とする請求項６に記載のコンピュータ処理方法。
【請求項１０】
前記リズムスケルトンは、前記対象歌曲のテンポのパルス列エンコーディングに対応する、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１１】
前記対象歌曲は、複数の構成リズムを含み、
前記パルス列エンコーディングは、前記構成リズムの複数の相対的強度に従ってスケール変更された其々のパルスを含む、ことを特徴とする請求項１０に記載のコンピュータ処理方法。
【請求項１２】
前記リズムスケルトンを作成するために、前記対象歌曲のバッキングトラック用のビート検出を実施することをさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１３】
位相ボコーダを利用して、実質的にピッチシフトすることなく、前記延伸および圧縮を実施することをさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１４】
前記延伸および圧縮は、前記時間的に整列した複数のセグメントの其々に対し、前記リズムスケルトンの複数の連続したパルス間が満たされる時間的スペースに対するセグメント長の其々の比に従って変化する割合で、リアルタイムに実施される、ことを特徴とする請求項１３に記載のコンピュータ処理方法。
【請求項１５】
前記オーディオエンコーディングの前記時間的に整列した複数のセグメントのうちの少なくとも幾つかに対して、前記リズムスケルトンの複数の前記連続したパルスのうちの其々のパルス間の利用可能な時間的スペースを実質的に満たすために、無音を挿入することをさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１６】
前記連続して順に並んだ複数のセグメントの、前記リズムスケルトンへの複数の候補マッピングの各々に対して、前記連続して順に並んだ複数のセグメントのうちのそれぞれ一つに適用された時間的な延伸および圧縮の比率の統計学的分布を評価することと、
前記複数の其々の統計学的分布に少なくとも部分的に基づいて、前記複数の候補マッピングの間から選択することと、
をさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１７】
前記連続して順に並んだ複数のセグメントの、前記リズムスケルトンへの複数の候補マッピングであって、複数の異なる開始点を有する前記複数の候補マッピングの各々について、特定の前記候補マッピングに対して前記時間的な延伸および圧縮の大きさを計算することと、
前記其々の計算された大きさに少なくとも部分的に基づいて、前記複数の候補マッピングの中から選択することと、
をさらに含む、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項１８】
前記其々の大きさは、前記延伸および圧縮の比率の幾何平均として計算され、
前記選択は、前記計算された幾何平均を実質的に最小限化する候補マッピングの選択である、ことを特徴とする請求項１７に記載のコンピュータ処理方法。
【請求項１９】
コンピュートパッド、
パーソナルデジタルアシスタントもしくはブックリーダ、及び
携帯電話もしくはメディアプレイヤー
の群から選択されたポータブルコンピューティングデバイス上で実施される、ことを特徴とする請求項１に記載のコンピュータ処理方法。
【請求項２０】
ポータブルコンピューティングデバイスと、
非一時的媒体において具現化されたマシン可読コードであって、発話の入力オーディオエンコーディングを、前記入力オーディオエンコーディングのうちの複数のサンプルの出だしによって境界を定められた複数の連続したシーケンスを含む複数のセグメントへと分割するよう、前記ポータブルコンピューティングデバイス上で実行可能なマシン可読コードと、
を含み、
前記マシン可読コードは、前記複数のセグメントのうちの連続して時間順に並んだセグメントを、対象歌曲用のリズムスケルトンの其々の連続したパルスと時間的に整列させるように、さらに実行可能であって、
前記マシン可読コードは、前記時間的に整列した複数のセグメントのうちの少なくとも幾つかを時間的に延伸し、かつ、前記時間的に整列した複数のセグメントのうちの少なくとも他の幾つかを時間的に圧縮するようにさらに実行可能であって、前記時間的に延伸および圧縮することは、前記時間的に整列した複数のセグメントを実質的にピッチシフトすることなく、前記リズムスケルトンの前記連続したパルスのうちの其々のパルス間の利用可能な時間的スペースを実質的に満たし、
前記マシン可読コードは、前記入力オーディオエンコーディングのうちの、前記時間的に整列し、かつ、延伸および圧縮された複数のセグメントに対応して、結果として生じる前記発話のオーディオエンコーディングを準備するようにさらに実行可能である、ことを特徴とする装置。
【請求項２１】
コンピュータ処理パッド、ハンドヘルドモバイルデバイス、携帯電話、パーソナルデジタルアシスタント、スマートフォン、メディアプレイヤーおよびブックリーダのうちの一つ以上として具現化される、ことを特徴とする請求項２０に記載の装置。
【請求項２２】
非一時的媒体内にエンコードされたコンピュータプログラムであって、ポータブルコンピューティングデバイスを、
発話の入力オーディオエンコーディングを、前記入力オーディオエンコーディングからの複数のサンプルの、出だしによって境界を定められた連続した複数のシーケンスに対応する複数のセグメントへと分割する手段、
前記複数のセグメントのうちの連続して時間順に並んだセグメントを、対象歌曲用のリズムスケルトンの其々の連続したパルスと時間的に整列させる手段、
前記時間的に整列した複数のセグメントのうちの少なくとも幾つかを時間的に延伸し、かつ、前記時間的に整列した複数のセグメントのうちの他の少なくとも幾つかを時間的に圧縮する手段であって、前記時間的に延伸および圧縮することは、前記時間的に整列した複数のセグメントを実質的にピッチシフトすることなく、前記リズムスケルトンの前記連続したパルスのうちの其々のパルス間の利用可能な時間的スペースを実質的に満たす、手段、及び、
前記入力オーディオエンコーディングの前記時間的に整列し、かつ、延伸および圧縮された複数のセグメントに対応して、結果として生じる前記発話のオーディオエンコーディングを準備する手段、
として機能させるためのコンピュータプログラム。
【請求項２３】
前記媒体は、前記ポータブルコンピューティングデバイスによって読み取り可能な媒体であるか、または、前記コンピュータプログラムを前記ポータブルコンピューティングデバイスへ伝送する際に前記ポータブルコンピューティングデバイスによって読み取り可能な媒体である、ことを特徴とする請求項２２に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、発語（発話）の自動処理用のデジタル信号処理を含むコンピュータ処理技術に関し、より詳細には、システムもしくはデバイスが、発語（発話）の入力音声（オーディオ）エンコーディングを、演奏（可聴的な提供）用の拍子もしくはリズムを有する曲（歌曲）、ラップ、もしくは他の表現様式の出力エンコーディングへと自動変換するようにプログラムされうる技術に関する。
【背景技術】
【０００２】
携帯電話および他のハンドヘルドコンピュートデバイスのインストールベースは、圧倒的な数で、かつコンピュータ処理力で日々進化している。世界中の人々のライフスタイルにおいて、ユビキタス、かつ深く確立されると、インストールベースは、ほぼあらゆる文化的および経済的バリアを超越する。コンピュータ処理的には、今日の携帯電話は、１０年に満たない以前のデスクトップコンピュータに匹敵する速度および記憶性能を提供し、視聴覚信号の変換に基づくリアルタイム音合成および他のデジタル信号処理用に驚くほど適したものにしている。
【０００３】
実際には、Ａｎｄｒｏｉｄオペレーティングシステムを実行する競合デバイスと同様に、Ａｐｐｌｅ  Ｉｎｃ．から市販されているｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）およびｉＰａｄ（登録商標）デジタルデバイスなどのｉＯＳ（登録商標）デバイスを含む近年の携帯電話およびハンドヘルドコンピュートデバイスは、全て、音声およびビデオ再生ならびに処理を、極めて良好にサポートする傾向がある。（リアルタイムデジタル信号処理用に適したプロセッサ、メモリおよびＩ／Ｏ機能、ハードウェアおよびソフトウェアＣＯＤＥＣ、オーディオビジュアルＡＰＩなどを含む）これらの性能は、敏感なアプリケーションおよび開発者エコシステムに寄与してきた。音楽アプリケーション領域における実施例は、Ｓｍｕｌｅ，Ｉｎｃ．によって市販され、取り込まれたボーカルのリアルタイムの連続的ピッチ（音の調子）補正を提供する、普及用Ｉ  Ａｍ  Ｔ−ＰａｉｎおよびＧｌｅｅ  Ｋａｒａｏｋｅソーシャル音楽アプリ、ならびに、ユーザのボーカルに伴奏する音楽を自動的に作曲する、Ｋｈｕｓｈ，Ｉｎｃ．によるＬａＤｉＤａリバースカラオケアプリを含む。
【発明の概要】
【０００４】
取り込まれたボーカルは、魅力的アプリケーションを提供し、単なる初心者のユーザミュージシャンが音楽的演奏を作成し、演奏し、ならびに共有する特定目的デバイスさえも提供する先進的デジタル信号処理技術を利用して自動変換されてもよいことが発見された。幾つかの場合においては、自動変換は、発されたボーカルを、分割し、配列し、対象リズム、拍子、もしくは伴奏するバッキングトラックと時間的に整列し、ならびにスコアもしくは音色シーケンスに従ってピッチ補正することを可能とする。発語−曲（発語から曲への）音楽アプリケーションは、当該一実施例である。幾つかの場合においては、発されたボーカルは、しばしばピッチ補正なしで、自動化された分割および時間的整列技術を利用して、ラップなどの音楽様式に従って変換されてもよい。異なる信号処理および異なる自動変換を使用しうる当該アプリケーションは、それに関わらず、当該主題における発語−ラップ変形例として理解されてもよい。
【０００５】
発語−曲および発語−ラップアプリケーション（もしくは、玩具もしくはアミューズメント市場などに対する特定目的デバイス）においては、取り込まれたボーカルの自動変換は、典型的には、変換されたボーカルが演奏用に最終的にミキシングされるバッキングトラックの音楽的特徴（例えば、リズム、拍子、リピート／反復構成）によって、具体化される。一方、音楽的バッキングトラックとのミキシングは、本発明の技術の多くの実現において典型的であるが、幾つかの場合においては、取り込まれたボーカルの自動変換は、音楽的伴奏なしで、対象リズムもしくは拍子（詩、弱強格の周期、リメリックなど）と時間的に整列する印象的な演奏を提供するために適応されてもよい。これらのおよび他の変形例は、以下の請求項を参照し、本開示にアクセスする当業者によって理解されるであろう。
【０００６】
本発明に従う幾つかの実施形態においては、コンピュータ処理方法は、対象曲（対象歌曲）とリズム的に調和する出力へと、発語（発話）の入力音声（オーディオ）エンコーディングを変換するために実現される。本方法は、（ｉ）発語の入力音声エンコーディングを複数のセグメントへと分割することであって、セグメントは音声エンコーディングの連続的シーケンスに対応し、かつ、その中で識別される開始（出だし、立ち上がり）によって境界を定められる、ことと、（ｉｉ）対象曲用のフレーズテンプレートの其々のサブフレーズ部分へと複数のセグメントのうちの個々のセグメントをマッピングすることであって、マッピングは一つ以上のフレーズ候補を確立する、ことと、（ｉｉｉ）対象曲用のリズムスケルトンと、フレーズ候補のうちの少なくとも一つを時間的に整列させることと、（ｉｖ）入力音声エンコーディングのうちの開始によって境界を定められるセグメントからマッピングされた、時間的に整列したフレーズ候補に対応して、結果として生じる発語の音声エンコーディングを準備することと、を含む。
【０００７】
幾つかの実施形態においては、本方法は、対象曲用のバッキングトラックの音声エンコーディングと、結果として生じる音声エンコーディングをミキシングすることと、ミキシングされた音声を演奏することと、をさらに含む。幾つかの実施形態においては、本方法は、入力音声エンコーディングとして、（例えば、ポータブルハンドヘルドデバイスのマイクロフォン入力から）そのユーザによって発された発語を取り込むことと、フレーズテンプレートおよびリズムスケルトンのうちの少なくとも一つのコンピュータ可読エンコーディングを（例えば、ユーザによる対象曲の選択に応じて）検索することと、をさらに含む。幾つかの場合においては、ユーザの選択に応じて検索することは、ポータブルハンドヘルドデバイスの通信インターフェイスを介して、遠隔記憶装置から、少なくともフレーズテンプレートを獲得することを含む。
【０００８】
幾つかの場合においては、分割することは、発語の音声エンコーディングに対してスペクトル差タイプ（ＳＤＦタイプ）関数を適用することと、発語エンコーディング内の開始候補として、その結果において時間的に指数付けされたピークを選び取ることと、開始候補の相対強度に少なくとも部分的に基づいて、セグメントへと発語エンコーディングの隣接する開始候補によって境界を定められたサブ部分をまとめることと、を含む。幾つかの場合においては、ＳＤＦタイプ関数は、発語エンコーディング用にパワースペクトルの心理音響に基づいた表現に対して動作する。幾つかの場合においては、まとめることは、最小セグメント長閾値に少なくとも部分的に基づいて、実施される。幾つかの場合においては、本方法は、対象範囲内のセグメントの総数を達成するために、まとめることを繰り返すことを含む。
【０００９】
幾つかの場合においては、マッピングすることは、セグメントのうちの隣接するセグメントのグルーピングに基づいて、発語エンコーディングの開始によって境界を定められた、Ｎ個の分割の組を計数することを含む。ここで、Ｎは、フレーズテンプレートのサブフレーズ部分の数に対応する。マッピングすることは、各分割に対して、サブフレーズ部分へと発語エンコーディングセグメントグルーピングの対応するマッピングを構成することをも含み、マッピングは、複数のフレーズ候補を提供する。
【００１０】
幾つかの場合においては、マッピングすることは、複数のフレーズ候補を提供し、時間的に整列させることは、複数のフレーズ候補の各々に対して実施され、対象曲用のリズムスケルトンとのリズム整列の程度に基づいて、複数のフレーズ候補間から選択することをさらに含む。
【００１１】
幾つかの場合においては、リズムスケルトンは、対象曲のテンポをエンコードするパルス列に対応する。幾つかの場合においては、対象曲は複数の構成リズムを含み、パルス列エンコーディングは、構成リズムの相対強度に従ってスケール変更される其々のパルスを含む。
【００１２】
幾つかの実施形態においては、本方法は、リズムスケルトンを作成するために、対象曲のバッキングトラック用のビート（拍子）検出を実施することをさらに含む。幾つかの実施形態においては、本方法は、対象曲用の音色シーケンスに従って、結果として生じる音声エンコーディングをピッチシフトすることをさらに含む。幾つかの場合においては、ピッチシフトすることは、声門パルスの相互合成を使用する。
【００１３】
幾つかの実施形態においては、本方法は、音色シーケンスのコンピュータ可読エンコーディングを検索することをさらに含む。幾つかの場合においては、検索することは、ポータブルハンドヘルドデバイスのユーザインターフェイスにおけるユーザ選択に応じたものであり、ポータブルハンドヘルドデバイスの通信インターフェイスを介して、遠隔記憶装置から、少なくとも対象曲用のフレーズテンプレートおよび音色シーケンスを得る。
【００１４】
幾つかの実施形態においては、本方法は、発語エンコーディング内の開始の境界を定める時間的に隣接するセグメントへと、対象曲用の音色の開始をマッピングすることと、マッピングされた音色開始に対応する発語エンコーディングの其々の部分に対して、マッピングされた音色の期間を満たすために、其々の部分を時間的に延伸もしくは圧縮することと、をさらに含む。幾つかの実施形態においては、本方法は、スペクトルロールオフに少なくとも部分的に基づいて、発語エンコーディングのフレームを特徴づけることをさらに含み、高周波数成分の概してより大きいロールオフは、有声母音を示し、対応するフレームに対して、特徴づけられた母音の示すスペクトルロールオフに基づいて、発語エンコーディングの其々の部分に適用された時間的延伸の大きさを動的に変化させる。幾つかの場合においては、動的に変化させることは、対象曲用の旋律の密度ベクトルおよび発語エンコーディング用のスペクトルロールオフベクトルの合成を利用する。
【００１５】
幾つかの実施形態においては、本方法は、コンピュートパッド、パーソナルデジタルアシスタントもしくはブックリーダおよび携帯電話もしくはメディアプレイヤーの群から選択されたポータブルコンピューティングデバイス上で実施される。幾つかの実施形態においては、本方法は、特定目的、玩具もしくはアミューズメントデバイスを利用して実施される。幾つかの実施形態においては、コンピュータプログラム製品は、一つ以上の媒体において、本方法をポータブルコンピューティングデバイスに実施させるために、ポータブルコンピューティングデバイスのプロセッサ上で実行可能な命令をエンコードする。幾つかの場合においては、一つ以上の媒体は、ポータブルコンピューティングデバイスによって読み取り可能か、または、ポータブルコンピューティングデバイスに伝送するコンピュータプログラム製品に付随して読みとり可能である。
【００１６】
本発明に従う幾つかの実施形態においては、装置は、ポータブルコンピューティングデバイスと、対象曲にリズム的に調和する出力へと、発語の入力音声エンコーディングを変換するために、ポータブルコンピューティングデバイス上で実行可能、かつ非一時的媒体において具現化されたマシン可読コードと、を含み、マシン可読コードは、複数のセグメントへと発語の入力音声エンコーディングを分割するように実行可能な命令を含み、セグメントは、音声エンコーディングのサンプルの連続的シーケンスに対応し、かつその中に識別された開始によって境界を定められる。マシン可読コードは、対象曲用のフレーズテンプレートの其々のサブフレーズ部分に、複数のセグメントのうちの個々のセグメントをマッピングするようにさらに実行可能であって、マッピングは、一つ以上のフレーズ候補を確立する。マシン可読コードは、対象曲用のリズムスケルトンと、フレーズ候補のうちの少なくとも一つを時間的に整列させるようにさらに実行可能である。マシン可読コードは、入力音声エンコーディングの開始によって境界を定められるセグメントからマッピングされた時間的に整列したフレーズ候補に対応して、結果として生じる発語の音声エンコーディングを準備するようにさらに実行可能である。幾つかの場合においては、装置は、コンピュートパッド、ハンドヘルドモバイルデバイス、携帯電話、パーソナルデジタルアシスタント、スマートフォン、メディアプレイヤーおよびブックリーダのうちの一つ以上として具現化される。
【００１７】
本発明に従う幾つかの実施形態においては、コンピュータプログラム製品は、非一時的媒体にエンコードされ、対象曲とリズム的に調和する出力へと、発語の入力音声エンコーディングを変換するように実行可能な命令を含む。コンピュータプログラム製品は、複数のセグメントへと発語の入力音声エンコーディングを分割するように実行可能な命令をエンコードして含み、セグメントは、その中に識別された開始によって境界を定められる音声エンコーディングのサンプルの連続的シーケンスに対応する。コンピュータプログラム製品は、対象曲用のフレーズテンプレートの其々のサブフレーズ部分へと、複数のセグメントのうちの個々のセグメントをマッピングするように実行可能な命令をさらにエンコードして含み、マッピングは、一つ以上のフレーズ候補を確立する。コンピュータプログラム製品は、対象曲用のリズムスケルトンと、少なくとも一つのフレーズ候補を時間的に整列させるように実行可能な命令をさらにエンコードして含む。コンピュータプログラム製品は、入力音声エンコーディングの開始によって境界を定められたセグメントからマッピングされ、時間的に整列したフレーズ候補に対応して、結果として生じる発語の音声エンコーディングを準備するように実行可能である命令をさらにエンコードして含む。幾つかの場合においては、媒体は、ポータブルコンピューティングデバイスによって読み取り可能であるか、または、ポータブルコンピューティングデバイスに伝送するコンピュータプログラム製品に付随して読みとり可能である。
【００１８】
本発明に従う幾つかの実施形態においては、コンピュータ処理方法は、対象曲とリズム的に調和する出力へと、発語の入力音声エンコーディングを変換するために提供される。本方法は、（ｉ）複数のセグメントへと発語の入力音声エンコーディングを分割することであって、セグメントは、音声エンコーディングのサンプルの連続的シーケンスに対応し、かつその中に識別された開始によって境界を定められる、分割することと、（ｉｉ）対象曲用のリズムスケルトンの其々の連続的パルスと、セグメントのうちの連続的、時間順セグメントを時間的に整列させることと、（ｉｉｉ）時間的に整列したセグメントのうちの少なくとも幾つかを時間的に延伸すること、ならびに時間的に整列したセグメントのうちの少なくとも他の幾つかを時間的に圧縮することであって、時間的な延伸および圧縮は、リズムスケルトンの連続的パルスの其々のパルス間の利用可能な時間的スペースを実質的に満たし、時間的延伸および圧縮は、実質的に時間的に整列したセグメントをピッチシフトすることなく、実施される、時間的に延伸および圧縮することと、（ｉｖ）入力音声エンコーディングの時間的に整列、延伸および圧縮されたセグメントに対応して、結果として生じる発語の音声エンコーディングを準備することと、を含む。
【００１９】
幾つかの実施形態においては、本方法は、対象曲用のバッキングトラックの音声エンコーディングと、結果として生じる音声エンコーディングをミキシングすることと、ミキシングされた音声を演奏することと、をさらに含む。幾つかの実施形態においては、本方法は、入力音声エンコーディングとして、そのユーザによって発された発語を（例えば、ポータブルハンドヘルドデバイスのマイクロフォン入力から）取り込むことをさらに含む。幾つかの実施形態においては、本方法は、対象曲用のリズムスケルトンおよびバッキングトラックのうちの少なくとも一つのコンピュータ可読エンコーディングを（例えば、ユーザによる対象曲の選択に応じて）検索することをさらに含む。幾つかの場合においては、ユーザの選択に応じて検索することは、ポータブルハンドヘルドデバイスの通信インターフェイスを介して、遠隔記憶装置から、リズムスケルトンおよびバッキングトラックのうちのいずれかもしくはその双方を得ることを含む。
【００２０】
幾つかの実施形態においては、分割することは、発語の音声エンコーディングへと、帯域制限された（もしくは帯域加重された）スペクトル差タイプ（ＳＤＦタイプ）関数を適用することと、発語エンコーディング内の開始候補として、その結果において時間的に指数付けされたピークを選び取ることと、開始候補の相対強度に少なくとも部分的に基づいて、セグメントへと発語エンコーディングの隣接する開始候補によって境界を定められたサブ部分をまとめることと、を含む。幾つかの場合においては、帯域制限された（もしくは帯域加重された）ＳＤＦタイプ関数は、発語エンコーディング用のパワースペクトルの心理音響に基づいた表現に対して動作し、帯域制限（もしくは加重）は、約２０００Ｈｚ未満のパワースペクトルのサブ帯域を強調する。幾つかの場合においては、強調されたサブ帯域は、約７００Ｈｚから約１５００Ｈｚである。幾つかの場合においては、まとめることは、最小セグメント長閾値に少なくとも部分的に基づいて、実施される。
【００２１】
幾つかの場合においては、リズムスケルトンは対象曲のテンポをエンコードするパルス列に対応する。幾つかの場合においては、対象曲は、複数の構成リズムを含み、パルス列エンコーディングは、構成リズムの相対強度に従ってスケール変更される其々のパルスを含む。
【００２２】
幾つかの実施形態においては、本方法は、リズムスケルトンを作成するために、対象曲のバッキングトラック用のビート検出を実施することを含む。幾つかの実施形態においては、本方法は、位相ボコーダを利用して、実質的にピッチシフトすることなく、延伸および圧縮を実施することを含む。幾つかの場合においては、延伸および圧縮することは、リズムスケルトンの連続的パルス間で満たされる時間的スペースへと、セグメント長の其々の比率に従って、時間的に整列したセグメントの其々に対して変化する割合で、リアルタイムに実施される。
【００２３】
幾つかの実施形態においては、本方法は、リズムスケルトンの連続的パルスのうちのそれぞれパルス間の利用可能な時間的スペースを実質的に満たすために、発語エンコーディングの時間的に整列したセグメントのうちの少なくとも幾つかに対して、静寂で満たすことを含む。幾つかの実施形態においては、本方法は、リズムスケルトンへと連続的に順序づけられたセグメントの複数の候補マッピングの各々に対して、連続的に順序づけられたセグメントの其々のセグメントに対して適用された時間的延伸および圧縮比率の統計学的分布を評価することと、其々の統計学的分布に少なくとも部分的に基づいて、候補マッピング間から選択することと、を含む。
【００２４】
幾つかの実施形態においては、本方法は、複数候補の各々に対して、リズムスケルトンへと、連続的に順序づけられたセグメントをマッピングすることを含み、候補マッピングは異なる開始点を有し、時間的延伸および圧縮の大きさを特定の候補マッピングに対して計算することと、其々の計算された大きさに少なくとも部分的に基づいて、候補マッピング間から選択することと、を含む。幾つかの場合においては、其々の大きさは延伸および圧縮比率の幾何平均として計算され、選択は、計算された幾何平均を実質的に最小化する候補マッピングのものである。
【００２５】
幾つかの場合においては、本方法は、コンピュートパッド、パーソナルデジタルアシスタントもしくはブックリーダおよび携帯電話もしくはメディアプレイヤーの群から選択されるポータブルコンピューティングデバイス上で実施される。幾つかの場合においては、本方法は、特定目的、玩具もしくはアミューズメントデバイスを利用して実施される。幾つかの場合においては、コンピュータプログラム製品は、一つ以上の媒体にエンコードされ、本方法をポータブルコンピューティングデバイスに実施させるために、ポータブルコンピューティングデバイスのプロセッサ上で実行可能な命令を含む。幾つかの場合においては、一つ以上の媒体は、ポータブルコンピューティングデバイスによって読み取り可能か、またはポータブルコンピューティングデバイスに伝送するコンピュータプログラム製品に付随して読みとり可能である。
【００２６】
本発明に従う幾つかの実施形態においては、装置は、ポータブルコンピューティングデバイスと、音声エンコーディングのサンプルの開始によって境界を定められた連続的シーケンスを含むセグメントへと、発語の入力音声エンコーディングを分割するようにポータブルコンピューティングデバイス上で実行可能な、非一時的媒体において具現化されたマシン可読コードと、を含む。マシン可読コードは、対象曲用のリズムスケルトンの其々の連続的パルスと、連続的、時間順セグメントのうちの一つを時間的に整列させるようにさらに実行可能である。マシン可読コードは、時間的に整列したセグメントのうちの少なくとも幾つかを時間的に延伸し、かつ、時間的に整列したセグメントのうちの少なくとも他の幾つかを時間的に圧縮するようにさらに実行可能であって、時間的延伸および圧縮は、実質的に時間的に整列したセグメントをピッチシフトすることなく、リズムスケルトンの連続的パルスの其々のパルス間の利用可能な時間的スペースを実質的に満たす。マシン可読コードは、入力音声エンコーディングの時間的に整列、延伸および圧縮されたセグメントに対応して、結果として生じる発語の音声エンコーディングを準備するようにさらに実行可能である。幾つかの場合においては、装置は、コンピュートパッド、ハンドヘルドモバイルデバイス、携帯電話、パーソナルデジタルアシスタント、スマートフォン、メディアプレイヤーおよびブックリーダの一つ以上として具現化される。
【００２７】
本発明に従う幾つかの実施形態においては、コンピュータプログラム製品は、非一時的媒体にエンコードされ、対象曲とリズム的に調和する出力へと、発語の入力音声エンコーディングを変換するようにコンピュータシステム上で実行可能な命令を含む。コンピュータプログラム製品は、音声エンコーディングからのサンプルの開始によって境界を定められた連続的シーケンスに対応する複数のセグメントへと、発語の入力音声エンコーディングを分割するように実行可能な命令をエンコードして含む。コンピュータプログラム製品は、対象曲用のリズムスケルトンの其々の連続的パルスと、セグメントのうちの連続的、時間順のセグメントを時間的に整列させるように実行可能な命令をさらにエンコードして含む。コンピュータプログラム製品は、時間的に整列したセグメントのうちの少なくとも幾つかを時間的に延伸し、かつ、時間的に整列したセグメントのうちの他の少なくとも幾つかを時間的に圧縮するように実行可能な命令をさらにエンコードして含み、時間的な延伸および圧縮は、時間的に整列したセグメントを実質的にピッチシフトすることなく、リズムスケルトンの連続的パルスの其々のパルス間の利用可能な時間的スペースを実質的に満たす。コンピュータプログラム製品は、入力音声エンコーディングの時間的に整列、延伸および圧縮されたセグメントに対応して、結果として生じる発語の音声エンコーディングを準備するように実行可能な命令をさらにエンコードして含む。幾つかの場合においては、媒体は、ポータブルコンピューティングデバイスによって読み取り可能であるか、または、ポータブルコンピューティングデバイスへと伝送するコンピュータプログラム製品に付随して読み取り可能である。
【００２８】
これらのおよび他の実施形態は、それらに対する多数の変形例とともに、以下の記述、請求項および図面に基づいて、当業者によって理解されるであろう。
【図面の簡単な説明】
【００２９】
本発明は、より理解され、その多数の対象、特徴および利点は、添付の図面を参照することによって当業者にとって明らかとなる可能性がある。
【図１】演奏用の拍子もしくはリズムを有する曲、ラップもしくは他の表現様式へと、サンプルされた音声信号を自動変換するために、（複数の）本発明の幾つかの実施形態に従ってプログラムされた例示的なハンドヘルドコンピュートプラットフォームのマイクロフォン入力に近接して話すユーザの可視描画である。
【図２】（複数の）本発明の幾つかの実施形態に従って、サンプルされた音声信号の自動変換の準備用に、発語型ボーカルを取り込むためにソフトウェアを実行するプログラムされた（図１に示されるような）ハンドヘルドコンピュートプラットフォームのスクリーンショット画像である。
【図３】（複数の）本発明の例示的なハンドヘルドコンピュートプラットフォーム実施形態におけるか、それと接続される機能ブロック間のデータフローを示す機能ブロック図である。
【図４】（複数の）本発明の幾つかの実施形態に従って、例示的な方法における一連のステップを示すフローチャートである。それによって、取り込まれた発語音声エンコーディングは、自動的に、バッキングトラックを有する演奏用の拍子もしくはリズムを有する出力曲、ラップもしくは他の表現様式へと自動変換される。
【図５】（複数の）本発明の幾つかの実施形態に従って音声信号が分割される例示的な一方法における一連のステップを、スペクトル差関数の適用の結果として生じる信号におけるピークの図示およびフローチャートによって、示す。
【図６】（複数の）本発明の幾つかの発語−曲対象実施形態に従って、分割された音声信号がフレーズテンプレートへとマッピングされ、結果として生じるフレーズ候補がリズムアラインメント用に評価される、例示的な一方法における一連のステップを、フローチャートおよびテンプレートに対するサブフレーズマッピングおよび分割の図示によって示す。
【図７】本発明の幾つかの実施形態に従って、発語−曲（ｓｏｎｇｉｆｉｃａｔｉｏｎ）アプリケーションにおける信号処理機能フローを図示する。
【図８】リズムスケルトンもしくはグリッドに対応して、整列、延伸および／もしくは圧縮されたピッチシフトされたバージョンの音声信号の合成用に、本発明に従う幾つかの実施形態において使用されうる声門パルスモデルを図示する。
【図９】例示的な一方法における一連のステップを、フローチャートならびに分割および整列の図示によって示し、それによって、開始はリズムスケルトンもしくはグリッドへと整列し、分割された音声信号のうちの対応するセグメントは、（複数の）本発明の幾つかの発語−ラップ対象実施形態に従って延伸、および／もしくは圧縮される。
【図１０】発語−音楽および／もしくは発語−ラップ対象実装が、遠隔データ記憶装置もしくはサービスプラットフォームおよび／もしくは（複数の）本発明の幾つかの実施形態に従って変換された音声信号の演奏に適した遠隔デバイスと通信する、ネットワーク化された通信環境を示す。
【図１１】（複数の）本発明の幾つかの実施形態に従う、例示的な玩具もしくはアミューズメントタイプデバイスを示す。
【図１２】（複数の）本発明の幾つかの実施形態に従う、例示的な玩具もしくはアミューズメントタイプデバイスを示す。
【図１３】図１１および図１２で示された（例えば、玩具もしくはアミューズメントデバイス市場用の）デバイスタイプ用に適したデータの機能ブロック図および他のフローであり、本明細書で記述される自動変換技術は、音声取り込み用マイクロフォン、プログラムされたマイクロコントローラ、デジタルアナログ回路（ＤＡＣ）、アナログデジタル変換器（ＡＤＣ）回路および任意の一体型スピーカもしくは音声信号出力を有する特定目的デバイスにおいて低コストで提供されてもよい。
【００３０】
異なる図面における同一の参照番号の利用は、類似もしくは同一の品目を示す。
【発明の詳細な説明】
【００３１】
本明細書で記述されるように、取り込まれたユーザのボーカルの自動変換は、ｉＯＳおよびＡｎｄｏｒｏｉｄベースの携帯電話、メディアデバイスおよびタブレット以来、ユビキタスとなったハンドヘルドコンピュートプラットフォーム上でさえ、実行可能な魅力的なアプリケーションを提供することがある。自動変換は、玩具、ゲームもしくはアミューズメントデバイス市場などの特定目的デバイスにおいても実現されてもよい。
【００３２】
本明細書で記述される先進的デジタル信号処理技術は、単に初心者のユーザミュージシャンが音楽的演奏を作成し、演奏（可聴的に提供）し、ならびに共有する実現を可能とする。幾つかの場合においては、自動変換は、発されたボーカルを、分割し、配列し、そして、対象リズム、拍子もしくは伴奏するバッキングトラックと時間的に整列し、ならびにスコアもしくは音色シーケンスに従ってピッチ補正することを可能とする。発語（発話）−曲（歌曲）音楽的実装は、そのような一実施例であって、以下に例示的なｓｏｎｇｉｆｉｃａｔｉｏｎ（歌曲化）用途が記述される。幾つかの場合においては、発されたボーカルは、しばしば、ピッチ補正することなく、自動分割および時間的整列技術を利用して、ラップなどの音楽様式に従って変換されてもよい。当該用途は、異なる信号処理および異なる自動変換を使用するが、それでもなお、当該主題における発語−ラップ変形例として理解されてもよい。例示的な自動ラップアプリケーションを提供するための適応もまた、本明細書で記述される。
【００３３】
具体性のために、処理およびデバイス性能、用語、ＡＰＩフレームワーク、特定の実現環境に典型的なフォームファクタ、即ち、Ａｐｐｌｅ，Ｉｎｃ．によって普及したｉＯＳデバイス空間が、仮定される。任意の当該実施例もしくはフレームワークへの記述の依存性に関わらず、本開示にアクセスする当業者は、他のコンピュートプラットフォームおよび他の具体的物理的実装用の配置および適切な適応を理解するであろう。
【００３４】
[発語から音楽への自動変換（“Ｓｏｎｇｉｆｉｃａｔｉｏｎ”）]
図１は、演奏用の拍子もしくはリズムを有する曲、ラップもしくは他の表現様式へとサンプルされた音声信号を自動変換するために、（複数の）本発明の幾つかの実施形態に従ってプログラムされる、例示的なハンドヘルドコンピュートプラットフォーム１０１のマイクロフォン入力に近接して話すユーザの図である。図２は、サンプルされた音声信号の自動変換の準備で（例えば、マイクロフォン入力３１４から）発語型音声を取り込むために、アプリケーションソフトウェア（例えば、Ｓｏｎｇｉｆｙアプリケーション３５０）を実行するプログラムされたハンドヘルドコンピュートプラットフォーム１０１の例示的なキャプチャスクリーン画像である。
【００３５】
図３は、（複数の）本発明の例示的なｉＯＳタイプハンドヘルド３０１コンピュートプラットフォーム実施形態の、もしくはそれと接続される機能ブロック間でのデータフローを示す機能ブロック図であって、Ｓｏｎｇｉｆｙアプリケーション３５０は、マイクロフォン３１４（もしくは類似のインターフェイス）を利用して取り込まれたボーカルの自動変換を実行し、（例えば、スピーカ３１２もしくは結合されたヘッドフォンを介して）演奏される。特定の音楽対象用のデータセット（例えば、バッキングトラック、フレーズテンプレート、予め計算されたリズムスケルトン、任意のスコアおよび／もしくは音色シーケンス）は、遠隔コンテンツサーバ３１０もしくは他のサービスプラットフォームからローカルストレージ３６１へと（例えば、需要に応じて供給されるか、ソフトウェア配布もしくはアップデートの一部として）ダウンロードされてもよい。
【００３６】
コンピュートプラットフォーム上のメモリもしくは不揮発性ストレージに表され、取り込まれたボーカル由来の音声信号エンコーディングで動作するための種々の示された機能ブロック（例えば、音声信号分割３７１、フレーズマッピングへのセグメント３７２、セグメントの時間的整列および延伸／圧縮３７３、ピッチ補正３７４）は、本明細書で詳細に記述される信号処理技術を参照して、理解されるであろう。図４は、例示的な一方法における一連のステップ（４０１、４０２、４０３、４０４、４０５、４０６および４０７）を示すフローチャートであって、それによって、取り込まれた発語音声エンコーディング（例えば、マイクロフォン３１４から取り込まれる、図３を再度参照）は、バッキングトラックを有する演奏用の拍子もしくはリズムを有する出力の曲、ラップもしくは他の表現様式へと自動変換される。つまり、図４は、以下を含むフロー（例えば、例示的なｉＯＳタイプのハンドヘルド３０１コンピュートプラットフォーム上で実行するＳｏｎｇｉｆｙアプリケーション３５０に関連して図示されたような機能的もしくは計算ブロックを通して、図３を再度参照）を要約する。
・  音声信号として発語を取り込みもしくは記録する（４０１）
・  取り込まれた音声信号中の開始もしくは開始候補の検出（４０２）
・  音声信号セグメントの境界を定める分割境界を生成する（４０３）ために、開始、もしくは開始候補ピークもしくは他の最大値から選びとる
・  （例えば、分割計算の一部として決定された候補フレーズとして）対象曲のフレーズテンプレートもしくは他のスケルトン構造のうちの順序づけられたサブフレーズへと、個々のセグメントもしくはセグメント群をマッピングする（４０４）
・  音色開始を有する音声開始を整列させために、かつ、（幾つかの場合においては）対象曲の旋律スコアに基づいて、音色期間を満たすために、対象曲および（適切な場合には）延伸／圧縮用のリズムスケルトンもしくは他のアクセントパターン／構造に対する候補フレーズのリズム整列を評価する（４０５）
・  取り込まれた（今フレーズマッピングされ、リズム的に整列した）ボーカルが対象曲の特徴（例えば、リズム、拍子、リピート／反復構成）によって具体化されるボコーダもしくは他のフィルタ再合成タイプ音質スタンピング技術を利用する（４０６）
・  対象曲用のバッキングトラックを有する、結果として生じる時間的に整列し、フレーズマッピングされ、かつ音質スタンピングされた音声信号を最終的にミキシングする（４０７）
これらおよび他の態様は、以下により詳細に記述され、図５−図８を参照して、示される。
【００３７】
[発語分割]
詩を旋律へとのせるときに、音楽的な構造を強めるために、或るフレーズが繰り返される場合がしばしばある。我々の発語分割アルゴリズムは、フレーズを繰り返すかさもなければ再配列されるように、発語入力中の語およびフレーズ間の境界を判定することを試みる。単語は、典型的には静寂によって分離されないため、単純な静寂検出は、実践的な方法として、多くの用途においては不十分である可能性がある。取り込まれた発語音声信号の分割用の例示的な技術は、図５および以下の記述を参照して理解されるであろう。
【００３８】
[ソーン表現]
発語は、４４１００Ｈｚのサンプルレートを利用して、発語エンコーディング５０１として典型的にデジタル化される。パワースペクトルは、スペクトログラムから計算される。各フレームに対して、ＦＦＴは、１０２４のサイズのＨａｎｎウインドウを利用して（５０％の重複で）行われる。これは、マトリクスを返し、行は周波数ビンを表し、列はタイムステップを表す。人の音量知覚を考慮に入れるために、パワースペクトルは、ソーンベース表現へと変換される。幾つかの実装においては、このプロセスの最初のステップは、一組の臨界帯域フィルタもしくはバーク帯域フィルタ５１１を含み、それらは、内耳に存在する聴覚フィルタをモデル化したものである。フィルタ幅および応答は、周波数によって変化し、線形周波数スケールを対数スケールへと変換する。さらには、結果として生じるソーン表現５０２は、モデル化スペクトルマスキングと同様に、外耳のフィルタ特性を考慮に入れる。このプロセスの終わりに、新規マトリクスは、臨界帯域に対応する行および時間ステップに対応する列を有して返される。
【００３９】
[開始検出]
分割に対する或るアプローチは、開始を検出することを含む。ピアノを打つなどの新規のイベントは、種々の周波数帯域における突然のエネルギー増大につながる。このことは、ローカルピークとして、波形の時間ドメイン表現においてしばしばみられる。開始検出用の或る種の技術は、スペクトル差関数（ＳＤＦ）を計算すること（５１２）を含む。スペクトログラムを与えられると、ＳＤＦは、第一の差であり、隣接する時間ステップにおいて各周波数ビンに対して、振幅の差を合計することによって計算される。例えば、以下の様になる。
【数１】
0006290858.tif 000002
【００４０】
ここで、ソーン表現に類似の手順を適用すると、或る種のＳＤＦ５１３を得る。示されたＳＤＦ５１３は、一次元関数であって、開始候補を示すピークを有する。図５は、例示的な音声処理パイプラインにおけるＳＤＦ計算５１２に先行し、それに続く信号処理ステップとともに、サンプリングされた音声由来の音声信号エンコーディングからの例示的なＳＤＦ計算５１２を示す。
【００４１】
我々は、続いて、ＳＤＦ（５１３）から選びとられうるローカル最大値（もしくは、ピーク５１３．１、５１３．２、５１３．３．．．５１３．９９）の時間的な位置である、開始候補５０３を定義する。これらの位置は、開始の可能性のある時刻を示す。さらに、我々は、最大値において中心におかれた小ウインドウ上の関数の中央値から、ローカル最大値におけるＳＤＦ曲線のレベルを差し引くことによって決定された開始強度の尺度を返す。閾値を下回る開始強度を有する開始は、典型的には捨てられる。ピーク採取５１４は、一連の閾値を上回る強度の開始候補５０３を生成する。
【００４２】
我々は、二つの隣接する開始間の大量の音声であるセグメント（例えば、セグメント５１５．１）を定義する。幾つかの場合においては、上述された開始検出アルゴリズムは、非常に小さいセグメント（例えば、典型的な単語の期間よりも非常に小さい）につながる多くの誤検知につながる可能性がある。当該セグメントの数を減少させるために、或るセグメント（例えば、セグメント５１５．２を参照）は、まとめアルゴリズムを利用して、マージされる（５１５．２）。第一に、我々は、閾値（ここでは、０．３７２秒閾値で開始する）よりも短いセグメントが存在するか否かを判定する。もし存在する場合には、それらは時間的に先行するか後に続くセグメントとマージされる。幾つかの場合においては、マージの方向は、隣接する開始の強度に基づいて決定される。
【００４３】
結果は、その後のステップで使用される発語エンコーディング（５０１）の分割されたバージョンを定義するセグメント（５０４）を生成するために、短い隣接するセグメントのまとめおよび強い開始候補に基づくセグメントである。発語−曲実施形態の場合（図６参照）においては、その後のステップは、フレーズ候補を構成するためのセグメントマッピングおよび対象曲用のパターンもしくはリズムスケルトンへのフレーズ候補のリズムアラインメントを含んでもよい。発語−ラップ実施形態の場合（図９参照）においては、その後のステップは、グリッドもしくはリズムスケルトンの対応する部分へと満たすために、対象曲用のグリッドもしくはリズムスケルトンに対する、セグメントの境界を定める開始の整列と、特定の整列したセグメントの延伸／圧縮と、を含んでもよい。
【００４４】
[発語−曲実施形態用のフレーズ構成]
図６は、より大きい計算フローのフレーズ構成態様を、さらに詳細に（例えば、図３のコンピュートプラットフォーム上で実行するアプリケーションに関連して示され前述されたような機能的もしくは計算ブロックを通して、図４に要約されたように）示す。図６の図は、或る例示的な発語−曲実施形態に関連する。
【００４５】
前述されたフレーズ構成ステップのある目的は、より大きいフレーズを形成するために、ことによると繰り返しを伴って、セグメント（例えば、図５に関連して示されて上述された技術に従って生成されうるようなセグメント５０４）を組み合わせることによってフレーズを生成することである。プロセスは、我々がフレーズテンプレートと称するものによって誘導される。フレーズテンプレートは、フレーズ構成を示すシンボル体系をエンコードして、音楽構成を表すための典型的方法に従う。例えば、フレーズテンプレート｛ＡＡＢＢＣＣ｝は、全体フレーズが３つのサブフレーズで構成され、各サブフレーズが二度繰り返されることを示す。本明細書で記述されるフレーズ構成アルゴリズムの目的は、サブフレーズに対するセグメントをマッピングすることである。開始候補５０３およびセグメント５０４に基づいて取り込まれた発語音声信号の一つ以上の候補サブフレーズ分割を計算した（６１２）後で、可能性のあるサブフレーズ分割（例えば、分割６１２．１、６１２．２．．．６１２．３）は、対象曲用のフレーズテンプレート６０１の構造へとマッピングされる（６１３）。特定のフレーズテンプレートへのサブフレーズ（もしくは、実際には候補サブフレーズ）のマッピングに基づいて、フレーズ候補６１３．１は生成される。図６は、例示的なプロセスフローのサブシーケンスに関連して、このプロセスを図面によって示す。概して、多数のフレーズ候補が、さらなる処理用の特定のフレーズマッピングされた音声エンコーディングを選択するために準備されて、評価されてもよい。幾つかの実施形態においては、結果として生じるフレーズマッピング（もしくは複数のマッピング）の品質は、本明細書の他所で詳細に記述されるように、曲（もしくは他のリズム対象）の基本的な拍子とのリズムアラインメントの程度に基づいて評価される（６１４）。
【００４６】
技術の幾つかの実現においては、セグメント数が多数のサブフレーズよりも大きくなることを必要とすることが有用である。サブフレーズへのセグメントのマッピングは、分割問題として構成することができる。対象フレーズにおけるサブフレーズ数をｍとする。そのとき、我々は、正確な数のフレーズへと発声を分割するために、ｍ−１の分配先を必要とする。我々のプロセスにおいては、我々は、開始位置においてのみ分割を許容する。例えば、図６においては、我々は、検出された開始（６１３．１、６１３．２．．．６１３．９）を有し、かつ、フレーズテンプレート６０１｛ＡＡＢＢＣＣ｝によってエンコードされた対象フレーズ構造に関連して評価される発声を示す。隣接する開始は、図６に示されるように、３つのサブフレーズＡ、ＢおよびＣを生成するために組み合わせられる。ｍ個の部分とｎ個の開始を有する全ての可能性のある分割の組は、
【数２】
0006290858.tif 000003
である。計算された分割のうちの一つ、即ちサブフレーズ分割６１３．２は、フレーズテンプレート６０１に基づいて選択された特定のフレーズ候補６１３．１の基礎を形成する。
【００４７】
幾つかの実施形態においては、ユーザは、異なる対象曲、演奏、演奏家、スタイルなどに対する、フレーズテンプレートのライブラリから選択および再選択してもよいことに留意されたい。幾つかの実施形態においては、フレーズテンプレートは、売買され、利用可能にされ、または、アプリ購入収益モデルの一部に従って需要に応じて供給され（もしくは計算され）てもよいし、または、ゲーム、教育の一部として獲得、公表、交換され、および／もしくはソーシャルタイプのユーザインタラクションによってサポートされてもよい。
【００４８】
可能性のあるフレーズ数がセグメント数と組み合わせ的に増加するため、幾つかの実践的実装においては、我々は、総セグメントを最大２０に制限する。無論、より一般的かつ任意の与えられた用途に対して、検索スペースは、使用可能な処理リソースおよびストレージに従って、増減してもよい。開始検出アルゴリズムの第一過程後にセグメント数がこの最大値よりも大きい場合、プロセスはセグメントのまとめ用のより高い最小期間を利用して繰り返される。例えば、元の最小セグメント長が０．３７２秒だった場合、これは０．５秒へと増加して、より少数のセグメントへつながる。最小閾値の増加プロセスは、対象セグメント数が所望の量よりも小さくなるまで続く。一方、セグメント数がサブフレーズ数よりも小さい場合には、２以上のサブフレーズへと同一のセグメントをマッピングすることなく、サブフレーズへとセグメントをマッピングすることは通常不可能である。これを矯正するために、開始検出アルゴリズムは、幾つかの実施形態においては、より低いセグメント長閾値を利用して再評価され、典型的には、より多数のセグメントへとまとめられたより少数の開始を生じる。したがって、幾つかの実施形態においては、我々は、セグメント数が任意のフレーズテンプレートに存在するサブフレーズの最大数を超えるまで、長さ閾値を減少し続ける。我々は、満たすべき最小サブフレーズ長を有し、これは、より短いセグメントとの分割を可能とするために必要とされる場合には低下する。
【００４９】
本明細書の記述に基づいて、当業者は、計算プロセスのより後の段階からより早い段階へと情報をフィードバックする多数の機会を認識する。プロセスフローの前方向における本明細書の記述的焦点は、記述の簡便性および連続性のためのものであって、限定することを意図するものではない。
【００５０】
[リズムアラインメント]
上述された各可能性のある分割は、現在考えられるフレーズテンプレートに対する候補フレーズを表す。要約すると、我々は、一つ以上のセグメントをサブフレーズへと排他的にマッピングする。その後、全体フレーズは、フレーズテンプレートに従って、サブフレーズを組み立てることによって生成される。次の段階においては、我々は、バッキングトラックのリズム構造に対して、最も近くに整列させることができる候補フレーズを見つけることを望む。これによって、我々は、フレーズがビート上にあるように聞こえることを望む。これは、しばしば、発語内の確かなアクセントを、ビートもしくは他の韻律的に重要な位置と整列させるようにすることによって達成することができる。
【００５１】
このリズムアラインメントを提供するために、我々は、図６に示されるようなリズムスケルトン（ＲＳ）６０３を導入する。リズムスケルトンは、特定のバッキングトラック用の基礎となるアクセントパターンを与える。幾つかの場合もしくは実施形態においては、リズムスケルトン６０３は、バッキングトラックにおけるビート位置における一組の単位インパルスを含む可能性がある。概して、当該リズムスケルトンは、任意のバッキングトラック用にもしくは任意のバッキングトラックと併せて予め計算されるか、ダウンロードされるか、必要に応じて計算されてもよい。テンポが既知の場合には、当該インパルス列を構成することは、概して容易である。しかしながら、幾つかのトラックにおいては、さらなるリズム情報（例えば、旋律のうち第一および第三ビートは、第二および第四ビートよりもよりアクセントを付けるなどの事実）を追加することが望ましいことがある。これは、インパルスの高さが各ビートの相対的強度を表すように、インパルスをスケール変更することによって行うことができる。概して、任意の複雑なリズムスケルトンを利用することができる。均等に間隔の開けられた一連のデルタ関数で構成されるインパルス列は、その後、連続的曲線を生成するために、小さいＨａｎｎ（例えば、５点）ウインドウで畳み込まれる。
【数３】
0006290858.tif 000004
【００５２】
我々は、ソーン表現を利用して計算されたスペクトル差関数（ＳＤＦ）とＲＳの相互相関をとることによって、リズムスケルトンとフレーズ間の、リズムアラインメント（ＲＡ）の程度を測定する。ＳＤＦは開始に対応する信号における突然の変化を表すことを想起されたい。音楽情報検索文献においては、我々は、開始検出アルゴリズムの基礎となるこの連続的曲線を検出関数として称する。検出関数は、音声信号のうちのアクセントもしくは中間レベルイベント構造を表すための効率的方法である。相互相関関数は、ＲＳおよびＳＤＦ間の点別乗算と和算を実施して、ＳＤＦバッファ内の異なる開始位置を仮定することによって、種々の遅延に対する対応程度を測定する。このようにして、各遅延に対して、相互相関はスコアを返す。相互相関関数のピークは、最大アラインメントを有する遅延を示す。ピークの高さは、この一致のスコアとして考えられ、その位置は、数秒の遅延を与える。
【００５３】
アラインメントスコアＡは、以下の式によって与えられる。
【数４】
0006290858.tif 000005
【００５４】
このプロセスは、全フレーズに対して繰り返されて、最高スコアを有するフレーズが利用される。遅延は、遅延がその点から開始するようにフレーズを回転するために利用される。これは、循環的に行われる。全てのフレーズテンプレートもしくは与えられたフレーズテンプレートのみによって生成されるフレーズ中から、最良の一致を見つけることができることは注意する価値があることである。我々は、全フレーズテンプレートにわたって最適化するために選択を行い、より良好なリズム一致を与え、かつ、種々のフレーズ構造に対する自然な導入をする。
【００５５】
分割マッピングがサブフレーズの繰り返しを必要とするとき、（フレーズテンプレート｛ＡＡＢＣ｝によって特定されるようなリズムパターンなど）、繰り返されるサブフレーズは、繰り返しが次のビートで生じるように満たされるときに、よりリズム的に聞こえることが見出された。同様に、結果として生じる全体の分割されたフレーズは、バッキングトラックで繰り返す前に、拍子の長さへと満たされる。
【００５６】
したがって、フレーズ構造（６１３）およびリズムアラインメント（６１４）手順の終わりで、我々は、バッキングトラックへと整列した元の発声のセグメントから構成される完全なフレーズを有する。バッキングトラックもしくはボーカル入力が変化する場合、プロセスは再実行される。これは、例示的な“ｓｏｎｇｉｆｉｃａｔｉｏｎ”プロセスの第一部分を完結する。これから記述する第二部分は、発語を旋律へと変換する。
【００５７】
所望の旋律ラインにおける音色の開始と、声の開始をさらに同期するために、我々は、旋律長に一致するために声セグメントを延伸する手順を利用する。旋律内の各音色に対して、任意の時間ウインドウ内にある間の音色開始に最も近い時間に生じるセグメント開始（上述された我々の分割手順によって計算された）は、この音色開始へとマッピングされる。音色は、（典型的には網羅的に、かつ、典型的には、ほぼランダムな順序で、バイアスを除去し、再生中に延伸するうえで変動性を導入するために）可能性のある一致セグメントを有する全ての音色がマッピングされるまで、繰り返される。音色−セグメントマッピングは、それがマッピングされる音色を満たすように、適切な量の分だけ各セグメントを延伸するシーケンサへと、その後、与えられる。各セグメントは近傍にある音色へとマッピングされるため、全発語に対する累積延伸ファクタは、多かれ少なかれ１であるべきであり、しかしながら、包括的延伸量が望まれる（例えば、２ずつ結果の発語を遅くする）場合には、これは、旋律の高速バージョンへとセグメントをマッピングすることによって達成される。出力延伸量は、その後、旋律の元の速度に一致するようにスケール変更され、結果として、速度ファクタの逆数によって延伸する全体傾向を生じる。
【００５８】
アラインメントおよび音色−セグメント延伸プロセスは、声の開始を旋律の音色へと同期するが、バッキングトラックの音楽的構造は、音色の長さを満たすために、音節を延伸することによってさらに強調することができる。明瞭性を失うことなくこれを達成するために、我々は、発語内の母音を延伸するための動的時間延伸を利用し、一方で、子音はそのまま残す。子音は通常、その高い周波数成分によって特徴づけられるため、我々は、母音と子音の間を区別する特徴として、全体のエネルギーのうちの９５％までスペクトルロールオフを利用する。スペクトルロールオフは以下の様に定義される。｜Ｘ［ｋ］｜をｋ番目のフーリエ係数の大きさであるとすると、９５％の閾値用のロールオフは、
0006290858.tif 000006
と定義され、ここで、ＮはＦＦＴの長さである。概して、より大きいｋ＿ｒｏｌｌフーリエビン指数がより高い周波数エネルギーの増大と調和し、ノイズもしくは無声子音の指示である。同様に、より低いｋ＿ｒｏｌｌフーリエビン指数は、時間延伸もしくは圧縮に適した有声音（例えば母音）を示す傾向がある。
【００５９】
声セグメントのスペクトルロールオフは、１０２４サンプルの各分析フレームに対して５０％の重複で計算される。これに沿って、関連付けられた旋律（ＭＩＤＩシンボル）の旋律密度は、移動ウインドウ上で計算され、旋律全体にわたって正規化されて、滑らかな曲線を与えるために、その後、補間される。スペクトルロールオフおよび正規化された旋律密度の内積は、マトリクスを提供し、その後、これは、関連付けられた最小コストを有するマトリクスを通して経路を見つける、標準の動的プログラミング問題への入力として扱われる。マトリクス内の各ステップは、マトリクスを通してとられる経路を調整するために微調整できる、対応するコストに関連付けられる。この手順は、旋律内の対応する音色を満たすために、セグメント内の各フレーム用に必要とされる延伸量を引き起こす。
【００６０】
[発語から旋律への変換]
発語の基本周波数もしくはピッチは連続的に変化するが、概して、音楽的旋律の様に聞こえることはない。典型的には、音楽的旋律の様に聞こえるには、変化はあまりにも小さく、速く、もしくは頻繁ではない。ピッチ変化は、音生成方法および話し手の感情状態を含む種々の理由のために生じ、フレーズ終了もしくは質問および音調言語の固有部分を示す。
【００６１】
幾つかの実施形態においては、発語セグメントの音声エンコーディング（上述されたように、リズムスケルトンもしくはグリッドへと整列／延伸／圧縮される）は、音色シーケンスもしくは旋律スコアに従ってピッチ補正される。前述されたように、音色シーケンスもしくは旋律スコアは、バッキングトラック用もしくはバッキングトラックに関連して、予め計算されたり、ダウンロードされてもよい。
【００６２】
幾つかの実施形態に対して、実装された発語−旋律（Ｓ２Ｍ）変換の望ましい特質は、発語が音楽的旋律の様に明瞭に聞こえつつ、明確に理解できるままであることである。当業者は、使用されることがある種々の可能性のある技術を理解するが、我々のアプローチは、声の周期励起をエミュレートする、声門パルスと話し手の声との相互合成に基づく。これは、声の音色の特徴を保持する明確に整えられた信号につながり、発語内容を広範囲の状況で明瞭に理解することを可能とする。図７は、旋律スコア７０１（例えば、バッキングトラック用もしくはバッキングトラックに関連してローカルストレージから読み出されるか、ダウンロードされるか、必要に応じて供給されるなど）が声門パルスの相互合成（７０２）に対する入力として使用される、幾つかの実施形態における、信号処理フローのブロック図を示す。対象スペクトルが入力ボーカルのＦＦＴ７０４によって提供される一方で、相互合成のソース励起は、（７０７からの）声門信号である。
【００６３】
入力発語７０３は、４４．１ｋＨｚでサンプリングされ、そのスペクトログラムは、７５サンプルによって重複される１０２４サンプルのＨａｎｎウインドウ（２３ｍｓ）を利用して計算される（７０４）。声門パルス（７０５）は、図８に示されるＲｏｓｅｎｂｅｒｇモデルに基づいていた。それは、以下の式に従って生成され、かつ、開始前（０−ｔ０）、開始−ピーク（ｔ０−ｔｆ）およびピーク−終了（ｔｆ−Ｔｐ）に対応する３つの領域で構成される。これは、以下の式によって要約される。
【数５】
0006290858.tif 000007
【００６４】
Ｒｏｓｅｎｂｅｒｇ声門パルスのパラメータは、相対的開放期間（ｔｆ−ｔ０／Ｔｐ）および相対的閉鎖期間（（Ｔｐ−ｔｆ）／Ｔｐ）を含む。これらの割合を変化させることによって、音色の特徴を変化させることができる。これに加えて、基本的形状は、パルスにより自然な品質を与えるために改変された。より詳細には、数学的に定義された形状は、手によって（即ち、描画プログラムでマウスを利用して）描かれ、わずかな不規則性につながる。“汚れた”波形は、その後、マウス座標の量子化によって導入される突然の不連続性を除去するために、２０ポイント有限インパルス応答（ＦＩＲ）フィルタを利用して、低域フィルタ処理された。
【００６５】
上記の声門パルスのピッチは、Ｔｐによって与えられる。我々の場合には、我々は、異なるピッチ用に同一の声門パルス形状を柔軟に利用することができることを望み、かつ、これを連続的に制御できることを望む。これは、所望のピッチに従って声門パルスを再サンプリングすることによって達成され、それによって、波形内でホップすべき量を変化させる。線形補間は、各ホップで声門パルスの値を決定するために使用された。
【００６６】
声門波形のスペクトログラムは、７５％重複された１０２４サンプルのＨａｎｎウインドウを利用して獲得された。周期的声門パルス波形と発語との間の相互合成（７０２）は、発語の各フレームの振幅スペクトル（７０７）を、声門パルスの複素スペクトルによって乗算すること（７０６）によって達成され、声門パルススペクトルに従って、複素振幅の大きさを有効に再度スケール変更する。幾つかの場合もしくは実施形態においては、直接強度スペクトルを利用するのではなく、各バーク帯域内のエネルギーがスペクトルを予め強調した（スペクトルホワイトニング）後で利用される。この方法においては、声門パルススペクトルの調和構造は、発語のフォルマント構造が刻まれる間に乱されることはない。我々は、これが音楽的変換に対する発語用の有効な技術であることを見出した。
【００６７】
上記のアプローチで生じるある問題点は、本質的に騒々しい、幾つかの子音音素などの無声音が、上記のアプローチによって適切にモデル化されないことである。これは、発語内にそれらが存在するときに“鳴り響く音（ｒｉｎｇｉｎｇ  ｓｏｕｎｄ）”につながり、パーカッションの質の欠如につながる。これらの音節を適切に保持するために、我々は、制御された量のハイパスホワイトノイズ（７０８）を導入する。無声音は広帯域スペクトルを有する傾向があり、スペクトルロールオフが、再度、指示的音響特性として利用される。つまり、高周波数成分の顕著なロールオフによって特徴づけられないフレームは、ハイパスホワイトノイズの多少の補償的追加用の候補である。導入されるノイズの量は、広帯域スペクトルを有するが、上述された声門パルス技術を利用してでは適切にモデル化されない無声音が、この指示的音声特性によって制御されるハイパスホワイトノイズの量とミキシングされるように、フレームのスペクトルロールオフによって制御される。我々は、これがより明瞭かつ自然な出力につながることを見出した。
【００６８】
[概略的曲構成]
上述された発語−音楽ｓｏｎｇｉｆｉｃａｔｉｏｎプロセスの幾つかの実現は、声門パルスのピッチを決定するピッチ制御信号を使用する。理解されるように、制御信号は任意の数の方法で生成することができる。例えば、制御信号はランダムに生成されてもよいし、または、統計的モデルに従って生成されてもよい。幾つかの場合もしくは実施形態においては、ピッチ制御信号（例えば、７１１）は、記号的記譜法もしくは曲唱を利用して作曲された旋律（７０１）に基づく。前者の場合には、対象ピッチ値のベクトルで構成される音声レート制御信号を生成するために、ＭＩＤＩなどの記号的記譜法がＰｙｔｈｏｎスクリプトを利用して処理される。曲唱された旋律の場合には、ピッチ検出アルゴリズムは、制御信号を生成するために使用することができる。ピッチ推定の細分化の程度に依存して、音声レート制御信号を生成するために、線形補間が利用される。
【００６９】
曲を作成するうえでのさらなるステップは、デジタル音声ファイルの形式であるバッキングトラックと、整列して合成変換された発語（出力７１０）とをミキシングすることである。上述されたように、最終的な旋律がどれくらいの長さになるか予め知られていないことに留意されたい。リズム整列ステップは、短いもしくは長いパターンを選択してもよい。これを処理するために、バッキングトラックは、典型的に、より長いパターンを適応させるために継ぎ目なくループできるように作曲される。最終的旋律がループよりも短い場合、とられる動作はなく、ボーカルのない曲の一部が存在する。
【００７０】
[他の様式と調和する出力用の変形例]
我々は、ここで、“ラップ”（即ち、ビートに対してリズム的に整列した発語）に発語を変換するためにより適したさらなる方法を記述する。我々は、この手順を“オートラップ（ＡｕｔｏＲａｐ）”と称し、当業者は、本明細書の記述に基づいて広範囲の実現を理解するであろう。より詳細には、より大きなコンピュータ処理フロー（例えば、図４に要約されたように、図３のコンピュートプラットフォーム上で実行するアプリケーションに関連して以前図示され、記述されたような機能的もしくはコンピュータ処理ブロックを通して）の態様は、適用可能なままである。しかしながら、前述されたものに対するある適応、分割および整列技術は、発語−ラップ実施形態に対して適切である。図９の図面は、ある例示的な発語−ラップ実施形態に関連する。
【００７１】
以前のように、分割（ここでは、分割９１１）は、バーク帯域表現に基づいて、スペクトル差関数を利用して計算される検出関数を使用する。しかしながら、ここで、我々は、検出関数を計算するときに、約７００Ｈｚから１５００Ｈｚのサブバンドを強調する。帯域制限されるか、もしくは強調されたＤＦは、音節核（知覚的に発語におけるストレス点である）に対してより近く対応することが見出される。
【００７２】
より具体的には、中間帯域制限が良好な検出性能を提供するが、より良好な検出性能は、中間帯域を加重し、強調された中間帯域外のスペクトルを考慮することによって幾つかの場合においては達成できることが見出された。これは、広周波帯域特性によって特徴づけられるパーカッションの開始が、中間帯域を利用して主に検出される母音の開始に加えて取り込まれるためである。幾つかの実施形態においては、所望の加重は、中間帯域に対して、各バークバンドにおける電力のログを取って、１０で乗算することに基づき、他の帯域に対してログもしくは再スケール変更を適用しない。
【００７３】
スペクトル差が計算されるとき、このアプローチは、値の範囲がより大きいため、中間帯域に対してより大きい比重を与える傾向がある。しかしながら、スペクトル距離関数における距離を計算するとき、Ｌ標準が０．２５の値で利用されるため、より大きい振幅の差が、一つもしくは幾つかの帯域で観察されるような場合に、多帯域にわたって生じる微小な変化は大きな変化として登録する。ユークリッド距離が使用される場合、この効果は観察されない。無論、他の中間帯域強調技術が、他の実施形態においては利用されてもよい。
【００７４】
上述された中間帯域強調は別として、検出関数計算は、発語−曲実装用に上述されたスペクトル差（ＳＤＦ）技術に類似する（図５および図６ならびに添付の記述を再考）。前述のように、ローカルピーク取得は、スケール変更された中間閾値を利用して、ＳＤＦ上で実施される。スケールファクタは、ピークを考慮するために、ピークがローカル中央値をどの程度超えなければならないかを制御する。ピーク取得後、前述のように、ＳＤＦがまとめ関数に対して渡される。再度図９を参照すると、上述されたように、最小セグメント長よりも小さいセグメントがない場合、まとめは停止し、連続的セグメントへと分割された元の音声発語を残す（ここでは、９０４）。
【００７５】
続いて、リズムパターン（例えば、リズムスケルトンもしくはグリッド９０３）は、定義、生成、または検索される。幾つかの実施形態においては、ユーザは異なる対象ラップ、演奏、演奏者、様式などに対して、リズムスケルトンのライブラリから選択ならびに再選択してもよいことに留意されたい。フレーズテンプレートと同様に、リズムスケルトンもしくはグリッドは、売買され、利用可能にされ、または、アプリ購入収益モデルの一部に従って需要に応じて供給され（もしくは計算され）てもよいし、または、ゲーム、教育の一部として獲得、公表、交換され、および／もしくはソーシャルタイプのユーザインタラクションによってサポートされてもよい。
【００７６】
幾つかの実施形態においては、リズムパターンは特定の時間位置における一連のインパルスとして表される。例えば、これは、単に、均等間隔のインパルスのグリッドであり、パルス間の幅は、現在の曲のテンポに関連する。曲が１２０ＢＰＭのテンポを有する場合には、ビート間は．５秒であり、パルス間は、典型的には、これの整数分数（例えば、．５および．２５など）である。音楽的用語においては、これは、各四分音符もしくは各八分音符などのインパルスに等価である。より複雑なパターンも定義することができる。例えば、我々は、２つの四分音符後の４つの八分音符の繰り返しパターンを特定し、４ビートパターンを作成する。１２０ＢＰＭのテンポにおいては、パルスは、以下の時間位置（秒）に存在する。つまり、０．５、１．５、１．７５、２．０、２．２５、３．０、３．５、４．０、４．２５、４．５、４．７５秒である。
【００７７】
分割（９１１）およびグリッド構成後、アラインメントが実施される（９１２）。図９は、図６のフレーズテンプレート駆動技術とは異なるアラインメントプロセスを示し、それは、その代わりに発語−ラップ実施形態用に適合される。図９を参照すると、各セグメントは、リズムパルスに対応する順序で動かされる。我々がセグメントＳ１、Ｓ２、Ｓ３．．．Ｓ５およびパルスＰ１、Ｐ２、Ｐ３．．．Ｓ５を有する場合、セグメントＳ１は、パルスＰ１の位置へと動かされ、Ｓ２はＰ２に動かされる。概して、セグメント長は、連続的パルス間の距離に一致しない。これを扱うために使用する二つの手順が存在する。
（１）セグメントは、連続的パルス間の空間に適合するために、（より短い場合には）時間延伸されるか、（より長い場合には）時間圧縮される。プロセスは、図９に図示される。我々は、位相ボコーダ９１３の利用に基づく時間延伸および圧縮用の技術を以下に記述する。
（２）セグメントがより短い場合には、無音で満たされる。第一の手順はより頻繁に利用されるが、セグメントが適合するためにその後の延伸を必要とする場合には、後者の手順は時には、延伸のアーティファクト（影響）を回避するために利用される。
【００７８】
二つのさらなる方策が過度の延伸もしくは圧縮を最小化するために使用される。第一に、Ｓ１からのマッピングを開始するのみではなく、我々は、各可能性のあるセグメントから開始して、終了が到達するときに完了する全てのマッピングを考える。したがって、我々がＳ５で開始する場合、マッピングは、パルスＰ１に対してセグメントＳ５、Ｐ２に対してＳ６などである。各開始点に対して、我々は、延伸／圧縮の総量を測定し、それをリズム歪みと呼ぶ。幾つかの実施形態においては、リズム歪みスコアは、１より小さい延伸比の逆数として計算される。この手順は、各リズムパターンに対して繰り返される。リズムパターン（例えば、リズムスケルトンもしくはグリッド９０３）およびリズム歪みスコアを最小化する開始点は、最良のマッピングになるために取得され、合成用に利用される。
【００７９】
幾つかの場合もしくは実施形態においては、より良好に動作することがしばしば見出される別のリズム歪みスコアが、スピードスコアの分布における異常値の数を計数することによって計算された。つまり、データは、十分位数に分割され、スピードスコアが下部および上部十分位数にあるセグメント数は、スコアを与えるために追加された。より高いスコアは、より多くの異常値を示し、それによって、より大きい程度のリズム歪みを示す。
【００８０】
第二に、位相ボコーダ９１３は、可変速度で延伸／圧縮するために利用される。これは、リアルタイム、即ち、ソース音声全体にアクセスすることなく行われる。時間延伸および圧縮は、必然的に、結果として、異なる長さの入力および出力を生じ、これは、延伸／圧縮の程度を制御するために利用される。幾つかの場合もしくは実施形態においては、位相ボコーダ９１３は、４回の重複で動作し、蓄積ＦＩＦＯバッファへとその出力を追加する。出力が要求されると、データはこのバッファからコピーされる。このバッファの有効部分の終わりが到達すると、コアルーチンは、現在のタイムステップでデータの次のホップを生成する。各ホップに対して、新規入力データはコールバックによって検索され、初期化の間に提供され、ある数の音声サンプルを提供することによって、外部対象が時間延伸／圧縮の量を制御することを可能とする。一タイムステップ用の出力を計算するために、以前のタイムステップからの複素出力に沿って、ｎｆｆｔ／４によってオフセットされた１０２４長さ（ｎｆｆｔ）の二つの重複ウインドウが比較される。入力信号全体が利用可能ではないリアルタイム環境においてこれを可能とするために、位相ボコーダ９１３は、入力信号のＦＩＦＯバッファを長さ５／４ｎｆｆｔで維持し、それによって、これらの二つの重複ウインドウは任意の時間ステップにおいて利用可能である。直近のデータを有するウインドウは、“フロント”ウインドウと称され、他の（“バック”）ウインドウは、デルタ位相を得るために利用される。
【００８１】
第一に、以前の複素出力は、その強度によって正規化され、位相成分を表す単位強度複素数のベクトルを得る。その後、ＦＦＴがフロントおよびバックウインドウの双方でとられる。正規化された以前の出力は、バックウインドウの複素共役によって乗算され、結果として、バックウインドウの強度を有する複素ベクトルが生じ、位相はバックウインドウと以前の出力との間の相違に等しい。
【００８２】
我々は、所定の周波数ビンの各複素振幅をその直近の平均で置換することによって、隣接する周波数ビン間の位相コヒーレンスを保持することを試みる。隣接するビンにおける低レベルノイズを有し、あるビンにおいて明確な正弦曲線が存在する場合、その強度は、近傍よりも大きく、その位相は、真の正弦曲線の位相によって置換される。我々は、これが顕著に再合成品質を改善することを見出した。
【００８３】
結果として生じるベクトルは、その後その強度によって正規化される。ゼロ強度ビンでさえ単位強度へと正規化することを保証するために、微小なオフセットは、正規化の前に加えられる。このベクトルは、フロントウインドウのフーリエ変換で乗算される。結果として生じるベクトルは、フロントウインドウの強度を有するが、位相は、フロントおよびバックウインドウ間の相違と以前の出力の位相との和である。入力がコールバックによって提供される同一の速度で、出力が要求される場合、これは、位相コヒーレンスステップが排除されるときに、再構成と同等である。
【００８４】
[具体的配置もしくは実装]
図１０は、発語−音楽および／もしくは発語−ラップ対象実装（例えば、ハンドヘルドコンピュートプラットフォーム１００１上で実行可能で、かつ本明細書で記述された信号処理技術の計算的実現を具現化するアプリケーション）が（例えば、マイクロフォン入力１０１２を介して）発語を取り込み、データ記憶装置もしくはサービスプラットフォーム（例えば、サーバ／サービス１００５もしくはネットワーククラウド１００４内）と、および／もしくは遠隔デバイス（例えば、さらなる発語−音楽および／もしくは発語−ラップアプリケーションインスタンスおよび／もしくはコンピュータ１００６をホストするハンドヘルドコンピュートプラットフォーム１００２）と通信し、（複数の）本発明の幾つかの実施形態に従って変換される音声信号の演奏用に適した、ネットワーク化された通信環境を示す。
【００８５】
（複数の）本発明に従う幾つかの実施形態は、玩具もしくはアミューズメント市場など特定目的のデバイスの形式をとるか、および／もしくは、特定目的デバイスとして提供される可能性がある。図１１および図１２は、当該特定目的のデバイス用例示的構成を示し、図１３は、玩具もしくはデバイス１３５０の内部電子機器で実現／使用するために適したデータおよび他のフローの機能的ブロック図を示し、自動変換技術が本明細書で記述される。プログラマブルハンドヘルドコンピュートプラットフォームと比較すると、（例えば、ｉＯＳもしくはＡｎｄｒｏｉｄデバイスタイプの実施形態）、玩具もしくはデバイス１３５０用の内部電子機器の実装は、音声取り込み用のマイクロフォン、プログラムされたマイクロコントローラ、デジタルアナログ回路（ＤＡＣ）、アナログデジタル変換器（ＡＤＣ）回路および任意の一体型スピーカもしくは音声信号出力を有する特定目的のデバイスにおいて比較的低コストで提供されてもよい。
【００８６】
[他の実施形態]
（複数の）本発明は、種々の実施形態に関連して記述されているが、これらの実施形態は例示的なものであって、（複数の）本発明の範囲は、それらに限定されることはないことを理解されたい。多くの変形、改変、追加および改善が可能である。例えば、ボーカル発語が取り込まれ、自動変換され、バッキングトラックとのミキシング用に整列する実施形態が記述されてきたが、本明細書で記述された取り込まれたボーカルの自動変換は、音楽的伴奏なしで、対象リズムもしくは拍子（詩、弱強格の周期、リメリックなどの特性）と時間的に整列する印象的演奏を提供するために使用されてもよいことを理解されたい。
【００８７】
さらには、ある例示的信号処理技術が、ある例示的な用途の文脈で記述されてきたが、当業者は、他の適切な信号処理技術および効果を適応させるために、記述された技術を改変することは容易であることを認識するであろう。
【００８８】
（複数の）本発明に従う幾つかの実施形態は、本明細書で記述された方法を実施するためにコンピュータシステム（ｉＰｈｏｎｅハンドヘルド、モバイルデバイスもしくはポータブル計算デバイスなど）内で次々に実行されうる、非一時的媒体内に実体的に具現化されたソフトウェアの命令シーケンスおよび他の機能的構成としてマシン可読媒体にエンコードされたコンピュータプログラム製品の形式をとるか、および／もしくは、コンピュータプログラム製品として提供されてもよい。概して、マシン可読媒体は、情報の伝送に対して付随する有形、非一時的ストレージと同様に、マシン（例えば、コンピュータ、モバイルデバイスもしくはポータブル計算デバイスの計算ファシリティなど）によって読み取り可能な形式（アプリケーション、ソースもしくはオブジェクトコード、機能記述的情報など）で情報をエンコードする有形態様を含むことができる。マシン可読媒体は、磁気記憶媒体（例えば、ディスクおよび／もしくはテープ記憶装置）、光学記憶媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気記憶媒体、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラマブルメモリ（例えば、ＥＰＲＯＭおよびＥＥＰＲＯＭ）、フラッシュメモリもしくは電子的命令、動作シーケンス、機能記述的情報エンコーディングなどを格納するのに適した他のタイプの媒体を含むが、それに限定されることはない。
【００８９】
概して、単一の実施例として本明細書で記述されたコンポーネント、動作もしくは構造用に、複数の実施例が提供されてもよい。種々のコンポーネント、動作およびデータ記憶装置の間の境界は、任意のものであって、特定の動作は、特定の例示的構成の文脈で示される。機能の他の割り当てが想定され、（複数の）本発明の範囲内にある。概して、例示的構成において個別のコンポーネントとして提示された構造および機能は、組み合わせられた構造もしくはコンポーネントとして実現されてもよい。同様に、単一のコンポーネントとして提示された構造および機能は、個別のコンポーネントとして実現されてもよい。これらのおよび他の変形、改変、追加および改善は、（複数の）本発明の範囲内にある可能性がある。
【図１】
0006290858.tif 000008
【図２】
0006290858.tif 000009
【図３】
0006290858.tif 000010
【図４】
0006290858.tif 000011
【図５】
0006290858.tif 000012
【図６】
0006290858.tif 000013
【図７】
0006290858.tif 000014
【図８】
0006290858.tif 000015
【図９】
0006290858.tif 000016
【図１０】
0006290858.tif 000017
【図１１】
0006290858.tif 000018
【図１２】
0006290858.tif 000019
【図１３】
0006290858.tif 000020