【実施例】
【0053】
以下、図面を参照しながら、記録装置、記録方法、及び記録制御用のコンピュータプログラム、並びに再生装置、再生方法、及び再生制御用のコンピュータプログラムの実施例について説明する。尚、以下では、記録装置及び再生装置が適用されるシステムの一例として、(i)クライアント端末20によってユーザの演奏がパートデータ1111として記録(録音)されると共に当該記録されたパートデータ1111が楽曲サーバ10にアップロードされ、(ii)楽曲サーバ10からクライアント端末20に対してパートデータ1111が配信され、(iii)配信されたパートデータ1111及び記録されたパートデータ1111がクライアント端末20上で再生される楽曲再生システム1を用いて説明を進める。この場合、クライアント端末20が記録装置及び再生装置の一例となる。
【0054】
(1)楽曲配信システムの構成
はじめに、
図1を参照して、本実施例の楽曲配信システム1の構成について説明する。ここに、
図1は、本実施例の楽曲配信システム1の構成を示すブロック図である。
【0055】
図1に示すように、楽曲配信システム1は、楽曲サーバ10と、クライアント端末20と、ネットワーク網30とを備えている。
【0056】
楽曲サーバ10は、楽曲を構成する複数のパートデータ1111を格納する。楽曲サーバ10が格納するパートデータ1111は、例えば、クライアント端末20から楽曲サーバ10に対してアップロード(言い換えれば、送信)されたパートデータ1111である。但し、楽曲サーバ10は、その他の態様で取得したパートデータ1111を格納してもよい。各パートデータ1111は、楽曲を構成する複数のパートのうちのいずれか(つまり、複数の楽器パートないしは演奏パートのうちのいずれか)に対応する演奏データに相当する。但し、演奏データがステレオ音声に対応している(つまり、Lチャンネルの音声及びRチャンネルの音声を別個に有している)場合には、Lチャンネルの音声に相当する演奏データ及びRチャンネルの音声に相当する演奏データの夫々が、パートデータ1111として取り扱われてもよい。尚、パートデータ1111については、後に詳述する(
図3等参照)。
【0057】
加えて、楽曲サーバ10は、クライアント端末20からの要求に応じて、クライアント端末20に対して所望のパートデータ1111を配信(言い換えれば、送信)する。
【0058】
クライアント端末20は、楽曲サーバ10に対してパートデータ1111をアップロードする。クライアント端末20がアップロードするパートデータ1111は、例えば、クライアント端末20のユーザが実際に楽器を演奏して作成したパートデータ1111である。但し、クライアント端末20は、その他の態様で作成ないしは取得したパートデータ1111をアップロードしてもよい。
【0059】
加えて、クライアント端末20は、楽曲サーバ10に対して、楽曲サーバ10が格納している複数のパートデータ1111のうちの所望のパートデータ1111の配信を要求する。その結果、クライアント端末20は、楽曲サーバ10から配信される所望のパートデータ1111をダウンロード(言い換えれば、取得ないしは受信)する。その後、クライアント端末20は、取得したパートデータ1111を再生してもよい。
【0060】
ネットワーク網30は、楽曲サーバ10とクライアント端末20との間を接続するネットワーク回線である。ネットワーク網30は、有線のネットワーク回線であってもよいし、無線のネットワーク回線であってもよいし、有線のネットワーク回線と無線のネットワーク回線との組み合わせであってもよい。
【0061】
尚、
図1は、楽曲配信システム1が1つの楽曲サーバ10を備える例を示している。しかしながら、楽曲配信システム1は、複数の楽曲サーバ10を備えていてもよい。この場合、クライアント端末20は、複数の楽曲サーバ10のうちの少なくとも1つに対してパートデータ1111をアップロードすると共に、複数の楽曲サーバ10のうちの少なくとも1つからパートデータ1111をダウンロードしてもよい。
【0062】
また、
図1は、楽曲配信システム1が1つのクライアント端末20を備える例を示している。しかしながら、楽曲配信システム1は、複数のクライアント端末20を備えていてもよい。この場合、あるクライアント端末20は、他のクライアント端末20がアップロードしたパートデータ1111をダウンロードしてもよい。
【0063】
また、
図1は、楽曲サーバ10がパートデータ1111を格納及び配信する例を示している。しかしながら、楽曲サーバ10は、パートデータ1111に加えて又は代えて、任意の演奏データないしは音楽データを格納及び配信してもよい。
【0064】
(2)楽曲サーバの構成
続いて、
図2を参照して、本実施例の楽曲サーバ10の構成について説明する。ここに、
図2は、本実施例の楽曲サーバ10の構成を示すブロック図である。
【0065】
図2に示すように、楽曲サーバ10は、データベース110と、制御部120と、表示情報生成部130と、データ通信部140と備えている。
【0066】
データベース110は、クライアント端末20からアップロードされた複数のパートデータ1111を格納するためのパートデータ格納部111を備える。
【0067】
ここで、
図3から
図5を参照して、データベース110が備えるパートデータ格納部111に格納される複数のパートデータ1111について説明する。ここに、
図3から
図5は、夫々、データベース110が備えるパートデータ格納部111に格納される複数のパートデータ1111の態様を示す模式図である。
【0068】
図3に示すように、パートデータ格納部111には、複数のパートデータ1111が、所定のルールに応じて分類された状態で格納されていることが好ましい。ここで、ルールの一例として、パートデータ1111が構成する楽曲の曲名や、パートデータ1111が構成する楽曲のテンポ等があげられる。従って、同一の曲名を有する楽曲であって且つテンポが同じ楽曲を構成する一又は複数のパートデータ1111が、同一のルールによって分類されるデータ群を構成することが好ましい。例えば、
図3に示す例では、曲名が「○○○○」である楽曲であって且つテンポが「102bpm(Beat Per Minute)」となる楽曲を構成する一又は複数のパートデータ1111が、ルールAという区分に分類されるデータ群を構成した状態で、パートデータ格納部111に格納される。同様に、
図3に示す例では、曲名が「×××」である楽曲であって且つテンポが「88bpm」となる楽曲を構成する一又は複数のパートデータ1111が、ルールBという区分に分類されるデータ群を構成した状態で、パートデータ格納部111に格納される。
【0069】
このようなルールに応じて分類された状態で複数のパートデータ1111を格納するために、パートデータ格納部111は、新たなパートデータ1111を格納する都度、当該新たなパートデータ1111の曲名やテンポ等(つまり、ルールを特徴づける特性)を分析することで、当該新たなパートデータ1111をルールに応じて分類してもよい。但し、新たなパートデータ1111が格納されるのは、クライアント端末20上で、楽曲サーバ10からダウンロードした他のパートデータ1111を伴奏にしながらユーザ自身の演奏が録音されることで新たなパートデータ1111が生成されるタイミングであることが相対的に多い。この場合、新たなパートデータ1111の曲名やテンポは、伴奏にしている他のパートデータ1111の曲名やテンポと一致する。従って、このような場合には、パートデータ格納部111は、当該新たなパートデータ1111の曲名やテンポ等を分析することなく、当該新たなパートデータ1111を、伴奏にした他のパートデータ1111が分類されるルールと同一のルールに分類されると判定してもよい。
【0070】
加えて、パートデータ格納部111には、同一のルールによって分類されるデータ群を構成する複数のパートデータ1111が、パート毎に分類された状態で格納されていることが好ましい。例えば、
図3に示す例では、ルールAという区分に分類されるデータ群を構成する複数のパートデータ1111が、リードギターに対応する一又は複数のパートデータ1111と、コーラスに対応する一又は複数のパートデータ1111と、ベースに対応する一又は複数のパートデータ1111と、ドラムに対応する一又は複数のパートデータ1111と、ボーカルに対応する一又は複数のパートデータ1111とに分類された状態で格納される。同様に、
図3に示す例では、ルールBという区分に分類されるデータ群を構成する複数のパートデータ1111が、リードギターに対応する一又は複数のパートデータ1111と、ベースに対応する一又は複数のパートデータ1111と、ドラムに対応する一又は複数のパートデータ1111と、ボーカルに対応する一又は複数のパートデータ1111とに分類された状態で格納される。
【0071】
このようなパート毎に分類された状態で複数のパートデータ1111を格納するために、パートデータ格納部111は、新たなパートデータ1111を格納する都度、当該新たなパートデータ1111に対応するパートを分析することで、当該新たなパートデータ1111をパート毎に分類することが好ましい。
【0072】
或いは、
図4に示すように、パートデータ格納部111には、同一のルールによって分類されるデータ群を構成する複数のパートデータ1111が、バンドという単位で取りまとめられた状態で格納されていてもよい。ここで、「バンド」とは、一つの楽曲を構成するための一又は複数のパートの集合を示す。つまり、バンドという単位で取りまとめられた複数のパートデータ1111がクライアント端末20上でミキシングされながら再生されることで、仮想的なあるバンドによって一つの楽曲が演奏されている状態が実質的に実現される。
図3に示す例では、ルールAという区分に分類されるデータ群の中で、リードギターに対応する1つのパートデータ1111と、ドラムに対応する1つのパートデータ1111と、ボーカルに対応する1つのパートデータ1111と、ベースに対応する1つのパートデータ1111との組み合わせからデータ群が、バンド#1という単位で取りまとめられた状態で格納されている。同様に、
図3に示す例では、ルールAという区分に分類されるデータ群の中で、リードギターに対応する1つのパートデータ1111と、ドラムに対応する1つのパートデータ1111と、ベースに対応する1つのパートデータ1111との組み合わせからデータ群が、バンド#2という単位で取りまとめられた状態で格納されている。尚、バンド#2のデータ群は、バンド#1のデータ群と比較して、ボーカルに対応するパートデータ1111が含まれていない、いわゆる「マイナスワン」のデータ群に相当する。
【0073】
このとき、バンドという単位で取りまとめられた状態で格納される各パートデータ1111は、他のパートデータ1111とミキシングされる時の設定の態様(例えば、音量やパン等)を示すミキシング情報と共に格納されていてもよい。従って、クライアント端末20は、バンドという単位で取りまとめられた複数のパートデータ1111をミキシングする際には、各パートデータ1111と共に記録されているミキシング情報を参照しながらミキシングすることが好ましい。これにより、クライアント端末20は、複数のパートデータ1111の適切なミキシングを行うことができる。
【0074】
このようなパートデータ格納部111による複数のパートデータ1111のルール毎の、パート毎の又はバンド毎の格納は、例えばパートデータ1111と共にパートデータ格納部111に格納される所定の管理情報によって論理的に実現されてもよい。例えば、パートデータ格納部111は、複数のパートデータ1111自体を直接的に区別することなくそのまま格納すると共に、当該格納しているパートデータ1111のルール毎の、パート毎又はバンド毎の分類を管理するための管理情報を別途格納してもよい。この場合、楽曲サーバ10は、管理情報を参照することで、複数のパートデータ1111があたかも
図3及び
図4に示す態様でパートデータ格納部111上に格納されていると認識することができる。但し、パートデータ格納部111は、物理的なパーティションを区切ることで、複数のパートデータ1111のルール毎の、パート毎の又はバンド毎の格納を、物理的に実現してもよい。
【0075】
ここで、本実施例では、
図5に示すように、各パートデータ1111は、各パートデータ1111をクライアント端末20上で作成(つまり、記録)した時のモニタレベルを直接的に又は間接的に示すレベル値データ1112と組み合わせられた状態で記録されている。ここに、「モニタレベル」とは、クライアント端末20のユーザが実際に楽器を演奏することでパートデータ1111を作成する際の、クライアント端末20から音声として出力されている当該演奏の音量レベルを示す。尚、「モニタレベル」及びレベル値データ1112については、後にクライアント端末20の構成を示す図面(
図8)を参照しながら詳細に説明するため、ここでの詳細な説明は省略する。
【0076】
尚、
図2では、1つの楽曲サーバ10が備えるデータベース110中に、パートデータ格納部111が備えられている例を示している。しかしながら、パートデータ格納部111が、複数の楽曲サーバ10が備える複数のデータベース110に跨って分散して備えられていてもよい。つまり、パートデータ格納部111は、いわゆるクラウドの形態を採用するように複数の楽曲サーバ10に分散配置されていてもよい。
【0077】
再び
図2において、制御部120は、楽曲サーバ10全体の動作を制御する中央制御装置(例えば、CPU:Central Processing Unit)である。制御部120は、その内部に実現される物理的な、論理的な又は機能的な処理ブロックとして、データ通信制御部121を備えている。
【0078】
データ通信制御部121は、クライアント端末20から要求があったパートデータ1111及び当該パートデータ1111に対応するレベル値データ1112を配信するようにデータ通信部140を制御する。加えて、データ通信制御部121は、クライアント端末20からアップロードされるパートデータ1111及び当該パートデータ1111に対応するレベル値データ1112を受信するようにデータ通信部140を制御する。データ通信制御部122は、受信したパートデータ1111及びレベル値データ1112をパートデータ格納部111に格納する。
【0079】
表示情報生成部130は、所定の画面をクライアント端末20が表示するために必要な表示情報(例えば、GUI(Graphic User Interface)情報等)を生成する。表示情報生成部130は、データ通信部140を介して、生成した表示情報をクライアント端末20に送信する。その結果、クライアント端末20は、楽曲サーバ10から送信される表示情報に基づいて生成される画面を表示する。
【0080】
データ通信部140は、データ通信制御部121の制御の下で、ネットワーク網30を介したクライアント端末20との間の通信を行う。従って、クライアント端末20からアップロードされるパートデータ1111及びレベル値データ1112は、データ通信部140によって取得される。取得されたパートデータ1111及びレベル値データ1112は、データ通信制御部121によってパートデータ格納部111に格納される。また、クライアント端末20から要求されたパートデータ1111は、データ通信制御部121によってパートデータ格納部111から読み出される。加えて、読み出されたパートデータ1111に対応するレベル値データ1112もまた、データ通信制御部121によってパートデータ格納部111から読み出される。読みだされたパートデータ1111及びレベル値データ1112は、データ通信制御部121の制御の下で、データ通信部140からクライアント端末20に対して配信される。
【0081】
(3)クライアント端末の構成
(3−1)クライアント端末の全体構成
続いて、
図6を参照して、本実施例のクライアント端末20の構成について説明する。ここに、
図6は、本実施例のクライアント端末20の構成を示すブロック図である。
【0082】
図6に示すように、クライアント端末20は、記憶装置210と、制御部220と、表示部230と、データ通信部240と、音声入力部250と、音声出力部260と、操作部270とを備える。
【0083】
記憶装置210は、クライアント端末20内におけるデータ処理の過程で用いられるデータを一時的に又は恒久的に格納する。記憶装置210として、例えば、ROMやRAMやフラッシュメモリ等の半導体メモリや、ハードディスク等が一例としてあげられる。
【0084】
制御部220は、クライアント端末20全体の動作を制御する中央制御装置(例えば、CPU:Central Processing Unit)である。制御部220は、その内部に実現される物理的な、論理的な又は機能的な処理ブロックとして、表示制御221と、音声制御部222と、操作制御部223と、データ通信制御部224とを備えている。
【0085】
表示制御部221は、楽曲サーバ10の表示情報生成部130から送信される表示情報に基づいて、表示部230が所定の画面(例えば、クライアント端末20の操作の指示をユーザから受け付けるための画面や、クライアント端末20の状態をユーザに示す画面等)を表示するように、表示部230の動作を制御する。本実施例では、表示制御部221は、音声入力部250を介したユーザの演奏をパートデータ1111として録音する指示や、当該録音されたパートデータ1111の楽曲サーバ10へのアップロードの指示をユーザから受け付けるための画面を表示してもよい。また、表示制御部221は、楽曲サーバ10に格納されている複数のパートデータ1111のうちの所望のパートデータ1111のダウンロードの要求の指示をユーザから受け付けるための画面を表示してもよい。このため、楽曲サーバ10の表示情報生成部130から送信される表示情報は、このような画面を表示するために必要な各種情報を含んでいることが好ましい。但し、表示制御部221は、楽曲サーバ10の表示情報生成部130から送信される表示情報に基づくことなく、自身で一から画面を表示するために必要な各種情報を生成してもよい。
【0086】
音声制御部222は、音声入力部250を介したユーザの演奏(例えば、ボーカルないしはコーラスの音声や、各楽器の演奏による音声等)の録音を制御する。録音された演奏は、一時的に又は恒久的に記憶装置210に格納されてもよい。更に、音声制御部222は、録音されたユーザの演奏に対応するレベル値データ1112を作成する。加えて、音声制御部222は、音声入力部250を介したユーザの演奏や楽曲サーバ10からダウンロードしたパートデータ1111の、音声出力部260からの音声としての出力を制御する。
【0087】
操作制御部223は、操作部270を用いたユーザの操作を受け付けると共に、当該受け付けた操作に応じた動作が行われるよう、受け付けたユーザの操作の内容をクライアント端末20内の各部に通知する。例えば、操作制御部223は、音声入力部250を介したユーザの演奏のパートデータ1111としての録音を指示するユーザの操作を受け付けた場合には、当該操作を受け付けた旨を音声制御部222に通知する。その結果、音声制御部222は、ユーザの演奏をパートデータ1111として録音するように音声入力部250の動作を制御する。
【0088】
データ通信制御部224は、例えば、操作制御部223からパートデータ1111のアップロードを指示するユーザの操作を受け付けた旨の通知を受けた場合には、音声制御部222の制御の下で録音されたパートデータ1111及び当該パートデータ1111に対応するレベル値データ1112を楽曲サーバ10へアップロードするようにデータ通信部240を制御する。その結果、音声制御部222の制御の下で録音されたパートデータ1111及び当該パートデータ1111に対応するレベル値データ1112は、データ通信部240を介して、クライアント端末20から楽曲サーバ10へとアップロードされる。
【0089】
また、データ通信制御部224は、例えば、楽曲サーバ10に格納されている複数のパートデータ1111のうちの所望のパートデータ1111のダウンロードを要求するユーザの指示を受け付けた旨の通知を操作制御部223から受けた場合には、所望のパートデータ1111のダウンロードを楽曲サーバ10に要求するメッセージを送信するようデータ通信部240を制御する。このような要求の結果、所望のパートデータ1111(更には、当該所望のパートデータ1111に対応するレベル値データ1112)は、データ通信部240を介して、楽曲サーバ10からクライアント端末20へとダウンロードされる。
【0090】
ここで、
図7を参照して、データ通信制御部224の制御によって実現される所望のパートデータ1111及び当該所望のパートデータ1111に対応するレベル値データ1112のダウンロード及び再生について説明する。ここに、
図7は、制御部220の制御によって実現される所望のパートデータ1111及び当該所望のパートデータ1111に対応するレベル値データ1112のダウンロード及び再生の態様を概略的に示す模式図である。
【0091】
図7に示すように、クライアント端末20は、演奏を録音(記録)することで作成したパートデータ1111を、当該パートデータ1111に対応するレベル値データ1112と共にアップロードする。その結果、アップロードされたパートデータ1111及びレベル値データ1112は、例えばバンドという単位で区別されながらパートデータ格納部111に格納される。
【0092】
更に、
図7に示すように、クライアント端末20は、バンドという単位で取りまとめられた複数のパートデータ1111のダウンロードを要求してもよい。つまり、クライアント端末20は、データ通信制御部224の制御の下で、バンド#1という単位でまとめられたデータ群に含まれる4つのパートデータ1111(具体的には、リードギターに対応する1つのパートデータ1111、ドラムに対応する1つのパートデータ1111、ボーカルに対応する1つのパートデータ1111及びベースに対応する1つのパートデータ1111)のダウンロードを要求してもよい。その結果、クライアント端末20は、データ通信制御部224の制御の下で、リードギターに対応する1つのパートデータ1111と、コーラスに対応する1つのパートデータと、ベースに対応する1つのパートデータ1111と、ドラムに対応する1つのパートデータ1111と、ボーカルに対応する1つのパートデータ1111とを、パート毎に個別にダウンロードする。このとき、クライアント端末20は、各パートデータ1111に加えて、各パートデータ1111に対応するレベル値データ1112も合わせてダウンロードする。
【0093】
但し、クライアント端末20は、バンドという単位に関係なく、任意のパートデータ1111のダウンロードを要求してもよい。
【0094】
その結果、クライアント端末20は、音声制御部222の制御の下で、ダウンロードした各パートデータ1111の音量レベルを、対応するレベル値データ1112に基づいて調整する。その後、音量レベルが調整された各パートデータ1111は、音声制御部222の制御の下でミキシングされた後、音声出力部260から音声として出力(つまり、再生)される。
【0095】
再び
図2において、データ通信部240は、データ通信制御部224の制御の下で、ネットワーク網30を介した楽曲サーバ10との間の通信を行う。従って、クライアント端末20からアップロードされるパートデータ1111及びレベル値データ1112は、データ通信部240を介して楽曲サーバ10に送信される。また、クライアント端末20の要求に応じて楽曲サーバ10から配信されるパートデータ1111及びレベル値データ1112は、データ通信部240によって取得される。取得されたパートデータ1111及びレベル値データ1112は、データ通信制御部224によって、記憶装置210に一時的に又は恒久的に格納されてもよいし、音声出力部260から出力されてもよい。
【0096】
音声入力部250は、「入力手段」の一具体例であって、例えば、マイク等の音声の入力を受け付ける装置である。
【0097】
音声出力部260は、「出力手段」の一具体例であって、例えば、スピーカ等の音声の出力を行う装置である。
【0098】
操作部270は、例えば、キーボードやマウスやタッチパネル等のユーザの操作を受け付ける装置である。
【0099】
(3−2)レベル値データの記録を行う音声制御部の構成
続いて、
図8を参照して、レベル値データ1112を作成する音声制御部222の構成について説明する。ここに、
図8は、クライアント端末20が備える音声制御部222の構成を示すブロック図である。
【0100】
図8に示すように、音声制御部222は、録音レベル調整用アンプ2221と、モニタレベル調整用アンプ2222と、演奏録音部2223と、k(但し、kは1以上の整数)個の伴奏レベル調整用アンプ2224_kと、加算器2225と、レベル値データ作成部2226と、加算器2227とを備える。
【0101】
録音レベル調整用アンプ2221は、「第2調整手段」の一具体例であって、その入力端子が音声入力部250に接続されており、その出力端子が演奏録音部2223及びモニタレベル調整用アンプ2222の入力端子に接続されている増幅器である。録音レベル調整用アンプ2221は、音声入力部250を介して入力されるユーザの演奏の音量レベルが最適な録音レベルとなるように、ユーザの演奏の音量レベルを調整する。尚、以下では、録音レベル調整用アンプ2221から出力されるユーザの演奏の音量レベルを「録音レベルD」と称して説明を進める。
【0102】
モニタレベル調整用アンプ2222は、「第1調整手段」の一具体例であって、その入力端子が録音レベル調整用アンプ2221の出力端子に接続されており、その出力端子が加算器2227に接続されている増幅器である。モニタレベル調整用アンプ2221は、音声入力部250を介して入力されるユーザの演奏がユーザにとって適切な音量レベルで音声出力部260から出力されるように、ユーザの演奏の音量レベルを調整する。尚、以下では、モニタレベル調整用アンプ2222から出力されるユーザの演奏の音量レベルを「モニタレベルB」と称して説明を進める。
【0103】
演奏録音部2223は、「記録手段」の一具体例であって、録音レベル調整用アンプ2221によって音量レベルが調整されたユーザの演奏(つまり、音量レベルが録音レベルDとなっているユーザの演奏)を録音する。つまり、演奏録音部2223は、録音レベル調整用アンプ2221によって音量レベルが調整されたユーザの演奏を、パートデータ1111として記録する。言い換えれば、演奏録音部2223は、録音レベル調整用アンプ2221によって音量レベルが調整されたユーザの演奏に対応するパートデータ1111を作成する。尚、演奏録音部2223は、作成したパートデータ1111を、記憶装置210に一時的に格納してもよいし、データ通信部240を介して楽曲サーバ10にアップロードしてもよい。
【0104】
k個の伴奏レベル調整用アンプ2224_kの夫々は、「第3調整手段」又は「調整手段」の一具体例であって、その入力端子が「取得手段」の一具体例であるデータ通信部240に接続されており、その出力端子が加算器2225に接続されている増幅器である。各伴奏レベル調整用アンプ2224_kは、データ通信部240を介してダウンロードされたパートデータ1111の音量レベルを、当該パートデータ1111に対応するレベル値データ1112に基づいて調整する。
【0105】
加算器2225は、「再生手段」の一具体例であって、k個の伴奏レベル調整用アンプ2224_kのうちの少なくとも1つによって音量レベルが調整された少なくとも1つのパートデータ1111を合成する(つまり、ミキシングする)。加算器2225によってミキシングされたパートデータ1111は、加算器2227に出力される。尚、以下では、加算器2225から出力されるパートデータ1111の音量レベルを「伴奏レベルA」と称して説明を進める。
【0106】
レベル値データ作成部2226は、「作成手段」の一具体例であって、モニタレベルBを直接的に又は間接的に特定可能なレベル値データ1112を作成する。例えば、レベル値データ作成部2226は、モニタレベルBと録音レベルDとの差分C(=B−D)を示すレベル値データ1112を作成してもよい。この場合、モニタレベルBは、レベル値データ1112と録音レベルDとに基づいて特定される。或いは、レベル値データ作成部2226は、モニタレベルBと伴奏レベルAとの差分C(=B−A)を示すレベル値データ1112を作成してもよい。この場合、モニタレベルBは、レベル値データ1112と伴奏レベルAとに基づいて特定される。或いは、レベル値データ作成部2226は、モニタレベルBと予め定められた所定の基準レベルTとの差分C(=B−T)を示すレベル値データ1112を作成してもよい。この場合、モニタレベルBは、レベル値データ1112と基準レベルTとに基づいて特定される。或いは、レベル値データ作成部2226は、所定のモニタレベルB
0に対応する差分C
0(=B
0−D(或いは、A又はT))と、現在のモニタレベルBに対応する差分C(=B−D(或いは、A又はT))との差分ΔC(=C−C
0)を示すレベル値データ1112を作成してもよい。
【0107】
レベル値データ作成部2226は、このようなレベル値データ1112を作成するため、モニタレベルBや録音レベルDや伴奏レベルAを監視することが好ましい。尚、モニタレベルBや録音レベルDや伴奏レベルAは、モニタレベル調整用アンプ2222における音量レベルの調整量や録音レベル調整用アンプ2221における音量レベルの調整量や伴奏レベル調整用アンプ2224_kにおける音量レベルの調整量によって定まる。従って、レベル値データ作成部2226は、モニタレベルBや録音レベルDや伴奏レベルAを直接監視することに加えて又は代えて、モニタレベル調整用アンプ2222や録音レベル調整用アンプ2221や伴奏レベル調整用アンプ2224_kにおける音量レベルの調整量を監視してもよい。
【0108】
加算器2227は、「再生手段」の一具体例であって、ミキシングされたパートデータ1111とモニタレベル調整用アンプ2222によって音量レベルが調整されたユーザの演奏とを合成する(つまり、ミキシングする)。加算器2227によってミキシングされたパートデータ1111及びユーザの演奏は、音声出力部260から音声として出力される。
【0109】
(4)クライアント端末の動作の流れ
続いて、
図9から
図11を参照して、本実施例のクライアント端末20の動作(特に、クライアント端末20によるユーザの演奏の録音時の動作及びクライアント端末20によるパートデータ1111の再生時の動作)の流れについて説明する。ここに、
図9は、本実施例のクライアント端末20によるユーザの演奏の録音時の動作の流れを示すフローチャートである。
図10は、本実施例のクライアント端末20によるパートデータ1111の再生時の動作の流れを示すフローチャートである。
図11は、本実施例のクライアント端末20によって行われる、レベル値データ1112に基づくパートデータ1111の音量レベルの調整の態様を示す説明図である。
【0110】
図9に示すように、ユーザの演奏の録音時には、データ通信制御部224は、ユーザの演奏の録音に先だって、当該ユーザの演奏の録音時に伴奏として出力されるパートデータ1111をダウンロードする(ステップS100)。例えば、ユーザの演奏がギターの演奏である場合には、データ通信制御部224は、ギター以外のパートのパートデータ1111をダウンロードしてもよい。尚、ステップS100の動作は、実質的には、
図10に示すステップS201(ダウンロードを要求するステップ)及びステップS202(実際にダウンロードするステップ)の動作と同一であってもよい。
【0111】
その後、音声制御部222は、ステップS100でダウンロードされたパートデータ1111の再生(つまり、伴奏の再生)を開始する(ステップS101)。具体的には、音声制御部222が備える伴奏レベル調整用アンプ2224_kが、ダウンロードされたパートデータ1111の音量レベルを調整する。その後、加算器2225が、音量レベルが調整されたパートデータ1111をミキシングする。その結果、音量レベルが調整され且つミキシングされたパートデータ1111が、伴奏として音声出力部260から出力される。
【0112】
ステップS101における伴奏の再生と同時に若しくは並行して、又は相前後して、ユーザの演奏が開始される(ステップS102)。ユーザの演奏の開始に伴い、音声制御部222が備える演奏録音部2223は、ユーザの演奏(つまり、録音レベル調整用アンプ2221によって音量レベルが調整されたユーザの演奏)を録音する(ステップS103)。その結果、パートデータ1111が作成される。このとき、演奏録音部2223は、作成したパートデータ1111を、記憶装置210に一時的に格納してもよい。
【0113】
ユーザの演奏の録音と並行して、音声制御部222が備えるレベル値データ作成部2226は、モニタレベルBを検出する(ステップS104)。
【0114】
加えて、ユーザの演奏の録音と並行して、音声制御部222が備えるレベル値データ作成部2226は、伴奏レベルA、録音レベルD及び基準レベルTの少なくとも1つを検出する(ステップS105)。例えば、レベル値データ作成部2226は、モニタレベルBと録音レベルDとの差分C(=B−D)を示すレベル値データ1112を作成したい場合には、録音レベルDを検出する。この場合、レベル値データ作成部2226は、伴奏レベルA及び基準レベルTを検出しなくともよい。或いは、例えば、レベル値データ作成部2226は、モニタレベルBと伴奏レベルDとの差分C(=B−A)を示すレベル値データ1112を作成したい場合には、伴奏レベルAを検出する。この場合、レベル値データ作成部2226は、録音レベルD及び基準レベルTを検出しなくともよい。或いは、例えば、レベル値データ作成部2226は、モニタレベルBと基準レベルTとの差分C(=B−T)を示すレベル値データ1112を作成したい場合には、基準レベルTを検出する。この場合、レベル値データ作成部2226は、録音レベルD及び伴奏レベルAを検出しなくともよい。或いは、例えば、レベル値データ作成部2226は、所定のモニタレベルB
0に対応する差分C
0(=B
0−D(或いは、A又はT))と、現在のモニタレベルBに対応する差分C(=B−D(或いは、A又はT))との差分ΔC(=C−C
0)を示すレベル値データ1112を作成したい場合には、伴奏レベルA、録音レベルD及び基準レベルTのうち差分ΔCを作成するために必要なものを検出する。
【0115】
その後、レベル値データ作成部2226は、ステップS104で検出したモニタレベルBとステップS105で検出した伴奏レベルA、録音レベルD及び基準レベルTの少なくとも1つに基づいて、レベル値データ1112を作成する(ステップS106)。このとき、レベル値データ作成部2226は、作成したレベル値データ1112を、記憶装置210に一時的に格納してもよい。
【0116】
その後、データ通信制御部224は、ステップS103で録音されたユーザの演奏(つまり、パートデータ1111)とステップS106で作成されたレベル値データ1112とを、楽曲サーバ10に対してアップロードする(ステップS107)。
【0117】
続いて、
図10に示すように、パートデータ1111の作成時には、クライアント端末20は、データ通信制御部224の制御の下で、楽曲サーバ10に格納されている複数のパートデータ1111のうちの所望のパートデータ1111のダウンロードを楽曲サーバ10に要求する(ステップS201)。具体的には、例えば、クライアント端末20のユーザは、表示制御部221の制御の下で表示部230に表示される画面(例えば、所望のパートデータ1111を選択するための画面)を見ながら、操作部270を用いた操作によって所望のパートデータ1111を指定する。ユーザによる操作部270を用いた操作は、操作制御部223によって検出される。その結果、操作制御部223は、ユーザがダウンロードを要求している所望のパートデータ1111を特定することができる。その結果、操作制御部223からの通知を受けるデータ通信制御部224は、データ通信部240を用いて、ユーザがダウンロードを要求している所望のパートデータ1111を特定可能な所定のメッセージないしは制御信号を楽曲サーバ10に対して送信する。
【0118】
その結果、楽曲サーバ10のデータ通信制御部121は、データ通信部140を介して、ユーザがダウンロードを要求している所望のパートデータ1111を特定可能な所定のメッセージないしは制御信号を受信する。その結果、データ通信制御部121は、所望のパートデータ1111を特定すると共に、特定したパートデータ1111をパートデータ格納部111から読み出す。更に、データ通信制御部121は、所望のパートデータ1111に対応するレベル値データ1112を特定すると共に、特定したレベル値データ1112をミキシングデータ格納部112から読み出す。その後、データ通信制御部122は、ユーザがダウンロードを要求している所望のパートデータ1111及び当該所望のパートデータ1111に対応するレベル値データ1112を配信する。
【0119】
その結果、クライアント端末20が備えるデータ通信部240は、所望のパートデータ1111及び当該所望のパートデータ1111に対応するレベル値データ1112をダウンロードする(ステップS202)。
【0120】
その後、ダウンロードされたパートデータ1111は、任意の1つの伴奏レベル調整用アンプ2224_kに入力される。伴奏レベル調整用アンプ2224_kは、入力されたパートデータ1111の音量レベルを、当該パートデータ1111に対応するレベル値データ1112に基づいて調整する(ステップS203)。より具体的には、例えば、伴奏レベル調整用アンプ2224_kは、入力されたパートデータ1111の音量レベルを、レベル値データ1112が示す差分Cだけ増幅してもよい。このとき、差分CがモニタレベルB−録音レベルD(或いは、伴奏レベルAないしは基準レベルT)を示している場合には、伴奏レベル調整用アンプ2224_kは、入力されたパートデータ1111の音量レベルを、レベル値データ1112が示す差分Cだけ増幅することが好ましい。尚、
図11は、差分Cがマイナスの値を有している場合の差分Cだけ音量レベルを増幅する(つまり、差分Cの絶対値|C|の分だけ音量レベルを減衰する)態様を示している。或いは、例えば、伴奏レベル調整用アンプ2224_kは、入力されたパートデータ1111の音量レベルを、レベル値データ1112が示す差分Cだけ減衰してもよい。このとき、差分Cが録音レベルD(或いは、伴奏レベルAないしは基準レベルT)−モニタレベルBを示している場合には、伴奏レベル調整用アンプ2224_kは、入力されたパートデータ1111の音量レベルを、レベル値データ1112が示す差分Cだけ減衰することが好ましい。尚、ステップS203の動作は、ダウンロードされたパートデータ1111の数だけ行われることが好ましい。
【0121】
その後、加算器2225は、音量レベルが調整されたパートデータ1111を合成する(つまり、ミキシングする)。その結果、ミキシングされたパートデータ1111が音声出力部260から音声として出力される(ステップS204)。
【0122】
以上説明したように、本実施例のクライアント端末20は、ユーザの演奏を録音する(つまり、パートデータ1111を作成する)ことに加えて、レベル値データ1112を作成することができる。ここで、例えば、ユーザの演奏を録音している場合に音声出力部260から出力されているユーザの演奏の音量レベル(つまり、モニタレベルB)が相対的に大きければ、ユーザは、相対的に大きい音で演奏したいという意図を有しているとも推定される。他方で、ユーザの演奏を録音している場合に音声出力部260から出力されているユーザの演奏の音量レベル(つまり、モニタレベルB)が相対的に小さければ、ユーザは、相対的に小さい音で演奏したいという意図を有しているとも推定される。従って、本実施例のクライアント端末20は、レベル値データ1112を作成することで、演奏を録音する際のユーザの意図を、当該演奏を示すパートデータ1111に対して適切に反映させることができる。
【0123】
その結果、録音した演奏(つまり、ユーザの演奏を録音することで作成されるパートデータ1111)を再生する場合には、クライアント端末20は、レベル値データ1112を参照することで、パートデータ1111によって表現される演奏に対するユーザの本来の意図(例えば、演奏の態様に関する意図であって、例えば演奏の強弱の度合等)を認識することができる。従って、クライアント端末20は、再生しようとしているパートデータ1111の音量レベルをレベル値データ1112に基づいて調整することで、ユーザの意図が反映された態様で適切にミキシングされたパートデータ1111を再生することができる。
【0124】
尚、仮にレベル値データ1112に基づいてパートデータ1111の音量レベルが調整されなければ、ダウンロードされたパートデータ1111は、音量レベルが録音レベルDとなっているパートデータ1111のままでミキシングされることになる。つまり、
図11中の最も左側に示す音量レベルを有するパートデータ1111のままでミキシングされることになる。従って、このミキシングには、モニタレベルBを特定することで認識可能なユーザの意図が反映されていないことになる。しかるに、本実施例では、上述したとおり、仮にレベル値データ1112に基づいてパートデータ1111の音量レベルが調整されるため、ユーザの意図が反映された態様で適切にミキシングされたパートデータ1111を再生することができる。
【0125】
加えて、本実施例では、レベル値データ1112として、モニタレベルBと録音レベルDとの差分Cを用いることができる。このため、クライアント端末20は、レベル値データ1112が示す差分C(=B−D)と元々の録音レベルD(つまり、クライアント端末20が認識可能な、録音レベル調整用アンプ2221の調整量)とに基づいて、パートデータ1111の作成時のモニタレベルBを適切に特定することができる。更に、この場合には、クライアント端末20は、伴奏等がない場合であっても、レベル値データ1112を適切に作成することができる。
【0126】
加えて、本実施例では、レベル値データ1112として、モニタレベルBと伴奏レベルAとの差分Cを用いることができる。このため、クライアント端末20は、レベル値データ1112が示す差分C(=B−A)と元々の伴奏レベルD(つまり、クライアント端末20が認識可能な、伴奏レベル調整用アンプ2224_kの調整量)とに基づいて、パートデータ1111の作成時のモニタレベルBを適切に特定することができる。更に、この場合には、クライアント端末20は、ユーザの演奏を録音している場合に出力されている伴奏と実際のユーザの演奏とのバランスを反映したレベル値データ1112を作成することができる。
【0127】
加えて、本実施例では、レベル値データ1112として、モニタレベルBと基準レベルTとの差分Cを用いることができる。このため、クライアント端末20は、レベル値データ1112が示す差分C(=B−T)とクライアント端末20に共通の基準レベルTとに基づいて、パートデータ1111の作成時のモニタレベルBを適切に特定することができる。更に、この場合には、クライアント端末20は、伴奏等がない場合であっても又はユーザの演奏がどのような演奏であっても、レベル値データ1112を適切に作成することができる。加えて、この場合には、基準レベルTを適切に設定することで、差分Cに何らかの固有の意味を付加することもできる。
【0128】
加えて、本実施例では、レベル値データ1112として、上述した差分ΔC(=C
0(=B
0−D(或いは、A又はT)−C(=B−D(或いは、A又はT)))を用いることができる。このため、上述した差分Cと比較して差分ΔCが小さくなることを考慮すれば、伴奏レベル調整用アンプ2224_kによって行われるレベル値データ1112に基づくパートデータ1111の音量レベルの調整量が相対的に小さくなる。
【0129】
また、本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う配信装置、配信方法、及び配信制御用のコンピュータプログラム、並びに再生装置、再生方法、及び再生制御用のコンピュータプログラムもまた本発明の技術思想に含まれる。