説明

テルミン演奏ロボット

【課題】テルミンの特性モデルを有し、演奏前に特性モデルのキャリブレーションを行うことで、テルミン演奏環境に則した演奏を行うことができる、テルミン演奏ロボットを提供する。
【解決手段】第1のアーム12と第2のアーム11と、テルミンの音高に対応するアーム位置を示す音高モデルを有し、演奏目標の音符と音高モデルとに基づいて音符に対応したアーム位置へ第1のアーム12を移動させてテルミンを演奏するロボット10であって、テルミンの周囲の環境によって変化する音高モデルのパラメータを調整するパラメータ調整部50を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はテルミン演奏ロボットに係り、特にテルミンの特性が周囲の環境によって変化した場合であっても、所望の楽曲の演奏を行うことができるテルミン演奏ロボットに関する。
【背景技術】
【0002】
近年の制御理論、画像処理、音声認識技術の向上により、ロボットは工業用からエンターテインメント用途にも応用が広がっている。例えば、ソニー株式会社のペットロボットAIBOや株式会社タカラトミーのヒューマノイドロボットi-SOBOTなど多くのエンターテインメントロボットが発売されている。エンターテインメントロボットの中でも音楽に関連するロボット(以下、音楽ロボットと呼ぶ。)は、現在音楽がレジャーとして重要な位置を占め今後も成長が期待されることから、今後重要になると期待されている。
【0003】
音楽ロボットの中でも楽器演奏ロボットは、人とロボットとが共に演奏することで、インタラクティブなエンターテインメントを提供できる有望な分野である。
音楽ロボットの表現方法は、(1)歌などの音声、(2)ダンスなどの動作、(3)楽器演奏に分類できる。
【0004】
分類(1)の歌うロボットとして、非特許文献1にはビートを数えるロボット、非特許文献2にはビートに合わせて足踏みをしながら歌う2足歩行ロボットが開示されている。いずれも、ロボットに装着されたマイクから得られた音を入力音に用いている。
分類(2)のダンスロボットとして、非特許文献3には人の全身動作を模倣して踊る2足歩行ロボット、非特許文献4には腕と車輪移動で社交ダンスを行うロボット、非特許文献5には自分で聞いた音に合わせて足踏みするロボットが開示されている。
分類(3)の楽器演奏ロボットには、単独演奏と合奏の報告がある。単独演奏に関して、非特許文献6にはキーボードを演奏する歩行機能のない全身人型ロボットWABOT-2、非特許文献7には両腕と上半身をもつ人型バイオリン演奏ロボット、非特許文献8には人工唇を用いているが人型ではないトロンボーン演奏ロボットが開示されている。非特許文献6のWABOT-2を除くほとんどのロボットがメロディではなく単一の音の演奏を扱っていたが、近年では非特許文献9の人型フルート演奏ロボットWF-4RIVや非特許文献10の人工唇と指のみのサックス演奏ロボットWAS-1が、実際に複雑なメロディの演奏を行っている。これらのロボットはMIDI形式の楽譜や目標音高を入力し、それを忠実に演奏することをタスクとしていた。人との合奏に関して、非特許文献11には交互に演奏する形式の簡単な合奏ロボット、非特許文献12,13には即興的な合奏ロボットが開示されている。
【0005】
テルミンが従来研究で扱われていた楽器と比較して最も異なる点は、楽器とロボットとの物理的接触なしに演奏が可能なことである。したがって、フルートとサックスの演奏に必要な人工唇や、キーボード演奏に必要な精密な指の機構のような特殊なハードウェアを必要としない。このため、テルミンは腕が2本あるという要件を満たす多くのロボットで演奏可能である。従って、テルミン演奏システムは既存の多くのロボットに実装出来るという点で高い移植性を持つことが期待できる。
【0006】
テルミンを演奏する際の困難な点は、以下の2点である。
(A1)ピアノの鍵盤やギターのフレットのような、演奏時の基準となる物理的な基準点が存在しないこと。
(A2)テルミンの音高、音量と両腕の位置の関係(以降、音高特性、音量特性と呼ぶ。)が気温や人の数といった周囲の環境(以降、環境キャパシタンスと呼ぶ。)に応じて敏感に変化すること。言い換えれば、適応的な制御が要求されることである。なぜなら、音高特性、音量特性は環境キャパシタンスによって変化するので、仮に事前に十分な準備ができたとしても、その環境は刻々と変化してしまうからである。環境に関する情報が事前に分かる場合は作り込み可能ではあるものの、様々な環境で実演するためには少数の測定で未知環境に適応できる演奏法が不可欠である。
【0007】
特に合奏の場合には、他の演奏者が環境キャパシタンスに影響を与えるので、適応的な演奏法が合奏の鍵になる。
通常、合奏では相手が近くにいるので、テルミン演奏ロボットはそのような状況でメロディを演奏することが必要である。これを実現するための要求条件は次の2点である。
テルミン演奏ロボットの要求条件:
(1) 素早い腕の制御
(2) 異なる環境キャパシタンスへの適応
項目(1)はメロディ演奏で要求される。テルミンは連続的に音が変化するので、素早く目標位置へ腕を移動させて移動先で静止しなければ、聴衆はロボットが演奏している音列を認識できない。項目(2)は、他の演奏者が近くにいる合奏で要求される。
【0008】
これらの要求条件に鑑みて、従来、音高の定量的な制御を行うことが研究されている。音高制御へのアプローチには大きく分けて、非特許文献14などに示すフィードバック制御と非特許文献15などに示すフィードフォワード制御の2種類がある。
【0009】
フィードバック制御は、演奏時にテルミンの音を聞いて腕位置を調整するので正確な音高制御が可能である。しかし、フィードバック制御は次の2つの理由で先の要求条件(1),(2)を満たさない。
第1に、目標音高に到達するまでの時間が長いので、曲によっては1秒未満で次々と目標値が変化するメロディを演奏できない。
第2に、フィードバック制御を実現するには徐々に音高を変化させなければならないが、それでは演奏しているメロディを聴衆が認識できない。
【0010】
それに対してフィードフォワード制御は、素早い腕の制御が可能なので要求条件(1)を満たすが、腕の目標位置の予測に用いるモデルのロバスト性(要求条件(2))への対応が不可欠である。なぜなら、フィードフォワード制御を行うには適切な目標位置を実際の音を聞かずに予測する必要があるが、変化する環境キャパシタンスをモデルに組み込まなければ予測がずれていくからである。
【0011】
非特許文献15には、ルックアップテーブルに基づくフィードフォワード制御手法が提案されている。この手法は、事前に演奏するすべての音名(C3、D4など)に対して適切な間接角度を出力するテーブルを作成しておき、演奏時はテーブルに基づいて腕を制御する。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Mizumoto, T., Takeda, R., Yoshii, K., Komatani, K., Ogata, T. and Okuno, H.G.: A Robot Listens to Music and Counts Its Beats Aloud by Separating Music from Counting Voice, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp. 1538-1543 (2008).
【非特許文献2】Murata, K., Nakadai, K., Yoshii, K., Takeda, R., Torii, T. and Okuno, H.G.: A Robot Uses Its Own Microphone to Synchronize Its Steps to Musical Beats While Scatting and Singing, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp. 2459-2464 (2008).
【非特許文献3】Nakaoka, S., Nakazawa, A., Kanehiro, F., Kaneko, K., Morisawa, M. and Ikeuchi, K.: Task model of Lower Body Motion for a Biped Humanoid Robot to Imitate Human Dances, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp.2769-2774 (2005).
【非特許文献4】Kosuge, K., Hayashi, T., Hirata, Y. and Tobiyama, R.: Dance partner root - Ms Dance R, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp. 3459-3464 (2003).
【非特許文献5】Yoshii, K., Nakadai, K., Torii, T., Hasegawa, Y., Tsujino, H., Komatani, K., Ogata, T. and Okuno, H.G.: A Biped Robot that Keeps Steps in Time with Musical Beats while Listening to Music with Its Own Ears., Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp.1743-1750 (2007).
【非特許文献6】Sugano, S. and Kato, I.: WABOT-2: Autonomous robot with dexterous finger-arm - Fingerarm coordination control in keyboard performance -, Proc. of IEEE Intl. Conf. on Robotics and Automation (ICRA), pp.90-97 (1987).
【非特許文献7】Shibuya, K., Matsuda, S. and Takahara, A.: Toward Developing a Violin Playing Robot - Bowing by Anthropomorphic Robot Arm and Sound Analysis -, Proc. of IEEE Intl. Symp. on Robots and Human Interactive Communication (RO-MAN), pp.763-768 (2007).
【非特許文献8】Kaneko, Y., Mizutani, K. and K.Nagai: Pitch controller for automatic trombone blower, Proc. of Intl. Symp. on Musical Acoustics (ISMA), pp.5-8 (2004).
【非特許文献9】Solis, J., Bergamasco, M., Chiba, K., Isoda, S. and Takanishi, A.: The Anthropomorphic Flutist Robot WF-4 Teaching Flute Playing to Beginner Students, Proc. of IEEE Intl. Conf. on Robotics and Automation (ICRA), pp.146-151 (2004).
【非特許文献10】Solis, J., Petersen, K., Ninomiya, T., Takeuchi, M. and Takanishi, A.: Development of Anthropomorphic Musical Performance Robots: From Understanding the Nature of Music Performance to Its Application to Entertainment Robotics, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp.2309-2314 (2009).
【非特許文献11】Petersen, K., Solis, J. and Takanishi, A.: Development of a Aural Real-Time Rhythmical and Harmonic Tracking to Enable the Musical Interaction with the Waseda Flutist Robot, Proc. of IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pp.2303-2308 (2009).
【非特許文献12】Weinberg, G. and S. Driscoll: The Interactive Robotic Percussionist - New Developments in Form, Mechanics, Perception and Interaction Design, Proc. of ACM/IEEE Intl. Conf. on Human-Robot Interaction (HRI), pp.456-461 (2007).
【非特許文献13】Weinberg, G., Raman, A. and Mallikarjuna, T.: Interactive Jamming with Simon: A Social Robotic Musician, Proc. of ACM/IEEE Intl. Conf. on Human-Robot Interaction (HRI), pp. 233-234 (2009).
【非特許文献14】Frank van der Hulst: Robotic Theremin Player, Proc. of National Advisory Committee on Computing Qualifications, p.534 (2004).
【非特許文献15】Alford, A., Northrup, S., Kawamura, K., w. Chan, K. and Barile, J.: A Music Playing Robot, Proc. of Intl. Conf. on Field and Service Robotics (FSR), pp.29-31 (1999).
【非特許文献16】Marquardt, D.: An algorithm for least-squares estimation of nonlinear parameters, SIAM Journal on Applied Mathematics, Vol.11, No.2, pp.431-441 (1963).
【非特許文献17】Madsen, K., Nielsen, H.B. and Tingleff, O.: Methods for Non-Linear Least Squares Problems (2nd ed.), Informatics and Mathematical Modeling, TechnicalUniversity of Denmark, DTU (2004).
【非特許文献18】Skeldon, K. D., Reid, L. M., McInally, V., Dougan, B. and Fulton, C.: Physics of the Theremin, American Journal of Physics, Vol.66, No.11, pp.945-955 (1998).
【非特許文献19】Camacho, A.: SWIPE: A sawtooth waveform inspired pitch estimator for speech and music, PhD Thesis, University of Florida (2007).
【非特許文献20】Toussaint, M., Gienger, M. and Goerick, C.: Optimization of sequential attractor-based movement for compact behaviour generation, Proc. of IEEE/RAS Intl. Conf. on Humanoid Robots (Humanoids) (2007).
【非特許文献21】Saitou, T., Unoki, M. and Akagi, M.: Development of an F0 control model based on F0 dynamic characteristics for singing-voice synthesis, Speech Comm., Vol.46, pp.405-417 (2005).
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、非特許文献15の手法は、テーブルの作成時に演奏する音名ごとに適切な間接角度を試行錯誤しながら発見する必要があるので時間がかかる。このため、環境キャパシタンスが変動するたびに、時間のかかるテーブルの再構築が必要である。
【0014】
本発明は以上の点に鑑みて創作されたもので、テルミンの特性モデルを有し、演奏前に特性モデルのキャリブレーションを行うことで、テルミンの演奏環境に則した演奏を行うことができる、テルミン演奏ロボットを提供することを目的とする。
【課題を解決するための手段】
【0015】
上記目的を達成するため、本発明の第1の構成は、第1のアームと第2のアームと、テルミンの音高に対応するアーム位置を示す音高モデルを有し、演奏目標の音符と音高モデルとに基づいて音符に対応したアーム位置へ第1のアームを移動させてテルミンを演奏するロボットであって、テルミンの周囲の環境によって変化する音高モデルのパラメータを調整するパラメータ調整部を備えていることを特徴としている。
【0016】
本発明のテルミン演奏ロボットにおいて、第2のアームが音量制御用であり、テルミンの音量に対応するアーム位置を示す音量モデルを有し、パラメータ調整部は、テルミンの周囲の環境によって変化する音量モデルのパラメータを調整する。
【0017】
上記目的を達成するため、本発明の第2の構成は、テルミンの音量に対応するアーム位置を示す音量モデルを有し、テルミンに設定されている音量と音量モデルとに基づいてアームを所定の位置へ移動させてテルミンを演奏するロボットであって、テルミンの周囲の環境によって変化する音量モデルのパラメータを調整するパラメータ調整部を備えていることを特徴としている。
【0018】
本発明のテルミン演奏ロボットにおいて、好ましくは、アームを移動させた後、音符の継続時間中にフィードバック制御してアームの位置を調整する。
【発明の効果】
【0019】
本発明によれば、テルミンの音高アンテナに対するアームの位置が調整されることで、ロボット周囲の環境、つまり演奏場所の電磁界によって影響を受けるテルミンの状態に拘わらず、所望の音名に相応したピッチの音がテルミンから奏でられるように演奏することができる。
【0020】
音高制御の手法は、非特許文献15のようにテルミンの音高を検索すべき対象とせず、パラメータ推定のための学習データとして扱う。従って、学習データに用いていない音高も、適切に補完することができる。これによって、少数のデータを学習データとしても任意の音高が出力可能になる。
【0021】
また、音量アンテナに対するアームの位置を調整することで、ロボット周囲の環境など、つまり演奏場所の電磁界によって影響を受けるテルミンの状態に拘わらず、音名に対応したピッチと所望のボリュームとでテルミンを演奏することができる。特に、音高を制御するアームによる音量の変化を加味して、音量用のアームの位置を調整する。
【0022】
音高モデル及び音量モデルはテルミンの特性のみをモデル化しており、ロボットの物理的な制約を含んでいない。従って、音高制御及び音量制御はロボットのハードウェアへ依存する部分と独立な部分に分離できるので、他のロボットに実装したい場合は、そのロボットに依存する部分のみを入れ替えるだけでよい。
【図面の簡単な説明】
【0023】
【図1】テルミンの概略図である。
【図2】本発明の第1実施形態に係るテルミン演奏ロボットの概略斜視図である。
【図3】本発明の第1実施形態に係るテルミン演奏ロボットの構成を示すブロック図である。
【図4】本発明の第1実施形態に係るパラメータ調整部の構成を示すブロック図である。
【図5】本発明の第1実施形態に係るテルミン演奏ロボットのキャリブレーションフェーズのフローチャートである。
【図6】本発明の第1実施形態に係るテルミン演奏ロボット演奏フェーズのフローチャートである。
【図7】音量モデルの概念図である。
【図8】本発明の第2実施形態に係るテルミン演奏ロボットのキャリブレーションフェーズのフローチャートである。
【図9】本発明の第1実施形態に係るテルミン演奏ロボットの概略斜視図である。
【図10】実験における計測環境を説明するための図である。
【図11】測定したテルミンの音高特性を示す図である。
【図12】測定したテルミンの音量特性を示す図である。
【図13】実験1の結果を示すグラフである。
【図14】実験2の結果を示すグラフである。
【図15】実験3の結果を示すグラフである。
【図16】実験4で使用した楽譜を示す図である。
【図17】実験4の結果を示すグラフである。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態について、下記の項目内容を順次に、必要箇所では図面を参照しつつ詳細に説明する。
A.テルミン動作原理
B.第1実施形態の概要
C.テルミン演奏ロボットの構成
D.テルミン演奏ロボットの動作
D−1.キャリブレーションフェーズの動作
D−2.演奏フェーズの動作
E.第2実施形態
F.第2実施形態の動作
F−1.キャリブレーションフェーズの動作
F−2.演奏フェーズの動作
G.モデルの比較例
H.音高モデルと音量モデルの評価実験
I: その他
【0025】
A.テルミン動作原理
図1のテルミン概略図に示すとおり、テルミン1は主に音高制御と音量制御の2種類の回路2,3から構成されている。どちらの回路2,3も、2つの発振回路4,5をもち、各回路のうち1つのコンデンサ6,7がアンテナ(以下、音高アンテナ6、音量アンテナ7と呼ぶ場合がある。)として外に出ている。テルミン1の音高、音量は各発振回路4,5の発振周波数の違いによって生じるうなりを用いて制御されているので、演奏者の手の位置を変化させることで音高、音量を制御できる。うなりとは、2つの発振回路4,5の出力を乗算したときに生じる波で、それぞれの発振周波数をf1,f2とすると、f1−f2とf1+f2の周波数成分をもつ。音高制御回路2は、Low Pass Filter (LPF)を用いてうなりのf1−f2の周波数成分のみを取り出し、それを出力する。ここで、取り出された周波数がテルミンの出力音の音高となる。一方、音量制御回路3は、同様にLPFを用いて周波数成分を取り出し、それを積分して、音高を出力する直前の増幅器の制御入力とする。
【0026】
テルミン1の演奏において、(1)音高アンテナ6と演奏者の右手のそれぞれを導体、両者の間の空間を不導体とみなしたときの仮想的なコンデンサと、(2)音量アンテナ7と演奏者の左手のそれぞれを導体、両者の間の空間を不導体とみなしたときの仮想的なコンデンサの、それぞれの静電容量(環境キャパシタンス)がテルミン1の出力音の(α1)音高と(α2)音量を決定する。従って、手の位置を動かしてコンデンサの導体間距離を変化させると環境キャパシタンスは変化し、結果として発振回路4の発振周波数が変化する。
【0027】
テルミン1の音高と音量とを決定する環境キャパシタンスは時間によって様々に変化していくので、事前に求めておくことは困難である。これは、手とアンテナ間の空気がコンデンサを構成する不導体の部分になるので、テルミン1の周囲の変化、例えば気温や周囲の人の位置や人数が静電容量に影響を与えるからである。従って、環境キャパシタンスが常に一定であると仮定するのは現実的ではない。本実施形態では、音量特性と音高特性をパラメトリックにモデル化するので、定期的にパラメータを再推定することで本問題を解決する。
以下、音高特性の調整を行う第1実施形態と、さらに音量特性をも調整する第2実施形態を順に説明する。
【0028】
B.第1実施形態の概要
本発明の第1実施形態に係るテルミン演奏ロボット(以下、単にロボットと呼ぶ場合がある。)10は、図2に示すように、左右のアーム11,12を備えており、第1のアームとしての右アーム(以下、音高腕と呼ぶ場合がある。)12の先端をテルミン1の音高アンテナ6に対して位置を変えることで演奏を行う。具体的には、右アーム12の位置を音高アンテナ6に対して変えることで、テルミン1から発せられる音の高さ、所謂ピッチが変わる。
【0029】
特に、環境キャパシタンスの影響でテルミン1の音高アンテナ6の静電容量が変化し、当該アンテナ6と音高腕12の距離が等しくてもピッチが変わる。このため、本実施形態のテルミン演奏ロボット10は、演奏目標の音符に対応したピッチがテルミン1から奏でられるように、音高アンテナ6に対する右アーム12の位置を環境キャパシタンスに応じて調整し、演奏を行う。
【0030】
このため、本実施形態のテルミン演奏ロボット10は、環境キャパシタンスに応じて、右アーム12の各先端位置で音がどのような高さになるかの音高特性を表すモデルを備えている。以下、このモデルを音高モデルと呼ぶ。
音高モデルは、音高特性を音高腕12の位置と環境キャパシタンスとの非線形関数として次式のように定式化される。
【数1】


