JP5086445B2 - オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法 - Google Patents

オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法 Download PDF

Info

Publication number
JP5086445B2
JP5086445B2 JP2010544456A JP2010544456A JP5086445B2 JP 5086445 B2 JP5086445 B2 JP 5086445B2 JP 2010544456 A JP2010544456 A JP 2010544456A JP 2010544456 A JP2010544456 A JP 2010544456A JP 5086445 B2 JP5086445 B2 JP 5086445B2
Authority
JP
Japan
Prior art keywords
region
data
midi
player
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010544456A
Other languages
English (en)
Other versions
JP2011511309A (ja
Inventor
デバラパッリ、スレッシュ
クルカルニ、プラジャクト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011511309A publication Critical patent/JP2011511309A/ja
Application granted granted Critical
Publication of JP5086445B2 publication Critical patent/JP5086445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • G10H1/0075Transmission between separate instruments or between individual components of a musical system using a MIDI interface with translation or conversion means for unvailable commands, e.g. special tone colors
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/016File editing, i.e. modifying musical data files or streams as such
    • G10H2240/021File editing, i.e. modifying musical data files or streams as such for MIDI-like files or data streams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/145Sound library, i.e. involving the specific use of a musical database as a sound bank or wavetable; indexing, interfacing, protocols or processing therefor

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Description

関連出願
本出願は、発明者Prajakt KulkarniおよびSuresh Devalapalliによる「Techniques to Improve the Similarity of the Output Sound Between Audio Players」と題する2008年1月24日に出願された米国仮特許出願第61/023,174号に関し、その優先権を主張する。
本開示は、デジタルオーディオに関する。詳細には、本開示は、MIDIオーディオプレーヤにおいてマルチリージョン機器サポート(multi-region instrument support)を提供することに関する。
背景
電子楽器デジタルインターフェース(MIDI)フォーマットは、ミュージック、スピーチ、トーン、警報などのオーディオサウンドの生成、通信および/または再生に使用される。MIDIは多種多様な装置でサポートされる。例えば、無線電話機などワイヤレス通信デバイスは、呼出音や他のオーディオ出力などのダウンロード可能なサウンド用のMIDIファイルをサポートすることができる。アップルコンピュータ(登録商標)社が販売している「iPod(登録商標)」デバイスやマイクロソフト(登録商標)社が販売している「Zune(登録商標)」デバイスなどデジタル音楽プレーヤも、MIDIファイルフォーマットをサポートすることができる。MIDIフォーマットをサポートする他のデバイスは、様々な音楽シンセサイザ、ワイヤレスモバイルデバイス、直接双方向通信デバイス(ウォーキートーキーと呼ばれることがある)、ネットワーク電話、パーソナルコンピュータ、デスクトップおよびラップトップコンピュータ、ワークステーション、衛星ラジオデバイス、相互通信方式デバイス、ラジオ放送デバイス、携帯ゲーム機、デバイスに取り付けられた回路基板、情報キオスク、ビデオゲームコンソール、児童用の様々なコンピュータ化された玩具、自動車で使用されるオンボードコンピュータ、船舶および航空機、ならびに多種多様な他のデバイスを含む。
MIDIファイルは、MIDIプレーヤ上でプレイされる楽音に関する情報を含むことができる。しかしながら、MIDIプレーヤは、MIDIファイルをプレイするためのプレーヤ固有のパラメータをも使用することができる。したがって、同じMIDIファイルが2つの異なるMIDIプレーヤでプレイされるとき、同じに聞こえないことがある。これの考えられる理由は、マルチリージョン機器サポートまたは可変ルートノートサポート(variable root note support)がないことである。したがって、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための技法が必要である。
図1は、本システムおよび方法を用いて修正できるシステムを例示するブロック図である。 図2は、本システムおよび方法にしたがって修正でき、そのうえ類似の出力を維持することができるシステムを例示するブロック図である。 図3は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図3Aは、図3のシステムにおける変換モジュールがプロセッサによって実装できることを例示するブロック図である。 図3Bは、図3のシステムにおける変換モジュール、未知のプレーヤ、および既知のプレーヤがプロセッサによって実装できることを例示するブロック図である。 図4は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムの別の構成を例示するブロック図である。 図5は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムを例示するブロック図である。 図6は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムの別の構成を例示するブロック図である。 図7は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法を例示する流れ図である。 図7Aは、図7の方法に対応するミーンズプラスファンクションブロックを例示する。 図8は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図9は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムの別の構成を例示するブロック図である。 図10は、オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法を例示する流れ図である。 図10Aは、図10の方法に対応するミーンズプラスファンクションブロックを例示する。 図11は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図12は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するための方法を例示する流れ図である。 図12Aは、図12の方法に対応するミーンズプラスファンクションブロックを例示する。 コンピューティングデバイス/電子デバイスにおいて利用できる様々な構成要素を例示するブロック図である。
詳細な説明
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法が開示される。ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとが受け取られる。ユーザ定義機器のセットの少なくとも1つのマルチリージョン機器が識別される。マルチリージョン機器の各リージョンは、そのリージョンと同じパラメータをもつシングルリージョン機器にマッピングされる。新しい機器番号は、各シングルリージョン機器に割り当てられる。MIDIデータは、マッピングと割当てとに基づいて修正される。
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置も開示される。本装置は、プロセッサと、プロセッサと電子的に通信するメモリとを含む。メモリには実行可能命令が記憶される。本命令は、ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取るように実行可能である。本命令はまた、ユーザ定義機器のセットの少なくとも1つのマルチリージョン機器を識別するように実行可能とすることができる。本命令は、マルチリージョン機器の各リージョンを、そのリージョンと同じパラメータをもつシングルリージョン機器にマッピングするように実行可能である。本命令は、さらに、各シングルリージョン機器に新しい機器番号を割り当てるように実行可能とすることができる。本命令は、さらに、マッピングと割当てとに基づいてMIDIデータを修正するように実行可能である。
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのコンピュータプログラム製品も開示される。コンピュータプログラム製品は、その上に命令を有するコンピュータ可読媒体を備える。本命令は、ユーザ定義機器のセットとMIDIデータのセットとを受け取るためのコードを含むことができる。本命令はまた、ユーザ定義機器のセットの少なくとも1つのマルチリージョン機器を識別するためのコードを含むことができる。本命令はまた、マルチリージョン機器の各リージョンを、そのリージョンと同じパラメータをもつシングルリージョン機器にマッピングするためのコードを含むことができる。本命令はまた、各シングルリージョン機器に新しい機器番号を割り当てるためのコードを含むことができる。本命令はまた、マッピングと割当てとに基づいてMIDIデータを修正するためのコードを含むことができる。
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置も開示される。本装置は、ユーザ定義機器のセットとMIDIデータのセットとを受け取るための手段を含むことができる。本装置はまた、ユーザ定義機器のセットの少なくとも1つのマルチリージョン機器を識別するための手段を含むことができる。本装置はまた、マルチリージョン機器の各リージョンを、そのリージョンと同じパラメータをもつシングルリージョン機器にマッピングするための手段を含むことができる。本装置はまた、各シングルリージョン機器に新しい機器番号を割り当てるための手段を含むことができる。本装置はまた、マッピングと割当てとに基づいてMIDIデータを修正するための手段を含むことができる。
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための集積回路も開示される。本集積回路は、ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取るように構成できる。本集積回路はまた、ユーザ定義機器のセットの少なくとも1つのマルチリージョン機器を識別するように構成できる。本集積回路はまた、マルチリージョン機器の各リージョンを、そのリージョンと同じパラメータをもつシングルリージョン機器にマッピングするように構成できる。本集積回路はまた、各シングルリージョン機器に新しい機器番号を割り当てるように構成できる。本集積回路はまた、マッピングと割当てとに基づいてMIDIデータを修正するように構成できる。
電子楽器デジタルインターフェース(MIDI)プレーヤは、入力としてMIDIファイルを受け取り、出力として音楽を合成することができる。そうする際に、MIDIプレーヤは、様々な合成技法を使用することができる。これらの合成技法の2つには、周波数変調(FM)合成とウェーブテーブル合成とを含む。MIDIファイルは、プレイすべきノートのキー番号、ノートをプレイするときに使用すべき機器、ノート速度などを記述するメッセージを含むことができる。いくつかの非MIDI音楽デコーダとは異なり、MIDIシンセサイザは、意図されたサウンドを記述する波形を復号することができない。代わりに、各MIDIシンセサイザは、シンセサイザ固有のツールを使用して、MIDIファイル中のメッセージに基づいて出力信号を生成することができる。したがって、2つの異なるMIDIプレーヤによってプレイされるときに、同じMIDIファイルが異なって聞こえることがある。ここで使用される「キー番号」と「ノート番号」という用語は、互換的に使用でき、MIDIノートのピッチを識別するデータを示すために使用される。
これらの不整合問題を緩和するために、MIDI Manufacturers Association(MMA)はDownloadable Sounds(DLS)の概念を導入した。DLSは、MIDI機器がどのように鳴るべきかを規定し、機器を合成するために必要なすべてのパラメータを含む。
DLS規格にしたがって、各機器はリージョンに分割されることができる。リージョンは、機器上のノートのセットを表すことができる。機器は、0〜127のMIDIノート範囲全体をカバーするただ1つのリージョンを有することができ、または全範囲のサブセットをそれぞれカバーする複数のリージョンを有することができる。例えば、ピアノ機器は、ノート0〜30をカバーする第1のリージョン、ノート31〜120をカバーする第2のリージョン、およびノート121〜127をカバーする第3のリージョンを有するものとしてDLSファイル中で定義できる。DLSファイルは、各リージョンのルートノートと波形とを定義することができる。ルートノートは、修正されていない波形が関連付けられるノートとすることができる。言い換えれば、ルートノートがプレイされるように選択された場合、プレーヤは、リージョンに関連する波形をピッチ修正なしに出力することができる。しかしながら、非ルートノートがプレイされるように選択された場合、波形のピッチは所望の出力を達成するために変更されることができる。また、ルートノートの場合でも、波形に対する変調または他の非ピッチ修正があることがある。例えば、波形は、様々なサンプリング周波数を捕らえるためにリサンプリングされるとしてもよい。
図1は、本システムおよび方法を用いて修正できるシステム100を例示するブロック図である。ここで使用される「音楽ファイル」という用語は、MIDIフォーマットおよびユーザ定義機器データに準拠する少なくとも1つのオーディオトラックを含むオーディオデータまたはファイルを指す。MIDIフォーマットに準拠し、音楽ファイル110中にあるファイルフォーマットは、Qualcomm(登録商標)社によって開発されたCompact Media Extensions(CMX)、ヤマハ株式会社(登録商標)によって開発されたSynthetic Music Mobile Application Format(SMAF)、およびScalable Polyphony MIDI(SP−MIDI)を含む。音楽ファイル110中のユーザ定義機器データは、機器情報を含むDLSファイルとすることができる。例えば、音楽ファイル110は、DLSとMIDIファイルとを含むeXtensible Music Format(XMF)ファイルとすることができる。
MIDIはメッセージベースのプロトコルであるので、各オーディオプレーヤ104、108は、固有のファイルフォーマットサポートを使用して、音楽ファイル110をプレイすることができる。このファイルフォーマットサポートは、音楽ファイル110中のMIDIメッセージに基づいて出力を生成するために使用される1つまたは複数のファイルを含むことができ、別々のオーサリングツール102、106中に常駐することができる。言い換えれば、第1のオーサリングツール102は、第1のシンセサイザ105が音楽ファイル110をプレイするために使用することができるファイルフォーマットサポートを含むことができる。同様に、第2のオーサリングツール106は、第2のシンセサイザ109が音楽ファイル110をプレイするために使用することができるファイルフォーマットサポートを含むことができる。さらに、第1のオーサリングツール102は、音楽ファイル110を第1のプレーヤ固有のフォーマット103に変換することができ、第2のオーサリングツール106は、音楽ファイル110を第2のプレーヤ固有のフォーマット107に変換することができる。第1のオーサリングツール102は第2のオーサリングツール106とは異なることがあるので、第1のプレーヤ出力112は第2のプレーヤ出力114とは異なることがある。詳細には、第1のプレーヤ出力112と第2のプレーヤ出力114との相違は、以下に起因することがある。(1)MIDIプロトコルは、プレイすべきノート、ノートをプレイするときに使用すべき機器、ノートに対する変調などをのみ指定し、MIDIは、ノートがプレイされるときにどのように鳴るべきかを指定しない、(2)様々なプレーヤは、合成のための様々な技法を使用することができる、および(3)同じ合成技法でも、様々なオーディオプレーヤは、同じ機器を異なるようにモデル化することがある。例えば、MIDI合成されたピアノは、ハイエンドのオーディオプレーヤでは本物のアコースティックグランドピアノのように聞こえることがあるが、低品質のオーディオプレーヤではトランペットのように聞こえることがある。
さらに、同じ音楽ファイル110が異なるプレーヤ104、108上でプレイされるときにも、いくつかの相違が観測されることがある。最初に、プレーヤ104、108の機器ボリュームミキシングが異なることがある。例えば、音楽ファイル110がピアノおよびフルートによってプレイされるMIDIノートを含む場合、第1のプレーヤ104では、ピアノノートがフルートノートよりも高いボリュームでプレイされ、第2のプレーヤ108では、フルートノートがピアノよりも高いボリュームでプレイされることがある。さらに、機器に対するビブラートおよびトレモロ効果は、機器が異なるプレーヤ104、108でモデル化される方法に応じて異なることがある。さらに、いくつかのプレーヤ104、108は、定義された範囲よりも高いまたは低いノートを無視することがある。
これらの相違にもかかわらず、異なるオーディオプレーヤ104、108において類似の出力を発生するために、以下で説明する本システムおよび方法をシステム100中に実装することができる。言い換えれば、本システムおよび方法を実装すると、第1のプレーヤ出力112は第2のプレーヤ出力114と類似になる。
図2は、本システムおよび方法にしたがって修正され、そのうえ類似の出力を維持することができるシステム200を例示するブロック図である。システム200に入る音楽ファイルは、DLSファイルとMIDIファイルとを含むXMFファイル210とすることができる。DLS機器パラメータはプレーヤ固有の機器パラメータにマッピングされることができるので、異なるDLS対応プレーヤ208上でプレイされるときでも、XMFファイル210は、類似の出力214を生成することができる。
しかしながら、XMFファイル210中で使用されるようなDLS規格は、ウェーブテーブル合成をサポートするシンセサイザの大部分において限定された機能でのみサポートされる。非DLS対応プレーヤによってプレイされるとき、出力は、以下理由により類似に聞こえないことがある。第1に、DLSは、ユーザが、機器の任意のノートをそのリージョンのルートノートとして定義することを可能にする。非DLSプレーヤは、これを可能にしないが、そうではなくルートノートを固定することができる。ルートノートは、基準波形を識別するために使用されるので、入力DLSファイル中で指定されたルートノートではなく非DLSプレーヤの固定のルートノートを使用することにより、出力が、意図された出力とは異なって聞こえることがある。第2に、非DLSプレーヤは、単一の機器内で複数のリージョンをサポートすることができない。マルチリージョン機器を使用するノートがプレイされるとき、非DLSプレーヤはノートを単に無視するか、または間違ったリージョンを割り当て、プレーヤ設計に基づく不整合を引き起こす。第3に、非DLSプレーヤにおける範囲サポートが、制限され、矛盾していることがある。
ここで説明するシステムおよび方法は、プレーヤの1つがDLS対応プレーヤ208でないときでも、異なるプレーヤに類似の出力を与えることができる。これは、XMFファイル210を改変する変換モジュールを使用して行うことができる。例えば、本システムおよび方法は、QualcommのCMX(Compact Media eXtension)プレーヤとヤマハのSMAF(Synthetic Music Mobile Application Format)プレーヤとに類似の出力を生成することができる。この例では、XMFファイル210があるとすれば、変換モジュールは、マルチリージョン機器をシングルリージョン機器にマッピングし、および/または、XMFファイル210中の1つまたは複数のノートを修正して、SMAFファイルなどの新しい音楽ファイルを作成することができる。XMFファイル210に対するこれらの修正の後、新しい音楽ファイルは、SMAFプレーヤなどの非DLSプレーヤによってプレイされるときに、XMFファイル210をプレイするCMXプレーヤの出力と類似の出力を生成することができる。
図3は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム300を例示するブロック図である。システム300は、変換モジュール316と、未知のオーディオプレーヤ304と、既知のオーディオプレーヤ308とを含むことができる。本明細書で使用する「未知のプレーヤ」という用語は、1つまたは複数の合成パラメータおよび/または論理が変換モジュール316に知られていないオーディオプレーヤ、シンセサイザ、または両方を指す。例えば、未知のプレーヤ304は、変換モジュール316に知られていない方法でマルチリージョン機器およびユーザ定義ルートノートを解釈することができる。その結果、未知のプレーヤ出力312は予測不能であり、既知のプレーヤ出力314とは異なることがある。対照的に、「既知のプレーヤ」という用語は、合成パラメータおよび論理が変換モジュール316に知られているオーディオプレーヤ、シンセサイザ、または両方を指すことができる。例えば、既知のプレーヤ308は、マルチリージョン機器および可変ルートノートをサポートすることができる。したがって、未知のプレーヤ304は、未知の内部論理を使用してマルチリージョン機器および可変ルートノートを処理するので、既知の出力314は未知の出力312よりも予測可能である。言い換えれば、変換モジュール316は、未知の出力312を、さもなければ既知の出力314と類似でないときに類似にすることができる。
変換モジュール316は、音楽ファイル310または音楽ファイル310の一部を受け取り、未知の出力312が既知の出力314と類似になるように音楽ファイル310を調整することができる。例えば、変換モジュール316は、音楽ファイル310中のマルチリージョン機器を、未知のプレーヤ304において正しくプレイできるシングルリージョン機器にマッピングすることができる。代替的に、または追加として、変換モジュール316は、音楽ファイル310中の可変ルートノートと未知のプレーヤ304中の固定のルートノートとの差に基づいて、音楽ファイル310中のノートキー番号を調整することができる。これらの修正により、既知の出力314は未知の出力312と類似になる。
変換モジュール316は、MIDIノートを受け取り、MIDIノートキー番号および/または機器番号を調整し、ノートを1つずつ未知のプレーヤ304に送ることができる。代替的に、変換モジュール316は、音楽ファイル310を全体として受け取り、音楽ファイル310中のすべてのノートを調整し、次いで、MIDIノートへの変更を反映する新しい音楽ファイル(図示せず)を生成することができる。新しい音楽ファイル(図示せず)を生成することは、音楽ファイル310中の調整されたパラメータを書き換えることを含む。例えば、変換モジュール316は、音楽ファイル310を受け取り、音楽ファイル310中のキー番号および機器番号を調整し、未知のプレーヤ304が未知のプレーヤ出力312を生成するために使用する新しい音楽ファイルを作成することができる。新しい音楽ファイルは、DSLファイルなどのユーザ定義機器を含むことができる。新しい音楽ファイルのMIDI部分は、SMAFファイル、または標準MIDIファイル(SMF)、CMX、またはSP−MIDIなど異なるタイプのMIDIファイルとすることができる。例えば、新しい音楽ファイルは、音楽ファイル310のMIDI部分中に含めることができないグラフィックスおよびパルス符号変調(PCM)サポートを含むSMAFファイルを含むことができる。
変換モジュール316は、リージョントランスレータ318と、リージョンコンバータ320と、ノートトランスレータ322とを含むことができる。これらの3つのモジュールは、本システムおよび方法を実装するために組み合わさり、一緒にまたは独立して動作することができる。言い換えれば、変換モジュール316が動作するために、3つすべてが必要なわけではない。リージョンコンバータ320は、音楽ファイル310中のマルチリージョン機器を、シングルリージョン機器がマッピングされたリージョンと同じパラメータをもつシングルリージョン機器にマッピングすることができる。リージョントランスレータ318は、マルチリージョン機器をサポートしない未知のプレーヤ304が、依然として、マルチリージョン機器をもつ音楽ファイル310を正しくプレイすることができるように、これらのシングルリージョン機器を使用して音楽ファイル310中のMIDIノートを調整することができる。さらに、ノートトランスレータ322は、固定のルートノートをもつ未知のプレーヤ304が、可変ルートノートをもつ音楽ファイル310を正しくプレイすることを可能にすることができる。
図3Aに示すように、変換モジュール316はプロセッサ301によって実装できる。図3Bに示すように、変換モジュール316、未知のプレーヤ304、および既知のプレーヤ308は、プロセッサ301によって実装できる。異なるプロセッサを使用して、異なる構成要素を実装することができる(例えば、1つのプロセッサは変換モジュール316を実装することができ、別のプロセッサを使用して未知のプレーヤ304を実装することができ、さらに別のプロセッサを使用して既知のプレーヤ308を実装することができる)。
図4は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム400の別の構成を例示するブロック図である。システム400は、未知のプレーヤ404と既知のプレーヤ408とを含むことができる。例えば、未知のプレーヤ404は、各機器に対してシングルリージョン機器および固定のルートノートをのみサポートするプレーヤとすることができる。既知のプレーヤ408は、マルチリージョン機器および可変ルートノートをサポートすることができる。したがって、変換モジュール416がなければ、未知の出力412は既知の出力414と類似にならない。
未知のプレーヤ404はファイルパーサ402を含むことができる。ファイルパーサ402は音楽ファイル410に対応することができる。例えば、音楽ファイル410がXMFファイルである場合、ファイルパーサ402はXMFパーサとすることができる。ファイルパーサ402は、音楽ファイル410をプレーヤ固有のデータに変換することができる。例えば、未知のプレーヤ404がSMAFプレーヤである場合、ファイルパーサ402は、音楽ファイル410を特にSMAFフォーマットに変換することができる。また、ファイルパーサ402は、シンセサイザ405の関係するパラメータを変換モジュール416に通知することができる。例えば、パーサ402は、シンセサイザ405が固定のルートノートをのみサポートすること、またはシンセサイザ405がマルチリージョン機器をサポートしないことを変換モジュール416に伝えることができる。
変換モジュール416は、未知のプレーヤ404および既知のプレーヤ408から類似の出力を生成するために、データの中でもファイルパーサ402からの情報を使用して音楽ファイル410を修正することができる。これは、未知のプレーヤ404がマルチリージョン機器を使用してノートを正しくプレイするように、音楽ファイル410を修正することを含むことができる。これを行うために、リージョンコンバータ420は、音楽ファイル410中のすべてのマルチリージョン機器をシングルリージョン機器にマッピングすることができる。リージョントランスレータ418は、次いで、サポートされていないマルチリージョン機器ではなくシングルリージョン機器がプレイされるように、音楽ファイル410中のMIDIデータを調整することができる。これは、1つまたは複数のプログラム変更コマンドを音楽ファイル410に挿入することを含むことができる。そうすることによって、マルチリージョン機器を使用するノートは、さもなければマルチリージョン機器をサポートすることができない未知のプレーヤ404上で正しくプレイすることができる。
さらに、変換モジュール416は、さもなければ可変ルートノートをサポートすることができない未知のプレーヤ404において可変ルートノートサポートを提供することができる。これは、未知のプレーヤ404がユーザ定義ルートノートを使用してノートを正しくプレイするように、音楽ファイル410を修正することを含むことができる。これを行うために、ノートトランスレータは、シンセサイザ405によってサポートされる固定のルートノートと各MIDIノートで使用される機器リージョン中のルートノートとの差を決定することができる。ノートトランスレータ422は、次いで、未知のプレーヤ404が可変ルートノートをもつ音楽ファイル410を正しくプレイするように、音楽ファイル410中の各MIDIノートを同じ差によって調整することができる。シンセサイザ405は、入力としてMIDIノートを受け取り、出力波形を生成することができる。
変換モジュール416は、未知のプレーヤ404にマルチリージョンサポートおよび/または可変ルートノートサポートの両方を提供することができるが、変換モジュール416の一部のみを実装することができることに留意されたい。言い換えれば、未知のプレーヤ404が可変ルートノートをサポートし、マルチリージョン機器をサポートしない場合、変換モジュール416はノートトランスレータ422を含まなくてもよい。同様に、未知のプレーヤ404がマルチリージョン機器をサポートし、可変ルートノートをサポートしない場合、変換モジュール416はリージョントランスレータ418およびリージョンコンバータ420を含まなくてもよい。
図5は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステム500を例示するブロック図である。前述のように、MIDIデータ524とユーザ定義機器データ526とを含む音楽ファイル510を受け取る未知のプレーヤ504および既知のプレーヤ508がある。未知のプレーヤ504はマルチリージョン機器542をサポートすることができない。MIDIデータ524は1つまたは複数のMIDIノート528を含むことができ、各MIDIノート528は、データの中でも、機器番号530とキー番号532とを含む。機器番号530は、MIDIノート528をプレイするときに、どの機器定義534を使用すべきかをシンセサイザに示すことができ、キー番号532はMIDIノート528のピッチを示すことができる。本明細書で使用する「機器定義」という用語は、オーディオプレーヤが出力を生成するために使用する電子ファイルまたはデータのセットを指す。「機器定義」と「機器」という用語は、本明細書では互換的に使用されることがある。
音楽ファイル510はまた、MIDIデータ524中の各機器の機器定義534を含むDLSファイルとすることができるユーザ定義機器データ526を含むことができる。DLSフォーマットは、各機器定義534が複数のリージョン536を有することを可能にする。各リージョン536は、シンセサイザ505が予測可能な方法で音楽ファイル510をプレイするのを助ける他のパラメータ537をも含むことができる。これらのパラメータ537は、ルートノート、波形、ボリュームレベル、ボリュームエンベロープパラメータ(アタックレート、ディケイレート、リリースレート)、ピッチエンベロープパラメータ(アタックレート、ディケイレート、リリースレート)、時間的に変化するフィルタパラメータなどを含むことができる。ルートノートは、修正されていない波形が関連付けられるノートとすることができる。言い換えれば、ルートノートがプレイされるように選択された場合、プレーヤは、リージョンに関連する波形をピッチ修正なしに出力することができる。各機器定義534はまた、シンセサイザ505がMIDIデータ524中の機器番号530に基づいて正しいパラメータを使用することができるように、機器番号530を含むことができる。
企業固有またはプレーヤ固有であるいくつかのファイルフォーマットは、2つ以上のリージョン536をもつ機器定義534をサポートしないことがある。シングルリージョンプレーヤ用のオーサリングツールは、そのような機器定義534を処理することができないことを示すエラーをスローする。代替的に、オーサリングツールは、機器定義534内のキーの範囲全体について第1のリージョン536を使用する。いずれの場合も、未知の出力512は予想通りには聞こえない。
シングルリージョンプレーヤによってDLSファイルをサポートするために、音楽ファイル510中の任意の複数のリージョン機器534を(1つまたは複数の)シングルリージョン機器として表す必要がある。これは、マルチリージョン機器の機器定義534をシングルリージョン機器にマッピングすることを必要とし、マッピングに基づくMIDIデータ524への変更をも必要とすることがある。特に、MIDIデータ524中の機器番号530を変更することができる。この技法について以下で説明する。
第1に、ファイルパーサ502は、音楽ファイル510を受け取り、それをMIDIデータ524とユーザ定義機器データ526との2つの部分に分割する。ユーザ定義機器パーサ540は、次いで、ユーザ定義機器データ526中の複数のリージョンをもつすべての機器534を識別し、マルチリージョン機器のリストを記憶する。MIDIプレーヤ538は、さらにMIDIデータ524をパースする。同様に、ユーザ定義機器パーサ540は、ユーザ定義機器データ526をパースし、波形定義を用いて機器542を作成する。例えば、音楽ファイル510がXMFファイルである場合、ファイルパーサ502はXMFパーサとすることができ、音楽ファイル510をプレーヤ固有のデータに変換することができる。未知のプレーヤ504がSMAFプレーヤである場合、ファイルパーサ502はMIDIデータ524をSMAFフォーマットに変換することができる。代替的に、または追加として、変換モジュール516によって音楽ファイル510をプレーヤ固有のフォーマットに変換する。また、ファイルパーサ502は、シンセサイザ505がマルチリージョン機器542をサポートするかどうかなど、シンセサイザ505の関係するパラメータを変換モジュール516に通知する。
第2に、変換モジュール516中のリージョンコンバータ520は、マルチリージョン機器定義542をシングルリージョン機器定義548にマッピングする。これは、元の機器定義534中でマッピングされたリージョンと同じパラメータ537を有する新しいシングルリージョン機器定義548を作成することを含む。言い換えれば、リージョンコンバータ520は、マルチリージョン機器定義534中にある全リージョンと同じ数の新しいシングルリージョン機器定義548を作成する。例えば、ユーザ定義機器データ526中に5つの機器定義534があり、各機器定義534が2つのリージョン536を有する場合、リージョンコンバータ520は10個のシングルリージョン機器定義548を作成する。これらの新しいシングルリージョン機器定義548は、メモリまたは他の適切な記憶媒体546に記憶できる。マルチリージョン機器定義534中のリージョン536と同じパラメータ537をシングルリージョン機器定義548中に維持することができる。
第3に、リージョンコンバータ520は、まだユーザ定義機器データ526中で使用されていない機器番号545を割り当てる。これは、ユーザ定義機器データ526から1つまたは複数の番号を再使用することを含むことができる。リージョンコンバータ520は、このマッピングを行うために、テーブル544または何らかの他のデータ構造を利用することができる。例えば、テーブル544は、図示のように、マルチリージョン機器番号530をシングルリージョン機器番号545にマッピングすることができ、機器1のリージョン1を新しい機器1にマッピングし、機器1のリージョン2を新しい機器2にマッピングし、機器2のリージョン1を機器3にマッピングし、機器2のリージョン2を機器4にマッピングし、機器3のリージョン1を機器5にマッピングする。1つまたは複数のマルチリージョン機器番号530はシングルリージョン機器番号545として再使用できること、例えば、マルチリージョン機器1のリージョン1はシングルリージョン機器1にマッピングできることに留意されたい。MIDIは機器番号0〜127をのみサポートするので、このマッピングはサポートされる機器番号530のすべてを使用することがある。利用可能な機器番号530がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。マッピングおよび機器番号530割当ては、システム500において1回だけ行われる。
第4に、リージョントランスレータ518によってMIDIデータ524を調整する。これは、新しい機器番号545が割り当てられた機器を使用するMIDIノート528を探索することを含む。ノート528がノートオンまたはノートオフメッセージである場合、ノート528がシンセサイザ505に送られる前にプログラム変更コマンド519を挿入する。例えば、リージョントランスレータ518が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョンに対するノートオンメッセージを発見した場合、リージョントランスレータ518は、ノート528を送る前にプログラム変更コマンド519を0x20に送ることができる。しかしながら、連続するノートオンメッセージ528のための別のプログラム変更コマンド519を同じリージョン536に送る必要はない。同様に、連続するノートオンメッセージ528のための別のプログラム変更コマンド519を同じリージョン536に送る必要はない。さらに、ノート528によって使用されるマッピングされたシングルリージョン機器定義548が機器の異なるバンク中にある場合、ノートオンまたはノートオフメッセージ528の前にバンク変更コマンド519を送ることができる。チャネルボリュームのようなチャネル固有のメッセージの場合、元の機器534がプレイされているすべてのチャネルに対してメッセージ528を反映するために、同じメッセージ528を複数回繰り返すことができる。
最後に、シングルリージョン機器定義548とMIDIデータ524とを調整された音楽ファイル550に統合する。調整された音楽ファイル550は、シンセサイザ505が未知の出力512を生成するために直接使用するシンセサイザ固有のフォーマットとすることができる。同様に、既知の出力514を生成するために既知のプレーヤ508によってプレイされる前に音楽ファイル510を変換することができる。1つの構成では、ファイルパーサ502ではなく変換モジュール516は、MIDIデータ524をプレーヤ固有のMIDIデータに変換し、ユーザ定義機器データ526をプレーヤ固有のユーザ定義機器データに変換し、それらを調整された音楽ファイル550に統合する。プレーヤ固有のMIDIデータは変更コマンドを含むことができ、プレーヤ固有のユーザ定義機器データはシングルリージョン機器定義548を含むことができる。
システム500がノートまたはファイルごとに動作することができることに留意されたい。ノートごとの動作では、シングルリージョン機器定義548をマッピングし、保存し、次いで、すべてのMIDIノート528が探索される前に、各MIDIノート528を適用可能な変更コマンド519とともにシンセサイザ505に送る。代替的に、または追加として、すべてのMIDIノート528を探索し、MIDIノート528がシンセサイザ505に送られる前に、適用可能なプログラム変更コマンド519をMIDIデータ524に挿入する。
図6は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステム600の別の構成を例示するブロック図である。前述のように、MIDIデータ624とユーザ定義機器データ626とを含む音楽ファイル610は、変換モジュール616を使用して調整される。MIDIデータ624はMIDIノート628を含むことができ、各MIDIノート628は、特にノート628の機器番号630とノート628のキー番号632とを含む。ユーザ定義機器データ626は、機器定義634に関連する1つまたは複数のリージョン636と機器番号630とを含む機器定義634を含むことができる。各リージョン636は、ルートノートや波形などの他のパラメータ637を含むことができる。
変換モジュール616中のリージョンコンバータ620は、音楽ファイル610中のマルチリージョン機器634をシングルリージョン機器定義648にマッピングすることができる。リージョンコンバータ620は、テーブル644または他のデータ構造を使用して、各シングルリージョン機器648に新しい機器番号645を割り当てることができる。さらに、各シングルリージョン機器中のリージョン636は、音楽ファイル610中に含まれるパラメータと同じパラメータ637を含むことができる。
リージョントランスレータ618は、新たにマッピングされた機器648を使用するノート628の前に挿入できる、プログラム変更コマンドやバンク変更コマンドなどの変更コマンド619を含むことができる。例えば、リージョントランスレータ618が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョンに対するノートオンメッセージを発見した場合、リージョントランスレータ618は、ノート628を送る前にプログラム変更コマンド619を0x20に送ることができる。
変換モジュール616は、MIDIデータ624をプレーヤ固有のMIDIデータ625に変換し、ユーザ定義機器データ626をプレーヤ固有のユーザ定義機器データ627に変換し、それらを調整された音楽ファイル650に統合することができる。プレーヤ固有のMIDIデータ625は、適切な場合、挿入される変更コマンド619を含むことができ、プレーヤ固有のユーザ定義機器データ627は、新しい機器番号645をもつシングルリージョン機器定義648を含むことができる。調整された音楽ファイル650はまた、メモリ646または別の適切な記憶媒体に記憶できる。
次いで、調整された音楽ファイル650を、さもなければマルチリージョン機器634をサポートすることができない未知のプレーヤ604に送ることができる。しかしながら、変換モジュール616を用いて、未知の出力612を、既知のプレーヤ608からの既知の出力614と類似にすることができる。ここでは、未知のプレーヤ604が調整されたファイル650をプレイする前に、調整された音楽ファイル650全体を統合し、保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム600はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル650を未知のプレーヤ604に送る前に、MIDIデータ624中のすべての適用可能な変更コマンド619を挿入するのではなく、変換モジュール616は、ノート628を受け取り、ノート628に対する適用可能な変更コマンド619を挿入しながら、ノート628を未知のプレーヤ604に送ることができる。
図7は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法700を例示する流れ図である。例えば、本方法を実装して、さもなければマルチリージョン機器634をサポートすることができない未知のプレーヤ604が、マルチリージョン機器634をもつ音楽ファイル610をプレイすることを可能にすることができる。方法700は変換モジュール616によって実行できる。変換モジュール616は、ユーザ定義機器634のセット中の少なくとも1つのマルチリージョン機器634を識別(752)する。モジュール616は、次いで、各マルチリージョン機器634の各リージョン636を、リージョン636と同じパラメータ637をもつシングルリージョン機器648にマッピング(754)する。
モジュール616は、次いで、各シングルリージョン機器648に新しい機器番号645を割り当てる(756)。新しい機器番号645は、マルチリージョン機器634の1つまたは複数の機器番号630を再使用することができ、例えば、マルチリージョン機器1のリージョン1をシングルリージョン機器1にマッピングすることができる。利用可能な機器番号630がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。
次に、マッピング754および割当て756に基づいてMIDIデータ624を修正(758)する。言い換えれば、プレーヤ604またはシンセサイザ605が正しいシングルリージョン機器定義648を、受け取ったノート628に関連付けることを可能にするために、MIDIデータ624を修正することができる。この修正758は、1つまたは複数のノート628の前に変更コマンド619を挿入することを含むことができる。例えば、変換モジュール616が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョン636に対するノートオンメッセージを発見した場合、変換モジュール616は、ノート628を送る前にプログラム変更コマンド619を0x20に送ることができる。最後に、マッピングされたシングルリージョン機器648と修正MIDIデータ624とをプレーヤ固有である調整された音楽ファイル650に統合(760)する。これは、MIDIデータ624をプレーヤ固有のMIDIデータ625に変換し、ユーザ定義機器データ626をプレーヤ固有のユーザ定義機器データ627に変換してから、それらを調整された音楽ファイル650に統合することを含むことができる。
上記の図7の方法700は、図7Aに示すミーンズプラスファンクションブロック700Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図7に示すブロック752〜760は、図7Aに示すミーンズプラスファンクションブロック752A〜760Aに対応する。
図8は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステム800を例示するブロック図である。これは、さもなければ可変ルートノート862をサポートしないであろう未知のプレーヤ804の内部でMIDIデータ824を調整する変換モジュール816を含むことができる。DLSなど、いくつかのファイルフォーマットは、ユーザが、機器リージョン836中の任意のノート828を、そのリージョン836のルートノート862として定義できるようにすることができる。ルートノート862は、修正されていない波形864が関連付けられるノートとすることができる。言い換えれば、ルートノート862がプレイされるように選択された場合、未知のプレーヤ804は、リージョン836に関連する波形864をピッチ修正なしに出力することができる。しかしながら、非ルートノートがプレイされるように選択された場合、所望の出力を達成するために波形864のピッチを変更することができる。また、ルートノート862の場合でも、波形864に対する変調または他の非ピッチ修正があることがある。例えば、以下で説明するように、様々なサンプリング周波数を捕らえるために波形864をリサンプリングすることができる。
音楽ファイル810は、MIDIノート828を含むMIDIデータ824を含むことができ、各MIDIノート828は、機器番号830とキー番号832とをもつ。機器番号830は、シンセサイザ805を、機器を表すために使用されるパラメータのセットに関連付けることができる。キー番号832は、ノート828のピッチを示す番号とすることができ、例えば、中央Cはキー番号832の「60」で表すことができ、本明細書ではキー番号を「N」で示す。
音楽ファイル810はまた、機器定義834を含むユーザ定義機器データ826を含むことができ、各機器定義834は、1つまたは複数のリージョン836をもつ。ユーザ定義ルートノート(RN)862は、修正されていない波形864が関連付けられるノートとすることができる。各波形864は、波形864がサンプリングされたサンプリング周波数(Fw)866を有することができる。
MIDIプレーヤ838の出力サンプリング周波数(Fs)868が、プレイすべきノート828の波形864のサンプリング周波数(Fw)866と異なる場合、MIDIプレーヤ838は波形864をリサンプリングすることができる。リサンプリング比はFw/Fsとすることができる。特定のリージョン836中の非ルートノートをプレイするとき、MIDIプレーヤ838は波形864をリサンプリングすることができる。したがって、ユーザ定義ルートノート862をサポートするMIDIプレーヤ838のリサンプリング比は、以下によって与えられる。
Figure 0005086445
一般に、MIDIプレーヤ838がリサンプリングに起因するひずみを最小限に抑えることができるように、プレイされているMIDIノート828をルートノート862の周りに集中させることができる。リサンプリングはシンセサイザ805において行うことができる。
しかしながら、ウェーブテーブル合成を使用してユーザ定義機器834をサポートするいくつかのオーディオプレーヤ804は、ユーザ定義ルートノート862をサポートすることができない。代わりに、プレーヤ804は固定のルートノート(RP)872を使用することができる。固定のルートノート(RP)872は、機器定義834中に記述されず、どこかに保存されるのではなく、プレーヤ804に内部にあり、例えば、RP872はシンセサイザ805のプロパティとすることができる。未知のプレーヤ804が固定のルートノート872以外のMIDIノート828をプレイする場合、以下の式に従って波形864をリサンプリングすることができる。
Figure 0005086445
未知のプレーヤ804においてユーザ定義機器834をサポートするために、機器834をプレーヤ固有のフォーマットにマッピングすることができる。未知のプレーヤ804はユーザ定義ルートノート862ではなく固定のルートノート872を使用するので、有効リサンプリング比が同じままであるようにキー番号(N)832を調整することができる。
ファイルパーサ802は音楽ファイル810に対応することができる。例えば、音楽ファイル810がXMFファイルである場合、ファイルパーサ802はXMFパーサとすることができる。ファイルパーサ802は、音楽ファイル810をプレーヤ固有のデータに変換することができる。詳細には、MIDIプレーヤ838は、MIDIデータ824をプレーヤ固有のMIDIデータ825に変換することができる。同様に、ユーザ定義機器パーサ840も、ユーザ定義機器データ826を、後でプレーヤ固有のMIDIデータ825に統合できるプレーヤ固有のユーザ定義機器データ827に変換することができる。
また、ファイルパーサ802は、シンセサイザ805の関係するパラメータを変換モジュール816に通知することができる。例えば、パーサ802は、各MIDI機器834の固定のルートノート872に関する情報を含むことができる。同様に、MIDIプレーヤ838は、出力サンプリング周波数(Fs)868に関する情報を含むことができる。
ユーザ定義機器パーサ840は、機器定義834からユーザ定義ルートノート862のアレイを抽出し、メモリまたは別の適切な記憶媒体846に記憶することができる。変換モジュール816は、ルートノート862のアレイを使用して、MIDIデータ824中のキー番号(N)832を調整することができる。代替的に、ルートノート862を任意のタイプのデータ構造として記憶することができる。
ノートトランスレータ822中のキー番号ジェネレータ874は、次いで、リサンプリングの後でも正しいピッチがプレイされるように、各MIDIノート828の新しいキー番号(N’)870を発生することができる。例として、ユーザ定義ルートノート(RN)862をもつ機器リージョン上のノート(N)828をプレイしようとしていると仮定する。さらに、プレーヤ固有のファイルフォーマットが固定のルートノート(RP)872を用いると仮定する。変換モジュール816がなければ、MIDIプレーヤ838は、2^(N−RN)/12*Fw/Fsのリサンプリング比を採用しようとする。しかしながら、未知のプレーヤ804が固定のルートノート872をのみサポートするので、MIDIプレーヤ838は、代わりに2^(N−RP)/12*Fw/Fsのリサンプリング比を採用する。これは、ピッチ差をもたらし、したがって、未知の出力812は既知の出力814とは異なって聞こえる。
これを緩和するために、プレーヤ固有のファイルフォーマットを書き込みながら、ノートトランスレータ822は、使用されるリサンプリング比が前と同じになるように、MIDIノート828のキー番号(N)832をずらすことができる。ノートトランスレータ822は、音楽ファイル810中のキー番号(N)832を新しいキー番号(N’)870と交換することができ、N’=N+RP−RNである。この新しいキー番号(N’)870を使用して、ノートトランスレータ822が採用するリサンプリング比は、
Figure 0005086445
であり、これは、
Figure 0005086445
と等価であり、これは、所要のリサンプリング比である
Figure 0005086445
と等価である。したがって、ノートトランスレータ822において計算された新しいキー番号(N’)870を、MIDIノート828のキー番号(N)832と置換することによって、式(5)に示すように、リサンプリング比を自動的に調整することができる。
次いで、プレーヤ固有のMIDIデータ825とプレーヤ固有のユーザ定義機器データ827とを調整された音楽ファイル850に統合することができる。次いで、調整された音楽ファイル850を、さもなければユーザ定義ルートノート862をサポートすることができない未知のプレーヤ804に送ることができる。しかしながら、変換モジュール816を用いて、未知の出力812を、既知のプレーヤ808からの既知の出力814と類似にすることができる。
システム800がノートまたはファイルごとに動作することができることに留意されたい。ノートごとの動作では、ノートトランスレータ822が各ノート828を受け取るときに新しいキー番号(N’)870を決定し、次いで、すべてのMIDIノート828が調整される前に、各MIDIノート828を新しいキー番号(N’)870とともにシンセサイザ805に送ることができる。代替的に、または追加として、MIDIノート828がシンセサイザ805に送られる前に、すべてのMIDIノート828を新しいキー番号(N’)870で調整することができる。
図9は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステム900の別の構成を例示するブロック図である。前述のように、MIDIデータ924とユーザ定義機器データ926とを含む音楽ファイル910は、変換モジュール916を使用して調整できる。MIDIデータ924はMIDIノート928を含むことができ、各MIDIノート928は、特にノート928の機器番号930とノート928のキー番号(N)932とを含む。ユーザ定義機器データ926は、1つまたは複数のリージョン936を含む機器定義934を含むことができる。各リージョン936は、ルートノート(RN)962、およびサンプリング周波数(Fw)966をもつ波形964など、他のパラメータを含むことができる。
変換モジュール916中のノートトランスレータ922は、N932、RP972、および−RN962を合計するキー番号ジェネレータ974を使用して、新しいキー番号(N’)970を発生することができ、RP972は、各ノート928によって使用される機器934の固定のルートノート972である。ユーザ定義ルートノート(RN)962のアレイは、メモリまたは他の適切な記憶媒体946に記憶できる。さらに、変換モジュール916は、固定のルートノート(RP)972を決定するために未知のプレーヤ904と通信することができる。
変換モジュール916は、MIDIデータ924をプレーヤ固有のMIDIデータ925に変換し、ユーザ定義機器データ926をプレーヤ固有のユーザ定義機器データ927に変換し、それらを調整された音楽ファイル950に統合することができる。プレーヤ固有のMIDIデータ925は、キー番号(N)932の代わりに新しいキー番号(N’)970を含むことができる。調整された音楽ファイル950は、同じくメモリまたは別の適切な記憶媒体946に記憶できる。
次いで、調整された音楽ファイル950を、さもなければユーザ定義ルートノート962をサポートすることができない未知のプレーヤ904に送ることができる。しかしながら、変換モジュール916を用いて、未知の出力912を、既知のプレーヤ908からの既知の出力914と類似にすることができる。ここでは、未知のプレーヤ904が調整されたファイル950をプレイする前に、調整された音楽ファイル950全体を統合し、保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム900はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル950を未知のプレーヤ904に送る前に、MIDIデータ924中のすべてのキー番号(N)932を新しいキー番号(N’)970と交換するのではなく、変換モジュール916は、ノート924を受け取り、キー番号(N)932を新しいキー番号(N’)970と交換しながら、ノート924を未知のプレーヤ904に送ることができる。
図10は、オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法1000を例示する流れ図である。例えば、方法1000を実装して、さもなければユーザ定義ルートノート962をサポートすることができない未知のプレーヤ904が、ユーザ定義ルートノート962をもつ音楽ファイル910をプレイすることを可能にすることができる。方法1000は変換モジュール916によって実行できる。変換モジュール916は、MIDIデータ924とユーザ定義機器934とをもつ音楽ファイル910を受け取る(1076)。次いで、機器定義934をプレーヤ固有の定義927に変換(1078)する。変換モジュール916は、各機器934のユーザ定義ルートノート962をアレイなどのデータ構造に記憶(1080)する。各ノートのN932、RP972、およびRN962を使用して新しいキー番号(N’)970を決定(1081)し、例えば、N’=N+RP−RNである。変換モジュール916は、次いで、新しいキー番号(N’)970に基づいてMIDIデータ924中の1つまたは複数のノート928を調整(1082)する。言い換えれば、キー番号(N)932を新しいキー番号(N’)970と交換する。次いで、MIDIデータ924をプレーヤ固有のMIDIデータ925に変換(1084)する。最後に、プレーヤ固有のMIDIデータ925とプレーヤ固有の機器定義927とを調整された音楽ファイル950に統合(1086)する。
上記の図10の方法1000は、図10Aに示すミーンズプラスファンクションブロック1000Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図10に示すブロック1076〜1086は、図10Aに示すミーンズプラスファンクションブロック1076A〜1086Aに対応する。
図11は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム1100を例示するブロック図である。前述のように、MIDIデータ1124とユーザ定義機器データ1126とを含む音楽ファイル1110は、変換モジュール1116を使用して調整できる。MIDIデータ1124はMIDIノート1128を含むことができ、各MIDIノート1128は、特にノート1128の機器番号1130とノート1128のキー番号(N)1132とを含む。ユーザ定義機器データ1126は、機器定義1134に関連する1つまたは複数のリージョン1136と機器番号1130とを含む機器定義1134を含むことができる。各リージョン1136は、ルートノート(RN)1162、およびサンプリング周波数(Fw)1166をもつ波形1164など、他のパラメータを含むことができる。
最初に、変換モジュール1116は、音楽ファイル1110中のマルチリージョン機器1134をシングルリージョン機器定義1148にマッピングすることができる。リージョンコンバータ1120は、テーブル1144または他のデータ構造を使用して、各シングルリージョン機器1148に新しい機器番号1145を割り当てることができる。さらに、各シングルリージョン機器1148中のリージョン1136は、音楽ファイル1110中に含まれるルートノートおよび波形と同じルートノート1162および波形1164を含むことができる。
リージョントランスレータ1118は、新たにマッピングされた機器1148を使用するノート1128の前に挿入できる、プログラム変更コマンドやバンク変更コマンドなどの変更コマンド1119を含むことができる。挿入された変更コマンド1119をもつMIDIデータ1124を、シングルリージョン機器1148とともに、調整された音楽ファイル1150に統合し、メモリまたは別の適切な記憶媒体1146に記憶することができる。
次に、ノートトランスレータ1122は、N1132、RP1172、および−RN1162を合計するキー番号ジェネレータ1174を使用して、新しいキー番号(N’)1170を発生することができ、RP1172は、各ノート1128によって使用される機器の固定のルートノート1172である。言い換えれば、N’=N+RP−RNである。すべてのリージョンを表すユーザ定義ルートノート(RN)1162のアレイは、メモリまたは他の適切な記憶媒体1146に記憶できる。さらに、変換モジュール1116は、固定のルートノート(RP)1172を決定するために未知のプレーヤ1104と通信することができる。
変換モジュール1116は、MIDIデータ1124をプレーヤ固有のMIDIデータ1125に変換し、ユーザ定義機器データ1126をプレーヤ固有のユーザ定義機器データ1127に変換し、それらを調整された音楽ファイル1150に統合することができる。プレーヤ固有のMIDIデータ1125は、キー番号(N)1132の代わりに新しいキー番号(N’)1170ならびに変更コマンド1119を含むことができる。プレーヤ固有のユーザ定義機器データ1127は、新しい機器番号1145をもつシングルリージョン機器定義1148を含むことができる。調整された音楽ファイル1150は、同じくメモリまたは別の適切な記憶媒体1146に記憶できる。
次いで、調整された音楽ファイル1150を、さもなければマルチリージョン機器1134またはユーザ定義ルートノート1162をサポートすることができない未知のプレーヤ1104に送ることができる。しかしながら、変換モジュール1116を用いて、未知の出力1112を、既知のプレーヤ1108からの既知の出力1114と類似にすることができる。ここでは、未知のプレーヤ1104が調整されたファイル1150をプレイする前に、調整された音楽ファイル1150全体を統合し、メモリ1146に保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム1100はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル1150を未知のプレーヤ1104に送る前に、MIDIデータ1124およびユーザ定義機器データ1126を調整するのではなく、変換モジュール1116は、ノート1128を受け取り、それらを調整しながら、ノート1128を未知のプレーヤ1104に送ることができる。
図12は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するための方法1200を例示する流れ図である。例えば、方法1200を実装して、さもなければマルチリージョン機器1134またはユーザ定義ルートノート1162をサポートすることができない未知のプレーヤ1104が、マルチリージョン機器1134とユーザ定義ルートノート1162とをもつ音楽ファイル1110をプレイすることを可能にすることができる。方法1200は変換モジュール1116によって実行できる。方法1200の第1の部分は、マルチリージョンサポートを提供することを対象とすることができる。したがって、変換モジュール1116は、MIDIデータ1124とユーザ定義機器データ1126とを含む音楽ファイル1110中の少なくとも1つのマルチリージョン機器1134を識別(1290)する。モジュール1116は、次いで、マルチリージョン機器1134の各リージョン1136を、リージョン1136と同じパラメータをもつシングルリージョン機器1148にマッピング(1291)する。これらのパラメータは、ルートノート1162とサンプリング周波数1166をもつ波形1164とを含むことができる。
モジュールは、次いで、各シングルリージョン機器1148に新しい機器番号1145を割り当てる(1292)。新しい機器番号1145は、マルチリージョン機器1134の機器番号1130を再使用しても再使用しなくてもよく、例えば、マルチリージョン機器1のリージョン1をシングルリージョン機器1にマッピングすることができる。利用可能な機器番号1130がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。
次に、マッピング1291および割当て1292に基づいてMIDIデータ1124を修正(1293)する。言い換えれば、プレーヤ1104またはシンセサイザが正しいシングルリージョン機器定義1148を、受け取ったノート1128に関連付けることを可能にするために、MIDIデータ1124を修正(1293)する。この修正1293は、1つまたは複数のノート1128の前に変更コマンド1119を挿入することを含むことができる。例えば、変換モジュール1116が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョン1136に対するノートオンメッセージを発見した場合、変換モジュール1116は、ノート1128を送る前にプログラム変更コマンド1119を0x20に送ることができる。
次いで、方法1200の残りのステップにおいて、ユーザ定義ルートノート1162をサポートするように音楽ファイル1110を修正することができる。最初に、機器定義1134をプレーヤ固有の定義1127に変換(1294)する。変換モジュール1116は、各機器1134のユーザ定義ルートノート1162をアレイなどのデータ構造に記憶(1295)する。変換モジュール1116は、各機器1134のユーザ定義ルートノート1162をアレイなどのデータ構造に記憶(1295)する。各ノート1128のN1132、RP1172、およびRN1162を使用して新しいキー番号(N’)1170を決定(1296)し、例えば、N’=N+RP−RNである。変換モジュール1116は、次いで、新しいキー番号(N’)1170に基づいてMIDIデータ1124中の1つまたは複数のノート1128を調整(1297)する。言い換えれば、キー番号(N)1132を新しいキー番号(N’)1170と交換する。次いで、MIDIデータ1124をプレーヤ固有のMIDIデータ1125に変換(1298)する。最後に、プレーヤ固有のMIDIデータ1125とプレーヤ固有の機器定義1127とを調整された音楽ファイル1150に統合(1299)する。
上記の図12の方法1200は、図12Aに示すミーンズプラスファンクションブロック1200Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図12に示すブロック1290〜1299は、図12Aに示すミーンズプラスファンクションブロック1290A〜1299Aに対応する。
図13は、コンピューティングデバイス/電子デバイス1302において利用できる様々な構成要素を例示するブロック図である。コンピューティングデバイス/電子デバイス1302は、音楽ファイル310を処理することが可能な任意のデバイス、例えば、速度トランスレータ、未知のプレーヤ304、または既知のプレーヤ308を実装することができる。したがって、ただ1つのコンピューティングデバイス/電子デバイス1302が示されているが、本明細書の構成は、多くのコンピュータシステムを使用する分散システムに実装できる。コンピューティングデバイス/電子デバイス1302は、マイクロコントローラ、ハンドヘルドコンピュータ、パーソナルコンピュータ、サーバ、メインフレーム、スーパーコンピュータ、ミニコンピュータ、ワークステーション、およびその変形体または関連するデバイスを含む広範囲のデジタルコンピュータを含むことができる。
コンピューティングデバイス/電子デバイス1302はプロセッサ1301およびメモリ1303とともに示されている。プロセッサ1301は、コンピューティングデバイス/電子デバイス1302の動作を制御することができ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)または当技術分野で知られている他のデバイスとして具現できる。プロセッサ1301は一般に、メモリ1303内に記憶されたプログラム命令1304に基づいて、論理および演算動作を実行する。メモリ1303中の命令1304は、本明細書で説明する方法を実装するように実行可能である。
コンピューティングデバイス/電子デバイス1302はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース1307および/またはネットワークインターフェース1313を含むことができる。(1つまたは複数の)通信インターフェース1307および(1つまたは複数の)ネットワークインターフェース1313は、有線通信技術、ワイヤレス通信技術、または両方に基づくことができる。
コンピューティングデバイス/電子デバイス1302はまた、1つまたは複数の入力デバイス1309と1つまたは複数の出力デバイス1311とを含むことができる。入力デバイス1309および出力デバイス1311は、ユーザ入力を可能にすることができる。コンピューティングデバイス/電子デバイス1302の一部として他の構成要素1315を設けることもできる。
データ1306および命令1304はメモリ1303に記憶できる。プロセッサ1301は、様々な機能を実装するために、メモリ1303から命令1304をロードし、実行することができる。命令1304を実行することは、メモリ1303に記憶されたデータ1306の使用を含むことができる。命令1304は、本明細書で示されるプロセスまたは構成のうちの1つまたは複数を実装するように実行可能であり、データ1306は、本明細書で説明する様々なデータの1つまたは複数を含むことができる。
メモリ1303は、電子情報を記憶することが可能な任意の電子構成要素とすることができる。メモリ1303は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク記憶装置媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、EPROMメモリ、EEPROMメモリ、ASIC(特定用途向け集積回路)、レジスタなどとして具現でき、それらの組合せを含む。
さらに、メモリ1303は、一般的なMIDI機器用の基本波形を含むウェーブテーブル1308を記憶することができる。メモリ1303はまた、オーディオデバイス固有のフォーマットに変換するために必要とされる比較データとマッピングテーブルとを含むデータテーブル1310を記憶することができる。例えば、ウェーブテーブル1308が、128個の機器と47個のドラムを含む場合、データテーブル1310は、ボリューム変更などを補償するための128プラス47セットの比較データと所要のマッピングテーブルとを含むことができる。
コンピューティングデバイス/電子デバイス1302を最初に生成するとき、データテーブル1310に記憶されたデータ1306を発生し、データテーブル1310にロードすることができる。代替的に、既存のコンピューティングデバイス/電子デバイス1302にダウンロードされるソフトウェア更新によってデータテーブル1310をロードすることができる。
代替的に、または追加として、命令1304をロードし、実行するために、並列に動作することができる2つ以上のプロセッサ1301が存在することができる。これらの命令1304は、音楽ファイル310をパースすることと、音楽ファイル310内のMIDIイベントまたはメッセージをスケジュールすることとを含むことができる。スケジュールされたMIDIイベントを、音楽ファイル310中のタイミングパラメータによって指定されたように、同期方式でプロセッサ1301によって処理することができる。プロセッサ1301は、MIDI合成パラメータを発生するために、時間同期スケジュールに従ってMIDIイベントを処理することができる。プロセッサ1301はまた、合成パラメータに基づいてオーディオサンプルを発生することができる。
コンピューティングデバイス/電子デバイス1302はまた、デジタルアナログ変換器(DAC)1312を含むことができる。プロセッサ1301は、MIDI合成パラメータのセットに基づいてオーディオサンプルを発生することができる。オーディオサンプルは、一定の間隔をおいてサンプリングされるアナログ信号のデジタル表現であるパルス符号変調(PCM)サンプルを備えることができる。プロセッサ1301は、オーディオサンプルをDAC1312に出力することができる。DAC1312は、次いで、デジタルオーディオ信号をアナログ信号に変換し、アナログ信号を駆動回路1314に出力することができ、駆動回路1314は、可聴音を作成するために、信号を増幅して1つまたは複数のスピーカ1316を駆動することができる。代替的に、コンピューティングデバイス/電子デバイス1302は、スピーカ1316、駆動回路1314、またはDAC1312を有しないことがある。
コンピューティングデバイス/電子デバイス1302が音楽ファイル310を受け取ると、プロセッサ1301は、音楽ファイル310をパースし、ダウンロード可能な音声(DLS)があるかどうかを検出する。コンピューティングデバイス/電子デバイス1302は、音楽ファイル310内のダウンロード可能な音声を分析する前に、音楽ファイル310に関連するフレームのすべてを受け取るのを待つことができる。ダウンロード可能な音声が音楽ファイル310内で検出されない場合、プロセッサ1301は、音楽ファイル310内のMIDIデータを処理し、MIDIコマンドの一部または全部を変換するが、プロセッサ1301には制限がある。例えば、プロセッサ1301は、マルチリージョン機器またはユーザ定義ルートノートを正しく変換することができない。
しかしながら、ダウンロード可能な音声が検出されると、プロセッサ1301は、ダウンロード可能な音声(DLS)データのパラメータを、パラメータおよび内部プレーヤ詳細に対するデバイス制限と比較することによってDLSデータを分析する。この分析に基づいて、プロセッサ1301は、次いで、プレイすべき機器の1つまたは複数をデバイス固有のパラメータにマッピングする。プロセッサ1301はまた、対応する音楽ファイル310を修正することができる。特に、プロセッサ1301は、ウェーブテーブル1308から、選択された機器に対応する波形サンプルを選択することができる。コンピューティングデバイス/電子デバイス1302は、次いで、オーディオサンプルを発生し、オーディオサンプルをDAC1312に送ることによって続ける。DAC1312の出力は、駆動回路1314に進み、可聴音をプレイするために、最終的にスピーカ1316に進む。このようにして、コンピューティングデバイス/電子デバイス1302は、MIDIイベント/ノート音が、作成者が意図した音声にできるだけ近く聞こえるように、ダウンロード可能な音声の音声を最も良く近似する機器を選択することができる。
上記の説明では、様々な用語とともに参照符号が時々使用されている。用語が参照符号とともに使用されている場合、1つまたは複数の図に示されている固有の要素を指すものとする。用語が参照符号なしに使用されている場合、特定の図に限定されない用語を指すものとする。
本開示によれば、モバイルデバイス中の回路は、複数のタイプの圧縮オーディオビットストリームに関する信号変換コマンドおよび付随するデータを受け取るように適合できる。同じ回路、異なる回路、あるいは同じまたは異なる回路の第2のセクションは、複数のタイプの圧縮オーディオビットストリームのための信号変換の一部として変換を実行するように適合できる。第2のセクションは、有利には、第1のセクションに結合するか、または第1のセクションの回路と同じ回路に埋め込むことができる。さらに、同じ回路、異なる回路、あるいは同じまたは異なる回路の第3のセクションは、複数のタイプの圧縮オーディオビットストリームのための信号変換の一部として相補的な処理を実行するように適合できる。第3のセクションは、有利には、第1および第2のセクションに結合するか、または第1および第2のセクションの回路と同じ回路に埋め込むことができる。さらに、同じ回路、異なる回路、あるいは同じまたは異なる回路の第4のセクションは、上述の機能を与える(1つまたは複数の)回路、または(1つまたは複数の)回路の(1つまたは複数の)セクションの構成を制御するように適合できる。
「決定」という用語は、多種多様な行為を包含し、したがって、「決定」は、計算、算出、処理、導出、調査、探索(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認などを含むことができる。また、「決定」は、受け取り(例えば、情報を受け取ること)、アクセス(例えば、メモリ中のデータにアクセスすること)などを含むことができる。また、「決定」は、解決、選択、選出、確立などを含むことができる。
「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。
「プロセッサ」という用語は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態機械などを包含するものと広く解釈されたい。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指すことがある。「プロセッサ」という用語は、処理デバイスの組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは他のそのような構成を指すことがある。
「メモリ」という用語は、電子情報を記憶することが可能な任意の電子構成要素を包含するものと広く解釈されたい。メモリという用語は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなど、様々なタイプのプロセッサ可読媒体を指すことがある。プロセッサがメモリから情報を読み取り、および/または情報をメモリに書き込むことができる場合、メモリはプロセッサと電子的に通信していると言われる。プロセッサに一体化されたメモリは、プロセッサと電子的に通信している。
「命令」および「コード」という用語は、任意のタイプの(1つまたは複数の)コンピュータ可読ステートメントを含むものと広く解釈されたい。例えば、「命令」および「コード」という用語は、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを指すことがある。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを備えることができる。
本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装できる。ソフトウェアで実装した場合、機能は1つまたは複数の命令としてコンピュータ可読媒体上に記憶できる。「コンピュータ可読媒体」という用語は、コンピュータによってアクセスできる任意の媒体を指す。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは命令またはデータ構造の形態で所望のプログラムコードを担持または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。
ソフトウェアまたは命令はまた、送信媒体を介して送信できる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、送信媒体の定義に含まれる。
本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲の範囲から逸脱することなく互いに交換することができる。すなわち、本明細書で説明する方法の適切な動作のためにステップまたはアクションの特定の順序が必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲の範囲を逸脱することなく修正することができる。
さらに、図7、図10、および図12によって示されたものなど、本明細書で説明する方法および技法を実行するためのモジュールおよび/または他の適切な手段は、デバイスによってダウンロードおよび/または他の方法で取得できることを諒解されたい。例えば、デバイスは、本明細書で説明する方法を実行するための手段の転送を可能にするために、サーバに結合できる。代替的に、本明細書で説明する様々な方法は、記憶手段をデバイスに結合するかまたは与えるときにデバイスが様々な方法を獲得することができるように、記憶手段(例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、コンパクトディスク(disc)(CD)またはフロッピーディスク(disk)などの物理的記憶媒体など)によって与えることができる。さらに、本明細書で説明する方法および技法をデバイスに与えるための任意の他の適切な技法を利用することができる。
特許請求の範囲は、上記の正確な構成および構成要素に限定されないことを理解されたい。特許請求の範囲を逸脱することなく、本明細書に記載のシステム、方法および装置の構成、動作および詳細において、様々な改変、変更および変形を行うことができる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法であって、
ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
前記ユーザ定義機器のセット中の少なくとも1つのマルチリージョン機器を識別することと、
前記マルチリージョン機器の各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器にマッピングすることと、
各シングルリージョン機器に新しい機器番号を割り当てることと、
前記マッピングと前記割当てとに基づいて前記MIDIデータを修正することと
を備える方法。
[2]
前記修正することは、マルチリージョン機器を使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、[1]の方法。
[3]
前記シングルリージョン機器と前記修正されたMIDIデータとをプレーヤ固有のフォーマットに統合することをさらに備える、[1]の方法。
[4]
前記プレーヤ固有のフォーマットは、Synthetic music Mobile Application Format(SMAF)ファイルを備える、[3]の方法。
[5]
ユーザ定義機器の前記セットは、Downloadable Sounds(DLS)ファイルである、[1]の方法。
[6]
前記受け取ることは、Extensible Music Format(XMF)ファイルを受け取ることをさらに備える、[1]の方法。
[7]
前記新しい機器番号は、マルチリージョン機器番号と重複する、[1]の方法。
[8]
前記割り当てることは、利用可能な機器番号が現在のバンク中にない場合、機器の新しいバンクを生成することをさらに備える、[1]の方法。
[9]
前記修正することは、機器の前記新しいバンクにマッピングされたマルチリージョン機器を使用する前記MIDIデータ中に、すべてのMIDIメッセージの前に1つまたは複数のバンク変更コマンドを挿入することを備える、[8]の方法。
[10]
マルチリージョン機器を使用するMIDIメッセージについて前記MIDIデータを探索することをさらに備える、[1]の方法。
[11]
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置であって、
プロセッサと、
前記プロセッサと電子的に通信するメモリと、
前記メモリに記憶された命令であって、
ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
前記ユーザ定義機器のセット中の少なくとも1つのマルチリージョン機器を識別することと、
前記マルチリージョン機器の各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器にマッピングすることと、
各シングルリージョン機器に新しい機器番号を割り当てることと、
前記マッピングと前記割当てとに基づいて前記MIDIデータを修正することと
を前記プロセッサによって実行可能な命令と
を備える装置。
[12]
前記修正することは、マルチリージョン機器を使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、[11]の装置。
[13]
前記命令は、前記シングルリージョン機器と前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するようにさらに実行可能である、[11]の装置。
[14]
前記プレーヤ固有のフォーマットは、Synthetic music Mobile Application Format(SMAF)ファイルを備える、[13]の装置。
[15]
ユーザ定義機器の前記セットは、Downloadable Sounds(DLS)ファイルである、[11]の装置。
[16]
前記受け取ることは、Extensible Music Format(XMF)ファイルを受け取ることをさらに備える、[11]の装置。
[17]
前記新しい機器番号は、マルチリージョン機器番号と重複する、[11]の装置。
[18]
前記割り当てることは、利用可能な機器番号が現在のバンク中にない場合、機器の新しいバンクを生成することをさらに備える、[11]の装置。
[19]
前記修正することは、機器の前記新しいバンクにマッピングされたマルチリージョン機器を使用する前記MIDIデータ中のMIDIメッセージの前に、1つまたは複数のバンク変更コマンドを挿入することを備える、[18]の装置。
[20]
前記命令は、マルチリージョン機器を使用するMIDIメッセージについて前記MIDIデータを探索するようにさらに実行可能である、[11]の装置。
[21]
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのコンピュータプログラム製品であって、その上に命令を有するコンピュータ可読媒体を備え、前記命令は、
ユーザ定義機器のセットと楽器用デジタル(MIDI)データのセットとを受け取るためのコードと、
前記ユーザ定義機器のセット中の少なくとも1つのマルチリージョン機器を識別するためのコードと、
前記マルチリージョン機器の各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器にマッピングするためのコードと、
各シングルリージョン機器に新しい機器番号を割り当てるためのコードと、
前記マッピングと前記割当てとに基づいて前記MIDIデータを修正するためのコードと
を備える、コンピュータプログラム製品。
[22]
修正するための前記コードは、マルチリージョン機器を使用するMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入するためのコードを備える、[21]のコンピュータプログラム製品。
[23]
前記命令は、前記シングルリージョン機器と前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するためのコードをさらに備える、[21]のコンピュータプログラム製品。
[24]
ユーザ定義機器の前記セットは、Downloadable Sounds(DLS)ファイルである、[21]のコンピュータプログラム製品。
[25]
受け取るための前記コードは、Extensible Music Format(XMF)ファイルを受け取るためのコードをさらに備える、[21]のコンピュータプログラム製品。
[26]
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置であって、
ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取るための手段と、
前記ユーザ定義機器のセット中の少なくとも1つのマルチリージョン機器を識別するための手段と、
前記マルチリージョン機器の各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器にマッピングするための手段と、
各シングルリージョン機器に新しい機器番号を割り当てるための手段と、
前記マッピングと前記割当てとに基づいて前記MIDIデータを修正するための手段と
を備える装置。
[27]
修正するための前記手段は、マルチリージョン機器を使用するMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入するための手段をさらに備える、[26]の装置。
[28]
前記シングルリージョン機器と前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するための手段をさらに備える、[26]の装置。
[29]
ユーザ定義機器の前記セットは、Downloadable Sounds(DLS)ファイルである、[26]の装置。
[30]
受け取るための前記手段は、Extensible Music Format(XMF)ファイルを受け取るための手段をさらに備える、[26]の装置。
[31]
オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための集積回路であって、
ユーザ定義機器のセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
前記ユーザ定義機器のセット中の少なくとも1つのマルチリージョン機器を識別することと、
前記マルチリージョン機器の各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器にマッピングすることと、
各シングルリージョン機器に新しい機器番号を割り当てることと、
前記マッピングと前記割当てとに基づいてMIDIデータを修正することと
を行うように構成された集積回路。
[32]
前記電子楽器デジタルインターフェース(MIDI)データを修正することは、マルチリージョン機器を使用するMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、[31]の集積回路。
[33]
前記集積回路は、前記シングルリージョン機器と前記修正電子楽器デジタルインターフェース(MIDI)データとをプレーヤ固有のフォーマットに統合するようにさらに構成された、[31]の集積回路。

Claims (31)

  1. オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法であって、
    ユーザ定義機器データのセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
    前記ユーザ定義機器データのセット中の少なくとも1つのマルチリージョン機器データを識別することと、
    前記マルチリージョン機器データの各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器データにマッピングすることと、
    各シングルリージョン機器データに新しい機器番号を割り当てることと、
    前記マッピングと前記割当てとに基づいて前記MIDIデータを修正することと
    を備える方法。
  2. 前記修正することは、マルチリージョン機器データを使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、請求項1記載の方法。
  3. 前記シングルリージョン機器データと前記修正されたMIDIデータとをプレーヤ固有のフォーマットに統合することをさらに備える、請求項1記載の方法。
  4. 前記プレーヤ固有のフォーマットは、Synthetic music Mobile Application Format(SMAF)ファイルを備える、請求項3記載の方法。
  5. ユーザ定義機器データの前記セットは、Downloadable Sounds(DLS)ファイルである、請求項1記載の方法。
  6. 前記受け取ることは、Extensible Music Format(XMF)ファイルを受け取ることをさらに備える、請求項1記載の方法。
  7. 前記新しい機器番号は、マルチリージョン機器番号と重複する、請求項1記載の方法。
  8. 前記割り当てることは、利用可能な機器番号が現在のバンク中にない場合、機器データの新しいバンクを生成することをさらに備える、請求項1記載の方法。
  9. 前記修正することは、機器データの前記新しいバンクにマッピングされたマルチリージョン機器データを使用する前記MIDIデータ中に、すべてのMIDIメッセージの前に1つまたは複数のバンク変更コマンドを挿入することを備える、請求項8記載の方法。
  10. オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置であって、
    プロセッサと、
    前記プロセッサと電子的に通信するメモリと、
    前記メモリに記憶された命令であって、
    ユーザ定義機器データのセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
    前記ユーザ定義機器データのセット中の少なくとも1つのマルチリージョン機器データを識別することと、
    前記マルチリージョン機器データの各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器データにマッピングすることと、
    各シングルリージョン機器データに新しい機器番号を割り当てることと、
    前記マッピングと前記割当てとに基づいて前記MIDIデータを修正することと
    を前記プロセッサによって実行可能な命令と
    を備える装置。
  11. 前記修正することは、マルチリージョン機器データを使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、請求項10記載の装置。
  12. 前記命令は、前記シングルリージョン機器データと前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するようにさらに実行可能である、請求項10記載の装置。
  13. 前記プレーヤ固有のフォーマットは、Synthetic music Mobile Application Format(SMAF)ファイルを備える、請求項12記載の装置。
  14. ユーザ定義機器データの前記セットは、Downloadable Sounds(DLS)ファイルである、請求項10記載の装置。
  15. 前記受け取ることは、Extensible Music Format(XMF)ファイルを受け取ることをさらに備える、請求項10記載の装置。
  16. 前記新しい機器番号は、マルチリージョン機器番号と重複する、請求項10記載の装置。
  17. 前記割り当てることは、利用可能な機器番号が現在のバンク中にない場合、機器データの新しいバンクを生成することをさらに備える、請求項10記載の装置。
  18. 前記修正することは、機器データの前記新しいバンクにマッピングされたマルチリージョン機器を使用する前記MIDIデータ中のすべてのMIDIメッセージの前に、1つまたは複数のバンク変更コマンドを挿入することを備える、請求項17記載の装置。
  19. オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのコンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を備え、前記命令は、
    ユーザ定義機器データのセットと楽器用デジタル(MIDI)データのセットとを受け取るためのコードと、
    前記ユーザ定義機器データのセット中の少なくとも1つのマルチリージョン機器データを識別するためのコードと、
    前記マルチリージョン機器データの各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器データにマッピングするためのコードと、
    各シングルリージョン機器データに新しい機器番号を割り当てるためのコードと、
    前記マッピングと前記割当てとに基づいて前記MIDIデータを修正するためのコードと
    を備える、コンピュータ可読記憶媒体
  20. 修正するための前記コードは、マルチリージョン機器データを使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入するためのコードを備える、請求項19記載のコンピュータ可読記憶媒体
  21. 前記命令は、前記シングルリージョン機器データと前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するためのコードをさらに備える、請求項19記載のコンピュータ可読記憶媒体
  22. ユーザ定義機器データの前記セットは、Downloadable Sounds(DLS)ファイルである、請求項19記載のコンピュータ可読記憶媒体
  23. 受け取るための前記コードは、Extensible Music Format(XMF)ファイルを受け取るためのコードをさらに備える、請求項19記載のコンピュータ可読記憶媒体
  24. オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための装置であって、
    ユーザ定義機器データのセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取るための手段と、
    前記ユーザ定義機器データのセット中の少なくとも1つのマルチリージョン機器を識別するための手段と、
    前記マルチリージョン機器データの各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器データにマッピングするための手段と、
    各シングルリージョン機器データに新しい機器番号を割り当てるための手段と、
    前記マッピングと前記割当てとに基づいて前記MIDIデータを修正するための手段と
    を備える装置。
  25. 修正するための前記手段は、マルチリージョン機器データを使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入するための手段をさらに備える、請求項24記載の装置。
  26. 前記シングルリージョン機器データと前記修正MIDIデータとをプレーヤ固有のフォーマットに統合するための手段をさらに備える、請求項24記載の装置。
  27. ユーザ定義機器データの前記セットは、Downloadable Sounds(DLS)ファイルである、請求項24記載の装置。
  28. 受け取るための前記手段は、Extensible Music Format(XMF)ファイルを受け取るための手段をさらに備える、請求項24記載の装置。
  29. オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための集積回路であって、
    ユーザ定義機器データのセットと電子楽器デジタルインターフェース(MIDI)データのセットとを受け取ることと、
    前記ユーザ定義機器データのセット中の少なくとも1つのマルチリージョン機器データを識別することと、
    前記マルチリージョン機器データの各リージョンを、前記リージョンと同じパラメータをもつシングルリージョン機器データにマッピングすることと、
    各シングルリージョン機器データに新しい機器番号を割り当てることと、
    前記マッピングと前記割当てとに基づいてMIDIデータを修正することと
    を行うように構成された集積回路。
  30. 前記電子楽器デジタルインターフェース(MIDI)データを修正することは、マルチリージョン機器データを使用するすべてのMIDIメッセージの前に、1つまたは複数のプログラム変更コマンドを前記MIDIデータに挿入することを備える、請求項29記載の集積回路。
  31. 前記集積回路は、前記シングルリージョン機器データと前記修正電子楽器デジタルインターフェース(MIDI)データとをプレーヤ固有のフォーマットに統合するようにさらに構成された、請求項29記載の集積回路。
JP2010544456A 2008-01-24 2009-01-24 オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法 Expired - Fee Related JP5086445B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US2317408P 2008-01-24 2008-01-24
US61/023,174 2008-01-24
US12/358,037 2009-01-22
US12/358,037 US8697978B2 (en) 2008-01-24 2009-01-22 Systems and methods for providing multi-region instrument support in an audio player
PCT/US2009/031931 WO2009094606A1 (en) 2008-01-24 2009-01-24 Systems and methods for providing multi-region instrument support in an audio player

Publications (2)

Publication Number Publication Date
JP2011511309A JP2011511309A (ja) 2011-04-07
JP5086445B2 true JP5086445B2 (ja) 2012-11-28

Family

ID=40514079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010544456A Expired - Fee Related JP5086445B2 (ja) 2008-01-24 2009-01-24 オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法

Country Status (7)

Country Link
US (1) US8697978B2 (ja)
EP (1) EP2232478A1 (ja)
JP (1) JP5086445B2 (ja)
KR (1) KR101155160B1 (ja)
CN (1) CN101896963B (ja)
TW (1) TW200947417A (ja)
WO (1) WO2009094606A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8759657B2 (en) * 2008-01-24 2014-06-24 Qualcomm Incorporated Systems and methods for providing variable root note support in an audio player
US8604329B2 (en) * 2011-10-10 2013-12-10 Mixermuse Llc MIDI learn mode
US9177538B2 (en) * 2011-10-10 2015-11-03 Mixermuse, Llc Channel-mapped MIDI learn mode
US9997147B2 (en) * 2015-07-20 2018-06-12 Masaaki Kasahara Musical instrument digital interface with voice note identifications
CN106098058B (zh) * 2016-06-23 2018-09-07 腾讯科技(深圳)有限公司 音调线生成方法和装置
US9792889B1 (en) * 2016-11-03 2017-10-17 International Business Machines Corporation Music modeling
EP3743912A4 (en) * 2018-01-23 2021-11-03 Synesthesia Corporation AUDIO SAMPLE READING UNIT
CN114915853A (zh) * 2021-02-08 2022-08-16 中国电信股份有限公司 交互信息处理方法、装置、终端以及存储介质

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145298A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器
US5206446A (en) * 1989-01-18 1993-04-27 Casio Computer Co., Ltd. Electronic musical instrument having a plurality of tone generation modes
US5119711A (en) 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation
JPH0752350B2 (ja) * 1990-11-16 1995-06-05 ヤマハ株式会社 電子楽器
US5331111A (en) * 1992-10-27 1994-07-19 Korg, Inc. Sound model generator and synthesizer with graphical programming engine
US5637822A (en) * 1994-03-17 1997-06-10 Kabushiki Kaisha Kawai Gakki Seisakusho MIDI signal transmitter/receiver operating in transmitter and receiver modes for radio signals between MIDI instrument devices
JP2894219B2 (ja) * 1994-09-09 1999-05-24 ヤマハ株式会社 電子楽器
US5763800A (en) 1995-08-14 1998-06-09 Creative Labs, Inc. Method and apparatus for formatting digital audio data
US6156965A (en) * 1995-08-28 2000-12-05 Shinsky; Jeff K. Fixed-location method of composing and performing and a musical instrument
US5596159A (en) * 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system
JP3758278B2 (ja) 1996-03-01 2006-03-22 ヤマハ株式会社 音量データ変換装置
JP3204147B2 (ja) * 1997-01-29 2001-09-04 ヤマハ株式会社 楽音発生装置
US5852251A (en) * 1997-06-25 1998-12-22 Industrial Technology Research Institute Method and apparatus for real-time dynamic midi control
JP3508509B2 (ja) 1997-10-21 2004-03-22 松下電器産業株式会社 音源装置
US6372973B1 (en) * 1999-05-18 2002-04-16 Schneidor Medical Technologies, Inc, Musical instruments that generate notes according to sounds and manually selected scales
US6462264B1 (en) * 1999-07-26 2002-10-08 Carl Elam Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech
JP3840851B2 (ja) * 1999-09-27 2006-11-01 ヤマハ株式会社 記録媒体および楽音信号生成方法
JP3576109B2 (ja) 2001-02-28 2004-10-13 株式会社第一興商 Midiデータ変換方法、midiデータ変換装置、midiデータ変換プログラム
JP3700599B2 (ja) * 2001-03-29 2005-09-28 ヤマハ株式会社 音色選択装置及び方法
JP3838353B2 (ja) 2002-03-12 2006-10-25 ヤマハ株式会社 楽音生成装置および楽音生成用コンピュータプログラム
JP2004157295A (ja) * 2002-11-06 2004-06-03 Oki Electric Ind Co Ltd 音響再生装置および演奏データの補正方法
EP1467348B1 (en) * 2003-04-08 2005-11-16 Sony Ericsson Mobile Communications AB Optimisation of MIDI file reproduction
US7208670B2 (en) * 2003-05-20 2007-04-24 Creative Technology Limited System to enable the use of white keys of musical keyboards for scales
US7045700B2 (en) * 2003-06-30 2006-05-16 Nokia Corporation Method and apparatus for playing a digital music file based on resource availability
US7323629B2 (en) * 2003-07-16 2008-01-29 Univ Iowa State Res Found Inc Real time music recognition and display system
JP4158743B2 (ja) 2004-05-24 2008-10-01 沖電気工業株式会社 演奏データ編集装置、演奏データ編集方法および演奏データ編集プログラム
US7205470B2 (en) * 2003-10-03 2007-04-17 Oki Electric Industry Co., Ltd. Play data editing device and method of editing play data
US7112737B2 (en) * 2003-12-31 2006-09-26 Immersion Corporation System and method for providing a haptic effect to a musical instrument
KR100694395B1 (ko) * 2004-03-02 2007-03-12 엘지전자 주식회사 웨이브 테이블 기반의 미디 합성 방법
US7002069B2 (en) * 2004-03-09 2006-02-21 Motorola, Inc. Balancing MIDI instrument volume levels
JP4400363B2 (ja) * 2004-08-05 2010-01-20 ヤマハ株式会社 音源システム、楽曲ファイルを記録したコンピュータ読み取り可能な記録媒体及び楽曲ファイル作成ツール
US20060101978A1 (en) * 2004-11-17 2006-05-18 Burgett, Inc. Apparatus and method for enhanced dynamics on MIDI-enabled reproducing player pianos
EP1662821B1 (en) 2004-11-24 2008-09-03 Research In Motion Limited Method and System For Filtering Wavetable Information for Wireless Devices
US20060112815A1 (en) * 2004-11-30 2006-06-01 Burgett, Inc. Apparatus method for controlling MIDI velocity in response to a volume control setting
KR100655548B1 (ko) * 2004-12-15 2006-12-08 엘지전자 주식회사 미디 합성 방법
JP4665570B2 (ja) * 2005-03-17 2011-04-06 ヤマハ株式会社 電子楽器及び波形割当てプログラム
US8199618B2 (en) 2006-02-22 2012-06-12 Mediatek Inc. Buffer control system for reducing buffer delay time between the playback of tracks and method thereof
JP4748011B2 (ja) * 2006-09-21 2011-08-17 ヤマハ株式会社 電子鍵盤楽器
US8030568B2 (en) * 2008-01-24 2011-10-04 Qualcomm Incorporated Systems and methods for improving the similarity of the output volume between audio players
US8759657B2 (en) * 2008-01-24 2014-06-24 Qualcomm Incorporated Systems and methods for providing variable root note support in an audio player

Also Published As

Publication number Publication date
EP2232478A1 (en) 2010-09-29
KR101155160B1 (ko) 2012-06-13
KR20100106600A (ko) 2010-10-01
CN101896963B (zh) 2012-12-19
WO2009094606A1 (en) 2009-07-30
US8697978B2 (en) 2014-04-15
TW200947417A (en) 2009-11-16
US20090205481A1 (en) 2009-08-20
CN101896963A (zh) 2010-11-24
JP2011511309A (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
JP5086445B2 (ja) オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法
JP7243052B2 (ja) オーディオ抽出装置、オーディオ再生装置、オーディオ抽出方法、オーディオ再生方法、機械学習方法及びプログラム
CN1104709C (zh) 主演唱声之外还带调谐的副演唱声的卡拉ok装置
JP2000194360A (ja) 音の電子的発生方法及び装置
JP2007293373A (ja) アルペジオ演奏装置
JP5086444B2 (ja) オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムおよび方法
JP5394401B2 (ja) オーディオプレーヤ間の出力ボリュームの類似性の改善のためのシステムおよび方法
JP2006084774A (ja) 奏法自動判定装置及びプログラム
CN111279412A (zh) 音响装置及音响控制程序
JP2002229567A (ja) 波形データ録音装置および録音波形データ再生装置
JP2005107029A (ja) 楽音生成装置および楽音生成方法を実現するためのプログラム
JP2002304175A (ja) 波形生成方法、演奏データ処理方法および波形選択装置
JP5754404B2 (ja) Midi演奏装置
JP4238807B2 (ja) 音源用波形データの決定装置
JP3666346B2 (ja) 楽音発生装置および記憶媒体
JP4067007B2 (ja) アルペジオ演奏装置及びプログラム
Self MIDI: Handbook for Sound Engineers by David Huber
Garavaglia Raising awareness about complete automation of live-electronics: A historical perspective
Huber Midi
JP2003029750A (ja) データ変換方法およびこれを利用する装置ならびにデータ変換プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees