運動体制御システム、運動体及びそのプログラム
【課題】MIDIデータから得られた演奏データを、演奏人形を駆動する駆動データとして用いることにより、メロディと同期が取れ、自然な動作を行うことができる運動体の駆動制御を行う運動体制御システム、運動体及びそのプログラムを提供すること。
【解決手段】記憶部1にはMIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データが格納されている。制御部2は、記憶部1から演奏データを呼び出し、演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する演奏人形3〜5に演奏データを供給する。演奏人形のメロディ・駆動制御部12は、演奏データの音色情報、音階情報から駆動部10を判定し、演奏データの音長情報、音強情報から駆動時間を判定する。そして、これらの判定結果に基づいて、複数の駆動部10を制御する。
【解決手段】記憶部1にはMIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データが格納されている。制御部2は、記憶部1から演奏データを呼び出し、演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する演奏人形3〜5に演奏データを供給する。演奏人形のメロディ・駆動制御部12は、演奏データの音色情報、音階情報から駆動部10を判定し、演奏データの音長情報、音強情報から駆動時間を判定する。そして、これらの判定結果に基づいて、複数の駆動部10を制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は運動体制御システム、運動体及びそのプログラムに関し、特に広く利用されているMIDI(Musical Instrument Digital Interface)データを人形等の運動体を駆動する為の駆動データとして利用し、運動体を制御する運動体制御システム、運動体及びそのプログラムに関する。
【背景技術】
【0002】
近年、デジタル化の波は音楽の世界にも波及しており、デジタルの演奏データによる楽器の演奏が行われている。この技術の代表的なものとして、MIDI(Musical Instrument Digital Interfaceの頭文字)がある。このMIDIは、楽器同士を接続しその音楽情報をデジタル信号によって伝達するためのインターフェースを意味し、
演奏状態を他の楽器に伝達するための標準となるハードウェアおよびソフトウェアフォーマットである。
【0003】
更に、MIDIで用いられるMIDIデータは、実際の音をデジタル信号に変換したオーディオ信号とは異なり、音そのもののデータではなく、 楽器の演奏情報である。例えば、キーボードでいえば、鍵盤を押す・離す、ペダルを踏む・離す、音色を変えるといった動作をそれぞれ符号化したものである。
【0004】
MIDIデータは、複数のパート別に独立したコントロールをするためのチャンネルメッセージと、
MIDIシステム全体をコントロールするためのシステムメッセージに大別できる。
【0005】
チャンネルメッセージでは最大16パートをコントロールするため、MIDIチャンネルという概念が用いられている。
さらに、チャンネルメッセージはノート(音符)情報などのボイスメッセージとボイスメッセージの受信状態を設定するモードメッセージに区別される。
【0006】
ボイスメッセージには、ノートオン・オフ(音を出す・止める)、プログラムチェンジ(音色切替)、ピッチベンド等がある。
【0007】
奏情報の中でもっとも基本的な、例えば、「鍵盤を押す(ノートオン)」「鍵盤を離す(ノートオフ)」といった動作はノートオンメッセージとノートオフメッセージで行われる。
【0008】
ノートオンメッセージは、ステータスバイトにつづき、2バイト分のデータバイトで構成される。尚、ステータスバイトは通常、先頭の9がこのメッセージがノートオンメッセージであることを示し、次に任意のチャンネル番号が入る。
【0009】
2バイトで構成されるデータバイトの1バイト目は音階をあらわすノート番号である。このノート番号は音階を数字で表現したもので、ピアノの中央のC(ド)を番号60として、半音ごとに1つづ増減していき、一番低い音が0、一番高い音が127となる。また、2バイト目は音の強さを示すベロシティである。この2バイト目のデータバイトのベロシティとは、鍵盤を押す速さ(楽器を鳴らす速さ)をその音の強さとみなして、その値をあらわしたパラメータである。
【0010】
また、ノートオフメッセージは、通常、ステータスバイトの先頭の8がノートオフメッセージであることを示し、次に任意のチャンネル番号が入る。
【0011】
このようにMIDIデータは、MIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報と言った演奏に必要な音符情報が、規格に基づいて符号化されたものである。
【0012】
一方、従来、複数の人形からなり、所定の演奏を行う玩具が知られている。これらの演奏人形は、予め人形内に記憶されている演奏情報に基づいて、人形が駆動し、演奏を行うものである。
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、従来の演奏人形は、演奏するメロディと動作との同期が難しく、動きも不自然であった。これは、人形を駆動するデータと、メロディのデータとを別個に作成するからである。
【0014】
また、従来の演奏人形では、演奏する曲を決定し、この曲のスコアを元に駆動するデータとメロディのデータとを、独自のフォーマットで作成するため、作成のコストが高いものとなり、また、新しい演奏曲の追加も簡単にはできなかった。
【0015】
一方、MIDIデータは、上述したように代表的な規格であり、MIDIデータで作成された曲が多く提供されており、また、作成も容易である。
【0016】
そこで、本発明は上記問題点に鑑みて作成されたものであって、その目的はMIDIデータから得られた演奏データを、演奏人形を駆動する駆動データとして用いることにより、メロディと同期が取れ、自然な動作を行うことができる運動体の駆動制御を行う運動体制御システム、運動体及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決する第1の発明は、運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータの音符情報から得られた演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データに基づいて運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0018】
上記課題を解決する第2の発明は、運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データの音色情報及び/又は音階情報から運動体の駆動箇所を判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動部を制御する駆動制御手段と
を有することを特徴とする。
【0019】
上記課題を解決する第3の発明は、上記第1又は第2の発明において、他の運動体を接続し、この運動体を制御する為の演奏データを運動体に供給する為の接続部を更に有することを特徴とする。
【0020】
上記課題を解決する第3の発明は、上記第1、第2又は第3の発明において、演奏データが格納された記録媒体を接続する接続部を有し、
前記制御部は、前記記憶部に代えて接続された前記記録媒体から演奏データを読み出すことを特徴とする。
【0021】
上記課題を解決する第5の発明は、上記第1、第2、第3又は第4の発明において、MIDIデータのMIDIチャンネル情報、音階情報、音長情報及び音強情報に基づいて、演奏データを生成する演奏データ生成部を更に有することを特徴とする。
【0022】
上記課題を解決する第6の発明は、上記第5の発明において、前記駆動制御手段は、前記駆動箇所の駆動時間を音長情報による音の長さよりも、短いものとすることを特徴とする。
【0023】
上記課題を解決する第7の発明は、上記第5又は第6の発明において、前記駆動手段は、一動作の周期が音長情報による1音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0024】
上記課題を解決する第8の発明は、運動体制御システムであって、
運動体を駆動する駆動部と、
MIDIデータから前記駆動部を制御する為の駆動制御データを生成し、前記駆動制御データに基づいて、前記駆動部を制御する制御部と
を有することを特徴とする。
【0025】
上記課題を解決する第9の発明は、上記第8の発明において、前記制御部は、MIDIデータの音符情報より、運動体の駆動場所及び駆動時間を判断して、駆動制御データを生成することを特徴とする。
【0026】
上記課題を解決する第10の発明は、上記第8又は第9の発明において、前記制御部は、MIDIデータの音色情報及び/又は音階情報から運動体の駆動場所を決定し、MIDIデータの音長情報及び/又は音強情報から、駆動場所の駆動時間を決定することを特徴とする。
【0027】
上記課題を解決する第11の発明は、上記第10の発明において、前記制御部は、前記駆動箇所の駆動時間を音長情報による音の長さよりも、短いものとすることを特徴とする。
【0028】
上記課題を解決する第12の発明は、上記第10又は第11の発明において、前記駆動部は、一動作の周期が音長情報による1音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0029】
上記課題を解決する第13の発明は、運動体であって、
駆動箇所を駆動する複数の駆動手段と、
MIDIデータの音符情報から、運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0030】
上記課題を解決する第14の発明は、運動体であって、
駆動箇所を駆動する複数の駆動手段と、
MIDIデータから得られた音色情報、音階情報、音長情報及び音強情報から成る演奏データを受信し、前記演奏データの音色情報及び/又は音階情報から運動体の駆動箇所を判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0031】
上記課題を解決する第15の発明は、上記第13又は第14の発明において、演奏データを受信する為の接続部を更に有することを特徴する。
【0032】
上記課題を解決する第16の発明は、上記第13、第14又は第15の発明において、前記駆動制御手段は、前記駆動箇所の駆動時間を1音符の音の長さよりも、短いものとすることを特徴とする。
【0033】
上記課題を解決する第17の発明は、上記第13、第14、第15又は第16の発明において、前記駆動手段は、一動作の周期が一音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0034】
上記課題を解決する第18の発明は、MIDIデータにより、運動体の駆動を制御する運動体制御方法であって、
MIDIデータの音符の情報と、運動体の駆動箇所及びこの駆動箇所の駆動時間とを関連付けて記憶させておき、この関連付けに基づいて、読み込まれたMIDIデータの音符情報から、駆動する駆動箇所及びこの駆動箇所の駆動時間を決定し、運動体の駆動を制御することを特徴とする。
【0035】
上記課題を解決する第19の発明は、上記第18の発明において、前記MIDIデータの音符情報が、MIDIデータの音色情報、音階情報、音長情報及び音強情報であり、前記音色情報及び/又は音階情報から運動体の駆動場所を決定し、前記音長情報及び/又は音強情報から、駆動場所の駆動時間を決定することを特徴とする。
【0036】
上記課題を解決する第20の発明は、上記第18又は第19の発明において、MIDIデータのチャンネル情報と複数の運動体とを関連付けておき、チャンネル情報に対応した運動体に、そのチャンネル情報の音符情報を割り当てることによって、複数の運動体を制御することを特徴とする。
【0037】
上記課題を解決する第21の発明は、上記第18、第19又は第20の発明において、駆動箇所の駆動時間を1音符の音の長さよりも、短いものとすることを特徴とする。
【0038】
上記課題を解決する第22の発明は、運動体の駆動部を制御する情報処理装置のプログラムであって、
前記プログラムは、情報処理装置を、MIDIデータから得られた音符情報から駆動部を制御する為の駆動制御データを生成し、前記駆動制御データに基づいて、前記駆動部を制御する制御手段として機能させることを特徴とする。
【0039】
上記課題を解決する第23の発明は、上記第第22の発明において、前記プログラムは情報処理装置を、MIDIデータから得られた音符情報より、運動体の駆動場所及び駆動時間を判断して、駆動制御データを生成する制御手段として機能させることを特徴とする。
【0040】
上記課題を解決する第24の発明は、上記第22又は第23の発明において、前記プログラムは情報処理装置を、MIDIデータから得られた音色情報及び/又は音階情報から運動体の駆動場所を決定し、MIDIデータの音長情報及び/又は音強情報から、駆動場所の駆動時間を決定する制御手段として機能させることを特徴とする。
【0041】
上記課題を解決する第25の発明は、上記第22、第23又は第24の発明において、前記プログラムは情報処理装置を、駆動箇所の駆動時間が1音符の音の長さよりも短い駆動制御データを生成する駆動制御手段として機能させることを特徴とする。
【0042】
上記課題を解決する第26の発明は、複数の運動体の駆動部を制御する情報処理装置のプログラムであって、
前記プログラムは情報処理装置を、
MIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データを記憶部から呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体を判定する手段と、
前記判定された運動体の駆動箇所を前記演奏データの音色情報及び/又は音階情報から判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて、運動体の駆動箇所の駆動を制御する手段として機能させることを特徴とする。
【0043】
上記課題を解決する第27の発明は、上記第26の発明において、前記プログラムは情報処理装置を、複数の記憶部を選択して、演奏データを読み出す手段として機能させることを特徴とする。
【0044】
上記課題を解決する第28の発明は、上記第26又は第27の発明において、前記プログラムは情報処理装置を、MIDIデータのMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報に基づいて、演奏データを生成する手段として機能させることを特徴とする。
【0045】
上記課題を解決する第29の発明は、上記第26、第27又は第28の発明において、前記プログラムは情報処理装置を、駆動箇所の駆動時間が1音符の音の長さよりも短くなるように駆動を制御する駆動制御手段として機能させることを特徴とする。
【発明の効果】
【0046】
本発明は、MIDIデータから得られた情報に基づいて、演奏人形を駆動する駆動制御信号を生成しているので、演奏人形の動きをメロディと一致したリアルなものとすることができる。
【0047】
また、本発明は、新たな演奏人形や、演奏データを追加できるような構成としたので、演奏や動作にバリエーションが増えると言う効果がある。
【発明を実施するための最良の形態】
【0048】
本発明は、上述したMIDIデータから得られた演奏データを用いて各演奏人形の動作を制御することを特徴とする。以下、本発明の実施の形態を説明する。
【0049】
本発明の第1の実施の形態を説明する。
【0050】
図1は本発明の演奏人形システム本体Aのブロック図である。
【0051】
図1中、1は演奏データが格納された記憶部、2は演奏データを各演奏人形に供給する制御部、3はアルトサックスの演奏を行う演奏人形、4はアコースティックピアノを演奏する演奏人形、5はベースの演奏を行う演奏人形である。
【0052】
記憶部1は、オリジナルのMIDIデータから得られたMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る演奏データが格納されている。この演奏データは、オリジナルのMIDIデータから、MIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る音符情報を抽出し、この抽出したデータのフォーマット等を変更することにより、制御部2及び各演奏人形3〜5の制御部を構成するマイコン等がデータ処理を行うことができるようにしたものである。これは、MIDIデータ形式そのもののデータを処理することが出来るCPU等は、コストの面から適切なものでないからである。但し、変換された演奏データは、MIDIデータの情報を反映したものであり、MIDIデータが示す音符情報と実質変わりはない。
【0053】
尚、制御部2及び各演奏人形3〜5の制御部が、MIDIデータを処理可能なものであれば、オリジナルのMIDIデータから抽出したMIDIデータ形式のMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報を、そのまま記憶部1に格納してもかまわない。
【0054】
ここで、演奏データの一例を、図2を用いて説明する。
【0055】
図2で示される演奏データは、図3に示されるスコアで示されるものである。
【0056】
演奏データの項目は、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報である。図2で示される演奏データは、MIDIチャンネル情報は“1”であり、音色情報は“アルトサックス”である。
【0057】
また、図3に示されるスコアの1番目の音は“四分音符”であり、これに対応する音階(音の高さ)情報は“C4”であり、音長(音の長さ)情報は“0.5秒”である。尚、音長(音の長さ)情報については、全体の速さが120であるので、四分音符を、60/120=0.5秒とした。また、音強(音の強さ)情報はスコアには表現されないが、MIDIデータには音強(音の強さ)情報が含まれており、ここでは、音強(音の強さ)情報を“5”とした。
【0058】
同様に、図3に示されるスコアの2番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“E4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0059】
同様に、図3に示されるスコアの3番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“G4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0060】
同様に、図3に示されるスコアの4番目の音は“二分音符”であり、これに対応する音階(音の高さ)情報は“C5”であり、音長(音の長さ)情報は“1秒”である。また、音強(音の強さ)情報は“8”である。
【0061】
更に、他チャンネルの演奏データの一例を図4に示す。尚、図4に示される演奏データも、図3に示されるスコアで示されるものである。
【0062】
演奏データの項目は、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報である。図4で示される演奏データは、MIDIチャンネル情報は“2”であり、音色情報は“アコースティックピアノ”である。
【0063】
また、図3に示されるスコアの1番目の音は“四分音符”であり、これに対応する音階(音の高さ)情報は“C4”であり、音長(音の長さ)情報は“0.5秒”である。尚、音長(音の長さ)情報については、全体の速さが120であるので、四分音符を、60/120=0.5秒とした。また、音強(音の強さ)情報はスコアには表現されないが、MIDIデータには音強(音の強さ)情報が含まれており、ここでは、音強(音の強さ)情報を“5”とした。
【0064】
同様に、図4に示されるスコアの2番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“E4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0065】
同様に、図4に示されるスコアの3番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“G4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0066】
同様に、図4に示されるスコアの4番目の音は“二分音符”であり、これに対応する音階(音の高さ)情報は“C5”であり、音長(音の長さ)情報は“1秒”である。また、音強(音の強さ)情報は“8”である。
【0067】
以上のような演奏データが記憶部1に格納されている。
【0068】
制御部2は、MIDIチャンネル情報に対応する演奏人形を記憶しており、記憶部1から演奏データを読み出し、演奏データのMIDIチャンネル情報に対応した演奏人形に演奏データを供給する。
【0069】
例えば、MIDIチャンネル情報“1”に対応する演奏人形として演奏人形3が記憶されており、MIDIチャンネル情報“2”に対応する演奏人形として演奏人形4が記憶されている。そして、記憶部1から演奏データを読み出し、この演奏データのMIDIチャンネル情報が“1”であるならば、その演奏データを演奏人形3に供給し、MIDIチャンネル情報が“2”であるならば、その演奏データを演奏人形4に供給する。
【0070】
次に、演奏人形3〜5について説明する。
【0071】
各演奏人形は、演奏人形を動作(駆動)させる複数の駆動部10と、メロディが出力されるスピーカー11と、駆動部10及びスピーカー11を制御するメロディ・駆動制御部12とを有する。
【0072】
駆動部11は、演奏人形の胴体や、腕等を駆動させる。この駆動部11は、演奏人形毎に異なる動力を持っており、例えば、アルトサックスの演奏を行う演奏人形3では、両手を駆動するソレノイド111と、胴体を駆動するモーター112とを有する。また、アコースティックピアノを演奏する演奏人形4では、左手を駆動するソレノイド150と、右手を駆動するソレノイド151と、右足及び頭を駆動するソレノイド152とを有する。これらの駆動の制御は、メロディ・駆動制御部12からの駆動制御信号により行われる。
【0073】
ここで、駆動部10の詳細を、アルトサックスの演奏を行う演奏人形3を例にして説明する。
【0074】
図5は演奏人形3の胴体を駆動するモーター112が格納されたギヤ部113を説明する為の図である。
【0075】
モーター112は、後述する駆動制御信号の出力時間だけ回転を行う。そして、その回転力はギヤに伝えられ、ギヤに接続されたクランプ114が回転を行うように構成されている。クランプ114上には支柱115が配設されており、クランプ114の回転により、支柱115が昇降するように構成されている。
【0076】
また、人形胴体本体116は、図6に示される如く、支柱115が挿入される円筒部117と、この円筒部117の両側にそれぞれ設けられた腕柱部118と、円筒部117の上端に設けられ、内部にソレノイド111が格納された回転支柱部119と、人形胴体本体116の外に設けられたアルトサックス120と接続され、水平方向に回動可能であり、且つ、ソレノイド111の吸着により後述するコイルスプリング122から見て反時計回りの方向へ回転可能な回転部121と、その弾性により回転部121をソレノイド111の回転方向と逆の方向に付勢可能なコイルスプリング122とを有する。
【0077】
腕柱部118は、人形本体123に回動可能に取り付けられ、人形胴体本体の中空部117に挿入された支柱115が昇降運動を行うことにより、人形本体123が前後方向に傾動を行う。
【0078】
一方、回転部121には磁石が設けられており、駆動制御信号の供給によりソレノイド111に生じる吸着力により、コイルスプリング122から見て反時計回りの方向へコイルスプリング122の弾性に抗して回転するように構成されている。更に、回転部121は、図7に示される如く、アルトサックス120と人形本体123の前方にて固着されており、回転部121の回転によりアルトサックス120が左右に揺動するように構成されている。
【0079】
また、アルトサックス120は、人形の左右の腕部124に固着されており、更に、左右の腕部124の下部に設けられ垂直下方へ延びる軸126は、人形本体123の腕受け部125に回動可能に取り付けられており、左右の腕部124は、軸126を中心に水平方向に回動可能である。そして、左右の腕部124は、アルトサックス120の左右の揺動と連動して、図7に示される如く、左右に揺動する。
【0080】
メロディ・駆動制御部12は、制御部2から供給された演奏データに基づいて、駆動部10及びスピーカー11を駆動する為の駆動制御信号及びメロディ信号を生成する。
【0081】
ここで、駆動部10を制御する駆動制御信号の生成について説明する。
【0082】
メロディ・駆動制御部12は、制御部2から演奏データが供給される。この演奏データは、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る。演奏データの各情報に基づく駆動制御信号の生成は、演奏人形毎に予め決定されている。
【0083】
例えば、アルトサックスの演奏を行う演奏人形3については、MIDIチャンネル情報は、これ以降の情報が自己の演奏人形の為の情報であることを認識する為に用いられる。また、音色情報及び音階(音の高さ)情報は、駆動箇所を特定する為に用いられる。また、音長(音の長さ)情報及び音強(音の強さ)情報は、駆動制御信号の出力時間を決定する為に用いられる。
【0084】
図8に、アルトサックスの演奏を行う演奏人形3の駆動制御信号の生成の一例を示す。尚、図8に示される駆動制御信号は、上述した図3に示される演奏データに基づいて生成されたものである。
【0085】
演奏人形3の駆動箇所は、手(ソレノイド111)と胴体(モーター112)との2箇所である。そこで、音色情報に基づいて、手(ソレノイド111)と胴体(モーター112)との2箇所の駆動場所を特定する。尚、演奏人形3では音階(音の高さ)情報は用いない。
【0086】
次に、各駆動箇所の駆動時間(駆動制御信号の出力時間)であるが、手(ソレノイド111)の駆動箇所については、音強(音の強さ)情報を用いる。音の強さは8段階であるので、音の強さ“1”及び“2”は駆動制御信号の出力時間を“5mS”、音の強さ“3”及び“4”は駆動制御信号の出力時間を“10mS”、音の強さ“5”及び“6”は駆動制御信号の出力時間を“20mS”、音の強さ“7”及び“8”は駆動制御信号の出力時間を“30mS”と予め定めておく。
【0087】
1番目の音では音強(音の強さ)情報は“5”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“20mS”となる。また、2番目の音では音強(音の強さ)情報は“3”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“10mS”となる。また、3番目の音では音強(音の強さ)情報は“3”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“10mS”となる。また、4番目の音では音強(音の強さ)情報は“8”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“30mS”となる。
【0088】
続いて、胴体(モーター112)の駆動箇所については、音長(音の長さ)情報を用いる。胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は、音長(音の長さ)情報の時間と同じに設定するように予め定めておく。1番目の音では音長(音の長さ)情報は“0.5秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“0.5秒”となる。また、2番目の音では音長(音の長さ)情報は“0.25秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“0.25秒”となる。また、3番目の音では音長(音の長さ)情報は“0.25秒”であるので、胴体(モーター)の駆動箇所への駆動制御信号の出力時間は“0.25秒”となる。また、4番目の音では音長(音の長さ)情報は“1.0秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“1.0秒”となる。
【0089】
以上の如く、MIDIデータから得られた情報に基づいて、アルトサックスの演奏を行う演奏人形3の駆動制御信号の生成が行なわれているため、手(ソレノイド111)の駆動箇所と胴体(モーター112)の駆動箇所が駆動することによる演奏人形3の動きと当該MIDIデータのメロディとが一致する。
【0090】
例えば、演奏人形3を図5、図6に示す構成とすれば、手(ソレノイド111)の駆動箇所の駆動、すなわちソレノイド111の励起により生じる演奏人形3の動作は、ソレノイド111が励起されていない状態では人形本体123の正面から見て左側にあるアルトサックス(回転部121が回動していない状態)が駆動制御信号の出力時間分だけ人形本体123の正面から見て右側に移動した状態(ソレノイド111の吸着によりコイルスプリング122の弾性に抗して回転部121が反時計方向に回転している状態)となる動作となり、胴体(モーター)の駆動箇所の駆動、すなわちモーター112の駆動により生じる演奏人形3の動きは、1往復2秒間のサイクル(支柱部115の1回の昇降サイクル)で人形本体123を前後に傾動動作させるものとなる。なお、該傾動動作は一定の振幅で行なわれ1往復2秒間の動作とする。
【0091】
今、人形本体123は前後傾動動作においてもっとも後に傾いた状態にあるものとする。
【0092】
このとき、1番目の音の発生と一致して手(ソレノイド)の駆動箇所が20msだけ駆動されることにより、回転部121がソレノイド111に吸着されて反時計方向に回動するため、音の長さ0.5秒の先頭20msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、20ms経過後再び定常状態、すなわち人形本体123の正面から見て左側に戻る。また、2番目の音の発生と一致して手(ソレノイド)の駆動箇所が10ms駆動されることにより、1番目の音の場合と同様に音の長さ0.25秒の先頭10msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、10ms経過後、再び人形本体123の正面から見て左側に戻る。また、3番目の音の発生と一致して手(ソレノイド)の駆動箇所が10msだけ駆動されることにより、1番目の音の場合と同様に音の長さ0.5秒の先頭10msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、10ms経過後、再び人形本体123の正面から見て左側に戻る。また、4番目の音の発生と一致してに手(ソレノイド)の駆動箇所が30msだけ駆動されることにより、1番目の音の場合と同様に音の長さ0.5秒の先頭30msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、30ms経過後、再び人形本体123の正面から見て左側に戻る。
【0093】
このことにより、音の発生と、アルトサックス120が左側から右側に移動し再び左側に戻る動作が一致し、さらに手(ソレノイド)の駆動箇所は音強(音の強さ)情報に応じて駆動制御信号の出力時間が定められていることから、アルトサックス120が右側に移動した状態となっている時間も音の強さに応じて変化する。したがって、音の発生および音の強さと、人形本体123の腕部124およびアルトサックス120の動きが一致する。
【0094】
また、同時に1番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.5秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、2番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.25秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、3番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.25秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、4番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、このとき人形本体123はもっとも前傾している状態のため、駆動制御信号の出力時間1.0秒(これは音長(音の長さ)情報と一致している)だけ後方へ傾動する。このことにより、音の長さと、人形本体123が傾動する動作が一致し、現実のアルトサックス奏者が音の長さに合わせて体を揺らしている動きを表現できる。
【0095】
尚、上記の例では音の長さと駆動制御信号の出力時間を等しいものとしたため、1番目から4番目の音に対応した各々の傾動動作は連結されて途切れのない一連の動きとなるが、駆動制御信号の出力時間を音の長さに対し調整(例えば出力時間=音の長さ−10ms)して、各音の終了直前に傾動動作を停止させても良い。このことにより、音の変化と傾動動作の停止が一致し、より演奏人形3の動作はメロディと一致したものとなるのでリアルである。
【0096】
また、1音符に対して1サイクルの傾動動作を割り当てるようにしても良い。例えば、1番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.5秒(これは音長(音の長さ)情報と一致している)の半分の時間、すなわち0.25秒で演奏人形3の上体部分が下体部分に対しもっとも前傾している状態となり、その後の0.25秒で元のもっとも後に傾いた状態となるように制御しても良い。このようにすることにより、演奏人形の動作が1音符毎に対応していることが明確となり、リアルなものとなる。
【0097】
次に、アコースティックピアノを演奏する演奏人形4の駆動制御信号の生成について説明する。図9に、アコースティックピアノを演奏する演奏人形4の駆動制御信号の生成の一例を示す。尚、図9に示される駆動制御信号は、上述した図4に示される演奏データに基づいて生成されたものである。
【0098】
演奏人形4の駆動箇所は、左手(ソレノイド)と、右手(ソレノイド)と、右足及び頭(ソレノイド)との3箇所である。そこで、音色情報に基づいて、駆動箇所として右足及び頭(ソレノイド)の箇所を特定する。続いて、音階(音の高さ)情報により、左手(ソレノイド)又は右手(ソレノイド)のいずれを駆動箇所とするかを決定する。本実施の形態では、音階(音の高さ)情報が“C5”以上(C5より高い音)の場合は右手(ソレノイド)を駆動箇所とし、“C5”より低い音の場合は左手(ソレノイド)を駆動箇所とするように予め決定しておく。
【0099】
これらに従うと、1番目の音では音階(音の高さ)情報が“C4”であるので、左手(ソレノイド)を駆動箇所とする。また、2番目の音では音階(音の高さ)情報が“E4”であるので、左手(ソレノイド)を駆動箇所とする。また、3番目の音では音階(音の高さ)情報が“G4”であるので、左手(ソレノイド)を駆動箇所とする。また、4番目の音では音階(音の高さ)情報が“C5”であるので、右手(ソレノイド)を駆動箇所とする。
【0100】
次に、各駆動箇所の駆動時間(駆動制御信号の出力時間)であるが、左手(ソレノイド)又は右手(ソレノイド)の駆動箇所については、音強(音の強さ)情報を用いる。音の強さは8段階であるので、音の強さ“1”及び“2”は駆動制御信号の出力時間を“10mS”、音の強さ“3”及び“4”は駆動制御信号の出力時間を“15mS”、音の強さ“5”及び“6”は駆動制御信号の出力時間を“25mS”、音の強さ“7”及び“8”は駆動制御信号の出力時間を“35mS”と予め定めておく。
【0101】
1番目の音では音強(音の強さ)情報は“5”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“25mS”となる。また、2番目の音では音強(音の強さ)情報は“3”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“15mS”となる。また、3番目の音では音強(音の強さ)情報は“3”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“15mS”となる。また、4番目の音では音強(音の強さ)情報は“8”であるので、右手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“35mS”となる。
【0102】
続いて、右足及び頭(ソレノイド)の駆動箇所については、情報にかかわらず、駆動時間を一定の“20mS”とするように予め設定しておく。すなわち、右足及び頭(ソレノイド)の駆動箇所の駆動制御信号の出力時間は、1音符あたり“20mS”であり、また音の発生と同時に駆動される。このことにより、音の発生と右足および頭の駆動が一致する。
【0103】
以上の如く、MIDIデータから得られた情報に基づいて、アコースティックピアノの演奏を行う演奏人形4の駆動制御信号の生成が行なわれているため、左手(ソレノイド)及び右手(ソレノイド)の駆動箇所と、胴体(モーター)の駆動箇所とが駆動することによる演奏人形4の動きと、当該MIDIデータのメロディとが一致する。
【0104】
具体的に説明すると、例えば、演奏人形4の左手(ソレノイド)又は右手(ソレノイド)の駆動箇所の駆動制御による動作は、ソレノイドが励起されていない状態では、演奏人形4の左手又は右手がアコースティックピアノの鍵盤から離れている(ノートオフ)状態であり、ソレノイドの励起により、駆動制御信号の出力時間分だけ、アコースティックピアノの鍵盤を押した(ノートオン)状態とする。
【0105】
また、演奏人形4の右足及び頭(ソレノイド)の駆動箇所の駆動、すなわちソレノイドの励起による右足及び頭の動きについては、上述したように情報に関わらず、制御信号の駆動時間が一定の“20mS”である。そこで、右足については“20mS”で1往復の昇降動作を行わせ、頭については1往復“20mS”で前方に傾く傾動動作を行わせる。
【0106】
今、演奏人形4の左手及び右手はアコースティックピアノの鍵盤から離れている(ノートオフ)状態にあり、右足は接地した状態にあり、頭は正面を向いた状態にあるもとする。
【0107】
このとき、1番目の音の発生と一致して左手(ソレノイド)の駆動箇所が25msだけ駆動されることにより、音の長さ0.5秒の先頭25msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、25ms経過後再び定常状態、すなわち演奏人形4左手が鍵盤から離れている(ノートオフ)状態に戻る。また、2番目の音の発生と一致して左手(ソレノイド)の駆動箇所が15ms駆動されることにより、音の長さ0.25秒の先頭15msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、15ms経過後再び定常状態、すなわち演奏人形4の左手が鍵盤から離れている(ノートオフ)状態に戻る。また、3番目の音の発生と一致してに左手(ソレノイド)の駆動箇所が15msだけ駆動されることにより、音の長さ0.25秒の先頭15msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、15ms経過後再び定常状態、すなわち演奏人形4の左手が鍵盤から離れている(ノートオフ)状態に戻る。また、4番目の音の発生と一致してに右手(ソレノイド)の駆動箇所が35msだけ駆動されることにより、音の長さ1秒の先頭35msの間だけ、演奏人形4の右手が鍵盤を押した(ノートオン)状態となり、35ms経過後再び定常状態、すなわち演奏人形4の右手が鍵盤から離れている(ノートオフ)状態に戻る。
【0108】
このことにより、音の発生と、鍵盤の押離動作(ノートオン・オフの動作)とが一致し、現実のアコースティックピアノ奏者の鍵盤の押離動作(ノートオン・オフの動作)を表現することができる。更に音階の高さにより、左手と右手とを区別して動作されるので、現実のアコースティックピアノ奏者が、音階により左手と右手とを区別して鍵盤の押離動作(ノートオン・オフの動作)行っている様子を演出することができる。
【0109】
また、同時に1番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が駆動しはじめ、1番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.5秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、2番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.25秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、3番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.25秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、4番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ1秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。
【0110】
また、このことにより、音の発生と、アコースティックピアノの奏者人形4の右足及び頭の駆動が一致し、現実のアコースティックピアノ奏者が鍵盤を押す際に足を踏み、頭を揺らす動作を演出することができる。
【0111】
以上の説明では、アルトサックスの演奏人形3と、アコースティックピアノの奏者人形4との駆動制御信号の生成の一例を説明したが、同様にベースの演奏を行う演奏人形5についても同様な方法で駆動制御信号の生成が行なわれる。
【0112】
一方、メロディ・駆動制御部12は、演奏データの音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報に基づいて、メロディ制御信号を作成し、スピーカー11に出力する。尚、メロディの作成については、公知の技術であるので、詳細は省略する。
【0113】
次に、上述の構成における動作を説明する。
【0114】
図10は本実施の形態の動作フローチャートである。
【0115】
演奏の開始が指示されると(Step 100)、制御部2は記録部1から演奏データを読み出す(Step 101)。読み出された演奏データのMIDIチャンネル情報から各演奏データの供給先(演奏人形)を判断し(Step 102)、演奏データを対応する演奏人形に供給する(Step 103)。
【0116】
各演奏人形側では、メロディ・駆動制御部12が、演奏データの音色情報及び音階(音の高さ)情報から、演奏人形の駆動箇所を判断する(Step 104)。また、演奏データの音長(音の長さ)情報及び音強(音の強さ)情報から、駆動制御信号の出力時間を決定する(Step 105)。そして、決定した出力時間、駆動制御信号を対応する駆動箇所に出力する(Step 106)。
【0117】
一方、演奏データの音階(音の高さ)情報、演奏データの音長(音の長さ)情報及び音強(音の強さ)情報から、メロディ信号を生成し、スピーカー11に出力する(Step 107)。
【0118】
そして、上記のステップが繰り返されて演奏動作が行われる(Step 108)。
【0119】
上述したように、本発明ではMIDIデータから得られた情報に基づいて、演奏人形を駆動する駆動制御信号を生成しているので、演奏人形の動きをメロディと一致したリアルなものとすることができる。
【0120】
尚、制御部2及びメロディ・駆動制御部12をCPU、ICチップ等で構成し、プログラムで動作するように構成しても良い。
【0121】
第2の実施の形態を説明する。
【0122】
図11は第2の実施の形態のブロック図である。
【0123】
第2の実施の形態は、第1の実施の形態の構成に加え、システム本体Aに他の演奏人形20を接続する接続部21を設け、システム本体Aの演奏人形と共に他の演奏人形も演奏することができるようにしたことを特徴とする。
【0124】
以下、第1の実施の形態と異なる構成について説明する。
【0125】
まず、記憶部1には、演奏人形3〜5以外に新たに接続(追加)される演奏人形20の為の演奏データが追加・格納されている。この演奏データは、上述した演奏データと同様なものであるが、新たに追加された演奏人形20を識別する為にMIDIチャンネル情報に新たなチャンネルが追加されている。例えば、演奏人形3〜5を識別するMIDIチャンネル情報が“1〜3”であるならば、新たに追加された演奏人形20を識別するMIDIチャンネル情報は“4”である。
【0126】
また、制御部2は、演奏データのMIDIチャンネル情報が演奏人形20のものであるならば、その演奏データを演奏人形20に供給するように構成されている。
【0127】
演奏人形20の構成は、接続部21と接続する為の接続部22が設けられている以外は、上述した演奏人形3〜5と同様の構成である。
【0128】
以上のように新たな演奏人形を追加できるような構成とすれば、演奏や動作にバリエーションが増える。
【0129】
第3の実施の形態を説明する。
【0130】
図12は第3の実施の形態のブロック図である。
【0131】
第3の実施の形態は、第1の実施の形態の構成に加え、新たな演奏データを追加する為、記憶部1に格納されている演奏データとは異なる演奏データが格納された記憶媒体30を接続する為の接続部31を設けたことを特徴とする。
【0132】
記憶媒体30は、不揮発性のフラッシュメモリや、ROMカートリッジ等、演奏データが格納することが出来るものであれば、種類は問わない。
【0133】
制御部2では、記録媒体30が接続部31に接続されると、記録部1に代えて記録媒体30より、演奏データを読み出す。読み出した後の処理は、上述した実施の形態と同様である。
【0134】
このような構成にすれば、新たな演奏データを追加することができ、演奏のバリエーションが増える。
【0135】
第4の実施の形態を説明する。
【0136】
図13は第4の実施の形態のブロック図である。
【0137】
第4の実施の形態は、第1の実施の形態の構成に加え、オリジナルのMIDIデータから、演奏人形を駆動させるために必要な演奏データを抽出し、演奏データを生成する演奏データ生成部40を設けたことを特徴とする。
【0138】
現在、MIDIデータによる音楽は種々提供されており、入手することも容易である。そして、この提供されているMIDIデータを用いて、演奏人形を動作させれば、より有効である。
【0139】
しかしながら、オリジナルのMIDIデータは、従来技術で説明したように種々の情報を含んでおり、演奏人形を駆動する為に必要な情報は、MIDIチャンネル情報や、音符情報である。
【0140】
そこで、オリジナルのMIDIデータから必要な情報だけを抽出し、演奏データを生成する演奏データ生成部40を設けた。
【0141】
本実施の形態では、演奏データ生成部40は、オリジナルのMIDIデータから、MIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報を抽出する。そして、制御部2及び各演奏人形3〜5の制御部を構成するマイコン等がデータ処理を行うことができるように抽出した情報を変換するように構成されている。そして、生成された演奏データは、上述した第3の実施の形態の記録媒体30のようなものに格納されて用いられる。
【0142】
以上で、本発明の実施の形態の説明を終わる。
【0143】
尚、上述した第1の実施の形態、第2の実施の形態、第3の実施の形態及び第4の実施の形態を適時に組み合わせて使用することも可能である。
【図面の簡単な説明】
【0144】
【図1】図1は本発明の演奏人形システム本体Aのブロック図である。
【図2】図2は演奏データの一例を示した図である。
【図3】図3は演奏データの元となるスコアを示した図である。
【図4】図4は演奏データの一例を示した図である。
【図5】図5は駆動部10の構成を説明する為の図である。
【図6】図6は駆動部10の構成を説明する為の図である。
【図7】図7は駆動部10の構成を説明する為の図である。
【図8】図8は演奏人形3の駆動制御信号の生成の一例を示した図である。
【図9】図9は演奏人形4の駆動制御信号の生成の一例を示した図である。
【図10】図10は第1の実施の形態の動作フローチャートである。
【図11】図11は第2の実施の形態のブロック図である。
【図12】図12は第3の実施の形態のブロック図である。
【図13】図13は第4の実施の形態のブロック図である。
【符号の説明】
【0145】
1 記憶部
2 制御部
3,4,5 演奏人形
10 駆動部
11 スピーカー
12 メロディ・駆動制御部
【技術分野】
【0001】
本発明は運動体制御システム、運動体及びそのプログラムに関し、特に広く利用されているMIDI(Musical Instrument Digital Interface)データを人形等の運動体を駆動する為の駆動データとして利用し、運動体を制御する運動体制御システム、運動体及びそのプログラムに関する。
【背景技術】
【0002】
近年、デジタル化の波は音楽の世界にも波及しており、デジタルの演奏データによる楽器の演奏が行われている。この技術の代表的なものとして、MIDI(Musical Instrument Digital Interfaceの頭文字)がある。このMIDIは、楽器同士を接続しその音楽情報をデジタル信号によって伝達するためのインターフェースを意味し、
演奏状態を他の楽器に伝達するための標準となるハードウェアおよびソフトウェアフォーマットである。
【0003】
更に、MIDIで用いられるMIDIデータは、実際の音をデジタル信号に変換したオーディオ信号とは異なり、音そのもののデータではなく、 楽器の演奏情報である。例えば、キーボードでいえば、鍵盤を押す・離す、ペダルを踏む・離す、音色を変えるといった動作をそれぞれ符号化したものである。
【0004】
MIDIデータは、複数のパート別に独立したコントロールをするためのチャンネルメッセージと、
MIDIシステム全体をコントロールするためのシステムメッセージに大別できる。
【0005】
チャンネルメッセージでは最大16パートをコントロールするため、MIDIチャンネルという概念が用いられている。
さらに、チャンネルメッセージはノート(音符)情報などのボイスメッセージとボイスメッセージの受信状態を設定するモードメッセージに区別される。
【0006】
ボイスメッセージには、ノートオン・オフ(音を出す・止める)、プログラムチェンジ(音色切替)、ピッチベンド等がある。
【0007】
奏情報の中でもっとも基本的な、例えば、「鍵盤を押す(ノートオン)」「鍵盤を離す(ノートオフ)」といった動作はノートオンメッセージとノートオフメッセージで行われる。
【0008】
ノートオンメッセージは、ステータスバイトにつづき、2バイト分のデータバイトで構成される。尚、ステータスバイトは通常、先頭の9がこのメッセージがノートオンメッセージであることを示し、次に任意のチャンネル番号が入る。
【0009】
2バイトで構成されるデータバイトの1バイト目は音階をあらわすノート番号である。このノート番号は音階を数字で表現したもので、ピアノの中央のC(ド)を番号60として、半音ごとに1つづ増減していき、一番低い音が0、一番高い音が127となる。また、2バイト目は音の強さを示すベロシティである。この2バイト目のデータバイトのベロシティとは、鍵盤を押す速さ(楽器を鳴らす速さ)をその音の強さとみなして、その値をあらわしたパラメータである。
【0010】
また、ノートオフメッセージは、通常、ステータスバイトの先頭の8がノートオフメッセージであることを示し、次に任意のチャンネル番号が入る。
【0011】
このようにMIDIデータは、MIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報と言った演奏に必要な音符情報が、規格に基づいて符号化されたものである。
【0012】
一方、従来、複数の人形からなり、所定の演奏を行う玩具が知られている。これらの演奏人形は、予め人形内に記憶されている演奏情報に基づいて、人形が駆動し、演奏を行うものである。
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、従来の演奏人形は、演奏するメロディと動作との同期が難しく、動きも不自然であった。これは、人形を駆動するデータと、メロディのデータとを別個に作成するからである。
【0014】
また、従来の演奏人形では、演奏する曲を決定し、この曲のスコアを元に駆動するデータとメロディのデータとを、独自のフォーマットで作成するため、作成のコストが高いものとなり、また、新しい演奏曲の追加も簡単にはできなかった。
【0015】
一方、MIDIデータは、上述したように代表的な規格であり、MIDIデータで作成された曲が多く提供されており、また、作成も容易である。
【0016】
そこで、本発明は上記問題点に鑑みて作成されたものであって、その目的はMIDIデータから得られた演奏データを、演奏人形を駆動する駆動データとして用いることにより、メロディと同期が取れ、自然な動作を行うことができる運動体の駆動制御を行う運動体制御システム、運動体及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決する第1の発明は、運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータの音符情報から得られた演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データに基づいて運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0018】
上記課題を解決する第2の発明は、運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データの音色情報及び/又は音階情報から運動体の駆動箇所を判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動部を制御する駆動制御手段と
を有することを特徴とする。
【0019】
上記課題を解決する第3の発明は、上記第1又は第2の発明において、他の運動体を接続し、この運動体を制御する為の演奏データを運動体に供給する為の接続部を更に有することを特徴とする。
【0020】
上記課題を解決する第3の発明は、上記第1、第2又は第3の発明において、演奏データが格納された記録媒体を接続する接続部を有し、
前記制御部は、前記記憶部に代えて接続された前記記録媒体から演奏データを読み出すことを特徴とする。
【0021】
上記課題を解決する第5の発明は、上記第1、第2、第3又は第4の発明において、MIDIデータのMIDIチャンネル情報、音階情報、音長情報及び音強情報に基づいて、演奏データを生成する演奏データ生成部を更に有することを特徴とする。
【0022】
上記課題を解決する第6の発明は、上記第5の発明において、前記駆動制御手段は、前記駆動箇所の駆動時間を音長情報による音の長さよりも、短いものとすることを特徴とする。
【0023】
上記課題を解決する第7の発明は、上記第5又は第6の発明において、前記駆動手段は、一動作の周期が音長情報による1音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0024】
上記課題を解決する第8の発明は、運動体制御システムであって、
運動体を駆動する駆動部と、
MIDIデータから前記駆動部を制御する為の駆動制御データを生成し、前記駆動制御データに基づいて、前記駆動部を制御する制御部と
を有することを特徴とする。
【0025】
上記課題を解決する第9の発明は、上記第8の発明において、前記制御部は、MIDIデータの音符情報より、運動体の駆動場所及び駆動時間を判断して、駆動制御データを生成することを特徴とする。
【0026】
上記課題を解決する第10の発明は、上記第8又は第9の発明において、前記制御部は、MIDIデータの音色情報及び/又は音階情報から運動体の駆動場所を決定し、MIDIデータの音長情報及び/又は音強情報から、駆動場所の駆動時間を決定することを特徴とする。
【0027】
上記課題を解決する第11の発明は、上記第10の発明において、前記制御部は、前記駆動箇所の駆動時間を音長情報による音の長さよりも、短いものとすることを特徴とする。
【0028】
上記課題を解決する第12の発明は、上記第10又は第11の発明において、前記駆動部は、一動作の周期が音長情報による1音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0029】
上記課題を解決する第13の発明は、運動体であって、
駆動箇所を駆動する複数の駆動手段と、
MIDIデータの音符情報から、運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0030】
上記課題を解決する第14の発明は、運動体であって、
駆動箇所を駆動する複数の駆動手段と、
MIDIデータから得られた音色情報、音階情報、音長情報及び音強情報から成る演奏データを受信し、前記演奏データの音色情報及び/又は音階情報から運動体の駆動箇所を判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする。
【0031】
上記課題を解決する第15の発明は、上記第13又は第14の発明において、演奏データを受信する為の接続部を更に有することを特徴する。
【0032】
上記課題を解決する第16の発明は、上記第13、第14又は第15の発明において、前記駆動制御手段は、前記駆動箇所の駆動時間を1音符の音の長さよりも、短いものとすることを特徴とする。
【0033】
上記課題を解決する第17の発明は、上記第13、第14、第15又は第16の発明において、前記駆動手段は、一動作の周期が一音符の音の長さとなるように駆動されるように構成されていること特徴とする。
【0034】
上記課題を解決する第18の発明は、MIDIデータにより、運動体の駆動を制御する運動体制御方法であって、
MIDIデータの音符の情報と、運動体の駆動箇所及びこの駆動箇所の駆動時間とを関連付けて記憶させておき、この関連付けに基づいて、読み込まれたMIDIデータの音符情報から、駆動する駆動箇所及びこの駆動箇所の駆動時間を決定し、運動体の駆動を制御することを特徴とする。
【0035】
上記課題を解決する第19の発明は、上記第18の発明において、前記MIDIデータの音符情報が、MIDIデータの音色情報、音階情報、音長情報及び音強情報であり、前記音色情報及び/又は音階情報から運動体の駆動場所を決定し、前記音長情報及び/又は音強情報から、駆動場所の駆動時間を決定することを特徴とする。
【0036】
上記課題を解決する第20の発明は、上記第18又は第19の発明において、MIDIデータのチャンネル情報と複数の運動体とを関連付けておき、チャンネル情報に対応した運動体に、そのチャンネル情報の音符情報を割り当てることによって、複数の運動体を制御することを特徴とする。
【0037】
上記課題を解決する第21の発明は、上記第18、第19又は第20の発明において、駆動箇所の駆動時間を1音符の音の長さよりも、短いものとすることを特徴とする。
【0038】
上記課題を解決する第22の発明は、運動体の駆動部を制御する情報処理装置のプログラムであって、
前記プログラムは、情報処理装置を、MIDIデータから得られた音符情報から駆動部を制御する為の駆動制御データを生成し、前記駆動制御データに基づいて、前記駆動部を制御する制御手段として機能させることを特徴とする。
【0039】
上記課題を解決する第23の発明は、上記第第22の発明において、前記プログラムは情報処理装置を、MIDIデータから得られた音符情報より、運動体の駆動場所及び駆動時間を判断して、駆動制御データを生成する制御手段として機能させることを特徴とする。
【0040】
上記課題を解決する第24の発明は、上記第22又は第23の発明において、前記プログラムは情報処理装置を、MIDIデータから得られた音色情報及び/又は音階情報から運動体の駆動場所を決定し、MIDIデータの音長情報及び/又は音強情報から、駆動場所の駆動時間を決定する制御手段として機能させることを特徴とする。
【0041】
上記課題を解決する第25の発明は、上記第22、第23又は第24の発明において、前記プログラムは情報処理装置を、駆動箇所の駆動時間が1音符の音の長さよりも短い駆動制御データを生成する駆動制御手段として機能させることを特徴とする。
【0042】
上記課題を解決する第26の発明は、複数の運動体の駆動部を制御する情報処理装置のプログラムであって、
前記プログラムは情報処理装置を、
MIDIデータから得られたMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報から成る演奏データを記憶部から呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体を判定する手段と、
前記判定された運動体の駆動箇所を前記演奏データの音色情報及び/又は音階情報から判定し、前記演奏データの音長情報及び/又は音強情報から前記駆動箇所の駆動時間を判定し、これらの判定結果に基づいて、運動体の駆動箇所の駆動を制御する手段として機能させることを特徴とする。
【0043】
上記課題を解決する第27の発明は、上記第26の発明において、前記プログラムは情報処理装置を、複数の記憶部を選択して、演奏データを読み出す手段として機能させることを特徴とする。
【0044】
上記課題を解決する第28の発明は、上記第26又は第27の発明において、前記プログラムは情報処理装置を、MIDIデータのMIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報に基づいて、演奏データを生成する手段として機能させることを特徴とする。
【0045】
上記課題を解決する第29の発明は、上記第26、第27又は第28の発明において、前記プログラムは情報処理装置を、駆動箇所の駆動時間が1音符の音の長さよりも短くなるように駆動を制御する駆動制御手段として機能させることを特徴とする。
【発明の効果】
【0046】
本発明は、MIDIデータから得られた情報に基づいて、演奏人形を駆動する駆動制御信号を生成しているので、演奏人形の動きをメロディと一致したリアルなものとすることができる。
【0047】
また、本発明は、新たな演奏人形や、演奏データを追加できるような構成としたので、演奏や動作にバリエーションが増えると言う効果がある。
【発明を実施するための最良の形態】
【0048】
本発明は、上述したMIDIデータから得られた演奏データを用いて各演奏人形の動作を制御することを特徴とする。以下、本発明の実施の形態を説明する。
【0049】
本発明の第1の実施の形態を説明する。
【0050】
図1は本発明の演奏人形システム本体Aのブロック図である。
【0051】
図1中、1は演奏データが格納された記憶部、2は演奏データを各演奏人形に供給する制御部、3はアルトサックスの演奏を行う演奏人形、4はアコースティックピアノを演奏する演奏人形、5はベースの演奏を行う演奏人形である。
【0052】
記憶部1は、オリジナルのMIDIデータから得られたMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る演奏データが格納されている。この演奏データは、オリジナルのMIDIデータから、MIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る音符情報を抽出し、この抽出したデータのフォーマット等を変更することにより、制御部2及び各演奏人形3〜5の制御部を構成するマイコン等がデータ処理を行うことができるようにしたものである。これは、MIDIデータ形式そのもののデータを処理することが出来るCPU等は、コストの面から適切なものでないからである。但し、変換された演奏データは、MIDIデータの情報を反映したものであり、MIDIデータが示す音符情報と実質変わりはない。
【0053】
尚、制御部2及び各演奏人形3〜5の制御部が、MIDIデータを処理可能なものであれば、オリジナルのMIDIデータから抽出したMIDIデータ形式のMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報を、そのまま記憶部1に格納してもかまわない。
【0054】
ここで、演奏データの一例を、図2を用いて説明する。
【0055】
図2で示される演奏データは、図3に示されるスコアで示されるものである。
【0056】
演奏データの項目は、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報である。図2で示される演奏データは、MIDIチャンネル情報は“1”であり、音色情報は“アルトサックス”である。
【0057】
また、図3に示されるスコアの1番目の音は“四分音符”であり、これに対応する音階(音の高さ)情報は“C4”であり、音長(音の長さ)情報は“0.5秒”である。尚、音長(音の長さ)情報については、全体の速さが120であるので、四分音符を、60/120=0.5秒とした。また、音強(音の強さ)情報はスコアには表現されないが、MIDIデータには音強(音の強さ)情報が含まれており、ここでは、音強(音の強さ)情報を“5”とした。
【0058】
同様に、図3に示されるスコアの2番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“E4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0059】
同様に、図3に示されるスコアの3番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“G4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0060】
同様に、図3に示されるスコアの4番目の音は“二分音符”であり、これに対応する音階(音の高さ)情報は“C5”であり、音長(音の長さ)情報は“1秒”である。また、音強(音の強さ)情報は“8”である。
【0061】
更に、他チャンネルの演奏データの一例を図4に示す。尚、図4に示される演奏データも、図3に示されるスコアで示されるものである。
【0062】
演奏データの項目は、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報である。図4で示される演奏データは、MIDIチャンネル情報は“2”であり、音色情報は“アコースティックピアノ”である。
【0063】
また、図3に示されるスコアの1番目の音は“四分音符”であり、これに対応する音階(音の高さ)情報は“C4”であり、音長(音の長さ)情報は“0.5秒”である。尚、音長(音の長さ)情報については、全体の速さが120であるので、四分音符を、60/120=0.5秒とした。また、音強(音の強さ)情報はスコアには表現されないが、MIDIデータには音強(音の強さ)情報が含まれており、ここでは、音強(音の強さ)情報を“5”とした。
【0064】
同様に、図4に示されるスコアの2番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“E4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0065】
同様に、図4に示されるスコアの3番目の音は“八分音符”であり、これに対応する音階(音の高さ)情報は“G4”であり、音長(音の長さ)情報は“0.25秒”である。また、音強(音の強さ)情報は“3”である。
【0066】
同様に、図4に示されるスコアの4番目の音は“二分音符”であり、これに対応する音階(音の高さ)情報は“C5”であり、音長(音の長さ)情報は“1秒”である。また、音強(音の強さ)情報は“8”である。
【0067】
以上のような演奏データが記憶部1に格納されている。
【0068】
制御部2は、MIDIチャンネル情報に対応する演奏人形を記憶しており、記憶部1から演奏データを読み出し、演奏データのMIDIチャンネル情報に対応した演奏人形に演奏データを供給する。
【0069】
例えば、MIDIチャンネル情報“1”に対応する演奏人形として演奏人形3が記憶されており、MIDIチャンネル情報“2”に対応する演奏人形として演奏人形4が記憶されている。そして、記憶部1から演奏データを読み出し、この演奏データのMIDIチャンネル情報が“1”であるならば、その演奏データを演奏人形3に供給し、MIDIチャンネル情報が“2”であるならば、その演奏データを演奏人形4に供給する。
【0070】
次に、演奏人形3〜5について説明する。
【0071】
各演奏人形は、演奏人形を動作(駆動)させる複数の駆動部10と、メロディが出力されるスピーカー11と、駆動部10及びスピーカー11を制御するメロディ・駆動制御部12とを有する。
【0072】
駆動部11は、演奏人形の胴体や、腕等を駆動させる。この駆動部11は、演奏人形毎に異なる動力を持っており、例えば、アルトサックスの演奏を行う演奏人形3では、両手を駆動するソレノイド111と、胴体を駆動するモーター112とを有する。また、アコースティックピアノを演奏する演奏人形4では、左手を駆動するソレノイド150と、右手を駆動するソレノイド151と、右足及び頭を駆動するソレノイド152とを有する。これらの駆動の制御は、メロディ・駆動制御部12からの駆動制御信号により行われる。
【0073】
ここで、駆動部10の詳細を、アルトサックスの演奏を行う演奏人形3を例にして説明する。
【0074】
図5は演奏人形3の胴体を駆動するモーター112が格納されたギヤ部113を説明する為の図である。
【0075】
モーター112は、後述する駆動制御信号の出力時間だけ回転を行う。そして、その回転力はギヤに伝えられ、ギヤに接続されたクランプ114が回転を行うように構成されている。クランプ114上には支柱115が配設されており、クランプ114の回転により、支柱115が昇降するように構成されている。
【0076】
また、人形胴体本体116は、図6に示される如く、支柱115が挿入される円筒部117と、この円筒部117の両側にそれぞれ設けられた腕柱部118と、円筒部117の上端に設けられ、内部にソレノイド111が格納された回転支柱部119と、人形胴体本体116の外に設けられたアルトサックス120と接続され、水平方向に回動可能であり、且つ、ソレノイド111の吸着により後述するコイルスプリング122から見て反時計回りの方向へ回転可能な回転部121と、その弾性により回転部121をソレノイド111の回転方向と逆の方向に付勢可能なコイルスプリング122とを有する。
【0077】
腕柱部118は、人形本体123に回動可能に取り付けられ、人形胴体本体の中空部117に挿入された支柱115が昇降運動を行うことにより、人形本体123が前後方向に傾動を行う。
【0078】
一方、回転部121には磁石が設けられており、駆動制御信号の供給によりソレノイド111に生じる吸着力により、コイルスプリング122から見て反時計回りの方向へコイルスプリング122の弾性に抗して回転するように構成されている。更に、回転部121は、図7に示される如く、アルトサックス120と人形本体123の前方にて固着されており、回転部121の回転によりアルトサックス120が左右に揺動するように構成されている。
【0079】
また、アルトサックス120は、人形の左右の腕部124に固着されており、更に、左右の腕部124の下部に設けられ垂直下方へ延びる軸126は、人形本体123の腕受け部125に回動可能に取り付けられており、左右の腕部124は、軸126を中心に水平方向に回動可能である。そして、左右の腕部124は、アルトサックス120の左右の揺動と連動して、図7に示される如く、左右に揺動する。
【0080】
メロディ・駆動制御部12は、制御部2から供給された演奏データに基づいて、駆動部10及びスピーカー11を駆動する為の駆動制御信号及びメロディ信号を生成する。
【0081】
ここで、駆動部10を制御する駆動制御信号の生成について説明する。
【0082】
メロディ・駆動制御部12は、制御部2から演奏データが供給される。この演奏データは、上述したようにMIDIチャンネル情報、音色情報、音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報から成る。演奏データの各情報に基づく駆動制御信号の生成は、演奏人形毎に予め決定されている。
【0083】
例えば、アルトサックスの演奏を行う演奏人形3については、MIDIチャンネル情報は、これ以降の情報が自己の演奏人形の為の情報であることを認識する為に用いられる。また、音色情報及び音階(音の高さ)情報は、駆動箇所を特定する為に用いられる。また、音長(音の長さ)情報及び音強(音の強さ)情報は、駆動制御信号の出力時間を決定する為に用いられる。
【0084】
図8に、アルトサックスの演奏を行う演奏人形3の駆動制御信号の生成の一例を示す。尚、図8に示される駆動制御信号は、上述した図3に示される演奏データに基づいて生成されたものである。
【0085】
演奏人形3の駆動箇所は、手(ソレノイド111)と胴体(モーター112)との2箇所である。そこで、音色情報に基づいて、手(ソレノイド111)と胴体(モーター112)との2箇所の駆動場所を特定する。尚、演奏人形3では音階(音の高さ)情報は用いない。
【0086】
次に、各駆動箇所の駆動時間(駆動制御信号の出力時間)であるが、手(ソレノイド111)の駆動箇所については、音強(音の強さ)情報を用いる。音の強さは8段階であるので、音の強さ“1”及び“2”は駆動制御信号の出力時間を“5mS”、音の強さ“3”及び“4”は駆動制御信号の出力時間を“10mS”、音の強さ“5”及び“6”は駆動制御信号の出力時間を“20mS”、音の強さ“7”及び“8”は駆動制御信号の出力時間を“30mS”と予め定めておく。
【0087】
1番目の音では音強(音の強さ)情報は“5”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“20mS”となる。また、2番目の音では音強(音の強さ)情報は“3”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“10mS”となる。また、3番目の音では音強(音の強さ)情報は“3”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“10mS”となる。また、4番目の音では音強(音の強さ)情報は“8”であるので、手(ソレノイド111)の駆動箇所への駆動制御信号の出力時間は“30mS”となる。
【0088】
続いて、胴体(モーター112)の駆動箇所については、音長(音の長さ)情報を用いる。胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は、音長(音の長さ)情報の時間と同じに設定するように予め定めておく。1番目の音では音長(音の長さ)情報は“0.5秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“0.5秒”となる。また、2番目の音では音長(音の長さ)情報は“0.25秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“0.25秒”となる。また、3番目の音では音長(音の長さ)情報は“0.25秒”であるので、胴体(モーター)の駆動箇所への駆動制御信号の出力時間は“0.25秒”となる。また、4番目の音では音長(音の長さ)情報は“1.0秒”であるので、胴体(モーター112)の駆動箇所への駆動制御信号の出力時間は“1.0秒”となる。
【0089】
以上の如く、MIDIデータから得られた情報に基づいて、アルトサックスの演奏を行う演奏人形3の駆動制御信号の生成が行なわれているため、手(ソレノイド111)の駆動箇所と胴体(モーター112)の駆動箇所が駆動することによる演奏人形3の動きと当該MIDIデータのメロディとが一致する。
【0090】
例えば、演奏人形3を図5、図6に示す構成とすれば、手(ソレノイド111)の駆動箇所の駆動、すなわちソレノイド111の励起により生じる演奏人形3の動作は、ソレノイド111が励起されていない状態では人形本体123の正面から見て左側にあるアルトサックス(回転部121が回動していない状態)が駆動制御信号の出力時間分だけ人形本体123の正面から見て右側に移動した状態(ソレノイド111の吸着によりコイルスプリング122の弾性に抗して回転部121が反時計方向に回転している状態)となる動作となり、胴体(モーター)の駆動箇所の駆動、すなわちモーター112の駆動により生じる演奏人形3の動きは、1往復2秒間のサイクル(支柱部115の1回の昇降サイクル)で人形本体123を前後に傾動動作させるものとなる。なお、該傾動動作は一定の振幅で行なわれ1往復2秒間の動作とする。
【0091】
今、人形本体123は前後傾動動作においてもっとも後に傾いた状態にあるものとする。
【0092】
このとき、1番目の音の発生と一致して手(ソレノイド)の駆動箇所が20msだけ駆動されることにより、回転部121がソレノイド111に吸着されて反時計方向に回動するため、音の長さ0.5秒の先頭20msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、20ms経過後再び定常状態、すなわち人形本体123の正面から見て左側に戻る。また、2番目の音の発生と一致して手(ソレノイド)の駆動箇所が10ms駆動されることにより、1番目の音の場合と同様に音の長さ0.25秒の先頭10msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、10ms経過後、再び人形本体123の正面から見て左側に戻る。また、3番目の音の発生と一致して手(ソレノイド)の駆動箇所が10msだけ駆動されることにより、1番目の音の場合と同様に音の長さ0.5秒の先頭10msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、10ms経過後、再び人形本体123の正面から見て左側に戻る。また、4番目の音の発生と一致してに手(ソレノイド)の駆動箇所が30msだけ駆動されることにより、1番目の音の場合と同様に音の長さ0.5秒の先頭30msの間だけアルトサックス120が人形本体123の正面から見て右側に移動した状態となり、30ms経過後、再び人形本体123の正面から見て左側に戻る。
【0093】
このことにより、音の発生と、アルトサックス120が左側から右側に移動し再び左側に戻る動作が一致し、さらに手(ソレノイド)の駆動箇所は音強(音の強さ)情報に応じて駆動制御信号の出力時間が定められていることから、アルトサックス120が右側に移動した状態となっている時間も音の強さに応じて変化する。したがって、音の発生および音の強さと、人形本体123の腕部124およびアルトサックス120の動きが一致する。
【0094】
また、同時に1番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.5秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、2番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.25秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、3番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.25秒(これは音長(音の長さ)情報と一致している)だけ人形本体123は前方へ傾動する。また、4番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、このとき人形本体123はもっとも前傾している状態のため、駆動制御信号の出力時間1.0秒(これは音長(音の長さ)情報と一致している)だけ後方へ傾動する。このことにより、音の長さと、人形本体123が傾動する動作が一致し、現実のアルトサックス奏者が音の長さに合わせて体を揺らしている動きを表現できる。
【0095】
尚、上記の例では音の長さと駆動制御信号の出力時間を等しいものとしたため、1番目から4番目の音に対応した各々の傾動動作は連結されて途切れのない一連の動きとなるが、駆動制御信号の出力時間を音の長さに対し調整(例えば出力時間=音の長さ−10ms)して、各音の終了直前に傾動動作を停止させても良い。このことにより、音の変化と傾動動作の停止が一致し、より演奏人形3の動作はメロディと一致したものとなるのでリアルである。
【0096】
また、1音符に対して1サイクルの傾動動作を割り当てるようにしても良い。例えば、1番目の音の発生と一致して胴体(モーター)の駆動箇所が駆動しはじめ、駆動制御信号の出力時間0.5秒(これは音長(音の長さ)情報と一致している)の半分の時間、すなわち0.25秒で演奏人形3の上体部分が下体部分に対しもっとも前傾している状態となり、その後の0.25秒で元のもっとも後に傾いた状態となるように制御しても良い。このようにすることにより、演奏人形の動作が1音符毎に対応していることが明確となり、リアルなものとなる。
【0097】
次に、アコースティックピアノを演奏する演奏人形4の駆動制御信号の生成について説明する。図9に、アコースティックピアノを演奏する演奏人形4の駆動制御信号の生成の一例を示す。尚、図9に示される駆動制御信号は、上述した図4に示される演奏データに基づいて生成されたものである。
【0098】
演奏人形4の駆動箇所は、左手(ソレノイド)と、右手(ソレノイド)と、右足及び頭(ソレノイド)との3箇所である。そこで、音色情報に基づいて、駆動箇所として右足及び頭(ソレノイド)の箇所を特定する。続いて、音階(音の高さ)情報により、左手(ソレノイド)又は右手(ソレノイド)のいずれを駆動箇所とするかを決定する。本実施の形態では、音階(音の高さ)情報が“C5”以上(C5より高い音)の場合は右手(ソレノイド)を駆動箇所とし、“C5”より低い音の場合は左手(ソレノイド)を駆動箇所とするように予め決定しておく。
【0099】
これらに従うと、1番目の音では音階(音の高さ)情報が“C4”であるので、左手(ソレノイド)を駆動箇所とする。また、2番目の音では音階(音の高さ)情報が“E4”であるので、左手(ソレノイド)を駆動箇所とする。また、3番目の音では音階(音の高さ)情報が“G4”であるので、左手(ソレノイド)を駆動箇所とする。また、4番目の音では音階(音の高さ)情報が“C5”であるので、右手(ソレノイド)を駆動箇所とする。
【0100】
次に、各駆動箇所の駆動時間(駆動制御信号の出力時間)であるが、左手(ソレノイド)又は右手(ソレノイド)の駆動箇所については、音強(音の強さ)情報を用いる。音の強さは8段階であるので、音の強さ“1”及び“2”は駆動制御信号の出力時間を“10mS”、音の強さ“3”及び“4”は駆動制御信号の出力時間を“15mS”、音の強さ“5”及び“6”は駆動制御信号の出力時間を“25mS”、音の強さ“7”及び“8”は駆動制御信号の出力時間を“35mS”と予め定めておく。
【0101】
1番目の音では音強(音の強さ)情報は“5”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“25mS”となる。また、2番目の音では音強(音の強さ)情報は“3”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“15mS”となる。また、3番目の音では音強(音の強さ)情報は“3”であるので、左手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“15mS”となる。また、4番目の音では音強(音の強さ)情報は“8”であるので、右手(ソレノイド)の駆動箇所への駆動制御信号の出力時間は“35mS”となる。
【0102】
続いて、右足及び頭(ソレノイド)の駆動箇所については、情報にかかわらず、駆動時間を一定の“20mS”とするように予め設定しておく。すなわち、右足及び頭(ソレノイド)の駆動箇所の駆動制御信号の出力時間は、1音符あたり“20mS”であり、また音の発生と同時に駆動される。このことにより、音の発生と右足および頭の駆動が一致する。
【0103】
以上の如く、MIDIデータから得られた情報に基づいて、アコースティックピアノの演奏を行う演奏人形4の駆動制御信号の生成が行なわれているため、左手(ソレノイド)及び右手(ソレノイド)の駆動箇所と、胴体(モーター)の駆動箇所とが駆動することによる演奏人形4の動きと、当該MIDIデータのメロディとが一致する。
【0104】
具体的に説明すると、例えば、演奏人形4の左手(ソレノイド)又は右手(ソレノイド)の駆動箇所の駆動制御による動作は、ソレノイドが励起されていない状態では、演奏人形4の左手又は右手がアコースティックピアノの鍵盤から離れている(ノートオフ)状態であり、ソレノイドの励起により、駆動制御信号の出力時間分だけ、アコースティックピアノの鍵盤を押した(ノートオン)状態とする。
【0105】
また、演奏人形4の右足及び頭(ソレノイド)の駆動箇所の駆動、すなわちソレノイドの励起による右足及び頭の動きについては、上述したように情報に関わらず、制御信号の駆動時間が一定の“20mS”である。そこで、右足については“20mS”で1往復の昇降動作を行わせ、頭については1往復“20mS”で前方に傾く傾動動作を行わせる。
【0106】
今、演奏人形4の左手及び右手はアコースティックピアノの鍵盤から離れている(ノートオフ)状態にあり、右足は接地した状態にあり、頭は正面を向いた状態にあるもとする。
【0107】
このとき、1番目の音の発生と一致して左手(ソレノイド)の駆動箇所が25msだけ駆動されることにより、音の長さ0.5秒の先頭25msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、25ms経過後再び定常状態、すなわち演奏人形4左手が鍵盤から離れている(ノートオフ)状態に戻る。また、2番目の音の発生と一致して左手(ソレノイド)の駆動箇所が15ms駆動されることにより、音の長さ0.25秒の先頭15msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、15ms経過後再び定常状態、すなわち演奏人形4の左手が鍵盤から離れている(ノートオフ)状態に戻る。また、3番目の音の発生と一致してに左手(ソレノイド)の駆動箇所が15msだけ駆動されることにより、音の長さ0.25秒の先頭15msの間だけ、演奏人形4の左手が鍵盤を押した(ノートオン)状態となり、15ms経過後再び定常状態、すなわち演奏人形4の左手が鍵盤から離れている(ノートオフ)状態に戻る。また、4番目の音の発生と一致してに右手(ソレノイド)の駆動箇所が35msだけ駆動されることにより、音の長さ1秒の先頭35msの間だけ、演奏人形4の右手が鍵盤を押した(ノートオン)状態となり、35ms経過後再び定常状態、すなわち演奏人形4の右手が鍵盤から離れている(ノートオフ)状態に戻る。
【0108】
このことにより、音の発生と、鍵盤の押離動作(ノートオン・オフの動作)とが一致し、現実のアコースティックピアノ奏者の鍵盤の押離動作(ノートオン・オフの動作)を表現することができる。更に音階の高さにより、左手と右手とを区別して動作されるので、現実のアコースティックピアノ奏者が、音階により左手と右手とを区別して鍵盤の押離動作(ノートオン・オフの動作)行っている様子を演出することができる。
【0109】
また、同時に1番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が駆動しはじめ、1番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.5秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、2番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.25秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、3番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ0.25秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。また、4番目の音の発生と一致して右足及び頭(ソレノイド)の駆動箇所が20msだけ駆動されることにより、音の長さ1秒の先頭20ms間で、右足が接地状態から離地状態、そして再び接地状態となり、頭は下体部分に対し前方へ傾動して再び元の正立状態となる。
【0110】
また、このことにより、音の発生と、アコースティックピアノの奏者人形4の右足及び頭の駆動が一致し、現実のアコースティックピアノ奏者が鍵盤を押す際に足を踏み、頭を揺らす動作を演出することができる。
【0111】
以上の説明では、アルトサックスの演奏人形3と、アコースティックピアノの奏者人形4との駆動制御信号の生成の一例を説明したが、同様にベースの演奏を行う演奏人形5についても同様な方法で駆動制御信号の生成が行なわれる。
【0112】
一方、メロディ・駆動制御部12は、演奏データの音階(音の高さ)情報、音長(音の長さ)情報及び音強(音の強さ)情報に基づいて、メロディ制御信号を作成し、スピーカー11に出力する。尚、メロディの作成については、公知の技術であるので、詳細は省略する。
【0113】
次に、上述の構成における動作を説明する。
【0114】
図10は本実施の形態の動作フローチャートである。
【0115】
演奏の開始が指示されると(Step 100)、制御部2は記録部1から演奏データを読み出す(Step 101)。読み出された演奏データのMIDIチャンネル情報から各演奏データの供給先(演奏人形)を判断し(Step 102)、演奏データを対応する演奏人形に供給する(Step 103)。
【0116】
各演奏人形側では、メロディ・駆動制御部12が、演奏データの音色情報及び音階(音の高さ)情報から、演奏人形の駆動箇所を判断する(Step 104)。また、演奏データの音長(音の長さ)情報及び音強(音の強さ)情報から、駆動制御信号の出力時間を決定する(Step 105)。そして、決定した出力時間、駆動制御信号を対応する駆動箇所に出力する(Step 106)。
【0117】
一方、演奏データの音階(音の高さ)情報、演奏データの音長(音の長さ)情報及び音強(音の強さ)情報から、メロディ信号を生成し、スピーカー11に出力する(Step 107)。
【0118】
そして、上記のステップが繰り返されて演奏動作が行われる(Step 108)。
【0119】
上述したように、本発明ではMIDIデータから得られた情報に基づいて、演奏人形を駆動する駆動制御信号を生成しているので、演奏人形の動きをメロディと一致したリアルなものとすることができる。
【0120】
尚、制御部2及びメロディ・駆動制御部12をCPU、ICチップ等で構成し、プログラムで動作するように構成しても良い。
【0121】
第2の実施の形態を説明する。
【0122】
図11は第2の実施の形態のブロック図である。
【0123】
第2の実施の形態は、第1の実施の形態の構成に加え、システム本体Aに他の演奏人形20を接続する接続部21を設け、システム本体Aの演奏人形と共に他の演奏人形も演奏することができるようにしたことを特徴とする。
【0124】
以下、第1の実施の形態と異なる構成について説明する。
【0125】
まず、記憶部1には、演奏人形3〜5以外に新たに接続(追加)される演奏人形20の為の演奏データが追加・格納されている。この演奏データは、上述した演奏データと同様なものであるが、新たに追加された演奏人形20を識別する為にMIDIチャンネル情報に新たなチャンネルが追加されている。例えば、演奏人形3〜5を識別するMIDIチャンネル情報が“1〜3”であるならば、新たに追加された演奏人形20を識別するMIDIチャンネル情報は“4”である。
【0126】
また、制御部2は、演奏データのMIDIチャンネル情報が演奏人形20のものであるならば、その演奏データを演奏人形20に供給するように構成されている。
【0127】
演奏人形20の構成は、接続部21と接続する為の接続部22が設けられている以外は、上述した演奏人形3〜5と同様の構成である。
【0128】
以上のように新たな演奏人形を追加できるような構成とすれば、演奏や動作にバリエーションが増える。
【0129】
第3の実施の形態を説明する。
【0130】
図12は第3の実施の形態のブロック図である。
【0131】
第3の実施の形態は、第1の実施の形態の構成に加え、新たな演奏データを追加する為、記憶部1に格納されている演奏データとは異なる演奏データが格納された記憶媒体30を接続する為の接続部31を設けたことを特徴とする。
【0132】
記憶媒体30は、不揮発性のフラッシュメモリや、ROMカートリッジ等、演奏データが格納することが出来るものであれば、種類は問わない。
【0133】
制御部2では、記録媒体30が接続部31に接続されると、記録部1に代えて記録媒体30より、演奏データを読み出す。読み出した後の処理は、上述した実施の形態と同様である。
【0134】
このような構成にすれば、新たな演奏データを追加することができ、演奏のバリエーションが増える。
【0135】
第4の実施の形態を説明する。
【0136】
図13は第4の実施の形態のブロック図である。
【0137】
第4の実施の形態は、第1の実施の形態の構成に加え、オリジナルのMIDIデータから、演奏人形を駆動させるために必要な演奏データを抽出し、演奏データを生成する演奏データ生成部40を設けたことを特徴とする。
【0138】
現在、MIDIデータによる音楽は種々提供されており、入手することも容易である。そして、この提供されているMIDIデータを用いて、演奏人形を動作させれば、より有効である。
【0139】
しかしながら、オリジナルのMIDIデータは、従来技術で説明したように種々の情報を含んでおり、演奏人形を駆動する為に必要な情報は、MIDIチャンネル情報や、音符情報である。
【0140】
そこで、オリジナルのMIDIデータから必要な情報だけを抽出し、演奏データを生成する演奏データ生成部40を設けた。
【0141】
本実施の形態では、演奏データ生成部40は、オリジナルのMIDIデータから、MIDIチャンネル情報、音色情報、音階情報、音長情報及び音強情報を抽出する。そして、制御部2及び各演奏人形3〜5の制御部を構成するマイコン等がデータ処理を行うことができるように抽出した情報を変換するように構成されている。そして、生成された演奏データは、上述した第3の実施の形態の記録媒体30のようなものに格納されて用いられる。
【0142】
以上で、本発明の実施の形態の説明を終わる。
【0143】
尚、上述した第1の実施の形態、第2の実施の形態、第3の実施の形態及び第4の実施の形態を適時に組み合わせて使用することも可能である。
【図面の簡単な説明】
【0144】
【図1】図1は本発明の演奏人形システム本体Aのブロック図である。
【図2】図2は演奏データの一例を示した図である。
【図3】図3は演奏データの元となるスコアを示した図である。
【図4】図4は演奏データの一例を示した図である。
【図5】図5は駆動部10の構成を説明する為の図である。
【図6】図6は駆動部10の構成を説明する為の図である。
【図7】図7は駆動部10の構成を説明する為の図である。
【図8】図8は演奏人形3の駆動制御信号の生成の一例を示した図である。
【図9】図9は演奏人形4の駆動制御信号の生成の一例を示した図である。
【図10】図10は第1の実施の形態の動作フローチャートである。
【図11】図11は第2の実施の形態のブロック図である。
【図12】図12は第3の実施の形態のブロック図である。
【図13】図13は第4の実施の形態のブロック図である。
【符号の説明】
【0145】
1 記憶部
2 制御部
3,4,5 演奏人形
10 駆動部
11 スピーカー
12 メロディ・駆動制御部
【特許請求の範囲】
【請求項1】
運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータの音符情報から得られた演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データに基づいて運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする運動体制御システム。
【請求項1】
運動体制御システムであって、
制御部と、複数の運動体とを有し、
前記制御部は、
MIDIデータの音符情報から得られた演奏データが格納された記憶手段と、
前記演奏データを呼び出し、前記演奏データのMIDIチャンネル情報に基づいて、そのMIDIチャンネル情報に対応する運動体に演奏データを供給する供給手段と
を有し、
前記各運動体の各々は、
駆動箇所を駆動する複数の駆動手段と、
供給された演奏データに基づいて運動体の駆動箇所及び駆動時間を判定し、これらの判定結果に基づいて前記複数の駆動手段を制御する駆動制御手段と
を有することを特徴とする運動体制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−297158(P2006−297158A)
【公開日】平成18年11月2日(2006.11.2)
【国際特許分類】
【出願番号】特願2006−218718(P2006−218718)
【出願日】平成18年8月10日(2006.8.10)
【分割の表示】特願2002−257139(P2002−257139)の分割
【原出願日】平成14年9月2日(2002.9.2)
【出願人】(000135748)株式会社バンダイ (246)
【Fターム(参考)】
【公開日】平成18年11月2日(2006.11.2)
【国際特許分類】
【出願日】平成18年8月10日(2006.8.10)
【分割の表示】特願2002−257139(P2002−257139)の分割
【原出願日】平成14年9月2日(2002.9.2)
【出願人】(000135748)株式会社バンダイ (246)
【Fターム(参考)】
[ Back to top ]