但し、Mp(xp;θ)は音高モデル、xpは音高腕12の位置、θ=(θ0123)はモデルパラメータ、pは音高モデルによって推定される音高[Hz]を表す。第1項がパラメータθに対応する環境キャパシタンスにおける音高の増加の速さを表し、第2項は音高腕がアンテナ6から十分に遠いときの音高を示す。
【0031】
テルミン演奏ロボット10がテルミン1を演奏する際には、上記の音高モデルを利用するのではなく、その逆モデルを利用する。つまり、演奏段階では、その環境に応じて特定されるパラメータがθ0123が後述するキャリブレーションによって決定され、音符の演奏音として目標とするピッチが奏でられるように、上記式の逆モデルから右アーム12の位置であるxpを求める。逆モデルは次式のように表される。
【数2】

言い換えれば、この式は音高を音高腕12の目標位置xpに変換する式である。この式に示す逆関数を計算することで、腕位置xpを解析的に求めることができる。
【0032】
テルミン演奏ロボット10は、使用環境に適した逆モデルを利用するように、モデルパラメータθ0123のキャリブレーションを行う。音高モデルのキャリブレーションを行った上で、テルミン演奏ロボット10は、所望の演奏を行う。
【0033】
このように、本テルミン演奏ロボット10は、音高モデルのパラメータθ0123を決定するキャリブレーションフェーズと、パラメータθ0123に基づいて演奏を行う演奏フェーズとの2つのモードで動作する。
【0034】
C.テルミン演奏ロボットの構成
図3は、本実施形態に係るテルミン演奏ロボット10の構成を示すブロック図である。テルミン演奏ロボットは、左右のアーム11,12と、駆動部20と、制御部30と、記憶部40と、パラメータ調整部50と、音声取得部60と、を備えている。
【0035】
本実施形態で、アーム11,12の自由度は1に設定されており、図2に示すようにボディ上部の両端部に回転可能に取り付けられている。具体的には、ロボット前方方向の軸周りの回転をロール軸とすると、右アーム12はロボット10の上下方向のヨー軸周りに回転可能に取り付けられ、水平に回転自在に構成されている。アーム11,12は例えば非絶縁材料で構成されている。
【0036】
駆動部20はアーム11,12を駆動する。駆動部20は、例えばアーム11,12とボディ14とを連結する関節として構成されている。この関節は例えば、ボディ14に対するアームの回転位置を変えるモータを備えている。図示省略するが、このモータの回転を制御するモータドライバや回転角度を検出するロータリーエンコーダーなどの回転検出部が設けられている。
【0037】
制御部30は駆動部20を制御する。制御部30は、例えばボディ14に実装されており、コンピュータなどの電子計算装置から構成されている。制御部30は、音符に従ってテルミン1を演奏するよう、駆動部20を制御する。なお、テルミン演奏ロボット10が、要求された楽譜の演奏、つまり連続した音符に対応したピッチ音がテルミン1から奏でられるように、各音符の順に右アーム12の先端の位置を所望の位置に移動させる。なお、制御部30は、ボディ14に実装されるものに限らず、ケーブルを介して、テルミン演奏ロボット10と分離して設けられる電子計算機などを利用してもよいことは勿論である。
【0038】
このような駆動制御を行うために、制御部30は以下の処理を行う。
制御部30は、入力された楽譜の情報、つまり順に並んでいる各音符を前述の逆モデルの式(2)に基づいて、それぞれ腕位置xpに変換する。
【0039】
制御部30は、得られた目標腕位置xpへ右アーム12を移動、つまりアーム12の先端の所謂手の位置を目標腕位置xpへ移動させる。制御部30は、例えばアーム12を目標腕位置xpへ移動させるのに必要なモータの回転制御量を算出する。この処理を以下、変換処理と呼ぶ。この変換処理の際、回転位置検出部などから求めた現在のモータの回転位置などの情報を参考にする。この回転制御量に基づいて、モータドライバがモータを制御する。このような制御が、音符のそれぞれに対して順に行われる。
【0040】
記憶部40は、制御部30が変換処理を行う際に利用する、環境パラメータの情報と、演奏対象の楽譜の情報と、を備えている。
【0041】
音声取得部60は、テルミン1から出る音を取得する。本実施形態では、音声取得部60として一つのマイクロフォンを利用する。
【0042】
パラメータ調整部50は、テルミン演奏ロボット10が演奏を行う前に、その演奏環境に適した音高モデルを演奏時に利用できるように、音高モデルを構成する環境パラメータθ0123の較正を行う。
このため、パラメータ調整部50は、図4に示すように、サンプル情報作成部51と、パラメータ決定部52と、を備えている。
【0043】
サンプル情報作成部51は、音高腕12が位置xpにあるときの音高をMpとし、それらの位置xpと音高p(=Mp)とを一組としたデータをサンプリング情報として作成する。複数の腕位置それぞれでピッチを取得するために、サンプル情報作成部51は、駆動部20を制御して、音高腕12の位置を変える。
パラメータ決定部52は、サンプル情報作成部51で作成された複数のサンプリング情報から、環境パラメータθ0123を決定する。
【0044】
パラメータ調整部50における、環境パラメータθ0123の較正について説明する。
(N+1)箇所の音高腕位置xp=(xp0,・・・,xpN)に対応したテルミン1の音高がそれぞれp=(p0,・・・, pN)であるとする。所与の音高に対応する関節角を求めるには、式(1)の音高モデルが非線形単調増加関数なので、次式(3)で示す評価関数から環境パラメータを求める。具体的には、評価関数のL2ノルムを最小化するパラメータθを求める。
【数3】

