説明

楽器演奏ロボットおよび楽器自動演奏方法

【課題】周囲温度の差異、楽器の器差の影響等により発生する音高のずれを自動修正する。
【解決手段】本発明の一態様に係る楽器演奏ロボットは、演奏動作を行い楽器の演奏を行う楽器演奏ロボットであって、演奏動作により演奏した楽器の演奏音を入力するための音情報入力部31と、音情報入力部31に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別する判別部と、判別部で判別された音高のずれに基づいて、演奏動作を修正する修正部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽器を演奏する楽器演奏ロボット、および楽器を自動的に演奏するための楽器自動演奏方法に関する。
【背景技術】
【0002】
従来から、手足等を機械的に動かすことによって楽器を演奏するロボットが知られている(例えば、特許文献1参照)。特許文献1に記載の楽器演奏ロボットは、音階の時系列データ(音階データ)、各音階の音を発音させるためのロボット動作指令値(アクチュエータ制御量、腕位置等)を記憶しており、指揮にあわせて楽器の演奏を行うことができる。テンポ、ボリュームについては、音階データを用いたり、指揮の動きに合わせて変化させることが可能である。
【0003】
このような従来の楽器演奏ロボットでは、周囲温度の差異、楽器の器差により、音階の各音を発音させるためのロボット動作指令値どおりに動作しても、発音される音の音高が狙いの音高からずれる可能性がある。従来の楽器演奏ロボットでは、その音高のずれを簡単にその場で修正する機能が考慮されていなかった。
【0004】
例えば、木管楽器では、楽器内の空気を共鳴させることで音を出し、周波数を変化させて音を変化させている。周波数f(Hz)は音速V(m/s)と波長λ(m)で決まり、音速Vは温度tの関数として以下の式(1)で表される。
V=331.5+0.6t ・・・(1)
【0005】
このとき、チューニングに用いられる音の周波数fをt=20℃、21℃でそれぞれ算出すると、約1.36Hzのずれが発生する。これは、音によっては、人の耳で聞いても、音高のずれが判別できるレベルである。
【0006】
楽器演奏ロボットの動作時の周囲温度が、ロボット動作指令値を作成したときの周囲温度と同じ温度であれば、音高のずれは発生しないが、必ずしもこれらが一致するとは限らない。このため、動作時の周囲温度とロボット動作指令値を作成したときの周囲温度とが一致しない場合、音高のずれの補正が必要となる場合がある。また、手動でこの音高のずれを補正しようとすると、莫大な時間がかかる。
【0007】
また、従来は音階データを事前に作成し、楽器演奏ロボットに記憶させる必要がある。このため、記憶された音階データの曲しか演奏できず、即興的な演奏を行うことができなかった。また、従来音階データとして、MIDI形式のデータを使用している。このMIDIデータを作成するには、音楽の収録、WAVEファイル化、WAVEファイルからMIDIファイルデータへの変換・編集という人手による加工処理が必要であり、ロボット自身にこのような機能は付与されていない。
【0008】
【特許文献1】特開2004−354613号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
このように、従来の楽器演奏ロボットでは、動作時の周囲温度が、ロボット動作指令値を作成したときの周囲温度と一致せず、音高のずれが発生するという問題があった。また、従来の楽器演奏ロボットでは、記憶された音階データの曲しか演奏できず、即興的な演奏を行うことができなかった。
【0010】
本発明は、このような事情を背景としてなされたものであり、本発明の目的は、周囲温度の差異、楽器の器差の影響等により発生する音高のずれを修正することができる楽器演奏ロボット及び楽器自動演奏方法を提供することである。また、即興演奏を行うことが可能な楽器演奏ロボット及び楽器自動演奏方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1の態様に係る楽器演奏ロボットは、演奏動作を行い楽器の演奏を行う楽器演奏ロボットであって、前記演奏動作により演奏した前記楽器の演奏音を入力するための音情報入力部と、前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別する判別部と、前記判別部で判別された音高のずれに基づいて、前記演奏動作を修正する修正部とを備えるものである。これにより、周囲温度の差異、楽器の器差の影響等により発生する音高のずれを自動修正することが可能となる。
【0012】
本発明の第2の態様に係る楽器演奏ロボットは、音情報入力部と、外部から前記音情報入力部に入力された音を解析して、音階データを生成する音階データ生成部と、前記音階データに基づいて、演奏動作をするためのロボット動作指令値を生成する動作指令値生成部とを備えるものである。これにより、楽器演奏ロボットに音楽を聞かせ、即興演奏を行うことが可能となる。
【0013】
本発明の第3の態様に係る楽器演奏ロボットは、上記に記載の楽器演奏ロボットにおいて、前記音情報入力部は、前記演奏動作により演奏した前記楽器の演奏音を入力し、前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別する判別部と、前記判別部で判別された音高のずれに基づいて、前記演奏動作を修正する修正部とをさらに備えるものである。これにより、即興演奏を行うことができ、さらに、音高のずれを自動修正することが可能となる。
【0014】
本発明の第4の態様に係る楽器演奏ロボットは、上記に記載の楽器演奏ロボットにおいて、前記楽器の各音階の音の基準音高を記憶する記憶部を備え、各音階の音ごとに、前記演奏動作の修正を行うことを特徴とするものである。これにより、各音階の音の音高をそれぞれ調整することが可能となる。
【0015】
本発明の第5の態様に係る楽器自動演奏方法は、演奏動作を行い楽器の演奏を行う楽器演奏ロボットの楽器自動演奏方法であって、前記演奏動作により演奏した前記楽器の演奏音を入力し、前記演奏音の音高と基準音高とを比較して、音高のずれを判別し、前記音高のずれに基づいて、前記演奏動作を修正する。これにより、周囲温度の差異、楽器の器差の影響等により発生する音高のずれを自動修正することが可能となる。
【0016】
本発明の第6の態様に係る楽器自動演奏方法は、外部から音情報入力部に入力された音を解析して、音階データを生成し、前記音階データに基づいて、演奏動作をするためのロボット動作指令値を生成する。これにより、楽器演奏ロボットに音楽を聞かせ、即興演奏を行うことが可能となる。
【0017】
本発明の第7の態様に係る楽器自動演奏方法は、上記に記載の楽器自動演奏方法であって、前記演奏動作により演奏した前記楽器の演奏音を入力し、前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別し、前記音高のずれに基づいて、前記演奏動作を修正する。これにより、即興演奏を行うことができ、さらに、音高のずれを自動修正することが可能となる。
【0018】
本発明の第8の態様に係る楽器自動演奏方法は、上記に記載の楽器自動演奏方法であって、前記楽器の各音階の音の基準音高を記憶させ、各音階の音ごとに、前記演奏動作の修正を行う。これにより、各音階の音の音高をそれぞれ調整することが可能となる。
【発明の効果】
【0019】
本発明によれば、周囲温度の差異、楽器の器差の影響等により発生する音高のずれを修正することができる楽器演奏ロボット及び楽器自動演奏方法を提供することができる。また、即興演奏を行うことが可能な楽器演奏ロボット及び楽器自動演奏方法を提供することができる。
【発明を実施するための最良の形態】
【0020】
本発明の実施の形態に係る楽器演奏ロボットについて、図1〜4を参照して説明する。図1は、本実施の形態に係る楽器演奏ロボット10の構成を示す図である。図2は、図1に示す楽器演奏ロボット10に搭載される管楽器演奏用アクチュエータ(以下演奏用アクチュエータという)13の構成を説明するための図である。図3は、本実施の形態に係る楽器演奏ロボット10の制御部の構成を示すブロック図である。図4は、CPU内の構成を示すブロック図である。
【0021】
本発明に係る楽器演奏ロボット10は、周囲温度の差異、楽器の器差の影響等により発生する音高の微妙なずれを修正することができる。また、曲を聞かせることにより、即興演奏を行うことが可能である。ここでは、楽器演奏ロボット10が演奏する楽器として、管楽器であるサクソフォンを用いた例について説明する。
【0022】
図1に示すように、本発明に係る楽器演奏ロボット10は、人間型のロボット(ヒューマノイドロボット)である。図1では、楽器演奏ロボット10がサクソフォン20を演奏する様子が概略的に示されている。楽器演奏ロボット10は、人間と略同様の動きを行うために、脚部、腕部、手部、指部などにおいて多数の関節部を備えている。また、楽器演奏ロボット10は、サクソフォン20を把持するための右手11および左手12を備えている。さらに、これらの関節部の動作を指令するための制御部30(図3参照)を有している。
【0023】
楽器演奏ロボット10の口部には、マウスピース21を介して後述する演奏用アクチュエータ13が搭載されている。楽器演奏ロボット10の外部には、演奏用の加圧空気を供給する空気供給部(不図示)と、該空気供給部から楽器演奏ロボット10の内部に搭載された演奏用アクチュエータ13に対して空気を供給するための空気供給管14が接続されている。このように、楽器演奏ロボット10は、サクソフォン20を把持する右手11および左手12の各指部の関節を動作させるとともに、演奏用アクチュエータ13に所定の流量の空気が供給されることにより、サクソフォン20を演奏することができる。
【0024】
サクソフォン20は、その内部に図示しない空気流路を有しており、空気流路の上流端にマウスピース21が接続されている。マウスピース21は、演奏用アクチュエータ13を介して楽器演奏ロボット10の口部に接続されている。また、サクソフォン20は、図示しない複数のピストンからなるピストン群を有しており、これらのピストン群の各ピストンが楽器演奏ロボット10の指部の動作により操作されることで、発生する音を変更することが可能となる。なお、楽器演奏ロボット10の指部を駆動する機構として、電動モータや、電圧が印加されることにより収縮する人工筋肉アクチュエータ等を用いることができる。
【0025】
次に、図1に示す演奏用アクチュエータ13の詳細構成について、図2を用いて説明する。図2は、楽器演奏ロボット10の内部に組み込まれた演奏用アクチュエータ13に対してマウスピース21が接続された様子の内部構造を概略的に示す。図2に示すように、マウスピース21は、空気流入口22を有するマウスピース本体21aと、マウスピース本体21aに対して一端が固定されるとともに、空気流入口22付近に他端が屈曲自由となるように空気の流入方向に伸びるリード21bを備えている。演奏用アクチュエータ13にはリード21bを押圧する弾性部材23が設けられている、弾性部材23は、楽器演奏ロボット10の内部に設けられた制御部30と電気的に接続されている。制御部30からの指令により、リード21bとの接触位置、押圧力等を変化させることにより、サクソフォン20から発生する音の音高等を調整することができる。
【0026】
また、演奏用アクチュエータ13には、楽器演奏ロボット10の外部に設けられた空気供給部(図示せず)から空気供給管14を介してその内部に加圧空気を供給されるケース24を備えている。ケース24と空気供給管14の間には、レギュレータ25、流量調節部26が接続されている。レギュレータ25によって供給された加圧空気の圧力が調圧される。調圧された空気は、配管を介して流量調節部26の内部に流入する。流量調節部26は、楽器演奏ロボット10の内部に設けられた制御部30と電気的に接続されており、制御部30からの指令により、ケース24の内部に供給する空気の流量を調節する。これにより、演奏する音楽に合わせて、演奏に必要な流入する空気の流量を適宜制御することにより、音量をコントロールすることが可能となっている。
【0027】
なお、ケース24の内部には、マウスピース本体21aの空気流入口22の付近において固定されたタンギング部27と、リード21bに対して接触する弾性部材23の位置を変位させる位置変位部28を備えている。これらのタンギング部27、位置変位部28は、制御部30と電気的に接続されており、制御部30からの指令によりその動作が制御される。タンギング部27は、弾性部材がマウスピース本体21aの空気流入口22近傍に接触した状態と、接触しない状態とに切り換える。位置変位部28は、リード21bとの接触位置、押圧力等を変化させる。なお、弾性部材を駆動する機構として人工筋肉を備える人工筋肉アクチュエータを用いてもよく、既知のモータ等の制御可能な既知の駆動機構を用いることも可能である。
【0028】
ここで、制御部30について、図3を参照して詳細に説明する。図3に示すように、制御部30は、音情報入力部31、メモリ32、CPU33を備えている。音情報入力部31は、外部から入力される音の音階や音量を解析し、ピッチ、音量、音の長さ(時間)を計測データとして取り込む。
【0029】
メモリ32には、基準音階−ロボット動作指令値34a、基準音高ピッチデータ34b、音高調整アルゴリズム34c、演奏用音階−ロボット動作指令値34dが記憶される。基準音階−ロボット動作指令値34aは、基準音階のそれぞれの音階の音に対するロボットの動作を指令するものである。すなわち、基準音階−ロボット動作指令値34aは、各音階の音に対応して、空気の流量、弾性部材23とリード21bとの接触位置や押圧力、サクソフォン20を把持した状態で所定のピストンを押下するための腕位置、指位置等の演奏動作を決定する。
【0030】
基準音高ピッチデータ34bは、基準音階のそれぞれの音階の音に対応する音高の基準となる値である。音高調整アルゴリズム34cは、演奏動作を行うことによりサクソフォン20から発せられた演奏音の音高と、基準音高ピッチデータ34bに記憶されている基準音高とのずれを修正するためのものである。演奏用音階−ロボット動作指令値34dは、実際に楽器演奏ロボット10に演奏させるためのデータである。すなわち、演奏用音階−ロボット動作指令値34aは、音高のずれに基づいて修正された各部の演奏動作を決定する。つまり、空気の流量、弾性部材23とリード21bとの接触位置や押圧力等は、音高のずれに応じて書き換え可能となっている。
【0031】
次に、CPU33の構成について説明する。図4に示すように、CPU33は、音高ずれ判別部33a、ロボット動作指令値修正部33b、動作指示部33c、音階データ作成部33dを備えている。音高ずれ判別部33aは、音情報入力部31から入力された演奏動作によって発せられた演奏音の音高の計測データと、当該音に対応する基準音高ピッチデータ34bとを比較する。ロボット動作指令値修正部33bは、計測データの音高と基準音高とのずれに応じて、音高調整アルゴリズム34cによるロボット動作指令値の修正を行う。これに応じて、演奏用音階−ロボット動作指令値34dは書き換えられる。
【0032】
動作指示部33cは、修正された演奏用音階−ロボット動作指令値34dに応じて、弾性部材23や腕部、指部を駆動するための制御信号を各アクチュエータ35a、35b・・・に供給する。このように、演奏動作により演奏した楽器の演奏音の音高と、基準音高ピッチデータ34bの基準音高とのずれに応じて、演奏動作を修正することができるため、周囲温度の差異、楽器の器差の影響等により発生する音高の微妙なずれを自動修正することが可能となる。なお、各音階の音ごとに、演奏動作の修正を行うことが好ましい。これにより、各音階の音の音高をそれぞれ調整することが可能となる。
【0033】
音階データ作成部33dは、音情報入力部31の計測データに基づいて、音階データを作成し、楽器演奏ロボット10の演奏動作を生成することができる。従って、楽器演奏ロボット10に、音楽を聞かせるだけで、楽器演奏ロボット10に即興で聞かせた曲と同じ曲を演奏させることができる。
【0034】
ここで、図5を参照して、本発明に係る楽器自動演奏方法について説明する。図5は、本実施の形態に係る楽器自動演奏方法を説明するためのフロー図である。上述したように、本発明に係る楽器演奏ロボット10は、(1)曲を聞かせることにより、即興演奏を行うことが可能であり、また、(2)音高の微妙なずれを修正することができる。従って、まず、図5(1)に示す、即興演奏を行う方法について説明する。
【0035】
図5(1)に示すように、まず、楽器演奏ロボット10に音楽を聞かせる(ステップS1)。音情報入力部31は、外部から入力される音楽の音解析を行う(ステップS2)。具体的には、音情報入力部31は、楽器演奏ロボット10に聞かせた音楽中の各音のピッチ、音量、音の長さ(時間)を計測データとして取り込む。
【0036】
そして、音情報入力部31で解析された計測データに基づいて、音階データ作成部33dで音階データを作成する(ステップS3)。音階データは、ピッチ、音量、音の長さを含むデータである。その後、音階データに応じて、基準音階−ロボット動作指令値34aを用いて、ロボット動作指令値を生成する(ステップS4)。生成したロボット動作指令値を演奏用音階−ロボット動作指令値34dとして、メモリ32に記憶させる。楽器演奏ロボット10は、この演奏用音階−ロボット動作指令値34dをメモリ32から読み出すことにより、演奏を行うことができる。
【0037】
なお、演奏曲を楽器演奏ロボット10に聞かせて、演奏用音階−ロボット動作指令値34dを生成した場合、周囲環境、器差等による各音階の音の音高のずれは考慮されていない。このため、音高のずれの修正が必要となる場合がある。音高のずれを修正する場合、図5(2)に示すようにステップにより音高のずれを修正することができる。まず、図5(1)において生成された演奏用音階−ロボット動作指令値34dにより、楽器演奏ロボット10に演奏動作を行わせ動作確認をする(ステップS5)。このとき、同時に、演奏動作により演奏したサクソフォン20の演奏音を音情報入力部31により収録する。
【0038】
そして、音情報入力部31により収録された演奏音の音高の計測データと、基準音高ピッチデータ34bとを比較し、音高のずれが許容範囲内か否かを判定する(ステップS6)。音高ずれが許容範囲外と判断した場合(ステップS6NO)、音高調整アルゴリズム34cを用いて、ロボット動作指令値の修正を行う(ステップS7)。例えば、リード21bと弾性部材23との接触位置等を変化させるように、ロボット動作指令値を修正する。これにより、音高のずれを自動修正することが可能となる。
【0039】
そして、修正したロボット動作指令値を、新たな演奏用音階−ロボット動作指令値34dとしてメモリ32に記憶させ、この修正された演奏用音階−ロボット動作指令値34dを用いて、再度楽器演奏ロボット10に演奏動作を行わせて動作確認を行う(ステップS5に戻る)。音情報入力部31により収録された計測データと、基準音高ピッチデータ34bとを比較し、音高にずれが許容範囲内なるまでステップS5、S6、S7を繰り返す。ステップS6において、音高ずれが許容範囲内であると判断した場合(ステップS6YES)、当該ロボット動作指令値で、楽器演奏ロボット10の演奏動作が確定する(ステップS8)。
【0040】
このように、本発明によれば、演奏動作により演奏した楽器の演奏音の音高と、基準音高ピッチデータ34bの基準音高とのずれに応じて、演奏動作を修正することができるため、周囲温度の差異、楽器の器差の影響等により発生する音高の微妙なずれを自動修正することが可能となる。
【0041】
なお、楽器演奏ロボット10に音楽を聞かせる前に、音高ずれをなくすよう、演奏用音階−ロボット動作指令値34dを修正してもよい。すなわち、まず、基準音階−ロボット動作指令値34aに応じて、楽器演奏ロボット10音階をひととおり演奏させて、音情報入力部31で収録する。そして、基準音高ピッチデータ34bと計測データとを比較し、音高ずれが許容範囲外と判明した場合、音高調整アルゴリズム34cに従い、ロボット動作を修正して、新たな演奏用音階−ロボット動作指令値34dとしてメモリ32に記憶させる。修正後、楽器演奏ロボット10の動作確認を行い、基準音高とのズレを再度確認し、以下、基準音高データとの計測データとのズレが許容範囲内になるまで修正を行う。この修正した演奏用音階−ロボット動作指令値34dを用いて、楽器演奏ロボット10に音階データに応じた演奏を行うことができる。
【0042】
なお、本実施の形態においては、楽器の一例として、管楽器であるサクソフォンについて説明したが、これに限定されるものではない。楽器として、例えば、バイオリン等の弦楽器、シロフォン等の打楽器、その他様々な楽器に適用可能である。弦楽器の場合には弦の押下位置(指位置)等、打楽器の場合には、打位置(腕位置)等を変化させることにより、音高を変化させることが可能である。
【図面の簡単な説明】
【0043】
【図1】実施形態に係る楽器演奏ロボットの構成を示す図である。
【図2】図1に示す楽器演奏ロボットに搭載される管楽器演奏用マニピュレータの構成を示す図である。
【図3】図1に示す楽器演奏ロボットに搭載された制御部の構成を示すブロック図である。
【図4】図2に示すCPUの構成を示すブロック図である。
【図5】実施の形態に係る楽器自動演奏方法を説明するためのフロー図である。
【符号の説明】
【0044】
10 楽器演奏ロボット
11 右手
12 左手
13 演奏用アクチュエータ
14 空気供給管
20 サクソフォン
21 マウスピース
21a マウスピース本体
21b リード
22 空気流入口
23 弾性部材
24 ケース
30 制御部
31 音情報入力部
32 メモリ
33 CPU
33a 音高ずれ判別部
33b ロボット動作指令値修正部
33c 動作指示部
33d 音階データ作成部
34a 基準音階−ロボット動作指令値
34b 基準音高ピッチデータ
34c 音高調整アルゴリズム
34d 演奏用音階−ロボット動作指令値
35a、35b、・・・ アクチュエータ

【特許請求の範囲】
【請求項1】
演奏動作を行い楽器の演奏を行う楽器演奏ロボットであって、
前記演奏動作により演奏した前記楽器の演奏音を入力するための音情報入力部と、
前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別する判別部と、
前記判別部で判別された音高のずれに基づいて、前記演奏動作を修正する修正部とを備える楽器演奏ロボット。
【請求項2】
音情報入力部と、
外部から前記音情報入力部に入力された音を解析して、音階データを生成する音階データ生成部と、
前記音階データに基づいて、演奏動作をするためのロボット動作指令値を生成する動作指令値生成部と、
を備える楽器演奏ロボット。
【請求項3】
前記音情報入力部は、前記演奏動作により演奏した前記楽器の演奏音を入力し、
前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別する判別部と、
前記判別部で判別された音高のずれに基づいて、前記演奏動作を修正する修正部とをさらに備える請求項1に記載の楽器演奏ロボット。
【請求項4】
前記楽器の各音階の音の基準音高を記憶する記憶部を備え、
各音階の音ごとに、前記演奏動作の修正を行うことを特徴とする請求項1又は3に記載の楽器演奏ロボット。
【請求項5】
演奏動作を行い楽器の演奏を行う楽器演奏ロボットの楽器自動演奏方法であって、
前記演奏動作により演奏した前記楽器の演奏音を入力し、
前記演奏音の音高と基準音高とを比較して、音高のずれを判別し、
前記音高のずれに基づいて、前記演奏動作を修正する楽器自動演奏方法。
【請求項6】
外部から音情報入力部に入力された音を解析して、音階データを生成し、
前記音階データに基づいて、演奏動作をするためのロボット動作指令値を生成する楽器自動演奏方法。
【請求項7】
前記演奏動作により演奏した前記楽器の演奏音を入力し、
前記音情報入力部に入力された演奏音の音高と基準音高とを比較し、音高のずれを判別し、
前記音高のずれに基づいて、前記演奏動作を修正する請求項5に記載の楽器自動演奏方法。
【請求項8】
前記楽器の各音階の音の基準音高を記憶させ、
各音階の音ごとに、前記演奏動作の修正を行う請求項5又は7に記載の楽器自動演奏方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−198551(P2009−198551A)
【公開日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2008−37127(P2008−37127)
【出願日】平成20年2月19日(2008.2.19)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】