説明

電子楽器及びプログラム

【課題】 サーバ装置からストリーム配信される音楽コンテンツに同期させた演奏データの提示を行うことができる電子楽器の提供。
【解決手段】 サーバ装置からのストリーム配信に従って再生中の音楽コンテンツの再生位置を取得し、音楽コンテンツに関連付けられたサーバ装置から取得済みのテンポマップデータに基づき、取得した音楽コンテンツの再生位置を、演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する。変換された音楽的な曲位置にあわせるようにして再生位置及び/又は再生テンポを変更しながら、サーバ装置から擬似ストリーム配信される音楽コンテンツに関連する演奏データを再生し、これに従い所定の態様で演奏データを提示する。これにより、ユーザはストリーム配信される音楽コンテンツに同期した、擬似ストリーム配信される演奏データに基づく演奏ガイドなどの演奏データの提示をうけることができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、外部のサーバ装置から通信ネットワークを介したデータ配信を受けることができる電子楽器及びプログラムに関する。特に、ストリーム配信されるデータに基づき発生される楽音の進行にあわせて、擬似ストリーム配信されるデータに基づいての演奏ガイドなどの演奏データの提示を同期して行うことができるようにした電子楽器及びプログラムに関する。
【背景技術】
【0002】
最近では、通信ネットワークを介した外部のサーバ装置(サーバコンピュータ)からのデータ配信をユーザ側の機器で受け、該配信されたデータをユーザ側の機器で適宜に利用することが広く行われている。電子楽器においても例外でなく、通信ネットワークを介して接続された外部のサーバ装置からストリーム配信されたデータに基づき楽音を発生すること、あるいは擬似ストリーム配信された演奏データ(例えばMIDIデータ)に基づき、楽音を生成することなどができるようになっているものがある。こうした通信ネットワークを介して外部のサーバ装置からデータ配信を受ける技術としては、例えば下記に示す特許文献1又は特許文献2に記載されている技術がその一例である。特許文献1には映像データやオーディオデータ等をストリーム配信する技術が記載されており、一方、特許文献2にはMIDIデータを擬似ストリーム(又はプログレッシブダウンロードとも呼ぶ)配信する技術が記載されている。
【特許文献1】特開2005−148565号公報
【特許文献2】特開2004−045706号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、ユーザは例えば伴奏を聴きながら、あるいは演奏家によって演奏されたお手本となる模範演奏を聴きながら、マニュアル演奏でのメロディ等の演奏練習を行いたい場合がある。そうした場合、伴奏やお手本となる模範演奏の進行にあわせてメロディの演奏ガイドを行う必要があるために、従来においては電子楽器が予め外部のサーバ装置から必要なデータの配信を受けておき(所謂ダウンロード配信)、それらのデータが全てダウンロードされた後にデータの再生を行うことにより、伴奏やお手本となる模範演奏等の発生とメロディの演奏ガイドとを同期制御するようにしている。ただし、この場合には、電子楽器が外部のサーバ装置からダウンロードした多数のデータを記憶できるだけの十分な記憶容量がある記憶手段(ハードディスク)を有している必要があるが、一般的な既存の電子楽器はパソコンなどに比べると記憶容量の少ない記憶手段しか有していないものが多い。
【0004】
そこで、十分な記憶容量がある記憶手段(ハードディスク)を必要とする記憶済みのデータに基づき発生される楽音の進行にあわせて演奏ガイドを行うのではなく、外部のサーバ装置からストリーム配信されるデータに基づき発生される楽音の進行にあわせて演奏ガイドを行うようにするとよい。その場合、外部のサーバ装置において楽音発生のためのデータと演奏ガイドのためのデータとを同じタイミング毎にまとめてパケット化したストリーム配信用のデータを作成しておき、これを電子楽器に対してストリーム配信することで、電子楽器側での楽音の発生と演奏ガイドとの同期制御を行うようにすることが考えられる。しかし、演奏ガイドは該当する箇所の楽音を発生させるよりも先んじて行う必要があり、そうした時間的な微調整を行いながら上記したようなストリーム配信用のデータを作成するには時間がかかり面倒であるだけでなく、そうしたデータを作成すること自体が難しく現実的でない。したがって、外部のサーバ装置からのストリーム配信により発生される楽音の進行にあわせて演奏ガイドを行うことができる電子楽器は非常に有用であるが、従来そうしたものはなかった。なお、この明細書において、楽音という場合、音楽的な音に限るものではなく、音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
【0005】
本発明は上述の点に鑑みてなされたもので、通信ネットワークを介したストリーム配信されるデータに基づく楽音再生に同期させて、通信ネットワークを介した擬似ストリーム配信されるデータに基づく演奏ガイドなどの演奏データの提示を行うことができるようにした、電子楽器及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【0006】
本発明に係る電子楽器は、多数の音楽コンテンツを、前記音楽コンテンツの再生に基づき生成される楽音に対応する演奏データと、再生すべき楽音のテンポ及びその変化を示すテンポマップデータとにそれぞれ関連付けて記憶する機能を有するとともに、該記憶した音楽コンテンツ、演奏データ、テンポマップデータをそれぞれ配信する機能を有するサーバ装置を通信ネットワークを介して接続する接続手段と、前記サーバ装置に記憶済みの多数の音楽コンテンツのうち、いずれかを指定する指定手段と、前記サーバ装置から、前記指定した音楽コンテンツに関連付けられたテンポマップデータを取得するデータ取得手段と、前記指定した音楽コンテンツの配信を開始するよう、前記サーバ装置に対して指示する指示手段と、前記サーバ装置から前記指示に応じてストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生する第1の再生手段と、前記サーバ装置から前記指示に応じて擬似ストリーム配信される演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生する第2の再生手段と、前記再生中の音楽コンテンツの再生位置を取得する取得手段と、前記取得済みのテンポマップデータに基づき、前記取得した音楽コンテンツの再生位置を、演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する変換手段と、前記変換された音楽的な曲位置に基づき、前記再生中の演奏データの再生位置及び/又は再生テンポを変更する変更手段と、前記演奏データの再生に従って所定の態様で演奏データを提示する演奏データ提示手段とを具えてなり、前記サーバ装置からストリーム配信される音楽コンテンツの再生に同期させて、前記サーバ装置から擬似ストリーム配信される演奏データを再生して所定の態様で演奏データを提示することを特徴とする。
【0007】
本発明によると、通信ネットワークを介して接続されたサーバ装置からストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生するとともに、前記サーバ装置から擬似ストリーム配信される前記音楽コンテンツに関連する演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生する場合において、前記再生中の音楽コンテンツの再生位置を取得し、サーバ装置から取得済みの前記音楽コンテンツに関連付けられたテンポマップデータに基づき、前記取得した音楽コンテンツの再生位置を、前記演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する。そして、この変換された音楽的な曲位置にあわせるようにして再生位置及び/又は再生テンポを変更しながら前記演奏データを再生し、これに従って所定の態様で演奏データの提示を行う。これにより、前記サーバ装置からストリーム配信される音楽コンテンツの再生に同期させて、前記サーバ装置から擬似ストリーム配信される演奏データを再生して演奏ガイドなどの演奏データの提示が行われる。こうすると、ユーザが十分な記憶容量のある記憶手段を有していない電子楽器を利用する場合であっても、電子楽器を通信ネットワークを介してサーバ装置に接続するだけで、伴奏やお手本となる模範演奏を参考にしながら、また伴奏やお手本となる模範演奏の進行に同期した演奏ガイドなどの演奏データの提示を受けながらの効果的な演奏練習を、ユーザはいつでも簡単且つすぐに行うことができる。さらには、サーバ装置に、予め音楽コンテンツと演奏ガイドとを同期するための専用のストリーム配信用データを生成しておく必要もない。
【0008】
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【0009】
この発明によれば、通信ネットワークを介して接続されたサーバ装置からテンポマップデータを取得し、テンポマップデータに基づき前記サーバ装置から擬似ストリーム配信される演奏データの再生位置及び/又は再生テンポを、通信ネットワークを介して接続されたサーバ装置からストリーム配信され再生中の音楽コンテンツにあわせて変更し、これに基づき演奏データをユーザに提示することができるという効果を得る。特に演奏データの提示として演奏ガイドを行うようにすると、ユーザは再生中の音楽コンテンツを参考にしながら、該再生中の音楽コンテンツの進行に同期した演奏ガイドを受けての効果的な演奏練習を行うことが容易にできるようになり、より効果的である。そして、その演奏ガイドを演奏すべき時間位置に応じて楽譜形式などで表示する場合、演奏データを擬似ストリームとして一括取得するので、演奏すべき時間的位置の前後まで表示できるといった格別の効果を得ることができる。また、演奏データの提示として電子楽器の鍵盤の演奏データに対応する鍵を駆動させたり、音源を駆動させたりすることにより、ユーザにとっては再生中の音楽コンテンツにあわせた演奏が行われているように感じられ、それを楽しむことができるという効果も得られる。
【発明を実施するための最良の形態】
【0010】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【0011】
図1は、この発明に係る電子楽器の全体構成を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、演奏操作検出回路4、設定操作検出回路5、表示回路6、音源回路7、効果回路8、外部記憶装置9、通信ネットワークインタフェース(I/F)10、MIDIインタフェース(I/F)11がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aはクロックパルスを発生し、発生したクロックパルスをCPU1に対して処理タイミング命令として与えたり、あるいはCPU1に対してインタラプト命令として与える。CPU1は、これらの命令に従って各種処理を実行する。
【0012】
ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。詳しくは後述するが、この実施例では、通信ネットワークXを介して電子楽器本体に接続された外部のサーバ装置10Aからダウンロード配信又は擬似ストリーム配信された、サーバ装置10Aが記憶済みの演奏練習可能な曲(音楽コンテンツ)をユーザに対して一覧提示するためのソングリストデータ(後述する図2参照)や、ユーザが演奏練習したい任意の曲に関する演奏データ(例えばMIDIデータ)及びそれに対応付けられたテンポマップデータ(後述する図3参照)などを、あるいはサーバ装置10Aからストリーム配信されたディジタルオーディオデータ(例えばMP3データ)などを、一時的に記憶することができるようになっている。
【0013】
演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子4A(鍵盤等)はユーザ自身の手弾きによるマニュアル演奏に使用することができるのは勿論のこと、通信ネットワークXを介して電子楽器本体に接続された外部のサーバ装置10Aに対して曲(例えば、お手本となる模範演奏や伴奏など)の再生開始/停止を指示する指示手段などとして使用することもできる。演奏操作検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。設定操作子(スイッチ等)5Aは、例えばユーザが演奏練習したい曲の選択を行うためのスイッチ、ユーザが演奏練習を始めたい曲の位置やパートなどを指定するためのスイッチ、通信ネットワークXを介して接続された外部のサーバ装置10Aに対してユーザ所望の曲の再生の開始/停止を指示するスイッチ(後述するように、電子楽器はサーバ装置10Aに対する曲の再生開始指示に応じて、サーバ装置10Aからストリーム配信を受けて楽音を発生する)などがある。勿論、設定操作子5Aは他にも、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ6Aに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。設定操作検出回路5は、上記各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。
【0014】
表示回路6は例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイ6Aに、例えばソングリストデータに基づく本電子楽器で演奏練習可能な曲を提示する曲一覧画面(図示せず)や、演奏データの再生に応じた曲位置に対応する例えば楽譜等の表示を利用した演奏ガイド、現在設定されているマニュアル演奏環境、あるいはCPU1の制御状態などを表示したりする。ユーザは該ディスプレイ6Aに表示されるこれらの各種情報を参照することで、例えば演奏練習したい曲の選択やマニュアル演奏に関する演奏環境の設定、あるいはマニュアル演奏の練習などを容易に行うことができるようになる。
【0015】
音源回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた、ユーザによる演奏操作子4Aのマニュアル操作に応じて発生される演奏情報、予め記憶されている演奏データに従って発生される演奏情報、あるいは外部のサーバ装置10Aからストリーム配信されたディジタルオーディオデータ等を入力し、これらの演奏情報やデータ等に基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、効果回路8などを介して効果付与されてアンプやスピーカなどを含むサウンドシステム8Aから発音される。この音源回路7と効果回路8とサウンドシステム8Aの構成には、従来のいかなる構成を用いてもよい。例えば、音源回路7はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、CPU1によるソフトウェア処理で構成してもよいし、また専用のハードウェアで構成してもよい。
【0016】
外部記憶装置9は、各種データやCPU1が実行する各種制御プログラム等を記憶する。なお、上述したROM2に制御プログラムが記憶されていない場合、この外部記憶装置9(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置9はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【0017】
通信ネットワークインタフェース(I/F)10は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介して外部のサーバ装置10A(サーバコンピュータ)と接続されて、当該サーバ装置10Aから制御プログラムあるいは各種データなどを電子楽器側に取り込むためのインタフェースである。こうした通信ネットワークインタフェース10は、有線あるいは無線のものいずれかでなく双方を具えていてよい。サーバ装置10Aは各種データを多数記憶し、通信ネットワークXを介して接続された電子楽器に対して、電子楽器からの要求に応じて記憶済みの多数の各種データの中から該当するデータを、データ種類に応じてストリーム配信又は擬似ストリーム配信することができるようになっている。なお、ROM2や外部記憶装置9(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合には、サーバ装置10Aから制御プログラムや各種データをダウンロードすることができることは言うまでもない。
【0018】
MIDIインタフェース(I/F)11は、外部接続された他のMIDI機器11A等からMIDI形式の演奏データ(MIDIデータ)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI形式の演奏データを他のMIDI機器11A等へ出力するためのインタフェースである。他のMIDI機器11Aは、ユーザによるマニュアル演奏操作に応じてMIDI形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。
【0019】
なお、電子楽器は演奏操作子4Aやディスプレイ6Aあるいは音源回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係る電子楽器は上記したような形態に限らず、パーソナルコンピュータやカラオケ装置やゲーム装置など、演奏操作子としても機能するスイッチやボタンあるいはパッドなどのユーザによるマニュアル操作に応じて楽音を発生するものであれば、どのような形態の装置・機器に適用してもよい。
【0020】
図1に示した電子楽器においては、ディスプレイ6Aを駆動して楽譜表示を利用した演奏ガイドや、図示しない鍵盤LEDを駆動して自動的に点灯/消灯を繰り返す演奏ガイドなどを、通信ネットワークXを介して接続されたサーバ装置10Aからストリーム配信される音楽コンテンツをリアルタイムに再生(分析/再構成)することにより発生される楽音の進行にあわせて行うことができるようになっている。そこで、こうしたサーバ装置10Aからの音楽コンテンツのストリーム配信に応じた楽音の発生と、サーバ装置10Aからの演奏データの擬似ストリーム配信に応じた演奏ガイドとを同期して行う演奏ガイド機能の概要について、図2を用いて説明する。
【0021】
図2は、演奏ガイド機能の一実施例を模式的に示すブロック図である。図中における矢印はデータや信号の流れを示すものであり、サーバ装置10Aから電子楽器EMに対してストリーム配信されるデータの流れについては点線で示し、擬似ストリーム配信又はダウンロード配信されるデータの流れについては実線で示している。なお、演奏ガイド機能を実現する構成としては図2に示す以外のハードウェア等を有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
【0022】
サーバ装置10Aは、多数の音楽コンテンツ及びそれに関連するデータ等を記憶するコンテンツ記憶機能、通信ネットワークXを介して接続された外部機器に対して記憶済みの音楽コンテンツ及びそれに関連するデータ等を配信するデータ配信機能を有する。記憶部DCは前記コンテンツ記憶機能を実現するものであり、ここでは多数の音楽コンテンツを記憶すると共に、該記憶済みの多数の音楽コンテンツを曲名やアーティスト名等の曲を特定できる情報で一覧表示するためのソングリスト(Songlist)PLCを記憶する。記憶部DCにおける音楽コンテンツの具体的な記憶方法の一例としては、各音楽コンテンツを曲ジャンル等で分類できるように、曲ジャンル等の分類毎に対応付けられたフォルダSF(Song1,Song2,Song3・・・)に分けて、曲データセットファイルSD(Song1.html)として記憶する。1つの曲データセットファイルSD(Song1.html)は、複数のデータ(ファイル)と関連付けがなされている。各データの関連付けの方法としてはいくつかの方法がある。例えば、関連付ける各データへのリンクパスで構成される関連付けファイルを別に用意する、各データに付与するデータファイル名を共通にする一方で拡張子を各データ毎に異ならせる、コンテンツ名を冠した1つのフォルダに関連付ける各データをまとめておく、等の方法がある。勿論、上記方法に限らず、関連付ける複数のデータをユーザが容易に管理/特定することができる方法であれば、どのような方法であってもよい。
【0023】
前記互いに関連付けられる複数のデータは、ディジタルオーディオデータ(Song1.mp3)、MIDI等の演奏データ(Song1.mid)、テンポマップデータ(Song1.map)である。ディジタルオーディオデータ(Song1.mp3)はお手本となる模範演奏あるいは伴奏を発生するためのデータ(音楽コンテンツ)であって、演奏家や先生(音楽教師)などによる実際の生演奏に応じて自然楽器や電子楽器等から発生される楽音をサンプリング化しながら録音し、該録音済みのサンプリング化した楽音に対してデータ圧縮化などを施す(施さなくてもよい)ことによって生成されるデータである(つまり、MIDIなどの演奏データでない)。ディジタルオーディオデータは、典型的には曲の全パートを分けることなくミックスした状態のままで記憶されていてよいが、右手パート、左手パート、それらのマイナスワンあるいはユーザが弾かない伴奏パートなどの、パート毎に分かれたマルチチャンネルデータとして記憶されていてもよいし、あるいは前記パート毎にそれぞれが別々のデータとして記憶されていてもよい。こうしたディジタルオーディオデータにおいては、曲の再生位置の情報を、サンプリング周波数とサンプルカウントの組み合わせや、曲頭からの経過時間などで特定できるよう規定する。
【0024】
演奏データ(Song1.mid)は、関連付けられたディジタルオーディオデータに基づく曲等の楽音(ディジタルオーディオ信号)を電子楽器を制御して発生させることができる、例えばMIDIデータである。また、演奏データは演奏ガイドを行うために電子楽器を制御する際に必要とされる制御データでもある。テンポマップデータ(Song1.map)は、電子楽器における、サーバ装置10Aからストリーム配信される音楽コンテンツをリアルタイムに再生(分析/再構成)することによる楽音の発生と、サーバ装置10Aから擬似ストリーム配信される演奏データの再生(分析/再構成)に基づく演奏ガイドとを同期させて行うためのデータである。具体的には、ディジタルオーディオデータに規定されるサンプルカウントや時間といった音楽コンテンツにおける再生位置を特定する情報を、演奏データに規定される曲のテンポ、あるいは拍や小節といった音楽的な曲位置を特定する情報に変換するためのデータである。こうしたテンポマップデータは公知のどのようなものであってもよく、その一例を図3に示す。図3は、テンポマップデータのデータ構成の一実施例を示す概念図である。
【0025】
テンポマップデータは、コンテンツ製作者がすでに収録してある演奏家や先生(音楽教師)などによる演奏の映像または音声等を再生し、その再生楽音を聴きながら一拍ごとに公知の専用装置(図示せず)のスイッチをタッピングし、そのタッピング操作の時間間隔に従いテンポの変化を記録することにより生成される。ただし、一般的に、ユーザが無理なく正確にスイッチをタッピングできる一拍間隔でのテンポ変化の記録では、曲中でのテンポ変化を捉えるには時間間隔が粗すぎるため、より細かい時間間隔で補完しながらテンポ変化を時系列に記録する。例えば、図3(a)に示すテンポマップデータのように、曲の先頭から1/24拍毎に、その時間間隔内に含まれるサンプル数を時系列に記録する。実施の演奏に応じて発生された楽音を録音する際のサンプリング周波数が48KHzであって、曲の演奏テンポが120beat/minである場合には、1/24拍に含まれるサンプル数は「1000」サンプルに相当する。ただし、図3(a)に示す例においては、1拍毎の微妙なタイミングのずれを補完するための補完値(ここでは2サンプル)が考慮されている。
【0026】
一方、図3(b)に示すテンポマップデータは、曲毎のテンポと拍子と持続小節数を示す時系列データからなる。図3(b)に示すテンポマップデータに従うと、曲の先頭から最初の200小節まではテンポ=120,拍子=4/4、次の160小節ではテンポ=140,拍子=4/4、更に次の200小節ではテンポ=140,拍子=3/4、そして最後の200小節ではテンポ=120,拍子=4/4で曲(詳しくはディジタルオーディオデータ)が再生されることを示している。電子楽器では、このようなテンポマップデータをサーバ装置10Aから音楽コンテンツ(ディジタルオーディオデータ)及び演奏データ(MIDIデータ)の配信前に先んじて取り込んでおき、これをベースにして前記サーバ装置10Aから擬似ストリーム配信される演奏データに基づく演奏ガイドの制御を、前記サーバ装置10Aからストリーム配信される音楽コンテンツに基づき発生する楽音の進行にあわせて行う(詳しくは後述する)。なお、この実施例に示すテンポマップデータにおいては、曲の先頭の持続小節数には「−」符号が付加されている。この「−」符号は、サーバ装置10Aからストリーム配信される音楽コンテンツの再生開始から、サーバ装置10Aから擬似ストリーム配信される演奏データの再生開始(演奏ガイドの開始)までの空白期間を挿入することを意味し、「−」符号に続く数値が、その空白期間の長さ(小節数)を示している。
【0027】
図2の説明に戻って、データ転送部FFはデータ配信機能を実現するものであり、ここではサーバ装置10Aから通信ネットワークXを介して接続された電子楽器EMに対して、記憶部DCに記憶しているデータ(ソングリストデータ、ディジタルオーディオデータ、テンポマップデータ、演奏データ)を必要に応じて、各データ毎に予め決められた配信態様で送信するものである。例えば、データ転送部FFは、通信ネットワークXを介して電子楽器EMが接続されることに応じて、ソングリストデータを電子楽器EMに対して送信する。また、通信ネットワークXを介して接続された電子楽器EMからの曲選択指示に応じて、該選択された曲に関連付けられたテンポマップデータをダウンロード配信し、さらに電子楽器EMからの再生開始指示に応じて、前記選択された曲のディジタルオーディオデータのストリーム配信と、前記選択された曲に関連付けられた演奏データの擬似ストリーム配信とを開始する。
【0028】
サーバ装置10Aによるディジタルオーディオデータのストリーミング配信は、公知のように、例えばRTP(Real-time Transport Protocol)に従って行われる。すなわち、サーバ装置10Aは、ディジタルオーディオデータを予め決まっている固定サンプル数ずつに分け、この固定サンプル数をペイロード(パケットの中身の情報)としたパケットを生成する。このパケットには、適当な値を初期値としてデータパケットの配信毎に1つずつその値が増えるシーケンスナンバー(連番)からなるヘッダが付される。あるいは、サンプリングクロックをもとにしたタイムスタンプからなるヘッダが付される。サーバ装置10Aは、前記生成したパケット(RTPデータパケット)を電子楽器EMに対して次々と配信する。例えば、サンプリング周波数が48kHzの非圧縮オーディオデータを160サンプル毎にパケット化するものとすると、3.3ミリ秒ごとに160サンプル分のオーディオデータを含んだパケットが電子楽器EMに対して配信され、その配信される各パケットに付されているヘッダはシーケンス番号N(初期値)、N+1、N+2、・・・、あるいはタイムスタンプM、M+160、M+320、・・・となる。上記パケット通信によるデータ配信はRTPに従うものであることから(従ってUDP(User Datagram Protocol)にも従う)、サーバ装置10Aが送信したパケットを電子楽器EM側で受け取れなかった場合であっても(つまりパケットロス)、サーバ装置10Aは該当のパケットの再送を行わない。
【0029】
他方、電子楽器EMは上述した図1に示すような構成であって、ユーザによるマニュアル演奏を実現できるだけでなく、通信ネットワークXを介して接続された前記サーバ装置10Aからストリーム配信される音楽コンテンツ(ディジタルオーディオデータ)に基づき再生される曲の進行にあわせて、ディスプレイ6Aに楽譜を表示する、あるいは図示しない鍵盤LEDを点灯/消灯したりするなどの演奏ガイドを、前記サーバ装置10Aからの演奏データの擬似ストリーム配信を受けて行うことができるようになっている。データ転送部FRは、サーバ装置10Aにおける上記したデータ転送部FFからソングリストデータ、ディジタルオーディオデータ、テンポマップデータ、演奏データを受信する。記憶部DEは、サーバ装置10Aから送られたソングリストデータ、テンポマップデータ及び演奏データを記憶する(図中において斜線で示す)。ソングリストデータは、通信ネットワークXを介して電子楽器EMとサーバ装置10Aとが接続されることに応じて自動的に取得されて記憶される。ユーザインタフェース部YIは、前記記憶部DEに記憶されたソングリストデータに基づき前記サーバ装置10Aに記憶されている多数の音楽コンテンツをディスプレイ6Aに一覧表示するよう、表示回路6等を制御する。ユーザは、ディスプレイ6Aに表示された曲(音楽コンテンツ)の一覧をもとに、演奏練習したい曲選択を行うことができる。テンポマップデータ及び演奏データは、ユーザが選択した曲に関連するものだけが取得されて記憶される。
【0030】
再生部PEは、前記サーバ装置10Aからストリーム配信される音楽コンテンツ(ディジタルオーディオデータ)を再生し、楽音(ディジタルオーディオ信号)を生成する。すなわち、電子楽器EMは、サーバ装置10Aからストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生する。具体的には、サーバ装置10Aから次々と配信されるパケットをデータ転送部FRにより受信することに応じて、該受信したパケット内のペイロードをバッファリングし、バッファリングしたデータをリアルタイムに分析/再構成して楽音を生成する。電子楽器EMはパケットの受信処理において、ヘッダ内のシーケンス番号(あるいはタイムスタンプ)を監視しており、この監視によって通信ネットワークXにおける通信の混み具合(通信トラフィック量)によりパケットの到着に入れ替わりが生じたとしても、正しい順番で楽音を生成することができるようになっている。ここで、再生処理をするタイミングになっても、次に再生すべき順番のパケットが到着していない場合には、パケット生成時に用いられた所定の固定サンプル数分(例えば160サンプル分)だけ無音の楽音を生成する。つまり、到着していないパケットに続く次のパケットが先に到着していたとしても、それを前倒しで再生することはない。
【0031】
計測部Kは、前記再生部PEにより生成された楽音(ディジタルオーディオ信号)のサンプル数をカウントし、サンプルカウント値を記憶部DEに記憶する。この計測部Kにおけるディジタルオーディオ信号からのサンプル数のカウント方法は公知のどのような方法であってもよいことから、ここではその説明を省略する。楽音出力部OTは、前記生成された楽音を発音する。MIDI再生部MPは、サーバ装置10Aから擬似ストリーム配信され記憶部DEに記憶された演奏データを、受け取り済みのものから再生できる分だけ順次に再生する。すなわち、サーバ装置10Aから擬似ストリーム配信される演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生する。また、このMIDI再生部MPは演奏データの再生時に、変換部CVから曲位置及び/又はテンポ更新情報を受信すると、曲位置及び/又は曲の再生テンポを変更した上で演奏データを再生する。変換部CVは、再生部PEによるディジタルオーディオデータの再生に応じて随時に更新されながら記憶部DEに記憶されるサンプルカウント値に基づき、ディジタルオーディオデータにおける楽音の曲位置及びテンポ情報を、演奏データにおける楽音の曲位置及びテンポ情報に変換する。MIDI再生部MPでの演奏データの再生により発生された信号(オーディオ信号)は、演奏ガイド制御部G(演奏データ提示部)に送られる。
【0032】
演奏ガイド制御部G(演奏データ提示部)は、前記MIDI再生部MPでの演奏データの再生により発生された信号(オーディオ信号)に基づき演奏ガイドなどの演奏データの提示を行うようユーザインタフェース部YIを制御する。演奏ガイドを行う場合、ユーザインタフェース部YIはディスプレイ6Aの表示や図示しない鍵盤LEDの点灯/消灯等を制御する。すなわち、MIDI再生部MPによる演奏データの再生時においては、演奏ガイド制御部Gからの制御指示に応じて、曲の進行にあわせてディスプレイ6Aの表示を更新したり、図示しない鍵盤LED等を点灯制御したりする。このように、ユーザインタフェース部YIは演奏ガイド制御部Gからの制御指示に基づき、表示回路6や鍵盤LED等の演奏ガイドを行う機器を駆動して、サーバ装置10Aからストリーム配信される音楽コンテンツ(ディジタルオーディオデータ)を再生することに応じて発生される楽音の進行にあわせた(同期した)演奏ガイドを行う。
【0033】
次に、サーバ装置10Aからの音楽コンテンツのストリーム配信に応じた楽音の発生と、サーバ装置10Aからの演奏データの擬似ストリーム配信に応じた演奏ガイドとを同期して行う具体的な処理(演奏ガイド制御処理)について、図4及び図5を用いて説明する。ただし、ここでは図示の都合上、上記処理を処理順に前半・後半の2つの処理に分けて図示した。図4は、「演奏ガイド制御処理」における前半処理の一実施例を示すフローチャートである。図5は、「演奏ガイド制御処理」における前半処理に後続する後半処理の一実施例を示すフローチャートである。以下、図4及び図5に示したフローチャートに従って、「演奏ガイド制御処理」について説明する。
【0034】
図4に示すように、ステップS1は、通信ネットワークXを介して接続されたサーバ装置10Aから、該サーバ装置10Aが記憶している多数の音楽コンテンツの一覧(詳しくは、曲名などを記載したソングリストデータ)を取得する。ステップS2は、前記取得したソングリストデータに基づきディスプレイ6Aに曲(音楽コンテンツ)一覧を表示して、ユーザに対して演奏練習したい曲の選択を促す。ステップS3は、ユーザによる演奏練習したい曲の選択操作に応じて、通信ネットワークXを介して接続されたサーバ装置10Aに対し、該選択された曲に関連付けられたテンポマップデータを送信するよう要求し、サーバ装置10Aからダウンロード配信されるテンポマップデータを取得する。ステップS4は、ユーザ操作に応じて、演奏練習を開始する曲の位置(演奏開始位置)、演奏練習したい曲の演奏パートを取得する。ステップS5は、演奏ガイド及び演奏データ再生のテンポと、演奏ガイド及び演奏データ再生を開始する演奏位置を初期化する。ステップS6は、ユーザ操作を待って、サーバ装置10Aに対して、演奏練習したい曲に選ばれた曲の再生を開始するよう要求する。具体的には、再生開始指示を送信する。ステップS7は、サーバ装置10Aから、演奏練習したい曲に選ばれた曲の音楽コンテンツ及び関連付けられた演奏データの配信を受け、これらのデータを取得する。すなわち、サーバ装置10Aでは前記再生開始指示を受信すると、演奏練習したい曲に選ばれた音楽コンテンツ(ディジタルオーディオデータ)のストリーム配信を開始すると共に、演奏練習したい曲に選ばれた音楽コンテンツに関連付けられている演奏データの擬似ストリーム配信を開始するので、電子楽器EMはこれらのデータ配信に従って各データを取得する。また、電子楽器EMはストリーム配信された音楽コンテンツの取得に応じて、ユーザによる再生指示等がなくても、取得した音楽コンテンツの再生を自動的に行う。
【0035】
図5に示すように、ステップS8は、サーバ装置10Aからストリーム配信されるパケットに欠落があるか否か、つまりサーバ装置10Aが送信したパケットのうち電子楽器EM側で受け取れなかったパケット(パケットロス)があるか否かを判定する。このパケットの欠落は、該当のパケット到着のタイムアウトを検出することで判断する。パケットに欠落がないと判定した場合には(ステップS8のno)、受信したパケットを正しい順序に従って各パケット内に含まれるディジタルオーディオデータの再生を行うと共に、再生したディジタルオーディオデータを計測してサンプルカウント値を更新する(ステップS9)。ステップS10は、前記ステップS3においてサーバ装置10Aからダウンロード済みのテンポマップデータを用いて、前記計測したサンプルカウント値に従い現在再生中の曲の音楽的な曲位置(例えば小節、拍等)を求める。前記サンプルカウント値は、現在再生中の音楽コンテンツの再生位置であり、音楽コンテンツに基づく楽音の生成を制御するための、音楽コンテンツにおける制御単位である。一方、音楽的な曲位置は、演奏データに基づく楽音の生成を制御するための、演奏データにおける制御単位である。すなわち、ここでは音楽コンテンツの制御単位である現在再生中の音楽コンテンツの再生位置を、演奏データの制御単位である音楽的な曲位置に変換する。
【0036】
ステップS11は、前記求めた音楽的な曲位置に応じて、演奏データに基づき再生中の曲のカレントポジション(再生位置)、テンポを更新する。例えば、所定時間経過後にサーバ装置10Aからのストリーム配信に応じて再生されている曲と曲位置が一致するように、演奏データに基づく再生中の曲の再生位置や再生テンポを更新する。ステップS12は、前記更新したカレントポジション及びテンポに応じて、再生中の演奏データのカレントポジション(再生位置)、テンポを変更するとともに、演奏データの再生に基づいて演奏ガイドを行う。すなわち、サーバ装置10Aからのストリーム配信に応じて再生されている曲の再生位置及び曲の再生テンポと、サーバ装置10Aから擬似ストリーム配信された演奏データに基づく演奏ガイド位置と演奏ガイドのためのテンポとを一致させて、ストリーム配信に応じて発せられる楽音に同期した演奏ガイドを行うようにする。なお、演奏データ内にテンポ情報が定義されていても、そのテンポ情報は無視する。ステップS13は、ユーザによるマニュアル演奏操作に応じて楽音を発生する。ステップS14は、曲の終端つまり演奏データの終わりまで再生位置が達したか否かを判定する。曲の終端まで再生が行われたと判定した場合、つまり再生が終了した場合には(ステップS14のyes)、当該処理を終了する。一方、曲の終端まで再生が行われていないと判定した場合には(ステップS14のno)、ステップS8の処理に戻って、上記ステップS8〜ステップS14の処理を繰り返し実行する。
【0037】
一方、上記ステップS8において、パケットに欠落があると判定した場合には(ステップS8のyes)、欠落したパケット内に含まれていたサンプル数だけ、サンプルカウント値を更新し(ステップS15)、また演奏データの再生を一時停止する。すなわち、次に再生すべき順番のパケットが到着していない場合(パケットロスがある場合)には、パケット生成時に用いられた所定の固定サンプル数分(例えば160サンプル分)だけ無音の楽音が生成されることから、この無音である時間分だけ演奏データの再生を一時停止して、無音部分の演奏ガイドを行わないことは勿論のこと、発生される楽音より演奏ガイドを必要以上に先に進行して行わないないようにする。上記ステップS15及びS16の処理後は、ステップS8の処理へ戻る。
【0038】
以上のようにして、本発明に係る電子楽器は、通信ネットワークを介して接続されたサーバ装置からストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生する。また、前記サーバ装置から擬似ストリーム配信される前記音楽コンテンツに関連する演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生し、これに基づき演奏ガイドを行う。これらの処理を同時に行う場合に、前記再生中の音楽コンテンツの再生位置を取得し、予めサーバ装置から取得済みの前記音楽コンテンツに関連付けられたテンポマップデータに基づき、前記取得した音楽コンテンツの再生位置を、前記演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する。そして、この変換された音楽的な曲位置にあわせるようにして、再生位置及び/又は再生テンポを変更しながら前記演奏データを再生する。これにより、前記サーバ装置からストリーム配信される音楽コンテンツの再生に同期させて、前記サーバ装置から擬似ストリーム配信される演奏データを再生しての演奏ガイドが行われる。こうすると、ユーザが十分な記憶容量のある記憶手段を有していない電子楽器を利用する場合であっても、電子楽器を通信ネットワークを介してサーバ装置に接続するだけで、伴奏やお手本となる模範演奏等を参考にしながら、また伴奏やお手本となる模範演奏の進行に同期した演奏ガイドなどの演奏データの提示を受けながらの効果的な演奏練習を、ユーザはいつでもどこででも簡単且つすぐに行うことができる。さらには、サーバ装置に、予め音楽コンテンツと演奏ガイドなどの演奏データの提示とを同期するための専用の配信データを生成しておく必要がない。
【0039】
なお、サーバ装置による音楽コンテンツのストリーム配信に応じた楽音の発生、電子楽器による演奏データの再生に応じた演奏ガイド、ユーザの演奏操作子(鍵盤)操作による電子楽器の楽音生成は、右手/左手/両手などの練習パートを指定することでパート切り替えをするようにすると、演奏練習がより効果的に行えることができ便利である。
なお、外部のサーバ装置からストリーム配信する音楽コンテンツとしては、ディジタルオーディオデータに限らない。例えば、お手本となる模範の演奏操作を録画した動画データ(楽音+映像)であってもよい。この場合、電子楽器は、ディジタルオーディオ信号のサンプル数をカウントするのではなく、動画データに含まれる動画情報であるフレーム数をカウントし、該カウントしたフレーム数に従ってサーバ装置における動画データの再生との同期を行うようにするとよい。さらに、音楽コンテンツの内容としては、お手本となる模範演奏や伴奏に限らず、例えば演奏家や演奏指導者等による音声による演奏指示や演奏時における留意点など、どのような内容であってもよい。
なお、外部のサーバ装置から擬似ストリーム配信する演奏データとしてはMIDIデータに限らず、電子楽器において演奏ガイドなどの演奏データの提示を行うことができるものであればどのようなものであってもよい。例えば、演奏データは論理楽譜データであってもよい。楽譜を利用した演奏ガイドを行う場合には、データサイズが必然的に大きくなるビットマップデータを利用するよりも、ビットマップデータに比較してデータサイズが小さい論理楽譜データを用いると、曲の進行に対して楽譜表示の更新が少なくてすむ。したがって、このような論理楽譜データをサーバ装置から取得して演奏ガイドを行う場合には、特に本発明が効果的である。
【0040】
なお、サーバ装置に記憶される音楽コンテンツ、ソングリストデータ、演奏データ及びテンポマップデータ等の各種データの作成・更新・変更、あるいはそれらの各データの対応付け設定などを、ユーザが電子楽器から任意に行うことができるようになっていてもよい。
なお、演奏データの提示はユーザに対して次に演奏すべき演奏操作子を提示することができる演奏ガイドの態様は勿論のこと、それ以外のどのような提示態様であってもよく、上記した以外にも、例えば自機が有する演奏操作子(鍵盤)4Aを駆動して自動的に押鍵動作を行う、音源回路7を駆動して楽音を発生する、などの提示態様であってもよい。また、演奏ガイドは演奏すべき時間的位置に応じて楽譜形式などで表示するようにしてもよいが、その場合、擬似ストリームとして一括取得した演奏データを用い、演奏すべき時間的位置の前後まで表示するようにするとよい。
【図面の簡単な説明】
【0041】
【図1】この発明に係る電子楽器の全体構成を示したハード構成ブロック図である。
【図2】演奏ガイド連動機能の一実施例を模式的に示したブロック図である。
【図3】テンポマップデータの一実施例を示す概念図である。
【図4】演奏ガイド制御処理の前半処理の一実施例を示すフローチャートである。
【図5】演奏ガイド制御処理の前半処理の一実施例を示すフローチャートである。
【符号の説明】
【0042】
1…CPU、1A・・・タイマ、2…ROM、3…RAM、4・・・演奏操作検出回路、5…設定操作検出回路、4A…演奏操作子、5A…設定操作子、6…表示回路、6A…ディスプレイ、7…音源回路、8…効果回路、8A…サウンドシステム、9…外部記憶装置、10…通信ネットワークインタフェース、10A…サーバ装置、11…MIDIインタフェース、11A…MIDI機器、1D…通信バス、X…通信ネットワーク、EM・・・電子楽器、DC(DE)・・・記憶部、SF・・・ソングフォルダ、SD・・・ソングファイル、PLC・・・ソングリスト、FF(FR)・・・データ転送部、K・・・計測部、CV・・・変換部、PE・・・再生部、MP・・・MIDI再生部、YI・・・ユーザインタフェース部、G・・・演奏ガイド制御部、OT・・・楽音出力部

【特許請求の範囲】
【請求項1】
多数の音楽コンテンツを、前記音楽コンテンツの再生に基づき生成される楽音に対応する演奏データと、再生すべき楽音のテンポ及びその変化を示すテンポマップデータとにそれぞれ関連付けて記憶する機能を有するとともに、該記憶した音楽コンテンツ、演奏データ、テンポマップデータをそれぞれ配信する機能を有するサーバ装置を通信ネットワークを介して接続する接続手段と、
前記サーバ装置に記憶済みの多数の音楽コンテンツのうち、いずれかを指定する指定手段と、
前記サーバ装置から、前記指定した音楽コンテンツに関連付けられたテンポマップデータを取得するデータ取得手段と、
前記指定した音楽コンテンツの配信を開始するよう、前記サーバ装置に対して指示する指示手段と、
前記サーバ装置から前記指示に応じてストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生する第1の再生手段と、
前記サーバ装置から前記指示に応じて擬似ストリーム配信される演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生する第2の再生手段と、
前記再生中の音楽コンテンツの再生位置を取得する取得手段と、
前記取得済みのテンポマップデータに基づき、前記取得した音楽コンテンツの再生位置を、演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する変換手段と、
前記変換された音楽的な曲位置に基づき、前記再生中の演奏データの再生位置及び/又は再生テンポを変更する変更手段と、
前記演奏データの再生に従って所定の態様で演奏データを提示する演奏データ提示手段と
を具えてなり、
前記サーバ装置からストリーム配信される音楽コンテンツの再生に同期させて、前記サーバ装置から擬似ストリーム配信される演奏データを再生して所定の態様で演奏データを提示することを特徴とする電子楽器。
【請求項2】
コンピュータに、
多数の音楽コンテンツを、前記音楽コンテンツの再生に基づき生成される楽音に対応する演奏データと、再生すべき楽音のテンポ及びその変化を示すテンポマップデータとにそれぞれ関連付けて記憶する機能を有するとともに、該記憶した音楽コンテンツ、演奏データ、テンポマップデータをそれぞれ配信する機能を有するサーバ装置を通信ネットワークを介して接続する手順と、
前記サーバ装置に記憶済みの多数の音楽コンテンツのうち、いずれかを指定する手順と、
前記サーバ装置から、前記指定した音楽コンテンツに関連付けられたテンポマップデータを取得する手順と、
前記指定した音楽コンテンツの配信を開始するよう、前記サーバ装置に対して指示する手順と、
前記サーバ装置から前記指示に応じてストリーム配信される音楽コンテンツを受信しながら、同時に受信済みの前記音楽コンテンツを順次に再生する手順と、
前記サーバ装置から前記指示に応じて擬似ストリーム配信される演奏データをダウンロードしながら、前記演奏データの一部がダウンロードされた段階で前記演奏データを順次に再生する手順と、
前記再生中の音楽コンテンツの再生位置を取得する手順と、
前記取得済みのテンポマップデータに基づき、前記取得した音楽コンテンツの再生位置を、演奏データに基づく楽音の生成を制御するための音楽的な曲位置に変換する手順と、
前記変換された音楽的な曲位置に基づき、前記再生中の演奏データの再生位置及び/又は再生テンポを変更する手順と、
前記演奏データの再生に従って所定の態様で演奏データを提示する手順と
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate