JP3846344B2 - セッション装置およびその制御方法を実現するためのプログラム - Google Patents
セッション装置およびその制御方法を実現するためのプログラム Download PDFInfo
- Publication number
- JP3846344B2 JP3846344B2 JP2002082830A JP2002082830A JP3846344B2 JP 3846344 B2 JP3846344 B2 JP 3846344B2 JP 2002082830 A JP2002082830 A JP 2002082830A JP 2002082830 A JP2002082830 A JP 2002082830A JP 3846344 B2 JP3846344 B2 JP 3846344B2
- Authority
- JP
- Japan
- Prior art keywords
- session
- performance information
- performance
- timing
- generating
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/011—Files or data streams containing coded musical information, e.g. for transmission
- G10H2240/046—File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
- G10H2240/056—MIDI or other note-oriented file format
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/175—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/295—Packet switched network, e.g. token ring
- G10H2240/305—Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/325—Synchronizing two or more audio tracks or files according to musical features or musical timings
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、通信ネットワークを介して接続された他のセッション装置とリアルタイムにセッションするセッション装置およびその制御方法を実現するためのプログラムに関する。
【0002】
【従来の技術】
通信ネットワークを介して接続された他のセッション装置とリアルタイムにセッションするセッション装置は、従来から知られている。
【0003】
このようなセッション装置として、たとえば「ICMC97の議事録、446〜449頁、1997年」には、他のセッション装置と同時に演奏を開始し、このセッション装置から送信されて来た、現演奏から所定時間だけ前の演奏情報と同期してセッションを行い、ネットワーク遅延による演奏のずれを解消するようにしたものが開示されている。
【0004】
【発明が解決しようとする課題】
しかし、上記従来のセッション装置では、他のセッション装置とセッションを行うためには、そのセッション装置と同時に演奏を開始しなければならないので、個々のセッション装置毎、時刻に囚われず自由にセッションを開始することができず、不便であった。
【0005】
本発明は、この点に着目してなされたものであり、個々のセッション装置毎、時刻に囚われず自由にセッションを開始して楽しむことが可能となるセッション装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載のセッション装置は、通信ネットワークを介して接続された、少なくとも1台の他のセッション装置とセッションを行うセッション装置であって、予め設定されたテンポ情報に基づく周期の再生クロックを発生する再生クロック発生手段と、該再生クロック発生手段によって発生された再生クロックに基づいて所定間隔の小節タイミングに相当する再生タイミングを検出する検出手段と、前記他のセッション装置から送信される演奏情報を受信する受信手段と、ユーザ入力に応じて演奏情報を生成する生成手段と、前記受信手段が受信した演奏情報の再生を開始するタイミングを、該演奏情報が受信された時点より後の前記再生タイミングが検出された時点まで遅延する遅延手段と、該再生タイミングが遅延された演奏情報を前記再生クロックに基づいて逐次再生するとともに前記生成された演奏情報を再生する再生手段とを有することを特徴とする。
【0007】
ここで、演奏情報の具体例としては、リアルタイム演奏されて入力された演奏データを挙げることができる。もちろん、演奏データのフォーマットは、どのようなものを採用してもよく、さらに、演奏情報の種類も、演奏データに限らず、画像データ等、再生できるものであればどのようなものであってもよい。また、遅延手段は、たとえば遅延バッファを備え、受信した演奏情報を、この遅延バッファで遅延させた後、再生するようにすればよい。これらの事情は、以下、請求項が変わっても同様である。
【0008】
好ましくは、前記生成された演奏情報を前記他のセッション装置に送信する送信手段をさらに有することを特徴とする(請求項2)。
【0010】
ここで、一まとまりとは、再生データが音楽関連のものである場合には、数小節程度が望ましいが、これに限られる訳ではない。再生データの種類に応じて適宜選択すればよい。
【0011】
また、好ましくは、前記生成手段は、当該演奏情報を自動的に生成する自動生成手段と、当該演奏情報をユーザの指示に応じて生成するマニュアル生成手段とを含むことを特徴とする(請求項3)。
【0012】
ここで、自動生成手段とは、演奏情報が演奏データである場合には、たとえば自動演奏装置であり、マニュアル生成手段とは、たとえば演奏者が楽器を演奏して演奏データを入力するようにした入力装置である。
【0013】
さらに、好ましくは、前記再生手段によって再生される演奏情報であって、前記生成された演奏情報と前記受信した演奏情報とをそれぞれ表示する表示手段をさらに有することを特徴とする(請求項4)。
【0014】
ここで、演奏情報が演奏データである場合には、表示手段に、たとえば楽器の絵をセッション装置毎に表示させて、再生中の演奏データに対応する楽器の状態をセッション装置毎に表示するようにすればよい。もちろん、これに限る訳ではない。
【0015】
また、好ましくは、前記受信手段によって受信された演奏情報に関する音量情報または音色情報を設定変更する設定手段をさらに有することを特徴とする(請求項5)。
【0017】
さらに、請求項7に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0019】
図1は、本発明の一実施の形態に係るセッション装置の概略構成を示すブロック図である。
【0020】
同図に示すように、本実施の形態のセッション装置は、主に文字情報を入力するためのキーボード1と、ポインティングデバイスであるマウス2と、キーボード1の各キーの操作状態を検出するキー操作検出回路3と、マウス2の操作状態を検出するマウス操作検出回路4と、装置全体の制御を司るCPU5と、該CPU5が実行する制御プログラムや、各種テーブルデータ等を記憶するROM6と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM7と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ8と、各種情報等を表示する、たとえば大型液晶ディスプレイ(LCD)若しくはCRT(Cathode Ray Tube)ディスプレイおよび発光ダイオード(LED)等を備えた表示装置9と、記憶媒体であるフレキシブルディスク(FD)20をドライブするフレキシブルディスクドライブ(FDD)10と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク(図示せず)をドライブするハードディスクドライブ(HDD)11と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するコンパクトディスク−リード・オンリ・メモリ(CD−ROM)21をドライブするCD−ROMドライブ(CD−ROMD)12と、外部からのMIDIデータを入力したり、MIDIデータを外部に出力したりするMIDIインターフェース(I/F)13と、通信ネットワーク101を介して、たとえばサーバコンピュータ102や他のクライアントコンピュータ103とデータの送受信を行う通信インターフェース(I/F)14と、MIDII/F13や通信I/F14を介して入力された演奏データや予め設定された演奏データ等を楽音信号に変換する音源回路15と、該音源回路15からの楽音信号に各種効果を付与するための効果回路16と、該効果回路16からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム17とにより構成されている。
【0021】
上記構成要素3〜16は、バス18を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F13には他のMIDI機器100が接続され、通信I/F14には通信ネットワーク101が接続され、音源回路15には効果回路16が接続され、効果回路16にはサウンドシステム17が接続されている。なお、本実施の形態では、他のMIDI機器100として、鍵盤装置が接続されている。
【0022】
HDD11のハードディスクには、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0023】
CD−ROMドライブ12のCD−ROM21から読み出された制御プログラムや各種データは、HDD11内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このCD−ROMドライブ12以外にも、外部記憶装置として、光磁気ディスク(MO)装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【0024】
通信I/F14は、上述のように、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバコンピュータ102に接続可能である。HDD11内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F14は、サーバコンピュータ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、セッション装置)は、通信I/F14および通信ネットワーク101を介してサーバコンピュータ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介してコンピュータへと配信し、コンピュータが通信I/F14を介して、これらプログラムやパラメータを受信してHDD11内のハードディスクに蓄積することにより、ダウンロードが完了する。
【0025】
この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
【0026】
なお、本実施の形態のセッション装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【0027】
図2は、本実施の形態のセッション装置が他のセッション装置とセッションを行うときのシステム構成の一例を示す図である。
【0028】
同図に示すように、本実施の形態のセッション装置を含む各セッション装置は、それぞれ一クライアントとして、通信ネットワーク101を介して相互に接続されている。本実施の形態では、各クライアントA〜Cは、それぞれ、主従関係を形成しておらず、独立に動作する。なお、クライアントAが本実施の形態のセッション装置に相当し、クライアントBおよびCが他のセッション装置に相当することとするが、これは便宜上そのように決めてあるに過ぎない。また、クライアントBおよびCの各ハードウェア構成は、クライアントAのそれ、すなわち前記図1に示した構成と同様のものを用いてもよいし、独自のものを用いてもよい。すなわち、クライアントBおよびCは、クライアントAと、後述する処理手順に従ってセッションを行うことができる構成であれば、どのようなものを用いてもよい。
【0029】
クライアントAが他のクライアントBに対してデータを送信する場合、クライアントAは、クライアントBの通信ネットワーク101上のアドレス(たとえば通信ネットワーク101がインターネットからなる場合には、IPアドレス)を指定し、このアドレスに向けてデータを送信する。なお、各クライアント間のデータのやりとりの方法等については、後述する。
【0030】
また、上記システム構成は、一例に過ぎず、クライアントの台数は上記3台より多くても少なくてもよく(ただし、セッションを行う関係上、少なくとも2台以上は必要である)、さらに、各クライアントA〜Cに主従関係を形成するようにしたり、サーバ装置を設けて、サーバ・クライアントシステムの構成にしてもよい。
【0031】
以上のように構成されたセッション装置が実行する制御処理を、まず上記図2を参照してその概要を説明し、次に図3〜図5を参照して詳細に説明する。
【0032】
本実施の形態のセッション装置、すなわちクライアントAは、他のセッション装置、すなわちクライアントBおよびCとセッションを行う場合、クライアントBおよびCと同時にセッションを開始しなくても、セッションを行うことができるように構成されており、本発明の特徴は、このように構成したことにある。
【0033】
たとえば、最初にクライアントAがセッションを開始し、続いてクライアントBが開始し、最後にクライアントCが開始するとした場合、まずクライアントAは、前述のように、クライアントBおよびCの、通信ネットワーク101上の各アドレスを指定して、セッションを開始する。セッション方法は各種考えられるが、たとえば、クライアントAでは、前記鍵盤装置を用いてリアルタイムに演奏する方法を採用している。このようにしてリアルタイムに演奏されて入力された演奏データ(たとえば、MIDIデータからなる)は、前記RAM7上に設けられた送信バッファに格納されて行く。そして、演奏データが所定時間長分、たとえば1小節長分格納されると、この1小節長分の演奏データのパケットが形成されて、クライアントBおよびCに送信される。
【0034】
続いて、クライアントBおよびCがセッションを開始すると、クライアントBおよびCからも、同様にして、それぞれ1小節長分の演奏データからなるパケットがクライアントAに送られて来るので、クライアントAは、このパケットを順次前記RAM7上に設けられた受信バッファに格納して行く。受信バッファに2小節長分の演奏データが格納されると、その2小節長分の演奏データを、RAM7上の別の領域に設けられた遅延バッファに移動(または転写)する。
【0035】
そして、現在再生中の2小節長の演奏データの再生が終了するタイミング(2小節タイミング)で、遅延バッファに格納されている上記2小節長の演奏データを、前記RAM7上に設けられた再生バッファに移動(または転写)する。再生バッファでは、格納された演奏データ、すなわち2小節長の演奏データを、予め設定されたテンポ(ただし、クライアントBおよびCにおいても同一のテンポが設定されるようになっている)に応じた周期の再生クロックに従って再生する。なお、上記2小節タイミングは、再生クロックを所定回数(2小節長に相当する回数)カウントすることによって、検出している。
【0036】
再生された演奏データは、前記音源回路15に供給され、音源回路15には、鍵盤装置から入力された演奏データも供給されるので、音源回路15からは、クライアントBおよびCから送信されて来た演奏データとクライアントAからの演奏データとの同期が取られた楽音信号が発生する。
【0037】
このようにして、クライアントAのユーザは、クライアントBおよびCの各ユーザと同時に演奏を開始しなくても、各クライアント毎に同期の取れたセッションを楽しむことができる。
【0038】
次に、この制御処理を詳細に説明する。
【0039】
図3は、本実施の形態のセッション装置の機能構成を示すブロック図であり、本セッション装置が実行する制御処理を説明するためのものである。
【0040】
他のクライアント、すなわちクライアントBおよびCから送信されて来た、1小節長の演奏データのパケットを受信すると、受信イベント発生部22は、受信イベントを発生し、これに応じて、受信した演奏データを受信バッファ21内に格納する。受信バッファ21は、上述のように、RAM7の所定位置に確保されたバッファで、たとえば、他のクライアント毎に異なった領域が確保されている。
【0041】
そして、受信イベント発生部22が同じ他のクライアントからの受信イベントを2回発生すると、すなわち、同じ他のクライアントから2小節長の演奏データを受信すると、その2小節長の演奏データは、受信バッファ21から読み出されて遅延バッファ23内に格納される。遅延バッファ23も、上述のように、RAM7の所定位置に確保されたバッファで、他のクライアント毎に異なった領域が確保されている。なお、1小節分の演奏データのパケットには、それが2小節長の前半と後半のいずれかを示す情報が付されていてもよい。
【0042】
演奏データは、たとえば、MIDIデータからなり、イベントとタイミング(その直後に位置するイベントを再生すべきタイミング)のシーケンスによって形成されている。したがって、演奏データを再生するには、イベントの再生タイミングを検知する必要があり、このため、再生クロック発生部24によって再生クロックを発生させ、この再生クロックの、たとえば立ち上がりをカウントすることで、再生タイミングを検知するようにしている。なお、再生クロックの周期は、通常テンポに応じて変わるように構成されているため、予めテンポを設定しておく必要がある。本発明では、他のクライアントと同期してセッションを行うため、各クライアント間でテンポを同一に設定しておかなければならない。テンポを各クライアント間で同一に設定する方法としては、たとえば、現在セッション中のグループを検出し、そのグループの名称およびテンポ等の情報を取得して、一覧表示するように構成し、この一覧表示中から、クライアントAのユーザが参加したいセッションを指定すると、そのセッションのテンポが自動設定されるようにしたり、また、その一覧表示されたグループ内に好みのセッションがなく、新たにセッションを起こす場合には、自由にテンポを決定でき、そのテンポがそのセッションのテンポとして登録されるようにする方法が考えられる。また、セッションの途中で、適宜テンポを変更できるようにしてもよい。たとえば、クライアントAのユーザが、テンポ変更のリクエストを他のクライアントBおよびCに送信し、そのリクエストに他のクライアントBおよびCの各ユーザが同意すると、各クライアントA〜Cの各テンポが同時に変更される等の方法が考えられる。
【0043】
再生クロック発生部24が発生した再生クロックは、再生バッファ26に供給されるとともに、2小節タイミング発生部25に供給される。2小節タイミング発生部25は、供給された再生クロックの、たとえば立ち上がりをカウントすることにより、再生バッファ26から2小節長の演奏データの読み出し(再生)が終了するタイミングを発生する。
【0044】
2小節タイミング発生部25から2小節タイミングが発生すると、その2小節タイミングは遅延バッファ23に供給され、これに応じて、遅延バッファ23から、次に再生すべき2小節長の演奏データが読み出されて、再生バッファ26に格納される。
【0045】
再生バッファ26は、供給される再生クロックをカウントし、再生タイミングになると、対応するイベントを読み出して、音源部29(音源回路15および効果回路16に相当する)に供給する。
【0046】
さらに、再生クロック発生部24が発生した再生クロックは、自動演奏部30および1小節タイミング発生部32にも供給される。本実施の形態のセッション装置は、鍵盤装置を用いたリアルタイム演奏に加えて、自動演奏(自動伴奏)を行うことができるように構成され、自動演奏用の演奏データ(イベントおよびタイミングのシーケンスからなる)も、前記RAM7やROM6に格納されている。自動演奏部30は、この自動演奏用の演奏データを、再生バッファ26と同様にして再生し、そのイベントを音源部29に供給する。なお、自動演奏は、2小節を単位とした所定のコード進行(たとえばトゥーファイブなど)に基づく演奏とし、ユーザは、この自動演奏のコード進行にマッチしたマニュアル演奏をする。音源部29には、演奏操作子28、すなわち鍵盤装置の各鍵を用いて入力されるイベントも供給され、音源部29は、供給された各種イベントに基づいて、音色音量設定部33により設定された音色および音量の楽音信号を生成し、前記サウンドシステム17に出力する。
【0047】
音色音量設定部33は、ユーザが自装置に対して指示した音色および音量の設定に加え、他のクライアントBおよびCから受信した演奏データの再生音の音色および音量を個別に設定できるように構成されている。
【0048】
演奏操作子28から入力されたイベントは、送信バッファ31にも供給され、1小節タイミング発生部32が1小節タイミングを発生すると、送信バッファ31から1小節長の演奏データが読み出されて、1つのパケットが生成され、クライアントBおよびCへ送信される。クライアントBおよびCは、クライアントAからの演奏データを受信すると、本実施の形態のセッション装置と同様の処理を行い、音源部29から、自装置の演奏操作子から入力されたイベントと同期した楽音信号が生成されて、出力される。
【0049】
また、再生バッファ26から読み出されたイベントは、表示部27(前記表示装置9に相当する)にも供給される。さらに、表示部27には、演奏操作子28から入力されたイベントも供給され、表示部27は、図5に示すように、クライアントA〜Cの各演奏操作子、本実施の形態では各鍵盤装置を表示し、これらのイベントに基づいて、各クライアントA〜Cのユーザの演奏状態を、たとえば押鍵された鍵の表示態様、たとえば色を変えることにより表示する。これにより、他のクライアントの演奏状態を視覚的に把握できるとともに、自分の演奏状態も視覚的に把握でき、さらに、各演奏状態を比較することもできる。
【0050】
図4は、各クライアントA〜C内でなされているセッションの状態の一例を示す図である。図示例では、概要の説明で前述したように、クライアントA、クライアントBおよびクライアントCの順序でセッションが開始された場合のセッションの状態が示されている。なお、図中、各ブロックは、2小節長の演奏データを示している。
【0051】
図4において、まず、クライアントAが演奏A−1を開始し、続いて、クライアントBが演奏B−1を開始し、最後に、クライアントCが演奏C−1を開始する。演奏B−1は、ある程度のネットワーク遅延(遅延時間は、ネットワーク事情により変化する)の後に、クライアントAへと届く(斜線が施された四角を参照)。クライアントAでは、演奏A−1が終了するまでに、他のクライアントBおよびCからの2小節長の演奏データが到着していない(演奏自体が終了していない)。クライアントBおよびCからの演奏データが到着した後、演奏A−2が終了し、演奏A−3が開始するまで、クライアントBおよびCからの演奏データは意図的に遅延され、この演奏A−3と同期を取って、他のクライアントBおよびCの各最初の演奏B−1およびC−1が開始し、演奏A−3,B−1およびC−1でセッションがなされる。その後は、他のクライアントBおよびCの演奏が続く限り、この時間差を保ってセッションが続いて行く。ただし、いずれかのクライアントからの演奏データの到着が遅れた場合は、この時間差は変化し得る。
【0052】
クライアントBでは、演奏B−1が終了するまでに、クライアントAは2小節長の演奏を終了しているため、次の演奏B−2が開始するときに、この演奏B−2と同期を取って、演奏A−1が開始し、演奏B−2およびA−1でセッションがなされる。そして、演奏B−2が終了するまでに、クライアントCは2小節長の演奏を終了しているため、次の演奏B−3が開始するときに、この演奏B−3と同期を取って、演奏C−1が開始し、演奏B−3,A−2およびC−1でセッションがなされる。その後は、クライアントAおよびCの演奏が続く限り、この時間差を保ってセッションが続いて行く。
【0053】
クライアントCでは、演奏C−1が終了するまでに、クライアントAおよびBは両方とも2小節長の演奏を終了しているため、次の演奏C−2が開始するときに、この演奏C−2と同期を取って、演奏A−1およびB−1が開始し、演奏C−2,A−1およびB−1でセッションがなされる。その後は、クライアントAおよびCの演奏が続く限り、この時間差を保ってセッションが続いて行く。
【0054】
このように、本実施の形態のセッション装置は、他のセッション装置と同時にセッションを開始しなくても、他のセッション装置が演奏を開始してから所定時間(多くとも4小節長の時間)経過後に、他のセッション装置と同期してセッションを行うことができるので、各セッション装置のユーザは自分の好きな時間にセッションに加わることができ、利便性が非常に向上する。
【0055】
また、自分の現時点の演奏と、他のセッション装置のユーザによる過去の演奏とがセッションされるので、通常のセッションでは実現されない面白みのあるセッションを行うことができる。なお、各ユーザの演奏は、2小節単位で繰り返されるコード進行にマッチしたものであるので、過去の演奏とセッションしていても、音楽的に違和感は生じない。
【0056】
さらに、各セッション装置では、それぞれセッションに関わる演奏が異なるので、すなわち、たとえば図4を例に挙げると、クライアントAでは、演奏A−3は演奏B−1およびC−1とセッションされているのに対して、クライアントBでは、演奏A−3は演奏B−4およびC−2とセッションされているというようにセッションに関わる演奏が異なるので、これによっても面白みのあるセッションを行うことができる。
【0057】
なお、本実施の形態では、演奏開始タイミングがクライアントA,BおよびCで互いに異なる場合を例に挙げたが、演奏開始タイミングを揃えたとしても、ネットワーク遅延のため、上記例と同様に意図的に遅延された後に、同期再生されるようになる。
【0058】
なお、本実施の形態では、各セッション装置間で、リアルタイムに演奏した演奏データを送受信したが、送受信するデータは、演奏データに限らず、オーディオデータや画像データ等、同期を取って再生することに意味があるものであれば、どのようなものであってもよい。
【0059】
また、本実施の形態では、演奏データの入力は、鍵盤装置を用いて行うようにしたが、用いる楽器は、どのようなものであってもよい。さらに、演奏データの入力は、楽器に限らず、前記表示装置9上に楽器の絵およびカーソルを表示し、カーソルを前記マウス2等を用いて動かし、音高をリアルタイムに指示するなど、各種の入力装置で行うようにしてもよい。
【0060】
さらに、本実施の形態では、入力された演奏データは、1小節長毎にパケットにして、他のクライアントに送信するようにしたが、データ長は1小節長に限らないことは言うまでもない。演奏データを再生するときのデータ長も、2小節長に限らず、音楽的に意味のある周期であれば、どのような長さにしてもよい。
【0061】
また、パケット化される演奏データは、所定長(たとえば1小節長)を所定数(たとえば“16”)に分割した区間毎に音高データを記憶するベタ方式であってもよい。
【0062】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU5やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0063】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0064】
プログラムコードを供給するための記憶媒体としては、たとえば、前記フレキシブルディスク20、ハードディスク、光ディスク、光磁気ディスク、CD−ROM21、CD−R、磁気テープ、不揮発性のメモリカード、ROM6などを用いることができる。また、他のMIDI機器100や通信ネットワーク101を介してサーバコンピュータ102からプログラムコードが供給されるようにしてもよい。
【0065】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0066】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU5などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0067】
【発明の効果】
以上説明したように、請求項1または6に記載の発明によれば、受信手段を介して受信した演奏情報の再生を開始するタイミングが、受信された時点より後の再生タイミングが検出された時点まで遅延され、該再生タイミングの遅延された演奏情報が再生クロックに基づいて逐次再生されるとともに、生成された演奏情報が再生されるので、他のセッション装置と同時にセッションを開始しなくても、他のセッション装置が演奏を開始してから所定時間経過後に、他のセッション装置と同期してセッションを行うことができる。このため、各セッション装置のユーザは自分の好きな時間にセッションに加わることができ、利便性が非常に向上する。
【0068】
また、請求項2に記載の発明によれば、前記生成された演奏情報が前記他のセッション装置に送信されるので、当該他のセッション装置でも、本セッション装置とセッションを行うことができる。
【0069】
さらに、請求項4に記載の発明によれば、前記再生手段によって再生される演奏情報であって、前記生成された演奏情報と前記受信した演奏情報とがそれぞれ表示されるので、他のセッション装置からの演奏情報の状態を視覚的に把握できるとともに、自装置の演奏情報の状態も視覚的に把握でき、さらに、各装置間の演奏情報の状態を比較することもできる。
【0070】
また、請求項5に記載の発明によれば、前記受信手段によって受信された演奏情報に関する音量情報または音色情報を変更設定することができるので、ユーザは他の再生装置からの演奏情報の再生態様を自由に変更して、自装置の演奏情報とセッションすることができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係るセッション装置の概略構成を示すブロック図である。
【図2】 本実施の形態のセッション装置が他のセッション装置とセッションを行うときのシステム構成の一例を示す図である。
【図3】 本実施の形態のセッション装置の機能構成を示すブロック図である。
【図4】 図2の各クライアント内でなされているセッションの状態の一例を示す図である。
【図5】 図3の表示部の表示の一例を示す図である。
【符号の説明】
1 キーボード、 2 マウス、 5 CPU、 6 ROM、 7 RAM、9 表示装置、 14 通信I/F、 15 音源回路、 16 効果回路、17 サウンドシステム、 101 通信ネットワーク、 103 他のクライアントコンピュータ
Claims (6)
- 通信ネットワークを介して接続された、少なくとも1台の他のセッション装置とセッションを行うセッション装置であって、
予め設定されたテンポ情報に基づく周期の再生クロックを発生する再生クロック発生手段と、
該再生クロック発生手段によって発生された再生クロックに基づいて所定間隔の小節タイミングに相当する再生タイミングを検出する検出手段と、
前記他のセッション装置から送信される演奏情報を受信する受信手段と、
ユーザ入力に応じて演奏情報を生成する生成手段と、
前記受信手段が受信した演奏情報の再生を開始するタイミングを、該演奏情報が受信された時点より後の前記再生タイミングが検出された時点まで遅延する遅延手段と、
該再生タイミングが遅延された演奏情報を前記再生クロックに基づいて逐次再生するとともに前記生成された演奏情報を再生する再生手段と
を有することを特徴とするセッション装置。 - 前記生成された演奏情報を前記他のセッション装置に送信する送信手段をさらに有することを特徴とする請求項1に記載のセッション装置。
- 前記生成手段は、
当該演奏情報を自動的に生成する自動生成手段と、
当該演奏情報をユーザの指示に応じて生成するマニュアル生成手段と
を含むことを特徴とする請求項1または2に記載のセッション装置。 - 前記再生手段によって再生される演奏情報であって、前記生成された演奏情報と前記受信した演奏情報とをそれぞれ表示する表示手段をさらに有することを特徴とする請求項1〜3のいずれかに記載のセッション装置。
- 前記受信手段によって受信された演奏情報に関する音量情報または音色情報を設定変更する設定手段をさらに有することを特徴とする請求項1〜4のいずれかに記載のセッション装置。
- 通信ネットワークを介して接続された、少なくとも1台の他のセッション装置とセッションを行うセッション装置を制御する制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
予め設定されたテンポ情報に基づく周期の再生クロックを発生する再生クロック発生ステップと、
該再生クロック発生ステップによって発生された再生クロックに基づいて所定間隔の小節タイミングに相当する再生タイミングを検出する検出ステップと、
前記他のセッション装置から送信される演奏情報を受信手段を介して受信する受信ステップと、
ユーザ入力に応じて演奏情報を生成する生成ステップと、
前記受信手段を介して受信した演奏情報の再生を開始するタイミングを、該演奏情報が受信された時点より後の前記再生タイミングが検出された時点まで遅延する遅延ステップと、
該再生タイミングが遅延された演奏情報を前記再生クロックに基づいて逐次再生するとともに前記生成された演奏情報を再生する再生ステップと
を有する
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002082830A JP3846344B2 (ja) | 2002-03-25 | 2002-03-25 | セッション装置およびその制御方法を実現するためのプログラム |
US10/396,646 US6953887B2 (en) | 2002-03-25 | 2003-03-25 | Session apparatus, control method therefor, and program for implementing the control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002082830A JP3846344B2 (ja) | 2002-03-25 | 2002-03-25 | セッション装置およびその制御方法を実現するためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003280644A JP2003280644A (ja) | 2003-10-02 |
JP3846344B2 true JP3846344B2 (ja) | 2006-11-15 |
Family
ID=29230873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002082830A Expired - Fee Related JP3846344B2 (ja) | 2002-03-25 | 2002-03-25 | セッション装置およびその制御方法を実現するためのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6953887B2 (ja) |
JP (1) | JP3846344B2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006119320A (ja) * | 2004-10-21 | 2006-05-11 | Yamaha Corp | 電子音楽装置システム、サーバ側電子音楽装置およびクライアント側電子音楽装置 |
IL165817A0 (en) * | 2004-12-16 | 2006-01-15 | Samsung Electronics U K Ltd | Electronic music on hand portable and communication enabled devices |
KR20070024183A (ko) * | 2005-08-26 | 2007-03-02 | 삼성전자주식회사 | 데이터 전송 제어 방법 및 상기 방법에 의해 데이터를전송하는 네트워크 장치 |
JP4614131B2 (ja) * | 2005-09-14 | 2011-01-19 | カシオ計算機株式会社 | 波形発生装置および波形発生プログラム |
US7853342B2 (en) * | 2005-10-11 | 2010-12-14 | Ejamming, Inc. | Method and apparatus for remote real time collaborative acoustic performance and recording thereof |
US7459624B2 (en) | 2006-03-29 | 2008-12-02 | Harmonix Music Systems, Inc. | Game controller simulating a musical instrument |
US20070245881A1 (en) * | 2006-04-04 | 2007-10-25 | Eran Egozy | Method and apparatus for providing a simulated band experience including online interaction |
MX2009004423A (es) * | 2006-10-27 | 2009-05-28 | Busse Sji Corp | Sistema para la remocion de envoltorios. |
US9053753B2 (en) * | 2006-11-09 | 2015-06-09 | Broadcom Corporation | Method and system for a flexible multiplexer and mixer |
US20080114478A1 (en) * | 2006-11-09 | 2008-05-15 | David Wu | Method and System for Multi-Channel PCM Audio Grouping in Hardware |
US8301790B2 (en) * | 2007-05-30 | 2012-10-30 | Randy Morrison | Synchronization of audio and video signals from remote sources over the internet |
US8678896B2 (en) | 2007-06-14 | 2014-03-25 | Harmonix Music Systems, Inc. | Systems and methods for asynchronous band interaction in a rhythm action game |
EP2173444A2 (en) | 2007-06-14 | 2010-04-14 | Harmonix Music Systems, Inc. | Systems and methods for simulating a rock band experience |
US20090204490A1 (en) * | 2008-02-13 | 2009-08-13 | Music Innovations International, Llc | Online professional development system and virtual manager for performance artists |
US8918541B2 (en) * | 2008-02-22 | 2014-12-23 | Randy Morrison | Synchronization of audio and video signals from remote sources over the internet |
US8826355B2 (en) * | 2009-04-30 | 2014-09-02 | At&T Intellectual Property I, Lp | System and method for recording a multi-part performance on an internet protocol television network |
US8465366B2 (en) | 2009-05-29 | 2013-06-18 | Harmonix Music Systems, Inc. | Biasing a musical performance input to a part |
US8449360B2 (en) | 2009-05-29 | 2013-05-28 | Harmonix Music Systems, Inc. | Displaying song lyrics and vocal cues |
US8702485B2 (en) | 2010-06-11 | 2014-04-22 | Harmonix Music Systems, Inc. | Dance game and tutorial |
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 |
US8874243B2 (en) | 2010-03-16 | 2014-10-28 | Harmonix Music Systems, Inc. | Simulating musical instruments |
JP2011242560A (ja) * | 2010-05-18 | 2011-12-01 | Yamaha Corp | セッション端末及びネットワークセッションシステム |
US9358456B1 (en) | 2010-06-11 | 2016-06-07 | Harmonix Music Systems, Inc. | Dance competition game |
US8562403B2 (en) | 2010-06-11 | 2013-10-22 | Harmonix Music Systems, Inc. | Prompting a player of a dance game |
US9024166B2 (en) | 2010-09-09 | 2015-05-05 | Harmonix Music Systems, Inc. | Preventing subtractive track separation |
JP5742217B2 (ja) * | 2010-12-28 | 2015-07-01 | ヤマハ株式会社 | 電子端末を制御する制御方法を実現するためのプログラムおよび電子音楽装置 |
DE102014115148A1 (de) * | 2014-10-17 | 2016-04-21 | Mikme Gmbh | Synchrones Aufnehmen von Audio mittels drahtloser Datenübertragung |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3196715B2 (ja) * | 1997-10-22 | 2001-08-06 | ヤマハ株式会社 | 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体 |
US6353174B1 (en) * | 1999-12-10 | 2002-03-05 | Harmonix Music Systems, Inc. | Method and apparatus for facilitating group musical interaction over a network |
US6653545B2 (en) * | 2002-03-01 | 2003-11-25 | Ejamming, Inc. | Method and apparatus for remote real time collaborative music performance |
-
2002
- 2002-03-25 JP JP2002082830A patent/JP3846344B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-25 US US10/396,646 patent/US6953887B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6953887B2 (en) | 2005-10-11 |
JP2003280644A (ja) | 2003-10-02 |
US20040025670A1 (en) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3846344B2 (ja) | セッション装置およびその制御方法を実現するためのプログラム | |
US20040176025A1 (en) | Playing music with mobile phones | |
JPH1173182A (ja) | 音楽作品ファイルを作成、配布、記憶、及び、実行するシステム並びに方法 | |
JP2008076780A (ja) | アルペジオ演奏装置及びプログラム | |
KR100819775B1 (ko) | 네트워크 기반의 음악연주/노래반주 서비스 장치, 시스템, 방법 및 기록매체 | |
KR100320036B1 (ko) | 디지털 음악 파일을 악기별로 연주가 가능한 연주용파일로 변환하는 방법 및 그를 이용한 음악 연주시스템 | |
JP2004233698A (ja) | 音楽支援装置、音楽支援サーバ、音楽支援方法およびプログラム | |
JP3852348B2 (ja) | 再生及び送信切替装置及びプログラム | |
US6248945B1 (en) | Music information transmitting apparatus, music information receiving apparatus, music information transmitting-receiving apparatus and storage medium | |
JP2006119320A (ja) | 電子音楽装置システム、サーバ側電子音楽装置およびクライアント側電子音楽装置 | |
JP4110807B2 (ja) | 同期調整装置および同期調整方法を実現するためのプログラム | |
WO2022049732A1 (ja) | 情報処理装置及び情報処理方法 | |
JP2011523465A (ja) | オーディオプレーヤ間の出力ボリュームの類似性の改善のためのシステムおよび方法 | |
JP2002091464A (ja) | 演奏中の操作履歴を記憶して再現するカラオケ装置 | |
JP2008033344A (ja) | カラオケ装置 | |
JP2008233558A (ja) | 電子楽器及びプログラム | |
JP7456215B2 (ja) | オーディオインターフェース装置、及び、録音システム | |
JP4302898B2 (ja) | 自動演奏装置、自動演奏方法および記憶媒体 | |
JP3690279B2 (ja) | 演奏テンポ制御装置および記憶媒体 | |
JP6783065B2 (ja) | 通信端末装置、サーバ装置及びプログラム | |
JPH11119776A (ja) | 音楽演奏装置 | |
JP4178641B2 (ja) | カラオケ装置 | |
JP3931460B2 (ja) | 音源装置 | |
JP4158634B2 (ja) | 楽曲データ編集装置、楽曲データ配信装置及びプログラム | |
JP3843772B2 (ja) | 自動伴奏装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060410 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060509 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060710 |
|
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: 20060801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060814 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |