(57)【特許請求の範囲】
【請求項１】
カラオケ曲データに基づくカラオケ曲の演奏にあわせて演奏される楽器から楽音情報を入力する楽音情報入力手段と、
前記カラオケ曲データのうち、前記カラオケ曲の進行を示すカラオケ属性情報として、小節、拍、コーラスやサビ区間の開始・終了位置のいずれかを示す情報を入力する属性情報入力手段と、
前記楽音情報入力手段によって入力された楽音情報と、前記属性情報入力手段によって入力されたカラオケ属性情報とを、前記楽音情報入力手段によって当該楽音情報が入力された時刻と先に入力された楽音情報の入力時刻との間隔を表す第１の時刻情報、または当該楽音情報が入力された時刻を表す第２の時刻情報のいずれかと対応付けて記憶する記憶手段と、
第１の動作モードと第２の動作モードとのいずれかを選択する選択手段と、
前記選択手段により前記第１の動作モードが選択された場合に、前記記憶手段に記憶された楽音情報を、前記楽音情報入力手段によって入力された順に読み出す第１の読出手段と、
前記選択手段により前記第２の動作モードが選択された場合に、前記第１の時刻情報、前記第２の時刻情報、前記カラオケ属性情報のいずれかに基づいて前記記憶手段における読出アドレスの戻り量を決定する決定手段と、
前記記憶手段に記憶された楽音情報を、前記決定手段が決定した戻り量に応じた読出アドレスから、前記楽音情報入力手段によって入力された順に読み出す第２の読出手段と、  
前記第１の読出手段または前記第２の読出手段によって読み出された前記楽音情報に基づいて楽音信号を生成する楽音信号生成手段と
を備えることを特徴とする音源装置。
【請求項２】
前記決定手段は、前記カラオケ曲の演奏が巻き戻された量に基づいて前記戻り量を決定することを特徴とする請求項１に記載の音源装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子楽器やカラオケ装置などに用いて好適な、プレイバック機能を備えた音源装置に関する。
【０００２】
【従来の技術】
従来より、電子楽器などから入力されるデータに基づいて電子的に楽音信号を生成する音源装置が知られている。このような音源装置を制御するために用いられるデータには、例えばＭＩＤＩ（Musical Instrument Digital Interface）のような、音楽情報をデジタル信号によって伝達するための規格が用いられている。
【０００３】
【発明が解決しようとする課題】
ところで、ＭＩＤＩデータは、音楽情報をデジタルで伝達するためのシリアルデータであり、入力されたデータに基づいた演奏を後に再生するためには、ＭＩＤＩデータと時間情報と対応つけて記録しておく必要がある。
従来は、ＭＩＤＩデータを記録するためにはシーケンサが必要であった。ここで、図１２は、シーケンサを用いてＭＩＤＩデータを記録する場合の装置構成を示した図である。キーボード２００から出力されたＭＩＤＩデータはシーケンサ６００によって時間情報と対応つけて記録されるようになっている。記録されたＭＩＤＩデータに基づいて演奏の再生を行う場合は、シーケンサ６００は、時間情報に基づいてＭＩＤＩデータを音源装置１００に出力し、音源装置１００は、入力されるＭＩＤＩデータに基づいて楽音信号を生成して、サウンドシステム４００に出力する。
このように、従来の技術では、シーケンサによってＭＩＤＩデータを記録しない限りは演奏を再生することがでなかったので、シーケンサにおける記録を行っていなかった場合や、シーケンサを用いない場合には演奏の再生を行うことはできなかった。
【０００４】
本発明は、上述した課題を解決するためになされたものであり、再生機能を備える音源装置および、該音源装置を備えたカラオケ装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
請求項１に係る発明は、カラオケ曲データに基づくカラオケ曲の演奏にあわせて演奏される楽器から楽音情報を入力する楽音情報入力手段と、前記カラオケ曲データのうち、前記カラオケ曲の進行を示すカラオケ属性情報として、小節、拍、コーラスやサビ区間の開始・終了位置のいずれかを示す情報を入力する属性情報入力手段と、前記楽音情報入力手段によって入力された楽音情報と、前記属性情報入力手段によって入力されたカラオケ属性情報とを、前記楽音情報入力手段によって当該楽音情報が入力された時刻と先に入力された楽音情報の入力時刻との間隔を表す第１の時刻情報、または当該楽音情報が入力された時刻を表す第２の時刻情報のいずれかと対応付けて記憶する記憶手段と、第１の動作モードと第２の動作モードとのいずれかを選択する選択手段と、前記選択手段により前記第１の動作モードが選択された場合に、前記記憶手段に記憶された楽音情報を、前記楽音情報入力手段によって入力された順に読み出す第１の読出手段と、前記選択手段により前記第２の動作モードが選択された場合に、前記第１の時刻情報、前記第２の時刻情報、前記カラオケ属性情報のいずれかに基づいて前記記憶手段における読出アドレスの戻り量を決定する決定手段と、前記記憶手段に記憶された楽音情報を、前記決定手段が決定した戻り量に応じた読出アドレスから、前記楽音情報入力手段によって入力された順に読み出す第２の読出手段と、前記第１の読出手段または前記第２の読出手段によって読み出された前記楽音情報に基づいて楽音信号を生成する楽音信号生成手段とを備えることを特徴とする音源装置を提供する。
請求項２に係る発明は、請求項１に記載の音源装置において、前記決定手段は、前記カラオケ曲の演奏が巻き戻された量に基づいて前記戻り量を決定することを特徴とする。
【０００６】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【０００７】
１．第１実施形態
１−１．第１実施形態の構成
（１）全体構成
図１は、実施形態の構成を示すブロック図である。第１実施形態は、音源装置１００に本発明を適用したものであり、ＭＩＤＩ楽器２００、コントローラ３００、サウンドシステム４００が接続されて構成されている。
音源装置１００は、ＭＩＤＩ楽器２００から入力されたＭＩＤＩデータに基づいて楽音信号を生成するものであり、詳しい構成については、図２を用いて後述する。
ＭＩＤＩ楽器２００は、ＭＩＤＩ規格に対応した電子楽器であり、演奏者の操作に基づいてＭＩＤＩデータを生成して出力するものである。図１中では、鍵盤楽器を示しているが、弦楽器や管楽器など他の楽器であっても構わない。
コントローラ３００は、音源装置１００を制御するためのものであり、使用者が制御内容を指示するための操作子などを備えて構成されている。操作子によって指示された制御内容は、コマンドとして音源装置１００に対して出力される。サウンドシステム４００は、音源装置１００において生成された楽音信号を増幅して出力するものであり、アンプやスピーカなどを備えて構成される。
【０００８】
（２）音源装置１００の構成
次に、図２を参照しながら、音源装置１００の構成について説明する。図２に示すように、音源装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、音源ＬＳＩ１０４、Ｄ／Ａ変換器１０５、ＭＩＤＩインターフェイス１０６、およびコントローラインターフェイス１０７を備えて構成されている。
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されたプログラムに基づいて各部の制御を行うものであり、ＲＯＭ１０２には、後に説明する各処理を行うためのプログラムが記憶されている。
ＲＡＭ１０３は、データを一時的に記憶するためのメモリであり、ＭＩＤＩ楽器２００から入力されるＭＩＤＩデータをバッファリングするためなどに用いられる。
【０００９】
音源ＬＳＩ１０４は、ＣＰＵ１０１の制御の下でデジタル楽音信号を生成する集積回路であり、音源ＬＳＩ１０４によって生成されたデジタル楽音信号はＤ／Ａ変換器１０５においてアナログの楽音信号に変換されて出力される。ＭＩＤＩインターフェイス１０６は、ＭＩＤＩ楽器２００とのインターフェイス動作を行うものであり、ＭＩＤＩ楽器２００から出力されたＭＩＤＩデータは、ＭＩＤＩインターフェイス１０６を介してＣＰＵ１０１に供給される。コントローラインターフェイス１０７は、コントローラ３００とのインターフェイス動作を行うものであり、コントローラ３００から出力されたコマンドは、コントローラインターフェイス１０７を介してＣＰＵ１０１に供給される。本実施形態において用いられるコマンドには、音源装置１００における動作モードを選択するコマンドがある。動作モードとしては、ＭＩＤＩインターフェイス１０６を介して入力されるＭＩＤＩデータに基づいて順次楽音生成を行う「通常モード」と、過去に入力されたＭＩＤＩデータに基づいて楽音生成を行う「プレイバックモード」の２種類のモードがある。使用者は、コントローラ３００に設けられた操作子によっていずれかのモードを選択指示すると、コントローラ３００が選択されたモードを指示するコマンドを音源装置１００に出力するようになっている。
【００１０】
１−２．第１実施形態の動作
次に、上記構成を有する実施形態の動作につて説明する。本実施形態では、ＣＰＵ１０１は、ＭＩＤＩデータを受信してＲＡＭ１０３にバッファリングする処理（受信処理）と、ＲＡＭ１０３にバッファリングされたＭＩＤＩデータを読み出して音源ＬＳＩ１０４において楽音信号を生成する処理（発音処理）とを行っており、これらの処理を並行して行うことによって、上述の各モードに応じた楽音信号生成動作を行っている。
【００１１】
（１）受信処理
まず、図３を参照しながら、受信処理について説明する。音源装置１００に電源が投入されると、まず、初期化処理が行われる（Ｓ１０１）。初期化処理においては、ＲＡＭ１０３の初期化や、受信したＭＩＤＩデータの書込アドレスの初期化などが行われる。書込アドレスの初期値は予め設定されており、電源投入後初めて入力されたＭＩＤＩデータは、設定されたアドレスから順に書き込まれるようになる。
初期化処理が終了すると、ＣＰＵ１０１は、ＭＩＤＩ楽器２００から出力されたＭＩＤＩデータを受信し（Ｓ１０２）、受信したＭＩＤＩデータに時間情報を付加して（Ｓ１０３）、ＲＡＭ１０３にバッファリングする（Ｓ１０４）。そして、処理をステップＳ１０２に移行させて、次のＭＩＤＩデータを受信する。
【００１２】
ここで、図４は、受信したＭＩＤＩデータに時間情報を付加してＲＡＭ１０３に記憶する処理の概念を示した図である。図示するように、入力されたＭＩＤＩデータには、ＣＰＵ１０１によって時間情報が付加される。時間情報が付加されたＭＩＤＩデータは、ＲＡＭ１０３の所定のアドレスに一組のデータとして書き込まれる。
本実施形態においては、先に入力されたＭＩＤＩデータを受信した時間と、今回入力されたＭＩＤＩデータを受信した時間との間隔（Δｔ）によって時間情報を示している。ＣＰＵ１０１は、自己の動作クロックによって時間間隔を把握して、順次入力されるＭＩＤＩデータに対して時間情報を付加する。
時間情報の付加されたＭＩＤＩデータが書き込まれるＲＡＭ１０３内のエリアＡは、リングバッファ構造になっており、最終アドレスにデータが書き込まれた後は、最初のアドレスに戻って書き込みが行われる。
また、エリアＡは先に格納されたデータが先に読み出されるようになっており（ＦＩＦＯ）、ＣＰＵ１０１は、リングバッファの書込を行う方向に向かってＭＩＤＩデータの読み出しを行っていくように読出アドレスを特定する。
このようにして順次ＲＡＭ１０３に記憶されたＭＩＤＩデータは、以下に説明する処理（図５：発音処理）おいて順次ＲＡＭ１０３から読み出される。
【００１３】
（２）発音処理
次に、図５に示すフローチャートを参照しながら、発音処理について説明する。
音源装置１００に電源が投入されると、まず、初期化処理が行われる（Ｓ２０１）。初期化処理においては、ＭＩＤＩデータの読出基準となるアドレスの決定や発音モードの設定などを行う。初期設定としては、発音モードについては通常モードに設定する。読出アドレスについては、入力されたＭＩＤＩデータが記憶される初期アドレスと同じアドレスに設定する。これにより、順次入力されるＭＩＤＩデータが、入力された順にＲＡＭ１０３から読み出されるようになる。
初期化処理が終了すると、ＣＰＵ１０１は、コントローラ３００から入力されるコマンドに基づいて、発音モードの変更があるか否かを判別する（Ｓ２０２）。
【００１４】
発音モードの変更がないと判別した場合は（Ｓ２０２；ＮＯ）、処理をステップＳ２０６に移行させ、初期化処理において決定した読出開始アドレスからＭＩＤＩデータを読み出して（Ｓ２０６）、読み出したＭＩＤＩデータに基づいて音源ＬＳＩ１０４を制御して発音処理を行う（Ｓ２０７）。そして、読出アドレスを図４に示す読出方向に向かって１データだけ分加算して（Ｓ２０９）、処理をステップＳ２０２に移行させる。
【００１５】
ステップＳ２０２の判別において、発音モードの変更が生じたと判別した場合は（Ｓ２０２；ＹＥＳ）、次に、当該変更が「プレイバックモード」への変更か否かを判別する（Ｓ２０３）。そして、プレイバックモードへの変更であると判別した場合は（Ｓ２０３；ＹＥＳ）、戻り時間を取得して（Ｓ２０４）、戻り時間に対応した読出アドレスを決定する（Ｓ２０５）。本実施形態では、使用者が戻り時間を指定できるようになっており、戻り時間情報がプレイバックコマンドに含まれているものとする。
ＣＰＵ１０１は、このようにして決定された読出アドレスからＭＩＤＩデータを読み出して（Ｓ２０７）、発音処理をおこない（Ｓ２０８）、読出アドレスに対して所定のアドレスを加算して、処理をステップＳ２０２に移行させる。
【００１６】
ここで図６および図７を参照して、プレイバックコマンドが入力された場合の動作について具体的に説明する。図６は、通常モードからプレイバックモードへの変更が行われた場合の演奏時間と実時間との関係を示す図であり、図７は、ＲＡＭ１０３内のエリアＡとの関係を示す図である。なお、図６および図７において、実時間は実際の経過時間を示しており、演奏時間はＲＡＭ１０３のエリアＡに記憶された時間情報に基づいた経過時間を示している。
【００１７】
図６に示す例では、実時刻ｔ０において処理を開始し、実時刻ｔ２において通常モードからプレイバックモードにモード変更されており、プレイバックコマンドに含まれている戻り時間＝ｂである。
プレイバックコマンドが実時刻ｔ２において入力されると、ステップＳ２０２およびステップＳ２０３の判別において”ＹＥＳ”と判別されるので、ＣＰＵ１０１は、戻り時間ｂに基づいて読み出しアドレスを決定する。
ここで、図７を参照すると、実時刻ｔ２おける読出アドレスはアドレスａ１０であった。そこで、ＣＰＵ１０１は、アドレスａ１０から１データずつ読出方向に向かって逆向きに時間情報を読み出して加算する。そして加算した値が戻り時間ｂに達するアドレスを読出アドレスに決定する。図７に示す例では、アドレスａ２が読出アドレスとして決定されており、アドレスａ２〜アドレスａ９までに格納されている時間情報を加算した値が戻り時間ｂに対応する。
【００１８】
ここで、アドレスａ２から読み出されるＭＩＤＩデータの演奏時刻をｔｅ１とし、アドレスａ１０から読み出される演奏時刻をｔｅ２とする。図６を参照すると、アドレスａ２からＭＩＤＩデータを読み出した演奏時刻ｔｅ１は、実時刻ｔ１であったことがわかる。従って、実時刻ｔ３においてアドレスａ１から読み出されたＭＩＤＩデータによって生成される楽音信号は、実時刻ｔ１において生成された楽音信号と同じものとなる。同様に実時刻ｔ３〜ｔ４まで順次ＲＡＭ１０３から読み出されるＭＩＤＩデータ（アドレスａ３、ａ４……ａ１０）によって生成される楽音信号は、実時刻ｔ１〜ｔ２までに生成された楽音信号と同じものとなる。
このように、プレイバックコマンドが入力された場合は、戻り時間に応じたアドレス分だけ戻った位置から読み出しを開始するので、既に発音された楽音が再度発音され、プレイバック演奏を行うことができるようになる。
【００１９】
ところで、ステップＳ２０３の判別において、発音モードがプレイバックモードへの変更ではないと判別した場合は（Ｓ２０３；ＮＯ）、通常モードへの変更であると判別できるので、通常モードにおいて読み出しを開始するアドレス値を決定して（Ｓ２０９）、決定したアドレス値からＭＩＤＩデータを読み出して（Ｓ２０６）、発音処理を行う（Ｓ２０７）。
【００２０】
このように、通常モードにおいては、受信したＭＩＤＩデータを順次記憶して、記憶した順に読み出して発音するので、従来の音源装置と同様に使用することができる。
また、受信したＭＩＤＩデータに時間情報を付加してリングバッファに記憶しているので、プレイバックが指示されると所定演奏時間前に相当するアドレスからＭＩＤＩデータを読み出すことができるので、シーケンサを使用しなくても再生が可能となる。
【００２１】
２．第２実施形態
次に、本発明の第２の実施形態について説明する。ここでは、本発明にかかる音源装置をカラオケ装置と合わせて用いる場合について説明する。
図８は、第２実施形態の構成を示す図である。第２実施形態においては、音源装置１００’には、第１実施形態において説明したＭＩＤＩ楽器２００およびサウンドシステム４００の他、カラオケ装置５００が接続されている。
本実施形態では、カラオケ装置５００におけるカラオケ演奏にあわせて、ＭＩＤＩ楽器２００および音源装置１００’による演奏を行うことができるようになっており、後に詳しく説明するように、ＭＩＤＩ楽器２００から入力されるＭＩＤＩデータは、カラオケ曲データと対応つけて記憶されるようになっている。
カラオケ装置５００は、ＭＩＤＩ規格に基づいて作成されたカラオケ曲データに基づいて、カラオケ演奏としての楽音信号を生成するものであり、生成された楽音信号はサウンドシステム４００から出力される。
【００２２】
次に、図９を参照して、音源装置１００’の構成について説明する。図９に示すように、音源装置１００’は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、音源ＬＳＩ１０４、Ｄ／Ａ変換器１０５、ＭＩＤＩインターフェイス１０６、およびカラオケインターフェイス１５０を備えて構成されている。なお、第１実施形態（図２）と同様のものは同一符号を付して説明を省略する。
カラオケインターフェイス１５０は、カラオケ装置５００とのインターフェイス動作を行うものであり、本実施形態では、プレイバックモードを指示するコマンドおよび、カラオケ曲データとＭＩＤＩ楽器２００から入力されるＭＩＤＩデータとを対応つけて記憶するための属性データがカラオケ装置５００から入力されるようになっている。
【００２３】
カラオケ装置５００は、カラオケ曲データのうちの属性情報を音源装置１００’に出力しており、図１０に示すように、音源装置１００’は、第１実施形態と同様に入力されるＭＩＤＩデータに時間情報の他、属性情報を付加してＲＡＭ１０３に設定されたエリアＡに記憶する。属性情報とは、カラオケ曲の進行を示す情報であり、例えば、小節や、拍、コーラスやサビ区間の開始・終了位置などを示す情報をいう。
【００２４】
このように、第２実施形態においては、カラオケ曲データにおける属性情報をあわせて記憶しているので、当該属性情報に基づいて戻り量を決定することができるようになる。
あるいは、カラオケ装置において巻き戻しなどの処理を行った場合でも、属性情報によって同期をとることができるようになる。例えば、カラオケ演奏を数小節分巻き戻した場合に、カラオケ装置５００は、巻き戻された小節数を示す情報を戻り量としてコマンドに含めて音源装置１００’に出力すればよい。音源装置１００’は、コマンド中の小節数を示す情報と、ＲＡＭ１０３に記憶された属性情報とを比較することによって、再生を開始するアドレスを特定することができる。
【００２５】
３．変形例
なお、本発明は既述した実施形態に限定されるものではなく、以下のような各種の変形が可能である。
【００２６】
上記実施形態においては、ＭＩＤＩデータはＭＩＤＩ楽器２００から入力されるものとして説明しているが、これに限らずどのような機器から入力されてもよい。なお、ＭＩＤＩ規格に限らず、音楽情報をデジタル信号によって扱うことができる規格であればどのようなものでもよく、独自の規格のデータであってもよい。
【００２７】
上記実施形態においては、時刻情報は、ＭＩＤＩデータが入力された時間間隔を用いて記憶しているが、絶対時刻でも構わない。この場合において、現在時刻を用いてもよいし、記憶を開始してからの経過時間を用いてもよい。
時刻情報につては、時刻を把握できれば単位はどのようなものを用いてもよく、秒でもよいし、ＣＰＵ１０１の動作するクロック数を用いても構わない。
上記実施形態においては、戻り時間はコマンド中のに含まれるものとして説明しているが、予め設定された所定時間だけ戻るようにしてもよい。例えばエリアＡのサイズが十分でない場合は、戻り時間を制限するようにしてもよい。
【００２８】
第２実施形態においては、コマンドをカラオケ装置５００から入力するようにしているが、第１実施形態のように音源装置１００に直接コントローラ３００を接続することによって入力してもよいのは勿論である。
また、音源装置１００’がカラオケ装置５００の内部に組み込まれていても構わず、この場合は、ＭＩＤＩ楽器２００をカラオケ装置５００に接続する。ＭＩＤＩ楽器２００から入力されたＭＩＤＩデータに時間情報を付加してＲＡＭ１０３に記憶する際に属性情報を付加するかしないかについて選択できるようにしてもよい。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、音源装置に再生機能を備えることができる。
【図面の簡単な説明】
【図１】  第１実施形態の全体構成を示す図である。
【図２】  第１実施形態における音源装置の構成を示すブロック図である。
【図３】  受信処理の動作を示すフローチャートである。
【図４】  第１実施形態におけるＭＩＤＩデータの記憶状態について説明する図である。
【図５】  発音処理の動作を示すフローチャートである。
【図６】  第１実施形態の具体的動作を説明する図である（その１）。
【図７】  第１実施形態の具体的動作を説明する図である（その２）。
【図８】  第２実施形態の全体構成を示す図である。
【図９】  第２実施形態における音源装置の構成を示すブロック図である。
【図１０】  第２実施形態におけるＭＩＤＩデータの記憶状態について説明する図である。
【図１１】  従来技術を説明する図である。
【符号の説明】
１００、１００’……音源装置、
１０１……ＣＰＵ、
１０２……ＲＯＭ、
１０３……ＲＡＭ、
１０４……音源ＬＳＩ、
１０５……Ｄ／Ａ変換器、
１０６……ＭＩＤＩインターフェイス、
１０７……コントローラインターフェイス、
１５０……カラオケインターフェイス、
２００……キーボード、
３００……コントローラ、
４００……サウンドシステム、
５００……カラオケ装置、
６００……シーケンサ。
【図１】
0004048639.tif 000002
【図２】
0004048639.tif 000003
【図３】
0004048639.tif 000004
【図４】
0004048639.tif 000005
【図５】
0004048639.tif 000006
【図６】
0004048639.tif 000007
【図７】
0004048639.tif 000008
【図８】
0004048639.tif 000009
【図９】
0004048639.tif 000010
【図１０】
0004048639.tif 000011
【図１１】
0004048639.tif 000012