JP4267925B2 - 対話型再生によるマルチパートオーディオ演奏を記憶する媒体 - Google Patents

対話型再生によるマルチパートオーディオ演奏を記憶する媒体 Download PDF

Info

Publication number
JP4267925B2
JP4267925B2 JP2002580306A JP2002580306A JP4267925B2 JP 4267925 B2 JP4267925 B2 JP 4267925B2 JP 2002580306 A JP2002580306 A JP 2002580306A JP 2002580306 A JP2002580306 A JP 2002580306A JP 4267925 B2 JP4267925 B2 JP 4267925B2
Authority
JP
Japan
Prior art keywords
performance
virtual
data
audio
entertainment system
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
JP2002580306A
Other languages
English (en)
Other versions
JP2004524580A (ja
Inventor
ブラッドリー・ジェイ・ネイプルズ
ケヴィン・ディ・モーガン
Original Assignee
ミュージックプレイグラウンド・インコーポレーテッド
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
Priority claimed from US09/900,289 external-priority patent/US20020144588A1/en
Priority claimed from US09/900,287 external-priority patent/US20020144587A1/en
Application filed by ミュージックプレイグラウンド・インコーポレーテッド filed Critical ミュージックプレイグラウンド・インコーポレーテッド
Priority claimed from PCT/US2002/010976 external-priority patent/WO2002082420A1/en
Publication of JP2004524580A publication Critical patent/JP2004524580A/ja
Application granted granted Critical
Publication of JP4267925B2 publication Critical patent/JP4267925B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/365Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems the accompaniment information being stored on a host computer and transmitted to a reproducing terminal by means of a network, e.g. public telephone lines
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/011Lyrics displays, e.g. for karaoke applications
    • 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/031File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video
    • 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/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • 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/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/061MP3, i.e. MPEG-1 or MPEG-2 Audio Layer III, lossy audio compression
    • 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/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
    • 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/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

関連出願
本願は、"A Multimedia Data File"という題目の2001年7月6日に出願された米国特許出願第09/900,289号と、"A Virtual Music System"という題目の2001年7月6日に出願された米国特許出願第09/900,287号と、"A Multimedia Data File"という題目の2001年4月9日に出願された米国仮出願第60/282,420号と、"A Virtual Music System"という題目の2001年4月9日に出願された米国仮出願第60/282,549号と、"A Multimedia Data File"という題目の2001年5月4日に出願された米国仮出願第60/288,876号と、"A Interactive Karaoke System"という題目の2001年5月4日に出願された米国仮出願第60/288,730号とに関する優先権をここに主張するものである。
本願は、1993年6月7日に出願され、1995年2月28日に発行され、かつ、"Virtual Music System"という題目の米国特許第5,393,926号と、1995年5月11日に出願され、1997年9月23日に発行され、かつ、"A Virtual Music Instrument with a Novel Input Device"という題目の米国特許第5,670,729号と、2000年2月17日に出願され、2001年1月16日に発行され、かつ、"System and Method for Variable Music Annotation"という題目の米国特許第6,175,070B1号とを、この参照により開示に含むものとする。
本発明は、マルチパートデータファイル(multipart data files)に関する。
ムービングピクチャーエキスパートグループ(Moving Picture Experts Group)(MPEGまたはMP3)および楽器ディジタルインターフェース(Musical Instrument Digital Interface)(MIDI)は、ディジタルオーディオ記憶および送信のためのプロトコルである。
MIDIは、ディジタルオーディオコンテンツをシンセサイザー上で録音かつ再生するために企画された。MIDIストリームは、オーディオコンテンツを直接的には示さないが、どのように該コンテンツを合成すべきかについての情報を提供する。MIDIストリームはマルチトラックであり、この場合に、各々のトラックを、楽器のような別々のプロファイルにマッピングすることができる。MIDIストリームの各トラックは、この楽器により演奏すべき別々のノートを含む。MIDIファイルは、(比喩的に述べると、特定のソング自体のサウンド録音とは対照的に)該ソングについての従来的なシートミュージックのコンピュータ等価物であるので、これらのMIDIファイルは、オーディオコンテンツを直接的かつ連続的に録音するファイルと比較した場合に、小さくかつコンパクトである傾向がある。しかしながら、MIDIストリームは、これらのサウンドを生成するために、通常は、ある形式のウェーブテーブル(wave table)シンセサイザーチップまたはFMシンセサイザーチップを必要とする。さらに、MIDIファイルは、同じ内容を実際にサウンド録音した場合の豊かさおよび力強さを欠く傾向がある。
MIDIストリームとは違って、MP3ストリームは、オーディオコンテンツを実際にサウンド録音したものを含む。通常は、MP3ストリームは、単一のトラックファイルであり、かつ、録音において利用される特定の音符または楽器に関する情報を含まない。しかしながら、MIDIファイルが、通常は、再生されるためにさらなるハードウェアを必要とする一方で、MP3ファイルについては、特殊化されたハードウェアを最小量のみ備えた最新のマルチメディアパーソナルコンピュータ上において、かなり頻繁に再生することができる。
概略的に、一特徴において、本発明は、対話型再生のためのオーディオ演奏を符号化するデータ構造を、自身に記憶させたコンピュータ読み取り可能な媒体を特徴づける。前記データ構造は、オーディオ演奏の対話型パートを符号化する仮想楽器プールを含む。前記対話型パートのオーディオコンテンツは、少なくとも一連のシンセサイザー制御データに符号化される。前記シンセサイザー制御データ内の各データは、再生すべきオーディオコンテンツのディジタルサンプルを指定する。前記データ構造は、オーディオ演奏の非対話型部分を符号化する全体的伴奏プールをさらに含む。前記全体的伴奏プールは、オーディオ演奏の再生を同期させるためのタイミング情報を含む。
好ましい実施例は、以下の特徴のうちの1つ以上を含む。前記シンセサイザー制御データは、MIDIデータである。前記ディジタルサンプルは、MP3クリップである。前記全体的伴奏プールは、オーディオ演奏のオーディオコンテンツの非対話型パートを符号化する。前記全体的伴奏プールは、サウンドフォントの集合を含み、各々のサウンドフォントは、対話型パートの再生を合成するためのパラメータを供給する。
概略的に、他の特徴において、本発明は、対話型再生のためのオーディオ演奏を符号化するデータ構造を記憶するコンピュータ読み取り可能な媒体を特徴づける。前記データ構造は、オーディオ演奏の非対話型パートを符号化する全体的伴奏プールを含む。前記非対話型パートの一部分はシンセサイザー制御データとして符号化され、該非対話型パートの他の部分はオーディオコンテンツのディジタルサンプルとして符号化される。前記データ構造は、オーディオ演奏の対話型パートを符号化する仮想楽器プールをさらに含む。前記対話型パートは、符号化されたオーディオコンテンツを、少なくともシンセサイザー制御データ内に有する。前記シンセサイザー制御データ内の各データは、合成すべき音符を指定し、または、再生すべきオーディオコンテンツのディジタルサンプルを指定する。
好ましい実施例は、以下の特徴のうちの1つ以上を含む。前記シンセサイザー制御データは、MIDIデータである。前記ディジタルサンプルは、MP3クリップである。前記全体的伴奏プールは、オーディオ演奏のオーディオコンテンツの非対話型パートを符号化する。前記仮想楽器プールは、対話型パートのオーディオコンテンツと調和した催促を指定するキューデータを含む。
概略的に、さらに他の特徴において、本発明は、コンピュータ読み取り可能な媒体上に記憶された符号(code)を特徴づける。前記符号は、娯楽システム内のコンピュータ上で作動し、該娯楽システムは、オーディオ出力サブシステムと、入力装置と、メモリとを含み、該メモリは、音楽演奏データ構造を記憶し、該音楽演奏データ構造は、音楽演奏の対話型部分と、音楽演奏の伴奏的な非対話型部分とを有する。前記符号は、仮想マネージャーオブジェクトを含み、該仮想マネージャーオブジェクトは、コンピュータに、メモリに記憶された音楽演奏データ構造を読み取らせ、かつ、コンピュータに、該音楽演奏データ構造内の識別された仮想楽器を示す仮想オブジェクトを生成させる。前記仮想オブジェクトは、コンピュータに、入力装置からのユーザー入力を、音楽演奏の対話型部分にマッピングさせ、かつ、コンピュータに、該マッピングされた音楽演奏の対話型部分を、オーディオ出力サブシステムを通して演奏させる。前記符号は、全体的伴奏オブジェクトをさらに含み、該全体的伴奏オブジェクトは、コンピュータに、音楽演奏の伴奏的な非対話型部分を、オーディオ出力システムを通して演奏させる。
好ましい実施例は、以下の特徴のうちの1つ以上を含む。前記記憶された音楽演奏データ構造は、別個の楽器を各々が示す複数の別個の仮想楽器を識別する。前記仮想マネージャーオブジェクトは、コンピュータに、複数の仮想オブジェクトを生成させ、該複数の仮想オブジェクトの各々は、識別された複数の楽器のうちの、対応する別個の楽器を示す。前記複数の仮想オブジェクトの各々は、コンピュータに、入力装置からのユーザー入力を、音楽演奏の対話型部分の対応するパートにマッピングさせ、かつ、コンピュータに、該マッピングされた音楽演奏の対話型部分の対応するパートを、オーディオ出力サブシステムを通して演奏させる。
前記全体的伴奏オブジェクトは、コンピュータに、仮想オブジェクトのためのマスタータイミング信号を、コンピュータ上で自身が実行される場合に供給させる論理をさらに含む。
前記娯楽システムが、映像表示サブシステムを含み、かつ、前記記憶された音楽演奏データ構造は、音楽演奏の対話型部分と関連づけられた一連の記憶されたタイミングキューを含むと仮定すると、前記仮想オブジェクトは、ユーザーが仮想楽器を演奏することを補助するために、コンピュータに、タイミングキューの視覚表示を、映像表示システムを通して表示させる論理をさらに含む。さらに、前記記憶された音楽演奏データ構造が、音楽演奏の非対話型部分の別個のパートを各々が示す複数のディジタルクリップと、一連のトリガー時点とを含み、該トリガー時点の各々は、タイミング情報を示し、かつ、前記ディジタルクリップのうちのどの1つを該タイミング情報内の識別された時間に演奏すべきか識別すると仮定すると、この場合に、前記全体的伴奏オブジェクトは、娯楽システムに、複数のディジタルクリップのうちの識別された1つを、記憶された一連のトリガー時点により識別された通りの適切な時間に、オーディオ出力サブシステムを通して演奏させる論理を含む。
前記オーディオ出力サブシステムが、シンセサイザーを含み、かつ、前記記憶された音楽演奏データ構造が、サウンドフォントを含むと仮定すると、前記伴奏オブジェクトは、オーディオ出力サブシステムの記号を制御するために、コンピュータに、記憶された音楽演奏データ構造からサウンドフォントを検索させる論理にして、かつ、コンピュータに、サウンドフォントをシンセサイザー内にロードさせる論理をさらに含む。
本発明に関する1つ以上の実施例についての詳細を、添付図面および以下の説明において示す。本発明に関する他の特徴、目的、および、利点は、説明および図面と、請求項とから明らかとなるだろう。
一実施例において、データファイルは、通常は(FMラジオに匹敵する、または、それ以上の)高品質なディジタル符号化された音楽またはサウンドの標準化演奏(standardized performance)を含む。サウンドをディジタル符号化するための方法は、MIDIのようなフォーマットでのシンセサイザーパラメータの他に、MP3のようなフォーマットでのディジタル録音またはサンプルを含む。標準化演奏は、対話型カラオケシステム(interactive karaoke system)により同期的に再生できる1つ以上のパートに符号化される。例えば、標準化演奏は、音楽家と彼らのボーカルまたは楽器とに割り当てられた様々なパートを備えた歌曲演奏または音楽演奏であり得る。
データファイルは、後述するタイミングキュー、歌詞(lyrics)、および、他の特徴のようなさらなる内容を含む。前記さらなる内容は、同期再生のために、オーディオコンテンツと時間的に相関づけられる(time-correlated)。
1人以上の人間のユーザーが、対話型カラオケシステムを用いることができる。各々のユーザーは、入力装置と、“演奏する”(すなわち、入力装置を経てリアルタイムで対話する)ためのパートとを有する。対話型カラオケシステムは、ユーザーインターフェースを、表示装置を経て、ユーザーに提示する。対話型カラオケシステムは、オーディオコンテンツの同期再生を管理する。再生中に、カラオケシステムは、パート内の符号化されたタイミング情報に従って、該カラオケシステムと対話するように、各々のユーザーに視覚的に催促する。対話型カラオケシステムは、入力装置におけるユーザー入力を、ユーザーのパートに相関させる。次に、対話型カラオケシステムは、パートからのオーディオコンテンツを演奏して、ユーザーがパートを演奏することを奨励する。例えば、オーディオコンテンツが音楽演奏を示す場合に、対話型カラオケシステムは、この音楽演奏の変形を、見かけ上は1人以上のユーザーにより演奏されているものとして再現することができる。
パートを演奏するために、ユーザーは、パートと、入力装置とを選択する。システムは、このパートのためのサウンドプロファイル(または、後述するような“サウンドフォント”)を自動的に選択する。仮想楽器(virtual instruments)は、パートと、入力装置と、サウンドフォントとを用いる。仮想楽器は、カラオケシステムにより生成かつ維持されるソフトウェアオブジェクトとして符号化される。
概略的に、この説明は、実況的演奏(live performance)と、データファイル内の符号化された標準化演奏とを区別している。実況的演奏は、リアルタイムのユーザー入力とユーザーの好みとについて調整した後の標準化演奏を、カラオケシステムにより表したものである。これらの調整の結果として、実況的演奏は、通常は、標準化演奏から逸脱したものとなる。例えば、ユーザー入力がパート内の符号化されたタイミング情報からあまりにも逸脱すれば、カラオケシステムは、このパートについてのオーディオ出力の全てまたは一部を抑制する。他の逸脱は、タイミングに起因するものであり得る。カラオケシステムは、リアルタイムのユーザー入力のタイミングに従って、標準化演奏からのサンプルを演奏する。ユーザーが標準化演奏のタイミングからあまりにも逸脱すれば、実況的演奏も同様に逸脱する。さらに他の逸脱は、ユーザーが選択するシステム設定に起因するものであり得る。例えば、ユーザーは、カラオケシステムに標準化演奏の1つ以上のパートを省略させることを選択し得る。実況的演奏と標準化演奏との間における変化は、カラオケシステムの娯楽的価値に寄与する。
前記システムおよびマルチパートファイルの内容の対話型の特徴は、音楽教育にも同様に適している。マルチパートファイルのさらに他の用途は、ディスクジョッキー(deejay)ソフトウェアに適用される。
〈システム〉
以下、図1Aを参照すると、対話型カラオケシステム10は、マルチパートデータファイル14を演奏し、該マルチパートデータファイル14の各々は、ソング15aまたはオーディオコンテンツ15bのような標準化演奏15に対応する。各々の標準化演奏15は、1つ以上のパート15cを含み、該パート15cは、通常は、特定の楽器または人間の演奏者に割り当てられた標準化演奏15のオーディオコンテンツである。データファイル14は、後述するように、標準化演奏15の各パート15cのためのパートチャンク42またはトラックチャンク38aのいずれかを含む。マルチパートデータファイル14は、システムが標準化演奏15とパート15cとを再生するために十分な情報を含む。
カラオケシステム10は、対話型の特徴および視聴覚的な特徴を含む。例えば、ユーザー16は、入力装置28(音楽的入力装置28”であり得る)を経て、システム10と対話する。ユーザー16は、視覚表示装置26を閲覧し、該視覚表示装置26を通して、システム10は、情報をユーザー16に表示する。オーディオ出力サブシステム27は、ユーザー16にとって可聴なサウンドにして、実況的演奏を含むサウンドを生じさせる。
システム論理(system logic)18は、後述するように、処理装置により実行できる命令として符号化された手続き(procedures)を含む。換言すれば、システム論理18はソフトウェアである。システム論理18は、後で説明するように、プレイヤーアプリケーション20と、エンジンライブラリー22とを含む。
〈パート符号化プロセス〉
概略的に、システム10は、標準化演奏15の“対話型(interactive)”パート15cと“非対話型(non-interactive)”パート15cとを区別する。システム10は、対話型パート15cを、実況的演奏中にユーザー16により演奏されるように利用可能にする。システム10は、自動的に(実演またはガイドモードで)、または、対話によって(後述するように、ユーザーによる入力刺激(input stimuli)の影響を受けて)、対話型パート15cを表すことができる。対照的に、システム10は、非対話型パート15cを、実況的演奏中に、自動的に表す。非対話型パート15cは、対話型パート15cに対するバックグラウンドまたは伴奏(accompaniment)である。
対話型パート15cと非対話型パート15cとの間の相違点は、データファイル14に符号化される。概略的に、対話型パート15cは(図2に示される)VIプール40内のパートチャンク42に対応する一方で、非対話型パート15cは伴奏プール38内のトラックチャンク38aに対応する。
以下、図1Bを参照すると、パート符号化プロセス19は、概略的には、パート15cを、データファイル14の一部にマッピングする。パート符号化プロセス19は、対話型または非対話型に指定された各々のパート15cを備えた標準化演奏15を受信する(プロセス19a)。例えば、人間の管理者が、このような指定を与えることができる。
パート符号化プロセス19は、データファイル14に符号化すべきパート15cを、標準化演奏15から選択する(プロセス19b)。パート符号化プロセス19は、パート15cが対話型であるか否かを検査する(プロセス19c)。検査が肯定的であれば、パート符号化プロセス19は、パート15cを、仮想楽器として符号化する(プロセス19d)。例えば、パート15cは、データファイル14内のVIプール40内のパートチャンク42にマッピングされる。テストが肯定的でなければ、パート符号化プロセス19は、パート15cを、全体的伴奏(global accompaniment)の一部分として符号化する(プロセス19e)。例えば、パート15cは、データファイル14内の伴奏プール38内のトラックチャンク38aにマッピングされる。
パート符号化プロセス19は、入力における各々のパート15cのために、プロセス19bに戻る(プロセス19f)。
〈ファイル構造〉
以下、図2を参照すると、マルチパートデータファイル14は、ヘッダー32と、本体(body)34とを含む。データファイル14において、ヘッダー32は、通常は、本体34に優先する。ヘッダー32は、本体34が暗号化されているか否かを示す暗号化フラグ32aと、ソング識別子32bとを含む。ソング識別子32bは、ソング15aを他のソング15aに対して独自に識別する値である。例えば、ソング識別子32bは、発行者のカタログにおいて、ソング15aの製品番号としての機能を果たすことができる。
本体34は、ソング情報36と、伴奏プール38と、仮想楽器(または、“VI”)プール40とを含む。ソング情報36は、マルチパートデータファイル14と関連づけられた標準化演奏15を指定する。ソング情報36は、タイトル36a、アーティスト36b、説明36c、長さ36d、ジャンル36e、サブジャンル36f、発行者36g、著作権36h、作曲者36i、バージョン36k、フォーマット36m、および、難易度等級36n、のようなフィールドを含む。タイトル36aは、標準化演奏15をユーザー16に対して識別する名前である。説明36c、ジャンル36e、および、サブジャンル36fは、標準化演奏15を、ユーザー16に対してさらに説明する。アーティスト36bは、標準化演奏15内に示される1人以上のアーティストを示す。長さ36dは、標準化演奏15の継続時間を示す。発行者36g、著作権36h、および、作曲者36iは、標準化演奏15における知的財産権を識別する一方で、バージョン36kおよびフォーマット36mは、データファイル14を符号化した時刻における朱筆(rubrics)を、(例えば、将来的な改訂のための)様々なバージョンのシステム10が適切に認識することを補助するメタデータである。難易度等級36nは、標準化演奏15内のパート15cの全体的な難易度の基準である。
伴奏プール38およびVIプール40は、チャンク50としてフォーマットされたデータを含む。さらに、伴奏プール38およびVIプール40自体が、チャンク50のフォーマットを用いる。チャンク50については、図3Aを参照して説明する。
〈伴奏プール〉
概略的に、伴奏プール38は、実況的演奏を管理するために、かつ、非対話型パート15cを表すために対話型カラオケシステム10が解釈する情報を含む。さらに、伴奏プール38は、後述するように、標準化演奏15に特有のサウンドフォント39を供給する。伴奏プール38は、トラックチャンク38aと、サウンドバンクチャンク38bと、DA(“ディジタルオーディオ”)トリガーチャンク38cと、DAチャンク38dとを含む。
トラックチャンク38aは、全体的伴奏コンテンツを符号化する。トラックチャンク38aは、対応する標準化演奏15がシステム10により表されるテンポおよび長さを定義するためのタイミングを含む。トラックチャンク38aは、通常は(しかし、常にとは限らない)、実際のオーディオコンテンツをも符号化する。例えば、トラックチャンク38aは、非伴奏(unaccompanied)パート15c(例えば、ソロボーカル演奏)を含む標準化演奏15のパートであり得る。この場合に、標準化演奏15は、少なくともマスタータイミング信号を供給するために、全体的伴奏トラック38aによって、なおも符号化される。
〈サウンドバンクおよびサウンドフォント〉
サウンドバンクチャンク38bは、ファイル14に対応する標準化演奏15に特有のサウンドフォント39を供給する。
サウンドフォント39は、仮想楽器のためのサンプルと音響的特徴とを含む。音響的特徴は、包絡線(envelope)、または、時間とともに動くサンプル音量(volume)を含む。包絡線は、通常は、アタック(attack)(時間とともに急速に立ち上がる最初の音量)と、アタックからの最初の減衰(decay)と、(ノートが保持される必要がある間保持される)サステイン(sustain)と、リリース(release)(楽器がノートの演奏を終了させられた時にサウンドに発生するもの)とを含む。
例えば、サウンドフォント39がオーバードライブギター(overdriven guitar)のためのものであれば、サンプルは、定義されたノートまたは周波数を演奏するオーバードライブギターを実際に録音したものとなる。サンプルと同じ周波数を有するノートに(図3Bに示される演奏トラック48aに応じて)対応する入力刺激がユーザー16により供給されれば、サンプルは変更されずに演奏される。しかしながら、この入力刺激が、サンプルの周波数とは別個の周波数のノートに対応すれば、対話型カラオケシステム10は、サンプルの周波数を、必要なノートの周波数へシフトする。(図5に示される)シンセサイザー66aは、周波数シフトを実行することができる。
説明する実施例において、サウンドフォント39は、クリエイティブ・ラボ社(Creative Labs, Inc.)による技術および製品と互換性がある。
〈DAトリガーおよびDAチャンク〉
DAトリガーチャンク38cは、MP3サンプルのようなディジタルオーディオクリップの演奏を許容する1組の制御メッセージを与える。これらのクリップ自体は、DAチャンク38dに記憶される。
DAトリガーチャンク38cはクリップにインデックスを付け、かつ、DAトリガーチャンク38cは、MIDIノートイベント値をMP3サンプルに、例えば、該MIDIノートイベント値とクリップとを関連づける組からなる表においてマッピングする情報を含む。パート15cと関連づけられたDAガイドトラック48gは、これらのインデックスを、クリップに参照符号を付ける(referencing)場合の空間効率的(space-efficient)略記として用いることができる。
〈VIプール〉
VIプール40は、パートチャンク42の集合を含む。マルチパートデータファイル14は、対応する標準化演奏15内の演奏可能な各仮想楽器のためのパートチャンク42を含む。パートチャンク42のフォーマットについては、図3Bを参照して説明する。概略的に、パートチャンク42は、対話型パート15cを符号化するデータを保持する。後述するように、VIマネージャーは、開始中にVIプール40を探し、かつ、各々のパートチャンク42のための仮想楽器オブジェクト80を生成する。
〈チャンク〉
以下、図3Aを参照すると、チャンク50は、ディジタル情報を記憶するためのフォーマットである。チャンク50のフォーマットは、広い範囲のデータを記憶することができる。チャンク50は、メタデータ部分52と、データ部分54とを含む。メタデータフィールドは、データ部分54に記憶されたデータの性質について説明する。メタデータ52は、名前52aと、型52bと、サイズ52cと、暗号化インジケータ52dと、圧縮インジケータ52eとを含む。暗号化インジケータ52dは、データ部分54が暗号化されているか否かを示す。圧縮インジケータ52eは、データ部分54において用いられる圧縮スキームを示す。通常は、メタデータ52がプレーンテキストとして記憶される一方で、データ部分54は、暗号化と圧縮とによって記憶される。
データ部分54に記憶されるデータの例は、ディジタルオーディオ録音と、MIDIと、テキストとを含む。データ部分は、さらなるチャンク50を記憶することもできる(すなわち、チャンク50の構造は再帰的(recursive)である)。サイズ52cは、いつ所定のチャンク50が終了するのかを示す。
〈パートチャンク〉
以下、図3Bを参照すると、パートチャンク42は、情報チャンク44と、データチャンク46とを含む。情報チャンク44は、名前44aと、型44bと、難易度等級44cと、説明44dとを含む。パート15cのための名前44aは、該パート15cをユーザー16に対して識別する。難易度等級44cおよび説明44dは、標準化演奏15を、ユーザー16に対してさらに説明する。型44bは、パート15cを、適切な仮想楽器に(例えば、ドラムパート15cを、ドラム楽器に)マッチングさせることを許容する。
データチャンク46は、MIDIデータを含む。MIDIデータは、MIDIトラックの形にフォーマットされる。トラックの型は、ガイドトラック48bと、演奏トラック48aと、キュートラック48cと、楽譜(score)トラック48dと、ローカル伴奏トラック48eと、映像トラック48fと、DAガイドトラック48gとを含む。
〈ガイドトラック〉
ガイドトラック48bは、対話型パート15cに対する非対話型の補集合である。ガイドトラック48bは、パート15cに対応する標準化演奏15の一部分を符号化する。ユーザーは、ガイドトラック48bの再生を、手動でオン/オフに切り替えることができる。さらに、システムは、ガイドトラック48bを自動的に演奏することができる。
ユーザー16は、実況的演奏が1人のユーザーも所定の対話型パートに割り当てさせないように、システム10を構成設定することができる。このパートのオーディオコンテンツが実況的演奏のために必要とされる場合に、システム10は、例えば、演奏トラック48aを対話的に表す代わりに、ガイドトラック48bのオーディオコンテンツを非対話的に表す。
ガイドトラック48bについては、幾つかのフォーマットで記憶することができる。ガイドトラック48bは、MIDIストリームのようなシンセサイザー制御ストリーム、または、MP3ファイルのようなサウンド録音ファイル94を含むことができる。
ユーザーが仮想楽器を演奏しないことを選択した場合にオーディオ“フィル(fill)”を供給することの他に、1つ以上のガイドトラック48bを、ガイド情報をユーザー16に提供するために、選択的に演奏することができる。このガイド情報は、特定の仮想楽器の演奏のピッチ、リズム、音色(timbre)に関する見識を、ユーザーに提供する。例えば、ユーザー16が不慣れなソング15aを歌っていれば、該ユーザー16が歌う演奏の他に、ガイドトラック48bを演奏することができる。ユーザー16は、通常は、ボーカルよりも低い音量レベルで、このガイドトラック48bを演奏する。(あるいは、ユーザー16は、ヘッドフォンを通して、ガイドトラック48bを聞くことができる。)ユーザー16により表されるボーカル演奏の後方で穏やかに演奏されるこのガイドトラック48bは、ユーザーがこのボーカル仮想楽器のための正確な演奏を提供することを補助する。ガイドトラック48bについては、非ボーカル仮想楽器のためのガイド情報を提供するためにも同様に用いることができる。
〈演奏トラック〉
演奏トラック48aは、受理可能な入力がユーザーにより供給される場合に、パート15cの実況的演奏のための基礎であるオーディオコンテンツを符号化する。演奏トラック48aは、MIDIストリームを含む。MIDIストリームのノートイベント値は、シンセサイザーの入力を符号化する。
仮想楽器は、演奏トラック48aを有する必要はない。弦の入力装置28または打楽器の入力装置28のためのパートは、通常は、演奏トラック48aを有している。このようなパートのために、対話型カラオケシステム10は、受信された各々の入力刺激のために、(演奏トラック48aにより指定されるような)適切なピッチを有するノートを生成する必要がある。しかしながら、ボーカルパートのためのユーザー入力は、ノートを生成することをシステム10に要求しない。代わりに、ユーザー16は、(図5に示される)マイクロフォン28bを経て、ボーカルパート入力を供給する。
〈キュートラック〉
概略的には、キュートラック48cは、実況的演奏中において、どのように/いつシステム10がユーザーに入力を催促すべきかを示す。これらの催促は、演奏トラック48aに1対1で対応する必要はない。代わりに、これらの催促は、通常は、演奏トラック48aを要約する。この要約は、ユーザー16が演奏トラック48a内の全てのノートを演奏する必要がないように、システム10がパートを簡略化するのに役立つ。キュートラック48c内のキューは、演奏トラック48aから、多くのノートまたはフレーズを収集することができる。個々の刺激を多くのノートにマッピングすることは、刺激が厳密に示すよりも完全な演奏であるという錯覚(illusion)を、システム10により生じさせることができる1つの方法である。
キュートラック48cは、タイミング間隔を指定し、該タイミング間隔の間に、ユーザーは、入力刺激を催促される。一般的に、キュー間隔は重複しない。
キュー間隔のタイミング(開始および終了の両方)は、幾つかの機能を有する。これにより、いつ催促をユーザーに表示すべきかが示される。前記間隔は、受理可能なユーザー入力がこのウィンドウの間に発生すれば演奏されることになる演奏トラック48aの区分(sections)をさらに示す。
〈楽譜トラック48d〉
楽譜トラック48dは、実況的演奏中に表示するために演奏トラック48aと同期する音楽的表記(musical notations)を符号化する。これらの表記は、幾つかの形式を取ることができる。1つの形式は、“F#5”または“C5”のような、和音(chords)のテキスト記述である。これらの表記は、従来的な表記(例えば、譜表(staff)またはタブラチュア(tablature))をさらに示すことができる。
表示される表記の例については、図12Aおよび図12Bを参照して論考する。
〈ローカル伴奏トラック〉
仮想楽器パート15c内のローカル伴奏トラック48eは、全体的伴奏とは別個のものである。ローカル伴奏トラック48eは、仮想楽器パートのためのさらなるオーディオ“フィル”を、必要に応じて供給する。ローカル伴奏トラック48eを用いて、システム10は、実際には入力刺激が標準化演奏15の一部分にのみ対応している場合であっても、ユーザーが楽器パート全体を演奏しているというオーディオ的錯覚を生じさせる。標準化演奏15は、演奏トラック48aおよびローカル伴奏トラック48eの組み合わせであり得る。
一例として、ドラムキットについて考慮する。物理的装置として、ドラムキットは、幾つかの打楽器を伴って、かなり複雑であり得る。熟練したドラマーは、2つの手と2つの足とを別々かつ同時に用いて演奏することができる。これ以上簡素な入力装置28であれば、プロフェッショナルのドラマーが完全なドラムキットによってリアルタイムで作成し得る多くの相互作用を、単独の入力装置によって正確に再現することはユーザーにとって困難または不可能であるという程度まで、システム10のユーザーが操作する入力装置28は、遙かに簡素なものであり得る。ローカル伴奏トラック48eは、パート内の全ノートの部分集合または近似値を演奏することを、かつ、残りのノートを何としても供給させることを、ユーザー16に許容する。例えば、ドラムの例において、1つの選択肢は、ユーザー16がスネアドラムのみを演奏する一方で、VIトラック内の伴奏トラックがキックドラム、タムタム、ハイハットなどを供給するというものである。
演奏において、演奏トラック48aと同様に、受理可能な入力がユーザーにより供給されていない期間中に、システム10は、ローカル伴奏トラック48eのオーディオコンテンツを表さない。
〈映像トラック〉
映像トラック48fは、実況的演奏と同期した対話型の可視要素を提供する。映像トラック48fは、ユーザーによる対話に応答してシステム10がユーザー16に提示するための時間符号化された(time-encoded)一連の可視フレームを含む。例えば、自動化された音楽的訓練は、映像による応答から利益を得ることができる。映像トラック48fは、標準化演奏15内のある時点に対して調和(coordinate)させた一連の貯蔵ピクチャーまたはムービーを含むことができる。例えば、映像トラック48fは、ディスクジョッキーの用途のためにターンテーブルを描写することができる。この場合に、所定の標準化演奏15のために、映像トラック48fは、様々な、カスタマイズされた形のターンテーブルを提供することができる。
〈DAガイドトラック〉
概念上、DAガイドトラック48gは、ガイドトラック48bと類似したものであるが、ディジタルオーディオクリップによって特有の形で動作する。DAガイドトラック48gは、DAトリガーチャンク38c内でインデックスを付けられかつDAチャンク38dに記憶されたディジタルオーディオクリップを指すために、MIDI制御メッセージを用いる。DAガイドトラック48gは、時間符号化された一連のトリガー間隔を含む。これらのトリガー間隔は、いつ所定のクリップを演奏すべきかを示す。ノート番号は、どのクリップを演奏すべきかを示し、ノートの時間的配置は、いつノートを演奏すべきかを示し、かつ、ノートの継続時間は、どのくらいの間ノートを演奏すべきかを示す。DAガイドトラック48gは、例えば、特定のボーカル演奏と満足に合成できないオーディオコンテンツ、または、概略的には、異常なまたは独特の音質を備えたあらゆる演奏と満足に合成できないオーディオコンテンツを標準化演奏15が含む場合に、少なくとも有用である。
サウンド録音またはディジタルオーディオクリップの効率的な使用法の1つは、多くの標準化演奏15が冗長性(redundancy)を含むという事実を活用する。例えば、バックグラウンドトラックは、反復的な楽節(musical passage)、または、広範囲の無音(silence)部分、または、これらの両方をしばしば含む。従って、これらのバックグラウンドトラックについては、別個のクリップの形に分割することができ、各々のクリップは、各々の反復部分の最初の例を示し、その後に反復される例をもう使用しないものにする。従って、冗長的な楽節を除いては、記憶空間および帯域幅は浪費されない。再生中に、適切な時間に各々の適切なクリップに参照符号を付けることにより、これらのクリップを反復的に表すことができる。例えば、標準化演奏15が15秒の同じバックグラウンドコーラスを5つ有しており、かつ、これら5つのコーラスが45秒の無音によりそれぞれ分離されれば、標準化演奏15内に録音されたこのバックグラウンドコーラスは、全体で4分15秒の長さとなる。しかしながら、このトラック内には15秒の独自のデータが存在するのみであるが、その理由は、このデータチャンクが5回反復されるためである。従って、データのうちの独自の部分のみを録音することにより、4分15秒のバックグラウンドトラックを、僅か15秒にまで縮小することができ、94%のファイルサイズの縮小という結果となる。(5分の間に1分につき1回)この15秒のデータトラックの時限式(timed)かつ反復的再生を開始するためにMIDIトリガーファイルを利用することにより、MIDIファイルの空間節約特性の他にMPEGファイルの力強いサウンド特性をさらに有するバックグラウンドトラックを作成することができる。
〈装置〉
以下、図4を参照すると、クライアント装置12は、カラオケシステム10のシステム論理18を実行する。この実施例において、クライアント装置12は、パーソナルコンピュータである。クライアント装置12は、バス12dにより相互接続されたメインメモリ12a、記憶装置12b、および、プロセッサ12cを含む。記憶装置12bは、ディスクドライブのような非揮発性記憶媒体である。プロセッサ12cは、オペレーティングシステム18aに従って、メインメモリ12aまたは記憶装置12bに、あるいは、これらの両方に記憶された機械読み取り可能な命令を実行する。バス12dは、クライアント装置12の構成要素間の連絡を伝える。
この実施例において、オペレーティングシステム18aは、ウィンドウズ(登録商標)98、ウィンドウズ(登録商標)98SE、ウィンドウズ(登録商標)ME、ウィンドウズ(登録商標)2000、ウィンドウズ(登録商標)XPのようなマイクロソフトウィンドウズ(登録商標)オペレーティングシステム、または、他の互換性オペレーティングシステムである。
オーディオ出力サブシステム27は、プロセッサ12cの制御の下でサウンドを再生するための構成要素を含む。クライアント装置12において、通常は、サウンドカード、ラウドスピーカーまたはヘッドフォン、および、増幅器が、オペレーティングシステム18aによってサウンドカードを動作させるためのソフトウェアドライバーとともに含まれる。
クライアント装置12はネットワークインターフェース12eを任意的に含み、該ネットワークインターフェース12eは、クライアント装置12により、リンク58aを経て、ネットワーク58を横断して通信することを可能にする。例示的なネットワークインターフェース12eは、イーサネット(登録商標)送受信器またはモデムを含む。ネットワークインターフェース12eは、通常は、少なくともクライアント装置12がサーバー30と通信できるように存在しており、該サーバー30は、クライアント装置12とは別個のコンピューティング装置であり、かつ、ネットワーク58を経て通信するためにリンク58bを用いる。クライアント装置12は、サーバー30からファイル14をダウンロードすることができる。
クライアント装置12は、視覚表示装置26と、1つ以上の入力装置28とをさらに含む。視覚表示装置26は、コンピュータスクリーンである。(図1Aに示される)幾つかの入力装置28は、QWERTYキーボード28e、マウス28f、または、タッチセンシティブ・スクリーン(図示せず)のような、通常のパーソナルコンピュータ周辺入力装置28’を含んで存在し得る。他の型の入力装置28は、弦の入力装置28a(例えば、仮想ギター用または仮想ベースギター用のエレキギターピック)、マイクロフォン入力装置28b、打楽器入力装置28d(仮想ドラム用の電子ドラムパッド)、または、MIDIイネーブル式(MIDI-enabled)楽器入力装置28c(電子ピアノ、ギター、など)のような音楽的入力装置28”を含む。音楽的装置および非音楽的装置の両方を、システム10への入力装置28として用いることができる。例えば、ユーザー16は、QWERTYキーボード28eのスペースバーを叩くことにより、入力刺激をパートに供給することができる。
クライアント装置12は、様々な仮想楽器入力装置28のための入力ポート(図示せず)を含む。これらの仮想楽器装置は、1993年6月7日に出願され、1995年2月28日に発行され、かつ、この参照により開示に含まれる"Virtual Music System"という題目の米国特許第5,393,926号の主題である。さらに、これらの仮想楽器入力装置28および仮想楽器は、1995年5月11日に出願され、1997年9月23日に発行され、かつ、この参照により開示に含まれる"A Virtual Music Instrument with a Novel Input Device"という題目の米国特許第5,670,729号の主題である。
本発明において、仮想ピック装置28aはUSB装置である。
〈ソフトウェアアーキテクチャー〉
以下、図5を参照すると、システム10のソフトウェア構成要素は、層状アーキテクチャーを有する。概略的に、これらの層は、機能に応じて、ソフトウェア構成要素を収集する。
サーバー層60dは、クライアント/サーバーというサービス分割に起因するものである。サーバー層60dは、共有記憶装置30aのような、クライアント装置12に対して遠隔にあるサーバー30のサービスを含む。システム10は、ネットワーク58を横断して、サーバー層60dと通信する。
クライアント装置12にとってローカルな層は、実行可能層60aと、ライブラリー層60bと、オペレーティングシステム(“OS”)サービス層60cとを含む。実行可能層60aは、プレイヤー20と、ソングエディター20aとを含む。マイクロソフトウィンドウズ(登録商標)オペレーティングシステム18aを用いるこの実施例において、プレイヤー20は、“.EXE”ファイルである。換言すれば、プレイヤー20は、オペレーティングシステム18aにより実行可能なアプリケーションである。プレイヤー20は、ファイル14の再生に関与して実行可能である最重要なものである。
ライブラリー層60bは、エンジンライブラリー22を含む。マイクロソフトウィンドウズ(登録商標)オペレーティングシステム18aを用いるこの実施例において、エンジンライブラリー22は、ダイナミックリンクライブラリ、すなわち、“DLL”である。エンジンライブラリー22は、プレイヤー20のコンピューティング命令を補足する命令およびデータを含む。プレイヤー20は、エンジンライブラリー22を自動的にロードする。
ライブラリー層60bは、楽器バンク24のような補助的ファイルをさらに含む。楽器バンク24は、データファイル14に記憶されたサウンドフォント39とは無関係のサウンドフォント39を含む。例えば、楽器バンク24は、利用可能なサウンドフォント39のライブラリーにして、プレイヤー20とともに予めインストールされるライブラリーとしての機能を果たすことができる。
エンジンライブラリー22および楽器バンク24の両方は“ライブラリー”と称されるが、これらは、エンジンライブラリー22が実行可能な命令を含みかつ楽器バンク24が該命令を含まないという点で、少なくとも概念上は別個のものである。楽器バンク24は、システム論理18により用いられるデータファイルまたは文書である。概略的に、システム論理18の層状アーキテクチャーは、オペレーティングシステム18aとアクティブ状態のソフトウェアとについての標準的慣例(すなわち、実行可能な命令)を反映する。
概略的には、OSサービス層60cは、オペレーティングシステム18a上で作動するアプリケーションにより使用または共有できるサービスを含み、該サービスには、オペレーティングシステム18aの一部であるサービスが含まれる。詳細には、OSサービス層60cは、OSサービス62と、サードパーティーサービス66とを含む。OSサービス62は、(図4に示される)オペレーティングシステム18aの一部である。OSサービス62は、デバイスドライバー62aと、グラフィックス・アプリケーションプログラミングインターフェース(API)62bと、オーディオミキサーAPI62cと、ファイルシステム62dとを含む。グラフィックスAPI62bは、例えば、視覚表示装置26を用いることを、システム10に可能にさせる。オーディオミキサーAPI62cは、オーディオ出力サブシステム27を用いることを、システム10に可能にさせる。ファイルシステム62dは、記憶装置12bを用いることを、システム10に可能にさせる。デバイスドライバー62aは、入力装置28とのローレベル通信を処理し、通常は、システム10の構成要素がこのようなローレベル通信を管理する必要がないようにし、その一方で、該デバイスドライバー62aは、ハイレベル通信のためのゲートウェイとしての機能を果たす。
サードパーティーサービス66は、オーディオシンセサイザー66aを含む。オーディオシンセサイザー66aは、MIDIストリームを読み取ることができ、かつ、該MIDIストリームを、オーディオ出力サブシステム27を経て、オーディオとして表すことができる。
〈クラスおよびインターフェース〉
以下、図6Aを参照すると、システム論理18は、ソフトウェアオブジェクトを定義するクラスを含む。システム論理18は、クラス内で実施されるインターフェースをさらに含む。概略的に、これらのクラスは、動き(behaviors)および特性(properties)を指定する。クラス定義は、システム論理18のようなオブジェクト指向ランタイムプロセスがオブジェクトを生成するために十分な情報を提供する。生成されたオブジェクトは、クラスの一例であり、かつ、このクラスに属するものとされる。クラスに属するオブジェクトは、このクラスの動きおよび特性を実施する。インターフェースは、動きの集合を指定する。クラスは、インターフェースの実施を定義する。通常は、クラス、および、このようなクラスからのオブジェクトの両方が、インターフェースを実施するものとされる。
インターフェースの使用法の1つは、共通の動き一式を標準化することである。様々な型のオブジェクトは、各々が、同じインターフェースを実施することができる。このことは、このような異種のオブジェクトの操作を簡略化するが、その理由は、共通のインターフェースが一貫性を義務づけるためである。さらに、Java(登録商標)のような幾つかのオブジェクト指向言語において、インターフェースを実施するオブジェクトについては、そのインターフェースの実施を経て、全体としてのオブジェクトへの参照符号(reference)とは別個のものとして参照符号を付けることができる。
この説明およびこれらの図面は、オブジェクトに焦点を当てている。このようなオブジェクトのクラス定義は、システム論理18にとって利用可能であるものとして理解される。
システム論理18は、トップレベルオブジェクト70aと、動的オブジェクト70bと、インターフェース70cとを含む。トップレベルオブジェクト70aは、演奏オブジェクト72と、VIマネージャーオブジェクト74と、全体的伴奏オブジェクト76と、演奏プールオブジェクト78と、周辺マネージャーオブジェクト79とを含む。概略的に、トップレベルオブジェクト70aは、システム10が初期化される場合に生成されるオブジェクトを定義する。動的オブジェクト70bは、仮想楽器オブジェクト80を含む。インターフェース70cは、演奏タイマーインターフェース84と、トランスポートインターフェース86とを含む。
〈システムの動き〉
以下、図6Bを参照すると、システム論理18は、システムの動き(system behavior)90を含む。概略的に、システムの動き90は、ユーザー入力に応答して、マルチパートファイル14を選択するための、かつ、関連づけられた実況的演奏を再生するための手続きを含む。
システムの動き90は、システム10のオブジェクトおよび設定を初期化する(プロセス92)。いったん、ユーザー16が標準化演奏を選択すると(プロセス90a)、システムの動き90は、後述するように、対応するマルチパートデータファイル14を選択し、かつ、関連づけられたオブジェクトを準備する(プロセス94)。いったん、ユーザー16が対話すべきパートを選択すると(プロセス90b)、システムの動き90は、対応する仮想楽器オブジェクト80を構成設定する。次に、ユーザーは再生を開始し(プロセス90c)、かつ、システムの動き90は、実況的対話型再生(live interactive playback)プロセス98を開始する。
〈システムの初期化〉
以下、図6Cを参照すると、システムの初期化92は、例えば、プロセッサ12cにより実行するためのプレイヤー20をオペレーティングシステム18aがロードする場合にプレイヤー20を開始すること(プロセス92a)を含む。例えば、プレイヤー20は、ユーザー16がマウス入力装置28と、プレイヤー20のためのアイコンをダブルクリックするために視覚表示装置26に示されるグラフィカルユーザーインターフェース(GUI)とを用いる場合に開始することができる。
次に、システムの初期化92は、演奏オブジェクト72を作成する(プロセス92b)。後述するように、VIマネージャーオブジェクト74が周辺マネージャーオブジェクト79を作成して仮想楽器オブジェクト80の作成および動作を調和させるように役立てることを除いては、演奏オブジェクト72が、他のトップレベルオブジェクト70aを作成かつ初期化する。
システムの初期化92は、アプリケーションウィンドウ100を立ち上げる(launch)(プロセス92c)。
〈演奏〉
概略的に、演奏オブジェクト72は、標準化演奏15の実況的演奏を示し、かつ、実況的演奏を管理するための特性および動きを含む。演奏オブジェクト72は、第1の例示すべきトップレベルオブジェクト70aである。演奏オブジェクト72は、他のトップレベルオブジェクト70aを立ち上げる。
以下、図7Aを参照すると、演奏オブジェクト72は、子オブジェクトの作成(child object creation)72cのためのプロセスを含む。演奏オブジェクト72は、演奏すべき標準化演奏15を指定するソング参照符号72gのような特性をさらに含む。
子オブジェクトの作成72cは、演奏オブジェクト72が作成される場合に呼び出される。子オブジェクトの作成72cは、VIマネージャーの立ち上げ(launch)72d、伴奏の立ち上げ72e、および、演奏プールの立ち上げ72fのようなプロセスを含む。VIマネージャーの立ち上げ72dは、VIマネージャーオブジェクト74を作成する。伴奏の開始72eは、全体的伴奏オブジェクト76を作成する。演奏プールの立ち上げ72fは、演奏プールオブジェクト78を作成する。演奏オブジェクト72により作成されるこれらのオブジェクト(VIマネージャーオブジェクト74、全体的伴奏オブジェクト76、および、演奏プールオブジェクト78)の各々は、該演奏オブジェクト72にとって個別のものである。
演奏オブジェクト72は、図15Aおよび図15Bをそれぞれ参照して説明するトランスポートインターフェース86をさらに実施する。
〈アプリケーションウィンドウ〉
以下、図8Aを参照すると、プレイヤー20は、オペレーティングシステム18aにより管理されるGUI内に、アプリケーションウィンドウ100を有する。アプリケーションウィンドウ100は、制御エリア100aを含む。ユーザー16は、制御エリア100aと対話して、システム10上で演奏可能な標準化演奏15のリスト100dから、標準化演奏15を選択する。リスト100dは、各々の利用可能な標準化演奏15のために、対応するデータファイル14の(図2に示される)ソング情報36に記憶された情報を表示する。ユーザー16は、GUIを経て、リスト100dにアクセスし、かつ、該リスト100dをナビゲートする。リスト100dは、遠隔の音楽サーバー30から既にダウンロードされたデータファイル14のための標準化演奏15を示すことができる。さらに、リスト100dは、遠隔の音楽サーバー30から利用可能なデータファイル14のための標準化演奏15を含むことができる。
アプリケーションウィンドウ100は、ソング情報表示100bと、ユーザーエリア領域100cとをさらに含む。ソング情報表示100bは、現在選択されている標準化演奏15についてのソング情報36に記憶された情報を表示する。ユーザーエリア領域100cは1つ以上のユーザーエリア102を含み、該ユーザーエリア102の各々は、ユーザー16により演奏可能なパートに対応する。実況的演奏中に、カラオケシステム10と対話する各々のユーザーがパート15cと一対にされる場合に、このようなユーザー16の各々は、自分のパートにとって適切な視覚的フィードバックを、自分専用のユーザーエリア102において受信する。
〈周辺マネージャー〉
以下、図8Bを参照すると、周辺マネージャーオブジェクト79は、装置の発見79a、装置カタログサービス79b、および、ドライバー管理79eのようなプロセスを含む。周辺マネージャーオブジェクト79は、入力装置カタログ79cのような特性をさらに含み、該入力装置カタログ79cは、入力装置の説明79dを含む。
装置の発見79aは、クライアント装置12に結びつけられた入力装置28を発見するために、ランタイムにおいて呼び出される。装置の発見79aは、このような入力装置28についての情報を、入力装置の説明79dに記憶する。装置カタログサービス79bは、入力装置カタログ79cの内容を、仮想楽器オブジェクト80のような他のオブジェクトにとって利用可能にする。ドライバー管理79eは、(図5に示される)デバイスドライバー62aと対話して、入力装置28と通信する。
〈VIマネージャーオブジェクト〉
概略的に、VIマネージャーオブジェクト74は、仮想楽器オブジェクト80の集合を管理する。通常は、このような仮想楽器オブジェクト80の各々は、標準化演奏15のオーディオコンテンツの別個のパートを示す。
以下、図9Aを参照すると、VIマネージャーオブジェクト74は、仮想楽器の作成74aおよび子オブジェクトの作成74bのようなプロセスと、ロードプロセス104とを含む。VIマネージャーオブジェクト74は、仮想楽器オブジェクトの集合74dのような特性をさらに含み、該仮想楽器オブジェクトの集合74dは、VIマネージャーオブジェクト74により作成された各々の仮想楽器オブジェクト80のための参照符号74eを含む。
VIマネージャーオブジェクト74は、システムの初期化92中に例示される。自動的に例示されると、VIマネージャーオブジェクト74は、子オブジェクトの作成74bを実行する。子オブジェクトの作成74bは、周辺マネージャーオブジェクト79を例示する(プロセス74c)。後述するように、ロードプロセス104は、ユーザー16がソング15aをファイル選択94の一部として選択する場合に発生する。
以下、図9Bを参照すると、ロードプロセス104は、ファイル14内のVIプール40を探す(プロセス104a)。次に、ロードプロセス104は、VIプール40内のパートチャンク42を探す(プロセス104b)。ロードプロセス104は、マルチパートデータファイル14を検査して、どの仮想楽器を生成する必要があるのかを判断する。詳細には、ロードプロセス104は、各々のパートチャンク42の(図3に示される)情報チャンク44を走査する(プロセス104c)。ロードプロセス104は、現在のパートチャンク42を指定する参照符号を発見し(プロセス104d)、かつ、このパートチャンク42に対応するための仮想楽器オブジェクト80がこの参照符号により例示される場合に、この参照符号を伝える(プロセス74a)。ロードプロセス104は、新たな仮想楽器オブジェクト80に対する参照符号を、集合74dにさらに加える(プロセス104e)。ロードプロセス104は、VIプール40内の各々のパートチャンク42について(プロセス104b)をループし、その後に終了する。
〈ファイル選択〉
以下、図10Aを参照すると、ユーザーは、標準化演奏15を選択する(図6Bに示されるプロセス90a)。ファイル選択94は、対応するデータファイル14を突き止める(手続き94a)。ファイル選択94は、データファイル14を指定するファイル参照符号を、演奏オブジェクト72へ伝える(手続き94b)。例えば、ファイル参照符号は、(図5に示される)ファイルシステム62d内のファイル名であり得る。ファイル参照符号を用いて、演奏オブジェクト72は、演奏プールオブジェクト78に、データファイル14をロードさせる(手続き94c)。演奏オブジェクト72は、ロードプロセス104を用いて、ロードすべき自身の子オブジェクトを指示する(手続き94d)。
遠隔の音楽サーバー30のデータベース上で利用可能な標準化演奏15を実行することをユーザー16が希望する場合に、または、標準化演奏15をリスト100dに加えることを管理者が希望する場合に、対話型カラオケシステム10は、サーバー30から適切なマルチパートデータファイル14をダウンロードする。
〈パート選択〉
以下、図10Bを参照すると、利用可能な仮想楽器が、アプリケーションウィンドウ100に表示されるリストの形式で、ユーザー16に提示される。パート選択96は、アプリケーションウィンドウ100内のこのリストおよび関連づけられたGUI制御によって、ユーザーによる対話に応答する。概略的に、パート選択96は、演奏すべきパートを選択することを、0人以上のユーザー16に許容する。パートと一対にされるユーザー16が存在しなければ、システム10は、標準化演奏15を表すために、ガイドトラック48bを用いることができる。多くのユーザー16がパートと一対にされれば、仮想バンドが作成される。
ユーザーがパートの演奏を希望していることを示せば(プロセス96a)、パート選択96は、対応する仮想楽器オブジェクト80を対話型にする(プロセス96b)。次に、パート選択96は、GUIを用いて、入力装置28を選択するように(プロセス96c)、かつ、サウンドフォント39を選択するように(プロセス96d)、ユーザーに催促する。パートチャンク42は、型44bから推論できるデフォルトの入力装置28とサウンドフォント39とを有しているので、プロセス96c,96dは任意的なものであることに留意されたい。プロセス96dは、デフォルトのサウンドフォント39に上書きすることを、ユーザーに許容する。プロセス96cの例は、ユーザー16がドラムパートを演奏するためにギターピック28aを選択することである。
ユーザーがパートの演奏を希望しないことを示せば(プロセス96a)、パート選択96は、対応する仮想楽器オブジェクト80を非対話型にする(プロセス96e)。パート選択96は、利用可能な入力装置28の数に従って、パートの演奏を選択するユーザー16の数だけ、これらの選択を反復する(プロセス96f)。
〈再生〉
以下、図7Bを参照すると、ユーザー16は、実況的対話型再生プロセス98を開始するように、システムに命令する(プロセス90c)。実況的対話型再生プロセス98は、再生処理72aを開始するように、演奏オブジェクト72に命令する(プロセス98a)。次に、再生処理72aは、ユーザー入力処理80aを開始するように、各々の仮想楽器オブジェクト80に命令する(プロセス98b)。さらに、再生処理72aは、非対話型再生76aを開始するように、全体的伴奏オブジェクト76に命令する(プロセス98c)。仮想楽器オブジェクト80および全体的伴奏オブジェクト76は、標準化演奏15が終了するかまたはユーザー16により中断されるまでは、実況的演奏(プロセス98d)中において、別々に動作する。
〈仮想楽器オブジェクト〉
以下、図11Aを参照すると、仮想楽器オブジェクト80は、ユーザー入力処理80a、パートプレイヤー80b、および、キュー表示80kのようなプロセスを含む。仮想楽器オブジェクト80は、マッチングタグ80f、周辺マネージャー参照符号80g、演奏プール参照符号80h、および、演奏プールオフセット80iのような特性をさらに含む。
仮想楽器オブジェクト80は、全体的伴奏オブジェクト76上の演奏タイマーインターフェース84に対する参照符号を有する。仮想楽器オブジェクト80は、図14Aおよび図14Bをそれぞれ参照して説明するトランスポートインターフェース86をさらに実施する。
仮想楽器オブジェクト80は、対話型である(すなわち、実況的演奏中に、ユーザーによる入力刺激に応答する)。ユーザー入力処理80aは、これらの対話を、これらの刺激とキュートラック48c内の符号化されたデータの催促とを相関させながら処理する。周辺マネージャー参照符号80gは、入力装置28との通信を可能にする周辺マネージャーオブジェクト79を指定する。
仮想楽器オブジェクト80は、キュー表示80kを経て、視覚的フィードバックをユーザー16に提示する。
マッチングタグ80fは、仮想楽器オブジェクト80とともに用いるために推奨される音楽的入力装置28”の型を指定する。入力装置28は、(図8Bに示される)入力装置カタログ79c内に示される。
仮想楽器オブジェクト80は、演奏プールオブジェクト78を経て、(図15Cに示される)演奏トラック48aと、他のトラックとを読み取る。演奏プール参照符号80hおよび演奏プールオフセット80iは、関連演奏トラック48aの位置を指定する。
パートプレイヤー80bは、対話型再生プロセス80cと、充填プロセス80dとを含む。対話型再生プロセス80cは、演奏トラック48aのオーディオコンテンツを表し、かつ、(このようなコンテンツが存在する場合には)ローカル伴奏トラック48eと、映像トラック48fとを表す。充填プロセス80dは、ガイドトラック48bと、DAガイドトラック48gとを表す。ユーザーが演奏するために選択するパート15cとは無関係に、対話型カラオケシステム10は、非演奏(un-played)パート15cを持たない実況的演奏を表すことができるが、その理由は、充填プロセス80dが、欠落している演奏を充填するためである。
実況的演奏中に、ユーザー16は、入力刺激を、これらの仮想楽器入力装置28の1つ以上に供給する。これらの入力刺激は、1つ以上の入力信号を生成し、該入力信号の各々は、仮想楽器入力装置28の1つに対応する。ユーザー16により供給される入力刺激の形式は、入力装置28およびユーザー16が演奏している仮想楽器の型によって変動する。(図4に示される)エレキギターピック28aを利用するパートについて、ユーザー16は、通常は、仮想ギターピック28aを固い表面に強打することにより、入力刺激を供給する。電子ドラムパッド28dを用いる打楽器パートについて、ユーザー16は、通常は、固い物体によってドラムパッドを打つことにより、入力刺激を供給する。ボーカルパートについて、ユーザー16は、マイクロフォン28bに対して歌う。
パートプレイヤー80bは、演奏トラック48a内で符号化されたオーディオコンテンツに従って、特定の仮想楽器オブジェクト80により受信された入力信号を、オーディオ出力のためのノートにマッピングする。しかしながら、ユーザー16は、これらの入力刺激を、タイミングインデックスよりも時間的に前に、または、後に供給することができる。あるいは、ユーザー16は、オーディオコンテンツが指定する様々な数の入力刺激を供給することができる。従って、各々のピッチ制御インデックス96のために、パートプレイヤー80bは時間ウィンドウを決定し、該時間ウィンドウ中において、対応する仮想楽器から受信されたあらゆる入力刺激は、その期間にわたって、演奏トラック48aのオーディオコンテンツにマッピングされる。例えば、ユーザー16が仮想ギターピック28aを時間ウィンドウ中に3回鳴らせば(各々の鳴りが入力刺激である)、パートプレイヤー80bは、対応するオーディオコンテンツの3つのサンプルを、サステインをかけられた連続的なサウンドが該オーディオコンテンツによりこの時間中に指定される場合であっても、演奏する。このことは、即興演奏すること、および、自分たちの演奏をカスタマイズすることを、ユーザー16に許容する。
ユーザーにより演奏される特定のノートのピッチを制御することの他に、パートプレイヤー80bは、各々の仮想楽器の音響的特徴を、特定の仮想楽器のためのサウンドフォント39に従って設定する。
ボーカルが対話型カラオケシステム10による処理も何も必要とせずに簡単に再生される一方で、非ボーカル(non-vocal)仮想楽器オブジェクト80(例えば、ギター、ベース、または、ドラムを示すもの)に供給される入力刺激は、これらの入力刺激の各々のために、特定のピッチとタイミングと音色とを各々が有する1つ以上のノートを演奏できるように処理される。演奏トラック48aは、これらの入力刺激の各々を特定のノートまたはノート一式にマッピングするために必要な情報を提供する。
〈VIツリー〉
以下、図11Bを参照すると、仮想楽器オブジェクト80は、オブジェクトの引き継ぎ(inheritance)を支援する。仮想楽器オブジェクト80についてのクラスにおいて表現されるような仮想楽器の概略的な特徴については、サブクラスにより引き継ぐことができ、これらのサブクラスは、これらの特徴を自身の必要に応じて純化かつカスタマイズし、かつ、。例えば、VIボーカルクラス111がマイクロフォンインターフェースプロセス111aを含み得る一方で、VIドラマーオブジェクト112はスティックインターフェースプロセス112aを含み、かつ、VIストラマー(strummer)オブジェクト114はピックインターフェースプロセス114aを含む。これらのインターフェースプロセス110a,112a,114aの各々は、そのクラスにとって独自のものである。
仮想楽器クラス110のサブクラスは、独自のサブクラスを有し得る。例えば、VIベース116およびVIギター118は、各々が、VIストラマーからの引き継きを行う。
〈キュー表示〉
以下、図12Aを参照すると、キュー表示82は、実況的演奏中に、入力刺激をユーザー16に催促する。キュー表示82は、キュートラック48c内のタイミングインデックスに従って、催促をユーザーエリア102に表す。これらのタイミングインデックスは、仮想楽器入力装置28および演奏されている仮想楽器の型に応じて、形式的に変動する。例えば、仮想楽器入力装置28が弦の入力装置28または打楽器の入力装置28であれば、タイミングインデックスはスパイク122として表される。各々のスパイク122は、ユーザー16が入力刺激を仮想楽器入力装置28に供給すべき時点を、図式的に表示する。この時間は、キューイング領域102b内における、軸102cに沿ったスパイク122の位置により視覚的に示される。このキュートラック48cは、2000年2月17日に出願され、2001年1月16日に発行され、かつ、この参照により開示に含まれる"System and Method for Variable Music Annotation"という題目の米国特許第6,175,070B1号の主題である。
ユーザー16が入力刺激を供給すべき時点を示すのみであるスパイク122の他に、または、該スパイク122の代わりに、キュー表示82は、演奏されているノートのピッチに関する情報を、楽譜トラック48dにより提供されるような譜表(図示せず)またはノートベースの(note-based)音楽的注釈の形式で表示することができる。例えば、キュー表示82は、和音表記102eまたは(図12Bに示される)タブラチュア102f(または、102g)を表すことができる。
キュー表示82は、スパイク122を、時間軸102cと整列されるダブルスパイク122aとして、キューイング領域102bの両側に表すことができる。あるいは、キュー表示82は、スパイク122を、シングルスパイク122bとして、キューイング領域102bの一側に表すことができる。
他の代替案は、キューイング領域102bにおいて対向する側にそれぞれ存在するシングルスパイク122bからなる2つのグループである。この場合に、最初のグループのシングルスパイク122bはキューを提供する一方で、他方のグループのシングルスパイク122bは、実況的演奏中にユーザー16により供給される実際の入力刺激のタイミングを示す。従って、キューイングスパイク122bおよび刺激スパイク122bの相対的位置は、キュータイミングに対するユーザー入力の精度に関して、図式的フィードバックを供給する。
以下、図12Bを参照すると、スパイク122はキューイング領域102b上の固定位置にある一方で、スイーパー(sweeper)102hは、キューイング領域102bを左から右へ横断して通る。あるいは、図12Aを参照すると、キューイング領域102bおよびその内容は、左へスクロールすることもできる。後者のスキームにおいて、各々の催促のタイミングは、固定のタイミングインジケータ102iの下を通過する対応スパイク122により示される。
ボーカルパートの実況的演奏について、キュー表示82は、歌詞によって、ユーザー16に催促を行うことができる。ボーカルパートについて、キュートラック48cにより提供されるタイミングインデックスは、このような歌詞を、各々の言葉または語句が歌われるべき特定の時点を示すタイミング情報とともに含む。キュー表示82は、スイーパー102hまたはタイミングインジケータ102iと調和して、各々の言葉または語句を、各々の言葉が歌われるべき特定の時点において、強調表示される歌詞102kとして、順次的に表すことができる。
キュー表示82は、名前102aをキューイング領域102bに表す。名前102aは、通常は、(図3Bに示される)情報チャンク44内に提供された情報に対応して、パートについて説明するテキストを含む。
〈全体的伴奏〉
実況的演奏は、全体的伴奏からの音楽的命令からなる少なくとも1つのトラックを必要とする。全てのパートが対話型である(すなわち、可聴的には伴奏されない)場合であっても、演奏は、マスタータイミング制御を必要とする。
以下、図13Aを参照すると、全体的伴奏オブジェクト76は、伴奏ロードプロセス120および非対話型再生プロセス76aのようなプロセスをさらに含む。全体的伴奏オブジェクト76は、伴奏プール参照符号76bおよびマッチングタグ76cのような特性をさらに含み、該伴奏プール参照符号76bは、演奏プールオブジェクト78を経て、データファイル14内の伴奏プール38を突き止め、かつ、該マッチングタグ76cは、サウンドフォント39を指定し、仮想楽器オブジェクト80のマッチングタグ80fと類似したものである。しかしながら、仮想楽器オブジェクト80のマッチングタグ80fは互換性の入力装置28を指定する一方で、マッチングタグ76cはこれを行わない。(全体的伴奏オブジェクト76は、非対話型パートを演奏するので、入力装置28についての情報を必要としない。)
非対話型再生プロセス76aは、トラックチャンク38aの内容を表し、かつ、実況的演奏のためのマスタータイミングパルスを供給する。
全体的伴奏オブジェクト76は、図14Aおよび図14Bをそれぞれ参照して説明する演奏タイマーインターフェース84およびトランスポートインターフェース86をさらに実施する。
以下、図13Bを参照すると、伴奏ロードプロセス120は、トラックチャンク38aから、音楽的内容をロードする(プロセス120a)。次に、伴奏ロードプロセス120は、ソフトウェアシンセサイザー66aと対話して、サウンドフォント39によってソフトウェアシンセサイザー66aの準備を行う(プロセス120b)。次に、伴奏ロードプロセス120は、DAトリガーチャンク38cのうちの少なくとも最初の部分を読み取る(プロセス120c)。次に、伴奏ロードプロセス120は、オーディオ出力サブシステム27のオーディオバッファを、DAチャンク38dからのMP3ファイルの最初のサンプルが存在すれば該最初のサンプルによって充填する(プロセス120d)。この充填は、実況的演奏を開始するためのユーザー16からの信号に先立って行われる。バッファの充填は、信号が発生する場合の応答を向上させる。
〈演奏タイマーインターフェースおよびトランスポートインターフェース〉
概略的に、マルチパートデータファイル14のマルチパートの同期再生は、タイミングを調和させる概念を必要とする。
以下、図14Aを参照すると、演奏タイマーインターフェース84は、タイミング信号の交換を許容する。詳細には、演奏タイマーインターフェース84は、演奏タイマーインターフェース84を実施するオブジェクト間におけるクロックパルスの伝達(dissemination)を許容する。
演奏タイマーインターフェース84は、パルス伝達プロセス84aと、パルス受信プロセス84bとを含む。パルス受信プロセス84bは、準拠的な(compliant)オブジェクトに、時限式イベントの通知を、マスタータイマーと同期して受信させる。全体的伴奏オブジェクト76は、マスタータイマーとしての機能を果たす。全体的伴奏オブジェクト76は、トラックチャンク38a内のタイミング情報に基づいてクロックパルスを生じさせ、かつ、マスタータイミング信号を用いる他のオブジェクト(演奏オブジェクト72および仮想楽器オブジェクト80を含む)へ信号を送るためにパルス伝達プロセス84aを用いる。
時限式であり、かつ、パルス伝達プロセス84aにより伝達されるイベントは、実況的演奏の開始および停止、小節(measures)の境界および拍子(beats)のような、パルスイベントおよび音楽的イベントの両方を含む。
以下、図14Bを参照すると、トランスポートインターフェース86は、マルチパートデータファイル14の再生速度を制御するためのプロセスについて説明する。トランスポートインターフェース86は、再生86aと、停止86bと、早送り86cと、巻き戻し86dとのためのプロセスを含む。トランスポートインターフェース86は、パートの同期再生を調和させることを、オブジェクトに許容する。詳細には、演奏オブジェクト72および全体的伴奏オブジェクト76は、仮想楽器オブジェクト80による同期再生の速度を制御することができる。
〈演奏プール〉
以下、図14Cを参照すると、演奏プールオブジェクト78は、説明78a、復元78b、および、ディレクトリサービス78cのようなプロセスを含む。ディレクトリサービス78cは、発見プロセス78dと、ナビゲーションプロセス78eと、検査プロセス78fとを含む。演奏プールオブジェクト78は、ディレクトリ構造78gおよび理論的(abstract)アクセスポイント78hのような特性をさらに含む。
演奏プールオブジェクト78は、ディレクトリサービス78cを、データファイル14内に提供する。換言すれば、演奏プールは、システム論理18のオブジェクトと、記憶装置12bまたはサーバー30内のデータファイル14のオブジェクトとの間の調停を行う。演奏プールオブジェクト78は、理論的アクセスポイント78hをデータに提供し、こうして、例えば、仮想楽器オブジェクト80がデータファイル14のファイル構造を検査する必要がないように、または、データファイル14の位置を認識する必要がないようにする。演奏プールオブジェクト78は、様々な理論的アクセスポイント78hを、様々なクライアントオブジェクトに提供することができる。
概略的に、ディレクトリサービス78cは、他のオブジェクトが用いるために公表されるプロセスである。発見プロセス78dは、チャンク50のような再帰的データ構造78gを発見する。ナビゲーションプロセス78eは、このようなデータ構造78g間をナビゲートすることを、オブジェクトに許容する。検査プロセス78fは、データ構造78gを閲覧しかつこれらの内容にアクセスすることを、オブジェクトに許容する。
説明78aおよび復元78bは、データファイル14の記憶フォーマットを、システム論理18内で用いるために利用可能なフォーマットの形に転換する。概略的に、演奏プールオブジェクト78は、暗号化と、データファイル14の配信機構と、データファイル14の位置と、データファイル14の内部ファイル構造とについての情報から、他のオブジェクトを保護する。
〈代替的なMIDIマッピング〉
MIDIプロトコルは、ノートイベントデータを配信できる時間符号化されたストリームを、制御ストリームのような他の特徴とともに定義する。ノートデータは、0〜127までの範囲の整数と仮定する。従来的に、この範囲内における各々のノートは、西洋音楽の音階(scale)における別個の音符を示し、従来的なピアノキーボードの演奏および殆どの音楽演奏の範囲をほぼ包含する。この慣例によれば、ノートイベントストリーム内のデータ値は、シンセサイザー66aにより表すためのノートを示す。さらに、この慣例によれば、この範囲の全体にわたって、ノートイベント値1はノートイベント値0よりも高いピッチであり、値2は値1よりも高いピッチである、などである。さらなる慣例は、歌詞のような非ノート(non-note)情報または制御情報を、MIDIを経て、制御ストリーム内で伝えることができるという点である。
DAトリガーチャンク38cのアーキテクチャーは、MIDIを、時間符号化された通信プロトコルとして、より一般的に用いる。ノートイベントストリーム内の値は、意味的に(semantically)、非ノート的な意味にマッピングされる。換言すれば、DAトリガーのアーキテクチャーは、非ノートデータを伝えるために、MIDIノートイベント値を用いる。詳細には、ノートイベントストリーム内の値は、ディジタルオーディオクリップに対するインデックスである。ノートイベント値についての慣例的な順番づけ(すなわち、ノートイベント値の上昇がピッチの上昇に対応するという概念)は、この取り組みの下では任意的なものである。例えば、このMIDIノートイベントストリームの代替的な使用法において、対応するディジタルオーディオクリップがファイル14のDAチャンク38d内に現れる順番をインデックスが示すように、値を選択することができる。他の順番づけも可能であり、または、ノートイベント値を、これらの相対的な順番に何の意味も割り当てずに用いることもできる。
以下、図15Aを参照すると、マッピングプロセス130は、名目上の(nominal)MIDIノートイベント値を、ディジタルオーディオクリップのような非ノート値にマッピングする。明瞭さのために、この説明は、“MIDIノートイベント値”という用語を用いるが、その理由は、これが、MIDIストリームのこの部分に対する従来的な用語であるためである。しかしながら、この文脈における“ノートイベント値”という用語については、必ずしも音符情報を伝達するとは限らないものとして理解すべきである。この説明は、MIDIノートイベント値が名目上においてのみ言及される旨を強調するために、“名目上”という語を付与している。実際に、マッピングプロセス130の利点の1つは、MIDIノートイベント値を音符とする慣例的な解釈により制約されないという点である。
マッピングプロセス130は、MIDIストリームとともに用いるための、オーディオクリップに対する、名目上のノートイベント値のマッピングを受信する(プロセス130a)。このマッピングにおける名目上のノートイベント値の各々は、別個のオーディオクリップに対応する。マッピングプロセス130は、MIDIストリームから、名目上のノートイベント値を読み取る(プロセス130b)。マッピングプロセス130は、DAトリガーチャンク38cに従って、この値を、オーディオクリップのインデックスのような非ノート値にマッピングする(プロセス130c)。マッピングプロセス130は、ストリームの終わりまで、ストリームから後続の値を読み取るために戻る(プロセス130d)。次に、マッピングプロセス130は、名目上のMIDIノートイベント値を、対応するクリップ参照符号に置き換えて、MIDIストリームを出力する(プロセス130e)。
以下、図15Bを参照すると、リアルタイムマッピングプロセス132は、出力タイミングを除いては、前述のマッピングプロセス130と類似したものである。リアルタイムマッピングプロセス132は、マッピングプロセス130の出力段階(130e)を省略している。読み取られた値をオーディオクリップ参照符号にマッピングした後に、かつ、次の読み取りを反復する前に、リアルタイムマッピングプロセス132は、現在の名目上のMIDIノートイベント値を、対応する現在のクリップ参照符号に置き換えて、MIDIデータを出力する(プロセス132a)。
以下、図16を参照すると、MIDIマッピング再生プロセス134は、名目上のMIDIノートイベント値のストリーム内におけるオーディオクリップ参照符号を再生するためのMIDIマッピングプロセスを含む。MIDIマッピング再生プロセス134は、MIDIストリームと、オーディオクリップに対するノート値のマッピングとを受信する(プロセス134a)。説明する実施例において、DAトリガーチャンク38cは、オーディオクリップに対する、名目上のノートイベント値の適切なマッピングを与える。次に、MIDIマッピング再生プロセス134は、リアルタイムマッピングプロセス132をMIDIストリーム上で用いて、オーディオクリップに対する参照符号のストリームを生じさせる(プロセス134b)。次に、MIDIマッピング再生プロセス134は、参照符号により指定されたオーディオクリップを表す(プロセス134c)。
〈代替的な実施例〉
マルチパートデータファイル14については、統一的な様式で転送されるものとして説明してきたが、これは例示的な目的のために過ぎない。各々のマルチパートデータファイル14は、単に、様々な構成要素(例えば、仮想楽器オブジェクト80および全体的伴奏オブジェクト76)からなる集合であり、該構成要素の各々は、様々な下位構成要素およびトラックを含む。従って、前述した統一的な様式の他に、これらの構成要素および/または下位構成要素についても、個々に、または、様々なグループの状態で、転送することができる。
さらに、説明した実施例において、データファイル14は、記憶媒体12b上の、または、共有記憶装置30a上のファイルである。しかしながら、データファイル14のフォーマットは、任意のディジタル記憶媒体に適用される。代替的な実施例において、データファイル14のフォーマットは、ネットワーク通信フローのようなストリーム内のディジタル情報を、または、クライアント装置12またはサーバー30のメインメモリ内のディジタル情報を組織化する。
パート符号化プロセス19は、対話型または非対話型に指定された各々のパート15cを備えた標準化演奏15を受信する(プロセス19a)。例えば、人間の管理者が、このような指定を与えることができる。
この実施例において、オペレーティングシステム18aは、ウィンドウズ(登録商標)95、ウィンドウズ(登録商標)NT4.0、または、他の互換性オペレーティングシステムである。
エンジンライブラリー22については、DLLとして説明してきたが、エンジンライブラリー22は、他の基準に従うソフトウェア構成要素であり得る。さらに、エンジンライブラリー22を、プレイヤー20から分離する必要はなく、統合することができる。
システム論理18については、システム論理を実行するクライアント装置12上に存在するものとして説明してきた。または、システム論理18については、多くの装置12にわたって分散させることができる。
ヘッダー32については、本体34に優先するものとして説明してきた。物理的レベルまたは論理レベルのいずれか、または、両方のレベルにおいて、データファイル14の構成要素の順番づけを他の状態に並べ替えることも可能である。
説明した実施例において、データファイル14は、1つの標準化演奏15を含む。または、データファイル14は、1つよりも多い標準化演奏15を含むことができる。他の代替案として、データファイル14は、標準化演奏15の断片(fractional)部分を含むことができる。例えば、第1データファイル14はソング15aを含むことができる一方で、第2データファイル14は補足的または代替的なパート15cを含むことができる。
説明した実施例において、データファイル14は、チャンク50を用いるフォーマットを有し、伴奏プール38とVIプール40とを含む本体34を有し、該伴奏プール38とVIプール40とは、さらなるチャンク50を含む。代替的な実施例において、データファイル14は、別のフォーマットにおける同じ論理実在物(logical entities)を有し得る。
説明した実施例において、クライアント装置12はパーソナルコンピュータである。他の装置12も可能である。
説明した実施例において、クライアント装置12は記憶装置12bを含む。または、記憶装置12bは、クライアント装置12に対して遠隔に存在し得る。
視覚表示装置26は、投影器または他の表示装置であり得る。
説明した実施例において、パートを演奏するために、ユーザーはパートを選択し、次に、システムは、サウンドフォントと入力装置とを自動的に選択する。代替的な実施例において、ユーザーは、パートのためのサウンドを様々な型の中から選択することができる。
説明した実施例において、シンセサイザー制御データは、0〜127という範囲の128個の別個の整数値のいずれかを取り得る名目上のMIDIノートイベント値である。代替的な実施例において、シンセサイザー制御データは非MIDIデータであり得る。他の代替的な実施例において、シンセサイザー制御データは、名目上のノートイベント値以外のMIDI値であり得るか、または、他の範囲の値を取り得る。概略的に、シンセサイザー制御データは、128個よりも多い(または、128個よりも少ない)別個の値を取ることが可能である。
説明した実施例において、ディジタルオーディオクリップは、常に始めから演奏される。代替的な実施例において、システム10は、ディジタルオーディオクリップのランダムアクセス再生を行うことができる。
説明した実施例において、マッピングプロセス130およびリアルタイムマッピングプロセス132は、名目上のノートイベント値を、オーディオクリップにマッピングする。しかしながら、概略的に、マッピングプロセス130およびリアルタイムマッピングプロセス132は、適切なマップを与えられた場合に、名目上のノートイベント値を、非ノートデータに転換する。換言すれば、マッピングプロセス130およびリアルタイムマッピングプロセス132は、各々が、MIDIを、汎用時間符号化通信プロトコル(general-purpose time-coded protocol)として用いることを可能にする。前記マップは、名目上のMIDIノートイベント値の従来的な音楽的意味を、非ノート的な意味に置き換える。
説明した実施例において、MIDIマッピング再生プロセス134は、リアルタイムマッピングプロセス132をMIDIストリーム上で用いる。代替的な実施例において、MIDIマッピング再生プロセス134は、リアルタイムマッピングプロセス132の代わりに、マッピングプロセス130を用いることができる。
説明した実施例は、システム論理18のアーキテクチャーにおいてオブジェクトを利用する。しかしながら、代替的な実施例において、説明したオブジェクトのデータおよびプロセスは、オブジェクト自体を用いずに類似的データの類似的処理を実行する符号または論理に含まれ得る。
本発明に関する多くの実施例について説明してきた。それでもなお、本発明の真意および範囲から逸脱することなく様々な修正を行うことができる旨が理解されるだろう。従って、他の実施例もまた冒頭の請求項の範囲内にある。
対話型カラオケシステムのブロック図である。 パート符号化プロセスのフローチャートである。 マルチパートデータファイルのブロック図である。 チャンクのブロック図である。 パートチャンクのブロック図である。 クライアント装置およびこれに接続された装置のブロック図である。 ソフトウェア層のブロック図である。 オブジェクトクラスおよびインターフェースのブロック図である。 システムの動きのフローチャートである。 システム初期化のフローチャートである。 演奏オブジェクトのブロック図である。 実況的対話型再生プロセスのブロック図である。 アプリケーションウィンドウの図である。 周辺マネージャーオブジェクトのブロック図である。 仮想楽器マネージャーのブロック図である。 VIマネージャーのロードプロセスのフローチャートである。 ファイル選択プロセスのフローチャートである。 パート選択プロセスのフローチャートである。 仮想楽器オブジェクトのブロック図である。 仮想楽器の引き継ぎの図である。 ユーザーエリアの第1図である。 ユーザーエリアの第2図である。 全体的伴奏のブロック図である。 全体的伴奏のロードプロセスのフローチャートである。 演奏タイマーインターフェースの図である。 トランスポートインターフェースの図である。 演奏プールインターフェースの図である。 マッピングプロセスのフローチャートである。 リアルタイムマッピングプロセスのフローチャートである。 MIDIマッピング再生プロセスのフローチャートである。
符号の説明
10 対話型カラオケシステム
12 クライアント装置
14 マルチパートデータファイル
15 標準化演奏
15a ソング
15b オーディオコンテンツ
15c パート
16 ユーザー
18 システム論理
20 プレイヤー
22 エンジンライブラリー
26 視覚表示装置
27 オーディオ出力サブシステム
28’ 入力装置
28”音楽的入力装置
30 サーバー
30a 共有記憶装置

Claims (14)

  1. 対話型再生のためのオーディオ演奏を符号化したデータ構造が、娯楽システム内のコンピュータによって読み取り可能に記録されている媒体であって、
    前記データ構造は、
    オーディオ演奏の対話型パートを前記娯楽システムがオーディオ演奏できるように符号化したデータの集合である仮想楽器プールと、
    オーディオ演奏の非対話型部分を前記娯楽システムが伴奏的にオーディオ演奏できるように符号化したデータの集合である全体的伴奏プールと
    を具備し、
    前記仮想楽器プールは、少なくとも一連のシンセサイザー制御データに符号化され、該シンセサイザー制御データ内の各データは、再生すべきオーディオコンテンツのディジタルサンプルを前記娯楽システムのオーディオ演奏中での該娯楽システムへの所定の入力に対応して指定されるものであり、
    前記全体的伴奏プールは、前記コンピュータに、前記対話型パートおよび前記非対話型部分が実行されるタイミングの基準となる信号を生成させるためのタイミング情報を含み、
    前記仮想楽器プールは、前記娯楽システムのオーディオ演奏中での該娯楽システムへの所定タイミングでの入力に対応して該娯楽システムに前記入力に応じた音を出力させるデータを有し、
    前記全体的伴奏プールは、前記娯楽システムのオーディオ演奏前に予め設定されている伴奏的な音を、該娯楽システムに出力させるデータを有し、
    前記データ構造は、
    前記仮想楽器プールのデータが前記娯楽システムによってオーディオ演奏されるときの再生速度を可変制御するデータを更に具備し、
    前記娯楽システムは、映像表示サブシステムを含み、かつ、前記データ構造は、前記対話型パートと関連づけられた一連の記憶されたタイミングキューを含み、
    前記仮想楽器プールは、ユーザーが仮想楽器を演奏することを補助するために、コンピュータに、前記タイミングキューの視覚表示を、映像表示システムを通して表示させる論理をさらに具備し、
    前記仮想楽器プールは、前記タイミングキューの視覚表示と、前記入力装置に実際に入力されたユーザー入力のタイミング表示とを、時間軸を示す所定方向に時間的または位置的に関連付けて前記映像表示システムを通して表示させる論理を有することを特徴とする媒体。
  2. 前記シンセサイザー制御データは、MIDIデータであることを特徴とする請求項1に記載の媒体。
  3. 前記ディジタルサンプルは、MP3クリップであることを特徴とする請求項1に記載の媒体。
  4. 前記全体的伴奏プールは、オーディオ演奏のオーディオコンテンツの非対話型パートを符号化することを特徴とする請求項1に記載の媒体。
  5. 前記仮想楽器プールは、サウンドフォントの集合を含み、各々のサウンドフォントは、前記娯楽システムへの入力に応じた演奏音を出力するためのパラメータを供給することを特徴とする請求項1に記載の媒体。
  6. 対話型再生のためのオーディオ演奏を符号化したデータ構造が、娯楽システム内のコンピュータによって読み取り可能に記録されている媒体であって、
    前記データ構造は、
    オーディオ演奏の非対話型パートを前記娯楽システムがオーディオ演奏できるように符号化したデータの集合である全体的伴奏プールと、
    オーディオ演奏の対話型パートを前記娯楽システムがオーディオ演奏できるように符号化したデータの集合である仮想楽器プールと
    を具備し、
    前記非対話型パートの一部分はシンセサイザー制御データとして符号化され、該非対話型パートの他の部分はオーディオコンテンツのディジタルサンプルとして符号化され、
    前記対話型パートは、符号化されたオーディオコンテンツを、少なくともシンセサイザー制御データ内に有し、該シンセサイザー制御データ内の各データは、合成すべき1つ以上の音符を指定し、または、再生すべきオーディオコンテンツのディジタルサンプルを指定し、
    前記仮想楽器プールは、前記娯楽システムのオーディオ演奏中での該娯楽システムへの所定タイミングでの入力に対応して該娯楽システムに前記入力に応じた音を出力させるデータを有し、
    前記全体的伴奏プールは、前記娯楽システムのオーディオ演奏前に予め設定されている伴奏的な音を、該娯楽システムに出力させるデータを有し、
    前記データ構造は、
    前記仮想楽器プールのデータが前記娯楽システムによってオーディオ演奏されるときの再生速度を可変制御するデータを更に具備し、
    前記娯楽システムは、映像表示サブシステムを含み、かつ、前記データ構造は、前記対話型パートと関連づけられた一連の記憶されたタイミングキューを含み、
    前記仮想楽器プールは、ユーザーが仮想楽器を演奏することを補助するために、コンピュータに、前記タイミングキューの視覚表示を、映像表示システムを通して表示させる論理をさらに具備し、
    前記仮想楽器プールは、前記タイミングキューの視覚表示と、前記入力装置に実際に入力されたユーザー入力のタイミング表示とを、時間軸を示す所定方向に時間的または位置的に関連付けて前記映像表示システムを通して表示させる論理を有することを特徴とする媒体。
  7. 前記シンセサイザー制御データは、MIDIデータであることを特徴とする請求項6に記載の媒体。
  8. 前記ディジタルサンプルは、MP3クリップであることを特徴とする請求項6に記載の媒体。
  9. 前記仮想楽器プールは、対話型パートのオーディオコンテンツと調和した入力が行われるように、表示装置上に催促を提示させるキューデータを含むことを特徴とする請求項6に記載の媒体。
  10. コンピュータ読み取り可能な媒体上に記憶されたプログラムであって、
    前記プログラムは、娯楽システム内のコンピュータ上で作動するためのものであり、
    前記娯楽システムは、オーディオ出力サブシステムと、入力装置と、メモリとを含み、
    前記メモリは、音楽演奏データ構造を記憶し、
    前記音楽演奏データ構造は、音楽演奏の対話型部分と、音楽演奏の伴奏的な非対話型部分とを有し、
    前記プログラムは、
    仮想マネージャーオブジェクトと、
    全体的伴奏オブジェクトと
    を具備し、
    前記仮想マネージャーオブジェクトは、コンピュータに、メモリに記憶された音楽演奏データ構造を読み取らせ、かつ、コンピュータに、特定の仮想楽器の音を示すデータを前記音楽演奏データ構造内に識別可能に配置させる仮想オブジェクトを生成させ、
    前記仮想オブジェクトは、コンピュータに、入力装置に入力されたユーザー入力のタイミングに従って、前記特定に仮想楽器の音を示すデータを、前記音楽演奏の対話型部分に配置させ、かつ、コンピュータに、該配置された音楽演奏の対話型部分を、オーディオ出力サブシステムを通して演奏させ、
    前記全体的伴奏オブジェクトは、コンピュータに、音楽演奏の伴奏的な非対話型部分を、オーディオ出力システムを通して演奏させ、
    前記仮想オブジェクトは、前記娯楽システムのオーディオ演奏中における前記入力装置への所定タイミングでの入力に対応して該娯楽システムに前記入力に応じた音を出力させるプログラムであり、
    前記非対話型部分は、前記娯楽システムのオーディオ演奏前に予め設定されている伴奏的な音を、該娯楽システムに出力させるプログラムであり、
    前記仮想マネージャーオブジェクトおよび前記全体的伴奏オブジェクトは、前記仮想オブジェクトによる前記音楽演奏の再生速度を可変制御することを、コンピュータに実行させるプログラムを有し、
    前記娯楽システムは、映像表示サブシステムを含み、かつ、前記記憶された音楽演奏データ構造は、音楽演奏の対話型部分と関連づけられた一連の記憶されたタイミングキューを含み、
    前記仮想オブジェクトは、ユーザーが仮想楽器を演奏することを補助するために、コンピュータに、前記タイミングキューの視覚表示を、映像表示システムを通して表示させる論理をさらに具備し、
    前記仮想オブジェクトは、前記タイミングキューの視覚表示と、前記入力装置に実際に入力されたユーザー入力のタイミング表示とを、時間軸を示す所定方向に時間的または位置的に関連付けて前記映像表示システムを通して表示させる論理を有することを特徴とするプログラム。
  11. 前記全体的伴奏オブジェクトは、コンピュータ上で前記非対話型部分および前記対話型部分が実行されるタイミングの基準となる信号であるマスタータイミング信号を、コンピュータに生成させるプログラムをさらに具備することを特徴とする請求項10に記載のプログラム。
  12. 前記娯楽システムは、複数の入力装置を含み、該複数の入力装置の1つは前記ユーザー入力が入力される入力装置であり、
    前記記憶された音楽演奏データ構造は、別個の楽器を各々が示す複数の別個の仮想楽器を識別し、
    前記仮想マネージャーオブジェクトは、コンピュータに、複数の前記仮想オブジェクトを生成させ、該複数の前記仮想オブジェクトの各々は、識別された複数の前記仮想楽器のうちの、対応する別個の仮想楽器の音を示すデータを使用して前記オーディオ出力サブシステムが演奏するように、コンピュータに実行させるプログラムであり、
    前記複数の仮想オブジェクトの各々は、前記コンピュータに、入力装置のうちの対応する1つからのユーザー入力タイミングに従って、前記特定に仮想楽器の音を示すデータを、音楽演奏の対話型部分の対応するパートに配置させ、かつ、前記コンピュータに、該配置された音楽演奏の対話型部分の対応するパートを、オーディオ出力サブシステムを通して演奏させることを特徴とする請求項10に記載のプログラム。
  13. 前記記憶された音楽演奏データ構造は、音楽演奏の非対話型部分の別個のパートを各々が示す複数のディジタルクリップと、一連のトリガー時点とを含み、該トリガー時点の各々は、タイミング情報を示し、かつ、前記ディジタルクリップのうちのどの1つを該タイミング情報内の識別された時間に演奏すべきか識別し、
    前記全体的伴奏オブジェクトは、娯楽システムに、複数のディジタルクリップのうちの識別された1つを、記憶された一連のトリガー時点により識別された通りの適切な時間に、オーディオ出力サブシステムを通して演奏させる論理を具備することを特徴とする請求項10に記載のプログラム。
  14. 前記オーディオ出力サブシステムは、シンセサイザーを含み、かつ、前記記憶された音楽演奏データ構造は、サウンドフォントを含み、
    前記伴奏オブジェクトは、オーディオ出力サブシステムの出力特性を制御するために、コンピュータに、記憶された音楽演奏データ構造からサウンドフォントを検索させる論理にして、かつ、コンピュータに、サウンドフォントをシンセサイザー内にロードさせる論理をさらに具備することを特徴とする請求項10に記載のプログラム。
JP2002580306A 2001-04-09 2002-04-09 対話型再生によるマルチパートオーディオ演奏を記憶する媒体 Expired - Fee Related JP4267925B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US28242001P 2001-04-09 2001-04-09
US28254901P 2001-04-09 2001-04-09
US28873001P 2001-05-04 2001-05-04
US28887601P 2001-05-04 2001-05-04
US09/900,289 US20020144588A1 (en) 2001-04-09 2001-07-06 Multimedia data file
US09/900,287 US20020144587A1 (en) 2001-04-09 2001-07-06 Virtual music system
PCT/US2002/010976 WO2002082420A1 (en) 2001-04-09 2002-04-09 Storing multipart audio performance with interactive playback

Publications (2)

Publication Number Publication Date
JP2004524580A JP2004524580A (ja) 2004-08-12
JP4267925B2 true JP4267925B2 (ja) 2009-05-27

Family

ID=27559565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002580306A Expired - Fee Related JP4267925B2 (ja) 2001-04-09 2002-04-09 対話型再生によるマルチパートオーディオ演奏を記憶する媒体

Country Status (2)

Country Link
US (1) US6924425B2 (ja)
JP (1) JP4267925B2 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7681034B1 (en) * 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US7196259B2 (en) 2002-01-11 2007-03-27 Yamaha Corporation Performance data transmission controlling apparatus and electronic musical instrument capable of acquiring performance data
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US20030188627A1 (en) * 2002-04-05 2003-10-09 Longo Nicholas C. Interactive performance interface for electronic sound device
WO2004027577A2 (en) * 2002-09-19 2004-04-01 Brian Reynolds Systems and methods for creation and playback performance
US20040194612A1 (en) * 2003-04-04 2004-10-07 International Business Machines Corporation Method, system and program product for automatically categorizing computer audio files
JP2004348012A (ja) * 2003-05-26 2004-12-09 Oki Electric Ind Co Ltd 携帯端末におけるカラオケシステム
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7373342B2 (en) * 2003-12-04 2008-05-13 International Business Machines Corporation Including annotation data with disparate relational data
US7442870B2 (en) * 2004-01-02 2008-10-28 Apple Inc. Method and apparatus for enabling advanced manipulation of audio
US7288712B2 (en) * 2004-01-09 2007-10-30 Yamaha Corporation Music station for producing visual images synchronously with music data codes
JP4453393B2 (ja) * 2004-02-26 2010-04-21 ヤマハ株式会社 音楽コンテンツを再生し得る電子音楽装置及びそのプログラム
US7624021B2 (en) * 2004-07-02 2009-11-24 Apple Inc. Universal container for audio data
US7227074B2 (en) * 2004-09-24 2007-06-05 Microsoft Corporation Transport control for initiating play of dynamically rendered audio content
US20120057842A1 (en) * 2004-09-27 2012-03-08 Dan Caligor Method and Apparatus for Remote Voice-Over or Music Production and Management
US9635312B2 (en) 2004-09-27 2017-04-25 Soundstreak, Llc Method and apparatus for remote voice-over or music production and management
US10726822B2 (en) 2004-09-27 2020-07-28 Soundstreak, Llc Method and apparatus for remote digital content monitoring and management
EP1646035B1 (en) * 2004-10-05 2013-06-19 Sony Europe Limited Mapped meta-data sound-playback device and audio-sampling/sample processing system useable therewith
US7673064B2 (en) * 2004-11-23 2010-03-02 Palo Alto Research Center Incorporated Methods, apparatus, and program products for presenting commentary audio with recorded content
WO2007053917A2 (fr) * 2005-11-14 2007-05-18 Continental Structures Sprl Procede de composition d’une œuvre musicale par un non-musicien
US20070119290A1 (en) * 2005-11-29 2007-05-31 Erik Nomitch System for using audio samples in an audio bank
US20070163428A1 (en) * 2006-01-13 2007-07-19 Salter Hal C System and method for network communication of music data
JP4557899B2 (ja) * 2006-02-03 2010-10-06 任天堂株式会社 サウンド処理プログラムおよびサウンド処理装置
KR20070080481A (ko) * 2006-02-07 2007-08-10 삼성전자주식회사 노래 가사를 이용하여 하이라이트 구간을 검색하는 장치 및그 방법
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
US20080056491A1 (en) * 2006-08-31 2008-03-06 Corevalus Systems, Llc Methods and Systems For Managing Digital Sheet Music on a Digital Sheet Music Display System
WO2008115311A1 (en) * 2007-01-18 2008-09-25 Virtual Venues Network, Inc. Method, system and machine-readable media for the generation of electronically mediated performance experiences
WO2008121650A1 (en) * 2007-03-30 2008-10-09 William Henderson Audio signal processing system for live music performance
AU2007202341A1 (en) * 2007-05-23 2008-01-10 Vella, John Portable Music Recording Device
US20090075711A1 (en) * 2007-06-14 2009-03-19 Eric Brosius Systems and methods for providing a vocal experience for a player of a rhythm action game
JP2011516907A (ja) 2008-02-20 2011-05-26 オーイーエム インコーポレーティッド 音楽の学習及びミキシングシステム
US8273976B1 (en) * 2008-11-16 2012-09-25 Michael Dalby Method of providing a musical score and associated musical sound compatible with the musical score
US8137201B2 (en) * 2009-01-09 2012-03-20 Microsoft Corporation Arrangement for building and operating human-computation and other games
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
AU2010268695A1 (en) * 2009-07-03 2012-02-02 Starplayit Pty Ltd Method of obtaining a user selection
EP2494432B1 (en) 2009-10-27 2019-05-29 Harmonix Music Systems, Inc. Gesture-based user interface
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
US8550908B2 (en) 2010-03-16 2013-10-08 Harmonix Music Systems, Inc. Simulating musical instruments
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
CA2802348A1 (en) 2010-06-11 2011-12-15 Harmonix Music Systems, Inc. Dance game and tutorial
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
WO2012051605A2 (en) 2010-10-15 2012-04-19 Jammit Inc. Dynamic point referencing of an audiovisual performance for an accurate and precise selection and controlled cycling of portions of the performance
JP2013178509A (ja) * 2012-02-07 2013-09-09 Yamaha Corp 電子装置、及び音声ガイド用プログラム
US9147382B2 (en) * 2012-11-27 2015-09-29 Capacitron, Llc Electronic guitar pick and method
US9857934B2 (en) 2013-06-16 2018-01-02 Jammit, Inc. Synchronized display and performance mapping of musical performances submitted from remote locations
US10741155B2 (en) * 2013-12-06 2020-08-11 Intelliterran, Inc. Synthesized percussion pedal and looping station
US11688377B2 (en) 2013-12-06 2023-06-27 Intelliterran, Inc. Synthesized percussion pedal and docking station
US9905210B2 (en) * 2013-12-06 2018-02-27 Intelliterran Inc. Synthesized percussion pedal and docking station
US9685096B2 (en) * 2015-01-05 2017-06-20 Fonglui Christopher Ng Guidance system for learning to play piano
US9842577B2 (en) 2015-05-19 2017-12-12 Harmonix Music Systems, Inc. Improvised guitar simulation
CN105023559A (zh) * 2015-05-27 2015-11-04 腾讯科技(深圳)有限公司 K歌处理方法及系统
GB2538994B (en) * 2015-06-02 2021-09-15 Sublime Binary Ltd Music generation tool
US9799314B2 (en) 2015-09-28 2017-10-24 Harmonix Music Systems, Inc. Dynamic improvisational fill feature
US9773486B2 (en) 2015-09-28 2017-09-26 Harmonix Music Systems, Inc. Vocal improvisation
WO2018136838A1 (en) * 2017-01-19 2018-07-26 Gill David C Systems and methods for transferring musical drum samples from slow memory to fast memory
WO2019046487A1 (en) 2017-08-29 2019-03-07 Intelliterran, Inc. APPARATUS, SYSTEM AND METHOD FOR MULTIMEDIA RECORDING AND RENDERING
WO2021081602A1 (en) * 2019-11-01 2021-05-06 Innerclock Holdings Pty. Ltd Midi events synchronization system, method and device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0449588A (ja) * 1990-06-18 1992-02-18 Pioneer Electron Corp 情報記録媒体演奏装置
JPH04275595A (ja) * 1991-03-04 1992-10-01 Sanyo Electric Co Ltd 記憶媒体およびその再生装置
US5805545A (en) * 1991-08-14 1998-09-08 Pioneer Electronic Corporation Midi standards recorded information reproducing device with repetitive reproduction capacity
US5670729A (en) * 1993-06-07 1997-09-23 Virtual Music Entertainment, Inc. Virtual music instrument with a novel input device
US5393926A (en) * 1993-06-07 1995-02-28 Ahead, Inc. Virtual music system
US5792971A (en) * 1995-09-29 1998-08-11 Opcode Systems, Inc. Method and system for editing digital audio information with music-like parameters
US5736666A (en) 1996-03-20 1998-04-07 California Institute Of Technology Music composition
CA2261275A1 (en) 1996-06-24 1997-12-31 Van Koevering Company Musical instrument system
US5952599A (en) 1996-12-19 1999-09-14 Interval Research Corporation Interactive music generation system making use of global feature control by non-musicians
US5734119A (en) 1996-12-19 1998-03-31 Invision Interactive, Inc. Method for streaming transmission of compressed music
US6018118A (en) 1998-04-07 2000-01-25 Interval Research Corporation System and method for controlling a music synthesizer
US6093880A (en) 1998-05-26 2000-07-25 Oz Interactive, Inc. System for prioritizing audio for a virtual environment
US6388181B2 (en) * 1999-12-06 2002-05-14 Michael K. Moe Computer graphic animation, live video interactive method for playing keyboard music
US6175070B1 (en) * 2000-02-17 2001-01-16 Musicplayground Inc. System and method for variable music notation
US20010035087A1 (en) * 2000-04-18 2001-11-01 Morton Subotnick Interactive music playback system utilizing gestures
US6822153B2 (en) * 2001-05-15 2004-11-23 Nintendo Co., Ltd. Method and apparatus for interactive real time music composition

Also Published As

Publication number Publication date
US6924425B2 (en) 2005-08-02
JP2004524580A (ja) 2004-08-12
US20020162445A1 (en) 2002-11-07

Similar Documents

Publication Publication Date Title
JP4267925B2 (ja) 対話型再生によるマルチパートオーディオ演奏を記憶する媒体
US5801694A (en) Method and apparatus for interactively creating new arrangements for musical compositions
US8173883B2 (en) Personalized music remixing
US6093880A (en) System for prioritizing audio for a virtual environment
US7305273B2 (en) Audio generation system manager
US8115090B2 (en) Mashup data file, mashup apparatus, and content creation method
US7126051B2 (en) Audio wave data playback in an audio generation system
US20020144587A1 (en) Virtual music system
JPH1173182A (ja) 音楽作品ファイルを作成、配布、記憶、及び、実行するシステム並びに方法
JP2009529717A (ja) 自動的に楽曲を作成するための方法および装置
US10496250B2 (en) System and method for implementing an intelligent automatic music jam session
JP2021518589A (ja) 調和コード・マップを使用してオーディオ出力ファイルまたはmidi出力ファイルを生成する方法およびシステム
KR20060051123A (ko) 재생장치 및 재생방법
US20020144588A1 (en) Multimedia data file
US20200142926A1 (en) Artificial intelligence methodology to automatically generate interactive play along songs
JP3840851B2 (ja) 記録媒体および楽音信号生成方法
US7612279B1 (en) Methods and apparatus for structuring audio data
WO2002082420A1 (en) Storing multipart audio performance with interactive playback
EP2793222B1 (en) Method for implementing an automatic music jam session
JP3956504B2 (ja) カラオケ装置
US20240038205A1 (en) Systems, apparatuses, and/or methods for real-time adaptive music generation
Tomczak On the development of an interface framework in chipmusic: theoretical context, case studies and creative outcomes
Rando et al. How do Digital Audio Workstations influence the way musicians make and record music?
CN118121934A (zh) 播放音乐的方法、装置、电子设备及计算机可读存储介质
Nahmani Logic Pro-Apple Pro Training Series: Professional Music Production

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

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: 20090120

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: 20090219

R150 Certificate of patent or registration of utility model

Ref document number: 4267925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees