(57)【要約】【課題】演奏データの取り込み及び再生を改良する。【解決手段】方法は、第１の音楽イベントを符号化する第１のコマンドを生成することと、第１のコマンドに対応する第１のメッセージを生成することであって、第１のメッセージは第１の音楽イベントの第１の音響属性タイプおよび第１の音響属性値を符号化し、第１の音響属性値は第１の音響属性タイプの第１の値を指定することと、第１のコマンドに対応する第２のメッセージを生成することであって、第２のメッセージは第１の音楽イベントの第２の音響属性タイプおよび第２の音響属性値を符号化し、第２の音響属性値は、第２の音響属性タイプの第２の値を指定することと、第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することと、タイムスタンプデータ、第１のコマンド、第１のメッセージおよび第２のメッセージを計算機に送ることとを含む。【選択図】図１
2019128587.tif 000002
【特許請求の範囲】
【請求項１】
演奏データを取り込む方法であって、
プロセッサを備えた音楽入力装置によって、第１の音楽イベントを符号化する第１のコマンドを生成することと、
前記音楽入力装置によって、前記第１のコマンドに対応する第１のメッセージを生成することであって、前記第１のメッセージは、前記第１の音楽イベントの第１の音響属性タイプおよび第１の音響属性値を符号化し、前記第１の音響属性値は、前記第１の音響属性タイプの第１の値を指定することと、
前記音楽入力装置によって、前記第１のコマンドに対応する第２のメッセージを生成することであって、前記第２のメッセージは、前記第１の音楽イベントの第２の音響属性タイプおよび第２の音響属性値を符号化し、前記第２の音響属性値は、前記第２の音響属性タイプの第２の値を指定することと、
前記音楽入力装置によって、前記第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することと、
前記タイムスタンプデータ、前記第１のコマンド、前記第１のメッセージおよび前記第２のメッセージを計算機に送ることと、
を含む、方法。
【請求項２】
前記第１のコマンドは、前記第１のコマンドに対応するメッセージの数の指示を含む第１の連鎖データを含む、請求項１に記載の方法。
【請求項３】
前記第１のコマンドは、外部サウンドジェネレータによって受け取られるとき、前記外部サウンドジェネレータに音符を演奏させる、「ノートオン」コマンドを含む、請求項１に記載の方法。
【請求項４】
前記第１のメッセージは、前記音符のアーティキュレーションを符号化するアーティキュレーション指令を含む、請求項３に記載の方法。
【請求項５】
前記タイムスタンプデータは、秒を符号化する第１のデータワードと、秒の小数部を符号化する第２のデータワードとを含む、請求項１に記載の方法。
【請求項６】
前記音楽入力装置は、楽器を含む、請求項１に記載の方法。
【請求項７】
前記音楽入力装置は、弦楽器を含み、
前記演奏データの第１のサブチャネルに対する前記第１のコマンドを生成することであって、前記第１の音楽イベントは、前記弦楽器の第１の弦上で演奏される第１の音符を含むことと、
前記演奏データの第２のサブチャネルに対する第２のコマンドを生成することであって、前記第２のコマンドは、第２の音楽イベントを符号化し、前記第２の音楽イベントは、前記弦楽器の第２の弦上で演奏される第２の音符を含むことと、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記弦楽器の前記演奏データは、第１のチャネルに対して生成され、
前記第１のチャネルは、前記第１のサブチャネルおよび前記第２のサブチャネルを含み、
前記タイムスタンプデータは、前記第２の音楽イベントを前記第１の音楽イベントの前記発生の前記時刻と関連付ける、
請求項７に記載の方法。
【請求項９】
前記音楽入力装置によって第２の音楽イベントを符号化する第２のコマンドを生成することと、前記タイムスタンプデータは、前記第２のコマンドを前記第１の音楽イベントの前記発生の前記時刻と関連付けることとをさらに含む、請求項１に記載の方法。
【請求項１０】
前記音楽入力装置によって、前記第２のコマンドに対応する第３のメッセージを生成することであって、前記第３のメッセージは、前記第２の音楽イベントの第３の音響属性タイプおよび第３の音響属性値を符号化し、前記第３の音響属性値は、前記第３の音響属性タイプの第３の値を指定し、前記第３のメッセージは、前記第３の音響属性タイプを符号化するために第１の数のビットを使用し、前記第３の音響属性タイプと関連付けられた前記第３の音響属性値を符号化するために第２の数のビットを使用すること
をさらに含む、請求項９に記載の方法。
【請求項１１】
少なくとも１つのプロセッサと、
音楽イベントを表す入力を検出するのに有効な少なくとも１つのセンサと、
を備えた楽器であって、
前記少なくとも１つのプロセッサは、
前記入力に基づいて前記音楽イベントのデジタル表現を生成することと、
前記音楽イベントの前記デジタル表現のタイミングと関連付けられたタイムスタンプデータを生成することと、
前記デジタル表現および前記タイムスタンプデータを計算機に送ることとを行い、
前記計算機は、前記音楽イベントの前記デジタル表現を記憶および編集する、
楽器。
【請求項１２】
前記デジタル表現は、外部サウンドジェネレータによって受け取られるとき、前記外部サウンドジェネレータに前記タイムスタンプデータと関連付けられた前記タイミングで音符を演奏させる、「ノートオン」コマンドを含む、請求項１１に記載の楽器。
【請求項１３】
前記少なくとも１つのプロセッサは、
前記「ノートオン」コマンドに対応する第１のメッセージを生成し、前記第１のメッセージは、第１の音響属性タイプおよび第１の音響属性値を符号化し、前記第１の音響属性値は、前記第１の音響属性タイプの第１の値を指定し、
前記「ノートオン」コマンドに対応する第２のメッセージを生成し、前記第２のメッセージは、第２の音響属性タイプおよび第２の音響属性値を符号化し、前記第２の音響属性値は、前記第２の音響属性タイプの第２の値を指定する、請求項１２に記載の楽器。
【請求項１４】
前記第１のメッセージおよび前記第２のメッセージは、前記タイムスタンプデータの前記タイミングと関連付けられる、請求項１３に記載の楽器。
【請求項１５】
前記タイムスタンプデータは、秒を符号化する第１のデータワードと、秒の小数部を符号化する第２のデータワードとを含む、請求項１１に記載の楽器。
【請求項１６】
前記少なくとも１つのプロセッサは、前記少なくとも１つのプロセッサの第１のクロックを前記計算機の第２のクロックと同期させるのにさらに有効である、請求項１１に記載の楽器。
【請求項１７】
少なくとも１つのプロセッサと、
演奏動作を検出するのに有効なセンサと、
前記少なくとも１つのプロセッサによって実行されるとき、
第１のコマンドを生成することであって、前記第１のコマンドは、前記演奏動作と関連付けられた第１の音楽イベントを符号化することと、
前記第１のコマンドに対応する第１のメッセージを生成することであって、前記第１のメッセージは、前記第１の音楽イベントの第１の音響属性タイプを符号化することと、
前記第１のコマンドに対応する第２のメッセージを生成することであって、前記第２のメッセージは、前記第１の音楽イベントの第２の音響属性タイプを符号化することと、
前記第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することと、
前記タイムスタンプデータ、前記第１のコマンド、前記第１のメッセージおよび前記第２のメッセージを第２の計算機に送ることと、
を含む方法を行う指令を記憶する、非一時的コンピュータ可読媒体と、
を含む、計算機。
【請求項１８】
前記タイムスタンプデータは、秒を符号化する第１のデータワードと、秒の小数部を符号化する第２のデータワードとを含む、請求項１７に記載の計算機。
【請求項１９】
前記第１のコマンドは、前記第１のコマンドに対応するメッセージの数の指示を含む第１の連鎖データを含む、請求項１７に記載の計算機。
【請求項２０】
前記第１のコマンドは、外部サウンドジェネレータによって受け取られるとき、前記外部サウンドジェネレータに音符を演奏させる、「ノートオン」コマンドを含み、
前記第１の音響属性タイプは、前記音符の初期ピッチを指定するコマンドを含む、
請求項１７に記載の計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、演奏の取込みに関し、より具体的には、演奏の電子表示を生成するためのプロトコルに関する。
【背景技術】
【０００２】
演奏は、演奏データとして取り込むことができ、この取り込みに代えて、或いは取り込みとともに、別の方法で生成し記憶することができる。Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ（ＭＩＤＩ）は、演奏の記憶や、様々な機器間での演奏データの通信を可能とする演奏を表すために一般に使用される技術標準の例である。ＭＩＤＩを使用して生成された音楽イベントは、デジタル・オーディオ・ワークステーション（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｗｏｒｋｓｔａｔｉｏｎ：ＤＡＷ）などのコンピュータソフトウェアを使用して順番に配列することができる。ＤＡＷは、通常、ユーザが１つまたは複数の録音を編集およびミキシングして演奏のデジタル表現を生成することを可能にする、集中型計算インタフェースを備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６２７４７９９号
【特許文献２】米国特許第７２２３９１２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、演奏データの取込みおよび再生の改良を課題とする。
【課題を解決するための手段】
【０００５】
本開示の実施形態に従って、演奏データを取り込む方法が一般に説明される。少なくともいくつかの実施例で、方法は、プロセッサを備えた音楽入力装置によって、第１の音楽イベントを符号化する第１のコマンドを生成することを含み得る。少なくともいくつかの他の実施例で、方法は、音楽入力装置によって、第１のコマンドに対応する第１のメッセージを生成することを含み得る。いくつかの実施例で、第１のメッセージは、第１の音楽イベントの第１の音響属性タイプおよび第１の音響属性値を符号化することができる。いくつかの実施例で、第１の音響属性値は、第１の音響属性タイプの第１の値を指定することができる。いくつかのさらなる実施例で、方法は、音楽入力装置によって、第１のコマンドに対応する第２のメッセージを生成することを含み得る。さまざまな実施例で、第２のメッセージは、第１の音楽イベントの第２の音響属性タイプおよび第２の音響属性値を符号化することができる。いくつかの実施例で、第２の音響属性値は、第２の音響属性タイプの第２の値を指定することができる。さらに他の実施例で、方法は、音楽入力装置によって、第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することを含み得る。なおさらなる実施例で、方法は、タイムスタンプデータ、第１のコマンド、第１のメッセージ、および第２のメッセージをデジタル・オーディオ・ワークステーションまたは他の計算機に送ることを含み得る。
【０００６】
本開示のいくつかの他の実施形態に従って、楽器が一般に説明される。さまざまな実施例で、楽器は、少なくとも１つのプロセッサを備え得る。いくつかのさらなる実施例で、楽器は、音楽イベントを表す入力を検出するのに有効な少なくとも１つのセンサを備え得る。さまざまな実施例で、少なくとも１つのプロセッサは、入力に基づいて音楽イベントのデジタル表現を生成するのに有効であり得る。いくつかのさらなる実施例で、少なくと
も１つのプロセッサは、音楽イベントのデジタル表現のタイミングと関連付けられたタイムスタンプデータを生成するのに有効であり得る。いくつかの他の実施例で、少なくとも１つのプロセッサは、デジタル表現およびタイムスタンプデータを計算機に送るのに有効であってもよく、計算機は、音楽イベントのデジタル表現を記憶および編集するのに有効である。
【０００７】
本開示のいくつかの他の実施形態に従って、計算機（コンピュータ）が一般に説明される。さまざまな実施例で、計算機は、少なくとも１つのプロセッサを備え得る。いくつかのさらなる実施例で、計算機は、演奏動作を検出するのに有効なセンサを備え得る。なおさらなる実施例で、計算機は、非一時的コンピュータ可読媒体を備え得る。さまざまな実施例で、非一時的コンピュータ可読媒体は、少なくとも１つのプロセッサによって実行されるとき、第１のコマンドを生成することを含む方法を行うのに有効であり得る、命令を記憶することができ、第１のコマンドは、センサによって検出された演奏動作と関連付けられた第１の音楽イベントを符号化する。いくつかのさらなる実施例で、方法は、第１のコマンドに対応する第１のメッセージを生成することを含み得る。さまざまな実施例で、第１のメッセージは、第１の音楽イベントの第１の音響属性タイプを符号化することができる。さまざまなさらなる実施例で、方法は、第１のコマンドに対応する第２のメッセージを生成することを含み得る。いくつかの実施例で、第２のメッセージは、第１の音楽イベントの第２の音響属性を符号化することができる。さまざまなさらなる実施例で、方法は、第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することを含み得る。さらに他の実施例で、方法は、タイムスタンプデータ、第１のコマンド、第１のメッセージ、および第２のメッセージをデジタル・オーディオ・ワークステーションまたは他の計算機に送ることを含み得る。
【０００８】
本発明のさらなる他の実施形態は、本発明を遂行するために企図された最良の形態を例示する目的で実施形態が説明されている。以下の詳細な説明から当業者に容易に明らかになるであろう。理解されるように、すべて本発明の趣旨および範囲から逸脱することなく、本発明は他の異なる実施形態が可能であり、本発明のいくつかの詳細はさまざまな明らかな点で修正が可能である。したがって、図面および詳細な説明は、本質的に例示的なものであって限定的なものとみなすべきではない。
【図面の簡単な説明】
【０００９】
【図１】本開示のさまざまな実施態様に従って、演奏データを生成および伝送するために使用され得る例示的なシステムを図示する。
【図２】本開示のさまざまな実施態様に従って使用され得る演奏データの例示的な構造化表現を図示する。
【図３】本開示のさまざまな実施態様に従って、タイムスタンプ付き演奏データのブロックの例示的な構造化表現を図示する。
【図４】本開示のさまざまな実施態様による例示的なコマンドテーブルのグループ化を図示する。
【図５】本開示の一実施形態に従って、タイムスタンプが入力装置にローカルなクロックを参照する例示的な実装を図示する。
【図６】本開示の一実施形態に従って、タイムスタンプが入力装置にローカルなデジタル・オーディオ・クロックを参照する例示的な実装を図示する。
【図７】本開示のさまざまな実施態様に従って、計算機にローカルなクロックがクロック基準として使用される例示的な実装を図示する。
【図８】本開示のさまざまな実施態様に従って、計算機がデジタル・オーディオ・インタフェース機能を備え、デジタル・オーディオ・インタフェースのデジタル・オーディオ・クロックが基準クロックとして使用される例示的な実装を図示する。
【図９】本開示のさまざまな実施態様に従って、専用のデジタル・オーディオ・インタフェース周辺機器が計算機に結合される例示的な実装を図示する。
【図１０】本開示の一実施形態に従って、専用のオーディオインタフェース周辺機器が計算機に結合され、周辺機器のデジタル・オーディオ・クロックが基準クロックとして使用される例示的な実装を図示する。
【図１１】本開示のさまざまな実施態様に従って、計算機への直接接続を有する機器のサブセットおよび計算機へのネットワークベースの接続を有する機器のサブセットを図示する。
【図１２】本開示のさまざまな実施形態を実装するために使用され得る計算機を図示する。
【図１３】本開示のさまざまな実施態様に従って使用され得るプロセスを例示するフローチャートを図示する。
【発明を実施するための形態】
【００１０】
以下の説明で、本開示のいくつかの実施形態を例示する添付図面を参照する。本開示の趣旨および範囲から逸脱することなく、他の実施形態を利用することができ、システムまたはプロセス変更をなし得ることを理解するべきである。以下の詳細な説明を限定的な意味でとるべきではない。図面は必ずしも原寸に比例して描かれていないことを理解するべきである。
【００１１】
本開示のさまざまな実施形態は、演奏データの正確な取込みおよび再生のための改良されたシステムおよび方法を提供する。本明細書に記載のように、これらの実施形態は、演奏データの取込みおよび再生の時間および空間精度を向上させることができる。加えて、本明細書に記載のさまざまな実施形態は、個別のコマンドを指定することについて、ならびに演奏データを作成および編集するために複数のコマンドを互いに連鎖させることについての標準化された方式を提供することができる。加えて、本明細書に記載のさまざまな実施形態は、ジッタを解消して演奏データの取込みおよび再生の時間精度を向上させるために１つまたは複数のコマンドを特定のタイミングと関連付けるのに有効であり得る。加えて、本明細書に記載のさまざまな実施形態は、以前は考慮されず従来システムでは失われていた、微妙な陰影に富んだ音楽表現力を表すのに十分ロバストな演奏データの標準化された数値表現を提供することができる。
【００１２】
本明細書に記載の実施形態は、演奏データの時間精度、空間精度、および表現力が改善された、演奏データの取込み、記憶、および伝送のための手法を提供することができる。加えるに、本明細書に記載の実施形態は、拡張可能であってもよく、使用および実装の容易さを維持しつつ進歩的な特徴の実装を可能にすることができる。
【００１３】
演奏データに適用される場合、「時間精度」は、演奏の動作が時間的にどれほど正確に配置されるかを示す。分解能（イベントの時刻をどれほど正確に測定することができるか）に加えて、完全なシステムとの関連で重要な２つの付加的な時間単位は、レイテンシ（演奏動作と認知される音との間の遅延の量）およびジッタ（レイテンシの不規則変動の量）である。レイテンシは、演奏において避けられない場合がある。空気中の音速は、毎秒およそ１０００フィートである。ギターアンプから１０フィートに立っているギタリストは、１０ミリ秒の音響レイテンシを体験する。一般に、少量のレイテンシは、そのレイテンシが予測可能である限り、演奏者に受け入れられる。演奏者は、レイテンシの著しい変化をテンポの変化として「感じる」。そのようなものとして、大量のタイミングジッタは演奏を困難にする。
【００１４】
デジタルオーディオ（およびごく最近では、デジタル・オーディオ・ワークステーション（「ＤＡＷ」））の出現で、音楽アプリケーションにおける時間精度に対する望ましい性能測定基準は、「サンプル正確度」になった。用語「サンプルの正確な」は、１つのデ
ジタル・オーディオ・サンプル期間と等しい、または１つのデジタル・オーディオ・サンプル期間よりも良い時間精度で、音楽データを取り込んで再生するための能力と本明細書に定義される。例えば、４８ｋＨｚプロフェッショナルオーディオ録音は、２０マイクロ秒にほぼ等しいサンプル期間を有する。同様に、９６ｋＨｚハイ・レゾリューション・オーディオ録音は、１０マイクロ秒にほぼ等しいサンプル期間を有する。サンプルの正確なシステムの顕著な特徴は、楽曲またはマルチトラック録音が、それが演奏されるたびにまったく同じに聞こえるようになる。本明細書の説明は、サンプル正確度を伴って演奏の取込みおよび再現を両方ともできるシステムおよび方法について説明する。
【００１５】
用語「デジタル・オーディオ・ワークステーション」は、音楽コンテンツを作曲、録音、および／または編集するためのシステムと定義され、通常、少なくとも１つのデジタル・オーディオ・インタフェースが装備されたデスクトップコンピュータ上で稼働するソフトウェアとして実装される。完全なシステムがＤＡＷソフトウェアおよびそれが稼働するコンピュータに限定されているとき、最新のＤＡＷはサンプル正確度を達成する。（例えば、音符を使用して）楽曲がＤＡＷソフトウェアに直接入力され、結果として生じるオーディオがＤＡＷソフトウェア内で完全にレンダリングされる限り、サンプル正確度が達成される。同様に、マルチ・トラック・デジタル・オーディオの形でＤＡＷに録音された演奏もまた、サンプルの正確な再生を達成する。
【００１６】
ＤＡＷに演奏データを提供するために外部入力装置または外部サウンドジェネレータがシステムに組み込まれるとき、ＤＡＷモデルのサンプル正確度が損なわれる。これらの外部機器は、ＤＡＷと外部機器との間の通信のために一般に使用されるＭＩＤＩプロトコルにちなんで、一般に「ＭＩＤＩ機器」と呼ばれる。ＭＩＤＩプロトコルとコンピュータ・オペレーティング・システム制限との組合せは、（外部入力装置からの）演奏データの録音および（外部サウンドジェネレータへの）演奏データの再生に著しい時間的誤差をもたらすことがある。外部サウンドジェネレータは、例えば、演奏データを受け取って再生するのに有効な機器とすることができる。
【００１７】
機器間で演奏データを転送するために使用されるとき、ＭＩＤＩは厳密にリアルタイムプロトコルである。換言すれば、ＭＩＤＩ対応入力装置は、演奏データをそのデータを生成した入力イベントに可能な限り時間的に接近して伝送しようとすることになる。結果として、達成される時間精度は、入力装置のあらゆるハードウェアおよびソフトウェア制限、受取り機器のあらゆるハードウェアおよびソフトウェア制限、ならびに機器間の物理的接続性のあらゆる制限に依存する。
【００１８】
いくつかのＭＩＤＩ実装で、ＤＩＮ  ＭＩＤＩ相互接続が機器間の接続性のために使用される。インタフェースがアイドル状態であるならば、ＤＩＮ  ＭＩＤＩ上の新しいイベントの伝送は、（１ビット期間を３２マイクロ秒に等しいものとして）１ビット期間以内に開始することができる。これはそれほどサンプルが正確でないが、それは非常に良い時間精度を表す。ＤＩＮ  ＭＩＤＩの主要な制限は、その比較的低いデータ伝送能力である。音符の開始を知らせる、単一の「ノートオン」イベントのための伝送時間は、およそ３２０マイクロ秒である。データは連続して伝送され、そのようなものとして本当に同時のイベントは不可能である。例えば、三和音を演奏することは、３つの個別の「ノートオン」イベントを９６０マイクロ秒にわたって引き延ばす。エクスプレッションデータなどの、任意の付加的なデータを加えることにより、時間精度はさらに低下する。
【００１９】
いくつかのＭＩＤＩ機器は、ＤＩＮ  ＭＩＤＩに対する代替の物理インタフェースとしてユニバーサル・シリアル・バス（「ＵＳＢ」）を提供する。ＤＩＮ  ＭＩＤＩと比較して、ＵＳＢは改善されたデータ伝送能力を提供する。ＵＳＢは、データ転送を１フレームの期間が１０００マイクロ秒であるフレームに編成する。そのようなものとして、ＵＳＢ
上のＭＩＤＩの時間精度は、従来のＤＩＮ  ＭＩＤＩよりも悪い場合がある。例えば、２つの「ノートオン」イベントは、ほとんど同時に生成され得るが、ＵＳＢを介して伝送されるときに２つのＵＳＢフレーム間で分けられて、２つのノート・オン・イベント間の１０００マイクロ秒の時間的誤差をもたらす場合がある。いくつかのさらなる実施例で、機器間の物理インタフェースとして高速ＵＳＢを使用することができる。高速ＵＳＢは、１つのマイクロフレームの期間を１２５マイクロ秒として、データ転送フレームを８つのマイクロフレームに分割する。高速ＵＳＢ上で転送されるＭＩＤＩは、１０００マイクロ秒のＵＳＢフレームに対して改善された時間精度を提供するが、まだサンプル正確度が不十分である。
【００２０】
さまざまな実施例で、時間的誤差の第２の重要な原因は、受取り機器が典型的なデスクトップコンピュータ環境で稼働するデジタル・オーディオ・ワークステーションであるときに存在する。ＤＡＷソフトウェアは、入力装置から演奏データを直接受け取らない。その代わりに、コンピュータ・オペレーティング・システム内のデバイスドライバがデータを受け取り、そのデータを待ち行列に配置する。データの待ち行列は、オペレーティング・システム・アプリケーション・プログラミング・インタフェース（ＡＰＩ）を介してＤＡＷソフトウェアに移される。ＤＡＷソフトウェアが呼ばれるとき、待ち行列には、さらなるレイテンシおよび／またはジッタをもたらす、それらのメッセージを生成したイベントの相対的タイミングについての情報を持たないいくつかのメッセージが入っている場合がある。
【００２１】
物理インタフェースおよびデスクトップ・コンピュータ・オペレーティング・システムの制限が結びついて、完全なシステムで通常約１０００マイクロ秒以上のジッタで、かなりの量のランダムジッタを含む時間的誤差を作り出す。デスクトップコンピュータとともに使用されるＭＩＤＩ機器のために時間精度を改善する方法として、タイムスタンプ対応ＭＩＤＩインタフェースが提供されている。このようなＭＩＤＩインタフェースは、ＭＩＤＩ機器とＤＡＷを稼働させているコンピュータとの間に配置される。このようなＭＩＤＩインタフェースは、演奏動作を受け取って演奏動作を表す演奏データを生成することができず、入力装置またはコントローラとＤＡＷまたは計算機との間のインタフェースとしてのみ機能する。ＭＩＤＩインタフェースからコンピュータへの物理的接続は、通常、ＵＳＢなどの高速バスである。ＭＩＤＩ機器からＭＩＤＩインタフェースへの接続は、従来のＤＩＮ  ＭＩＤＩである。ＭＩＤＩ機器それ自体は変化しておらず、リアルタイムで動作する。リアルタイム演奏データがＭＩＤＩインタフェースにおいて受け取られるとき、インタフェースは、ＤＡＷを稼働させているコンピュータにデータを移す前にデータが受け取られた実時間を示すタイムスタンプを付与する。しかしながら、ＭＩＤＩ機器とＭＩＤＩインタフェースとの間の物理インタフェースを介してもたらされるレイテンシおよびジッタが存続する。
【００２２】
＜空間精度＞
演奏データに適用される場合、「空間精度」は、演奏の物理作用がどれほど正確に取り込まれるかを示す。換言すれば、空間精度は、音楽イベントと関連付けられたパラメータ（例えば、音符の減衰速度、ラウドネスなど）がどれほど正確に表されるかを記述する。概念的に、演奏を正確に再現するための空間精度の度合は、各タイプの動作が結果として生じる音にどのように影響を与えるかに関連している。例えば、人間の耳は、音量の変動よりもピッチの変動により敏感である。音量に影響を与える動作よりもピッチに影響を与える動作がより高い精度で取り込まれることがより望ましいはずである。したがって、本明細書に記載される演奏データの生成および伝送のためのさまざまなプロトコルは、演奏の最もクリティカルな動作を取り込むのに十分な分解能を提供する。
【００２３】
時間精度と同様に、空間精度のための究極的基準は、主として最新のデジタル・オーデ
ィオ・ワークステーションによって設定された。ＤＡＷ環境は、演奏データを一連の制御チャネルとして表す。ＤＡＷ内のコントローラデータの数値表現は、通常、１．０に正規化された単精度浮動小数点である。このように正規化された単精度浮動小数点値は、２４ビットの精度とほぼ同等である。
【００２４】
歴史的に、ＭＩＤＩプロトコルは、ピッチおよびモジュレーションホイールおよび／またはフットペダルなどの付加的な制御でしばしば拡張されるピアノ式キーボードから生じる演奏データの伝送を扱った。そのようなものとして、ＭＩＤＩプロトコルは、メッセージがノートナンバ（どのキーが押されたか）およびノートベロシティ（キーがどれほど速く動いていたか）を伝達する、ノート・イベント・メッセージ（ノートオン、ノートオフ）を中心に構築されている。ＭＩＤＩプロトコルは、８ビットマイクロプロセッサの時代に開発され、そのようなものとして、その基本データワード長として８ビットを使用する。ＭＩＤＩは、１ビットをメッセージ開始フラグとして予約し、７ビットをパラメータデータのために残している。クリティカルなパラメータは、２つのデータワードを使用して送られ、１４ビットの拡張精度をもたらす。
【００２５】
キーベロシティについては、ＭＩＤＩによって提供される７ビットの精度が初期のアプリケーションのために妥当であった。もっと最近になって、アコースティックピアノのダイナミックレンジを忠実に再現するために、ハンマベロシティのためのおよそ１０ビットの精度を使用するべきであることが示唆された。（個別の楽器の相対的なバランスを保つことを目的に）単一の「ベロシティ」スケールを使用してオーケストラのダイナミックレンジを表すために、分解能の付加的な増加を使用することができる。
【００２６】
相対的なピッチ調整（ピッチベンド）のために、ＭＩＤＩによって提供される１４ビットの拡張精度は十分であり得る。ピッチベンドは、比較的小さい周波数範囲（１オクターブ以下）にわたって適用され、結果としてピッチの連続的な変化が認知される。すなわち、結果として生じる周波数のステップは、認知されないように十分小さい（音楽セントの一部分）。演奏するべき音符のピッチを直接指定するために、または広範囲の周波数にわたってピッチを調整する制御のために、付加的な分解能を使用することができる。このような制御の実施例は、代替音律または微分音スケールを実現するためのノートピッチの直接割当てと同様にフィルタおよびイコライザ周波数調整を含む。
【００２７】
＜表現力＞
演奏データに適用される場合、「表現力」（またはノートエクスプレッション）は、演奏のアーティキュレーションをどれほど正確に取り込むことができるかを示す。実施例として、弦楽器上の演奏は、具体的な音符のアーティキュレーションまたは具体的な弦上で演奏される音符のアーティキュレーションを含み得る。同様に、弦楽器は、弓で弾かれるか、ピックで弾かれるか、またはつま弾かれるかなどの特定のアタック法で演奏することができる。音楽的文脈における表現力は新しい概念ではないが、編集するために簡単で直感的な演奏データとして音楽表現を取り込むことは、新たな試みである。本明細書で使用される場合、演奏データの「取込み」は、演奏を１つまたは複数のコマンドおよび／またはメッセージとして符号化することを含み得る。
【００２８】
たいていのＤＡＷは、個別の音符のレベルで音楽表現を取り込んで操作することができない。通常これを試みることは、具体的なアーティキュレーションを必要とする音符をＤＡＷ内の別個のトラック上に分離することなどの、次善策の使用を必然的に伴う。少なくとも、このタイプの次善策は直感的ではなく、結果を編集することが困難である。
【００２９】
前述したように、ＭＩＤＩプロトコルは、ピアノ式キーボードから生じる演奏データの伝送を中心に発展した。キーベロシティの域を越えて、ＭＩＤＩは、具体的な演奏してい
る音符を修正するための単一のパラメータ（ポリ・アフター・タッチ）を含む。（ピッチベンドなどの）他のすべてのＭＩＤＩパラメータは、チャネル上で演奏される音符のすべてを対象にする。そのようなものとして、ＭＩＤＩプロトコルを他のタイプの楽器に適用することは困難な場合がある。ＤＡＷと同様に、最も一般的な次善策は、固有のアーティキュレーションを持つ音符をそれらの独自のＭＩＤＩチャネル上に分離することである。弦楽器の場合、各弦は、その独自のチャネル上に分離される。したがって、ＤＡＷで１つのギタートラック上に音符の単一シーケンスを見る代わりに、６つの別個のトラックが生成され、結果として、編集することが困難で扱いにくい場合がある演奏データとなる。加えて、「ポリエクスプレッション」音楽コントローラは、制御面上の個別の指の位置、動きおよび圧力を表現的な演奏データのソースとして追跡する入力装置である。ＭＩＤＩを使用してこのようなコントローラからデータを伝送すると、それぞれの区別可能なタッチがその独自のチャネル上に分離される。再び、結果として生じるデータは、直感的でなく、一度取り込まれると編集することが困難である。
【００３０】
＜数値表現＞
前述のように、ＭＩＤＩは８ビットワード長を使用する。さまざまな実施例で、本明細書に記載のプロトコルは、標準ワード長として３２ビットを使用することができる。例示的な３２ビット実装で、上位８ビットは、コマンド（または保持されるデータのタイプの指示）を符号化することができ、下位２４ビットは、コマンドパラメータまたは演奏データを符号化することができる。３２ビットおよび６４ビットのマイクロプロセッサの普及によって、３２ビットワードは、最新の計算システムで容易に解析することができる。さまざまな実施例で、３２ビットワード長は、同様に、典型的なＤＡＷ環境の内部コントローラ精度への良い適合を表し得る。２４ビットより多くの精度が望ましい場合には、マルチワードメッセージを利用することができる。３２ビットワードは、例示的な目的で本明細書に全体として記載されるが、本明細書に記載される演奏データの生成および伝送のためのさまざまな技法は、異なるデータワード長で使用してもよい。さまざまな実施例で、適当なワード長は、本明細書に記載のさまざまな技法を実装するために使用される特定の計算環境に基づいて選択することができる。
【００３１】
＜システム＞
図１は、本開示のさまざまな実施態様に従って、演奏データを生成および伝送するために使用され得る例示的なシステム１００を図示する。いくつかの実施例で、システム１００は、入力装置１０２および計算機１１６を備え得る。入力装置１０２は、演奏データを生成するために、および／または、演奏データを計算機１１６のＤＡＷ１２２に送るために使用される、少なくとも１つのプロセッサおよびメモリを含む計算機として構成することができる。少なくともいくつかの実施例において、入力装置１０２は、演奏動作１０４を受け取り、演奏動作１０４に応答して入力イベント１０６などの入力イベントを生成することが可能な、コントローラまたは楽器として構成することができる。少なくともいくつかの実施例で、入力装置１０２は、（図１に示されていない）任意選択的なデジタル・オーディオ・インタフェースを備えてもよく、および／またはデジタル・オーディオ・インタフェースと通信するように構成されてもよい。さまざまな実施例で、デジタル・オーディオ・インタフェースは、入力装置１０２と計算機１１６との間でクロック速度を一致させることができる。加えて、デジタル・オーディオ・インタフェースは、外部ソースからオーディオを受け取ることができる。いくつかの実施例で、デジタル・オーディオ・インタフェースは、受け取ったオーディオ（音響又は音声）を計算機１１６に渡すのに有効であり得る。
【００３２】
入力装置１０２は、新しい演奏入力（例えば、演奏動作１０４）に対して入力装置１０２のセンサを監視するのに有効であり得る。例えば、ギターおよび他の弦楽器で、センサは、楽器によって作り出された機械的振動を感知するピックアップ装置を備えることがで
き、演奏動作は、ギターの弦をかき鳴らすことを含み得る。電気キーボードで、センサは、センサの配列を備えることができ、演奏動作は、演奏者がキーを押すことを含み得る。加えて、さまざまな実施例で、入力装置１０２は、入力装置１０２にローカルなクロック（例えば、クロック１２３）に基づいて、タイムスタンプ（例えば、タイムスタンプ１０８）を付与することができる。さまざまな実施例で、クロック１２３は、システム１００中の１つまたは複数の他のクロックと同期させることができる。入力装置１０２はさらに、入力イベントを本開示に記載の（例えば、コマンドおよび符号化パラメータを含む）さまざまなメッセージにフォーマットするのに有効であり得る。入力装置１０２はさらに、メッセージを計算機（例えば、計算機１１６）に伝送するのに有効であり得る。さまざまな実施例で、計算機１１６は、ＤＡＷを含んでも含まなくてもよい。少なくともいくつかの実施例で、計算機１１６は、入力装置１０２から受け取ったさまざまな符号化音楽データを受け取り解釈するのに有効な少なくとも１つのプロセッサを備え得る。少なくともいくつかの実施例で、計算機１１６は、演奏データを再生することが可能な外部サウンドジェネレータであってもよく、またはこれと通信するように構成されてもよい。少なくともいくつかのさらなる実施例で、計算機１１６は、さまざまな実施形態に従って、演奏データを記憶、編集および／または転送するのに有効であり得る。
【００３３】
演奏動作１０４は、入力イベント１０６を生成するために使用することができる。入力イベント１０６は、計算機１１６のＤＡＷ１２２に伝送する前にバッファ１１３に記憶することができる。ＤＡＷ１２２は、入力装置１０２などの１つまたは複数の外部ソースから受け取ったさまざまな入力イベントを編集するためのインタフェースを提供することができる。（複数の入力イベントおよび外部オーディオソースを含み得る）演奏データは、編集および／または再生のためにＤＡＷ１２２によって提供されるグラフィカル・ユーザ・インタフェース上に表示することができる。演奏データは、計算機１１６のメモリ１２０に記憶することができる。加えて、演奏データは、演奏データの再生および／または記憶のために１つまたは複数の外部機器に計算機１１６によって出力することができる。
【００３４】
計算機１１６は、入力装置１０２と関連付けられた１つまたは複数のデバイスドライバを備え得る。デバイスドライバは、入力装置１０２などの入力装置の取付けまたは結合を検出することができ、機器特有の構成タスクを行うことができる。デバイスドライバは、ＤＡＷ（例えば、ＤＡＷ１２２）に標準ＡＰＩを提供することができる。少なくともいくつかの実施例で、デバイスドライバは、図５〜図１１に関連して本明細書に説明されるクロック統制機能を行うことができる。入力装置がネットワーク接続を介して接続されるさまざまな他の実施例で、ホストアプリケーション（例えば、ＤＡＷ１２２）は、本開示に従ってフォーマットされた入力イベントを受け取るために入力装置への直接（ネットワークソケット）接続を開くことができる。
【００３５】
ＤＡＷ１２２（または計算機１１６の別のホストアプリケーション）は、１つまたは複数の入力装置の選択を可能にすることができる。入力装置が有線接続を通して計算機１１６に接続されるとき、本明細書に記載のさまざまな技法に従ってフォーマットされた入力イベント（例えば、入力イベント１０６）は、標準化されたＡＰＩを介してＤＡＷ１２２が受け取ることができる。さまざまな他の実施例で、ネットワーク接続型入力装置は、標準ネットワークプロトコルを使用してＤＡＷ１２２（または計算機１１６の別のホストアプリケーション）と接続することができる。さまざまな実施例で、ＤＡＷ１２２（または計算機１１６の別のホストアプリケーション）は、メッセージ、演奏データおよび／または入力イベントを計算機１１６のメモリ１２０、および／または、１つもしくは複数のクラウドベースの記憶リポジトリに記憶するのに有効であり得る。
【００３６】
＜時間精度＞
本明細書に記載される演奏データの生成および伝送のためのさまざまなシステムは、タ
イムスタンプと演奏データの構造化表現との組合せを使用して時間精度を達成することができる。タイムスタンプが音楽イベントの発生の時刻（例えば、音楽イベントが取り込まれた時刻または音楽イベントが演奏されるように意図されている時刻）を伝達し得るのに対して、構造化表現は、コマンドの単一タイムスタンプ付きブロック内で同時解釈のためにデータの関連部分をグループ化することを可能にし得る。
【００３７】
例えば、図１の入力イベント１０６は、イベントタイムスタンプ１０８、連鎖可能コマンド１１０ａ、メッセージセット１１２ａ（メッセージ１〜ｎを含む）、連鎖可能コマンド１１０ｂおよびメッセージセット１１２ｂ（メッセージｚを含む）を含む。
【００３８】
イベントタイムスタンプ１０８は、タイムスタンプ１０８が生成されるブロック中のメッセージおよび／またはコマンドと時刻を関連付けることができる。例えば、入力イベント１０６は、各連鎖可能コマンドがいくつかのメッセージと関連付けられている状態で、２つの連鎖可能コマンド１１０ａ、１１０ｂを含む、コマンドのブロックを含み得る。
【００３９】
本明細書で使用される場合、「連鎖可能コマンド」は、実行可能なコマンドおよび連鎖可能コマンドと関連付けられた１つまたは複数のパラメータを意味することができる（例えば、連鎖可能コマンドと関連付けられた（または「連鎖された」）メッセージの数の指示を含む連鎖データを含む）。
【００４０】
メッセージは、メッセージの実行可能なコマンドによって符号化された音楽イベントのタイプを記述する音響属性タイプを符号化している第１のデータを含み得る。加えて、メッセージは、メッセージの音響属性タイプの値（例えば、パラメータ）を指定する１つまたは複数の音響属性値を符号化している第２のデータを含み得る。
【００４１】
例えば、第１のメッセージは、音響属性タイプ「初期ピッチ」を含み得る。少なくともいくつかの実施例で、第１のメッセージの第１の数のビットは、音響属性タイプを符号化し得る。本明細書に記載のさまざまな技法に従って構成されたＤＡＷまたは他の計算機は、音響属性タイプを第１のメッセージによって符号化された音楽イベントの初期ピッチを記述していると解釈するのに有効であり得る。
【００４２】
さらに、第１のメッセージは、音響属性値「４４５Ｈｚ」を符号化している第２のデータを含み得る。この実施例で、第１のメッセージの第２の数のビットは、４４５Ｈｚの値を符号化し得る。この実施例で、４４５Ｈｚは、第１のメッセージの音響属性タイプ（例えば、「初期ピッチ」）の値を指定することができる。
【００４３】
メッセージは、連鎖可能コマンドと関連付けられるかまたは「連鎖され」てもよく、そうでなくてもよい。タイムスタンプ１０８は、連鎖可能コマンド１１０ａ、１１０ｂが取り込まれた時刻、または連鎖可能コマンド１１０ａ、１１０ｂによって表される音楽イベントが演奏されるべき時刻を指定することができる。
【００４４】
以下にさらに詳細に論じるように、タイムスタンプは、システム１００の１つまたは複数のクロックを参照することにより生成することができる。例えば、クロック１２３は、入力装置１０２のローカルクロックとすることができ、タイムスタンプ１０８を生成するために使用することができる。
【００４５】
さまざまな他の実施例で、入力装置１０２のローカルクロック１２３は、計算機１１６のクロック１２４と同期させることができる。入力装置（例えば、入力装置１０２）のローカルクロック（例えば、クロック１２３）は、タイムスタンプデータ（例えば、タイムスタンプ１０８）を生成するために使用することができる。場合によっては、入力装置の
ローカルクロックが入力装置１０２の外部の基準クロック（例えば、クロック１２４）に従うように統制され得るが、ローカルクロックはなお、タイムスタンプ１０８を生成するために使用されることになる。
【００４６】
例示的な実装で、タイムスタンプは、入力イベントを生成する機器によって生成することができる。例えば、図１で、入力装置１０２は、タイムスタンプ１０８を生成することができる。入力装置の場合、入力装置は、そのデータがシステム中の他の機器に移される前に演奏データにタイムスタンプを付与することができる。ＤＡＷの場合、ＤＡＷは、そのデータが外部（出力）機器に移される前に、演奏データにタイムスタンプを付与することができる。
【００４７】
図２は、本開示のさまざまな実施態様に従って使用され得る演奏データの例示的な構造化表現を図示する。図２は、「ノートオン」連鎖可能コマンド２１０を図示する。さまざまな実施例で、「ノートオン」連鎖可能コマンドは、特定の時刻において取り込まれた（および／または再生されるべき）音楽イベントを記述する。「ノートオン」連鎖可能コマンド２１０は、特定の時刻において取り込まれた（および／または演奏されるべき）特定の音符を指定することができる。さまざまな実施例で、連鎖可能コマンド（例えば、図１の連鎖可能コマンド１１０ａ、１１０ｂ）は、特定の連鎖可能コマンドを修正するメッセージの数を指定する連鎖長パラメータを含み得る。例えば、「ノートオン」連鎖可能コマンドは、「ノートオン」連鎖可能コマンド２１０を修正するメッセージの数を指定する連鎖長パラメータ２１２を含み得る。
【００４８】
図２に図示される実施例で、連鎖長パラメータ２１２は、Ｎ個のメッセージ（例えば、メッセージ２２０、２３０、２４０、．．．、２５０）の連鎖長を指定する。図２に図示される実施例で、ピッチ・ベンド・メッセージ２２０は、「ノートオン」連鎖可能コマンド２１０の音符の初期ピッチを指定することができる。同様に、アーティキュレーションメッセージ２３０は、「ノートオン」連鎖可能コマンド２１０の音符の特定のアーティキュレーション（例えば、音符がバイオリンで演奏される場合、つま弾かれるか弓で弾かれる）を指定することができる。
【００４９】
前述のように、３２ビット実装で、各メッセージの上位８ビットは、コマンドを符号化することができ、下位２４ビットは、コマンドパラメータまたは演奏データを符号化することができる。実施例としてピッチ・ベンド・メッセージ２２０を使用すると、ピッチ・ベンド・メッセージ２２０の上位８ビットは、メッセージが「ノートオン」連鎖可能コマンド２１０によって符号化される音符の初期ピッチを指定するために使用されることを示すことができる。ピッチ・ベンド・メッセージ２２０の下位２４ビットは、（例えば、音楽セントの一部分を使用して）特定のピッチを指定することができる。複数のメッセージが連鎖可能コマンド２１０と関連して図示されているが、（単一のメッセージを含む）任意の数のメッセージが本開示に従って使用され得る。
【００５０】
図３は、本開示のさまざまな実施態様に従って、タイムスタンプ付き演奏データのブロックの例示的な構造化表現を図示する。さまざまな実施例で、マスタクロックをシステム１００（図１）で使用することができ、システム中の機器は、マスタクロックに同期させることができる。マスタクロックは、「ウォールクロック」または「メディアクロック」とすることができる。両方のクロックフォーマットで、時刻は、「上位」ワードが整数秒を伝達し「下位」ワードが秒の小数部を伝達するダブルワード拡張精度で表される。多数の小データブロックが規則的な時間間隔で伝送されるときオーバーヘッドを低減させるためにシングルワードオフセットベースのタイムスタンプが同様に含まれてもよい。
【００５１】
「ウォールクロック」フォーマットは、従来の時刻を拡張精度で伝達する。ＩＥＥＥ１
５８８「Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ」は、このような拡張精度ウォールクロックの分配のための方法を指定する。例示的な実装で、ＩＥＥＥ１５８８クロックの最下位６ビットを切り捨ててウォール・クロック・フォーマットに対して６４ナノ秒のタイムスタンプ粒度をもたらすことができる。
【００５２】
「メディアクロック」フォーマットは、デジタル・オーディオ・システムのワードクロック（サンプルクロック）（例えば、図１のデジタル・オーディオ・インタフェース１１４のワードクロック）に関連した時刻を伝達する。例示的なメディア・クロック・フォーマットで、タイムスタンプ小数部の８番目の最上位ビットは、シングルレート（４８ｋＨｚ）プロフェッショナル・オーディオ・システムに対する１つのサンプル期間と等しくすることができる、タイムスタンプ小数部の７番目の最上位ビットは、ダブルレート（９６ｋＨｚ）ハイ・レゾリューション・オーディオ・システムの１つのサンプル期間と等しい、などである。上述の例示的な実装は、メディア・クロック・フォーマットに対しておよそ８１ナノ秒のタイムスタンプ粒度をもたらす。
【００５３】
図３は、メッセージのタイムスタンプ付きブロック３００を図示する。タイムスタンプ３１０は整数秒を表すことができ、タイムスタンプ３１２は秒の小数部を表すことができる。まとまったタイムスタンプ３１０および３１２は、メッセージのタイムスタンプ付きブロック３００内に符号化された演奏データが取り込まれた時刻または再生されるべき時刻を上述の許容誤差以内まで（例えば、クロック実装のタイプに応じて、６４または８１ナノ秒以内まで）表すことができる。
【００５４】
メッセージのタイムスタンプ付きブロック３００は、２つの「ノートオン」連鎖可能コマンド３１４および３２２を含む。したがって、メッセージのタイムスタンプ付きブロック３００は、同時に演奏される２つの音符を符号化する。ノートオン連鎖可能コマンド（ノート・オン・イベント動作）３１４は、３つのメッセージ−３１６、３１８および３２０−の連鎖長（ＣＬ）を含む。図２に関連して上述したように、３つのメッセージ３１６、３１８および３２０のそれぞれは、ノートオン連鎖可能コマンド３１４によって符号化された音符を修正することができる。
【００５５】
同様に、ノートオン連鎖可能コマンド（ノート・オン・イベント動作）３２２は、２つのメッセージ−３２４および３２６−のＣＬを含む。図２に関連して上述したように、メッセージ３２４および３２６のそれぞれは、ノートオン連鎖可能コマンド３２２によって符号化された音符を修正することができる。メッセージ（エンド・オブ・ブロック）３２８は、メッセージのタイムスタンプ付きブロック３００への明示的終了点を示す。
【００５６】
＜音楽表現データ＞
基本的なレベルで、演奏データをカプセル化するプロトコルは、作り出すべき任意の新しい音の開始も、音の終了までの、および音の終了を含む、その音のあらゆるその後の修正も伝達する。新しい音が鳴り始めるとき、またはすでに鳴っている音が修正されるとき、プロトコルはその音に固有の演奏データを伝達する。最終的に、完全な楽曲をカプセル化するために、本明細書に記載のさまざまな実施形態に従って、関連した音（または楽器）をグループ化（またはチャネル化）する方法が使用され得る。
【００５７】
本明細書に記載の演奏データの生成および伝送のためのさまざまなシステムおよび方法で、関連した音（完全な楽曲の単一の楽器または単一のメロディーライン）は、チャネルに組織化することができる。非キーボード指向の楽器により良く対応するために、本明細書に記載される演奏データの生成および伝送のためのさまざまなシステムおよび方法は、サブチャネルを含む。すなわち、各チャネルは、いくつかのサブチャネルにさらに分割することができる。弦楽器を例にとると、弦楽器の各弦は、その独自のサブチャネルに割り
当てることができる。加えて、この実施例で、弦楽器の演奏は、全体的な演奏が単一のチャネルによって定義されるように、第１のチャネルに対して生成することができ、他方、特定の弦に起因する演奏の部分は、弦楽器のチャネルの特定のサブチャネルに対して生成される。同じ音符（同じピッチ）を２つ以上の弦上で、しかしその選択に基づいて少し異なる調性で演奏することができるので、各弦に対するサブチャネルの生成は特に有用であり得る。同様に、最新の「ポリエクスプレッション」コントローラは、それぞれの区別可能なタッチをその独自のサブチャネルに割り当てることができる。
【００５８】
前述のように、表現力を最大化する努力で、本明細書に記載のさまざまなシステムおよび方法は、例えば、図２および図３に関連して示され説明されるように、コマンドおよびメッセージのコマンド連鎖の概念を使用することができる。さまざまな実施例で、連鎖可能コマンド（例えば、図１の連鎖可能コマンド１１０ａ、１１０ｂ）は、基本コマンド（ノートオン、ノートオフ、ノート修正、チャネル修正）のセットを定義することができ、パラメータの任意のセットをこれらの基本コマンドのそれぞれと関連付ける（連鎖させる）ことを可能にし得る。ＭＩＤＩが音の開始および終了とともにパラメータ（ノートナンバおよびベロシティ）の固定セットを伝送するのに対して、本明細書に記載のさまざまな技法は、伝送されるパラメータのセットを楽器または演奏特有にすることを可能にする。したがって、本明細書に記載のさまざまな技法は、音の任意の態様を音が鳴り始めるときに指定することを可能にし得る。加えて、すでに鳴っている音の任意の態様は、本明細書に記載のデータの構造化表現を使用して、その音の終了まで、およびその音の終了を含めて、任意の時点で修正することができる。
【００５９】
音（ピッチまたはラウドネスなど）の特性を具体化するために使用されるより一般的なパラメータに加えて、本明細書に記載のさまざまなシステムおよび方法は、演奏データの表現力を向上させる（ときどき本明細書で「アーティキュレーションヒント」と呼ばれる）アーティキュレーション命令の概念を加える。アーティキュレーションヒントは、音への一般的な修正（例えば、シンバルなどの打楽器のミューティング）と同様に、新しい音が開始するときアタックのタイプ（例えば、弦楽器に対してつま弾かれるか弓で弾かれる）を符号化するのに有効な命令を含み得る。
【００６０】
例えば、図３を参照して、イベント動作３１４は、メッセージ３１６、３１８および３２０を含む「ノートオン」連鎖可能コマンドとすることができる。メッセージ３１６は、バイオリン上の音符の初期ピッチを指定することができる。メッセージ３１８は、演奏の表現力をより忠実に再現するために音楽家の弓が上向きまたは下向きに動いていることを示すアーティキュレーションヒントとすることができる。
【００６１】
前述のように、ＭＩＤＩでは、個別の音符レベル表現が望ましい場合、固有のアーティキュレーションを必要とする音符は、それらの独自のチャネル上に分離される。弦楽器の場合、各弦は、その独自のチャネル上に分離される。したがって、ＤＡＷで１つのギタートラック上にノートの単一シーケンスを見る代わりに、６つの別個のトラックが生成され、結果として、編集することが困難で扱いにくい場合がある演奏データとなる。対照的に、本明細書に記載のさまざまなシステムおよび方法では、特定の楽器またはコントローラによる演奏のための単一のチャネルを維持しつつ、音符レベル表現を達成することができる。
【００６２】
最終的に、上述の音符レベル表現に加えて、チャネル修正コマンドにより、チャネルまたはサブチャネル上で演奏されるすべての音符を扱うことが可能になる。チャネルレベル制御は、柔軟性および粒度を欠くが、複数の音符が同じように修正されることになっている多くのアプリケーションに依然として有用である。
【００６３】
＜拡張性＞
さまざまな実施例で、本明細書に記載のシステムおよび方法をどのように新しいアプリケーションに適応可能にすることができるかについて、いくつかの考察を提供することができる。図４は、本開示のさまざまな実施態様による例示的なコマンドテーブル４００のグループ化を図示する。
【００６４】
第１に、コマンドテーブルは、論理セクションに分けることができ、割り当てられていないコードは、新しいコマンドが加えられる可能性が最も高いセクション内で予約される。例えば、連鎖可能コマンドセクションは現在、ノートオン、ノートオフ、ノート修正およびチャネル修正を含むが、もし連鎖可能コマンドの新しいタイプが使用されるなら、割り当てられていないコードの範囲が予約され得る。さらに、コマンドテーブル中のいくつかのコードは、予想される物理インタフェースとの適合性のために予約することができる。例えば、ある特定のコードは、ストリーム指向インタフェースで容易に認識されるプリアンブルとして予約される。
【００６５】
さまざまな実施例で、本明細書に記載のさまざまなシステムおよび方法は、拡張（ページ化）パラメータセットの概念を含み得る。いくつかの実施例で、このような拡張パラメータセットは、（元々定義されているパラメータに対して）「登録複合制御（Ｒｅｇｉｓｔｅｒｅｄ  Ｃｏｍｐｌｅｘ  Ｃｏｎｔｒｏｌｓ）」および（自由に割当可能なパラメータに対して）「非登録複合制御（Ｎｏｎ−Ｒｅｇｉｓｔｅｒｅｄ  Ｃｏｍｐｌｅｘ  Ｃｏｎｔｒｏｌｓ）」と呼ばれる場合がある。いくつかの実施例で、複合制御の各クラスは、最大６５，５３６ページを扱うことができ、各ページには、全部で１６００万個の一意的にアドレス可能なパラメータに対して、最大１２７個のパラメータを入れることができる。
【００６６】
＜多岐にわたる特徴＞
さまざまな実施例で、本明細書に記載のシステムおよび方法は、パラメータリードバック要求などの付加的な有用な特徴を含み得る。名称が示唆するように、このコマンドは、入力装置またはコントローラが、示されたパラメータの現在の状態を返すことを要求する。現在の状態について質問することに加えて、入力装置／コントローラ能力の自動発見のためにリードバック要求を使用することが同様に可能である。リードバック要求を通してＤＡＷに返すことができる情報の実施例は、各制御に対して実装される最小および最大範囲、各制御に対して実装されるステップサイズまたは分解能、各制御の機能を説明するテキストラベルなどを含み得る。リードバック要求機能は、特に拡張パラメータの大きなセットを実装する機器に対して、より容易な「プラグ・アンド・プレイ」エンドユーザ体験を可能にする。
【００６７】
＜代替用途＞
演奏データに関連して上に論じたが、上述の機能性は、音楽にわずかに関連したデータを取り込んで伝送するために同様に使用することができる。実施例は、従来のレコーディングスタジオ環境内の装置自動化、ＤＡＷの触覚制御のために使用される制御面、ライブ演奏用途などを含む。ライブ演奏自体は、装置自動化、舞台照明、ビデオおよび他の媒体を含んでもよく、そこで各要素を台本によるタイムラインにまたはライブ演奏に同期させてもよい（または同期させなくてもよい）。
【００６８】
＜実装＞
上述のプロトコル、システムおよび方法のさまざまな実装は、計算機に結合された入力装置を含み得る。入力装置は、演奏データを取り込むために使用される任意の機器とすることができる。さまざまな実施例で、入力装置は、楽器またはコントローラ機器とすることができる。少なくともいくつかの実施例で、入力装置として使用される楽器は、演奏デ
ータとして上述のさまざまなデータを生成するのに有効な１つまたは複数のプロセッサを備え得る。例えば、本開示のさまざまな実施態様による楽器は、タイムスタンプデータおよびタイムスタンプデータと関連して上に論じたさまざまなコマンドを生成するのに有効なマイクロプロセッサを備え得る。
【００６９】
入力装置は、ＤＡＷを実行する計算機に結合することができる。さまざまな実施例で、計算機は、取り込んだデータを記憶、編集、および／または伝送するために使用することができる。少なくともいくつかの実施例で、デジタル・オーディオ・インタフェースを使用することができ、デジタル・オーディオ・インタフェースは、入力装置と計算機との間の通信リンクにおいて挿入することができる。さまざまな他の実施例で、入力装置は、計算機と直接インタフェースをとることができる。
【００７０】
いくつかの実施例で、入力装置は、本明細書に記載のように、演奏の動作を取り込むためのセンサを搭載した、従来の楽器を含み得る。いくつかのさらなる実施例で、入力装置は、演奏の取込みのために従来の楽器に倣って設計された専用コントローラを含み得るが、その専用コントローラは、それ自体の音を作り出さない。いくつかのさらなる実施例で、入力装置は、演奏の取込みのために（従来の楽器に倣って設計されない）固有のデザインの専用コントローラを含んでもよく、その専用コントローラは、それ自体の音を作り出しても作り出さなくてもよい。
【００７１】
さまざまな実施例で、計算機は、本明細書に記載のように、１つまたは複数のデスクトップまたはラップトップコンピュータを含み得る。いくつかのさらなる実施例で、計算機は、本明細書に記載のように、タブレットまたはスマートフォンなどの１つまたは複数の携帯型計算機を含み得る。なおさらなる実施例で、計算機は、ＤＡＷ（例えば、音楽ワークステーション）を実行するための専用の計算機を含み得る。
【００７２】
いくつかの実施例で、本明細書に記載のように、デジタル・オーディオ・インタフェースは、オーディオをデジタル表現に、および／またはデジタル表現から変換するのに有効であり得る。さまざまな実施例で、デジタル・オーディオ・インタフェースは、本明細書に記載のように、計算機に組み込まれたデジタル・オーディオ・インタフェースを含み得る。さらに他の実施例で、デジタル・オーディオ・インタフェースは、本明細書に記載のように、入力装置に組み込まれたデジタル・オーディオ・インタフェースを含み得る。なおさらなる実施例で、デジタル・オーディオ・インタフェースは、計算機に取り付けられて入力装置と通信するように構成されたデジタル・オーディオ・インタフェース周辺機器を含み得る。例えば、入力装置のクロックは、デジタル・オーディオ・インタフェースのクロックに従うように統制され得る。
【００７３】
さまざまな実施例で、図５〜図１０に図示される「イベントタイムスタンプ」は、図１〜図４を参照して本明細書に説明されたコマンドの実施例とすることができる。加えて、さまざまな実施例で、図５〜図１０に図示される用語「パラメータ」の事例は、図１〜図４に関連して上述したような（そのいずれかがパラメータ値を含み得る）コマンド、および／または、メッセージの実施例とすることができる。さらに、図５〜図１１に図示されるさまざまな実施例で、「ＣＤ」は、１つまたは複数のクロックを基準クロックに同期させるのに有効なクロック統制信号を意味することができる。
【００７４】
図５は、本開示の一実施形態に従って、タイムスタンプが入力装置にローカルなクロックを参照する例示的な実装を図示する。いくつかの実施例で、入力装置は、計算機に結合することができ、ここでタイムスタンプは、その入力装置にローカルなクロックを参照する。
【００７５】
図６は、本開示の一実施形態に従って、タイムスタンプが入力装置にローカルなデジタル・オーディオ・クロックを参照する例示的な実装を図示する。図６に図示される実施例で、入力装置は、デジタル・オーディオ・インタフェース機能を含む。少なくともいくつかの実施例で、入力装置によって生成されるタイムスタンプは、入力装置にローカルなデジタル・オーディオ・インタフェースのデジタル・オーディオ・クロックを参照することができる。
【００７６】
図７は、本開示のさまざまな実施態様に従って、計算機にローカルなクロックがクロック基準として使用される例示的な実装を図示する。図７に図示される各入力装置によって生成されるタイムスタンプは、入力装置にローカルなクロックを参照することができる。図７に図示されるように、各入力装置のクロックは、ＣＤ信号を使用して基準クロックに従うように統制され得る。
【００７７】
図８は、本開示のさまざまな実施態様に従って、計算機がデジタル・オーディオ・インタフェース機能を備え、デジタル・オーディオ・インタフェースのデジタル・オーディオ・クロックが基準クロックとして使用される例示的な実装を図示する。
【００７８】
図９は、本開示のさまざまな実施態様に従って、専用のデジタル・オーディオ・インタフェース周辺機器が計算機に結合される例示的な実装を図示する。図９に図示される実施例で、計算機にローカルなクロックが基準として使用され、取り付けられた入力装置のローカルクロックおよびデジタル・オーディオ・インタフェース周辺機器のローカルクロックは、ＣＤ信号を使用して計算機のローカルクロックに従うように統制される。
【００７９】
図１０は、本開示の一実施形態に従って、専用のオーディオインタフェース周辺機器が計算機に結合され、周辺機器のデジタル・オーディオ・クロックが基準クロックとして使用される例示的な実装を図示する。計算機にローカルなクロックおよび入力装置にローカルなクロックは、ＣＤ信号を使用して周辺機器のデジタル・オーディオ・クロックに従うように統制され得る。
【００８０】
図１１は、本開示のさまざまな実施態様に従って、計算機への直接接続を有する機器のサブセットおよび計算機へのネットワークベースの接続を有する機器のサブセットを図示する。以下にさらに詳細に説明するように、直接接続される機器は、有線または無線接続を使用して接続され得る。同様に、ネットワーク接続される機器は、有線または無線接続で接続され得る。図１１に図示される実施例で、計算機にローカルなクロックは、選択されたネットワーク基準クロックに従うように統制され得る。計算機に直接接続される機器にローカルなクロックは、計算機のローカルクロックに従うように統制され得る。したがって、直接取り付けられた機器のローカルクロックは、選択されたネットワーク基準クロックに従うように間接的に統制される。
【００８１】
図１１で、計算機への直接接続を有する機器は、有線接続（例えば、ＵＳＢ、Ｔｈｕｎｄｅｒｂｏｌｔ、など）で、または無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ  登録商標）で接続され得る。同様に、ネットワーク（ＬＡＮ）接続される機器は、有線接続（例えば、Ｅｔｈｅｒｎｅｔ）で、または無線接続（例えば、ＷｉＦｉ）で接続され得る。ネットワークに接続される機器については、クロック統制プロセスは、ＩＥＥＥ１５８８／ＰＴＰ（高精度時間プロトコル）などの標準化されたプロトコルを使用して生じる。計算機に直接接続される機器については、クロック統制プロセスは、そのホスト計算機のデバイス・ドライバ・レベルにおいて生じ得る。
【００８２】
図１２を参照すると、ブロック図は、非一時的機械可読記憶媒体（例えば、ハードドライブ記憶システム）から命令１２２４を読み、全体的または部分的に、本明細書に論じた
方法論のうちのいずれか１つまたは複数を行うことが可能である、いくつかの例示的な実施形態による、計算機１２００の構成要素を例示する。具体的には、図１２は、本明細書に論じた方法論のうちのいずれか１つまたは複数を計算機１２００に行わせる命令１２２４（例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能なコード）が全体的または部分的に実行され得るコンピュータシステムの例示的な形で計算機１２００を示す。
【００８３】
代替実施形態で、計算機１２００は、スタンドアローンの機器として動作し、または他の計算機に接続（例えば、ネットワークで結合）されてもよい。ネットワーク化配置で、計算機１２００は、サーバ−クライアントネットワーク環境におけるサーバ計算機もしくはクライアント計算機の性能において、または分散型（例えば、ピアツーピア）ネットワーク環境におけるピア計算機として動作し得る。計算機１２００は、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができ、例として、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、携帯電話、スマートフォン、セットトップボックス（ＳＴＢ）、パーソナル・デジタル・アシスタント（ＰＤＡ）、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または、連続的にまたは別の方法で、計算機がとるべき動作を指定する命令１２２４を実行することが可能な任意の計算機とすることができる。さらに、単一の計算機１２００だけが例示されているが、用語「計算機」は、同様に、本明細書に論じた方法論のうちのいずれか１つまたは複数の全部または一部を行うための命令１２２４を個別にまたは連帯的に実行する計算機の任意の集合を含むととるものとする。
【００８４】
計算機１２００は、プロセッサ１２０２（例えば、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：ＣＰＵ）、グラフィック処理装置（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：ＧＰＵ）、デジタル・シグナル・プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）、無線周波数集積回路（ｒａｄｉｏ−ｆｒｅｑｕｅｎｃｙ  ｉｎｔｅｇｒａｔｅｄ
ｃｉｒｃｕｉｔ：ＲＦＩＣ）、またはそれらの任意の適当な組合せ）、メインメモリ１２０４、およびスタティックメモリ１２０６を含み、それらはバス１２０８を介して互いに通信するように構成される。プロセッサ１２０２は、全体的または部分的に、プロセッサ１２０２が本明細書に記載の方法論のうちのいずれか１つまたは複数を行うように構成可能であるように、命令１２２４の一部または全部によって、一時的にまたは恒久的に、構成可能な超小型回路が入っていてもよい。例えば、プロセッサ１２０２の１つまたは複数の超小型回路のセットは、本明細書に記載の１つまたは複数のモジュール（例えば、ソフトウェアモジュール）を実行するように構成可能とすることができる。
【００８５】
計算機１２００は、ディスプレイコンポーネント１２１０をさらに含み得る。ディスプレイコンポーネント１２１０は、例えば、陰極線管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ：ＣＲＴ）、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ：ＬＣＤ）スクリーン、ガスプラズマベースのフラット・パネル・ディスプレイ、ＬＣＤプロジェクタ、または他のタイプのディスプレイ装置を備え得る。
【００８６】
計算機１２００は、ユーザからの入力を受け取るように動作可能な１つまたは複数の入力装置１２１２を含み得る。入力装置１２１２は、例えば、押しボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、トラックボール、キーパッド、加速度計、ライトガン、ゲームコントローラ、または、それによってユーザが計算機１２００に入力を提供することができるその他のこのような機器もしくは要素を含むことができる。これらの入力装置１２１２は、計算機１２００に物理的に組み込ま
れてよく、または有線もしくは無線インタフェースを介して計算機１２００に動作可能に結合されてもよい。タッチスクリーンディスプレイを有する計算機の場合、入力装置１２１２は、ユーザがタッチ入力を使用して（例えば、指またはスタイラスで）ディスプレイコンポーネント１２１０によって表示される画像と対話することを可能にするために、ディスプレイコンポーネント１２１０と連携して動作するタッチセンサを含むことができる。
【００８７】
計算機１２００は、特定の無線プロトコルの通信範囲内で１つまたは複数の別個の機器と通信するように動作可能な１つまたは複数の無線コンポーネントを備えた、少なくとも１つの通信インタフェース１２２０を同様に含み得る。無線プロトコルは、Ｂｌｕｅｔｏｏｔｈ、セルラー方式、ＩＥＥＥ８０２．１１、またはＩｒＤＡ準拠のプロトコルなどの赤外線通信プロトコルなどの、機器がワイヤレスで通信することを可能にするために使用される任意の適切なプロトコルとすることができる。通信インタフェース１２２０が、他の機器と結合して通信するための１つまたは複数の有線通信インタフェースを同様に、または代わりに備え得ることを理解するべきである。
【００８８】
計算機１２００は、例えば、従来のプラグイン手法を通して、または容量性充電などの他の手法を通して再充電されるように動作可能な充電式バッテリなどの、電源１２２８を同様に含み得る。代わりに、電源１２２８は、送電網からのＡＣ電力を計算機１２００の内部コンポーネント用の調整されたＤＣ電力に変換する電源ユニットを含み得る。
【００８９】
計算機１２００は、記憶素子１２１６を同様に含み得る。記憶素子１２１６は、本明細書に記載の方法論または機能のうちのいずれか１つまたは複数を具現化する命令１２２４が記憶されている機械可読媒体を含む。命令１２２４は、計算機１２００によるそれらの実行の前または間に、メインメモリ１２０４内に、プロセッサ１２０２内に（例えば、プロセッサのキャッシュメモリ内に）、または両方に、完全にまたは少なくとも部分的に存在し得る。命令１２２４は、スタティックメモリ１２０６中に同様に存在し得る。
【００９０】
したがって、メインメモリ１２０４およびプロセッサ１２０２は、同様に、機械可読媒体（例えば、有形かつ非一時的な機械可読媒体）とみなすことができる。命令１２２４は、通信インタフェース１２２０を介してネットワーク１２４４上で送信または受信することができる。例えば、通信インタフェース１２２０は、いずれか１つまたは複数の転送プロトコル（例えば、ホームネットワーク接続構成特定プロトコル（Ｈｏｍｅ−ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ  Ｉｄｅｎｔｉｆｙｉｎｇ  Ｐｒｏｔｏｃｏｌ：ＨＴＩＰ））を使用して命令１２２４を通信することができる。
【００９１】
計算機１２００は、タブレット計算機、スマートフォン、メディアプレイヤ、ポータブルゲーム機器、ポータブル・デジタル・アシスタント、ラップトップコンピュータ、またはデスクトップコンピュータなどの、いくつかの電子機器のうちのいずれかとして実装することができる。いくつかの例示的な実施形態で、計算機１２００は、（図示されない）１つまたは複数の付加的な入力コンポーネント（例えば、センサまたは計器）を有し得る。このような入力コンポーネントの実施例は、画像入力コンポーネント（例えば、１つまたは複数のカメラ）、オーディオ入力コンポーネント（例えば、マイクロフォン）、方向入力コンポーネント（例えば、コンパス）、位置入力コンポーネント（例えば、ＧＰＳ受信機）、方向づけコンポーネント（例えば、ジャイロスコープ）、動き検出コンポーネント（例えば、１つまたは複数の加速度計）、高度検出コンポーネント（例えば、高度計）、およびガス検出コンポーネント（例えば、ガスセンサ）を含む。これらの入力コンポーネントのうちのいずれか１つまたは複数によって得られた入力は、本明細書に記載のモジュールのいずれかによる使用のためにアクセス可能で利用可能とすることができる。
【００９２】
本明細書で使用される場合、用語「メモリ」は、一時的にまたは恒久的にデータを記憶することが可能な非一時的機械可読媒体を意味し、ランダムアクセスメモリ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＲＡＭ）、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ
ｍｅｍｏｒｙ：ＲＯＭ）、バッファメモリ、フラッシュメモリ、およびキャッシュメモリを含むがこれらに限定されないとみなされ得る。機械可読媒体は、伝播する信号を具現化しないという点において非一時的である。機械可読媒体は、単一媒体として例示的な実施形態で説明されるが、用語「機械可読媒体」は、命令１２２４を記憶することが可能な単一媒体または複数媒体（例えば、集中型もしくは分散型データベース、または関連キャッシュおよびサーバ）を含むとみなすべきである。用語「機械可読媒体」は、同様に、命令１２２４が、計算機１２００の１つまたは複数のプロセッサ（例えば、プロセッサ１２０２）によって実行されるとき、全体的または部分的に、本明細書に記載の方法論のうちのいずれか１つまたは複数を計算機１２００に行わせるように、計算機１２００による実行のための命令１２２４を記憶することが可能な、任意の媒体、または複数の媒体の組合せを含むとみなすものとする。したがって、「機械可読媒体」は、複数の記憶装置または機器を含むクラウドベースの記憶システムまたはストレージネットワークと同様に、計算機１１６または１２００などの単一の記憶装置または機器を意味する。用語「機械可読媒体」は、したがって、ソリッドステートメモリ、光学媒体、磁気媒体、またはそれらの任意の適当な組合せの形で１つまたは複数の有形の（例えば、非一時的な）データリポジトリを含むがこれに限定されない。
【００９３】
図１３は、本開示のさまざまな実施態様に従って使用され得る例示的なプロセスを例示するフローチャートを図示する。少なくともいくつかの実施例で、プロセスフロー１３００の動作は、計算機の処理装置によって実行可能なコンピュータ可読機械コードを含む一連の命令を表すことができる。さまざまな実施例で、コンピュータ可読機械コードは、計算機のネイティブ命令セットおよび／または計算機のオペレーティングシステムから選択された命令で構成され得る。さまざまな他の実施例で、プロセスフロー１３００の１つまたは複数の動作は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ
ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）またはプログラマブル回路などのハードウェアによって行うことができる。いくつかのさらなる実施例で、プロセスフロー１３００の動作のうちの１つまたは複数は、ハードウェアおよびコンピュータ可読命令の何らかの組合せによって実行され得る。加えて、少なくともいくつかの実施例で、プロセスフロー１３００の動作は、図１３に関連して示され説明されるものの他に異なる順序で行われてもよい。
【００９４】
いくつかの実施例で、プロセスフロー１３００は、動作１３０２、「第１の音楽イベントを符号化する第１のコマンドを生成する」で始めることができる。動作１３０２で、図１に関連して上述した入力装置１０２などの、計算機は、第１の音楽イベントを符号化する第１のコマンドを生成することができる。さまざまな実施例で、コマンドは、「ノートオン」コマンドおよび本明細書に記載のさまざまな他の連鎖可能コマンドなどの、連鎖可能コマンドとすることができる。
【００９５】
プロセスフロー１３００は、動作１３０２から動作１３０４、「第１のコマンドに対応する第１のメッセージを生成し、第１のメッセージは、第１の音楽イベントの第１の音響属性タイプおよび第１の音響属性値を符号化する」に続くことができる。動作１３０４で、図１に関連して上述した入力装置１０２などの、計算機は、第１のコマンドに対応する第１のメッセージを生成することができる。
【００９６】
第１のメッセージは、例えば、図４に図示されるコマンドテーブル４００などの、コマンドテーブルから選択されたコマンドとすることができる。さまざまな実施例で、第１のメッセージは、第１の音楽イベントのさまざまな属性を符号化することができる。例えば
、第１のメッセージは、第１の音楽イベントの第１の音響属性タイプおよび第１の音楽イベントの第１の音響属性値を符号化することができる。別の実施例で、第１の音響属性タイプは、「初期ピッチ」、「ラウドネス」、「ピッチベンド」などのコマンドのタイプを指定することができる。この実施例で、第１の音響属性値は、第１の音響属性タイプに対する値を指定することができる。例えば、第１の音響属性タイプが「ラウドネス」である場合、第１の音響属性値は、第１の音楽イベントの再生のための音符のラウドネスを符号化することができる。
【００９７】
プロセスフロー１３００は、動作１３０４から動作１３０６、「第１のコマンドに対応する第２のメッセージを生成し、第２のメッセージは、第１の音楽イベントの第２の音響属性タイプおよび第２の音響属性値を符号化する」に続くことができる。動作１３０６で、図１に関連して上述した入力装置１０２などの、計算機は、第１のコマンドに対応する第２のメッセージを生成することができる。
【００９８】
第２のメッセージは、例えば、図４に図示されるコマンドテーブル４００などの、コマンドテーブルから選択されたコマンドとすることができる。さまざまな実施例で、第２のメッセージは、第１の音楽イベントのさまざまな属性を符号化することができる。例えば、第２のメッセージは、第１の音楽イベントの第２の音響属性タイプおよび第１の音楽イベントの第２の音響属性値を符号化することができる。別の実施例で、第２の音響属性タイプは、「初期ピッチ」、「ノートデュレーション」、「ピッチベンド」などのコマンドのタイプを指定することができる。この実施例で、第２の音響属性値は、第２の音響属性タイプに対する値を指定することができる。例えば、第１の音響属性タイプが「初期ピッチ」である場合、第１の音響属性値は、第１の音楽イベントの音符のピッチ（例えば、周波数値）を符号化することができる。
【００９９】
プロセスフロー１３００は、動作１３０６から動作１３０８、「第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成する」に続くことができる。動作１３０８で、計算機（例えば、プロセッサを備えた楽器および／またはコントローラ）は、第１の音楽イベントの発生の時刻を意味するタイムスタンプデータを生成することができる。
【０１００】
上述のように、タイムスタンプデータは、（第１のコマンド、第１のメッセージおよび第２のメッセージによって符号化される）第１の音楽イベントが取り込まれる時刻または第１の音楽イベントの演奏で再生されるべき時刻を記述することができる。少なくともいくつかの実施例で、タイムスタンプデータは、演奏データの取込みならびに本開示に記載のさまざまなコマンドおよびメッセージの生成と同時に（またはほとんど同時に）生成することができる。
【０１０１】
プロセスフロー１３００は、動作１３０８から動作１３１０、「タイムスタンプデータ、第１のコマンド、第１のメッセージ、および第２のメッセージをデジタル・オーディオ・ワークステーションに送る」に続けることができる。動作１３１０で、第１のコマンド（例えば、連鎖可能な「ノートオン」コマンド）、第１のメッセージ（例えば、「ノートオン」コマンドの音符の持続時間を符号化するメッセージ）、第２のメッセージ（例えば、「ノートオン」コマンドの音符の初期ピッチを符号化するメッセージ）およびタイムスタンプデータをＤＡＷに送ることができる。タイムスタンプデータは、第１の音楽イベントを再現するために第１のコマンド、第１のメッセージおよび第２のメッセージが再生されるべき時刻を指定することができる。
【０１０２】
本発明は特定の実施形態および例示的な図に関して説明されたが、当業者は、本発明が説明された実施形態または図に限定されないことを認識するであろう。例えば、上述のさ
まざまな実施形態で、演奏データの符号化が説明されている。しかしながら、他の実施形態で、本明細書に記載のさまざまな技法に従って他のタイプのデータが符号化され得る。例えば、本明細書に記載のさまざまな技法に従って、照明、振付け、および正確なタイミングを必要とする他のデータが符号化され得る。加えて、ピッチおよびノートデュレーションなどの特定の音楽属性が本明細書に記載されるが、当業者は、本明細書に記載のさまざまな技法に従って、演奏のさまざまな他のパラメータが符号化され得ることを認識するであろう。
【０１０３】
さまざまな実施例で、他にも潜在的利益があるが、本明細書に記載のさまざまな技法は、演奏データを取り込み、再生する技術分野を改善する。例えば、本明細書に記載のタイムスタンプ付与技法と同様、本明細書に記載の演奏データの特定の構造化表現は、現在の技法と比較して高度の時間精度および空間精度で演奏データを取り込むことを可能にする。加えて、本明細書に記載の方法およびシステムは、取り込み、再生する演奏データの表現力の向上を可能にし得る。
【０１０４】
本明細書に示された詳細は、例として、本発明の好ましい実施形態を例示的に論じる目的のためだけのものであり、本発明のさまざまな実施形態の原理および概念的実施態様の最も有用で理解しやすい説明であると思われるものを提供するために提示される。この点に関して、本発明の基本的な理解に必要であるよりも詳細に本発明の詳細を示すための試みは行われず、図面および／または実施例を用いて行われた説明が、本発明のいくつかの形態がどのように実際に具現化され得るかを当業者に明らかにする。
【０１０５】
本明細書で使用される場合、別途示されない限り、用語「１つの（ａ）」および「１つの（ａｎ）」は、「１つの」、「少なくとも１つの」または「１つまたは複数の」を意味するとみなされる。文脈により別途必要とされない限り、本明細書で使用される単数形の用語は複数形を含むものとし、複数形の用語は単数形を含むものとする。
【０１０６】
文脈が別途明確に必要としない限り、明細書および特許請求の範囲の全体を通して、単語「備える（ｃｏｍｐｒｉｓｅ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」などは、排他的または網羅的な意味と反対に包括的な意味で、すなわち、「含むがこれに限定されない」という意味で解釈されるべきである。単数または複数の数を使用している単語は、それぞれ、複数および単数の数を同様に含む。加えて、単語「ここに」、「上に」、および「下に」ならびに類似の意味の単語は、本出願書で使用されるとき、本出願書の特定の部分でなく、全体としての本出願書を意味するものとする。
【０１０７】
本開示の実施形態の説明は、網羅的であるように、または本開示を開示された正確な形態に限定するように意図されるものではない。本開示に対する具体的な実施形態および実施例が例示的な目的で本明細書に記載されるが、当業者が認識するように、さまざまな等価な修正が本開示の範囲内で可能である。このような修正は、開示された実施形態に示された寸法および／または材料の変更を含み得るが、これに限定されない。
【０１０８】
あらゆる実施形態の具体的な要素は、他の実施形態中の要素と組み合わせ、または置き換えることができる。そのうえ、本開示のある特定の実施形態と関連付けられた利点をこれらの実施形態との関連で説明してきたが、他の実施形態がこのような利点を同様に発揮することができ、すべての実施形態が本開示の範囲内に含まれるためにこのような利点を必ず発揮する必要があるわけではない。
【０１０９】
したがって、本発明が添付の特許請求の範囲の趣旨および範囲の中で修正および変更とともに実践され得ることを理解するべきである。説明は、網羅的であるように、または本発明を開示された正確な形態に限定するように意図されるものではない。本発明を修正お
よび変更とともに実践することができること、ならびに本発明が特許請求の範囲およびその等価物によってのみ限定されることを理解するべきである。
【符号の説明】
【０１１０】
１００  システム
１０２  入力装置
１０４  演奏動作
１０６  入力イベント
１０８  イベントタイムスタンプ
１１０ａ、１１０ｂ  連鎖可能コマンド
１１２ａ、１１２ｂ  メッセージセット
１１３  バッファ
１１４  デジタル・オーディオ・インタフェース
１１６  計算機
１２０  メモリ
１２２  ＤＡＷ
１２３、１２４  クロック
２１０  「ノートオン」連鎖可能コマンド
２１２  連鎖長パラメータ
２２０  ピッチ・ベンド・メッセージ
２３０  アーティキュレーションメッセージ
２４０、２５０  メッセージ
３００  メッセージのタイムスタンプ付きブロック
３１０、３１２  タイムスタンプ
３１４、３２２  ノートオン連鎖可能コマンド、ノート・オン・イベント動作
３１６、３１８、３２０、３２４、３２６、３２８  メッセージ
４００  コマンドテーブル
１２００  計算機
１２０２  プロセッサ
１２０４  メインメモリ
１２０６  スタティックメモリ
１２０８  バス
１２１０  ディスプレイコンポーネント
１２１２  入力装置
１２１６  記憶素子
１２２０  通信インタフェース
１２２４  指令
１２２８  電源
１２４４  ネットワーク
１３００  プロセスフロー
１３０２、１３０４、１３０６、１３０８、１３１０  動作
【図１】
2019128587.tif 000003
【図２】
2019128587.tif 000004
【図３】
2019128587.tif 000005
【図４】
2019128587.tif 000006
【図５】
2019128587.tif 000007
【図６】
2019128587.tif 000008
【図７】
2019128587.tif 000009
【図８】
2019128587.tif 000010
【図９】
2019128587.tif 000011
【図１０】
2019128587.tif 000012
【図１１】
2019128587.tif 000013
【図１２】
2019128587.tif 000014
【図１３】
2019128587.tif 000015