【0045】
最適なパラメータθ*は次式で表せる。
【数4】

【0046】
本実施形態では、最適化問題を例えば非特許文献16等に示されるLevenberg-Marquardt法(以下、LM法と呼ぶ)を用いて解く。LM法は次式に従ってパラメータを更新する。
【数5】


μは、非特許文献17に示されるように、音高モデルによる推定値と学習データとの誤差に基づいて自動的に決定される学習パラメータ、Iは単位行列、Jは次式に示す評価関数のヤコビ行列である。
【数6】

【0047】
ヤコビ行列の各要素は評価関数の偏微分であり、次式で表現される。
【数7】


ここで、θに適当な初期値を与えることで、適切なパラメータが推定できる。パラメータ調整部50は、このようにして得た環境パラメータθ0123を記憶部40に登録する。
【0048】
以上の制御部30とパラメータ調整部50とは例えばコンピュータから構成される。このコンピュータは、前もってインストールされたソフトウェアとしてのプログラムを実行することで、上記の2モード、つまりキャリブレーションフェーズと演奏フェーズとを実現する。具体的には、コンピュータがプログラムを実行することで、コンピュータが前述の制御部30とパラメータ調整部50として機能する。なお、プログラムは、通信回線を介してダウンロードしたものや、CD−ROMやDVD−ROM、携帯型記憶装置などの記憶媒体に記憶されているものを利用する。
【0049】
なお、複数のコンピュータをLANやインターネット、公衆網等を介して相互に接続して、制御部30と、パラメータ調整部50との動作を複数のパーソナルコンピュータによって分散処理させてもよい。コンピュータは、従来公知の構成のものを使用することができ、RAM,ROM,ハードディスクなどの記憶装置と、キーボード,ポインティング・デバイスなどの操作装置と、操作装置等からの指示により記憶装置に格納されたデータやソフトウェアを処理する中央処理装置(CPU)と、処理結果等を表示するディスプレイなどを備えている。このコンピュータは汎用の装置であっても、専用の装置として構成されたものであってもよい。
【0050】
D.テルミン演奏ロボットの動作
以下、キャリブレーションフェーズと演奏フェーズとについて説明する。
D−1.キャリブレーションフェーズの動作
図5に基づいて説明する。ロボット10が演奏を行う前に、その演奏場所の環境に適するよう、環境パラメータの調整を行う。
【0051】
先ず、音高腕12を初期位置に移動させる(ステップS1)。例えば、図2に実線で示すように右アーム12がボディ14の右方向へ伸びた状態での腕先の位置をx0とし、図2に破線で示すように右アーム12がボディ14の前方へ伸びた状態での腕先の位置をxNとし、これらの端点x0,xNとの間をN等分した位置をサンプル取得位置とする。ここで、各腕位置をxi(i=0,・・・,N)とすると、位置番号i=0のx0を初期位置とする。
【0052】
右アーム12を初期位置x0へ移動させて、その腕位置でのテルミン1から発せられる音のピッチを取得し、位置x0と音高との組でなるサンプル情報を、例えば記録部40に記録する。
【0053】
サンプル情報の取得が完了したら、位置番号iをインクリメントし(ステップS2)、その次に腕位置xi+1へ腕を移動させる(ステップS3)。そして、前回と同様に、その腕位置xi+1での音のピッチを取得し、記録部40にサンプリング情報として記録する(ステップS4)。
次に、位置番号iが最大数、つまりNであるか判断し(ステップS5)、該当しなければ(ステップS5でNoと判断された場合)、位置番号iのインクリメントと更新位置でのピッチ取得とを位置番号iが最大数に該当するまで、つまりステップS5でYesと判断されるまで繰り返す。
【0054】
パラメータ調整部50は、このようにして得た、(N+1)箇所の音高腕位置xp=(xp0,・・・,xpN)に対応したテルミンの音高p=(p0,・・・, pN)と前述の式(2)〜(7)とに基づいて、環境パラメータθ0123を算出する(ステップS6)。
【0055】
D−2.演奏フェーズの動作
図6に基づいて説明する。
先ず、制御部30は記憶部40から楽譜の情報を読み出す(ステップS11)。ここで、楽譜上順番に並んでいる複数の音符の番号をci(i=0,・・・,N)とすると、制御部30は音符番号の順に以下の処理を行う。
【0056】
制御部30は、音符番号c0の音符に対応したピッチとなるように音高制御を行う(ステップS12)。音高制御の目標は、目標音高列を出力する音高腕12の位置を求めることである。目標音高列は、与えられた楽譜の音名を平均律に基づいて音高に変換することで得る。ある音名n(C=0,C#=1,・・・,B♭=10,B=11)と、オクターブo(oは整数)が与えられたとき、平均律に基づいて対応する音高pは次式で表される。
【数8】

【0057】
次に、制御部30は、上記式(8)より求めた音高pと、キャリブレーションフェーズで調整した環境パラメータθ0123とを、前述の逆モデルの式(2)に代入して、目標とする腕位置XRを求める。
【0058】
制御部30は、位置XRへ音高腕12を移動させるように、駆動部20を制御する(ステップS13)。このようして、音高腕12が位置XRに移動することで、テルミン1から楽譜の音名に対応した所望の音が所望の高さで奏でられる。
【0059】
なお、本実施形態では、各音符の演奏時間は予め一定時間に設定されている。そして、制御部30は、各音符の演奏時間が終了したかを判断し、終了したと判断した場合に次の音符演奏処理に移る。
各音符の演奏時間中、制御部30は、テルミン1から実際に発せられる音の高さを元に、音高が目標値に維持されるように、PID制御に基づいて、右アーム12の位置XRを調整する。このようなPID制御に際し、制御部30は、音声取得部60からテルミン1の演奏音を取得する。
【0060】
次に、音符番号iが最大数、つまりNであるか判断し(ステップS14)、該当しなければ(ステップS14でNoと判断された場合)、音符番号iのインクリメント(ステップS15)とその音符に対応する音高制御を該当するまで、つまりステップS14でYesと判断されるまで繰り返す。
【0061】
このように、本実施形態のテルミン演奏ロボット10によれば、テルミン1の音高アンテナ6に対する右アーム12の位置が調整されることで、ロボット周囲の環境、つまり演奏場所の電磁界によって影響を受けるテルミン1の状態に拘わらず、所望の音名に相応したピッチの音がテルミン1から奏でられるように演奏することができる。
【0062】
本実施形態の音高制御の手法は、非特許文献15のようにテルミンの音高を検索すべき対象とせず、パラメータ推定のための学習データとして扱う。従って、学習データに用いていない音高も、適切に補完することができる。これによって、少数のデータを学習データとしても任意の音高が出力可能になる。
【0063】
本実施形態では、キャリブレーション後に環境キャパシタンスは変化しないということを仮定している。ただし、変化がゆるやかであれば定期的にキャリブレーションを行うことで近似的に仮定が成立する。したがって、キャリブレーションは時間を短く抑えて何度も行う必要がある。そのため、本実施形態では、モデル構築で時間のかかる測定点の数を出来るだけ少なく抑えている。
【0064】
E.第2実施形態
テルミン1の音のボリューム(以下、音量と呼ぶ。)は、第2のアームとしての左アーム11(以下、音量腕と呼ぶ場合がある。)の位置を音量アンテナ7(図2参照)に対して変えることで、大きく或いは小さくなる。しかし、この音量は音高制御と独立して制御することができない。音量は音高腕12の影響を受け、当該音高腕12の位置によっても変化する。
第1実施形態のロボット10では音高制御に伴う右アーム12の影響で音量が変化する。
そこで、本第2実施形態に係るロボット10Aは、音高制御に加えて、音量制御を行うことができるように構成されている。
【0065】
このため、本実施形態のテルミン演奏ロボット10Aは、環境キャパシタンスに応じて、左アーム11の各先端位置及び右アーム12の先端位置で音がどのような大きさになるかの音量特性を表すモデルをさらに備えている。以下、このモデルを音量モデルと呼ぶ。
【0066】
この音量モデルは音量腕11の位置と環境キャパシタンスとに加えて、音高腕12の位置も変数に持つ。さらに、音量特性は次の二つの特徴を有する。
(特徴1)音量腕11が音量アンテナ7に十分近い無音領域と、それ以外の有音領域が存在する(図7参照)。
(特徴2)音量特性を音高腕12の位置ごとにみると、それぞれの音量変化の多くは1つか2つのピークを持っている。
【0067】
本実施形態では、音量特性を音高腕12の位置ごとに異なるパラメータを持つ多項式で次式のようにモデル化している。
【数9】


ここで、vは音量モデルによって推定される音量を示し、a(xp)=(an(xp),・・・,a0(xp))は有音領域の多項式モデルの係数を、dは多項式の次元を、b(xp)は無音領域と有音領域との境界となるxvを、vminは無音領域での音量、すなわち背景雑音を表す。
【0068】
音量モデルは、図7の概念図に示すように、音高腕12の位置ごとに異なる3種類のパラメータa(xp)、b(xp)、vminを持つ。従って、式(9)の多項式の次元をdとし、音高腕の可動域をN等分したとすると、合計のパラメータ数は(1+1+d)N個である。なお、多項式の次元dは、低すぎると特性を表現できず、高すぎると過適応や必要な学習データが増えるという問題がある。本実施形態では、予備実験によりd=4を用いている。
【0069】
なお、テルミン演奏ロボット10Aがテルミンを演奏する際には、上記の音量モデルを利用するのではなく、その逆モデルを利用する。つまり、演奏段階では、その環境に応じて特定されるパラメータ、つまり前述のa(xp)、b(xp)、vminが後述のキャリブレーションによって調整されており、目標とする音量が得られるように、上記式(9)の逆モデルから左アーム11の位置であるxvを求める。音量モデルの逆モデルは次式のように表される。
【数10】


この式は音量を音量腕11の目標位置XLに変換する式である。
【0070】
本実施形態のテルミン演奏ロボット10Aは、使用環境に適した音量モデルの逆モデルを利用するように、モデルパラメータa(xp)、b(xp)、vminのキャリブレーションを行う。キャリブレーション処理として、本実施形態では、音量モデルと音高モデルとの各環境パラメータを調整する。
【0071】
このキャリブレーション処理は、パラメータ調整部50が行う。
音高モデルのキャリブレーションについては、第1実施形態で説明したので、ここでは省略する。
パラメータ調整部50のサンプル情報作成部51は、音高腕12を位置xpに固定した状態で、音量腕11を位置xvにあるときの音量をvとし、それらの組を一組としたデータをサンプリング情報として作成する。複数の音量腕11の位置での音量を取得するために、サンプル情報作成部51は、駆動部20を制御して左アーム11の位置を変える。
パラメータ調整部50は、サンプリング部で作成された複数のサンプリング情報から、環境パラメータa(xp)、b(xp)、vminを推定する。
なお、図7に示すように、音高腕12の位置Xpiが変われば、モデルパラメータも変わるので、音高腕12の各位置Xpi毎に、環境パラメータa(xpi)、b(xpi)、vminを推定する。
【0072】
ここで、パラメータ調整部50における、環境パラメータa(xp)、b(xp)、vminの較正について、説明する。
パラメータの内、有音部分の多項式モデルの係数a(xpi)に関しては、音高腕の位置xpiを固定し、前述の音量モデル(式9)に各音量腕の位置xvjとその位置での音量vijとを代入して式を作成し、さらに音量腕の位置xvjを変えて同様の式を作成し、下記のような複数の連立式を用意する。
【数11】


上記連立方程式を解いて、パラメータa(xpi)を求めることができる。
【0073】
次に、第2のパラメータb(xp)は、音量腕の位置xvjが大きいほど、つまりアンテナから遠いほど音量は大きくなる傾向にあるので、音量が閾値Tthを下回るという条件下で腕位置の最大値をb(xpi)とする。つまり、b(xpi)は次式で求まる。
【数12】


パラメータvminは、音量がないときの音量とすればよい。
【0074】
本実施形態の制御部30は、演奏段階で、音量モデルの逆モデルから求まる位置へ、左アーム11を移動させるように制御する。なお、テルミンには、ボリューム調整用のつまみが設けられており、制御部30は、ユーザがつまみを操作して設定した音量で、テルミン1から発せられる音が奏でられるように制御する。
【0075】
F.第2実施形態の動作
以下、キャリブレーションフェーズと演奏フェーズとについて説明する。
F−1.キャリブレーションフェーズの動作
本実施形態のロボット10Aのキャリブレーションフェーズでは、前述の音高モデルの環境パラメータθ0123の調整に加えて、音量モデルのパラメータa(xp)、b(xp)、vminの調整を行う。環境パラメータθ0123の調整については、前述と同様であるので、ここでは省略する。
【0076】
以下、音量モデルのパラメータa(xp)、b(xp)、vminの調整について、図8に基づいて説明する。
この調整は、音高モデルの環境パラメータθ0123の調整と同様に、ロボット10Aが演奏を行う前に、その演奏場所の環境に適するように行う。
先ず、音量腕11を初期位置に移動させる。例えば図9に実線で示すように、左アーム11が上方へ伸びた状態での腕先の位置をxv0とし、図9に破線で示すように左アーム11がボディ14の前方へ伸びた状態での腕先の位置をxvNとし、これらの端点xv0,xvNとの間をN等分した位置をサンプル取得位置とする。ここで、各腕位置をxvj (j=0,・・・,N)とすると、位置番号j=0のxv0を初期位置とする。
【0077】
左アーム11を初期位置xv0へ移動させて、その腕位置でのテルミン1から発せられる音の音量を取得し、位置と音量との組でなるサンプル情報として、例えば記録部40に記録する(ステップS21)。この際、右アーム12は一定の位置に固定させる。
【0078】
サンプル情報の取得が完了したら、位置番号jをインクリメントし(ステップS22)、その次に腕位置xj+1へ腕を移動させる(ステップS23)。この際、右アーム12は移動させない。そして、前回と同様に、その腕位置xj+1での音のボリュームを取得し、記録部40にサンプリング情報として記録する(ステップS24)。
次に、位置番号jが最大数、つまりNであるか判断し(ステップS25)、該当しなければ(ステップS25でNoと判断された場合)、位置番号jのインクリメントとその位置でのボリューム取得とを該当するまで、つまりステップS25でYesと判断されるまで繰り返す。
【0079】
パラメータ調整部50は、このようにして得た、(N+1)箇所の音高腕位置x=(xvi,・・・,xvN)に対応したテルミン1の音高v=(v0,・・・, vN)と前述の式11とに基づいて、環境パラメータa(xp)を算出する。さらに、b(xp)については、前述の式(12)より求め、vminは音量がないときの音量とする。
このような、音量モデルの環境パラメータa(xp)、b(xp)、vminの調整処理は、音高モデルの環境パラメータθ0123の調整処理と並行して、或いはその前後に行われてもよい。
【0080】
F−2.演奏フェーズの動作
図6に基づいて説明する。
先ず、制御部30は記憶部40から楽譜の情報を読み出す(ステップS11)。
ここで、楽譜上順番に並んでいる複数の音符の番号をci(i=0,・・・,N)とすると、制御部30は音符番号の順に以下の処理を行う。
制御部30は、音符番号c0の音符に対応したピッチとなるように音高制御を行う。具体的には、式(8)より求めた音高pと、キャリブレーションフェーズで調整された環境パラメータθ0123とを、前述の音高モデルの逆モデル式(2)に代入して、目標とする右アームの位置XRを求める(ステップS12)。
【0081】
このような音高制御に加えて、本実施形態では、音量制御を行う。制御部30は、テルミン1に設定されているボリュームvと、音高制御で求めた右アームの位置XRと、その右アームの位置に関連してキャリブレーションフェーズで推定された環境パラメータa(xp)、b(xp)、vminとを、前述の音量モデルの逆モデル式(10)に代入して、目標とする左アームの位置XLを求める(ステップS12)。このとき、目標音量がvminよりも小さければ音量腕の位置はb(xp)とする。それより大きければ、多項式an-1xvn-1+・・・+a1xv+a0=vを解いて、音量腕11の位置を推定する。xpが測定位置の間にあれば、両隣の音高腕位置から音量腕位置をそれぞれ求めて線形補完する。
【0082】
制御部30は、右アーム12を位置XRに移動させると共に、左アーム11を位置XLに移動させる(ステップS13)。これにより、テルミン1から音符の音名に対応した音が、設定された大きさで奏でられる。
【0083】
なお、本実施形態では、各音符の演奏時間は予め一定時間に設定されている。そして、制御部30は、各音符の演奏時間が終了したかを判断し、終了したと判断した場合に次の音符演奏処理を開示する。
各音符の演奏時間中、制御部30は、テルミン1から実際に発せられる音の高さと、テルミン1から実際に発せられる音の大きさとを元に、音高及び音量が目標値に維持されるように、PID制御に基づいて、右アーム12の位置XRと左アーム11の位置XLとを調整する。このようなPID制御に際し、制御部30は、音声取得部60からテルミン1の演奏音を取得する。
【0084】
次に、音符番号iが最大数、つまりNであるか判断し(ステップS14)、該当しなければ(ステップS14でNoと判断された場合)、音符番号iのインクリメント(ステップS15)とその音名に対応する音高制御を該当するまで、つまりステップS14でYesと判断されるまで繰り返す。
【0085】
このように、本実施形態のテルミン演奏ロボット10Aによれば、テルミン1の音高アンテナ6に対する右アーム12の位置が調整されると共に、当該右アーム12の影響を受ける音量アンテナ7に対する左アーム11の位置も調整されることで、ロボット周囲の環境など、つまり演奏場所の電磁界によって影響を受けるテルミン1の状態に拘わらず、音名に対応したピッチと所望のボリュームとでテルミン1を演奏することができる。
【0086】
本実施形態の音高モデル及び音量モデルはテルミン1の特性のみをモデル化しており、ロボットの物理的な制約を含んでいない。従って、本実施形態の音高制御及び音量制御はロボットのハードウェアへ依存する部分と独立な部分に分離できるので、他のロボットに実装したい場合は、そのロボットに依存する部分のみを入れ替えるだけでよい。
【0087】
G.モデルの比較例
モデルの比較例について説明する。
本モデルと関連して、非特許文献18にはテルミンの環境キャパシタンスの物理モデルが提案されているので、非特許文献18のモデルと比較して説明する。非特許文献18では環境キャパシタンスを、音高腕位置をxとしたときの静電容量と音高腕位置xが無限遠にあるときの静電容量の和で表現している。また、静電容量が腕とアンテナの距離に対して指数関数的に増加するというモデル化を行っている。静電容量をモデル化するアプローチは汎用的ではあるが、対象としているのが特殊な簡易型のテルミンであり、一般的に流通している市販のテルミンより単純化された問題を扱っている。実際、予備実験の結果より市販のテルミンの場合は環境キャパシタンスによって指数関数と増加の速さが異なっていた。従って、本実施形態で扱う一般的な、周辺回路を含んだテルミンを演奏する問題においては、増加の仕方も可変にする必要がある。そのために、増加の速さと非線形性を制御するために、本実施形態の音高モデルは指数と係数をパラメータθ12で表し、最適な増加の仕方を表現できるモデルとして構成されている。
【0088】
H.音高モデルと音量モデルの評価実験
次に、テルミンの音高モデルと音量モデルに関する4種類の評価実験について述べる。実験1では音高モデルのパラメータ推定に必要な学習サンプル数を明らかにする。実験2では音高モデルの環境変化に対するロバスト性を評価するために、異なる環境下でモデル誤差を評価する。実験3では、音量を一定に保ったまま音高を変えるというタスクを用いて本音量制御手法を評価する。最後に実験4で、本システムの移植性を3種のロボットに実装することで示す。各ロボットの演奏の質の尺度には、実装に演奏された音高軌跡と楽譜から求めた音高軌跡との平均2乗誤差を用いる。また、それら尺度自身を議論するため、基準としてアマチュアのテルミン演奏者の音高軌跡と誤差も示し、各ロボットと比較する。
【0089】
[音高・音量特性の計測条件]
図10は計測環境の概略を示す。テストヘッドとしては、ヒューマノイドロボットHRP-2を用いた。テルミン1にはMoog Music社のEtherwave Thereminを用い、テルミン1の音はロボットの頭部に設置した1チャンネルのマイクロフォンで収録した。人の演奏者と同様、ロボットはテルミン1の演奏時に、右アーム12で音高操作、左アーム11で音量操作を行う。両腕の自由度は1とし、音高腕の可動域は音高最小の−90°から音高最大の0°までの90°、音量腕の可動域は音量最大の間接角度−135°から音量最小の間接角度−90°までの45°とした。ロボットとテルミン1との距離は50〔cm〕、テルミンの音を再生するスピーカー100とロボットとの距離は150〔cm〕である。
【0090】
テルミン1の音高特性と音量特性は、音高腕と音量腕の可動域をそれぞれ40等分し、両端を含む各41箇所に腕の位置を固定した状態で、腕位置の全組み合わせ(41×41=1681)について、テルミンの音を1〔sec〕ずつ測定した。
【0091】
以下に示す実際に測定したテルミンの音高特性と音量特性は環境によって異なるが、以降で述べる傾向は変わらない。まず音高特性を図11に示す。縦軸は音量腕の位置を、横軸は音高腕の位置を表す。音高の推定には非特許文献19に開示されている自己相関関数に基づく手法を用いる。ただし、フレーム幅は42.6msec (2048 samples)、シフト長は10.6msec (512 samples)とし、各フレームの音高推定値の中央値をその点での音高とした。音高は次式で定義されるcentの単位で表す。
【数13】

【0092】
図11の上部の音高が不自然に高くなっているのは、音量が小さすぎるために音高推定に失敗しているからである。図11から、音高腕12がアンテナ6に近い図の左側ほど音高が高く、音高腕12がアンテナ6から遠い図の右側ほど音高が低いことが分かる。次に、音量特性を図12に示す。縦軸は音量腕11の位置を、横軸は音高腕12の位置を表す。音量の単位は、収録した音の分散を用いた次式で定義される音圧レベル[dB SPL]を用いる。
【数14】


ただし、x(t)はテルミン1の出力波形を、tは時間を表す。図12から、音量腕11が音量アンテナ7に近い図の上側ほど音量が小さく、音量腕11が音量アンテナ7から十分離れた図の下半分は音量が比較的大きいことが分かる。しかし、音量は図11の音高のように単調な増加はしていない。
【0093】
[実験1] 学習サンプル数変化に対する音高モデルのロバスト性の評価
本実験では、音高モデルパラメータの推定に必要な学習サンプル数、つまり音高腕12の位置として必要な数Nを明らかにする。推定されたパラメータの適切さは、音高腕12の各位置xpiごとに測定した音高piと、推定したパラメータθを代入した高音モデルで予測した音高Mp(xpi,θ)の平均絶対誤差(MAE, Mean Absolute Error)で評価する。MAEが小さいほど、測定した音高を正確に予測するパラメータを推定できたと言える。MAEの定義式は下記の式(15)の通りである。
【数15】

【0094】
なお、本実験では音高のみを評価するので、音量腕11は使用しない。評価の手順は以下の通りである。まず、音高腕12の可動域を80等分し、81点のテルミン1の音高を収集する。そして、収集した音高と対応する音高腕12の位置の組(pi,xpi)を用いてパラメータを推定する。この時、パラメータ推定に用いるデータの数(N)を5から80まで変化させ、MAEを評価する。MAEが十分小さくなる最小のNが、本モデルに適したデータ数である。
【0095】
結果を図13に示す。横軸は学習サンプル数を、縦軸はMAE([Hz])を示す。図より、サンプル数が増加するとMAEが減少するが、N=12付近で収束する。N>12の範囲では誤差が減少しておらず、MAEは約6[Hz]で飽和している。この誤差の影響の大きさは演奏している音高によって異なるが、通常のメロディの音高は数百[Hz]なので、それに比べれば十分に小さい。
【0096】
以上の結果より、音高モデルのパラメータの推定には12点を観測すれば十分であることが示された。非特許文献15では演奏する音高の種類に依存してキャリブレーションフェーズの時間が変化するのに対して、本実施形態の手法は依存しない。なお、本実験では各点では1秒ずつ録音したので、音高腕の移動時間や音高の推定時間を含めても1−2分で終わる。
【0097】
[実験2] 環境キャパシタンス変化に対する音高モデルのロバスト性の評価
本実験では、環境キャパシタンスを変化させることで、異なる音高特性における音高モデルの精度を評価する。具体的には、金属製の箱をテルミンの付近に設置し、箱の位置を変化させて環境キャパシタンスを人為的に変化させ、各位置でパラメータを推定した。実験条件は4種類で、条件0は箱がない状態、条件1は最もテルミンから遠く、条件2は中間、条件3は最も近い状態に金属製の箱を置いた状態である。それぞれの条件で、音高腕12の可動域を20等分し、21点の音高を計測して音高モデルのパラメータを推定した。
【0098】
図14は各条件で推定したモデルを示す。実線が推定したパラメータで描いた音高特性の曲線、破線で接続された点が実際に測定した音高である。曲線の近傍に点が描かれているので、直感的に妥当なパラメータが推定されていることがわかる。次に、推定されたパラメータMAEを表1に示す。各条件で、右端列のMAEは3[Hz]から10[Hz]程度であり、実験1で飽和した誤差と同程度である。従って、本モデルは妥当であると考えられる。
【表1】

【0099】
[実験3] 音高操作時の音量制御性能の評価
本実験では、音量を一定に保ちながら音高を変化させたときの音量の変化、つまり制御誤差を評価する。音高及び音量の両特性は、両腕の可動域をそれぞれ40等分と5等分(N=41, M=d+1=6, 音量モデルの多項式の次元dは5に設定)して測定した。条件は、テルミン1の音量調節用つまみの位置を変化させることで設定した。音量調節用つまみを使えば音量特性のみを顕著に変えられるからである。特性は次の3条件で測定した。条件1が音量を小さくしたとき、条件3が音量を最大にしたとき、条件2はその中間である。
【0100】
全条件で同様の傾向が見られたので、代表して条件3の実験結果のみを図15に示す。横軸は目標音量、縦軸は制御誤差を示す。○印は本モデルの結果、+印はベースラインとして音量腕を固定した場合の結果を示す。本手法の制御誤差は目標値との差とすればよいが、ベースラインの場合は目標値がない。そこで、音高を変化させたときの音量の平均値を目標値とし、そこから標準偏差を制御誤差と定義した。本実験でのタスクは一定の音量を保つことなので、音量の変動が小さいほどうまく制御できているといえる。従って、縦軸の値は、小さい方が高い性能を示す。図15に示す通り、ベースラインでも本手法でも目標音量が約25[dB]以下のときに誤差が小さい。これは、元々の音量が小さいからである。一方、目標音量が30−50[dB]のとき、本実施形態の手法では誤差がより小さく、正確に制御できている。しかし、無音領域から有音領域の境界にあたる30[dB]の周辺では誤差が大きい。理由は、境界の推定誤差と、多項式モデルでは実際の音量の増加の速度に追いつかないことだと考えられる。特に後者は、単純に多項式モデルの次元を増加すると測定回数が増加してしまうというトレードオフがあるので、本実施形態の実装では計測回数を少なく抑えることを重視した。目標音量を35[dB]から50[dB]の範囲で演奏すれば安定して制御誤差は小さいので、実用上はこれで問題ない。そして、目標音量が大きくなるにつれて、再度制御誤差が大きくなっている。これは、出力可能な最大音量を超えるからである。
【0101】
[実験4] テルミン演奏システムの移植性
本実施形態における制御方法の移植性を示すため、本システムを3種類のヒューマノイドロボット、具体的には本田技研工業株式会社のASIMOと、川田工業株式会社のHRP-2とHIROとに実装した。これらのロボットは、身体構造だけでなく制御方法も異なっている。ASIMOは非特許文献20に開示されているように3次元位置で手先座標を指定し、HRP-2とHIROは関節角を直接指定する。また、それぞれ異なる部屋に設置されているので、環境キャパシタンスも異なる。使用する楽譜は図16に示す童謡「かえるの歌」とした。ただし、楽譜から求める全目標音高をテルミン1が出力可能な音高の範囲内に入れるために、図16におけるCは、平均律における7オクターブ目のC(C7)に設定した。
【0102】
なお、音高モデル及び音量モデルのパラメータ推定に用いる腕の座標諾xp,xvがスカラーなので、ASIMOにおいては、単純に3次元座標位置を用いると次元が合わない。そこで、腕の移動範囲を、座標r1=(x1,y1,z1)とr2=(x2,y2,z2)を結ぶ直線を媒介変数tで表した次式に従って移動させる。
【数16】


こうすることで、両腕の移動範囲を表す媒介変数をそれぞれxp,xvに用いれば本手法を準用できる。
【0103】
次に、演奏の評価尺度について述べる。本実験では、単独演奏の質を定量的に評価するため、テルミンによるメロディ演奏を構成する3つの要素:(1)音高,(2)音量、(3)タイミングのうち、要素(1)を楽譜と実際の演奏のcentを単位とした2乗誤差で、要素(3)を演奏開始から終了までの全区間の平均値で評価する。まとめると、「与えられた楽譜と、実際に演奏された音高軌跡との2乗誤差の平均値」を評価尺度とする。演奏の質の評価尺度に(2)を含めない理由は、音量は合奏においてパートナーが存在する時に重要な要素であり、本発明の実施形態で提案する単独演奏の範囲ではその重要性は比較的低いからである。従って、本実施形態の範囲においては音量制御性能の評価は実験4で十分である。
【0104】
各ロボットの音高軌跡を図17に示す。横軸は時間、縦軸はC7に対応する音高(9600[cent])を0とし、centのスケールで表示した音高である。図17において、破線は上からASIMO、HRP-2、HIRO、人の音高軌跡、実線は楽譜から求めた音高軌跡の正解を表す。人はキーボードとテルミンの演奏経験をもつ。ただし、4段目の人の演奏は、演奏者が絶対音感を持っていなかったために正解より約300[cent]低く演奏されていたので、音高軌跡を実際より300[cent]だけ高く表示している(長2度移調する操作に相当)。また、時間軸も他のロボットに合わせて調整している。なお、以上の操作によって以降の考察の結論は変わらない。
【0105】
まず平均2乗誤差による定量的な評価結果を示す。ASIMOの演奏は126.8[cent] 、HRP-2は52.9[cent] 、HIROは154・8[cent] 、人は112.4[cent]であった。ただし、単位を合わせるために誤差の平方根を表示している。本発明の実施形態で音名と音高との変換に用いている平均律では100[cent]の差が半音の差を表すので、HRP-2を除くといずれも半音の1〜1.5倍だけずれている。誤差を人(アマチュアの演奏者)の評価結果と比較すると、HRP-2が人より正確に演奏しているものの、現状ではいずれも人とほぼ同程度の演奏の上手さであるといえる。
【0106】
次に、図17の1段目のASIMOの結果を考察する。全体的に音高変化は緩やかなので、メロディの変遷はやや聞き取りにくい。さらに、直前の姿勢に依存して目標値が異なる制御手法を用いているので、同じ目標音高の12秒前後と26秒前後で異なる音高を演奏している。ただし、この全身制御のために、見た目は人の動作のように自然である。
【0107】
2段目のHRP-2の結果を考察する。全体的に1段目の音高変化はASIMOに比べて急峻であり、楽譜上で同じ音符は同じ音高が出力されている。従ってメロディは比較的聴き取りやすい。また10−13秒や27−35秒の周辺に音高の振動がみられるが、これはHRP-2の質量の大きい腕の速い移動が原因である。また、ここでは関節角度で制御したために外見は機械的である。
【0108】
3段目のHIROの結果を考察する。他のロボットに比べて、音高変化が最も急峻である。この理由は、単純な関節角度指定による制御で振動の生じない軽い腕を用いたからである。特に25−35秒の細かく音高が変化する部分が楽譜どおりに演奏できている。ただし、外見はHRP-2と同様に機械的である。
【0109】
最後に、4段目の人の結果を議論する。まず、音高軌跡は全体的に緩やかな曲線を描いており、ASIMOやHRP-2の軌跡に近い。しかし、25−35秒付近ではHIROと似て、楽譜どおりの急激な音高変化が見られる。次に、10−13秒や23−25秒の部分で、楽譜は一定値だが音高軌跡にはゆらぎが見られる。これは、人は腕の固定が困難だからである。似た振動は2段目の10秒付近にもあるが、これは体の振動によるものなので、性質が異なる。歌声において音高の微細振動が自然性によい影響を与えることが非特許文献21に開示されており、この知見から、体の振動を抑制して、このようなゆらぎを意図的に与えれば演奏の質が向上する可能性がある。
【0110】
[実験結果]
評価実験の結果、テルミンの音高モデル及び音量モデルは環境変化や学習データの変化にロバストである。また、音量モデルに基づく音量制御によって、音量を一定に保てることを確認した。最後に本システムを3種のロボットに実装し、本システムの移植性を確認した。
【0111】
I: その他
以上詳述したが、本発明はその趣旨を逸脱しない範囲において様々な形態で実施をすることができる。
【0112】
実施形態の説明で挙げられた数値は例示であることは勿論である。
ロボットは音量制御のみを行うように構成されてもよい。
アームの構造は上記説明や図示例に限定されるものではない。
【符号の説明】
【0113】
1 テルミン
2 音高制御回路
3 音量制御回路
4,5 発振回路
6 音高アンテナ
7 音量アンテナ
10,10A テルミン演奏ロボット
11 ロボットの左アーム
12 ロボットの右アーム
14 ロボットのボディ
20 駆動部
30 制御部
40 記憶部
50 パラメータ調整部
51 サンプル情報作成部
52 パラメータ決定部
60 音声取得部

【特許請求の範囲】
【請求項1】
第1のアームと第2のアームと、
テルミンの音高に対応するアーム位置を示す音高モデルを有し、
演奏目標の音符と上記音高モデルとに基づいて上記音符に対応したアーム位置へ上記第1のアームを移動させてテルミンを演奏するロボットであって、
上記テルミンの周囲の環境によって変化する上記音高モデルのパラメータを調整するパラメータ調整部を備えていることを特徴とする、テルミン演奏ロボット。
【請求項2】
前記第2のアームが音量制御用であり、
テルミンの音量に対応するアーム位置を示す音量モデルを有し、
前記パラメータ調整部は、テルミンの周囲の環境によって変化する上記音量モデルのパラメータを調整することを特徴とする、請求項1に記載のテルミン演奏ロボット。
【請求項3】
テルミンの音量に対応するアーム位置を示す音量モデルを有し、
テルミンに設定されている音量と上記音量モデルとに基づいてアームを所定の位置へ移動させてテルミンを演奏するロボットであって、
上記テルミンの周囲の環境によって変化する上記音量モデルのパラメータを調整するパラメータ調整部を備えていることを特徴とする、テルミン演奏ロボット。
【請求項4】
前記アームを移動させた後、音符の継続時間中にフィードバック制御してアームの位置を調整することを特徴とする、請求項1〜3の何れかに記載のテルミン演奏ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate