JP4228494B2 - Control apparatus and control method - Google Patents

Control apparatus and control method Download PDF

Info

Publication number
JP4228494B2
JP4228494B2 JP2000003953A JP2000003953A JP4228494B2 JP 4228494 B2 JP4228494 B2 JP 4228494B2 JP 2000003953 A JP2000003953 A JP 2000003953A JP 2000003953 A JP2000003953 A JP 2000003953A JP 4228494 B2 JP4228494 B2 JP 4228494B2
Authority
JP
Japan
Prior art keywords
data
control
performance
performance data
progress
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000003953A
Other languages
Japanese (ja)
Other versions
JP2001195065A (en
Inventor
信也 小関
春喜 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2000003953A priority Critical patent/JP4228494B2/en
Priority to US09/754,520 priority patent/US6417439B2/en
Priority to EP01100594A priority patent/EP1130572B1/en
Priority to DE60134596T priority patent/DE60134596D1/en
Publication of JP2001195065A publication Critical patent/JP2001195065A/en
Application granted granted Critical
Publication of JP4228494B2 publication Critical patent/JP4228494B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、外部から入力される信号に応じて楽器の演奏や演奏支援、または他装置を制御する制御装置および制御方法に関する。
【0002】
【従来の技術】
従来より、電子鍵盤楽器においては、演奏者の演奏速度に応じて伴奏の進行を自動的に制御するものがあり、この伴奏進行では、キューノートといわれる特定の区切りのノートが演奏者によって押鍵されるまで伴奏の進行を停止するといった制御を行うものがある。これは、予め記憶された演奏データの所定の区切り毎の音高に対してキューフラグを付加しておき、演奏者によってこの音高に対応する鍵が押下された場合に、そのタイミング以降の演奏データによる伴奏の進行を行うものである。従って、演奏者によってキューフラグが付加された音高に対する押鍵がなされない場合には、伴奏の進行が停止し、演奏者によってその音高に対応する押鍵がなされるまで待機する。一方、この音高に対する押鍵がなされた場合には、それ以降の伴奏が再開されることになる。初心者が演奏する場合など、本来演奏されるべき速度に演奏が追従できないことがあるが、上記のようなキューノートを用いた進行制御を行うことにより、初心者の演奏速度に合わせた伴奏を実現することができる。
【0003】
【発明が解決しようとする課題】
しかし、上述した従来のキューノートを用いた進行制御では、その電子鍵盤楽器の押鍵に応じて伴奏の進行具合が制御されるため、外部の楽器で行われる演奏に対して、この電子鍵盤楽器による伴奏の進行を制御するといったことはできなかった。
【0004】
本発明は、上記の事情を考慮してなされたものであり、外部から入力される信号に応じて演奏、演奏支援または他装置の制御などを実行することが可能な制御装置および制御方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記課題を解決するため、本発明の請求項1に記載の発明は、主演奏データおよび伴奏演奏データのいずれか一方である第1のデータと、当該主演奏データおよび伴奏演奏データの他方である第2のデータとを少なくとも含む演奏データを記憶した記憶手段と、前記第1のデータに基づいて演奏操作子を駆動する駆動手段と、前記第2のデータに基づいて楽音を発生する楽音発生手段と、外部から入力される信号を受信し、該受信した信号に基づいて音高情報を出力する受信手段と、前記受信手段から出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記楽音発生手段による楽音発生の進行および前記駆動手段による駆動を制御し、または、演奏操作子の操作により発生された操作データに応じて前記楽音発生手段による楽音発生の進行を制御する制御手段と、前記制御手段の制御モードとして、前記受信手段が受信した信号に応じた制御を行う第1のモードまたは演奏操作子の操作により発生された操作データに応じた制御を行う第2のモードを選択する選択手段とを具備し、前記制御手段は、前記第1のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する音高情報が前記受信手段から出力されるまで前記楽音発生手段による楽音発生および前記駆動手段による駆動の進行を遅延または停止し、前記区切りの演奏データに対応する音高情報が前記受信手段から出力された場合に前記楽音発生および前記駆動の進行の遅延または停止を解除し、前記第2のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する操作データが発生するまで前記楽音発生手段による楽音発生の進行を停止し、前記区切りの演奏データに対応する操作データが発生した場合に前記楽音発生の進行停止を解除することを特徴とする。
【0007】
また、請求項に記載の発明は、請求項1に記載の発明において、前記記憶手段に記憶される演奏データは、制御データをさらに含み、前記制御データに基づいて他装置を制御する他装置制御手段をさらに具備し、前記制御手段は、前記受信手段から出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記他装置制御手段による他装置の制御の進行を制御し、または、演奏操作子の操作により発生された操作データに応じて前記他装置制御手段による他装置の制御の進行を制御するものであることを特徴とする。
【0008】
また、請求項に記載の発明は、請求項1に記載の発明において、前記記憶手段に記憶される演奏データは、少なくとも主演奏データおよび制御データからなり、前記制御データに基づいて他装置を制御する他装置制御手段をさらに具備し、前記制御手段は、前記受信手段から出力された音高情報と前記演奏データとを比較し、該比較結果に応じて前記他装置制御手段による他装置の制御の進行を制御するものであることを特徴とする。
【0009】
また、請求項に記載の発明は、請求項1に記載の発明において、前記受信手段は、外部から入力される音高情報を受信して、該音高情報を出力するものであることを特徴とする。
【0013】
また、請求項5に記載の発明は、主演奏データおよび伴奏演奏データのいずれか一方である第1のデータと、当該主演奏データおよび伴奏演奏データの他方である第2のデータとを少なくとも含む演奏データに基づいて楽音発生を行う楽音発生装置の楽音発生および演奏操作子の駆動の進行を制御する方法であって、記憶された演奏データを読み出す読出ステップと、外部から入力される信号を受信し、該受信した信号に基づいて音高情報を出力する受信ステップと、出力された音高情報と読み出した演奏データとを比較し、該比較結果に応じて前記楽音発生装置による楽音発生の進行および演奏操作子の駆動を制御し、または、演奏操作子の操作により発生された操作データに応じて楽音発生の進行を制御する制御ステップと、前記制御ステップにおける制御モードとして、前記受信ステップにおいて受信された信号に応じた制御を行う第1のモードまたは演奏操作子の操作により発生された操作データに応じた制御を行う第2のモードを選択する選択ステップとを具備し、前記制御ステップは、前記第1のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する音高情報が出力されるまで前記楽音発生および前記駆動の進行を遅延または停止し、前記区切りの演奏データに対応する音高情報が出力された場合に前記楽音発生および前記駆動の進行の遅延または停止を解除し、前記第2のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する操作データが発生するまで楽音発生の進行を停止し、前記区切りの演奏データに対応する操作データが発生した場合に前記楽音発生の進行停止を解除するものであることを特徴とする。
【0015】
また、請求項に記載の発明は、請求項に記載の発明において、記憶された前記演奏データは、制御データをさらに含み、前記制御データに基づいて他装置を制御する他装置制御ステップをさらに具備し、前記制御ステップは、前記受信ステップで出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記他装置制御ステップによる他装置の制御の進行を制御し、または、演奏操作子の操作により発生された操作データに応じて前記他装置制御手段による他装置の制御の進行を制御するものであることを特徴とする。
【0016】
また、請求項に記載の発明は、請求項に記載の発明において、前記受信ステップは、マイクロホンあるいはオーディオ機器から入力されるオーディオ信号を受信して当該オーディオ信号の音高を検出し、該検出された音高を示す音高情報を出力するものであることを特徴とする。
【0017】
また、請求項に記載の発明は、請求項に記載の発明において、前記受信ステップは、外部から入力される音高情報を受信して、該音高情報を出力するものであることを特徴とする。
【0021】
【発明の実施の形態】
[1.実施形態の構成]
[1−1.全体構成]
図1に実施形態の全体構成を示す。本実施形態では、演奏を行うためのピアノ100、ピアノ100とMIDI(Musical Instrument Digital Interface)ケーブル111で接続された制御装置200、制御装置200の制御に基づいて演奏に各種効果を付与する効果装置300、およびピアノ100とMIDIケーブル111で接続されたMIDIデータ供給装置28を備えて構成されている。
ピアノ100は、後に詳しく説明するようにMIDI信号を出力することができるように構成されており、制御装置200は、ピアノ100における演奏に同期して送信されるMIDI信号に基づいて制御装置300を制御できるように構成されている。また、MIDIデータ供給装置28は、後に詳しく説明するようにMIDI信号を生成して出力することができるように構成されており、MIDIデータ供給装置28の生成したMIDIデータをMIDIケーブル111を介してピアノ100に供給することができるようになっている。
本実施形態では、効果装置300としては、照明装置301、ディスプレイ302、およびサウンドシステム303が制御装置200に接続されており、制御装置200は、照明装置301のオン/オフや移動、ディスプレイ302への静止画や動画の表示、サウンドシステム303への効果音(例えば、CDに記録されたオーディオ音)の出力などを制御する。
【0022】
[1−2.ピアノの構成]
図2は、ピアノ100の外観構成を示す図であり、図3は、ピアノ100の主要部内部の構成を示す図である。
ピアノ100は、鍵1の運動をハンマ2に伝達するアクションメカニズム3と、ハンマ2によって打撃される弦4と、鍵1を駆動するソレノイド5と、弦4の振動を止めるためのダンパ6とを備えており、これらの構成は一般的な自動ピアノと同様である。また、このピアノ100には、通常のアコースティックピアノと同様にバックチェック7が設けられており、打弦後のハンマ2がハンマーアクション機構に戻ったときのハンマ2の暴れを防止する。他にも、このピアノ100は、通常のアコースティックピアノに搭載される機構と同様のものを備えている。さらに、このピアノ100には、ハンマ2の打弦を阻止する不図示のストッパが設けられており、このストッパは、演奏者の指示あるいは操作に応じて、打弦を阻止する位置と打弦を許容する位置との間で電気的あるいは機械的に移動可能になされている。
【0023】
また、このピアノ100は、コントローラ11、サーボコントローラ12、電子楽音発生部25、キーセンサ26、MIDIインターフェイス110、ディスクドライブ120、およびディスプレイ130を備えている。
コントローラ11は、CPU(中央処理装置)、ROM(リードオンリーメモリ)およびRAM(ランダムアクセスメモリ)などを有しており、ピアノ100の各部を制御するものである。
サーボコントローラ12は、速度指示値Vrに応じた励磁電流をソレノイド5に供給するとともに、ソレノイド5から供給されるフィードバック信号としての出力速度Vyと速度指示値Vrを比較し、両者が一致するようにサーボ制御を行うものであり、速度指示値Vrは、各時刻における鍵1の位置に対応した速度を示す値としてコントローラ11から適宜出力される。
電子楽音発生部25は、コントローラ11の制御に基づいて電子的な楽音を発生するものであり、音源やスピーカ等から構成されている。
キーセンサ26は、各鍵1の下面側に設けられ、対応する鍵1の動作を検出するセンサであり、各鍵1の状態を示す信号を検出してコントローラ11に出力する。コントローラ11は、これらのキーセンサ26から供給される信号に基づいて電子楽音発生部25に制御信号を供給する。これにより、鍵1の動作に応じた楽音を電子的に発生させることができるようになっている。また、コントローラ11は、MIDIデータ供給装置28から供給されるMIDIデータに基づいて、後に詳しく説明するように制御装置200に対して各種効果制御を指示するMIDI信号を送信するとともに、ソレノイド5や電子楽音発生部25を制御して楽音発生制御を行う。なお、MIDIインターフェース110は、MIDIデータ供給装置28や制御装置200以外の外部電子楽器との間でMIDIデータを送受信することが可能である。
【0024】
ディスクドライブ120は、例えばDVD−ROMやCD−ROMなどの外部記録媒体に記録されたデータを読み出す装置であり、本実施形態では、演奏データをコントローラ11に供給するために用いられる。
ディスプレイ130は、タッチパネル付きの液晶ディスプレイであって、譜面立ての横に上下左右に回動可能に支持されており、コントローラ11は、表示内容の制御やパネル状態の検出を行うことができるように構成されている。本実施形態では、ディスプレイ130は、ピアノ100の演奏状態などを表示したり、各種設定を行うためのパネルとして用いられる。
【0025】
[1−3.制御装置の構成]
図4は制御装置200の構成を示す図である。この図に示すように制御装置200は、各部を制御する制御部201、MIDIインターフェイス202、設定テーブル203、照明データベース211、画像データベース212、音響データベース213、照明装置制御部221、ディスプレイ制御部222、サウンドシステム制御部223を備えている。
設定テーブル203には、後に例を図示するように、MIDI信号の内容と効果装置300の制御内容との対応が記憶されている。本実施形態では、制御内容は制御装置300の種類毎に詳細な制御内容を記述したファイルをデータベースとして記憶しており、照明データベース211は照明装置301の制御内容を記憶したものであり、画像データベース212はディスプレイ302に表示する静止画や動画の制御内容を記憶したものであり、音響データベース213はサウンドシステム303におけるオーディオ出力の制御内容を記憶したものである。
また、照明装置制御部221、ディスプレイ制御部222、およびサウンドシステム制御部223は、受信したMIDI信号の内容に基づいて特定されたファイルの記述内容に従って、各々接続された効果装置を制御するものである。
【0026】
[1−4.MIDIデータ供給装置の構成]
次に、コントローラ11のMIDIインターフェイス110にMIDIデータを供給するMIDIデータ供給装置28について説明する。MIDIデータ供給装置28は、逐次MIDIデータを生成し、コントローラ11に送出する。このようなMIDIデータ供給装置28としては、演奏者等による演奏操作子の操作状態に応じてMIDIデータを生成する各種のMIDI楽器を用いることができる。
【0027】
また、図5に示すように、人の声や動物の鳴き声などの音声からMIDIデータを生成するものであってもよい。同図に示すように、この装置は、マイクロホンにより生成された音声に対応するオーディオ信号やオーディオ機器から入力されるオーディオ信号をA/D変換するA/D変換部41と、A/D変換部41によってデジタル化された音声データのピッチを検出するピッチ検出部43と、ピッチ検出部43によって検出されたピッチに基づいてMIDIデータを生成するMIDIデータ生成部42とを備えている。この構成の下、人の歌声などに応じたオーディオ信号が入力されると、その歌声に応じて逐次MIDIデータが生成される。また、この装置を用いることにより、アコースティック楽器の発生する楽音に対応するオーディオ信号をマイクロホンで入力してMIDIデータを生成し、このMIDIデータをコントローラ11に供給するといったことも可能である。
【0028】
[1−5.データの構成]
次に、同期制御を行うためのデータ構成について説明する。本実施形態では、演奏の進行を記述した演奏データに基づいて同期制御を行うものとし、演奏データはMIDIフォーマットで記述されている。
図6は演奏データの一部を示した図である。MIDIデータは、イベントデータと、これらの時間間隔を示すタイミングデータと、エンドデータとからなるシーケンスデータで構成され、ディスクドライブ120から供給される。
【0029】
イベントデータは、ノートオンイベントやノートオフイベント、ノートナンバ、およびベロシティを示すデータを有している。なお、ノートオンおよびノートオフ以外のイベントについては、本実施形態では説明を省略する。
また、MIDIデータでは最大16系統の楽器をコントロールすることができるようになっており、このためノートイベントデータとして最大16系統のデータを記述することができる。本実施形態では、各系統毎にシーケンスデータが作成されており、各シーケンスはTr0〜Tr15までのトラック名で特定されるようになっている。
【0030】
所定の1系統のイベントデータのノートオンイベントのベロシティを示す部分には、キューフラグという識別子が記述されるようになっている(図6に示した「Cf」参照)。つまり、コントローラ11は、MIDIデータの所定の系統のノートオンイベントのベロシティを示す部分を参照することにより、このノート(音高)がキューフラグに特定されるものであるか否かを判別することができるようになっている。なお、キューフラグであることを記述するための情報は、上記のようにベロシティの部分に書き込む以外にも、他の部分に書き込むようにしてもよい。
【0031】
本実施形態では、このキューフラグを用いて、ピアノ100における演奏と制御装置200において行う効果装置300の制御を同期させる。より具体的には、上述した各系統に、演奏のメロディラインを示す主演奏トラックと、演奏の伴奏音高列等を示す伴奏トラックと、ピアノ100の外部に接続されている機器の制御内容を示す外部制御トラックとを割り当て、主演奏トラックに含まれるノートオンイベントに一定の区切り毎にキューフラグを付しておく。
そして、キューフラグが付された主演奏トラックのノートオンイベントの実行タイミングを、MIDIデータ供給装置28から供給されるMIDIデータに基づいて制御することによって、あわせて外部制御トラックのイベントデータの実行タイミングも制御するとともに、伴奏トラックのイベントデータに基づく電子楽音発生部25による伴奏の電子的な演奏を制御する。
これにより、予め他の楽器の演奏や歌唱者の歌声等の進行にあわせて制御内容を記述しておくことができるので、制御スイッチを操作する手間が省ける。
【0032】
ところで、本実施形態では、図7に例示するように、コントローラ11が行う制御内容を各トラック毎に割り当てたテーブルが、コントローラ11内のRAMに記憶させる。この内容は、例えば演奏データに含まれている。
コントローラ11は、所定のタイミングにおいて実行すべきイベントデータが含まれるトラック番号に基づいて異なる制御を行えるようになっており、図7に示す例では、トラックTr0には主演奏のイベントデータが記述されており、このイベントデータに基づいてソレノイド5を制御するように設定されている。また、トラックTr1には伴奏演奏のイベントデータが記述されており、このイベントデータに基づいて電子楽音発生部25を制御するように設定されている。さらに、トラックTr2のイベントデータに基づいて外部の装置を制御するように設定されている。ここでのソレノイド5の駆動は、ハンマ2が弦4を打撃しない程度に鍵1を駆動する、いわゆる鍵1を半押し状態とすることにより、演奏者に対して押下すべき鍵を報知するものとする。なお、鍵1を半押し状態とする演奏ガイドは行わないようにしてもよいし、各鍵毎に設けたLEDによる点灯表示などによって演奏ガイドを行うようにしてもよい。
これにより、トラックTr0のデータに基づいて主演奏部分の演奏指示を行い、トラックTr1のデータに基づいて伴奏の電子楽音による演奏を行い、トラックTr1のデータに基づいて外部に接続した効果装置300を用いた効果付与を行うことができるようになる。
【0033】
図8は、ピアノ100から送信されるMIDI信号の内容と、制御装置200における制御内容との対応を例示した図であり、この内容は、先に説明したように、制御装置200の設定テーブルに記憶されている。
本実施形態では、外部装置に対する制御内容を示すMIDIデータにはノートオンイベントを用いるものとしている。制御装置200は、ノートオンデータに含まれるノートナンバに基づいて制御内容を選択すればよい。
また、先にも説明したように、各制御装置300の詳細な制御内容を記述したファイルはデータベースとして記憶されており、各ファイルには、図8に例示するようにそれぞれファイル名が付されて特定できるようになっている。
設定テーブルは、ノートナンバとファイル名とを1対1に対応させたデータ構成となっている。
なお、図8においては、ノートナンバ0〜127を照明、画像、音響の3種類の制御内容に対応させているが、照明、画像、音響のイベントデータを各種類毎に異なるトラックに割り当てるようにすれば、各種類のイベントデータを分別できるため、128個のノートナンバを各種類の制御に各々用いることができ、制御を多様化できる。
【0034】
[2.実施形態の動作]
次に、上述した構成を備える本実施形態の動作について、同期制御動作の概要説明した後、ピアノ100および制御装置200の詳細な動作についてそれぞれ説明する。
【0035】
[2−1.概要動作]
図9は、上述した主演奏トラックおよび外部制御トラックのデータの内容例を楽譜として表示した図である。
以下の説明においては、タイミングの特定について、「イベント時刻」および「ポインタ時刻」2種類の時刻を用いる。「イベント時刻」とは、上述したタイミングデータの累積によって特定される時刻であり、演奏データに含まれる各イベントデータを実行すべき時刻を示す。例えば、図9に示す具体例では、コントローラ11の分解能=2(1/8分音符を基本単位)とした場合の各音符の演奏時刻を「イベント時刻」の時系列に示している。この例によれば、キューフラグの付されたノートオンイベントは、イベント時刻t8およびt16において演奏されることになる。このイベント時刻によって示されるタイミングは、演奏データに含まれる16のトラックTr0〜Tr15共通の時刻であり、これにより、各トラックに含まれるイベントデータの同期をとることができるようになっている。
【0036】
一方、「ポインタ時刻」とは、イベントデータを実行している時刻、すなわち現在演奏中の時刻を示しているものである。キューフラグを用いない通常のMIDIデータに基づく演奏であれば、ポインタ時刻はテンポによって規定される一定の時間間隔で進行していくが、本実施形態のようにキューフラグを用いて演奏進行の待ち受けを行う場合には、必ずしも一定の時間間隔で進行するとは限らない。
なお、以下の説明においては、イベント時刻およびポインタ時刻の他に、「キューフラグ時刻」を用いる場合があるが、これはイベント時刻のうちの、特にキューフラグが付されたノートオンイベントを実行すべき時刻を示すものである。また、図9中の「経過時間」は、キューフラグに対応する受信イベントの待ち受け状態になってからの経過時間を示してる。なお、本実施形態における「キューフラグに対応する受信イベント」とは、キューフラグが付されたノートイオンイベントに含まれるノートナンバに対応したノートオンイベントデータをMIDIデータ供給装置28から受信した場合をいう。
【0037】
本実施形態では、受信イベントの待ち受け状態は、キューフラグ時刻を前後する所定時間継続するものとしている。これは、MIDIデータ供給装置28から歌唱者の歌声や他の楽器の演奏音等に基づいたMIDIデータが供給される場合を考慮したものであり、演奏データが示すキューフラグ時刻よりも、早くあるいは遅くMIDIデータ供給装置28からキューフラグに示される音高のノートオンイベントを受信しても、効果付与タイミングおよび伴奏進行タイミングを歌唱者の歌声や他の楽器の演奏に同期させるためである。
より具体的には、キューフラグに対応する受信の待ち受け時間(図9中の「経過時間」)においては、ポインタ時刻の進行をいったん停止し、キューフラグに対応した受信イベントがあったときにキューフラグ時刻からポインタ時刻の進行を開始する。なお、受信イベントの待ち受け状態が開始してから所定時間が経過しても受信イベントがなかった場合には、誤動作等の理由で受信イベントが検出されなかった場合や、他の楽器の演奏者や歌唱者が効果付与を行わないことを意図した場合であって、演奏者の演奏動作自体は進行している場合があるので、待ち受け状態は解除して、未実行のイベントデータに対応するイベント時刻からポインタ時刻の進行を開始する。
【0038】
本実施形態では、上述したような処理を行うために、コントローラ11において実行する処理において必要なデータを一時的に記憶しておくバッファ(受信バッファ、イベントバッファ、キューフラグバッファ)がピアノ100のコントローラ11のRAMに設けられる。
図10は、各種バッファの内容例を示す図であり、(1)は受信バッファの内容例を示し、(2)はイベントバッファの内容例を示し、(3)はキューフラグバッファの内容例を示している。
【0039】
受信バッファは、MIDIデータ供給装置28から供給されるノートオンイベントを記憶するバッファである。コントローラ11には、MIDIデータ供給装置28からノートオンイベントデータを受信した場合、この受信バッファにそのノートナンバを書き込むようになっている。
イベントバッファは、次に実行すべきイベントデータを予めディスクドライブにセットされたディスクから読み出して記憶するバッファであり、図10(2)に示すように、当該イベントデータのトラック番号、イベント、ノートナンバ、およびイベント時刻を対応付けて記憶するようになっている。
キューフラグバッファは、キューフラグの内容を記憶するバッファであり、図10(3)に示すように、キューフラグが付されたノートオンイベントのノートナンバ、キュー実行待ち状態になってからの経過時間、およびキューフラグ時刻を対応付けて記憶するようになっている。
これらのバッファを用いた詳細な処理について、次にフローチャートを参照しながら説明する。
【0040】
[2−2.ピアノ100の詳細動作]
[2−2−1.メインルーチン]
図11に示したフローチャートは、ピアノ100のコントローラ11が、内部のメモリに記憶されたプログラムに従って実行する処理のメインルーチンである。この図に示す処理は、例えば上述したディスプレイ130のタッチパネルの操作などによって演奏開始が指示された時に開始する。
コントローラ11は、この図に示す処理を開始すると、まず各種設定などの初期化処理を行う(S100)。ここでは、例えば上述した各種バッファの初期化や、ポインタ時刻の初期化などを行う。
初期化が終了すると、コントローラ11は、後にそれぞれ詳しく説明する受信処理(S200)、演奏データ読出処理(S300)、およびイベント実行処理(S400)を演奏終了まで循環させる。なお、循環は、イベント時刻系列における基本単位の時間毎に1循環するものとする。
【0041】
[2−2−2.受信処理]
図12に示すフローチャートは、受信処理(図11:S200)のサブルーチンを示したものである。受信処理は、MIDIデータ供給装置28から供給されるMIDIデータを受信するルーチンであり、コントローラ11は、まずMIDIインターフェイス110から供給されるMIDIデータをMIDIインターフェイス110から受信する(S201)。
そして、受信したMIDIデータがノートオンイベントであるか否かを判定し(S202)、ノートオンイベントであると判定した場合には(S202;YES)、図10(1)に示すように、このノートオンイベントに示されるノートナンバを受信バッファに書き込んで(S203)、処理をメインルーチンに戻す。
【0042】
一方、ステップS202の判定において、ノートオンイベントではないと判定した場合には(S202;NO)、次にノートオフイベントであるか否かを判定し(S204)、ノートオフイベントであると判定した場合には(S204;YES)、そのノートオフイベントに示されるノートナンバを受信バッファから消去して(S205)、処理をメインルーチンに戻す。
ステップS204の判定において、ノートオフイベントではないと判定した場合には(S204;NO)、ノートオンおよびノートオフ以外のMIDIデータが受信された場合であり、そのまま処理をメインルーチンに戻す。
この処理を繰り返し行うことによって、コントローラ11は、外部のMIDIデータ供給装置28から供給されるノートオンイベント、例えばMIDIデータ供給装置28が歌唱者の歌声や他の楽器の演奏音をMIDIデータに変換している場合にはその歌声や演奏の音高を受信バッファに記憶されたデータによって認識することができる。
【0043】
[2−2−3.演奏データ読出処理]
図13に示すフローチャートは、演奏データ読出処理(図11:S300)のサブルーチンを示したものである。演奏データ読出処理は、演奏データ中のMIDIシーケンスから次に実行すべきイベントデータを予め読み出して、図9(2)に示したイベントバッファに記憶しておく処理である。なお、イベントデータを読み出すための読出タイマは、各トラック毎に設けられている。
【0044】
コントローラ11は、まず最初のトラックTr0から読み出しを開始する(S301)。読み出しを開始すると、読出タイマが示す値が0であるか否か、すなわち、このトラックのイベントデータの読み出しタイミングであるか否かを判定する(S302)。なお、読出タイマにセットされる値は、後に説明するように、次のイベントデータを読み出すまでの時間を示しており、ルーチンが1循環する毎に1づつデクリメントされることによって、時間の経過を示すものである。ステップS302の判定において、イベントデータの読み出しタイミングであると判定した場合は(S302;YES)、次に実行すべきイベントデータを読み出して(S303)、そのイベントデータを実行すべきイベント時刻をタイミングデータに基づいて算出する(S304)。そして、図10(2)に示すように、トラック番号、イベントの種類、ノートナンバ、およびイベント時刻をイベントバッファに書き込んで(S305)、次にイベントデータを読み出すまでの時間を読出タイマにセットする(S306)。ここでセットする時間は、イベント時刻よりも所定時間前になるような時間にしておく。これによって、予めイベントデータを読み出しておくことができるようになり、キューフラグに対応する受信イベントの待ち受けもキューフラグ時刻よりも前から開始することが可能となる。
【0045】
コントローラ11は、今回読み出したイベントデータにキューフラグが付されているか否かを判定し(S307)、キューフラグがふされていると判定した場合には(S307;YES)、図10(3)に示すように、キューフラグの付されたノートオンイベントのノートナンバをキューフラグバッファに書き込む(S308)。このとき、あわあせてステップS304で算出したイベント時刻をキューフラグ時刻としてセットする。なお、この時点ではキューフラグを書き込んでから時間の経過がないので、経過時間は0とする。
【0046】
キューフラグへの書込(S308)が終了した後、あるいはステップS307の判定において、キューフラグが付されていないと判定した場合は(S307;NO)、全トラックのMIDIデータについて読出処理を実行したか否かを判定し(S309;NO)、まだ読出処理を行っていないトラックが残っていると判定した場合は(S309;NO)、処理対象を次のトラックに変更して(S310)、ステップS302の読出タイマ値の判定に移行させる。
ところで、このステップS302の判定において、読出タイマ値が0ではない、すなわちイベントデータを読み出すタイミングではないと判定した場合は(S302;NO)、読出タイマ値を1デクリメントした後(S311)、全トラックについて処理を終了したか否かの判定を行う(S309)。
そして、ステップS309の判定において全トラックについて処理を終了したと判定すると(S309;YES)、演奏データ読出処理を終了してメインルーチンに戻る。
【0047】
[2−2−4.イベント実行処理]
図14に示すフローチャートは、イベント実行処理(図11:S400)のサブルーチンを示したものである。イベント実行処理は、イベントバッファに記憶されたイベントデータを実行するための処理であり、キューフラグに対応した受信イベントの待ち受けも、このルーチンで行うものである。
コントローラ11は、キューフラグバッファにデータが記憶されているか否かをまず判定し(S401)、キューフラグバッファにデータが記憶されている、すなわち、キューフラグに対応した受信イベントの待ち受け状態であると判定した場合は(S401;YES)、キューフラグバッファに記憶されているノートナンバと受信バッファに記憶されているノートナンバが一致するか否かを判定する(S402)。ここで、両者が一致すると判定した場合は(S402;YES)、キューフラグの付されたノートオンイベントと同じノートナンバのノートオンイベントデータをMIDIデータ供給装置28から受信したと判断できるので、先に説明したように、待ち受け状態を解除すべく、ポインタ時刻をキューフラグ時刻にセットする(S403)。
【0048】
一方、ステップS402の判定において、キューフラグバッファに記憶されているノートナンバと受信バッファに記憶されているノートナンバが一致しないと判定した場合は(S402;NO)、キューフラグの付されたノートオンイベントと同じノートナンバのノートオンイベントデータがMIDIデータ供給装置28から供給されていないと判断できるので、キューフラグバッファ中の経過時間(図10(3)参照)を1インクリメントする(S404)。
そして、経過時間値が、待ち受け許容時間としての所定値以上になったか否かを判定し(S405)、所定値未満、すなわち、経過時間がいまだ許容時間内であると判定した場合には(S405;NO)、キューフラグに対応した受信イベントの待ち受け状態を継続すべく、イベント実行処理を終了してメインルーチンに戻る。
一方、経過時間値が所定値以上になったと判定した場合には(S405;YES)、待ち受け状態を解除すべく、次に実行すべきイベントデータのイベント時刻をポインタ時刻にセットする(S406)。
ステップS403あるいはステップS406において、待ち受け状態を解除するポイント時刻のセットを行った後、キューフラグバッファのデータを削除する(S407)。
【0049】
ところで、ステップS401の判定において、キューフラグバッファにはデータが記憶されていないと判定した場合は(S401;NO)、受信イベントの待ち受け状態ではないので、通常の演奏としてポインタ時刻を進行させるべく、ポインタ時刻を1インクリメントする(S410)。
【0050】
ステップS403、S406、あるいはS410において今回処理すべきポインタ時刻をセットすると、コントローラ11は、イベントバッファを参照してこのポインタ時刻に対応したイベントを実行する(S408)。先に図7を参照しながら説明したように、実行すべきイベントデータが含まれていたトラック番号毎にコントローラ11が行う制御内容が対応付けられている。図7に示す例では、実行すべきイベントデータがトラックTr0のデータであればこのノートナンバに対応した鍵1のソレノイド5を制御して主演奏の演奏指示を行い、トラックTr1のデータであればこのノートナンバに対応した音高の楽音を電子楽音発生装置25に発生させ伴奏演奏を行い、トラックTr3のデータであればこのノートナンバを含むノートオンメッセージをMIDI信号として制御装置200に送信する。
このような、各トラックに対応したイベントデータに基づく制御を実行した後(S408)、コントローラ11は、実行したイベントデータをイベントバッファから削除して(S409)、イベント実行処理を終了する。
【0051】
[2−3.制御装置200の詳細動作]
次に、制御装置200の詳細動作について、図15に示すフローチャートを参照しながら説明する。
制御装置200の制御部201は、例えば、パネル操作やピアノ100から送信されるデータなどに基づいて図15に示す処理を開始すると、初期化処理を行った後(Sb1)、ピアノ100からのMIDI信号受信待ち状態とする(Sb2)。
ステップSb2においてMIDI信号を受信したと判定した場合は(Sb2;YES)、図8に例示したような設定テーブル203を参照して、受信したノートナンバに対応する制御データをデータベースから検索する(Sb3)。そして、検索された制御データに基づいて効果装置300を制御して(Sb4)、ピアノ200における演奏が終了したか否かを判定する(Sb5)。
ステップSb5の判定において、演奏が終了していないと判定した場合は(Sb5;NO)、処理をステップSb2のMIDI信号受信待ちに戻し、演奏が終了したと判定した場合は(Sb5;YES)、処理を終了する。
【0052】
[3.まとめ]
このように、本実施形態では、演奏者に対する演奏支援や伴奏の自動演奏などの音楽データの時間進行にあわせて、演奏に付与する各種効果の内容を予め演奏データに記述しておくことができるので、演奏者は複数の効果付与制御操作を演奏動作とは別に行う必要がなくなる。
また、演奏データにはキューフラグが付されており、キューフラグに対応するイベントがMIDIデータ供給装置28から供給されるまで演奏データに基づいた処理の実行を停止することができる。このため、例えば、MIDIデータ供給装置28が入力される歌唱者の歌声や他の楽器の演奏音をMIDIデータに変換するものであれば、歌唱者の歌や他の楽器の演奏が演奏データに記述されたタイミングよりも前後した場合であっても、上記歌や演奏にあわせて行うべき伴奏の自動演奏や主演奏の演奏指示、さらには付与すべき効果の制御も一時停止状態になっているので、他の楽器の演奏動作もしくは歌唱者の歌などと本ピアノ100による伴奏や主演奏の演奏指示や他の各種装置による効果制御が同期するようになる。
【0053】
[4.変形例]
本発明は、上述した実施形態に限らず、以下に示すような各種の変形が可能である。
【0054】
上記実施形態では、楽器以外の他装置として、効果装置である照明装置、ディスプレイ、サウンドシステムなどを例としてあげたが、これらに限らず、例えば、空調装置、送風装置や、香り発生装置など、ピアノ100が楽器として備える通常の機能以外のもので制御可能なものであればどのような装置でもかまわない。
また、各効果装置で付与する効果についても、予め記憶したデータによる制御が行えればどのようなものでもよく、記憶しておくデータの形式もどのようなものでもかまわない。例えば、動画であればMPEG(Moving Picture Experts Group)などをもちいればよいし、オーディオであればADPCM(Adaptive Differential Pulse Code Modulation)形式のデータでもよいし、MIDIデータに基づいて音源で楽音を生成するようにしてもかまわない。
なお、本発明は、上記実施形態のようなピアノを制御する装置にかぎらず、キーボードやオルガンのような他の鍵楽器を制御するものであってもよいし、演奏データに基づいて楽音を発生する装置を有するものであればよい。
【0055】
また、上記実施形態では、複数の効果装置を一つの制御装置で制御しているが、各効果装置毎に制御装置を設けて、楽器側でMIDI信号の送信先を制御するようにしてもかまわない。あるいは、制御装置を楽器側に設ける構成にしてもよい。
上記実施形態では、キューフラグをノートオンイベントに含めたデータ構成としているが、これに限らず、外部から入力される音高を示す情報と対応付けることができればどのような記述のしたかでもよく、例えばキューフラグのみを記述したトラックを設けてもよい。
なお、演奏データに記述された所定の区切りを示すデータとして、上記実施形態ではキューフラグを用いているが、これに限らず他の識別子を用いるようにしてもかまわない。例えば小節線を示すデータを含めた場合は小節線データを用いてもよいし、カラオケデータのようにさび区間の開始を示すマークなどを記述しているような場合には、このようなマークを用いてもかまわない。あるいは、識別子を用いずに、所定の時間条件や何音符毎などといった他の情報を演奏データのヘッダなどに記述しておいてもかまわない。
【0056】
上記実施形態では、キューフラグがバッファに記憶されている場合には、該キューフラグのノートナンバに対応する受信イベントを検出するまでポインタ時刻の進行を停止することによって、MIDIデータ供給装置28から供給されるMIDIデータと主演奏データとを比較し、該比較結果に応じて主演奏データ、伴奏データおよび制御データの進行を制御しているが、進行の停止に限らず、例えば、進行速度を徐々に遅くするようにしてもよい。
また、上記実施形態では、楽器の演奏動作と主演奏データとを比較する際には、主演奏データの進行と制御データの進行とを同一のポインタ時刻を用いて一致させているが、主演奏データの進行のみを停止し、伴奏データや制御データの進行は少し先まで進ませてから停止するようにしてもよいし、伴奏データや制御データの進行速度を徐々に遅くするようにしてもよい。
なお、上記実施形態では、キューフラグに対応する受信イベントの待ち受け状態になってから所定時間が経過した場合は、待ち受け状態を解除するものとして説明しているが、受信イベントを検出するまで待ち続けるようにしてもかまわない。
また、上記実施形態では、キューフラグ時刻よりも早いタイミングから受信イベントの待ち受けを行うものとし、キューフラグ時刻よりも前に受信イベントを検出した場合には効果付与タイミングや伴奏演奏タイミングも前倒しとなる例を用いて説明しているが、これに限らず、効果付与タイミングを前倒ししないようにしてもよい。このような場合は、ポイント時刻がキューフラグ時刻と一致した時点で、所定時間前以内に受信イベントを検出していた場合には、そのままポインタ時刻を進行させ、受信イベントを検出していなかった場合は、受信イベントを検出するまで待ち続けるようにすればよい。
【0057】
効果付与を制御するイベントデータについて、上記実施形態ではノートオンイベントを用いて、そのイベントに含まれるノートナンバと制御内容とを対応付けているが、例えばエクスクルーシブなどの他のメッセージを用いてもよいし、ベロシティなど他のパラメータと制御内容を対応付けるようにしてもかまわない。なお、演奏データを記述するデータ形式および、楽器から制御装置への制御信号の送信形式についても、上記実施形態のようなMIDIに限らず、他の形式のものをもちいてもかまわないのはもちろんである。
また、上記実施形態では、各種制御を行うためのプログラムは予めコントローラ11および制御部201に記憶されているものとして説明したが、例えば、ディスクドライブ120にセットされたディスクから読み出したり、インストールできるようにしてもよい。
プログラムや演奏データをコントローラ11や制御部201に供給する手段についても、ディスクからの読み込みに限らず、通信インターフェイスを設けて、通信回線によって供給できるようにしてもかまわない。
【0058】
また、上述した実施形態では、ピアノ100の楽音発生等を制御する演奏データとして、主演奏トラックに加え、伴奏トラックを有するMIDIデータを用いて主演奏の演奏指示および伴奏の電子楽音による演奏を行っていたが、主演奏トラックのみが記述されたMIDIデータを用いるようにしてもよい。この場合にも、上記実施形態と同様に主演奏トラックにキューフラグを記述しておき、キューフラグが付された音高と同じ音高のMIDIデータをMIDIデータ供給装置28から受信した場合にのみ、その主演奏トラックに記述されたMIDIデータに応じた電子楽音による主演奏を行うようにし、同じ音高のMIDIデータを受信しない場合には主演奏トラックに基づく演奏を停止するようにしてもよい。この構成の下、MIDIデータ供給装置28が歌唱者の歌をMIDIデータに変換するものである場合には、歌唱されるメロディーの進行に追従したメロディー音の発生が可能となる。
【0059】
また、上述した実施形態では、主演奏トラックの記述内容に基づいてソレノイド5によって鍵1を半押し状態とすることにより、演奏支援を行うようにしていたが、ソレノイド5によって鍵1を動作させて打弦による機械的発音を行うようにしてもよい。また、主演奏トラックは伴奏トラックの進行タイミングを制御するためだけに用いるようにし、上記実施形態のように主演奏トラックのイベントデータに応じたソレノイド5の制御を行わないようにしてもよい。
また、上述した実施形態では、伴奏トラックに基づく演奏を電子楽音発生部25が行うようにしていたが、伴奏トラックに基づく演奏をソレノイド5による機械的発音によって行うようにしてもよい。この際、主演奏トラックに基づく演奏を電子楽音発生部25が行うようにしてもよい。
また、上述した実施形態では、主演奏トラックにキューフラグを記述するようにしていたが、伴奏トラックにキューフラグを記述するようにしてもよい。この場合、例えば他の楽器による伴奏演奏音をMIDIデータ供給装置28でMIDIデータに変換してピアノ100に供給するようにすればよい。
【0060】
また、上述した実施形態では、外部からMIDIデータを供給することにより、コントローラ11に音高を示す情報をコントローラ11が受信するようになっていたが、外部から供給する信号は、コントローラ11が音高を示す情報を取得することができる信号であればよく、オーディオ信号などであってもよい。例えばCDプレーヤやDVDプレーヤなどのオーディオ機器からオーディオ信号を受信し、このオーディオ信号から音高を検出する(例えば、図5に示すMIDIデータ供給装置28の構成をピアノ100内部に設ける)ようにしてもよい。この場合、ピアノ100にマイクロホンもしくはオーディオ信号入力端子を設けるようにすればよい。
また、上述した実施形態では、外部から入力される信号に応じて、演奏、演奏支援または他の装置の制御などを実行したが、このような制御モードに加え、鍵1の演奏操作により発生されたMIDIデータに応じて演奏、演奏支援または他装置の制御などを実行する制御モードを設け、演奏者がこれらのモードを任意に選択できるようにしてもよい。これにより、外部から入力される信号による制御と、自機の演奏による制御とを共通の構成で実現できるため、簡易な構成で多彩な制御が可能となる。なお、後者の制御モードの場合には、キーセンサ26から供給される信号に基づいて、図12に示す処理と同様の処理を行うようにすればよい。
【0061】
【発明の効果】
以上説明したように、本発明によれば、外部から入力される信号に応じて演奏、演奏支援または他装置の制御などを実行することが可能となる。
【図面の簡単な説明】
【図1】 実施形態の全体構成を示す図である。
【図2】 ピアノの外観構成を示す図である。
【図3】 ピアノの主要部の構成を示す図である。
【図4】 制御装置の構成を示すブロック図である。
【図5】 MIDIデータ供給装置の構成を示すブロック図である。
【図6】 MIDIデータの構成を示す図である。
【図7】 MIDIデータと制御内容の対応を示す図である。
【図8】 MIDIデータに含まれるパラメータと制御内容の対応を示す図である。
【図9】 MIDIデータの内容を音符で示した図である。
【図10】 各種バッファの内容を例示した図である。
【図11】 ピアノの動作を説明するフローチャートである(メインルーチン)。
【図12】 ピアノの動作を説明するフローチャートである(押鍵処理)。
【図13】 ピアノの動作を説明するフローチャートである(演奏データ読出処理)。
【図14】 ピアノの動作を説明するフローチャートである(イベント実行処理)。
【図15】 制御装置の動作を説明するフローチャートである。
【符号の説明】
100……ピアノ、1……鍵、2……ハンマ、3……アクションメカニズム、4……弦、5……ソレノイド、6……ダンパ6、11……コントローラ、12……サーボコントローラ、25……電子楽音発生装置、26……キーセンサ、28……MIDIデータ供給装置、110……MIDIインターフェイス、111……MIDIケーブル、120……ディスクドライブ、130……ディスプレイ、200……制御装置、300……効果装置。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a control device and a control method for controlling performance of a musical instrument, performance support, or other devices in accordance with an externally input signal.
[0002]
[Prior art]
Conventionally, some electronic keyboard instruments automatically control the progression of accompaniment according to the performance speed of the performer. In this accompaniment progression, a specific break note called a cue note is pressed by the performer. There is a control that stops the accompaniment progression until it is played. This is because a cue flag is added to the pitches at predetermined intervals of the performance data stored in advance, and when the player presses the key corresponding to this pitch, the performance after that timing is played. The accompaniment progresses by data. Therefore, if the player does not press the key corresponding to the pitch to which the cue flag is added, the accompaniment stops, and the player waits until the player presses the key corresponding to the pitch. On the other hand, when a key is pressed for this pitch, the subsequent accompaniment is resumed. When the beginner plays, the performance may not be able to follow the speed that should be played, but by performing the progress control using the cue note as described above, accompaniment that matches the performance speed of the beginner is realized. be able to.
[0003]
[Problems to be solved by the invention]
However, in the progress control using the conventional cue note described above, the progress of the accompaniment is controlled according to the key depression of the electronic keyboard instrument. It was not possible to control the progression of accompaniment.
[0004]
The present invention has been made in view of the above circumstances, and provides a control device and a control method capable of performing performance, performance support, or control of other devices in accordance with an externally input signal. The purpose is to do.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, the invention described in claim 1 of the present invention is the first data which is one of the main performance data and the accompaniment performance data, and the other of the main performance data and the accompaniment performance data. Storage means for storing performance data including at least second data, driving means for driving a performance operator based on the first data, and musical sound generation means for generating a musical sound based on the second data And receiving means for receiving a signal input from the outside and outputting pitch information based on the received signal, comparing the pitch information output from the receiving means with the first data, According to the comparison result, the progress of the musical tone generation by the musical tone generating means and the driving by the driving means are controlled, or the musical tone generating means is controlled according to the operation data generated by the operation of the performance operator. Control means for controlling the progress of the musical tone generation, and the control mode of the control means includes a first mode in which control is performed in accordance with the signal received by the receiving means or operation data generated by operation of the performance operator. Selecting means for selecting a second mode for performing the corresponding control, and the control means, when the first mode is selected, at a predetermined break previously described in the performance data, Musical tone generation by the musical tone generating means until pitch information corresponding to the segmented performance data is output from the receiving means And driving by the driving means Progress Delay or The musical tone is generated when pitch information corresponding to the segmented performance data is output from the receiving means. And said drive Progression Delay or When the stop mode is released and the second mode is selected, the musical tone generated by the musical tone generating means until the operation data corresponding to the performance data of the segment is generated in the predetermined segment previously described in the performance data. The progress of the generation is stopped, and when the operation data corresponding to the segmented performance data is generated, the stop of the generation of the musical sound is canceled.
[0007]
Claims 2 In the invention described in claim 1, in the invention described in claim 1, the performance data stored in the storage means is control data. Further includes , Further comprising other device control means for controlling another device based on the control data, the control means comprising the pitch information output from the receiving means and the pitch information First Compare the data and control the progress of the control of the other device by the other device control means according to the comparison result Or the progress of the control of the other device by the other device control means is controlled according to the operation data generated by the operation of the performance operator. It is a thing to do.
[0008]
Claims 3 In the invention described in claim 1, in the invention described in claim 1, the performance data stored in the storage means includes at least main performance data and control data, and controls other devices based on the control data. Means for comparing the pitch information output from the receiving means with the performance data, and controlling the progress of the control of the other apparatus by the other apparatus control means according to the comparison result. It is a thing to do.
[0009]
Claims 4 The invention according to claim 1 is characterized in that, in the invention according to claim 1, the receiving means receives pitch information input from the outside and outputs the pitch information.
[0013]
The invention according to claim 5 includes at least first data which is one of main performance data and accompaniment performance data, and second data which is the other of the main performance data and accompaniment performance data. A method for controlling the generation of musical sounds and the progression of driving of a musical performance controller for generating musical sounds based on performance data, wherein a reading step for reading stored performance data and a signal input from outside are received. Then, the reception step of outputting the pitch information based on the received signal is compared with the output pitch information and the read performance data, and the progress of the tone generation by the tone generator according to the comparison result And a control step for controlling the driving of the performance operator or for controlling the progress of the musical tone generation in accordance with operation data generated by the operation of the performance operator, and the control step. As the control mode, the first mode for performing control according to the signal received in the reception step or the second mode for performing control according to operation data generated by the operation of the performance operator is selected. A selection step, and when the first mode is selected, the control step outputs pitch information corresponding to the performance data at the predetermined interval described in the performance data in advance. Until Above Musical sound generation And said drive Progress Delay or The musical tone is generated when pitch information corresponding to the performance data of the break is output And said drive Progression Delay or When the stop mode is released and the second mode is selected, the progress of musical tone generation is stopped until operation data corresponding to the performance data of the segment is generated in a predetermined segment previously described in the performance data. When the operation data corresponding to the segmented performance data is generated, the progress stop of the musical sound generation is canceled.
[0015]
Claims 6 The invention described in claim 5 In the invention described in claim 1, the stored performance data is control data. Further includes , Further comprising another device control step for controlling another device based on the control data, wherein the control step includes the pitch information output in the reception step and the pitch information First Compare the data and control the progress of the control of the other device in the other device control step according to the comparison result Or the progress of the control of the other device by the other device control means is controlled according to the operation data generated by the operation of the performance operator. It is a thing to do.
[0016]
Claims 7 The invention described in claim 5 In the invention described in claim 1, the receiving step receives an audio signal input from a microphone or an audio device, detects a pitch of the audio signal, and outputs pitch information indicating the detected pitch. It is characterized by being.
[0017]
Claims 8 The invention described in claim 5 The receiving step is characterized in that the receiving step receives pitch information input from the outside and outputs the pitch information.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
[1. Configuration of Embodiment]
[1-1. overall structure]
FIG. 1 shows the overall configuration of the embodiment. In the present embodiment, a piano 100 for performing a performance, a control device 200 connected to the piano 100 with a MIDI (Musical Instrument Digital Interface) cable 111, and an effect device that imparts various effects to the performance based on the control of the control device 200. 300 and a MIDI data supply device 28 connected to the piano 100 by a MIDI cable 111.
The piano 100 is configured to output a MIDI signal as will be described in detail later, and the control device 200 controls the control device 300 based on the MIDI signal transmitted in synchronization with the performance of the piano 100. It is configured to be controllable. The MIDI data supply device 28 is configured to generate and output a MIDI signal, as will be described in detail later. The MIDI data generated by the MIDI data supply device 28 is transmitted via the MIDI cable 111. It can be supplied to the piano 100.
In the present embodiment, as the effect device 300, a lighting device 301, a display 302, and a sound system 303 are connected to the control device 200, and the control device 200 turns the lighting device 301 on / off, moves, and moves to the display 302. Display of still images and moving images, output of sound effects (for example, audio sounds recorded on a CD) to the sound system 303, and the like.
[0022]
[1-2. Piano composition]
FIG. 2 is a diagram illustrating an external configuration of the piano 100, and FIG. 3 is a diagram illustrating an internal configuration of a main part of the piano 100.
The piano 100 includes an action mechanism 3 that transmits the movement of the key 1 to the hammer 2, a string 4 that is hit by the hammer 2, a solenoid 5 that drives the key 1, and a damper 6 that stops vibration of the string 4. These configurations are the same as those of a general automatic piano. The piano 100 is also provided with a back check 7 as in a normal acoustic piano, and prevents the hammer 2 from rampaging when the hammer 2 after striking returns to the hammer action mechanism. In addition, the piano 100 has the same mechanism as that mounted on a normal acoustic piano. Further, the piano 100 is provided with a stopper (not shown) that prevents the hammer 2 from hitting the string. It can be moved electrically or mechanically between the permissible positions.
[0023]
The piano 100 also includes a controller 11, a servo controller 12, an electronic musical tone generator 25, a key sensor 26, a MIDI interface 110, a disk drive 120, and a display 130.
The controller 11 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and controls each part of the piano 100.
The servo controller 12 supplies an excitation current corresponding to the speed instruction value Vr to the solenoid 5 and compares the output speed Vy as a feedback signal supplied from the solenoid 5 with the speed instruction value Vr so that they match. Servo control is performed, and the speed instruction value Vr is appropriately output from the controller 11 as a value indicating the speed corresponding to the position of the key 1 at each time.
The electronic musical sound generating unit 25 generates electronic musical sounds based on the control of the controller 11 and includes a sound source, a speaker, and the like.
The key sensor 26 is a sensor that is provided on the lower surface side of each key 1 and detects the operation of the corresponding key 1. The key sensor 26 detects a signal indicating the state of each key 1 and outputs the signal to the controller 11. The controller 11 supplies a control signal to the electronic musical tone generator 25 based on signals supplied from these key sensors 26. Thereby, a musical sound corresponding to the operation of the key 1 can be generated electronically. Further, the controller 11 transmits a MIDI signal for instructing various effect control to the control device 200 based on the MIDI data supplied from the MIDI data supply device 28 as well as the solenoid 5 and the electronic device. The tone generator 25 is controlled to control tone generation. The MIDI interface 110 can send and receive MIDI data to and from an external electronic musical instrument other than the MIDI data supply device 28 and the control device 200.
[0024]
The disk drive 120 is a device that reads data recorded on an external recording medium such as a DVD-ROM or CD-ROM, and is used to supply performance data to the controller 11 in this embodiment.
The display 130 is a liquid crystal display with a touch panel, and is supported by the music stand so that it can be rotated up, down, left, and right, so that the controller 11 can control display contents and detect a panel state. It is configured. In the present embodiment, the display 130 is used as a panel for displaying the performance state of the piano 100 and performing various settings.
[0025]
[1-3. Configuration of control device]
FIG. 4 is a diagram illustrating a configuration of the control device 200. As shown in this figure, the control device 200 includes a control unit 201 that controls each unit, a MIDI interface 202, a setting table 203, an illumination database 211, an image database 212, an acoustic database 213, an illumination device control unit 221, a display control unit 222, A sound system control unit 223 is provided.
The setting table 203 stores the correspondence between the content of the MIDI signal and the control content of the effect device 300, as illustrated later. In this embodiment, the control content stores a file describing detailed control content for each type of the control device 300 as a database, and the illumination database 211 stores the control content of the illumination device 301. Reference numeral 212 stores control contents of still images and moving images to be displayed on the display 302, and an acoustic database 213 stores control contents of audio output in the sound system 303.
The lighting device control unit 221, the display control unit 222, and the sound system control unit 223 control each connected effect device in accordance with the description content of the file specified based on the content of the received MIDI signal. is there.
[0026]
[1-4. Configuration of MIDI data supply apparatus]
Next, the MIDI data supply device 28 that supplies MIDI data to the MIDI interface 110 of the controller 11 will be described. The MIDI data supply device 28 sequentially generates MIDI data and sends it to the controller 11. As such a MIDI data supply device 28, various MIDI musical instruments that generate MIDI data in accordance with the operation state of a performance operator by a performer or the like can be used.
[0027]
Further, as shown in FIG. 5, MIDI data may be generated from a voice such as a human voice or an animal call. As shown in the figure, this apparatus includes an A / D converter 41 for A / D converting an audio signal corresponding to sound generated by a microphone and an audio signal input from an audio device, and an A / D converter. A pitch detection unit 43 that detects the pitch of the audio data digitized by the input unit 41; and a MIDI data generation unit 42 that generates MIDI data based on the pitch detected by the pitch detection unit 43. Under this configuration, when an audio signal corresponding to a person's singing voice is input, MIDI data is sequentially generated according to the singing voice. Further, by using this apparatus, it is possible to generate an MIDI signal by inputting an audio signal corresponding to a musical sound generated by an acoustic instrument with a microphone, and supply the MIDI data to the controller 11.
[0028]
[1-5. Data structure]
Next, a data configuration for performing synchronization control will be described. In this embodiment, the synchronization control is performed based on performance data describing the progress of performance, and the performance data is described in the MIDI format.
FIG. 6 shows a part of the performance data. The MIDI data is composed of sequence data including event data, timing data indicating these time intervals, and end data, and is supplied from the disk drive 120.
[0029]
The event data includes data indicating a note-on event, a note-off event, a note number, and velocity. In the present embodiment, descriptions of events other than note-on and note-off are omitted.
Further, MIDI data can control up to 16 instruments, and therefore, up to 16 instruments can be described as note event data. In this embodiment, sequence data is created for each system, and each sequence is specified by a track name from Tr0 to Tr15.
[0030]
An identifier called a cue flag is described in a portion indicating the velocity of a note-on event of predetermined one system of event data (see “Cf” shown in FIG. 6). That is, the controller 11 determines whether or not the note (pitch) is specified by the cue flag by referring to a portion indicating the velocity of the note-on event of a predetermined system in the MIDI data. Can be done. Note that the information for describing the cue flag may be written in another portion in addition to the velocity portion as described above.
[0031]
In the present embodiment, this cue flag is used to synchronize the performance on the piano 100 and the control of the effect device 300 performed in the control device 200. More specifically, in each system described above, the main performance track indicating the melody line of the performance, the accompaniment track indicating the accompaniment pitch of the performance, and the control contents of the devices connected to the outside of the piano 100 are provided. The external control track shown is assigned, and a cue flag is attached to the note-on event included in the main performance track at every predetermined interval.
Then, by controlling the execution timing of the note-on event of the main performance track with the cue flag based on the MIDI data supplied from the MIDI data supply device 28, the execution timing of the event data of the external control track is also obtained. And the electronic performance of the accompaniment by the electronic musical tone generator 25 based on the event data of the accompaniment track.
As a result, the contents of control can be described in advance in accordance with the progress of performance of other musical instruments or the singing voice of the singer, so that the trouble of operating the control switch can be saved.
[0032]
By the way, in this embodiment, as illustrated in FIG. 7, a table in which the control content performed by the controller 11 is assigned to each track is stored in the RAM in the controller 11. This content is included in performance data, for example.
The controller 11 can perform different control based on the track number including event data to be executed at a predetermined timing. In the example shown in FIG. 7, the event data of the main performance is described in the track Tr0. The solenoid 5 is set to be controlled based on the event data. In addition, event data of accompaniment performance is described in the track Tr1, and the electronic musical tone generator 25 is set to be controlled based on this event data. Furthermore, it is set to control an external device based on the event data of the track Tr2. In this case, the solenoid 5 is driven by driving the key 1 to such an extent that the hammer 2 does not hit the string 4, so that the key to be pressed is notified to the performer by setting the so-called key 1 halfway. And It should be noted that the performance guide in which the key 1 is half-pressed may not be performed, or the performance guide may be performed by a lighting display by an LED provided for each key.
As a result, the performance instruction of the main performance portion is instructed based on the data of the track Tr0, the performance by the electronic musical sound of the accompaniment is performed based on the data of the track Tr1, and the effect device 300 connected to the outside based on the data of the track Tr1 The used effect can be given.
[0033]
FIG. 8 is a diagram illustrating the correspondence between the content of the MIDI signal transmitted from the piano 100 and the control content in the control device 200. This content is stored in the setting table of the control device 200 as described above. It is remembered.
In the present embodiment, note-on events are used for MIDI data indicating control contents for external devices. The control device 200 may select the control content based on the note number included in the note-on data.
As described above, the files describing the detailed control contents of each control device 300 are stored as a database, and each file is given a file name as illustrated in FIG. It can be specified.
The setting table has a data structure in which note numbers and file names are associated with each other on a one-to-one basis.
In FIG. 8, note numbers 0 to 127 correspond to three types of control contents of illumination, image, and sound. However, the event data of illumination, image, and sound are assigned to different tracks for each type. Then, since each type of event data can be sorted, 128 note numbers can be used for each type of control, and the control can be diversified.
[0034]
[2. Operation of the embodiment]
Next, the operation of the present embodiment having the above-described configuration will be described in detail, and then the detailed operations of the piano 100 and the control device 200 will be described.
[0035]
[2-1. Overview operation]
FIG. 9 is a diagram showing an example of data contents of the main performance track and the external control track described above as a score.
In the following description, two types of time “event time” and “pointer time” are used for specifying the timing. The “event time” is a time specified by the accumulation of the timing data described above, and indicates a time at which each event data included in the performance data is to be executed. For example, in the specific example shown in FIG. 9, the performance time of each note when the resolution of the controller 11 = 2 (1/8 note is the basic unit) is shown in the time series of “event time”. According to this example, the note-on event with the cue flag is played at the event times t8 and t16. The timing indicated by the event time is a time common to the 16 tracks Tr0 to Tr15 included in the performance data, so that the event data included in each track can be synchronized.
[0036]
On the other hand, the “pointer time” indicates the time when the event data is executed, that is, the time during the current performance. If the performance is based on normal MIDI data that does not use the cue flag, the pointer time advances at a constant time interval defined by the tempo. However, as in this embodiment, the performance of the performance is awaited using the cue flag. When performing, it does not necessarily advance at a fixed time interval.
In the following description, in addition to the event time and the pointer time, “cue flag time” may be used. This is the event time, in particular, a note-on event with a cue flag is executed. Indicates the power time. In addition, “elapsed time” in FIG. 9 indicates the elapsed time since the reception event corresponding to the queue flag has been set. The “reception event corresponding to the cue flag” in the present embodiment refers to the case where the note-on event data corresponding to the note number included in the note ion event with the cue flag is received from the MIDI data supply device 28. Say.
[0037]
In the present embodiment, the standby state of the reception event is assumed to continue for a predetermined time before and after the queue flag time. This is in consideration of the case where MIDI data based on the singer's singing voice or the performance sound of another musical instrument is supplied from the MIDI data supply device 28, or earlier than the cue flag time indicated by the performance data. This is because, even when a note-on event having a pitch indicated by the cue flag is received from the MIDI data supply device 28 later, the effect applying timing and the accompaniment progression timing are synchronized with the singing voice of the singer and the performance of other instruments.
More specifically, in the reception standby time corresponding to the queue flag (“elapsed time” in FIG. 9), the progress of the pointer time is temporarily stopped, and the queue is generated when there is a reception event corresponding to the queue flag. The progress of the pointer time starts from the flag time. Note that if there is no reception event even after a predetermined time has elapsed since the standby state of the reception event has started, the reception event is not detected due to a malfunction or the like, the player of another instrument, If the singer intends not to give an effect and the performer's performance may be in progress, the standby state is canceled and the event time corresponding to the unexecuted event data The pointer time starts from the beginning.
[0038]
In the present embodiment, in order to perform the processing as described above, a buffer (reception buffer, event buffer, cue flag buffer) that temporarily stores data necessary for processing executed in the controller 11 is a controller of the piano 100. 11 RAM.
10A and 10B are diagrams showing examples of contents of various buffers. (1) shows examples of contents of reception buffers, (2) shows examples of contents of event buffers, and (3) shows examples of contents of queue flag buffers. Show.
[0039]
The reception buffer is a buffer for storing note-on events supplied from the MIDI data supply device 28. When the note-on event data is received from the MIDI data supply device 28, the controller 11 writes the note number in this reception buffer.
The event buffer is a buffer for reading and storing event data to be executed next from a disk set in advance in the disk drive, and as shown in FIG. 10 (2), the track number, event, and note number of the event data. And the event time are stored in association with each other.
The queue flag buffer is a buffer for storing the contents of the queue flag. As shown in FIG. 10 (3), the note number of the note-on event to which the queue flag is attached, the elapsed time since the queue execution wait state is entered. , And the queue flag time are stored in association with each other.
Detailed processing using these buffers will be described next with reference to a flowchart.
[0040]
[2-2. Detailed operation of the piano 100]
[2-2-1. Main routine]
The flowchart shown in FIG. 11 is a main routine of processing executed by the controller 11 of the piano 100 according to a program stored in an internal memory. The processing shown in this figure is started when a performance start is instructed, for example, by operating the touch panel of the display 130 described above.
When the controller 11 starts the processing shown in this figure, first, initialization processing such as various settings is performed (S100). Here, for example, the above-described various buffers are initialized and the pointer time is initialized.
When the initialization is completed, the controller 11 circulates reception processing (S200), performance data reading processing (S300), and event execution processing (S400), which will be described in detail later, until the performance ends. It is assumed that the circulation is performed once per basic unit time in the event time series.
[0041]
[2-2-2. Receive processing]
The flowchart shown in FIG. 12 shows a subroutine of the reception process (FIG. 11: S200). The reception process is a routine for receiving the MIDI data supplied from the MIDI data supply device 28, and the controller 11 first receives the MIDI data supplied from the MIDI interface 110 from the MIDI interface 110 (S201).
Then, it is determined whether or not the received MIDI data is a note-on event (S202). If it is determined that the received MIDI data is a note-on event (S202; YES), as shown in FIG. The note number indicated in the note-on event is written to the reception buffer (S203), and the process returns to the main routine.
[0042]
On the other hand, if it is determined in step S202 that it is not a note-on event (S202; NO), it is then determined whether it is a note-off event (S204), and it is determined that it is a note-off event. In this case (S204; YES), the note number indicated by the note-off event is erased from the reception buffer (S205), and the process returns to the main routine.
If it is determined in step S204 that the event is not a note-off event (S204; NO), MIDI data other than note-on and note-off is received, and the process returns to the main routine as it is.
By repeating this process, the controller 11 converts the note-on event supplied from the external MIDI data supply device 28, for example, the MIDI data supply device 28 into the singing voice of the singer or the performance sound of other instruments into MIDI data. If it is, the singing voice or performance pitch can be recognized by the data stored in the reception buffer.
[0043]
[2-2-3. Performance data read processing]
The flowchart shown in FIG. 13 shows a subroutine of the performance data reading process (FIG. 11: S300). The performance data reading process is a process of previously reading event data to be executed next from the MIDI sequence in the performance data and storing it in the event buffer shown in FIG. A read timer for reading event data is provided for each track.
[0044]
The controller 11 first starts reading from the first track Tr0 (S301). When reading is started, it is determined whether or not the value indicated by the reading timer is 0, that is, whether or not it is the reading timing of the event data of this track (S302). Note that the value set in the read timer indicates the time until the next event data is read, as will be described later, and is decremented by 1 every time the routine circulates. It is shown. If it is determined in step S302 that it is the event data read timing (S302; YES), the event data to be executed next is read (S303), and the event time at which the event data is to be executed is set to the timing data. (S304). Then, as shown in FIG. 10 (2), the track number, event type, note number, and event time are written in the event buffer (S305), and the time until the next event data is read is set in the read timer. (S306). The set time is set to be a predetermined time before the event time. As a result, the event data can be read in advance, and the reception of the reception event corresponding to the queue flag can be started before the queue flag time.
[0045]
The controller 11 determines whether or not a queue flag is attached to the event data read this time (S307), and if it is determined that the queue flag is set (S307; YES), FIG. 10 (3) As shown in FIG. 6, the note number of the note-on event with the cue flag is written into the cue flag buffer (S308). At this time, the event time calculated in step S304 is set as the cue flag time. At this time, since no time has elapsed since the queue flag was written, the elapsed time is set to zero.
[0046]
After writing to the cue flag (S308) or when it is determined in step S307 that the cue flag is not attached (S307; NO), read processing is performed on the MIDI data of all tracks. (S309; NO), and if it is determined that there is still a track that has not been read (S309; NO), the processing target is changed to the next track (S310), and step The process proceeds to the determination of the read timer value in S302.
By the way, if it is determined in step S302 that the read timer value is not 0, that is, it is not the timing for reading event data (S302; NO), after the read timer value is decremented by 1 (S311), all tracks It is determined whether or not the process has been completed (S309).
If it is determined in step S309 that the process has been completed for all tracks (S309; YES), the performance data reading process is terminated and the process returns to the main routine.
[0047]
[2-2-4. Event execution processing]
The flowchart shown in FIG. 14 shows a subroutine of event execution processing (FIG. 11: S400). The event execution process is a process for executing the event data stored in the event buffer, and this routine also waits for a reception event corresponding to the queue flag.
The controller 11 first determines whether or not data is stored in the queue flag buffer (S401), and the data is stored in the queue flag buffer, that is, the reception event corresponding to the queue flag is waiting. If it is determined (S401; YES), it is determined whether or not the note number stored in the queue flag buffer matches the note number stored in the reception buffer (S402). If it is determined that the two match (S402; YES), it can be determined that the note-on event data having the same note number as the note-on event with the cue flag is received from the MIDI data supply device 28. As described above, in order to cancel the standby state, the pointer time is set to the queue flag time (S403).
[0048]
On the other hand, if it is determined in step S402 that the note number stored in the cue flag buffer and the note number stored in the reception buffer do not match (S402; NO), the note-on with the cue flag added. Since it can be determined that note-on event data having the same note number as the event is not supplied from the MIDI data supply device 28, the elapsed time in the queue flag buffer (see FIG. 10 (3)) is incremented by 1 (S404).
Then, it is determined whether or not the elapsed time value is equal to or greater than a predetermined value as the standby allowable time (S405). When it is determined that the elapsed time is less than the predetermined value, that is, the elapsed time is still within the allowable time (S405). NO), the event execution process is terminated to return to the main routine in order to continue the standby state of the reception event corresponding to the queue flag.
On the other hand, if it is determined that the elapsed time value is equal to or greater than the predetermined value (S405; YES), the event time of event data to be executed next is set to the pointer time to release the standby state (S406).
In step S403 or step S406, after setting the point time for canceling the standby state, the queue flag buffer data is deleted (S407).
[0049]
By the way, if it is determined in step S401 that no data is stored in the cue flag buffer (S401; NO), since the reception event is not waiting, the pointer time is advanced as a normal performance. The pointer time is incremented by 1 (S410).
[0050]
When the pointer time to be processed this time is set in step S403, S406, or S410, the controller 11 refers to the event buffer and executes an event corresponding to the pointer time (S408). As described above with reference to FIG. 7, the control contents performed by the controller 11 are associated with each track number in which event data to be executed is included. In the example shown in FIG. 7, if the event data to be executed is data of the track Tr0, the performance of the main performance is instructed by controlling the solenoid 5 of the key 1 corresponding to this note number. A musical tone having a pitch corresponding to the note number is generated in the electronic musical tone generating device 25 to perform accompaniment performance. If the data is the track Tr3, a note-on message including the note number is transmitted to the control device 200 as a MIDI signal.
After executing such control based on event data corresponding to each track (S408), the controller 11 deletes the executed event data from the event buffer (S409), and ends the event execution processing.
[0051]
[2-3. Detailed Operation of Control Device 200]
Next, the detailed operation of the control device 200 will be described with reference to the flowchart shown in FIG.
For example, when the processing shown in FIG. 15 is started based on panel operation, data transmitted from the piano 100, or the like, the control unit 201 of the control device 200 performs initialization processing (Sb1), and then receives MIDI from the piano 100. A signal reception wait state is set (Sb2).
If it is determined in step Sb2 that the MIDI signal has been received (Sb2; YES), the control data corresponding to the received note number is retrieved from the database with reference to the setting table 203 illustrated in FIG. 8 (Sb3 ). Then, the effect device 300 is controlled based on the retrieved control data (Sb4), and it is determined whether or not the performance on the piano 200 has ended (Sb5).
If it is determined in step Sb5 that the performance has not ended (Sb5; NO), the process returns to the MIDI signal reception waiting in step Sb2, and if it is determined that the performance has ended (Sb5; YES), End the process.
[0052]
[3. Summary]
As described above, in the present embodiment, the contents of various effects to be added to the performance can be described in advance in the performance data in accordance with the time progress of the music data such as performance support for the performer and automatic performance of accompaniment. Therefore, the performer does not need to perform a plurality of effect imparting control operations separately from the performance operation.
Further, the performance data is provided with a cue flag, and execution of processing based on the performance data can be stopped until an event corresponding to the cue flag is supplied from the MIDI data supply device 28. For this reason, for example, if the singing voice of the singer or the performance sound of another musical instrument input to the MIDI data supply device 28 is converted into MIDI data, the performance of the singer's song or the performance of the other musical instrument is included in the performance data. Even if the timing is before or after the described timing, the automatic performance of the accompaniment to be performed in accordance with the above-mentioned song or performance, the performance instruction of the main performance, and the control of the effect to be applied are also paused. Therefore, the performance operation of other musical instruments or the singer's song is synchronized with the accompaniment by the piano 100, the performance instruction of the main performance, and the effect control by other various devices.
[0053]
[4. Modified example]
The present invention is not limited to the above-described embodiment, and various modifications as shown below are possible.
[0054]
In the above embodiment, as an apparatus other than a musical instrument, an illuminating device that is an effect device, a display, a sound system, and the like are given as examples, but not limited thereto, for example, an air conditioner, a blower, a scent generator, etc. Any device can be used as long as the piano 100 can be controlled with a function other than a normal function provided as a musical instrument.
Also, the effect imparted by each effect device may be any as long as it can be controlled by previously stored data, and the format of the data stored may be any. For example, MPEG (Moving Picture Experts Group) can be used for moving images, ADPCM (Adaptive Differential Pulse Code Modulation) format data can be used for audio, and musical sound can be generated with sound sources based on MIDI data. It doesn't matter if you do.
Note that the present invention is not limited to the device for controlling the piano as in the above embodiment, and may control other key instruments such as a keyboard and an organ, and generate musical sounds based on performance data. What is necessary is just to have an apparatus which performs.
[0055]
In the above embodiment, a plurality of effect devices are controlled by a single control device. However, a control device may be provided for each effect device so that the MIDI signal transmission destination is controlled on the musical instrument side. Absent. Alternatively, the control device may be provided on the musical instrument side.
In the above-described embodiment, the cue flag is included in the note-on event, but the present invention is not limited to this, and any description may be used as long as it can be associated with information indicating the pitch input from the outside. For example, a track describing only the cue flag may be provided.
In the above embodiment, the cue flag is used as data indicating a predetermined break described in the performance data. However, the present invention is not limited to this, and other identifiers may be used. For example, when data indicating bar lines is included, bar line data may be used, and when a mark indicating the start of a rust section is described as in karaoke data, such a mark is used. You can use it. Alternatively, without using the identifier, other information such as a predetermined time condition or every note number may be described in the header of the performance data.
[0056]
In the above embodiment, when the queue flag is stored in the buffer, the pointer data is supplied from the MIDI data supply device 28 by stopping the progress of the pointer time until the reception event corresponding to the note number of the queue flag is detected. MIDI data and main performance data are compared and the progress of main performance data, accompaniment data and control data is controlled in accordance with the comparison result. You may make it late.
In the above embodiment, when comparing the performance performance of the musical instrument and the main performance data, the progress of the main performance data and the progress of the control data are matched using the same pointer time. Only the progress of data may be stopped, and the progress of accompaniment data and control data may be stopped after a little progress, or the progress speed of accompaniment data and control data may be gradually slowed down. .
In the above embodiment, it is described that the standby state is canceled when a predetermined time has elapsed since the reception event standby state corresponding to the queue flag has been entered, but the process continues to wait until a reception event is detected. It doesn't matter if you do.
In the above embodiment, the reception event is waited for at a timing earlier than the cue flag time. When the reception event is detected before the cue flag time, the effect applying timing and the accompaniment performance timing are also advanced. Although an example is used for explanation, the present invention is not limited to this, and the effect applying timing may not be advanced. In such a case, if the received event was detected within a predetermined time before the point time coincided with the cue flag time, the pointer time was advanced as it was, and the received event was not detected May wait until a reception event is detected.
[0057]
As for event data for controlling effect provision, in the above embodiment, a note-on event is used to associate the note number included in the event with the control content, but other messages such as exclusive may be used, for example. However, the control content may be associated with other parameters such as velocity. The data format for describing the performance data and the transmission format of the control signal from the musical instrument to the control device are not limited to MIDI as in the above embodiment, but may be of other formats. It is.
In the above-described embodiment, the program for performing various controls has been described as being stored in the controller 11 and the control unit 201 in advance. However, for example, the program can be read from a disk set in the disk drive 120 or installed. It may be.
The means for supplying the program and performance data to the controller 11 and the control unit 201 is not limited to reading from the disc, and a communication interface may be provided so that the program and performance data can be supplied via a communication line.
[0058]
In the above-described embodiment, the performance data for controlling the musical sound generation of the piano 100 is performed using MIDI data having an accompaniment track in addition to the main performance track, and performing the performance instruction of the main performance and the electronic musical sound of the accompaniment. However, MIDI data describing only the main performance track may be used. Also in this case, only when the cue flag is described in the main performance track and MIDI data having the same pitch as the pitch to which the cue flag is attached is received from the MIDI data supply device 28 as in the above embodiment. The main performance by electronic musical sound corresponding to the MIDI data described in the main performance track may be performed, and the performance based on the main performance track may be stopped when MIDI data having the same pitch is not received. . Under this configuration, when the MIDI data supply device 28 converts a singer's song into MIDI data, it is possible to generate a melody sound that follows the progress of the sung melody.
[0059]
In the above-described embodiment, performance support is performed by pressing the key 1 halfway by the solenoid 5 based on the description content of the main performance track. However, the key 1 is operated by the solenoid 5. You may make it perform the mechanical sound by a string striking. The main performance track may be used only for controlling the progress timing of the accompaniment track, and the solenoid 5 may not be controlled according to the event data of the main performance track as in the above embodiment.
In the above-described embodiment, the electronic musical sound generating unit 25 performs the performance based on the accompaniment track. However, the performance based on the accompaniment track may be performed by mechanical sound generation by the solenoid 5. At this time, the electronic musical tone generator 25 may perform a performance based on the main performance track.
In the above-described embodiment, the cue flag is described in the main performance track. However, the cue flag may be described in the accompaniment track. In this case, for example, an accompaniment performance sound by another musical instrument may be converted to MIDI data by the MIDI data supply device 28 and supplied to the piano 100.
[0060]
In the above-described embodiment, the controller 11 receives information indicating the pitch to the controller 11 by supplying MIDI data from the outside. Any signal can be used as long as it can acquire information indicating high, and an audio signal or the like may be used. For example, an audio signal is received from an audio device such as a CD player or a DVD player, and a pitch is detected from the audio signal (for example, the configuration of the MIDI data supply device 28 shown in FIG. 5 is provided in the piano 100). Also good. In this case, the piano 100 may be provided with a microphone or an audio signal input terminal.
In the above-described embodiment, performance, performance support, or control of another device is executed in accordance with an externally input signal. However, in addition to such a control mode, the key 1 is generated by a performance operation. Depending on the MIDI data, a control mode for performing performance, performance support or control of other devices may be provided so that the player can arbitrarily select these modes. As a result, the control by the signal input from the outside and the control by the performance of the own machine can be realized with a common configuration, and thus various controls can be performed with a simple configuration. In the latter control mode, processing similar to the processing shown in FIG. 12 may be performed based on the signal supplied from the key sensor 26.
[0061]
【The invention's effect】
As described above, according to the present invention, it is possible to perform performance, performance support, control of other devices, or the like in accordance with an externally input signal.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of an embodiment.
FIG. 2 is a diagram showing an external configuration of a piano.
FIG. 3 is a diagram showing a configuration of a main part of the piano.
FIG. 4 is a block diagram illustrating a configuration of a control device.
FIG. 5 is a block diagram showing a configuration of a MIDI data supply apparatus.
FIG. 6 is a diagram showing a structure of MIDI data.
FIG. 7 is a diagram showing the correspondence between MIDI data and control content.
FIG. 8 is a diagram showing a correspondence between parameters included in MIDI data and control contents;
FIG. 9 is a diagram showing the contents of MIDI data in musical notes.
FIG. 10 is a diagram illustrating contents of various buffers.
FIG. 11 is a flowchart for explaining the operation of the piano (main routine).
FIG. 12 is a flowchart for explaining the operation of the piano (key pressing process).
FIG. 13 is a flowchart for explaining the operation of the piano (performance data reading process).
FIG. 14 is a flowchart for explaining the operation of the piano (event execution processing).
FIG. 15 is a flowchart illustrating the operation of the control device.
[Explanation of symbols]
100 ... Piano, 1 ... Key, 2 ... Hammer, 3 ... Action mechanism, 4 ... String, 5 ... Solenoid, 6 ... Damper 6, 11 ... Controller, 12 ... Servo controller, 25 ... ... Electronic musical tone generator 26 ... Key sensor 28 ... MIDI data supply device 110 ... MIDI interface 111 ... MIDI cable 120 ... Disk drive 130 ... Display 200 ... Control device 300 ... ... effect device.

Claims (8)

主演奏データおよび伴奏演奏データのいずれか一方である第1のデータと、当該主演奏データおよび伴奏演奏データの他方である第2のデータとを少なくとも含む演奏データを記憶した記憶手段と、
前記第1のデータに基づいて演奏操作子を駆動する駆動手段と、
前記第2のデータに基づいて楽音を発生する楽音発生手段と、
外部から入力される信号を受信し、該受信した信号に基づいて音高情報を出力する受信手段と、
前記受信手段から出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記楽音発生手段による楽音発生の進行および前記駆動手段による駆動を制御し、または、演奏操作子の操作により発生された操作データに応じて前記楽音発生手段による楽音発生の進行を制御する制御手段と、
前記制御手段の制御モードとして、前記受信手段が受信した信号に応じた制御を行う第1のモードまたは演奏操作子の操作により発生された操作データに応じた制御を行う第2のモードを選択する選択手段と
を具備し、
前記制御手段は、
前記第1のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する音高情報が前記受信手段から出力されるまで前記楽音発生手段による楽音発生および前記駆動手段による駆動の進行を遅延または停止し、前記区切りの演奏データに対応する音高情報が前記受信手段から出力された場合に前記楽音発生および前記駆動の進行の遅延または停止を解除し、
前記第2のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する操作データが発生するまで前記楽音発生手段による楽音発生の進行を停止し、前記区切りの演奏データに対応する操作データが発生した場合に前記楽音発生の進行停止を解除する
ことを特徴とする制御装置。
Storage means for storing performance data including at least first data that is one of main performance data and accompaniment performance data and second data that is the other of the main performance data and accompaniment performance data;
Driving means for driving a performance operator based on the first data;
A musical sound generating means for generating a musical sound based on the second data;
Receiving means for receiving an externally input signal and outputting pitch information based on the received signal;
The pitch information output from the receiving means is compared with the first data, and the progress of the tone generation by the tone generating means and the driving by the driving means are controlled according to the comparison result, or the performance operation Control means for controlling the progress of the musical sound generation by the musical sound generating means according to operation data generated by the operation of the child;
As a control mode of the control means, a first mode for performing control according to a signal received by the receiving means or a second mode for performing control according to operation data generated by operation of a performance operator is selected. A selection means, and
The control means includes
When the first mode is selected, the musical tone generating means at a predetermined break previously described in the performance data until the pitch information corresponding to the performance data of the break is output from the receiving means. Delaying or stopping the generation of musical sounds and driving by the driving means, and delaying or stopping the generation of musical sounds and the progress of driving when pitch information corresponding to the segmented performance data is output from the receiving means. Cancel,
When the second mode is selected, at a predetermined break previously described in the performance data, the progress of the musical tone generation by the musical tone generating means is stopped until operation data corresponding to the performance data at the break is generated. Then, when the operation data corresponding to the segmented performance data is generated, the progress stop of the musical sound generation is canceled.
前記記憶手段に記憶される演奏データは、制御データをさらに含み、
前記制御データに基づいて他装置を制御する他装置制御手段をさらに具備し、
前記制御手段は、
前記受信手段から出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記他装置制御手段による他装置の制御の進行を制御し、または、演奏操作子の操作により発生された操作データに応じて前記他装置制御手段による他装置の制御の進行を制御するものである
ことを特徴とする請求項1に記載の制御装置。
The performance data stored in the storage means further includes control data,
Further comprising other device control means for controlling another device based on the control data,
The control means includes
The pitch information output from the receiving means is compared with the first data, and the progress of the control of the other device by the other device control means is controlled according to the comparison result, or the performance operator is operated. The control device according to claim 1, wherein the control of the other device by the other device control means is controlled in accordance with the operation data generated by the control device.
前記受信手段は、マイクロホンあるいはオーディオ機器から入力されるオーディオ信号を受信して当該オーディオ信号の音高を検出し、該検出された音高を示す音高情報を出力するものである
ことを特徴とする請求項1に記載の制御装置。
The receiving means is configured to receive an audio signal input from a microphone or an audio device, detect a pitch of the audio signal, and output pitch information indicating the detected pitch. The control device according to claim 1.
前記受信手段は、外部楽器から入力される音高情報を受信して、該音高情報を出力するものである
ことを特徴とする請求項1に記載の制御装置。
The control device according to claim 1, wherein the receiving unit receives pitch information input from an external musical instrument and outputs the pitch information.
主演奏データおよび伴奏演奏データのいずれか一方である第1のデータと、当該主演奏データおよび伴奏演奏データの他方である第2のデータとを少なくとも含む演奏データに基づいて楽音発生を行う楽音発生装置の楽音発生および演奏操作子の駆動の進行を制御する方法であって、
記憶された演奏データを読み出す読出ステップと、
外部から入力される信号を受信し、該受信した信号に基づいて音高情報を出力する受信ステップと、
出力された音高情報と読み出した演奏データとを比較し、該比較結果に応じて前記楽音発生装置による楽音発生の進行および演奏操作子の駆動を制御し、または、演奏操作子の操作により発生された操作データに応じて楽音発生の進行を制御する制御ステップと、
前記制御ステップにおける制御モードとして、前記受信ステップにおいて受信された信号に応じた制御を行う第1のモードまたは演奏操作子の操作により発生された操作データに応じた制御を行う第2のモードを選択する選択ステップと
を具備し、
前記制御ステップは、
前記第1のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する音高情報が出力されるまで前記楽音発生および前記駆動の進行を遅延または停止し、前記区切りの演奏データに対応する音高情報が出力された場合に前記楽音発生および前記駆動の進行の遅延または停止を解除し、
前記第2のモードが選択された場合、予め前記演奏データに記述された所定の区切りにおいては、該区切りの演奏データに対応する操作データが発生するまで楽音発生の進行を停止し、前記区切りの演奏データに対応する操作データが発生した場合に前記楽音発生の進行停止を解除するものである
ことを特徴とする制御方法。
Generation of musical sound for generating musical sound based on performance data including at least first data which is one of main performance data and accompaniment performance data and second data which is the other of the main performance data and accompaniment performance data A method for controlling the musical sound generation of a device and the progress of driving of a performance operator,
A reading step of reading the stored performance data;
A reception step of receiving an externally input signal and outputting pitch information based on the received signal;
Comparing the output pitch information with the read performance data, and controlling the progress of the musical tone generation and the driving of the performance operator according to the comparison result, or generated by the operation of the performance operator A control step for controlling the progress of the musical sound generation according to the operation data received,
As the control mode in the control step, the first mode for performing control according to the signal received in the reception step or the second mode for performing control according to operation data generated by operation of the performance operator is selected. And a selection step to
The control step includes
When the first mode is selected, in advance the performance data specific segmentation described in the progression of the musical tone generation and the driving up pitch information corresponding to the performance data of the compartment cutting is output When the pitch information corresponding to the performance data of the break is output , the delay or stop of the musical sound generation and the progress of the drive is canceled when the delay or stop is output,
When the second mode is selected, in a predetermined segment previously described in the performance data, the progress of the musical tone generation is stopped until operation data corresponding to the segment performance data is generated. The control method according to claim 1, wherein when the operation data corresponding to the performance data is generated, the progress stop of the musical sound generation is canceled.
記憶された前記演奏データは、制御データをさらに含み、
前記制御データに基づいて他装置を制御する他装置制御ステップをさらに具備し、
前記制御ステップは、前記受信ステップで出力された音高情報と前記第1のデータとを比較し、該比較結果に応じて前記他装置制御ステップによる他装置の制御の進行を制御し、または、演奏操作子の操作により発生された操作データに応じて前記他装置制御ステップによる他装置の制御の進行を制御するものである
ことを特徴とする請求項5に記載の制御方法。
The stored performance data further includes control data,
Further comprising another device control step of controlling another device based on the control data,
The control step compares the pitch information output in the reception step with the first data, and controls the progress of control of the other device by the other device control step according to the comparison result, or The control method according to claim 5, wherein the progress of control of the other device by the other device control step is controlled according to operation data generated by operation of the performance operator.
前記受信ステップは、マイクロホンあるいはオーディオ機器から入力されるオーディオ信号を受信して当該オーディオ信号の音高を検出し、該検出された音高を示す音高情報を出力するものである
ことを特徴とする請求項5に記載の制御方法。
The receiving step is to receive an audio signal input from a microphone or an audio device, detect a pitch of the audio signal, and output pitch information indicating the detected pitch. The control method according to claim 5.
前記受信ステップは、外部から入力される音高情報を受信して、該音高情報を出力するものである
ことを特徴とする請求項5に記載の制御方法。
The control method according to claim 5, wherein the receiving step receives pitch information input from the outside and outputs the pitch information.
JP2000003953A 2000-01-12 2000-01-12 Control apparatus and control method Expired - Fee Related JP4228494B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000003953A JP4228494B2 (en) 2000-01-12 2000-01-12 Control apparatus and control method
US09/754,520 US6417439B2 (en) 2000-01-12 2001-01-04 Electronic synchronizer for musical instrument and other kind of instrument and method for synchronizing auxiliary equipment with musical instrument
EP01100594A EP1130572B1 (en) 2000-01-12 2001-01-10 Electronic synchronizer and method for synchronising auxiliary equipment with musical instrument
DE60134596T DE60134596D1 (en) 2000-01-12 2001-01-10 Electronic synchronizer and method for synchronizing additional equipment with a musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000003953A JP4228494B2 (en) 2000-01-12 2000-01-12 Control apparatus and control method

Publications (2)

Publication Number Publication Date
JP2001195065A JP2001195065A (en) 2001-07-19
JP4228494B2 true JP4228494B2 (en) 2009-02-25

Family

ID=18532807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000003953A Expired - Fee Related JP4228494B2 (en) 2000-01-12 2000-01-12 Control apparatus and control method

Country Status (1)

Country Link
JP (1) JP4228494B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234304A (en) * 2004-02-20 2005-09-02 Kawai Musical Instr Mfg Co Ltd Performance sound decision apparatus and performance sound decision program
JP4609921B2 (en) * 2004-02-24 2011-01-12 株式会社河合楽器製作所 Model creation device and model creation program for natural instrument musical sound judgment device
JP4530199B2 (en) * 2004-02-24 2010-08-25 株式会社河合楽器製作所 Model creation device and model creation program for natural instrument musical sound judgment device
JP2007025351A (en) * 2005-07-19 2007-02-01 Yamaha Corp Playing system

Also Published As

Publication number Publication date
JP2001195065A (en) 2001-07-19

Similar Documents

Publication Publication Date Title
JP2001195063A (en) Musical performance support device
JP4321476B2 (en) Electronic musical instruments
JPH06124093A (en) Karaoke @(3754/24)accompaniment of recorded music) device
JPH10214083A (en) Musical sound generating method and storage medium
JP4228494B2 (en) Control apparatus and control method
JP3975526B2 (en) Karaoke equipment
JP4038836B2 (en) Karaoke equipment
JPH09258728A (en) Automatic performance device and karaoke (sing-along music) device
JP4200621B2 (en) Synchronization control method and synchronization control apparatus
JP3212872B2 (en) Electronic musical instrument
JP3613062B2 (en) Musical sound data creation method and storage medium
JP3800778B2 (en) Performance device and recording medium
JP3618203B2 (en) Karaoke device that allows users to play accompaniment music
KR0144939B1 (en) Image and sound accompaniment device having a printing function of musical note
JP3887957B2 (en) Karaoke equipment
JPH0533798B2 (en)
JP3379414B2 (en) Punch-in device, punch-in method, and medium recording program
JP4254656B2 (en) Automatic performance device and program
JP3918308B2 (en) Karaoke equipment
JP3547394B2 (en) Karaoke device with scat input ensemble system
JP3546602B2 (en) Automatic performance device
JP3622315B2 (en) Karaoke display device
JPH07104667B2 (en) Automatic playing device
JP2005017777A (en) Voice output system and musical performance system
JP5167797B2 (en) Performance terminal controller, performance system and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees