(57)【要約】      （修正有）【課題】複数のサーバから同時に配信された複数のストリームを同期を取りながら再生することが可能となる電子音楽制作・再生装置を提供する。【解決手段】ユーザが音楽コンテンツを検索するための検索条件を入力すると、電子音楽制作・再生装置１００は、入力された検索条件をメディアサーバに送信する。メディアサーバは、その検索条件に合致したコンテンツ情報を電子音楽制作・再生装置１００に送信し、電子音楽制作・再生装置１００は、このコンテンツ情報を表示画面上でユーザに提示する。ユーザが提示されたコンテンツ情報に基づいて、プレイリストを作成し、プレイリストに従った音楽コンテンツ再生を開始すると、電子音楽制作・再生装置１００は、プレイリストに記載された音楽コンテンツが格納されているメディアサーバに対して、ストリーム配信を指示し、受信した複数のストリームデータを同期を取りながら再生する。【選択図】図２
2009237470.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続する接続手段と、
該接続手段によって接続された通信ネットワーク上にある複数のメディアサーバを検出する検出手段と、
ユーザが入力した検索条件を取得する検索条件取得手段と、
前記検出手段によって検出された複数のメディアサーバのそれぞれに対して、前記取得された検索条件に合致するコンテンツ情報を取得するコンテンツ情報取得手段と、
該コンテンツ情報取得手段によって取得された複数のコンテンツ情報をユーザに提示する提示手段と、
該提示手段によって提示された複数のコンテンツ情報からユーザの指示に応じたコンテンツ情報を選択する選択手段と、
該選択手段によって選択されたコンテンツ情報のコンテンツを格納するメディアサーバのそれぞれに対して、ストリーム配信あるいは擬似ストリーム配信を指示する指示手段と、
該指示手段による指示に応じて、当該メディアサーバがそれぞれストリーム配信あるいは擬似ストリーム配信した各コンテンツデータの遅延時間の差を吸収するバッファ手段であって、コンテンツデータ毎に設けられたものと、
該各バッファ手段にそれぞれ格納された各コンテンツデータを同期させながら読み出して再生する再生手段と
を有することを特徴とする電子音楽制作・再生装置。
【請求項２】
前記バッファ手段に格納された各コンテンツデータの時間関係を揃えるとともに、該各コンテンツデータを相互に関連付けて記憶する記憶手段をさらに有することを特徴とする請求項１に記載の電子音楽制作・再生装置。
【請求項３】
通信ネットワークに接続する接続手順と、
該接続手順によって接続された通信ネットワーク上にある複数のメディアサーバを検出する検出手順と、
ユーザが入力した検索条件を取得する検索条件取得手順と、
前記検出手順によって検出された複数のメディアサーバのそれぞれに対して、前記取得された検索条件に合致するコンテンツ情報を取得するコンテンツ情報取得手順と、
該コンテンツ情報取得手順によって取得された複数のコンテンツ情報をユーザに提示する提示手順と、
該提示手順によって提示された複数のコンテンツ情報からユーザの指示に応じたコンテンツ情報を選択する選択手順と、
該選択手順によって選択されたコンテンツ情報のコンテンツを格納するメディアサーバのそれぞれに対して、ストリーム配信あるいは擬似ストリーム配信を指示する指示手順と、
該指示手順による指示に応じて、当該メディアサーバがそれぞれストリーム配信あるいは擬似ストリーム配信した各コンテンツデータの遅延時間の差を吸収するバッファ手段であって、コンテンツデータ毎に設けられたものにそれぞれ格納された各コンテンツデータを同期させながら読み出して再生する再生手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のサーバから、検索条件に合致するコンテンツを検索し、該検索されたコンテンツをストリーミング再生する電子音楽制作・再生装置およびその制御方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
ネットワーク上のサーバから、検索条件に合致するコンテンツを検索し、該検索されたコンテンツをストリーミング再生する電子音楽制作・再生装置は、従来から知られている。
【０００３】
このような装置として、ＤＬＮＡ（Digital Living Network Alliance）（登録商標）規格の技術を用いて、ネットワーク上のサーバから、検索条件に合致するコンテンツを検索し、該検索されたコンテンツをストリーム配信させるものがある（たとえば、非特許文献１参照）。
【非特許文献１】「はじめてのＤＬＮＡ」日経ＮＥＴＷＯＲＫ第７１号、２００６年２月２２日発行、日経ＢＰ社刊行（第２２頁〜第３５頁）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、最近の音楽の楽しみ方として、ある程度の長さ（たとえば、１小節）を持った音素材を複数（たとえば、ドラムパートとベースパート）組み合わせて音楽を制作し、これを再生して楽しむということがある。組み合わせる音素材はそれぞれ、テンポと拍子が相互に合致している必要があるため、所望のテンポと拍子を持つ音素材をネットワーク上で複数個検索した結果、検索された複数の音素材が１つのサーバではなく、複数のサーバに別々に置かれていることがある。そして、複数のサーバに置かれている音素材を選択して組み合わせる場合、選択された音素材を複数のサーバから同時にストリーム配信させなければならないが、これを前記従来の装置を用いて実現することはできなかった。その理由は、前記従来の装置は、１つのサーバが配信するストリームを再生するものであり、複数のサーバが同時に配信するストリームを再生することを想定していないので、複数のサーバから同時に配信された複数のストリームを同期を取りながら再生することができないからである。
【０００５】
本発明は、この点に着目してなされたものであり、複数のサーバから同時に配信された複数のストリームを同期を取りながら再生することが可能となる電子音楽制作・再生装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の電子音楽制作・再生装置は、通信ネットワークに接続する接続手段と、該接続手段によって接続された通信ネットワーク上にある複数のメディアサーバを検出する検出手段と、ユーザが入力した検索条件を取得する検索条件取得手段と、前記検出手段によって検出された複数のメディアサーバのそれぞれに対して、前記取得された検索条件に合致するコンテンツ情報を取得するコンテンツ情報取得手段と、該コンテンツ情報取得手段によって取得された複数のコンテンツ情報をユーザに提示する提示手段と、該提示手段によって提示された複数のコンテンツ情報からユーザの指示に応じたコンテンツ情報を選択する選択手段と、該選択手段によって選択されたコンテンツ情報のコンテンツを格納するメディアサーバのそれぞれに対して、ストリーム配信あるいは擬似ストリーム配信を指示する指示手段と、該指示手段による指示に応じて、当該メディアサーバがそれぞれストリーム配信あるいは擬似ストリーム配信した各コンテンツデータの遅延時間の差を吸収するバッファ手段であって、コンテンツデータ毎に設けられたものと、該各バッファ手段にそれぞれ格納された各コンテンツデータを同期させながら読み出して再生する再生手段とを有することを特徴とする。
【０００７】
請求項２に記載の電子音楽制作・再生装置は、請求項１の電子音楽制作・再生装置において、前記バッファ手段に格納された各コンテンツデータの時間関係を揃えるとともに、該各コンテンツデータを相互に関連付けて記憶する記憶手段をさらに有することを特徴とする。
【０００８】
上記目的を達成するため、請求項３に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【０００９】
請求項１または３に記載の発明によれば、通信ネットワーク上にある複数のメディアサーバが検出され、該検出された複数のメディアサーバのそれぞれに対して、ユーザによって入力された検索条件に合致するコンテンツ情報が取得され、該取得された複数のコンテンツ情報がユーザに提示され、該提示された複数のコンテンツ情報からユーザの指示に応じたコンテンツ情報が選択され、該選択されたコンテンツ情報のコンテンツを格納するメディアサーバのそれぞれに対して、ストリーム配信あるいは擬似ストリーム配信が指示され、該指示に応じて、当該メディアサーバがそれぞれストリーム配信あるいは擬似ストリーム配信した各コンテンツデータの遅延時間の差を吸収するバッファ手段であって、コンテンツデータ毎に設けられたものにそれぞれ格納された各コンテンツデータが同期を取られながら読み出されて再生されるので、複数のメディアサーバから同時に配信された複数のストリームを同期を取りながら再生することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、本発明の一実施の形態に係る電子音楽制作・再生装置１００の概略構成を示すブロック図である。
【００１２】
同図に示すように、電子音楽制作・再生装置１００は、演奏情報を入力するための鍵盤を含む演奏操作子１と、各種情報を入力するための複数のスイッチを含むパネル操作子２と、演奏操作子１の操作状態を検出する検出回路３と、パネル操作子２の操作状態を検出する検出回路４と、装置全体の制御を司るとともに、後述するメディアサーバなどから取得したオーディオ形式のストリームデータを必要に応じてデコードしたり、あるいはオーディオ形式のデータをミキシング加工したりする信号処理を行うＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ６と、演奏情報、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置９と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置１０と、外部からのＭＩＤＩ（musical instrument digital interface）メッセージを入力したり、ＭＩＤＩメッセージを外部に出力したりするＭＩＤＩインターフェース（Ｉ／Ｆ）１１と、通信ネットワーク４０１を介して、他の電子音楽制作・再生装置２００やメディアサーバコンピュータ（以下、「メディアサーバ」と略して言う）３００とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）１２と、演奏操作子１から入力された演奏情報や、前記外部記憶装置１０に記憶されたいずれかの楽曲データあるいはメディアサーバ３００から配信されたＭＩＤＩ形式のストリームデータを再生して得られた演奏情報等を楽音信号に変換する音源回路１３と、該音源回路１３からの楽音信号に各種効果を付与するための効果回路１４と、該効果回路１４からの楽音信号を音響に変換する、たとえば、ＤＡＣ（digital-to-analog converter）やアンプ、スピーカ等のサウンドシステム１５とにより構成されている。
【００１３】
上記構成要素３〜１４は、バス１６を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、ＭＩＤＩＩ／Ｆ１１には他のＭＩＤＩ機器４００が接続され、通信Ｉ／Ｆ１２には通信ネットワーク４０１が接続され、音源回路１３には効果回路１４が接続され、効果回路１４にはサウンドシステム１５が接続されている。ここで、通信Ｉ／Ｆ１２および通信ネットワーク４０１は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
【００１４】
外部記憶装置１０としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置１０には、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１５】
ＭＩＤＩＩ／Ｆ１１は、専用のものに限らず、ＲＳ−２３２ＣやＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェースより構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信してもよい。
【００１６】
通信Ｉ／Ｆ１２は、上述のように、たとえばＬＡＮ（local area network）やインターネット、電話回線等の通信ネットワーク４０１に接続されており、該通信ネットワーク４０１を介して、メディアサーバ３００に接続される。外部記憶装置１０に上記各プログラムや各種パラメータが記憶されていない場合には、通信Ｉ／Ｆ１２は、メディアサーバ３００からプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽制作・再生装置１００は、通信Ｉ／Ｆ１２および通信ネットワーク４０１を介してメディアサーバ３００へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。メディアサーバ３００は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク４０１を介して電子音楽制作・再生装置１００へと配信し、電子音楽制作・再生装置１００が通信Ｉ／Ｆ１２を介して、これらプログラムやパラメータを受信して外部記憶装置１０に蓄積することにより、ダウンロードが完了する。このように、本実施の形態では、メディアサーバ３００にプログラムやパラメータを配信するサーバとしての機能を持たせるようにしたが、メディアサーバ３００の本来の機能は、後述するように、音楽コンテンツを配信することであるので、メディアサーバ３００は、この本来の機能のみを営む専用サーバとし、プログラムやパラメータを配信するサーバは、メディアサーバ３００の他に新たに設けるようにしてもよい。
【００１７】
効果回路１４は、ＣＰＵ５等からバス１６経由で供給される任意のオーディオサンプルデータからなる楽音信号を、音源回路１３からの楽音信号そのもの、あるいはそれに各種効果を付与した楽音信号とともに、サウンドシステム１５に出力することができる。これにより、メディアサーバ３００から配信されたデジタルオーディオである楽音信号を、ＣＰＵ５が必要に応じてデコードした上で、ミキシングなどの信号処理を施し、その結果を、効果回路１４を経由させてサウンドシステム１５から放音することができる。音源回路１３によって生成された楽音信号、あるいはそれに効果回路１４によって各種効果が付与された楽音信号も、バス１６経由でＣＰＵ５に取り込み、ＣＰＵ５によってミキシングなどの信号処理を施すようにし、さらに効果回路１４を経由させてサウンドシステム１５から放音するようにしてもよい。なお、デコードや信号処理のための専用回路やＤＳＰ（digital signal processor）を設けてバス１６に接続させるように構成してもよい。
【００１８】
なお、本実施の形態では、電子音楽制作・再生装置１００を電子鍵盤楽器上に構築するようにしたが、これに限らず、鍵盤を外部接続した汎用的なパーソナルコンピュータ上に構築してもよい。また、ミキサなどの音響機器上に構築するようにしてもよい。その場合には、楽音信号をミキシングするための信号処理回路やＡＤ／ＤＡ変換回路などは必須の構成要素であるが、音源回路は必須の構成要素ではない。
【００１９】
他の電子音楽制作・再生装置２００は、電子音楽制作・再生装置１００と同様の構成要素によって構成される。また、メディアサーバ３００も、電子音楽制作・再生装置１００と同様の構成要素によって実現することもできるが、演奏操作子１、検出回路３およびＭＩＤＩＩ／Ｆ１１は必須の要素ではないので、これらを省略してもよく、一般的には、汎用サーバコンピュータが用いられる。
【００２０】
図２は、電子音楽制作・再生装置１００、他の電子音楽制作・再生装置２００およびメディアサーバ３００の制御構成を示すブロック図である。
【００２１】
同図に示すように、電子音楽制作・再生装置１００は、主として、メディアサーバ部１００ａ、コンテンツ格納部１００ｂ、クライアント部１００ｃおよび音楽制作・再生アプリケーション部１００ｄによって構成されている。
【００２２】
メディアサーバ部１００ａは、主として、前記ＣＰＵ５が、たとえば前記ＲＯＭ６に記憶されたメディアサーバ用ソフトウェアを実行することで実現される。そしてメディアサーバ部１００ａは、通信ネットワーク４０１を介して接続された、音楽コンテンツを再生可能な他の装置、図示例では、他の電子音楽制作・再生装置２００およびその他の装置５００から、コンテンツ格納部１００ｂに格納されている音楽コンテンツをストリーム配信して欲しい旨の指示を受けると、その指示に応じた音楽コンテンツを読み出して、指示元の装置にストリーム配信する。なお、メディアサーバ部１００ａは、ストリーム配信の他にも、音楽コンテンツを再生可能な他の装置が送信した検索条件を受信し、その検索条件に合致した音楽コンテンツを示すコンテンツ情報をその装置に送信する処理などを行うが、その詳細については、図３および図４に基づいて後述する。
【００２３】
コンテンツ格納部１００ｂは、前記外部記憶装置１０に相当し、複数の音楽コンテンツを格納する。音楽コンテンツは、音楽に関するコンテンツであって、それを再生可能な装置があれば、どのようなものでも構わない。音楽コンテンツの例としては、音声データのみ、音声データ＋静止画像データ、音声データ＋動画像データなどを挙げることができる。ただし、本実施の形態では、ＤＬＮＡ（登録商標）の規格に従って、音楽コンテンツを送受信しているので、音声データは、ＬＰＣＭ（linear pulse code modulation）形式のデータ、静止画像データは、ＪＰＥＧ（joint photographic experts group）形式のデータ、動画像データは、ＭＰＥＧ−２（moving picture experts group phase-2）形式のデータを採用している。もちろん、音楽コンテンツの送受信にＤＬＮＡ（登録商標）の規格を用いなくても、本発明の特徴は変わらないので、ＤＬＮＡ（登録商標）の規格を用いない場合には、音声データ、静止画像データおよび動画像データは、上記形式以外のものを用いてもよいし、あるいは、上記形式のものに加えて上記形式以外のものを用いるようにしてもよい。
【００２４】
クライアント部１００ｃは、主として、ＣＰＵ５が、たとえばＲＯＭ６に記憶されたクライアント用ソフトウェアを実行することで実現される。そしてクライアント部１００ｃは、音楽制作・再生アプリケーション部１００ｄを介してユーザが入力した検索条件を、通信ネットワーク４０１上の他の装置に送信し、これに応じて他の装置から返信されてきた、当該検索条件に合致したコンテンツ情報を受信して、音楽制作・再生アプリケーション部１００ｄに渡す。またクライアント部１００ｃは、音楽制作・再生アプリケーション部１００ｄから指示された所定の音楽コンテンツのストリーム配信要求を、当該音楽コンテンツを格納している他の装置に送信し、これに応じて他の装置がストリーム配信した音楽コンテンツを受信して、前記ＲＡＭ７の所定位置に確保されたバッファ（図示せず）に格納する。
【００２５】
音楽制作・再生アプリケーション部１００ｄは、主として、ＣＰＵ５が、たとえばＲＯＭ６に記憶された音楽制作・再生アプリケーションソフトウェアを実行することで実現される。そして音楽制作・再生アプリケーション部１００ｄは、ユーザによる検索条件入力を受け付けて、その入力された検索条件をクライアント部１００ｃに渡したり、前述のように、クライアント部１００ｃから、この検索条件に合致したコンテンツ情報を受信して、表示画面上に表示したり、この表示された情報に基づいてユーザが作成したプレイリスト（後述する図５参照）に登録された音楽コンテンツの再生を指示したりする。なお、入力された検索条件に合致するコンテンツ情報を有する音楽コンテンツが、自身のコンテンツ格納部１００ｂに格納されている場合もあるが、その場合には、当該コンテンツ情報はコンテンツ格納部１００ｂから直接取得される。
【００２６】
このように、電子音楽制作・再生装置１００は、音楽コンテンツのストリーム配信を他の装置に指示し、これに応じて他の装置がストリーム配信した音楽コンテンツを受信して再生するクライアント機能と、他の装置からのストリーム配信の指示に従って、音楽コンテンツをストリーム配信するサーバ（メディアサーバ）機能の両方の機能を備えている。
【００２７】
他の電子音楽制作・再生装置２００は、電子音楽制作・再生装置１００と、コンテンツ格納部２００ｂに格納されている音楽コンテンツが異なるのみであるので、その制御構成の詳細な説明は省略する。
【００２８】
メディアサーバ３００は、電子音楽制作・再生装置１００の２つの機能のうちのメディアサーバ機能と同様の機能だけ営むようにしたものであり、メディアサーバ３００とメディアサーバ部１００ａとは、コンテンツ格納部３００ｂに格納されている音楽コンテンツが異なるのみであるので、メディアサーバ３００の制御構成の詳細な説明は省略する。
【００２９】
その他の装置５００は、電子音楽制作・再生装置１００の２つの機能のうちのクライアント機能と同様の機能だけ営むようにしたものであるので、その制御構成の詳細な説明は省略する。
【００３０】
以上のように構成された電子音楽制作・再生装置１００およびメディアサーバが実行する制御処理を、まず図２を参照してその概要を説明し、次に図３〜図５を参照して詳細に説明する。なお、「メディアサーバ」のように、符号を付けないで記載した場合には、メディアサーバ３００とメディアサーバ機能を営んでいる他の電子音楽制作・再生装置２００の両方を示すものとする。また、電子音楽制作・再生装置１００は、前述のように、クライアント機能とメディアサーバ機能の両方を備えているが、電子音楽制作・再生装置１００が実行する制御処理は、クライアント機能のみを実現するものであり、メディアサーバ機能を実現するものではない。もちろん、メディアサーバが実行する制御処理を電子音楽制作・再生装置１００に適用すれば、電子音楽制作・再生装置１００でも、メディアサーバ機能が実現される。
【００３１】
ユーザが、電子音楽制作・再生装置１００を介して、音楽コンテンツを検索するための検索条件を入力すると、電子音楽制作・再生装置１００は、入力された検索条件を通信ネットワーク４０１上のメディアサーバに送信する。検索条件を受信したメディアサーバは、その検索条件に合致したコンテンツ情報を電子音楽制作・再生装置１００に送信し、電子音楽制作・再生装置１００は、このコンテンツ情報を表示画面上に一覧表示して、ユーザに提示する。
【００３２】
ユーザが、電子音楽制作・再生装置１００を介して、提示されたコンテンツ情報の一覧に基づいて、プレイリストを作成あるいは編集し、このプレイリストに従った音楽コンテンツ再生を開始すると、電子音楽制作・再生装置１００は、プレイリストに記載されたコンテンツ情報の音楽コンテンツが格納されているメディアサーバに対して、ストリーム配信を指示する。ストリーム配信の指示されたメディアサーバは、ストリーム配信を開始する。本発明の特徴の１つは、複数のメディアサーバからそれぞれストリーム配信された複数のストリームデータを受信して再生することにあるので、プレイリストには、複数のコンテンツ情報が記載され、各コンテンツ情報にそれぞれ対応する音楽コンテンツは、複数のメディアサーバに格納されているものとする。
【００３３】
電子音楽制作・再生装置１００は、受信した複数のストリームデータを同期を取りながら再生する。同期を取る方法としては、本実施の形態では、メディアサーバ毎に、ストリーム配信を指示してから実際にストリームデータを受信するまでの転送遅延時間を算出し、ストリームデータの再生位置から、この転送遅延時間を加味した所定時間前、つまり、ストリームデータの再生位置から、この転送遅延時間と所定量のストリームデータを配信するのに要する時間との和に相当する時間だけ前に、ストリーム配信を指示し、これに応じて、各メディアサーバがそれぞれ配信したストリームデータを、ストリームデータ毎に設けられたバッファに格納し、各バッファ内にそれぞれ蓄えられているストリームデータを所定タイミングで読み出して再生する方法を採用している。つまり、読み出すべきストリームデータは、各バッファ内に常に前倒しで蓄えられているので、読み出すべきストリームデータが各バッファ内に蓄えられていないという状態は起こり得ない。ただし、後述するように、ストリームデータの配信レートを微調整しなければならない場合も起こり得る。
【００３４】
このように、本実施の形態では、通信ネットワーク上にある複数のメディアサーバが格納している音楽コンテンツであって、所望の検索条件に合致するものを検索でき、その検索結果からユーザが選択した複数の音楽コンテンツであって、複数のメディアサーバから同時にストリーム配信されたものを同期を取りながら再生することができる。
【００３５】
次に、この制御処理を詳細に説明する。
【００３６】
図３および図４は、電子音楽制作・再生装置１００およびメディアサーバ３００が実行する制御処理の手順を示すフローチャートである。電子音楽制作・再生装置１００が実行する制御処理は、前述のように、前記２つの機能のうちのクライアント機能を実現するためのものである。そして、他の電子音楽制作・再生装置２００も、電子音楽制作・再生装置１００のクライアント機能と同様のクライアント機能を営んでいるので、電子音楽制作・再生装置１００が実行する制御処理は、他の電子音楽制作・再生装置２００（のクライアント機能）にも同様に適用できる。また、メディアサーバ３００が実行する制御処理は、メディアサーバ３００のみではなく、他の電子音楽制作・再生装置２００（のメディアサーバ機能）によっても実行される。これは、本発明の特徴の１つが、複数のメディアサーバから同時に配信された複数のストリームデータを同期を取りながら再生することにあるので、本実施の形態では、メディアサーバ３００と他の電子音楽制作・再生装置２００（のメディアサーバ機能）を複数のメディアサーバとして用いるようにしたからである。
【００３７】
電子音楽制作・再生装置１００が実行する制御処理は、主として、
（１）メディアサーバ検出処理（ステップＳ１０１，Ｓ１０２）
（２）プレイリスト作成・編集処理（ステップＳ１０３〜Ｓ１０８）
（３）プレイリスト再生処理（ステップＳ１０９〜１１９）
によって構成されている。
【００３８】
これに対して、メディアサーバが実行する制御処理は、上記（１）〜（３）の各処理に応答する処理によって構成されている。
【００３９】
前記（１）のメディアサーバ検出処理では、まず前記クライアント部１００ｃは、通信ネットワーク４０１上にあるメディアサーバを検出する（ステップＳ１０１）。メディアサーバの検出は、具体的には、マルチキャスト・アドレス宛にメディアサーバを探していることを示すパケットデータを送信する。通信ネットワーク４０１上のメディアサーバ、つまり、メディアサーバ３００および他の電子音楽制作・再生装置２００は、このパケットを受信し、応答パケットを電子音楽制作・再生装置１００に送信する（ステップＳ３０１）。応答パケットには、メディアサーバの場所情報（通信ネットワーク４０１上の場所情報）がＵＲＬ（uniform resorce locator）として含まれている。クライアント部１００ｃは、応答パケットを送信したメディアサーバから詳しい機器情報を取得する（ステップＳ１０２）。機器情報の取得は、具体的には、応答パケットを送信したメディアサーバのそれぞれに対して、ユニキャストで詳しい機器情報を問い合わせ、これに応じて、各メディアサーバがそれぞれ送信した自身の詳しい機器情報（ステップＳ３０２）を受信することによってなされる。ここで、クライアント部１００ｃがユニキャストでメディアサーバと情報のやり取りができるのは、応答パケット内に、当該メディアサーバの場所を特定可能なＵＲＬが含まれているからである。また、詳しい機器情報としては、「機器名」、「ベンダ名」、「格納されている音楽コンテンツを問い合わせるためのＵＲＬ」等を挙げることができる。
【００４０】
前記（２）のプレイリスト作成・編集処理では、まず音楽制作・再生アプリケーション部１００ｄは、プレイリストを初期化する（ステップＳ１０３）。
【００４１】
図５は、プレイリストの一例を示す図である。プレイリストは、ストリーム再生したい音楽コンテンツを選択するためのリストであり、図示例では、トラック１に、電子音楽制作・再生装置１００のコンテンツ格納部１００ｂから選択したコンテンツＡの全体を、トラック２に、他の電子音楽制作・再生装置２００のコンテンツ格納部２００ｂから選択したコンテンツＤの全体を、トラック３に、メディアサーバ３００から選択したコンテンツＨの一部を貼り付けたものが示されている。
【００４２】
次に音楽制作・再生アプリケーション部１００ｄは、ユーザが入力した検索条件を取得する（ステップＳ１０４）。検索条件としては、たとえば、コンテンツの長さ、テンポ、拍子、コンテンツの種類（本実施の形態では、音声データのみ、音声データ＋静止画像データおよび音声データ＋動画像データのうちのいずれか）等を挙げることができる。検索条件の入力方法は、上記検索条件を入力できるものであればどのようなものでもよいが、たとえば、検索条件を入力する入力欄を表示し、ポインチングデバイス（図示せず）を用いて、その入力欄にカーソル（図示せず）を合わせ、クリック操作を行うと、検索条件の候補が一覧表示され、その中からいずれかを選択して入力する方法が考えられる。
【００４３】
次に音楽制作・再生アプリケーション部１００ｄは、入力された検索条件に合致するコンテンツ情報を取得する（ステップＳ１０５）。コンテンツ情報の取得は、具体的には、詳しい機器情報に含まれる“ＵＲＬ”のすべてに対して、入力された検索条件を送信し、その検索条件に合致する音楽コンテンツが格納されているかどうか問い合わせ、これに応じて、検索条件に合致する音楽コンテンツを格納しているメディアサーバが送信したコンテンツ情報（ステップＳ３０３）を受信することによってなされる。ここで、コンテンツ情報とは、たとえば、コンテンツの名称、コンテンツの長さ、テンポ、拍子、コンテンツの種類などを挙げることができる。
【００４４】
そして音楽制作・再生アプリケーション部１００ｄは、取得したコンテンツ情報を表示装置９上に提示する（ステップＳ１０６）。提示されたコンテンツ情報に基づいて、ユーザがプレイリストの編集（プレイリストが初期化状態のときには、プレイリストの生成）操作を行うと、それに応じて、プレイリストが編集（あるいは生成）される（ステップＳ１０７）。コンテンツ情報は、本実施の形態では、当該コンテンツの長さに応じた長さの短冊であって、拍位置を示すインジケータが付いたものによって、プレイリストのウィンドウとは別のウィンドウ上に提示されるので、ユーザは、好みのコンテンツ情報をドラッグして、プレイリスト上の好みのトラックの好みの位置に移動させ、その位置でドロップするという編集操作を行う。これにより、好みのコンテンツ情報がプレイリスト上の好みの位置に貼り付けられ、プレイリストが編集される。なお、コンテンツ情報は、その全体だけでなく、その一部についても、プレイリストに貼り付けることができる。その場合、拍位置を示すインジケータが、コンテンツ情報の全体から一部を切り出して、プレイリストに貼り付けるときの目印になる。
【００４５】
以上の検索条件の取得からプレイリストの編集までの処理（ステップＳ１０４〜Ｓ１０７）は、ユーザが編集終了操作（たとえば、前記パネル操作子２中の編集終了スイッチ（図示せず）を押下する操作）を行うまでなされる（ステップＳ１０８）。
【００４６】
前記（３）のプレイリスト再生処理では、まず音楽制作・再生アプリケーション部１００ｄは、プレイリストに登録されているコンテンツ情報の音楽コンテンツを格納しているメディアサーバのそれぞれからのデータの転送遅延時間を算出する。データの転送遅延時間とは、音楽制作・再生アプリケーション部１００ｄが当該メディアサーバにストリーム配信を指示してから、当該メディアサーバがストリーム配信したデータが音楽制作・再生アプリケーション部１００ｄに実際に届くまでの時間である。そしてその算出方法は、たとえば、算出目的のメディアサーバに対して、遅延時間の算出用パケットを送信した時刻と、これに応じて当該メディアサーバが返信したパケットを受信した時刻との時間差、つまり転送遅延時間を実際に計時する方法が考えられる。
【００４７】
次に音楽制作・再生アプリケーション部１００ｄは、ユーザがパネル操作子２中の再生スイッチ（図示せず）を押下すると、それに応じてプレイリストに従った音楽コンテンツ再生を開始する（ステップＳ１１０）。具体的には、音楽制作・再生アプリケーション部１００ｄは、プレイリスト上の再生位置をプレイリストの先頭にリセットした後、再生を停止する（ステップＳ１１９）までの間、タイマ８を利用するなどして生成されるクロック信号に基づいて、再生位置を所定のテンポに応じて逐次進めながら、音楽コンテンツの再生を継続する。そして、現在の再生位置がプレイリスト上に貼り付けられたコンテンツの先頭に近付くと（たとえば図５では、再生の現在位置がコンテンツＨ部分の先頭に近付きつつある）、音楽制作・再生アプリケーション部１００ｄは、現在の再生位置にその予想される変動分を加味した所定時間前に、当該メディアサーバに対してストリーム配信の開始を指示する（図４のステップＳ１１１）。これに応じて、メディアサーバは、指示された音楽コンテンツをストリームデータとして配信する（ステップＳ３０４）。
【００４８】
電子音楽制作・再生装置１００がストリーム配信の開始を異なるメディアサーバ（たとえば、他の電子音楽制作・再生装置２００とメディアサーバ３００）に指示する場合、その指示をしてからストリームデータが電子音楽制作・再生装置１００に届くまでの時間は、各メディアサーバの能力や通信ネットワーク４０１への接続状況によって異なる。しかし、算出された各遅延時間を加味した所定時間前に各配信の開始を指示することにより、各ストリームデータは、ほぼ同時期に電子音楽制作・再生装置１００に届く。さらに、通信ネットワーク４０１の状態によっては遅延時間が変動し、各ストリームデータの到達時刻が変動するかも知れないが、それを各バッファで吸収することにより、プレイリスト上に貼り付けられたコンテンツの再生を完全に同期させることができる。ここで、メディアサーバに対してストリーム配信を指示する方法には、主として、ＨＴＴＰ（hypertext transfer protocol）による擬似的なものと、ＲＴＰ（real-time transport protocol）によるものがある。
【００４９】
前者の擬似的なストリーム配信では、メディアサーバに対して、順次配信してもらうデータ量を指定してその配信を指示すると、メディアサーバは、音楽コンテンツ中、その指示に応じた量のデータを順次配信する。電子音楽制作・再生装置１００と各メディアサーバとは、それぞれのタイマを利用するなどして生成されるクロック信号を持っているが、厳密に言えば、それぞれのタイマには異なる誤差があり、生成されるクロック信号は同期していない。そのため、電子音楽制作・再生装置１００での再生位置の進み具合やバッファ内のストリームデータの消費の進み具合を、メディアサーバが自身のクロック信号を基にして正確に予測することはできない。しかし、電子音楽制作・再生装置１００が自身のクロック信号を基に、再生位置の進み具合やバッファ内のストリームデータの消費の進み具合を制御するとともに、それに応じてメディアサーバに対するストリームデータの配信要求をも順次することにより、複数のストリームデータを同期再生させることができる。
【００５０】
これに対して、後者のストリーム配信では、メディアサーバに対して、コンテンツの再生開始位置に対応して１回だけ音楽コンテンツの配信開始を指示すると、メディアサーバ側が、音楽コンテンツ中、適当な量のデータを適宜順次配信する。この場合も、厳密に言えば、電子音楽制作・再生装置１００のクロック信号と各メディアサーバのクロック信号とは同期していないため、電子音楽制作・再生装置１００での再生位置の進み具合やバッファ内のストリームデータの消費の進み具合と、メディアサーバによるストリームデータの配信の進み具合が時間の経過とともに徐々にずれるかも知れない。しかし、バッファにその差を吸収するのに十分な大きさを持たせ、再生途中にバッファのオーバーランやアンダーランが起こりそうになったときに、電子音楽制作・再生装置１００から各メディアサーバに対して、ストリームデータの配信レートを下げたり上げたりする指示を行うことで、破綻のない同期再生が可能となる。
【００５１】
図３および図４の制御処理では、前者の擬似的なストリーム配信を用いているが、後者のストリーム配信を用いるようにしてもよい。この場合、後述するステップＳ１１５の判別処理の戻り先を、ステップＳ１１１からステップＳ１１２に変更すればよい。
【００５２】
次に音楽制作・再生アプリケーション部１００ｄは、当該メディアサーバからストリームデータを受け取り、ストリーム毎に設けられたバッファに蓄積し（ステップＳ１１２）、バッファに蓄積されたストリームデータを順次再生する（ステップＳ１１３）。なお、配信されたストリームデータが圧縮された形式である場合には、デコードした上でバッファに蓄積するようにする。その場合、遅延時間の算出の際には、デコード処理にかかる時間も加味しておく。具体的な再生の処理としては、複数のストリームのそれぞれに対応したバッファから、同時に発音すべきオーディオデータをレベル調整したり、加算したりしてミキシングし、効果回路１４経由でサウンドシステム１５から放音する。ステップＳ１１３の処理では、遅延時間に応じてストリームデータを再生するようにしているが、これは、図５のプレイリストに登録された「コンテンツＨ部分」のように、他のストリームデータ（＝コンテンツＡ，Ｄ）の先頭位置と異なる位置に先頭位置があるストリームデータを再生するとともに、電子音楽制作・再生装置１００のクロック信号と各メディアサーバのクロック信号とが厳密には同期していないために起こる再生途中のバッファのオーバーランやアンダーランが起こらないようにするためのものである。いずれのストリームデータも、電子音楽制作・再生装置１００内で生成される１つのクロック信号に基づいて、各メディアサーバに要求が出され、それに基づいて各ストリームデータが配信され、そのストリームデータが当該バッファから読み出されて再生される。なお、後者のストリーム配信を用いるようにしたときには、前述のように、メディアサーバ側がストリーム配信の主導権を握ることになるので、電子音楽制作・再生装置１００のクロック信号と各メディアサーバのクロック信号とが厳密には同期していないために、ストリーム配信のタイミングが、電子音楽制作・再生装置１００が必要とするタイミングより、遅くなったり、早くなったりする。この場合には、電子音楽制作・再生装置１００は、メディアサーバに対して、ストリーム配信のレートを多くしたり、少なくしたりするように微調整を指示する。
【００５３】
さらに音楽制作・再生アプリケーション部１００ｄは、ストリームデータを記録する設定がなされている場合には、音楽制作・再生アプリケーション部１００ｄは、各ストリームデータの時間関係を揃えるとともに、該各ストリームデータを相互に関連付けて前記外部記憶装置１０に記憶する（ステップＳ１１４）。
【００５４】
具体的には、再生対象になっているプレイリストについて、各トラックとそこで使われるコンテンツを特定する情報とそのプレイリスト上の再生時刻情報とを、１つのプレイリストファイルとして外部記憶装置１０に記憶しておく。さらに、再生中にストリーム配信されてくるストリームデータをストリームデータ毎に蓄積し、前記コンテンツを特定する情報に対応させたファイルとして外部記憶装置１０に記憶する。このコンテンツを特定する情報に対応させたファイルは、各コンテンツ格納部にあったコンテンツのうち、プレイリスト上で参照される部分についてのみコピーしたものとなる。したがって、図５において、コンテンツＨ部分に相当するファイルとしては、コンテンツ格納部３００ｂ内のコンテンツＨのうち、プレイリスト９ａで参照されている部分のみが電子音楽制作・再生装置１００の外部記憶装置１０にコピーされる。なお、プレイリスト内に貼り付けられたコンテンツにＭＩＤＩ形式のコンテンツも含まれるようであれば、配信されたＭＩＤＩ形式ストリームデータも再生中に蓄積し、電子音楽制作・再生装置１００の外部記憶装置１０にコピーされる。
【００５５】
あるいは、複数のストリームのそれぞれに対応したバッファから、同時に発音すべきオーディオ形式の楽音信号を取得し、必要に応じてレベル調整した上で加算し、さらにレベル調整し、その結果として得られたステレオ２チャンネルのオーディ形式の楽音信号をプレイリストの再生時間分、外部記憶装置１０に記憶するようにしてもよい。なお、プレイリスト内に貼り付けられたコンテンツにＭＩＤＩ形式のコンテンツも含まれるようであれば、配信されたＭＩＤＩ形式の楽音信号をも最終的なステレオ２チャンネルのオーディ形式の楽音信号に入れ込むようにしてもよい。
【００５６】
以上のステップＳ１１２〜Ｓ１１４の処理は、再生位置がプレイリストの終端（図５の例では、ループエンド位置）に到達するまで継続される。一方、再生位置がプレイリストの終端に到達した後、ユーザによる制御処理の終了操作がなされたときには、ストリーム配信の停止を当該メディアサーバに指示する（ステップＳ１１５→Ｓ１１６→Ｓ１１９）。これにより、メディアサーバは、ストリーム配信を停止する（ステップＳ３０５）。また、再生位置がプレイリストの終端に到達した後、ユーザによる制御処理の終了操作がなされず、かつループ再生が設定されていないときにも、音楽制作・再生アプリケーション部１００ｄは、ストリーム配信の停止を当該メディアサーバに指示する（ステップＳ１１５→Ｓ１１６→Ｓ１１７→Ｓ１１９）。さらに、再生位置がプレイリストの終端に到達した後、ユーザによる制御処理の終了操作がなされず、かつループ再生が設定されているときには、音楽制作・再生アプリケーション部１００ｄは、再生位置を修正（図５の例では、再生位置をループスタート位置に戻す）した（ステップＳ１１５→Ｓ１１６→Ｓ１１７→Ｓ１１８）後、前記ステップＳ１１１に戻る。
【００５７】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００５８】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５９】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００６０】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００６１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施の形態に係る電子音楽制作・再生装置の概略構成を示すブロック図である。
【図２】図１の電子音楽制作・再生装置、他の電子音楽制作・再生装置およびメディアサーバの制御構成を示すブロック図である。
【図３】図２の電子音楽制作・再生装置およびメディアサーバが実行する制御処理の手順を示すフローチャートである。
【図４】図４の制御処理の続きの手順を示すフローチャートである。
【図５】プレイリストの一例を示す図である。
【符号の説明】
【００６３】
５…ＣＰＵ（接続手段、検出手段、検索条件取得手段、コンテンツ情報取得手段、提示手段、選択手段、指示手段、再生手段），７…ＲＡＭ（バッファ手段），９…表示装置（提示手段），１２…通信Ｉ／Ｆ（接続手段），１０…外部記憶装置（記憶手段）
【図１】
2009237470.tif 000003
【図２】
2009237470.tif 000004
【図３】
2009237470.tif 000005
【図４】
2009237470.tif 000006
【図５】
2009237470.tif 000007