(57)【要約】      （修正有）【課題】演奏のモードが切り替わる場合に、音声出力タイミングを適切に制御する方法を提供する。【解決手段】端末１Ａは、複数の端末のうちの予め設定された自端末での第１の音声出力タイミングで演奏情報に基づく音声を出力するソロ担当のモードで演奏情報に基づく音声を出力するソロ演奏部２と、複数の端末のうちの自端末以外の端末１Ｂ、１Ｃでの、第１の音声出力タイミングから予め設定された後退時間遅れた第２の音声出力タイミングで演奏情報に基づく音声を出力する伴奏担当のモード（第２のモード）で演奏情報に基づく音声を出力する伴奏演奏部３と、４小節毎にモードが変更する旨記憶しておき、自端末１Ａがソロ担当のモードであり、伴奏担当のモードに変更する場合、ソロ担当モードでの音声出力終了後から、予め設定されている調節時間経過後に、伴奏担当のモードにおける音声出力タイミング開始とする旨設定する切替部４とを備える。【選択図】図１
2016218260.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、複数の端末間で音楽を音声出力するための演奏情報を複数の端末間で送受信して、送受信した演奏情報に基づいた音声を合わせて出力する端末として機能させる音声出力プログラムであって、
前記コンピュータを、
前記複数の端末のうちの予め設定された一つの端末での第１の音声出力タイミングで演奏情報に基づいた音声を出力する第１のモードで演奏情報に基づいた音声を出力する第１演奏手段と、
前記複数の端末のうちの前記一つの端末以外の端末での、前記第１の音声出力タイミングから予め設定された後退時間遅れた第２の音声出力タイミングで演奏情報に基づいた音声を出力する第２のモードで演奏情報に基づいた音声を出力する第２演奏手段と、
自端末において第１のモード及び第２のモードの何れで演奏情報に基づいた音声を出力するかの切替を行う切替手段と、として機能させ、
前記第１演奏手段は、
自端末において音声出力されると共に他端末に送信する演奏情報を前記第１の音声出力タイミングで入力する第１入力手段と、
前記第１入力手段によって入力された演奏情報を他端末に送信する第１送信手段と、
前記第１の音声出力タイミングより前に他端末から演奏情報を受信する第１受信手段と、
前記第１入力手段によって入力された演奏情報に基づいた音声、及び第１受信手段によって受信された演奏情報に基づいた音声を合わせて出力する第１音声出力手段と、を備え、
前記第２演奏手段は、
自端末において音声出力されると共に他端末に送信する演奏情報を入力する第２入力手段と、
前記第２入力手段によって入力された演奏情報を、前記第１のモードで演奏情報に基づいた音声の出力を行う他端末に前記第１の音声出力タイミングより前に届くように送信する第２送信手段と、
前記第１のモードで演奏情報に基づいた音声出力を行う他端末から演奏情報を受信する第２受信手段と、
前記第２入力手段によって受信された演奏情報に基づいた音声、及び第２受信手段によって受信された演奏情報に基づいた音声を合わせて出力する第２音声出力手段と、を備え、
前記切替手段は、予め設定されたタイミングで前記切替を行うと共に、当該切替の種類に応じて切替後の音声出力タイミングを設定する、音声出力プログラム。
【請求項２】
前記切替手段は、第１のモードから第２のモードへの切替を行う場合には、前記第１のモードでの音声出力の終了後から予め設定された調節時間の経過後を第２の音声出力タイミングの開始時と設定し、第２のモードから第１のモードへの切替を行う場合には、前記第２のモードでの音声出力の終了直後を第１の音声出力タイミングの開始時と設定し、他端末において切替が発生し、自端末では第２のモードを継続する場合には、前記調節時間から前記後退時間を引いた時間の経過後を当該切替後の第２の音声出力タイミングの開始時と設定する請求項１に記載の音声出力プログラム。
【請求項３】
前記第１演奏手段は、前記第１の音声出力タイミングの開始時を示す情報を他端末へ送信するタイミング送信手段をさらに備え、
前記第２演奏手段は、他端末から送信された第１の音声出力タイミングの開始時を示す情報を受信するタイミング受信手段をさらに備え、
前記第２音声出力手段は、前記第１の音声出力タイミングの開始時と前記後退時間とに基づいて音声出力を開始する、請求項１又は２に記載の音声出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声出力プログラムに関する。
【背景技術】
【０００２】
遠隔地間で通信手段を用いて音楽セッションを行う技術やソフトウェアが提供されつつある。上記の技術やソフトウェアは、複数の演奏者が遠隔地に存在している場合でも、通信手段を用いて合奏することを可能とする。このように、通信手段を用いることによって、演奏者が同じ場所に集まらなくても、個人の自宅等からセッションに参加することが可能となる。
【０００３】
上述のような技術を用いて音楽セッションを実現しようとすると、通信による遅延が発生するため、通信遅延の分だけ演奏してから音声出力するまでに時間がかかる。よって、演奏者（演奏情報を入力可能な端末のユーザ）にとって、演奏に支障がでる可能性がある。
【０００４】
そこで、上記のような問題点を解決する技術として、特許文献１に記載のような技術がある。具体的には、複数の端末間で音楽セッションする際に、端末がバック演奏の情報を他の端末へ送信する。この端末では、このバック演奏の情報の送信による通信遅延分遅らせてバック演奏の情報を音声出力することにより、双方の端末のバック演奏の音声出力するタイミングを合わせる。そして、この端末は、他の端末が入力したユーザの演奏に基づくユーザ演奏情報を他の端末から受信し、当該ユーザ演奏情報を音声出力する。この場合、この端末は、バック演奏の情報を音声出力するタイミングを遅らせているので、他の端末へバック演奏の情報を送信することによる通信遅延を解消している。従って、この端末では、他の端末からユーザ演奏情報を受信する際の通信遅延のみ発生するので、通信遅延による演奏の違和感を緩和させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２９３５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ジャズ等の音楽セッションでは、ある曲の進行を繰り返しながら、交代交代にソロを演奏することがある。例えば、演奏者Ａがソロを演奏している時は、他の演奏者は、伴奏を演奏し、次に演奏者Ｂがソロを演奏している時は、他の演奏者は伴奏を演奏するという形態になる。
【０００７】
従って、ある端末が、伴奏の演奏情報を送信する担当（伴奏モード）である他の端末から当該伴奏の演奏情報を受信すると共にソロの演奏情報を入力し、他の端末へ当該ソロの演奏情報を送信する担当（ソロモード）を実行していた場合に、演奏の途中でモードが切り替わることもある。
【０００８】
このように、演奏の途中で演奏のモードが切り替わる場合でも、通信遅延の影響を低減させることが望ましい。本発明は、演奏のモードが切り替わる場合でも通信遅延による影響を低減させることが可能な演奏プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る音声出力プログラムは、コンピュータを、複数の端末間で音楽を音声出力するための演奏情報を複数の端末間で送受信して、送受信した演奏情報に基づいた音声を合わせて出力する端末として機能させる音声出力プログラムであって、コンピュータを、複数の端末のうちの予め設定された一つの端末での第１の音声出力タイミングで演奏情報に基づいた音声を出力する第１のモードで演奏情報に基づいた音声を出力する第１演奏手段と、複数の端末のうちの一つの端末以外の端末での、第１の音声出力タイミングから予め設定された後退時間遅れた第２の音声出力タイミングで演奏情報に基づいた音声を出力する第２のモードで演奏情報に基づいた音声を出力する第２演奏手段と、自端末において第１のモード及び第２のモードの何れで演奏情報に基づいた音声を出力するかの切替を行う切替手段と、として機能させ、第１演奏手段は、自端末において音声出力されると共に他端末に送信する演奏情報を第１の音声出力タイミングで入力する第１入力手段と、第１入力手段によって入力された演奏情報を他端末に送信する第１送信手段と、第１の音声出力タイミングより前に他端末から演奏情報を受信する第１受信手段と、第１入力手段によって入力された演奏情報に基づいた音声、及び第１受信手段によって受信された演奏情報に基づいた音声を合わせて出力する第１音声出力手段と、を備え、第２演奏手段は、自端末において音声出力されると共に他端末に送信する演奏情報を入力する第２入力手段と、第２入力手段によって入力された演奏情報を、第１のモードで演奏情報に基づいた音声の出力を行う他端末に第１の音声出力タイミングより前に届くように送信する第２送信手段と、第１のモードで演奏情報に基づいた音声出力を行う他端末から演奏情報を受信する第２受信手段と、第２入力手段によって受信された演奏情報に基づいた音声、及び第２受信手段によって受信された演奏情報に基づいた音声を合わせて出力する第２音声出力手段と、を備え、切替手段は、予め設定されたタイミングで切替を行うと共に、当該切替の種類に応じて切替後の音声出力タイミングを設定する。
【００１０】
このような本発明に係る音声出力プログラムによれば、第１のモードと第２のモードの切替を行う場合に、当該切替の種類に応じて切替後の音声出力タイミングを設定するので、第１のモードに切替わる場合に第２モードに切替わる場合より先に音声出力を開始するように音声出力タイミングを設定することができる。すなわち、演奏のモードが切り替わる場合でも通信遅延による影響を低減させることができる。
【００１１】
本発明に係る音声出力プログラムでは、第１のモードから第２のモードへの切替を行う場合には、第１のモードでの音声出力の終了後から予め設定された調節時間の経過後を第２の音声出力タイミングの開始時と設定し、第２のモードから第１のモードへの切替を行う場合には、第２のモードでの音声出力の終了直後を第１の音声出力タイミングの開始時と設定し、他端末において切替が発生し、自端末では第２のモードを継続する場合には、調節時間から後退時間を引いた時間の経過後を当該切替後の第２の音声出力タイミングの開始時と設定してもよい。
【００１２】
このような音声出力プログラムによれば、切替する場合に、切替後に第１モードとなる端末が、切替後に第２モードとなる端末より先に音声出力するように調節するので、切替前のそれぞれのモードと同様に、第１モードによる演奏情報と、第２モードによる演奏情報とが、通信遅延による影響を低減させることができる。
【００１３】
また、本発明に係る音声出力プログラムでは、第１の音声出力タイミングの開始時を示す情報を他端末へ送信するタイミング送信手段をさらに備え、第２演奏手段は、他端末から送信された第１の音声出力タイミングの開始時を示す情報を受信するタイミング受信手段をさらに備え、第２音声出力手段は、第１の音声出力タイミングの開始時と後退時間とに基づいて音声出力を開始してもよい。
【００１４】
このような音声出力プログラムによれば、第２モードとなる端末が第１モードとなる端末の音声出力開始時を特定でき、第２モードとなる端末が当該音声出力開始時と後退時間とに基づいて遅延させて音声出力開始することができる。
【発明の効果】
【００１５】
本発明によれば、演奏のモードが切り替わる場合でも通信遅延による影響を低減させることができる。
【図面の簡単な説明】
【００１６】
【図１】端末のブロック図である。
【図２】端末のハードウェア構成を示す図である。
【図３】ソロと伴奏の関係を示す図である。
【図４】曲のコード及び伴奏パターンを示す図である。
【図５】本実施形態に係る演奏処理を示すシーケンス図である。
【図６】本発明の実施形態に係る音声出力プログラムの構成を、記録媒体と共に示す図である。
【発明を実施するための形態】
【００１７】
本発明の一実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付し、重複する説明を省略する。
【００１８】
図１に本実施形態に係るプログラム（ソフトウェア、アプリ）を実行することにより音声出力する端末１（端末１Ａ、端末１Ｂ、端末１Ｃ）を示す。端末１は、音楽を音声出力するための演奏情報（例えば、音声出力対象の音階等の情報）を複数の端末間で送受信して、送受信した演奏情報を合わせて音声出力（再生）する装置である。これらの端末１Ａ〜１Ｃは、それぞれの利用者によって利用される。また、端末１Ａ〜１Ｃは、それぞれの利用者の位置、例えば、通信遅延が発生するほどに離れた地点に互いに位置することもある。すなわち、端末１Ａ〜１Ｃは、遠隔地に位置することもある。
【００１９】
端末１は、例えばスマートフォン、携帯電話機、ＰＤＡ（Personal Digital Assistant）、タブレット端末等の情報端末である。端末１は、無線又は有線の通信網Ｎを介して端末間で演奏情報を送受信する。
【００２０】
図２は、図１に示す端末１のハードウェア構成を示すブロック図である。図２に示すように、端末１のハードウェア構成を示す。図２に示すように、端末１は、１又は複数のＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（RandamAccess Memory）１０２及びＲＯＭ（Read Only Memory）１０３、入力デバイスである操作部１０４、データ送受信デバイスである無線通信部１０５、出力デバイスであるディスプレイ１０６、アンテナ１０７、及びスピーカ１０８等のハードウェアにより構成されている。これらの構成要素が動作することにより、図１に示した端末１の各構成要素の機能が発揮される。
【００２１】
各端末１は、伴奏の演奏情報及びソロの演奏情報を合わせて音声出力する。ここで伴奏とは、副次的な演奏であり、ソロの演奏とは、主旋律の演奏とする。ジャズ等の音楽セッションでは、ある曲の進行を繰り返しながら、交代交代に伴奏にあわせてソロを演奏し、ソロ以外が伴奏をする。この音楽セッションを端末１Ａ、端末１Ｂ、及び端末１ＣによりネットワークＮを介して実現する。すなわち、オンライン音楽セッションシステムを実現する。
【００２２】
一般的に、４小節毎に１つのフレーズとなる（すなわち、曲は、４小節の繰り返しになる）ので、予めソロ担当の端末１と、伴奏担当の端末１とを定めておき、曲の進行に応じて、ソロ担当を４小節毎に変更していく。例えば、端末１Ａがソロを担当する場合、他の端末の端末１Ｂ及び端末１Ｃは、伴奏を担当する。各端末１は、４小節毎における端末１のそれぞれの担当を示す情報を記憶している。ソロを担当する端末１は、他の端末１から伴奏の演奏情報を受信し、自端末１に入力されたソロの演奏情報と、受信した伴奏の演奏情報とを合わせて音声出力する。伴奏を担当する端末１は、ソロを担当する端末１からソロの演奏情報に基づいた音声と、自端末１に入力された伴奏の演奏情報に基づいた音声とを合わせて出力する。ここで、ソロの演奏情報に基づいた音声と伴奏の演奏情報に基づいた音声とを合わせて出力するとは、ソロの演奏情報に基づいた音声と伴奏の演奏情報に基づいた音声との両方をタイミングを合わせて重畳して同時に出力することをいう。一つの端末１が、ソロを担当し、他の端末１が伴奏を担当するものとする。ソロを担当する端末１の利用者はソリストとなり、伴奏を担当する端末１の利用者は伴奏者となる。
【００２３】
図１に示した機能の詳細を説明する前に、図３を用いてソロ担当の端末１と伴奏担当の端末１とのそれぞれの音声出力タイミングを説明する。端末１Ａ（端末Ａ）がソロ担当で、端末１Ｂ（端末Ｂ）が伴奏担当であるとする。まず、端末Ａの利用者及び端末Ｂの利用者間で演奏開始する時刻を共有しているものとする。また、端末Ａは、端末Ａの利用者による演奏開始時刻の入力操作を受け付け、当該演奏開始時刻を記憶しているものとする。
【００２４】
また、端末Ａの利用者及び端末Ｂの利用者間で、演奏開始する時刻を共有しておく。そして、端末Ｂの利用者（伴奏者）は、演奏開始前（例えば、演奏開始時刻５分前等）に伴奏の演奏情報を端末Ｂに入力する操作を行う。即ち、伴奏者は、伴奏の演奏を行う。端末Ｂの利用者により伴奏の演奏情報が入力されると、端末Ｂは、当該伴奏の演奏情報を端末Ａに送信する。ここで、伴奏の演奏情報とは、伴奏のパターンを示す情報である。伴奏パターンの詳細は、後述する。
【００２５】
端末Ａは、記憶している演奏開始時刻になると、端末Ｂから受信した伴奏の演奏情報に基づいて伴奏を音声出力する。端末Ａの利用者（ソリスト）は、演奏開始時刻になるとソロの演奏情報を端末Ａに入力する操作を行う。即ち、ソリストは、ソロの演奏を行う。ソロの演奏は、例えば、伴奏を聞きながら伴奏に合うように即興で行われる。当該伴奏の音声出力の内容に合わせて、端末Ａの利用者によってソロの演奏情報が入力されると、端末Ａは、当該演奏情報が入力された（ソロの演奏がされた）瞬間に当該ソロの演奏情報と、上記伴奏の演奏情報とを合わせて音声出力する。ここで、ソロの演奏情報とは、自端末１において音声出力されると共に、他端末１に送信する演奏情報である音毎の入力情報であり、当該ソロの演奏タイミングを示す情報も含まれる。また、端末Ａは、演奏開始時刻を示す情報を端末Ｂへ送信する。また、端末Ａは、上記のように、端末Ａの利用者によって、ソロの演奏情報が入力されると、当該ソロの演奏情報を端末Ｂへ送信する。
【００２６】
このように、端末Ａが演奏を開始する前に、端末Ｂから伴奏の演奏情報を受信しておくので、端末Ａは、伴奏の演奏情報とソロの演奏情報とを合わせてタイミングのズレなく音声出力することができる。
【００２７】
端末Ｂは、端末Ａの音声出力開始時を示す情報を受信し、当該音声出力開始時点から半小節分遅らせて、端末Ｂの伴奏の演奏情報を音声出力する。この半小節は、通信遅延時間よりも十分長い時間であるものとする。なお、テンポの速い曲である場合、半小節以上遅らせるようにしてもよい。
【００２８】
また、端末Ｂは、端末Ａからソロの演奏情報を受信すると、当該ソロの演奏情報に含まれるソロの演奏タイミングに基づいて、ソロの演奏情報に基づいた音声と伴奏の演奏情報に基づいた音声とを合わせて出力する。端末Ｂは、端末Ａが伴奏の演奏情報に基づいた音声を出力しているタイミングより遅らせて（すなわち、ソロ担当の端末Ａを優先させて）伴奏の演奏情報に基づいた音声を出力しているので、適切なタイミング（ズレを解消させて）で端末Ａから受信したソロの演奏情報に基づいた音声を出力することができる。
【００２９】
また、端末Ｂは、端末Ａが小節２に対応する演奏情報（伴奏の演奏情報、ソロの演奏情報）を音声出力する前（例えば、小節１の前半部）に小節２の伴奏の演奏情報を送信する。
【００３０】
端末Ａは、小節２の音声を出力する前に端末Ｂから小節２の伴奏の演奏情報を受信しているので、途切れることなく、小節２の伴奏の演奏情報に基づいた音声を出力でき、ソロの演奏情報が入力された場合に当該ソロの演奏情報に基づいた音声と共に合わせて出力することができる。
【００３１】
続いて、図１に戻り、各機能の説明をする。端末１は、図１に示すように、ソロ演奏部２（第１演奏手段）と、伴奏演奏部３（第２演奏手段）と、切替部４（切替手段）とを備えている。
【００３２】
ソロ演奏部２は、複数の端末１のうちの予め設定された一つの端末１での他の端末１より先のタイミング（第１の音声出力タイミング）で演奏情報を音声出力するソロ担当のモード（第１のモード）で演奏情報を音声出力する部分である。第１の音声出力タイミングは、各小節に相当する。即ち、第１の音声出力タイミングは、予め設定される一定の演奏期間である。ソロ演奏部２は、他の端末１から伴奏の演奏情報を受信し、他の端末１が当該伴奏の演奏情報に基づいた音声を出力するより先の時点（第１の音声出力タイミングの開始時刻）で受信した伴奏演奏情報に基づいた音声を出力する。
【００３３】
伴奏演奏部３は、複数の端末１のうちの一つの端末以外の端末１での、上記第１の音声出力タイミングから予め設定された後退時間遅れた第２の音声出力タイミングで演奏情報に基づいた音声を出力する伴奏担当のモード（第２のモード）で演奏情報に基づいた音声を出力する部分である。第２の音声出力タイミングも、第１の音声出力タイミングと同様に各小節に相当する。伴奏演奏部３は、他の端末１からソロ演奏の演奏情報を受信し、ソロ担当の端末１が演奏情報に基づいた音声を出力した後に、伴奏の演奏情報に基づいた音声と、ソロ演奏の演奏情報に基づいた音声とを合わせて出力する。端末１は、ソロ担当のモードと伴奏担当のモードとの何れか１つのモードで演奏情報に基づいた音声を出力する。
【００３４】
ソロ演奏部２は、ソロ演奏入力部２１（第１入力手段）と、ソロ演奏送信部２２（第１送信手段）と、伴奏受信部２３（第１受信手段）と、ソロ音声出力部２４（第１音声出力手段）と、タイミング送信部２５（タイミング送信手段）とを備えている。ソロ演奏入力部２１は、伴奏音声出力中に（第１の音声出力タイミングで）ソロの演奏情報を入力する部分である。ソロ演奏入力部２１は、端末１の利用者によって操作部１０４を介して入力された１音毎の音の音階及び長さを示す音程情報と、音のボリューム情報と、ソロの演奏タイミングを示す情報（タイムスタンプ）とを含めた情報をソロの演奏情報として入力する。
【００３５】
具体的には、ソロ演奏入力部２１は、利用者の１音毎の音の音階及び長さを示す情報の入力操作を受け付ける。ソロ演奏入力部２１は、当該入力操作がなされると、当該入力操作により指定された音の音階及び長さと、予め設定された音のボリュームを示す音のボリューム情報とを入力する。また、ソロ演奏入力部２１は、小節の長さを記憶しておき、後述する切替部４からの通知された開始時刻を起点として、現時点の小節の開始時からの経過時間をカウントする。ソロ演奏入力部２１は、現時点（音声出力中）の小節を示す情報と、当該小節の開始時から上記の入力操作を受け付けた時刻までの期間を示すタイムスタンプを取得する。このように、ソロ演奏入力部２１は、利用者の入力操作をトリガとして、ソロの演奏情報を入力する。
【００３６】
なお、ソロの演奏情報をＭＩＤＩ（Musical Instrument Digital Interface）形式の情報としてもよい。ソロの演奏情報をＭＩＤＩ形式とすることにより、簡易な情報となり、伝送容量を逼迫することを回避できる。ソロ演奏入力部２１は、ソロの演奏情報をソロ演奏送信部２２に送出すると共に、ソロ音声出力部２４へ送出する。なお、他の音声出力に必要な情報（例えば、楽器の種類、音色等）は、各端末１において予め定められているものとする。
【００３７】
ソロ演奏送信部２２は、ソロ演奏入力部２１によって入力された演奏情報を他端末１に送信する部分である。ソロ演奏送信部２２は、ソロ演奏入力部２１からソロの演奏情報を受け取ると、当該ソロの演奏情報を他端末１へ送信する。
【００３８】
伴奏受信部２３は、ソロ担当の端末１の音声出力タイミングの開始時刻より前に他端末１から伴奏の演奏情報を受信する部分である。上述のように、伴奏担当の端末１から、ソロ担当の端末１の各小節の演奏開始時刻より前に、伴奏の演奏情報が送信される。伴奏受信部２３は、各小節の演奏開始時刻より前に伴奏の演奏情報を受信することができる。
【００３９】
伴奏受信部２３は、他端末１から伴奏の演奏情報を受信すると、ソロ音声出力部２４が音声出力タイミングの開始時刻に伴奏の演奏情報を音声出力することができるように、受信直後に当該伴奏の演奏情報をソロ音声出力部２４へ送出する。
【００４０】
伴奏受信部２３は、伴奏の演奏情報として、伴奏担当の端末１から、伴奏パターン情報を受信する。ここで、伴奏パターンとは、リズムパターン（音の出力タイミング、各音の長さ）であり、伴奏パターン情報とは、当該伴奏パターンを示す識別情報である。後述するソロ音声出力部２４及び伴奏音声出力部３４は、予め各伴奏パターンに上記識別情報を対応付けて記憶している。伴奏受信部２３は、伴奏パターン情報（識別情報）をソロ音声出力部２４へ送出する。なお、ソロ音声出力部２４及び伴奏音声出力部３４は、コード情報（音楽コードを示す情報）を定義して記憶しており、上記識別情報に対応付く伴奏パターンと、演奏対象の小節のコード情報とを用いて伴奏を音声出力する。
【００４１】
ここで、図４を用いて、上述した伴奏パターンと曲のコード情報とに基づく音声出力方法について説明する。図４の例では、伴奏パターンが２つ用意されている。また、各端末１において、小節及び伴奏パターン毎に音楽コードが定められており、当該定められたコード情報を記憶している。図４の例のように、ソロ担当の端末１において、小節１のコードがＣメジャー、小節２のコードがＦメジャー、小節３のコードがＧメジャー、小節４のコードがＣメジャーと定められており、当該定められた情報がコード情報として記憶されている。
【００４２】
ここで、伴奏担当の端末１の利用者の入力操作により、リズムパターンが選択されたものとする。具体的に、伴奏担当の端末１は、上記利用者の入力操作により、小節１及び小節２の伴奏パターン情報としてパターン１が選択され、小節３及び小節４の伴奏パターン情報としてパターン２が選択されたものとする。なお、伴奏担当の端末１は、伴奏パターンを利用者へ複数小節分の伴奏パターン情報の入力をまとめて促してもよいし、選択省略を許容するためにデフォルトの伴奏パターン情報を予め記憶してもよい。
【００４３】
伴奏担当の端末１は、選択された伴奏パターン情報を小節毎にソロ担当の端末１へ送信する。具体的には、伴奏担当の端末１は、ソロ担当の端末１が各小節の音声出力をする前に、当該各小節の伴奏パターン情報を送信する。
【００４４】
ソロ担当の端末１は、伴奏担当の端末１によって送信された小節毎の伴奏パターン情報を受信する。ソロ担当の端末１は、各小節の音声出力開始時刻に当該伴奏パターン情報と予め記憶しているコード情報とを用いて、伴奏パターン情報に基づいた音声出力をする。具体的には、ソロ担当の端末１は、各小節の音声出力開始時刻に、受信された該当する小節のパターン情報から音声出力する音の出力タイミング及び各音の長さを特定し、該当する小節及び受信されたパターン情報によって示される伴奏パターンに対応付けて記憶されたコード情報から音声出力する各音の音階を特定する。そして、ソロ担当の端末１は、特定した音の出力タイミング、各音の長さ、及び音階で該当する小節の伴奏の音声を出力する。このように、ソロ担当の端末１は、自動的にコードにあった音で、選択されたリズムパターンによる伴奏パターン情報に基づいた音声出力をする。
【００４５】
例えば、最初の小節１、２については、パターン１のリズムパターンが選択されており、小節１のコード情報がＣメジャーのコードのため、ソロ担当の端末１は、ド・ミ・ソの和音を２回音声出力する。小節２のコード情報がＦメジャーであるので、同じパターン１のリズムパターンが選択されていても、ソロ担当の端末１は、ファ・ラ・ドの和音を２回音声出力する。
【００４６】
次に小節３、小節４については、パターン２のリズムパターンが選択されており、小節３のコード情報がＧメジャーのため、Ｇメジャーコードの構成音を用いて、ソロ担当の端末１は、ソシーシソシーシと音声出力する。小節４のコード情報がＣメジャーコードのため、同じパターン２のリズムパターンが選択されても、ソロ担当の端末１は、ドミーミドミーミと音声出力する。
【００４７】
上述のように、伴奏担当の端末１は、伴奏パターン（音の出力タイミング、各音の長さを示す情報）を利用者へ予め入力を促したり、予め各小節のパターンを定義しておいたりすることにより、ソロ担当の端末１が音声出力する前にソロ担当の端末１へ伴奏の演奏情報として送信する。このように、伴奏パターン情報を予め入力することにより、一定の単位（例えば、小節）毎に選択する自由度を保持することができる。
【００４８】
ソロ音声出力部２４は、ソロ演奏入力部２１によって入力されたソロの演奏情報、及び伴奏受信部２３によって受信された伴奏の演奏情報を合わせて音声出力する部分である。ソロ音声出力部２４は、利用者からの小節１の演奏開始時刻の入力を予め受け付け、入力された小節１の演奏開始時刻を示す情報を記憶する。また、ソロ音声出力部２４は、上述のように各小節のコード情報を記憶している。ソロ音声出力部２４は、伴奏受信部２３から各小節の伴奏の演奏情報（伴奏パターン情報）を受け取る。ソロ音声出力部２４は、記憶している小節１の演奏開始時刻になると、小節１の伴奏パターン情報に対応するパターン（音の出力タイミング、各音の長さ）を特定し、小節１のコード情報から上記パターンの各音の音階を特定し、特定した音の出力タイミング、各音の長さ、及び音階で伴奏の音声出力をする。また、ソロ音声出力部２４は、１つの小節の伴奏パターン情報に基づく音声を出力し終えると、次の小節の伴奏パターン情報に基づく音声を出力する。
【００４９】
ソロ音声出力部２４は、ソロ演奏入力部２１からソロの演奏情報を受け取ると、当該ソロの演奏情報に基づいた音声を出力する。具体的には、ソロ音声出力部２３は、ソロの演奏情報を受け取る度に、ソロの演奏情報に含まれるボリューム情報が示すボリュームで、当該ソロの演奏情報に含まれる音程情報が示す音程の音を、予めソロ音声出力部２４で定められている楽器の種類、音色の情報を用いてソロの音声を、上記の伴奏パターン情報に基づく音声と重畳させて音声出力する。
【００５０】
ソロ音声出力部２４は、小節１の伴奏パターン情報に基づく音声出力をした際に、ソロ音声出力部２４が記憶している小節１の演奏開始時刻を示す情報をタイミング送信部２５へ送出する。オンライン音楽セッションの開始時に端末１がソロ担当である場合には、ソロ音声出力部２４は、予め設定されて記憶された音声出力タイミングで伴奏情報の音声出力を行う。例えば、最初の第１の音声出力タイミングの開始時の時刻（ソロ担当の端末１における１小節目の音声出力の開始時刻）が予め設定されており、ソロ音声出力部２４は、当該時刻となったことを判断して、伴奏情報の音声出力を行う。また、ソロ音声出力部２４は、切替部４から、当該切替部４によって設定された音声出力タイミング（第１の音声出力タイミングの開始時刻）を通知された場合、当該音声出力タイミングで伴奏情報の音声出力を行う。すなわち、ソロ音声出力部２４は、切替部４によって設定された音声出力タイミングで伴奏パターン情報に基づく音声を出力する。
【００５１】
タイミング送信部２５は、第１の音声出力タイミングの開始時を示す情報を他端末１へ送信する部分である。ソロ音声出力部２４から受け取った時刻を示す情報を他端末１へ送信する。また、タイミング送信部２５は、当該時刻を示す情報を切替部４へ送出する。
【００５２】
伴奏演奏部３は、伴奏入力部３１（第２入力手段）と、伴奏送信部３２（第２送信手段）と、ソロ演奏受信部３３（第２受信手段）と、伴奏音声出力部３４（第２音声出力手段）と、タイミング受信部３５（タイミング受信手段）とを備えている。伴奏入力部３１は、自端末１において音声出力されると共に他端末１に送信する演奏情報を入力する部分である。伴奏入力部３１は、当該演奏情報として、伴奏のパターン情報を小節単位に入力する。ソロ担当の端末１が入力対象の小節の伴奏の音声を出力する前に、伴奏入力部３１は、端末１の利用者によって操作部１０４を介して入力された伴奏のパターン情報を入力する。伴奏入力部３１は、伴奏パターン情報を入力すると、当該伴奏パターン情報を伴奏送信部３２及び伴奏音声出力部３４へ送出する。伴奏入力部３１は、複数小節のパターン情報をまとめて入力を受け付けてもよい。
【００５３】
伴奏送信部３２は、伴奏入力部３１によって入力された演奏情報をソロ担当の端末１が、ソロ担当の音声出力タイミングより前に当該演奏情報が届くように送信する部分である。伴奏送信部３２は、伴奏入力部３１から伴奏パターン情報を受け取ると、当該伴奏パターン情報を他端末１（自端末１以外の伴奏担当の端末１及びソロ担当の端末１）へ送信する。伴奏送信部３２は、端末１の利用者によって各小節の演奏開始時刻より前に各小節の伴奏パターン情報が伴奏入力部３１に入力されているので、当該伴奏パターン情報を伴奏入力部３１から受け取った直後にソロ担当の端末１へ送信することにより、ソロ担当の音声出力タイミングより前に、伴奏パターン情報が届くように送信する。
【００５４】
ソロ演奏受信部３３は、ソロ担当のモードで演奏情報に基づいた音声出力を行う他端末１からソロの演奏情報を受信する部分である。ソロ演奏受信部３３は、他端末１からソロの演奏情報を受信すると、当該ソロの演奏情報を伴奏音声出力部３４へ送出する。また、ソロ演奏受信部３３は、伴奏担当のモードで演奏情報に基づいた音声出力を行う他端末１によって、入力された伴奏パターン情報も受信して、当該伴奏パターン情報も伴奏音声出力部３４へ送出する。
【００５５】
伴奏音声出力部３４は、伴奏入力部３１によって入力された伴奏パターン情報に基づいた音声、及びソロ演奏受信部３３によって受信された演奏情報に基づいた音声を合わせて出力する部分である。伴奏音声出力部３４は、後述するタイミング受信部３５によって受信されたソロ担当の端末１の演奏開始時刻を示す情報を受け取った場合、当該演奏開始時刻から半小節（後退時間）経過した時刻に伴奏入力部３１によって入力された伴奏パターン情報に基づいた音声、及びソロ演奏受信部３３によって受信された演奏情報に基づいた音声を合わせて出力する。
【００５６】
伴奏音声出力部３４は、当該演奏開始時刻から半小節経過した時刻に、小節１の伴奏パターン情報に対応するパターンと、予め伴奏音声出力部３４が記憶しているコード情報とを用いて、小節１の伴奏パターン情報に基づいた音声を出力する。また、伴奏音声出力部３４は、各小節の伴奏パターン情報に基づいた音声を出力し終えると、次の小節の伴奏パターン情報に基づいた音声を出力する。
【００５７】
伴奏音声出力部３４は、ソロ演奏受信部３３によって受信された演奏情報がある場合、当該ソロの演奏情報に含まれるタイムスタンプから音声出力するタイミングを特定して、当該タイミングに、ソロの演奏情報に基づく音声出力をする。
【００５８】
具体的には、伴奏音声出力部３４は、当該ソロの演奏情報に含まれるタイムスタンプに含まれる小節を示す情報から、対象となる小節を特定すると共に、当該タイムスタンプに含まれる小節の開始時からの期間を特定することにより、音声出力をするタイミングを特定し、特定したタイミングで当該ソロの演奏情報に含まれるボリューム情報によるボリュームで、ソロの演奏情報に含まれる音程で、ソロの演奏情報に基づいた音声を出力する。
【００５９】
また、伴奏音声出力部３４は、切替部４から、当該切替部４によって設定された音声出力タイミング（第２の音声出力タイミングの開始時刻）を通知された場合、当該音声出力タイミングで伴奏情報の音声出力を行う。また、伴奏音声出力部３４は、当該伴奏の音声と共に、ソロ演奏受信部３３によって受信された演奏情報に含まれる音の音声出力タイミングに基づいて、ソロの演奏情報に基づいた音声を合わせて出力する。
【００６０】
タイミング受信部３５は、他端末１から送信された第１の音声出力タイミングの開始時を示す情報を受信する部分である。タイミング受信部３５は、ソロ担当の端末１から演奏開始時刻を示す情報を受信し、当該時刻を示す情報を伴奏音声出力部３４及び切替部４へ送出する。
【００６１】
切替部４は、自端末１においてソロ担当のモード及び伴奏担当のモードの何れで演奏情報を音声出力するかの切替を行う部分であり、予め設定されたタイミング（例えば、４小節毎）で切替を行うと共に、当該切替の種類に応じて切替後の音声出力タイミングを設定する部分である。
【００６２】
切替部４は、端末１における４小節毎のモードを示す情報であるモード情報を予め記憶する。切替部４は、切替の時刻を特定し、当該切替の時刻と、当該モード情報から特定した切替後のモードに基づいて、音声出力タイミングの開始時刻を決定する。
【００６３】
まず、切替の時刻を特定する方法を説明する。切替部４は、タイミング送信部２５又はタイミング受信部３５から、ソロ担当の端末１における１小節目の音声出力の開始時刻（演奏開始時刻）を示す情報を取得する。切替部４は、この情報から切替時刻を特定する。具体的には、切替部４は、タイミング送信部２５から取得した場合、自端末１がソロ担当であるので、当該開始時刻から４小節分経過した時刻が切替時刻と特定する。また、切替部４は、タイミング受信部３５から取得した場合、自端末１が伴奏担当であるので、当該開始時刻から４．５小節分経過した時刻が切替時刻と特定する。切替部４は、２度目以降の切替については、切替部４が切替後の音声出力タイミングの開始時として定めた時刻から４小節経過した時刻を新たな切替時刻とする。
【００６４】
切替部４は、上記のように切替時刻を特定し、当該切替の時刻と、当該モード情報から特定した切替後のモードに基づいて、音声出力タイミングの開始時刻を決定する。切替部４は、当該モード情報に基づいて自端末１がソロ担当のモードであり、伴奏担当のモードに変更すると判断した場合、ソロ担当モードでの音声出力終了後（切替時刻）から、予め設定されている調節時間（例えば、１小節）経過後に、伴奏担当のモードにおける音声出力タイミング開始（第２の音声出力タイミングの開始）とする旨設定する。すなわち、切替部４は、ソロ担当モードでの音声出力終了後から、ブレイク（一定期間の休止）してから伴奏担当のモードにおける音声出力タイミング開始とする。
【００６５】
切替部４は、モード情報に基づいて自端末１が伴奏担当のモードであり、ソロ担当モードに変更すると判断した場合、伴奏担当モードでの音声出力終了直後（切替時刻）を、ソロ担当モードにおける音声出力タイミング開始（第１の音声出力タイミングの開始）とする旨、設定する。
【００６６】
切替部４は、モード情報に基づいて他の端末１においてモードの切替があり、自端末１では伴奏担当を継続する場合、切替時刻から半小節（上記調節時間から後退時間を引いた時間）経過後に、継続する伴奏担当の音声出力タイミング開始とする旨設定する。上述のように、切替部４は、切替タイミング（例えば、４小節毎）を定めておくと共に、それぞれの切替タイミング毎のモードを記憶しておくことにより、各切替タイミングにおける音声出力タイミングを定める。また、切替部４は、切替後のモードがソロ担当のモードである場合にはソロ演奏部２に、切替後のモードが伴奏担当のモードである場合には伴奏演奏部３に、設定した開始時刻をそれぞれ通知する。
【００６７】
切替部４は、上記の切替の処理を切替時刻が到来する前（各音声出力タイミングが終了する前）に行う。例えば、モード切替が行われて、音声出力タイミング開始されてから４つ目の小節（最後の小節）の間に上記の切替の処理を行う。
【００６８】
次に、図５を用いて、各端末１の演奏処理について説明する。図５は、端末１の演奏処理に関する一連の処理を示すシーケンス図である。図５のシーケンス図では、端末Ａ（端末１Ａ）、端末Ｂ（端末１Ｂ）、及び端末Ｃ（端末１Ｃ）でオンライン音楽セッションをする例のシーケンス図である。
【００６９】
小節１〜小節４のフレーズでは、端末Ａがソロを担当し、小節５〜小節８のフレーズでは、端末Ｂがソロを担当する。端末Ｃは、どちらも伴奏を担当する。また、予め端末Ａの利用者、端末Ｂの利用者及び端末Ｃの利用者で演奏開始時刻が通知されているものとする。
【００７０】
まず、端末Ｂの利用者が、上記演奏開始時刻前に端末Ｂへ伴奏パターン情報の入力操作を行うと、端末Ｂの伴奏入力部３１が小節１（小節１Ｍ１Ａ〜小節１Ｍ１Ｃ）の伴奏パターン情報を入力する（ステップＳ１）。これに応じて伴奏送信部３２が伴奏パターン情報を端末Ａ及び端末Ｃへ送信する（ステップＳ２、ステップＳ３）。
【００７１】
また、端末Ｃの利用者が、上記演奏開始時刻前に端末Ｃへ伴奏パターン情報の入力操作を行うと、端末Ｃの伴奏入力部３１が小節１（小節１Ｍ１Ａ〜小節１Ｍ１Ｃ）の伴奏パターン情報を入力する（ステップＳ４）。これに応じて伴奏送信部３２が伴奏パターン情報を端末Ａ及び端末Ｂへ送信する（ステップＳ５、ステップＳ６）。
【００７２】
端末Ａの伴奏受信部２３は、端末Ｂ及び端末Ｃから伴奏パターン情報を受信する（ステップＳ２、ステップＳ５）。端末Ａのソロ音声出力部２４は、記憶している演奏開始時刻となったタイミングで伴奏受信部２３が受信した小節１Ｍ１Ａの伴奏パターン情報に基づいた音声を出力する（ステップＳ７）。そして、タイミング送信部２５は、ソロ音声出力部２４が小節１Ｍ１Ａの伴奏パターン情報に基づいて音声を出力した時刻（演奏開始時刻）を示す情報を端末Ｂ及び端末Ｃへ送信する（ステップＳ８、ステップＳ９）。端末Ｂ及び端末Ｃのタイミング受信部３５は、端末Ａから演奏開始時刻を示す情報を受信する（ステップＳ８、ステップＳ９）。端末Ｂ及び端末Ｃの伴奏音声出力部３４は、当該開始時刻から半小節経過（第１の音声出力タイミングの開始時から期間ｔ１経過）したタイミングで、端末Ｂの伴奏パターン情報及び端末Ｃから受信した伴奏パターン情報に基づいた音声を出力する（ステップＳ１０、ステップＳ１１）。
【００７３】
また、端末Ａにおいて、小節１の間に端末Ａのユーザからソロの演奏情報を入力する操作が行われると、端末Ａのソロ演奏入力部２１は、ソロの演奏情報を入力する（ステップＳ１２）。当該入力が行われると、ソロ音声出力部２４は、伴奏受信部２３が受信した小節１Ｍ１Ａの伴奏パターン情報に基づいた音声と共に当該ソロの演奏情報に基づいた音声とを合わせて出力する（ステップＳ１３）。また、端末Ａのソロ演奏送信部２２は、当該ソロの演奏情報を端末Ｂ及び端末Ｃへ送信する(ステップＳ１４、ステップＳ１５)。端末Ｂ及び端末Ｃのソロ演奏受信部３３は、端末Ａからソロの演奏情報を受信し（ステップＳ１４、ステップＳ１５）、端末Ｂ及び端末Ｃの伴奏音声出力部３４は、当該ソロの演奏情報に基づいた音声と共に音声出力中の伴奏パターン情報に基づいた音声を合わせて出力する（ステップＳ１６、ステップＳ１７）。
【００７４】
端末Ｂの利用者が、端末Ａにおいて小節２Ｍ２Ａが開始する前に（例えば、小節１の前半時点）端末Ｂへ伴奏パターン情報の入力操作を行うと、端末Ｂの伴奏入力部３１が小節２（小節２Ｍ２Ａ〜小節２Ｍ２Ｃ）の伴奏パターン情報を入力する（ステップＳ１８）。当該入力が行われると、伴奏送信部３２が当該伴奏パターン情報を端末Ａ及び端末Ｃへ送信する（ステップＳ１９、ステップＳ２０）。
【００７５】
また、端末Ｃの利用者が、端末Ａにおいて小節２が開始する前に（例えば、小節１の前半時点）端末Ｃへ伴奏パターン情報の入力操作を行うと、端末Ｃの伴奏入力部３１が小節２（小節２Ｍ２Ａ〜小節２Ｍ２Ｃ）の伴奏パターン情報を入力する（ステップＳ２１）。当該入力が行われると、伴奏送信部３２が当該伴奏パターン情報を端末１Ａ及び端末１Ｂへ送信する（ステップＳ２２、ステップＳ２３）。
【００７６】
端末Ａの伴奏受信部２３は、端末Ｂ及び端末Ｃから伴奏パターン情報を受信する（ステップＳ２０、ステップＳ２３）。続いて、端末Ａのソロ音声出力部２４は、小節１が終了して小節２の開始時刻になると、端末Ｂ及び端末Ｃから受信した、小節２の伴奏パターン情報に基づいた音声を出力する（ステップＳ２４）。当該音声出力中に、ソロ演奏入力部２１がソロの演奏情報を入力すると（ステップＳ２５）、ソロ音声出力部２４は、伴奏受信部２３が受信した小節２の伴奏パターン情報に基づいた音声と共に当該ソロの演奏情報に基づいた音声を出力する（ステップＳ２６）。端末Ａのソロ演奏送信部２２は、当該ソロの演奏情報を端末Ｂ及び端末Ｃへ送信する(ステップＳ２７、ステップＳ２８)。
【００７７】
同様に、端末Ｂ及び端末Ｃが小節３、小節４用の伴奏パターン情報を端末Ａへ送信し、端末Ａでは、伴奏パターン情報に基づく音声出力が行われると共に、ソロの演奏情報が入力されると、当該ソロの演奏情報に基づく音声出力が合わせて行われる。また、端末Ａは、さらにソロの演奏情報を端末Ｂ及び端末Ｃへ送信する。端末Ｂ及びＣでは、端末Ａから半小節遅れて、伴奏パターンに基づく音声出力が行われると共に、ソロの演奏情報が受信されると、当該ソロの演奏情報に基づく音声出力が合わせて行われる。
【００７８】
上記のように、ソロ担当のモードの端末Ａでは、予め受信された伴奏パターン情報に基づく音声出力とソロの演奏情報に基づく音声出力とが合わせて行われる。また、伴奏担当のモードの端末Ｂ及びＣでは、ソロ担当のモードの端末Ａから半小節遅れて、伴奏パターン情報に基づく音声出力とソロの演奏情報に基づく音声出力とが合わせて行われる。
【００７９】
小節５Ｍ５Ｂからは、端末Ｂがソロを担当するので、端末Ａ及び端末Ｃよりも、半小節分早める必要がある。そこで、端末Ａで小節４Ｍ４Ａの伴奏パターン情報に基づいた音声の音声出力を終える前に（例えば、小節４Ｍ４Ａの演奏情報の音声出力の間）、端末Ａの切替部４は、小節４Ｍ４Ａを終了してから１小節分経過後（小節４Ｍ４Ａの音声出力終了から期間ｔ２経過後）に伴奏パターン情報に基づいた音声を音声出力する旨、決定する（ステップＳ２９）。
【００８０】
端末Ｂで小節４の伴奏パターン情報に基づいた音声出力を終える前に、端末Ｂの切替部４は、小節４Ｍ４Ｂの演奏情報に基づいた音声出力を終了して直後に伴奏パターン情報に基づいた音声出力をする旨、決定する（ステップＳ３０）。
【００８１】
端末Ｃで小節４Ｍ４Ｃの伴奏パターン情報の音声出力を終えると、端末Ｃの切替部４は、小節４Ｍ４Ｃに対応する演奏情報の音声出力を終了して、端末Ｂの小節５の音声出力タイミング開始時より半小節遅らせる必要があるため、半小節経過後（小節４Ｍ４Ｃから期間ｔ３経過後）に伴奏パターン情報を音声出力する旨、決定する（ステップＳ３１）。
【００８２】
端末Ａの利用者が、端末Ｂにおいて小節５Ｍ５Ｂが開始する前に（例えば、１小節ブレイクの前半時点）端末Ａへ伴奏パターン情報の入力操作を行うと、端末Ａの伴奏入力部３１は、小節５に対応する伴奏パターン情報を入力する（ステップＳ３２）。当該入力が行われると、伴奏送信部３２が当該伴奏パターン情報を端末Ｂ及び端末Ｃへ送信する（ステップＳ３３、ステップＳ３４）。
【００８３】
また、端末Ｃの利用者が、端末Ｂにおいて小節５Ｍ５Ｂが開始する前に（例えば、小節４Ｍ４Ｃ中）端末Ｃへ伴奏パターン情報の入力操作を行うと、端末Ｃの伴奏入力部３１は、小節５の伴奏パターン情報を入力する（ステップＳ３５）。当該入力が行われると、伴奏送信部３２が当該伴奏パターン情報を端末Ｂ及び端末Ａへ送信する（ステップＳ３６、ステップＳ３７）。
【００８４】
端末Ｂの伴奏受信部２３は、端末Ａ及び端末Ｃから伴奏パターン情報を受信する（ステップＳ３３、ステップＳ３６）。ソロ音声出力部２４は、小節４が終了して小節５Ｍ５Ｂの開始時刻になると（小節４Ｍ４Ｂの演奏情報に基づく音声出力を終了後）、当該伴奏パターン情報を小節５Ｍ５Ｂの演奏情報として、当該伴奏パターン情報に基づいた音声を出力する（ステップＳ３８）。また、端末Ｂのソロ演奏入力部２１によって、ソロの演奏情報が入力されると（ステップＳ３９）、ソロ音声出力部２４は、当該ソロの演奏情報に基づいた音声と、端末Ａ及び端末Ｃから受信した伴奏パターン情報に基づいた音声とを合わせて出力する（ステップＳ４０）。また、ソロ演奏送信部２２は、上記ソロの演奏情報を端末Ａ及び端末Ｃへ送信する（ステップＳ４１、ステップＳ４２）。
【００８５】
端末Ａのソロ演奏受信部３３は、端末Ｂからソロの演奏情報を受信し（ステップＳ４１）、伴奏音声出力部３４は、小節４Ｍ４Ａの音声出力後、１小節経過後に、自端末が送信した伴奏パターン情報に基づいた音声及び端末１Ｃから受信した伴奏パターン情報に基づいた音声と、ソロの演奏情報に基づいた音声とを合わせて出力する（ステップＳ４３）。
【００８６】
端末Ｃのソロ演奏受信部３３は、端末Ｂからソロの演奏情報を受信し（ステップＳ４２）、伴奏音声出力部３４は、小節４Ｍ４Ｃの音声出力後、半小節経過後に、自端末が送信した伴奏パターン情報に基づいた音声及び端末Ａから受信した伴奏パターン情報に基づいた音声と、ソロの演奏情報に基づいた音声とを合わせて出力する（ステップＳ４４）。
【００８７】
上記のように、モード切替後のソロ担当のモードの端末Ｂでは、予め受信された伴奏パターンに基づく音声出力とソロの演奏情報に基づく音声出力とが合わせて行われる。また、モード切替後の伴奏担当のモードの端末Ａ及びＣでは、ソロ担当のモードの端末Ｂから半小節遅れて、伴奏パターンに基づく音声出力とソロの演奏情報に基づく音声出力とが合わせて行われる。即ち、モード切替前後で、ソロ担当の端末１の音声出力タイミングと、伴奏担当の端末１の音声出力タイミングとの時間関係は変わらないこととなる。以上が、各端末１の演奏処理である。
【００８８】
上述の実施形態では、ソロ演奏送信部２２は、ソロの演奏情報として、ＭＩＤＩ形式の情報を送信する場合について述べたが、公知の音楽信号の波形信号をソロの演奏情報として送信するようにしてもよい。
【００８９】
上述の実施形態では、タイミング送信部２５が、小節１の伴奏パターン情報に基づいて出力した時刻を他の端末１へ通知する場合について述べたが、予めソロ担当の端末１が音声出力開始する時刻を全ての端末１で共有している場合には、通知しなくてもよい。
【００９０】
上述のように、ソロ担当モードの端末１が音声出力タイミングの開始時より前に、伴奏担当モードの端末１から伴奏パターン情報を受信しているので、ソロ担当モードの端末１が音声出力タイミングの時には、双方の端末１の通信により伴奏パターン情報に基づいた音声出力が遅れることはない。また、ソロ担当モードの端末１に入力されたソロの演奏情報を入力直後に上記伴奏パターン情報に基づいた音声と合わせて出力するので、ソロ担当モードの端末１において、伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを出力するタイミングにズレが発生しない。即ち、伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを出力するタイミングにズレを発生させずにソリストの演奏遅延をゼロにすることができる。
【００９１】
伴奏担当モードの端末１は、ソロ担当モードの端末１から音声出力タイミングの開始時刻を受信し、当該開始時刻から半小節分（双方の端末１が演奏情報の送受信にかかる時間より長い期間）遅らせて、伴奏パターン情報に基づいた音声を出力すると共に、ソロ担当モードの端末１から受信した場合には、当該伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを合わせて出力する。
【００９２】
この場合、伴奏担当モードの端末１は、双方の端末１が演奏情報の送受信にかかる時間を考慮して、伴奏パターン情報に基づいた音声を出力を行っており、ソロ担当モードの端末１においてソロの演奏情報に基づいた音声が出力された時点と、伴奏担当モードの端末１が、ソロ担当モードの端末１からソロの演奏情報を受信・音声出力する時点との差（通信遅延による影響）による、音声出力のズレを吸収することができる。即ち、伴奏者の演奏遅延をゼロにすることはできないが、伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを出力するタイミングにズレを発生させることを防止することができる。
【００９３】
通信遅延が５０ミリ秒以上発生すると演奏に著しい支障が出る。また、通信遅延には揺らぎもあり、揺らぎを解消するためのバッファも必要となる。上述のように、伴奏担当モードの端末１とソロ担当モード端末１の音声出力タイミングを通信遅延を考慮した時間ずらしているので、上記のような通信遅延の影響を受けることを回避している。
【００９４】
この状態において、ソロ担当モードと伴奏担当モードとの切替がある場合に、ソロ担当モードであった端末１が、伴奏担当モードに切り替わった場合、当該端末１は、ソロ担当モードに対応する小節の音声出力終了直後に、１小節分待機して、新たな音声出力を行う。一方、伴奏担当モードであった端末１がソロ担当モードに切り替わった場合、伴奏担当モードに対応する小節の音声出力終了直後に、ソロ担当モードの小節の伴奏情報に基づいた音声出力を開始する。
【００９５】
これにより、新たにソロ担当モードに切り替わった端末１は、新たにに伴奏担当モードであった端末１より半小節先に音声出力することになる。よって、担当モードの切り替わりがあっても、ソロ担当モードの端末１が伴奏担当モードの端末１より半小節先に音声出力する関係を維持できる。また、他の端末１で切り替わりがあった場合に伴奏担当モードであった端末１が伴奏担当モードに変更した場合に、上記切り替わり前の小節の音声出力終了後に、半小節待機して、上記切り替わり後の小節の音声出力を開始する。この場合も、ソロ担当モードの端末１が伴奏担当モードの端末１より半小節先に音声出力する関係を維持できる。
【００９６】
従って、演奏の途中で、ソロ担当と伴奏担当との切り替わりがあっても、ソロ担当の端末１が、先行して、伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを合わせて出力し、伴奏担当の端末１が、演奏情報の送受信にかかる時間を考慮して遅らせたタイミングで、伴奏パターン情報に基づいた音声とソロの演奏情報に基づいた音声とを合わせて出力するので、伴奏パターン情報に基づいた音声出力と、ソロの演奏情報に基づいた音声出力との音ズレを解消して音声出力することができる。
【００９７】
引き続いて、上述した一連の端末１による処理をコンピュータに実行させるための音声出力プログラムを説明する。図６に示すように、音声出力プログラム４０は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える記録媒体５に形成されたプログラム格納領域３９内に格納される。
【００９８】
音声出力プログラム４０は、ソロ演奏モジュール３００と、伴奏演奏モジュール３５０と、切替モジュール５００とを備えて構成される。ソロ演奏モジュール３００は、ソロ演奏入力モジュール４００と、ソロ演奏送信モジュール４１０と、伴奏受信モジュール４２０と、ソロ音声出力モジュール４３０と、タイミング送信モジュール４４０とを備えて構成される。伴奏演奏モジュール３５０は、伴奏入力モジュール４５０と、伴奏送信モジュール４６０と、ソロ演奏受信モジュール４７０と、伴奏音声出力モジュール４８０と、タイミング受信モジュール４９０とを備えて構成される。ソロ演奏モジュール３００と、伴奏演奏モジュール３５０と、切替モジュール５００とを実行させることにより実現される機能は、上述した端末１のソロ演奏部２と、伴奏演奏部３と、切替部４との機能とそれぞれ同様である。ソロ演奏入力モジュール４００と、ソロ演奏送信モジュール４１０と、伴奏受信モジュール４２０と、ソロ音声出力モジュール４３０と、タイミング送信モジュール４４０と、伴奏入力モジュール４５０と、伴奏送信モジュール４６０と、ソロ演奏受信モジュール４７０と、伴奏音声出力モジュール４８０と、タイミング受信モジュール４９０とを実行させることにより実現される機能は、上述した端末１のソロ演奏入力部２１と、ソロ演奏送信部２２と、伴奏受信部２３と、ソロ音声出力部２４と、タイミング送信部２５と、伴奏入力部３１と、伴奏送信部３２と、ソロ演奏受信部３３と、伴奏音声出力部３４と、タイミング受信部３５との機能とそれぞれ同様である。
【００９９】
なお、音声出力プログラム４０は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録（インストールを含む）される構成としてもよい。また、音声出力プログラム４０の各モジュールは、１つのコンピュータによるコンピュータシステムによって上述した一連の音声出力プログラム４０の処理が行われる。
【符号の説明】
【０１００】
１、１Ａ、１Ｂ…端末、２…ソロ演奏部、３…伴奏演奏部、４…切替部、５…記録媒体、２１…ソロ演奏入力部、２２…ソロ演奏送信部、２３…伴奏受信部、２４…ソロ音声出力部、２５…タイミング送信部、３１…伴奏入力部、３２…伴奏送信部、３３…ソロ演奏受信部、３４…伴奏音声出力部、３５…タイミング受信部、３９…プログラム格納領域、４０…音声出力プログラム、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…操作部、１０５…無線通信部、１０６…ディスプレイ、１０７…アンテナ、３００…ソロ演奏モジュール、３５０…伴奏演奏モジュール、４００…ソロ演奏入力モジュール、４１０…ソロ演奏送信モジュール、４２０…伴奏受信モジュール、４３０…ソロ音声出力モジュール、４４０…タイミング送信モジュール、４５０…伴奏入力モジュール、４６０…伴奏送信モジュール、４７０…ソロ演奏受信モジュール、４８０…伴奏音声出力モジュール、４９０…タイミング受信モジュール、５００…切替モジュール。
【図１】
2016218260.tif 000003
【図２】
2016218260.tif 000004
【図３】
2016218260.tif 000005
【図４】
2016218260.tif 000006
【図５】
2016218260.tif 000007
【図６】
2016218260.tif 000008