JP2009098683A - 演奏システム - Google Patents
演奏システム Download PDFInfo
- Publication number
- JP2009098683A JP2009098683A JP2008248144A JP2008248144A JP2009098683A JP 2009098683 A JP2009098683 A JP 2009098683A JP 2008248144 A JP2008248144 A JP 2008248144A JP 2008248144 A JP2008248144 A JP 2008248144A JP 2009098683 A JP2009098683 A JP 2009098683A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- key
- piano
- automatic performance
- trajectory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/32—Constructional details
- G10H1/34—Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
- G10H1/344—Structural association with individual keys
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/005—Device type or category
- G10H2230/011—Hybrid piano, e.g. combined acoustic and electronic piano with complete hammer mechanism as well as key-action sensors coupled to an electronic sound generator
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/175—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
Abstract
【課題】通信ネットワークを介して接続された2台以上の鍵盤楽器を用いて、円滑なセッション演奏が行えるようにする。
【解決手段】演奏システムはインターネットNを介して接続された2台の自動演奏ピアノPA,PBからなり、自動演奏ピアノPA,PBは、鍵1と、弦4と、音源16と、制御系18と、センサ19を有する。ピアノPAで行われた鍵1Aの演奏操作は、センサ19Aが検出し、これに基づき操作情報が生成され、操作情報は通信I/F15Aを介してインターネットNに送信される。このときピアノPAでは弦4Aにより発音する。ピアノPBではピアノPAから受信した操作情報に基づき、音源16Bにより電子的に生成した楽音を発生する一方で、該受信した操作情報に基づき制御系18Aにより鍵1Bを非打弦駆動する。つまり、弦1Bの発音はしない。
【選択図】図1
【解決手段】演奏システムはインターネットNを介して接続された2台の自動演奏ピアノPA,PBからなり、自動演奏ピアノPA,PBは、鍵1と、弦4と、音源16と、制御系18と、センサ19を有する。ピアノPAで行われた鍵1Aの演奏操作は、センサ19Aが検出し、これに基づき操作情報が生成され、操作情報は通信I/F15Aを介してインターネットNに送信される。このときピアノPAでは弦4Aにより発音する。ピアノPBではピアノPAから受信した操作情報に基づき、音源16Bにより電子的に生成した楽音を発生する一方で、該受信した操作情報に基づき制御系18Aにより鍵1Bを非打弦駆動する。つまり、弦1Bの発音はしない。
【選択図】図1
Description
この発明は、ネットワークを介して接続された2台以上の鍵盤楽器からなる演奏システムであって、該演奏システムにおいてセッション演奏を行うための技術に関する。
従来から、アコースティックピアノの各鍵を、各鍵に対応して設けられたソレノイドで駆動する自動演奏ピアノが知られている。自動演奏ピアノでは、再生すべき演奏情報に基づきソレノイドが選択的に駆動され、該駆動されたソレノイドに対応する鍵が上下動することで、当該ピアノに該演奏情報に基づく演奏を自動的に行わせることができた。
また、本出願人は、2台以上の自動演奏ピアノを利用して、1つの自動演奏ピアノにおいて演奏者が行った鍵操作による鍵の動きを、別の自動演奏ピアノにおいて再生する演奏駆動システムを考案した。前記演奏駆動システムは、2台以上の自動演奏ピアノをデータ通信可能に接続し、該接続されたピアノのうちの1台(マスター側)において、演奏者によって行われた鍵の操作に基づく操作情報が生成され、該生成された操作情報を別のピアノ(スレーブ側)に送信し、スレーブ側の自動演奏ピアノにおいて、マスター側の自動演奏ピアノから送信された操作情報に基づきソレノイドが選択的に駆動され、該駆動されたソレノイドに対応する鍵が上下動することで、マスター側の自動演奏ピアノにおいて演奏者が行った鍵の操作が、スレーブ側の自動演奏ピアノにおいて再現されるものだった(下記特許文献1を参照)。
特開2006−178197号公報
上記特許文献1に記載されたシステムでは、マスターとスレーブの間でデータ通信する際に遅延が生じる。また、スレーブ側の自動演奏ピアノにおいて鍵の動きを再生するための駆動制御系では、数百ミリ秒程度の遅延が発生する。つまり、マスター側の自動演奏ピアノにおいて演奏者が行ったピアノ演奏操作に対して、スレーブ側の自動演奏ピアノにおいて再現されるピアノ演奏(鍵の動きと発音)は、通信遅延と駆動制御系で生じる鍵の再生動作の遅延との2つの遅延要素の分だけ遅延する。しかし、特許文献1に記載のシステムでは、前述の通信遅延と駆動制御系で生じる遅延とに対する遅延補償のための対策は講じられていなかった。
また、特許文献1に記載されたシステムでは、相互に接続された2台の自動演奏ピアノは、マスターとスレーブの関係にあり、マスター側からスレーブ側への一方向的な情報の流れが想定されていたので、これら2台の自動演奏ピアノを用いてセッション演奏を行うという発想がなかった。ここで、セッション演奏とは、相手のピアノで行われたピアノ演奏を、自分側の自動演奏ピアノの自動演奏機能を使って再生すること(鍵盤を自動的に動かして、それによりピアノ演奏音を発生すること)を、相互に行うことである。無論、単純にピアノ演奏に応じた操作情報を互いに送受信し合うだけならば、マスターとスレーブの関係を動的に切り替えれば実現できるかもしれぬ。しかし、特許文献1に記載されたシステムでは、前述した通信遅延と駆動制御系で生じる遅延との2つの遅延が発生する問題があるため、2台の自動演奏ピアノを利用して円滑なセッション演奏を実現することができなかった。
特に、2台以上の自動演奏ピアノをインターネット等の広域通信ネットワークを介して接続する場合、前述の通信遅延の問題が顕著になる。
この発明は、上述の点に鑑みてなされたもので、通信ネットワークを介して接続された2台以上の鍵盤楽器を用いて、円滑なセッション演奏が行えるようにした演奏システムを提供することを目的とする。
この発明は、通信ネットワークを介してデータ通信可能に接続された少なくとも2台以上の鍵盤楽器からなる演奏システムであって、前記2台以上の鍵盤楽器のうちの、少なくともデータ受信側の鍵盤楽器はアコースティックな発音機構と電子的に楽音を生成する電子音源手段とを備えており、データ送信側の鍵盤楽器において、演奏操作子を駆動する駆動手段と、演奏者による前記演奏操作子の演奏操作を検出する検出手段と、前記検出手段で検出された演奏操作を表す情報を前記通信ネットワークを介して他の鍵盤楽器へ送信する送信手段と、データ受信側の鍵盤楽器において、前記通信ネットワークを介して前記データ送信側の鍵盤楽器から演奏操作を表す情報を受信する受信手段と、前記受信手段により受信した演奏操作を表す情報に基づき前記電子音源手段により電子的に楽音を生成する発音制御手段と、前記受信手段により受信した演奏操作を表す情報に基づき前記駆動手段を制御する駆動制御手段であって、前記アコースティックな発音機構による発音が行われないよう該駆動手段を制御するものとを備えることを特徴とする演奏システムである。
これによれば、データ受信側の鍵盤楽器において、データ送信側の鍵盤楽器から受信した演奏操作を表す情報に基づく楽音を電子音源手段により電子的に生成することで、駆動制御系に遅延の影響を受けることのなく、セッション演奏相手(データ送信側)の演奏操作に応じた楽音を発生させることができ、また、駆動制御手段により、データ送信側の鍵盤楽器から受信した演奏操作を表す情報に基づき、アコースティックの発音機構による発音が行われないよう駆動手段を制御することで、セッション演奏相手(データ送信側)のの鍵盤楽器で行われた演奏操作に応じた演奏操作子の動きを、データ受信側の鍵盤楽器の演奏者に見せることができる。
また、この発明は、前記データ送信側の鍵盤楽器又は前記データ受信側の鍵盤楽器の何れか一方に、前記検出手段により検出された演奏操作を表す情報に基づき、演奏操作子の操作位置の時間的変化を表す軌道を推定する推定軌道算出手段と、前記推定軌道算出手段により算出した推定軌道に基づき現時点よりも所定時間先の演奏操作子の位置又は速度の少なくとも何れか一方を予測する軌道予測手段とを更に備え、データ受信側の鍵盤楽器の駆動制御手段は、前記軌道予測手段により予測した演奏操作子の位置又は速度の少なくとも何れか一方に基づき前記駆動手段を制御するものであることを特徴とする演奏システムである。
推定軌道算出手段により検出手段の検出結果から演奏操作子が辿るであろう軌道を推定し、軌道予測手段により該推定された軌道に基づき、例えば、通信ネットワークにおける通信遅延時間や駆動制御系で生じる演奏操作子の再生動作の遅延時間に相当する時間分だけ先の演奏操作子の位置又は速度の少なくとも何れか一方を予測する。この予測された演奏操作子の位置又は速度の少なくとも何れか一方に基づき、データ受信側の鍵盤楽器の演奏操作子を駆動するので、データ送信側の鍵盤楽器からデータ受信側の鍵盤楽器へデータを通信するときに生じる通信遅延と、データ受信側の鍵盤楽器の駆動制御系で生じる遅延とのいずれの遅延時間も効果的に補償することができる。また、データ受信側の鍵盤楽器では、演奏操作子を駆動が、演奏操作子の操作位置の時間的変化を表す軌道に基づき行われるので、セッション演奏相手(データ送信側の鍵盤楽器)での演奏内容を、発音タイミング、発音ベロシティ、止音タイミング及び止音ベロシティの4つの要素について正確に再現することができる。
また、この発明は、前記データ送信側の鍵盤楽器又は前記データ受信側の鍵盤楽器の何れか一方に、前記検出手段により検出された演奏操作を表す情報に基づき、所定時間先の演奏操作子の操作位置を予測する位置予測手段と、前記位置予測手段による予測結果に基づき実際の演奏タイミングよりも先行して演奏イベントを生成するイベント予測手段と
を更に備え、データ受信側の鍵盤楽器の発音制御手段は、前記イベント予測手段により生成した演奏イベントに基づき前記電子音源手段により電子的に楽音を生成するものであることを特徴とする演奏システムである。
を更に備え、データ受信側の鍵盤楽器の発音制御手段は、前記イベント予測手段により生成した演奏イベントに基づき前記電子音源手段により電子的に楽音を生成するものであることを特徴とする演奏システムである。
位置予測手段により所定時間先の鍵の操作位置を予測し、イベント予測手段により該予測結果に基づき実際の演奏タイミングよりも先行して演奏イベントを生成することで、データ受信側の鍵盤楽器の発音制御手段が電子音源手段に電子的に楽音を生成させるときに、データ送信側の鍵盤楽器からデータ受信側の鍵盤楽器へデータを通信するときに生じる通信遅延時間を補償することができる。
また、この発明は、アコースティックな発音機構と電子的に楽音を生成する電子音源手段とを備え、演奏操作子を駆動する駆動手段と、演奏者による前記演奏操作子の演奏操作を検出する検出手段と、前記検出手段で検出された演奏操作を表す情報を通信ネットワークを介して他の鍵盤楽器へ送信する送信手段と、前記通信ネットワークを介して他の鍵盤楽器から演奏操作を表す情報を受信する受信手段と、前記受信手段により受信した演奏操作を表す情報に基づき前記電子音源手段により電子的に楽音を生成する発音制御手段と、前記受信手段により受信した演奏操作を表す情報に基づき前記駆動手段を制御する駆動制御手段であって、前記アコースティックな発音機構による発音が行われないよう該駆動手段を制御するものとを備えることを特徴とする鍵盤楽器である。
上記構成からなる2台以上の鍵盤楽器を、通信ネットワークを介して接続することで、該接続された2台以上の鍵盤楽器で、駆動制御系で生じる遅延の影響を受けることなくセッション演奏、つまり、セッション演奏相手の演奏操作に応じた電子的楽音を発音し、且つ、その演奏操作に応じた演奏操作子の動きを自分の側で再生することができ、また、セッション演奏相手の鍵盤楽器に自分の演奏操作に応じた電子的楽音を発音させ、且つ、自分の演奏操作に応じた演奏操作子の動きを相手側で再生させることができる。
この発明によれば、通信ネットワークを介してデータ通信可能に接続された少なくとも2台以上の鍵盤楽器からなる演奏システムにおいて、少なくとも楽音の発音に関しては駆動制御系で生じる遅延の影響を受けずに、略リアルタイムで円滑なセッション演奏が行えるという優れた効果を奏する。また、検出手段の検出結果から演奏操作子の軌道を推定し、該推定された軌道に基づき所定時間先の演奏操作子の位置又は速度の少なくとも何れか一方を予測するよう構成することで、通信ネットワークで生じる通信遅延と駆動制御系で生じる遅延のいずれの遅延時間も効果的に補償することが可能となり、データ受信側の鍵盤楽器においてセッション演奏相手(データ送信側)の鍵盤楽器で行われた演奏操作子の動きを略リアルタイムで再生することができる。このことにより、データ受信側の鍵盤楽器では、アコースティックの発音機構を用いて、セッション演奏相手(データ送信側)の鍵盤楽器で行われた演奏を略リアルタイムで再生することも可能となる。よって、この発明によれば、通信ネットワーク越しに、アコースティックの発音機構を用いた鍵盤楽器のセッション演奏が行うことができるようになるという優れた効果を奏する。また、セッション演奏相手の演奏を電子音源手段により電子的楽音で再生する場合には、イベント予測手段により実際の演奏タイミングよりも先行して演奏イベントを生成することで、通信ネットワークで生じる通信遅延の影響を受けずに略リアルタイムで電子的楽音を再生するセッション演奏を行うことができるようになるという優れた効果を奏する。
以下、この発明の実施例について図面を参照して詳細に説明する。
〈第1の実施例〉
図1は、この発明にかかる演奏システムの第1の実施例の全体構成を概念的に示すブロック図である。この演奏システムは、広域通信ネットワークを介して相互にデータ通信可能に接続された2つ以上の自動演奏ピアノにより構成されるものである。広域通信ネットワークは、例えばインターネットを想定している。図1において、演奏者Aが操作する自動演奏ピアノPAと、演奏者Bが操作する自動演奏ピアノPBは、インターネットNを介してデータ通信可能に接続されている。
図1は、この発明にかかる演奏システムの第1の実施例の全体構成を概念的に示すブロック図である。この演奏システムは、広域通信ネットワークを介して相互にデータ通信可能に接続された2つ以上の自動演奏ピアノにより構成されるものである。広域通信ネットワークは、例えばインターネットを想定している。図1において、演奏者Aが操作する自動演奏ピアノPAと、演奏者Bが操作する自動演奏ピアノPBは、インターネットNを介してデータ通信可能に接続されている。
自動演奏ピアノPA、PBは、それぞれ同様に構成されるもので、図1においては、動作を機能的に説明するブロックにより、その構成が表現されている。自動演奏ピアノPA、PBは、演奏入力用の複数の鍵1からなる鍵盤を有し、発音体として弦4を備えるアコースティックピアノにおいて、鍵盤を駆動するための制御系18、鍵盤の動きを検出するためのセンサ19、電子的に楽音を発生するための音源16及びインターネットNに接続するための通信インターフェース15を備えるものである。なお、図1においては、自動演奏ピアノPA側の各構成要素を表す符号の末尾にアルファベット文字「A」を付与し、また、自動演奏ピアノPB側の各構成要素を表す符号の末尾にアルファベット文字「B」を付与することで、自動演奏ピアノPA側の各構成要素と自動演奏ピアノPB側との区別をつけている。なお、明細書本文中では、自動演奏ピアノPA,PBに共通する構成要素について、何れの装置側の構成要素であるかを明確に区別する必要がない場合には、符号末尾の付加的なアルファベット文字は省略する。
図1に示す第1の実施例によれば、演奏システムは、インターネットNを介して接続された2台の自動演奏ピアノPA、PBを用いて、次に述べる2点の特徴を有するセッション演奏を行うことができるよう構成されている。すなわち、自動演奏ピアノPA又はPBの一方(これを仮に自分側と呼ぶ)は、自動演奏ピアノPA又はPBの他方(これをセッション演奏相手と呼ぶ)で行われたピアノ演奏を表す操作情報をインターネット経由で受信することで、(1)該受信した操作情報に基づく楽音が音源16において電子的に生成され、セッション演奏相手のピアノ演奏に対応する電子音が自分側の自動演奏ピアノにおいて発音されると共に、(2)該受信した操作情報に基づき鍵盤を自動駆動することで、セッション演奏相手のピアノ演奏による鍵の動きが、自分側の自動演奏ピアノにおいて再生される。勿論、自分側の自動演奏ピアノにおいて自身が行ったピアノ演奏は、弦4から発音されるアコースティック音で発音させることができる。これにより、自動演奏ピアノPAの演奏者Aと、自動演奏ピアノPBの演奏者Bは、お互いのピアノ演奏を電子音で聞き、且つ、互いのピアノ演奏による鍵盤の動きを見ながら、相手の演奏に応答したピアノ演奏を行うセッション演奏を行うことができる。
図2は、自動演奏ピアノPA又はPBにおけるアコースティック発音機構(図1における鍵盤に相当する)と、制御系18及びセンサ19を含む自動演奏機能の構成を示す図である。なお、図2において、鍵盤を構成する複数の鍵(一般的なピアノでは88鍵)のうちの1つの鍵と、それに対応する発音機構が描かれており、その他の黒鍵及び白鍵も概ね同様に構成される。また、図2において、発音機構は、ピアノの演奏者が座る側(図面上では右側)を前面とすると、ピアノ側面から見た一部断面図で描かれている。
図2において、自動演奏ピアノは、通常のアコースティックのピアノと同様に、鍵1と、鍵1の上下動をハンマ3の打弦運動に変換するためのアクション機構2と、打弦運動するハンマ3と、該ハンマ3によって打撃される弦4等を含んで構成される。鍵1の後端には、鍵1を駆動するためのソレノイド5が備わる。また、鍵1に対応して、該鍵1の動きを検出するためのキーセンサ6が設けられている。
鍵1は、バランスピンに貫通された位置を凡その支点として、打鍵操作に応じて上下動する。鍵1は、非押鍵時(外力を加えない状態)には、図1において実線で示すレスト位置(ストローク量0mmの位置)にあり、押鍵操作によって図1において二点差線で示すエンド位置(例えばレスト位置から10mm押し下げられた位置)まで押し下げられる。また、エンド位置に押し込まれた鍵1の押し下げを解き、レスト位置に復帰させる操作を離鍵操作という。この明細書では、鍵1の押鍵と離鍵をあわせた一連の鍵の上下動を打鍵という。従って、1つの打鍵において鍵が辿る打鍵軌道は、レスト位置に停止している状態である「レスト」、鍵がレスト位置からエンド位置に至るまでの操作状態である「押鍵」、エンド位置に停止している状態である「エンド」、及び、鍵がエンド位置からレスト位置に至るまでの操作状態である「離鍵」の4つの軌道フェーズにより定義される。なお、本明細書において、鍵の「軌道」とは、鍵の位置の時間的変化を指す。
図2に示す自動演奏ピアノにおいて、演奏者の手弾き演奏により鍵1が打鍵操作されると、鍵1の打鍵運動がアクション機構2を介してハンマ3の打弦運動に変換され、ハンマ3が弦4を打撃する。これにより、打鍵操作された鍵1に割り当てられた音高のピアノ音が発音される。このように、自動演奏ピアノでは、ピアノ演奏に応じてアコースティックの楽音を発生することができる。
キーセンサ6は、演奏者のピアノ演奏に応じた操作情報を生成するために、鍵1の動きを検出するセンサであって、例えば、鍵1の打鍵動作の全工程について連続的な位置情報を表すアナログ信号を出力できる光学式の位置センサで構成することができる。なお、キーセンサ6のみならず、ハンマ3の動きに応じた適宜の物理量(位置、速度等)を検出するためのハンマセンサ7を設けて、後述する操作情報の作成にハンマセンサ7の出力信号を利用できるようにしてもよい。なお、キーセンサ6及びハンマセンサ7は、図1のセンサ19に含まれるものである。
この実施例に適用する自動演奏ピアノにおいては、自動演奏機能を利用して、セッション演奏を行う。自動演奏機能は、大別して、自分側で行ったピアノ演奏を表す操作情報を生成するためのモジュール(演奏検出部13及び検出後処理部14)と、相手側の自動演奏ピアノからインターネット経由で送信された操作情報の再生(鍵の駆動と楽音の発音)を行うモジュール(再生前処理部10、モーションコントローラ11及びサーボ制御部12、並びに、音源16)とからなる。
演奏検出部13は、キーセンサ6から出力される鍵1の位置情報から、押鍵タイミング、押鍵速度、離鍵タイミング、離鍵速度など打鍵操作情報を計算する。検出後処理部14は、前記演奏検出部13で計算した操作情報に対して所定の正規化処理を行うと共に、該正規化した操作情報を、例えばMIDI形式など、従来から知られる適宜のデータフォーマットに変換する。この操作情報は、ノートオン/ノートオフと、ノートナンバと、ベロシティ値を含んで構成されるものである。なお、ノートナンバ(鍵番号)は、88鍵の1つずつに付与された通し番号である。検出後処理部14から出力される操作情報は、通信I/Fを介して外部(インターネットを介して接続された他の自動演奏ピアノ)へ送信される。なお、前記正規化処理とは、ピアノの個体差を吸収するための処理である。センサ19(キーセンサ6及びハンマセンサ7)により検出した種々の物理情報は、各ピアノにおけるセンサの位置や、構造上の違い、あるいは、機械的誤差によってピアノ個体毎に固有の傾向を持つものとなる。このため、前記正規化処理により、標準となるピアノを想定して、該基準となるピアノに対応する情報に変換する。
再生前処理部10は、通信I/F15を介して外部(他の自動演奏ピアノ)から供給された操作情報を適宜個別化する処理を行い、モーションコントローラ11は、通信I/F15から供給される操作情報に基づき、鍵の打鍵軌道を表す軌道情報を生成する。サーボコントローラ12には、前記モーションコントローラ11で生成された軌道情報が入力されると共に、キーセンサ6の検出信号がフィードバック信号として供給される。サーボコントローラ12は、前記軌道情報とキーセンサ6の検出信号に基づき、ソレノイド5を駆動するための駆動信号(後述のPWM信号)を生成し、該生成した駆動信号に基づきソレノイド5をサーボ制御する。ソレノイド5は、該生成された駆動信号(後述のPWM信号)に基づき通電オンオフが制御される。通電オンのときにソレノイド5のプランジャが突出することで、対応する鍵1の後端部を裏面から突き上げて、鍵1の押鍵動作が行われる。そして、通電オフに応じて該プランジャによる鍵1の突き上げが解かれ、鍵1の離鍵動作が行われる。これにより、あたかも演奏者が鍵1を打鍵操作したかのように、鍵1を自動的に打鍵駆動することができる。なお、ソレノイド5にプランジャ速度を検出する速度センサを設けて、該速度センサの出力信号をサーボコントローラ12に対するフィードバック信号として用いるよう構成してもよい。
後述する通り、この第1の実施例においては、自動演奏機能により鍵1を自動的に打鍵駆動するときには、相手側のピアノで実際に行われた押鍵操作の強さに関わらず、弦4により楽音が発音しないよう、遅い押鍵速度で鍵1を駆動する。本明細書では、このような鍵の駆動制御の方法を「非打弦駆動」と呼ぶことにする。
また、音源16は、通信I/F15を介して外部(他の自動演奏ピアノ)から供給された操作情報に基づき電子的に楽音を生成する。音源16で生成した楽音は、スピーカ17から放音される。これにより、通信I/F15を介して外部(他の自動演奏ピアノ)から供給された操作情報に基づく楽音を電子音で発音することができる。なお、音源16に適用する音源方式は、従来から知られる適宜の方式を採用してよい。
図3は、図2に示す自動演奏ピアノの電気的ハードウェア構成を示すブロック図である。自動演奏ピアノPA,PBは、CPU20、ROM21、RAM22からなるマイクロコンピュータと、通信インターフェース(通信I/F)15と、センサ19の検出信号を取り込むセンサ・インターフェース(センサI/O)23と、ソレノイド5を駆動するための駆動信号を発生するPWM発生器24と、音源16を含んで構成され、各部がデータ及び通信バス20Bを介して接続される。音源16には該音源16で生成した電子的楽音を発音するためのスピーカ17が接続される。センサ19は、図1で符号19A,19Bで示すセンサに対応しており、図2におけるキーセンサ6及びハンマセンサ7を含むものである。
CPU20は、ROM21或いはRAM22に保存された各種制御プログラムを実行して全体的な動作を制御する。具体的には、再生前処理部10、モーションコントローラ11、サーボコントローラ12の動作に相当する鍵の駆動制御系に対する動作命令や、演奏検出部13及び検出後処理部14の動作に相当する操作情報の生成処理や、インターネット通信処理などの処理がCPU20によって実行される。
センサ19の検出信号(アナログ信号)は、センサI/O23を介してディジタル信号に変換され、ディジタル信号に変換されたセンサ19の検出信号がCPU20に供給される。CPU20に供給されたセンサ19の検出信号は、演奏検出部13及び検出後処理部14の動作に相当する操作情報の生成処理や、サーボコントローラ12によるサーボ制御に利用される。PWM発生器24は、前記サーボコントローラ12の出力段に相当し、CPU20が操作情報に基づき生成したソレノイド駆動用のディジタル信号を電流信号(PWM形式の電流信号)を発生する。PWM発生器24が発生するPWM信号は、操作情報として与えられる押鍵速度に応じてパルス幅を変調された信号である。なお、ソレノイドを駆動する方式は、PWM電流信号による方式に限らず、従来から知られるどのような方式を適用してもよい。
通信インターフェース15は、例えばイーサネット(登録商標)など従来から知られる適宜の汎用インターフェースで構成され、該通信I/F15を介して、LAN(ローカルエリア)やインターネット等の通信ネットワークに接続し、該通信ネットワーク上の他の自動演奏ピアノとデータ通信可能に接続される。
図4は、図1に示す第1の実施例の演奏システムによるセッション演奏の手順の一例を説明するためのフローチャートである。図1と図4を参照して、この発明の第1の実施例に従うセッション演奏の流れを説明する。なお、自動演奏ピアノPA,PBにおいて、略同じタイミングで同一鍵を操作した場合には、先に打鍵が開始した自動演奏ピアノPA,PBでの操作を優先して受け付ける。つまり、その打鍵操作が終わるまでは、操作情報に基づく当該鍵の駆動は行わない。
まず、セッション演奏を行う自動演奏ピアノPA,PBの演奏者A,Bは、それぞれ、自動演奏ピアノPA,PBをインターネットNに接続し、例えばセッション演奏機能開始スイッチ等の操作により、各々のマイクロコンピュータにセッション演奏機能の開始指示を与える。これにより、演奏システムが起動(セッション演奏機能が起動)する。自動演奏ピアノPA,PBにおいて、セッション演奏機能が開始すると、自動演奏ピアノPA,PBは各々において打鍵(押鍵)操作の検出を待つ。以下の説明では、一例として、自動演奏ピアノPA側からセッション演奏をスタートする(つまり演奏者Aが先に打鍵操作を行う)ものとする。
自動演奏ピアノPAにおいて演奏者Aが鍵1Aを打鍵操作すると(ステップS1)、該打鍵された鍵の動きがセンサ19Aによって検出され、前記図2の演奏検出部13及び検出後処理部14により前記検出信号に基づく操作情報が生成される(ステップS2)。操作情報は、一例として、ノートオン、ノートナンバ、ベロシティ値等からなるMIDI形式の演奏イベントデータである。このとき、自動演奏ピアノPAでは、前記演奏者Aによる打鍵操作に応じて弦4Aがハンマに打撃され、弦4Aの振動によるアコースティックの楽音が発音される。
前記ステップS2で生成された操作情報が通信I/F15を介してインターネット上に送信される(ステップS3)。この操作情報は、インターネットNを介して、自動演奏ピアノPBへ伝送される。
自動演奏ピアノPBは、前記自動演奏ピアノPAから出力された操作情報を、インターネットNを介して受信する(ステップS4)。ステップS5において、自動演奏ピアノPBは、再生前処理部10、モーションコントローラ11及びサーボコントローラ12により、前記ステップS4において自動演奏ピアノPAから受信した操作情報に基づき、操作情報が指示するノートナンバに対応する鍵1Bを駆動する処理を行う。
ここで、第1の実施例において、前記ステップS5で行われる鍵駆動制御では、打弦による楽音の発音が行われないように鍵1Bを駆動する制御(非打弦駆動制御)を行うことに留意されたい。周知の通り、アコースティックピアノの発音機構の構成によれば、ハンマ3は、押鍵操作により付勢されたことにより生じる慣性力により、弦4を打撃するものである。従って、鍵1を遅い速度で押鍵すると、鍵1をエンド位置まで押し切っても、ハンマ3による打弦は行われない。そこで、前記ステップS5では、ハンマ3による打弦が行われない程度の遅い押鍵速度で鍵1Bが駆動されるような駆動信号を、ソレノイド5に与えることで、非打弦駆動制御を実現する。
例えば、「打弦が行われない程度の遅い押鍵速度」として、実測結果などに基づいて予め決めた値をROM21乃至RAM22等のメモリに記憶させておき、モーションコントローラ11において該メモリ記憶された押鍵速度を利用して非打弦駆動制御用の軌道情報を作成することで、非打弦駆動制御を実現できる。また、別の例としては、サーボコントローラ12がソレノイド駆動信号を生成するときに、前記メモリに記憶された非打弦制御用の押鍵速度によりソレノイド駆動信号を補正することで非打弦駆動制御を実現してもよい。要するに、打弦が行われない程度の遅い押鍵速度で鍵を駆動できるのであれば、どのような方法で非打弦駆動制御を実現してもよい。
また、前記ステップS5の鍵駆動制御(非打弦制御)の別の実現方法として、ハンマ3による打弦運動が生じないところまでしか鍵を押し込まない、つまり、押鍵を任意の深さで静止させる制御(打鍵静止制御)を適用してもよい。この打鍵静止制御の詳細は、例えば「特開2006−235216号公報」の記載等を参照されたい。
ステップS6において、自動演奏ピアノPBのCPU20は、音源16Bを使用して、前記ステップS4において自動演奏ピアノPAから受信した操作情報に基づく電子的楽音を発生し、該発生した電子的楽音をスピーカ17から発音する。
自動演奏ピアノPBの演奏者Bは、自動演奏ピアノPAにおいて行われたピアノ演奏による鍵1Bの動きを見て(前記ステップS5の処理)、且つ、自動演奏ピアノPAにおいて行われたピアノ演奏(電子音)を聴きながら(前記ステップS6)、これに合わせて、自動演奏ピアノPBにて自らの手弾き演奏によるアコースティックな演奏を行うことができる(ステップS7)。自動演奏ピアノPBにおいては、前記ステップS7の打鍵操作に応じて、前記S2、S3において自動演奏ピアノPAについて説明したのと同様に、操作情報を作成し(ステップS8)、該作成した操作情報をインターネットN上に送信する(ステップS8)。また、このとき、自動演奏ピアノPBでは、ステップS7の打鍵操作に応じて、弦4の振動によるアコースティックの楽音が発音される。
ステップS10〜ステップS15は、前記ステップS9で自動演奏ピアノPBから送信された操作情報を、受信した自動演奏ピアノPA側の動作の流れを示している。その内容は、前記ステップS4〜S9で説明したものと同様であって、自動演奏ピアノPBから送信された操作情報に基づき鍵1Aを非打弦駆動すると共に、該操作情報に対応する楽音を電子音で発生してから、自動演奏ピアノPA側でピアノ演奏の入力を行う局面を示している。
つまり、セッション演奏は、自動演奏ピアノPAでピアノ演奏を行い、それに応じた操作情報を自動演奏ピアノPBに送信して、該自動演奏ピアノPBで自動演奏ピアノPAから受信した操作情報を再生する第1の局面(ステップS1〜ステップS6の処理)と、自動演奏ピアノPBでピアノ演奏を行い、それに応じた操作情報を自動演奏ピアノPAに送信して、該自動演奏ピアノPAで自動演奏ピアノPBから受信した操作情報を再生する第2の局面(ステップS7〜ステップS12の処理)からなる。なお、図1において実線で示す矢印は、第1の局面での操作情報の流れ(ステップS1〜S6までの流れ)を表しており、また、図1において点線で示す矢印は、第2の局面(ステップS7〜ステップS12の処理)での操作情報の流れを表している。また、一点鎖線で示す矢印は、各自動演奏ピアノPA,PBにおける手弾き演奏でアコースティックの楽音が発音されることを表現している。
なお、セッション演奏は、図4に描いたように上記2つの局面を順次繰り返す必要はなく、2台の自動演奏ピアノPA,PBによるセッション演奏のやり取りの中で、第1の局面又は第2の局面のいずれかが省略される(つまり、自動演奏ピアノPA又はPBのいずれか一方のみでピアノ演奏の入力が行われる)局面があってもよい。
また、セッション演奏の終了は、自動演奏ピアノPA,PBの各々において、例えばセッション演奏機能終了スイッチ等の操作により、演奏者が指示する。これにより、各々のマイクロコンピュータにセッション演奏機能の終了指示が与えられ、図4に例示するセッション演奏の動作が終了する。
このように、本発明の第1の実施例によれば、自動演奏ピアノPAの演奏者Aと、自動演奏ピアノPBの演奏者Bは、お互いのピアノ演奏を電子音で聞き、且つ、お互いのピアノ演奏による鍵盤の動きを見ながら、相手が行った演奏に応答するセッション演奏を行うことができる。相手が行った演奏は電子的楽音によって発音されるので、相手側での演奏タイミングに対する電子的楽音の発音タイミングの遅延は、インターネットNの通信遅延時間のみである。一方、相手が行った演奏による鍵の非打弦駆動には、制御系18で遅延が生じる。しかし、非打弦駆動は、鍵の動きを見せるだけに過ぎず、楽音の発音を伴わない。従って、駆動制御系18に生じる遅延は、円滑なセッション演奏の妨げにならないものとして、許容することができる。よって、本発明の第1の実施例によれば、通信ネットワークを介して接続された2台以上の自動演奏ピアノを用いて、遅延の影響を気にすることなく、円滑なセッション演奏が行えるようになる。
〈第2の実施例〉
図5は、この発明にかかる第2の実施例の演奏システムの概要を説明するための図である。自動演奏ピアノPA,PBの構成は、前記第1の実施例と概ね同様である。前記第1の実施例と第2の実施例の違いを、図5を参照して説明する。上記第1の実施例では、セッション演奏相手側のピアノ演奏により鍵を非打弦駆動すると共に、該相手側の演奏に応じた楽音を電子的に発生する構成を示した。これに対して、第2の実施例においては、相手側の演奏により鍵の自動駆動を行い、該鍵の自動駆動により打弦発音が行われる。これを実現するために、第2の実施例に示す演奏システムおいては、図5に示す通り、各自動演奏ピアノPA、PBの各々には、演奏者によって押鍵操作が行われたときに、センサ19から出力される検出信号に基づき、当該押鍵操作による鍵の軌道を予測する軌道予測モジュール25が具備され、該軌道予測モジュール25において生成された「予測軌道情報」を、操作情報としてセッション演奏の相手側に送信することに主要な特徴がある。ここで、操作情報として軌道予測モジュール25から出力される軌道情報(予測軌道)とは、時刻情報と、当該時刻における鍵の位置値rx、速度値rv及び操作された鍵の鍵番号(ノートナンバ)を1つのセットとし、時刻ごとの軌道情報(予測軌道)により鍵の位置、及び速度の時間変化を連続的に表現することで、1つの打鍵軌道(予測軌道)を表すデータである。この種の軌道情報のフォーマットの詳細は、例えば「特開2006−178197号公報」等の記載を参照されたい。
図5は、この発明にかかる第2の実施例の演奏システムの概要を説明するための図である。自動演奏ピアノPA,PBの構成は、前記第1の実施例と概ね同様である。前記第1の実施例と第2の実施例の違いを、図5を参照して説明する。上記第1の実施例では、セッション演奏相手側のピアノ演奏により鍵を非打弦駆動すると共に、該相手側の演奏に応じた楽音を電子的に発生する構成を示した。これに対して、第2の実施例においては、相手側の演奏により鍵の自動駆動を行い、該鍵の自動駆動により打弦発音が行われる。これを実現するために、第2の実施例に示す演奏システムおいては、図5に示す通り、各自動演奏ピアノPA、PBの各々には、演奏者によって押鍵操作が行われたときに、センサ19から出力される検出信号に基づき、当該押鍵操作による鍵の軌道を予測する軌道予測モジュール25が具備され、該軌道予測モジュール25において生成された「予測軌道情報」を、操作情報としてセッション演奏の相手側に送信することに主要な特徴がある。ここで、操作情報として軌道予測モジュール25から出力される軌道情報(予測軌道)とは、時刻情報と、当該時刻における鍵の位置値rx、速度値rv及び操作された鍵の鍵番号(ノートナンバ)を1つのセットとし、時刻ごとの軌道情報(予測軌道)により鍵の位置、及び速度の時間変化を連続的に表現することで、1つの打鍵軌道(予測軌道)を表すデータである。この種の軌道情報のフォーマットの詳細は、例えば「特開2006−178197号公報」等の記載を参照されたい。
図6は、図5に示す第2の実施例の演奏システムによるセッション演奏の手順の一例を説明するためのフローチャートである。セッション演奏の流れは、前記図4に示すフローチャートと概ね同様である。第2の実施例では、打鍵操作(図6のステップS16,S21,S26)に応じて生成される情報が「予測軌道」である点(図6のステップS17,S22,S27)、及び、2台の自動演奏ピアノPA,PBの間で送受信される操作情報が、「予測軌道」である点(図6のステップS18,S19及びステップS23,S24)並びに、セッション相手から受信した予測軌道に基づく鍵駆動(ステップS20,S25)により、アコースティックの楽音が発音される点が、図4に示す第1の実施例とは異なる。
以下に、第2の実施例によるセッション演奏において、1つの自動演奏ピアノにおいてCPU20が実行する制御を詳細に説明する。図7は、自動演奏ピアノPAのCPU20が実行する制御処理の全体的な流れを示すフローチャートである。まず、自動演奏ピアノPAの演奏者Aは、セッション演奏機能開始スイッチ等の操作により、セッション演奏機能の開始指示をCPU20に与えられる。このとき、セッション相手の自動演奏ピアノPBでも同様にセッション演奏機能の開始が指示される(若しくは既にセッション演奏機能を開始している)ものとする。セッション演奏機能開始が指示されると、先ず、自動演奏ピアノPAでは、当該演奏システムでセッション演奏を開始するための初期処理を実行することで、演奏システムにおいてインターネット通信にかかる通信遅延時間を予め測定しておく(ステップS29)。ここで、通信遅延時間を測定しておくことで、後述する通り、軌道予測モジュール25で予測軌道を作成するときに、インターネット通信にかかる通信遅延を補償することができる。
前記ステップS29の初期処理が終了した後、CPU20は、所定の1クロックT毎に、鍵番号「1」の鍵から順に88鍵の全ての鍵について1鍵ずつ図9に示す鍵制御処理を行う(図7のステップS30〜S34B)。クロックTは、88鍵の全ての鍵について鍵制御処理を実行する時間を規定するクロック信号でって、クロックTが1クロック経過する時間内で、88鍵の全ての鍵について鍵制御処理が実行される。また、クロックTは、後述する遅延時間Dを計時する時間単位となる。クロックTの1クロックの時間は、例えば1ms(1ミリ秒)とする。以下に、1クロックT毎に、CPU20が実行する図7のステップS30以下の処理について説明する。ステップS30において、CPU20は、鍵制御処理対象の鍵番号レジスタに鍵番号「1」をセットして、ステップS31において、該鍵番号「1」の鍵について鍵制御処理を行う。鍵制御処理の詳細は、図9を参照して、後に述べる。1つの鍵について鍵制御処理が終わったら、ステップS32において、CPU20は、鍵制御処理対象の鍵番号レジスタの値を1つ進めて(ステップS33)、鍵番号レジスタの値が88よりも大きいかどうか調べる(ステップS34)。鍵番号レジスタの値が88以下であれば(ステップS34のNO)、ステップS31以下を繰り返す。すなわち、CPU20は、鍵番号「1」の鍵について鍵制御処理を行った後に、ステップS31〜S33の処理を繰り返すことで、鍵番号「1」の鍵から順に88鍵の全ての鍵について1鍵ずつ鍵制御処理を行う。CPU20は、88鍵の全ての鍵について鍵制御処理を行った後(ステップS35のYES)、ステップS34Bにおいて、ユーザによってセッション演奏の終了が指示されたかどうかを調べる。ユーザがセッション演奏の終了を指示していなければ(ステップS34BのNO)、ステップS34Aにおいて、当該1クロックTの終了を待つ。そして、当該1クロックTが終了したら、CPU20は、処理をステップS30に戻す。これにより、CPU20は、次回のクロックTの時間内に、再び、鍵番号「1」の鍵から順に88鍵の全ての鍵について1鍵ずつ鍵制御処理を行うことができる。従って、CPU20は、所定の1クロックT毎に、ステップS30〜S34Bのループを繰り返し実行して、鍵番号「1」の鍵から順に88鍵の全ての鍵について1鍵ずつ鍵制御処理を行う処理を繰り返すことができる。
図8は、前記ステップS29における初期処理の詳細な手順の一例である。前記ステップS29の初期処理が開始すると、図8に示す通り、自動演奏ピアノPAからセッション相手の自動演奏ピアノPBに対して所定のイベントコードを送信し、自動演奏ピアノPAでは該イベントコード送信時刻tAを記録しておく(ステップS35)。なお、前記イベントコード送信時刻は、所定のクロックT単位で計時されるものとする。自動演奏ピアノPBでは、自動演奏ピアノPAから所定のイベントコードを受信すると、直ちに前記所定のイベントコードを返信する(ステップS36)。自動演奏ピアノPAでは、前記ステップS36にて返信された所定のイベントコードの受信時刻tBを記録する(ステップS37)。上記記録した時刻tA、tBよりインターネット通信にかかる遅延時間D=(tB‐tA)/2を求めることができる(ステップS38)。このように、時刻tA、tBの時間間隔の1/2の値により、自動演奏ピアノPAと自動演奏ピアノPB間で情報を送るのにかかる遅延時間Dを得る。すなわち、通信遅延時間Dを学習することができる。なお、図8の処理を複数回実行して、その平均を取ることでより信頼性の高い遅延時間Dを求めても良い。
図9は、前記ステップS31における鍵制御処理の手順の一例を示すフローチャートである。前記図7のステップS30〜S34Bに示す通り、1クロックTの間にCPU2が実行する88鍵分の鍵制御処理は1鍵ずつ行なわれるもので、各鍵の鍵制御処理は同様な手順で行われる。よって、ここでは、自動演奏ピアノPAの或る1つの鍵1Aを対象にした鍵制御処理について説明する。
以下の説明において、1つの鍵1Aについての鍵制御処理は、(a)「操作検出処理」と(b)「鍵駆動処理」との2つの部分からなる1連の処理である。従って、1クロックT毎に図9(a),(b)の処理が実行される。1つの鍵の状態は、(1)演奏者Aによる打鍵操作中、(2)自動演奏ピアノPBからの操作情報(予測軌道)に基づく自動駆動中、及び、(3)レスト位置にある状態(動きなし)の3状態がある。
以下の説明において、1つの鍵1Aについての鍵制御処理は、(a)「操作検出処理」と(b)「鍵駆動処理」との2つの部分からなる1連の処理である。従って、1クロックT毎に図9(a),(b)の処理が実行される。1つの鍵の状態は、(1)演奏者Aによる打鍵操作中、(2)自動演奏ピアノPBからの操作情報(予測軌道)に基づく自動駆動中、及び、(3)レスト位置にある状態(動きなし)の3状態がある。
また、図10は、自動演奏ピアノPA及びPBが実行する操作情報(予測軌道)生成処理及び鍵駆動処理の構成を機能的に示すブロック図であって、操作情報生成処理の構成要素と、鍵駆動処理の構成要素とをそれぞれ点線で囲む。自動演奏ピアノPA及びPBは、共通の構成要素で構成されており、図面上では、自動演奏ピアノPA側の各構成要素及び信号を表す符号の末尾にアルファベット文字「A」を付与し、また、自動演奏ピアノPB側の各構成要素及び信号を表す符号の末尾にアルファベット文字「B」を付与することで、自動演奏ピアノPA側の各構成要素と自動演奏ピアノPB側との区別をつけている。なお、明細書本文中では、必要に応じて符号末尾のアルファベット文字により装置の区別を明示するが、その必要のない場合は該アルファベット文字の表示は省略する。ここでは、一例として、自動演奏ピアノPAの構成について説明する。
操作情報(予測軌道)生成のための構成要素は、キーセンサ(位置センサ)6から出力される位置データyxAaをディジタル信号yxAdに変換するAD変換部27と、AD変換部27の出力yxAdを正規化する正規化部28と、正規化部28から出力される正規化位置値yxAに基づき正規化速度値yvAを計算する速度値生成部29と、正規化位置値yxAと正規化速度値yvAに基づき、セッション演奏相手の自動演奏ピアノPBに与える操作情報(予測軌道)rBを生成する操作情報生成部30とからなる。操作情報生成部30で生成される操作情報rBは、時刻情報と、当該時刻における鍵の位置値rxB、速度値rvB及び操作された鍵の鍵番号(ノートナンバ)からなる。これら操作情報生成のための構成要素は、前記図2における演奏検出部13と検出後処理部14に相当するもので、操作情報生成部30には前記図5に示す「軌道予測モジュール25」が含まれる。操作情報生成部30で生成された操作情報rBは操作情報送信部31からインターネットを介してセッション演奏相手の自動演奏ピアノPBへ送信される。操作情報送信部31は通信I/F15の機能である。
一方、鍵駆動のための構成要素は、セッション演奏相手の自動演奏ピアノPBから操作情報受信部38を介して受信した操作情報(予測軌道)rAに基づき目標位置値rxAと目標速度値rvAを生成する目標値生成部32と、目標位置値rxAと正規化位置値yxAの差exAを求める減算器33と、目標速度値rvAと正規化速度値yvAの差evAを求める減算器35と、減算器33から出力されるexAを増幅する位置増幅部34と、減算器35から出力されるevAを増幅する速度増幅部36と、位置増幅部34から出力されるuxAと速度増幅部36から出力されるuvAを加算する加算器37と、加算器37から出力されるディジタル信号uAをPWM形式の電流信号に変換するPWM発生器24とからなる。これら鍵駆動のための構成要素は主に前記図2におけるサーボコントローラ12に相当する。
図9に示す鍵制御処理の手順の一例について、図10を参照しつつ、説明する。図9(a)のステップS40〜S42において、現在鍵制御処理の対象である或る1つの鍵1に対応するキーセンサ6(位置センサ)から当該鍵1の現在位置データyxAaを取得し、AD変換部27が位置データyxAaをディジタル信号yxAdに変換し、正規化部28が該AD変換部27から出力された位置データyxAdを正規化する処理を行う。ステップS43において、正規化部28から出力される正規化位置値yxAの値を調べ、yxA>0ならば当該鍵が演奏者Aによる打鍵操作中と判断し、処理をステップS44に進める。
ステップS44では、軌道予測モジュール25による軌道予測処理(後述の図11を参照)を実行し、予測軌道を算出する。そして、ステップS45において、前記算出した予測軌道を操作情報に設定し、ステップS46において、前記操作情報をセッション演奏相手の自動演奏ピアノPBへ送信する。この実施例では、後述の同一鍵について略同タイミングで演奏者による打鍵操作及びセッション演奏相手の自動演奏ピアノから受信した操作情報に基づく鍵の自動駆動が行われる場合には、演奏者による打鍵操作(手弾き演奏)を優先する。従って、演奏者Aによる打鍵操作中の場合は、次に述べる図9(b)の処理は行わずに、当該鍵1についての鍵制御処理を終了する。なお、図9(a)の処理は、図10に示す操作情報(予測軌道)生成のための構成要素が担う処理である。
一方、前記ステップS43において、yxA≦0ならば当該鍵1がレスト位置にあるものと判断する(ステップS43のNO)。この場合、当該鍵1は演奏者Aによる打鍵操作中ではなく、自動演奏ピアノPBからの操作情報(予測軌道)に基づき自動駆動されうる状態にあるため、図9(b)の鍵駆動処理に進む。
図9(b)のステップS47において、セッション演奏相手の自動演奏ピアノPBから出力された操作情報rAを受信する処理を行う。当該鍵1について操作情報rAが受信されたら(ステップS47のYES)、ステップS48において操作情報rAに含まれる位置値rxAにより、該操作情報rAにより指示される打鍵軌道の軌道フェーズを調べ、rxA>0ならば、ステップS49以下の処理により鍵の駆動制御を行う(ステップS48のYES)。
ステップS49において、目標値生成部32は、前記受信した操作情報rAに基づき目標位置値rxAと目標速度値rvAを生成する。ステップS50では、キーセンサ6から当該鍵1の現在位置データyxAaを取得し、AD変換部27により位置データyxAaをディジタル信号yxAdに変換する処理を行い、ステップS51にて正規化部28により該AD変換部27から出力された位置データyxAdを正規化する処理を行う。正規化部28から出力される正規化位置値yxAは、位置成分のフィードバック信号として利用される。ステップS52において、減算器33は目標位置値rxAと正規化位置値yxAの差を計算し、ステップS53において増幅部34は減算器33の出力信号exAを所定の係数Kxで増幅して、位置成分の駆動信号uxAを出力する。
また、ステップS54において速度生成部29は、前記ステップS51の処理により正規化部28から出力された正規化位置値yxAと、当該鍵1について前回以前の鍵駆動処理起動時に取得した正規化位置値yxA(過去の1又は複数時点での正規化位置値)に基づき、正規化速度値yvAを生成する。この正規化速度値yvAは、速度成分のフィードバック信号として利用される。ステップS55において、減算器35は目標速度値rvAと正規化速度値yvAの差を計算し、ステップS56において増幅部36は減算器35の出力信号evAを所定の係数Kvで増幅して、速度成分の駆動信号uvAを出力する。
そして、ステップS57において、加算器37は、位置成分の駆動信号uxAと速度成分の駆動信号uvAを加算して駆動信号uAを生成し、ステップS58においてPWM発生器24は前記駆動信号uAをPWM信号に変換して、ステップS59においてPWM発生器24から出力されるPWM信号に基づきソレノイド5を駆動する。これにより、現在鍵制御処理の対象の鍵1が自動的に駆動される。
一方、前記ステップS48において、操作情報rAに含まれる位置値rxA≦0ならば当該鍵1の打鍵動作が終了してレスト位置に戻ったものと判断、つまり、セッション演奏相手の自動演奏ピアノPBからの1打鍵分の操作情報rAが終了したものとみなし、鍵駆動処理を終了する(ステップS48のNO)。
前記ステップS44で実行される軌道予測処理の手順の一例について、図11を参照して説明する。軌道予測処理は、軌道予測モジュール25の動作に対応する。この明細書において、打鍵軌道は、前述の通り、「レスト」、「押鍵」、「エンド」、及び、「離鍵」の4つの軌道フェーズにより定義されるもので、打鍵操作に応じて「レスト」、「押鍵」、「エンド」、「離鍵」、「レスト」の順で軌道フェーズは遷移する。図12に鍵の軌道フェーズのモデルを示す。「レスト」、「押鍵」、「エンド」、「離鍵」、「レスト」からなる一連の軌道が通常の打鍵であり、また、鍵をエンド位置まで押し込まない、又は、レスト位置まで戻しきらないハーフストローク奏法の場合、「押鍵」と「離鍵」を短絡する。1つのフェーズの軌道は1つの二次関数式で表すことができる。フェーズ切り替え時点(フェーズ境界)からクロックTをn個カウントした時点(nクロック経過後)軌道は、下記式(1)に示す2次関数式で表現することができる。
X[n]=A[n]/2*t[n]^2+V[n]*t[n]・・・式(1)
なお、式(1)中の「*」は乗算、「^2」は二乗をそれぞれ表す。
式(1)において、変数X[n]は軌道の位置、変数t[n]はnクロック経過時刻「n*T」、変数A[n]はnクロック経過時刻における推定加速度、また、変数V[n]はnクロック経過時刻における推定初速度である。
X[n]=A[n]/2*t[n]^2+V[n]*t[n]・・・式(1)
なお、式(1)中の「*」は乗算、「^2」は二乗をそれぞれ表す。
式(1)において、変数X[n]は軌道の位置、変数t[n]はnクロック経過時刻「n*T」、変数A[n]はnクロック経過時刻における推定加速度、また、変数V[n]はnクロック経過時刻における推定初速度である。
ステップS60において、キーセンサ6の出力信号から当該鍵1の現在の位置データを取得し、nクロック経過時点における位置データをRAM22にバッファする。なお、位置データは、AD変換部27でディジタル信号に変換され、正規化部28で正規化されたデータである。ステップS61において速度生成部29は位置データyx[n]と、現時点(フェーズ境界からnクロック経過時点)よりも1クロックT前の時点での位置データyx[n-1]に基づき、nクロック経過時点における速度データyv[n]を生成し、これをRAM22にバッファする。
速度データyv[n]は、下記式(2)で求める。
yv[n]=(yx[n]-yx[n-1])/T・・・式(2)
つまり、速度データyv[n]は1クロック分の時間Tにおける鍵の位置変化を表す。
速度データyv[n]は、下記式(2)で求める。
yv[n]=(yx[n]-yx[n-1])/T・・・式(2)
つまり、速度データyv[n]は1クロック分の時間Tにおける鍵の位置変化を表す。
ステップS62において、前記位置データyx[n]と前記速度データyv[n]とに基づき、現時点で軌道フェーズの切り替えがあるかどうかを判定する。
すなわち、今回のクロックTのカウントタイミングで位置データyx[n]≦0mmになったならば離鍵フェーズからレストフェーズへ切り替わるフェーズ境界であり、また、今回のクロックTのカウントタイミングで位置データyx[n]≧10mmになったならば押鍵フェーズからエンドフェーズへ切り替わるフェーズ境界である。また、位置データyx[n]=0mm又は離鍵フェーズ中に速度データyv[n]>0になったならば、レストフェーズ若しくは離鍵フェーズから押鍵フェーズへ切り替わるフェーズ境界であり、また、位置データyx[n]=10mm又は押鍵フェーズ中に速度データyv[n]<0になったならば、エンドフェーズ若しくは押鍵フェーズから離鍵フェーズへ切り替わるフェーズ境界である。
すなわち、今回のクロックTのカウントタイミングで位置データyx[n]≦0mmになったならば離鍵フェーズからレストフェーズへ切り替わるフェーズ境界であり、また、今回のクロックTのカウントタイミングで位置データyx[n]≧10mmになったならば押鍵フェーズからエンドフェーズへ切り替わるフェーズ境界である。また、位置データyx[n]=0mm又は離鍵フェーズ中に速度データyv[n]>0になったならば、レストフェーズ若しくは離鍵フェーズから押鍵フェーズへ切り替わるフェーズ境界であり、また、位置データyx[n]=10mm又は押鍵フェーズ中に速度データyv[n]<0になったならば、エンドフェーズ若しくは押鍵フェーズから離鍵フェーズへ切り替わるフェーズ境界である。
前記ステップS62において軌道フェーズの切り替えがあると判断された場合(フェーズ境界の場合)には、ステップS63において、クロックTの経過数n、位置データyx[n]、速度データyv[n]及び加速度データya[n]のそれぞれに、次のような初期値を設定する。すなわち、
yx0=yx[n−1]、yx1=yx[n]
n=1
yv0=0、yv1=(yx1−yx0)/T
ya0=0、ya1=0
を初期値として設定する。これにより、フェーズの切り替えがあったときには、各クロック時点におけるクロックTの経過数n、位置データyx[n]、速度データyv[n]及び加速度データya[n]のデータのバッファ内容が初期化されることになる。
yx0=yx[n−1]、yx1=yx[n]
n=1
yv0=0、yv1=(yx1−yx0)/T
ya0=0、ya1=0
を初期値として設定する。これにより、フェーズの切り替えがあったときには、各クロック時点におけるクロックTの経過数n、位置データyx[n]、速度データyv[n]及び加速度データya[n]のデータのバッファ内容が初期化されることになる。
また、前記ステップS62において軌道フェーズの切り替えがないと判断された場合は、前記ステップS63の初期値設定を行わずにステップS64に進む。ステップS64においては、nクロック経過時点の速度データyv[n]と1クロックT前の速度データyv[n-1]とに基づき、下記式(3)により加速度データya[n]を生成する。
ya[n]=(yv[n]-yv[n-1])/T・・・式(3)
ya[n]=(yv[n]-yv[n-1])/T・・・式(3)
ステップS65において、下記式(4)により、現時点(つまりnクロック経過時点)での推定初速度Vv[n]を算出する。
Vv[n]={(2*n-1)*yv[n-1]-(2*n-3)*yv[n])}/2・・・式(4)
ここで、現時点(フェーズ境界からnクロック経過時点)から2クロック前の時点までの3時点の鍵の位置を1つの軌道で表す式を想定し、該想定した軌道から推定初速度Vv[n]を求めている。また、現時点(つまりnクロック経過時点)での推定加速度は、前記ステップS64において式(3)により求めた加速度データya[n]と同じである。nクロック経過時点での推定初速度Vv[n]と推定加速度ya[n]はRAM22にバッファされる。
Vv[n]={(2*n-1)*yv[n-1]-(2*n-3)*yv[n])}/2・・・式(4)
ここで、現時点(フェーズ境界からnクロック経過時点)から2クロック前の時点までの3時点の鍵の位置を1つの軌道で表す式を想定し、該想定した軌道から推定初速度Vv[n]を求めている。また、現時点(つまりnクロック経過時点)での推定加速度は、前記ステップS64において式(3)により求めた加速度データya[n]と同じである。nクロック経過時点での推定初速度Vv[n]と推定加速度ya[n]はRAM22にバッファされる。
ステップS66において、クロック値n=1から現時点(nクロック経過時点)までの各時点における推定初速度をRAM22から読み出し、該読み出したVv[1]〜Vv[n]の平均により、推定初速度V[n]=(Vv1+・・・+Vv[n])/nを求め、また、クロック値n=1から現時点(nクロック経過時点)までの各時点における推定加速度ya[2]〜ya[n]をRAM22から読み出し、該読み出したya[2]〜ya[n]の平均により、推定加速度A[n]=(ya2+・・・+ya[n])/(n−1)を求める。
これを前記式(1)に代入することで、
推定軌道X[n]=A[n]/2*t[n]^2+V[n]*t[n]・・・式(1)
を求めることができるので、1つのフェーズごとの推定軌道X[n]を得ることになる。
これを前記式(1)に代入することで、
推定軌道X[n]=A[n]/2*t[n]^2+V[n]*t[n]・・・式(1)
を求めることができるので、1つのフェーズごとの推定軌道X[n]を得ることになる。
ステップS67において、前記図8に示す初期処理により設定した遅延時間D(なお、遅延時間DはクロックT単位で記述された時間情報)をRAM22から読み出し、該読み出した遅延時間Dと前記ステップS66で求めた推定軌道X[n]に基づき、遅延時間D後の軌道を予測する処理を行う。つまり、推定軌道X[n]の位置成分について、遅延時間D後の予測位置rx[n]を下記式(5)により求めると共に、推定軌道X[n]の速度成分について、遅延時間D後の予測速度rv[n]を下記式(6)により求める。
予測位置rx[n]=A[n]/2*t[n+D]^2+V[n]*t[n+D]・・・式(5)
予測速度rv[n]=A[n]*t[n+D]+V[n]・・・式(6)
予測位置rx[n]=A[n]/2*t[n+D]^2+V[n]*t[n+D]・・・式(5)
予測速度rv[n]=A[n]*t[n+D]+V[n]・・・式(6)
上記図9〜図11を参照して説明した鍵制御処理は、1つの鍵について処理である。
よって、自動演奏ピアノPAでは、既に述べたとおり、1クロックT毎に88鍵の全ての鍵について1鍵ずつ上記図9〜図11を参照して説明した鍵制御処理を実行する。また、セッション演奏相手の自動演奏ピアノPBのCPU20も、上記図7〜図11に示す制御処理と同様な手順により、1クロックT毎に88鍵の全ての鍵について1鍵ずつ鍵制御処理を行う。
よって、自動演奏ピアノPAでは、既に述べたとおり、1クロックT毎に88鍵の全ての鍵について1鍵ずつ上記図9〜図11を参照して説明した鍵制御処理を実行する。また、セッション演奏相手の自動演奏ピアノPBのCPU20も、上記図7〜図11に示す制御処理と同様な手順により、1クロックT毎に88鍵の全ての鍵について1鍵ずつ鍵制御処理を行う。
このように、第2の実施例によれば、予測位置rx[n]及び予測速度rv[n]からなる予測軌道を求めて、操作情報としてセッション演奏相手の自動演奏ピアノPBへ送信することができる。軌道予測モジュール25は、フェーズごとの予測軌道を二次関数で表現し、現時点の鍵の位置によりフェーズごとの予測軌道を算出するので、例えば押鍵フェーズについて考えれば、実際の押鍵操作による軌道が確定すること(鍵がエンド位置に至る)を待たずに、当該フェーズを表す予測軌道をセッション演奏相手に送信することができる。また、予測軌道は、推定軌道に対して更に通信遅延時間Dを補償するものである。よって、第2の実施例によれば、インターネットN越しに2台の自動演奏ピアノPA,PBを用いてセッション演奏を行う際に生じる通信遅延及び駆動遅延を効果的に補償することができる。図13及び図14に、実際の打鍵軌道と、それに対応する推定軌道及び予測軌道をそれぞれ示す。図13は位置成分についての時間的変化を示し、図14は速度成分についての時間的変化を示している。実際の打鍵軌道を先取りした予測軌道を求めることで、遅延補償できることが、図13及び図14から読み取れる。また、軌道予測モジュール25による予測軌道の計算はクロックTごとに行われるので、予測軌道を表す二次関数の係数は、クロックT毎に随時更新される。よって、実際に行われた打鍵操作に可及的近似した予測軌道を生成できる。
更に、上記第2の実施例によれば、軌道予測モジュール25で生成した打鍵軌道(予測軌道)に基づき鍵の自動駆動を行うので、セッション演奏相手の演奏内容を、発音タイミング、発音ベロシティ、止音タイミング及び止音ベロシティの4つの要素について正確に、データ再生側の自動演奏ピアノで再現することが可能となる。このことから、例えば、いわゆる「ハーフストローク奏法」や、ハンマによる打弦が行われないように低速で押鍵する奏法など特殊な奏法の再現、それら特殊な奏法による微妙な音色の違い、打鍵加速度に応じた音色の違いなど、各種な繊細なピアノ演奏も、データ再生側の自動演奏ピアノで再生することが可能となる。また、上記第2の実施例によれば、遅延時間Dの値を、軌道予測モジュール25で生成した予測軌道に基づく打鍵の強さ(軌道の傾き)に応じた値に設定するよう構成し、これにより、再生すべき打鍵の強さに応じて最適な遅延時間を使って遅延補償することも可能である。例えば、図11のステップS67で推定軌道X[n]に基づく予測位置及び予測速度の計算を行う前に、読み出した遅延時間Dを該推定軌道X[n]の傾きに基づき補正することで、これは実現しうる。
通信遅延時間の測定方法の変更例を図15に示す。この例では、自動演奏ピアノPA、PBの双方は装置内に時計データを持つ。時計データは、西暦年数、月、日、時、分、秒からなり、1秒ごとに更新されるデータである。更に、自動演奏ピアノPA、PBの双方は、時計データの下位に、1秒よりも細かい分解能の相対クロック値ttを持つ。相対クロック値ttは、1秒の更新機会ごとに値が「0」に戻り、値のカウントを再開するものである。
まず、自動演奏ピアノPA,PBの双方は、演奏システムの起動時(セッション演奏機能の起動時)に、電波時計など時刻あわせの基準となる外部の基準時間に、各自の時計データを合わせる処理を行う(ステップS68)。自動演奏ピアノPAは、自動演奏ピアノPBに所定のイベントコードと現時点のクロック値ttAとを送信する(ステップS69)。自動演奏ピアノPBは、前記自動演奏ピアノPAから所定のイベントコードと現時点のクロック値ttAを受信すると、受信時点の自機のクロック値ttBをRAM22に記録すると共に、クロック値ttBとクロック値ttAの差により、自動演奏ピアノPAから自動演奏ピアノPBへデータ送信するときの遅延時間DABを算出する(ステップS70)。また、自動演奏ピアノPBは、自動演奏ピアノPAに所定のイベントコードと現時点のクロック値ttB´とを送信する(ステップS71)。自動演奏ピアノPAは、前記自動演奏ピアノPBから所定のイベントコードと現時点のクロック値ttB´を受信すると、受信時点の自機のクロック値ttA´をRAM22に記録すると共に、クロック値ttA´とクロック値ttB´の差により、自動演奏ピアノPBから自動演奏ピアノPAへデータ送信するときの遅延時間DBAを算出する(ステップS72)。自動演奏ピアノPAは自動演奏ピアノPBに遅延時間DBAを送信し、自動演奏ピアノPBは自動演奏ピアノPAに遅延時間DABを送信することで、お互いに相手へデータ通信する際の遅延時間を得ることができる(ステップS73)。なお、自動演奏ピアノPBで遅延時間DABを算出した後で、自動演奏ピアノPBから自動演奏ピアノPAに所定のイベントコードと現時点のクロック値ttB´を送るときに遅延時間DABも一緒に送信すれば、通信回数を1回分減らすことができる。なお、電波時計などによって各自の時計データ合わせ処理は、初期処理時だけでなく、随時行われても良い。また、これを複数回行うことでより信頼性の高い遅延時間を測定してもよい。
また、上記図8に示す初期処理により遅延時間Dを測定する場合には、遅延時間Dの測定機会は、演奏システムの起動時(セッション演奏機能の起動時)のみである。図16は、図8に示す測定方法による遅延時間Dの測定を随時行う方法の手順の一例を示す。ここでは一例として、自動演奏ピアノPAのいずれかの鍵がエンド位置に至るたびに遅延時間Dを測定するものとする。図16のステップS74〜S77の処理と、前記図8のステップS35〜S38の処理の違いは、前記図8のステップS35においては演奏システムの起動時に自動演奏ピアノPAから自動演奏ピアノPBに所定のイベントコードを送信し、クロック値tAを記録していたところが、図16のステップS74においては自動演奏ピアノPAのいずれかの鍵の押鍵操作がエンド位置に到ったときに自動演奏ピアノPAから自動演奏ピアノPBに所定のイベントコードを送信し、クロック値tAを記録するよう変更するのみであり、後は同様である。これにより、自動演奏ピアノPAのいずれかの鍵がエンド位置に至るたびに遅延時間Dを測定できる。この場合、軌道予測モジュール25により予測軌道の計算に用いる遅延時間Dは、常に最新の遅延時間Dを利用できるので、通信状況の変動による遅延時間のゆらぎにも柔軟に対応できる。また、直近過去複数回の測定値の平均値を遅延時間Dの最新の値として採用してもよい。
また、図8、図15又は図16では、自動演奏ピアノPA,PB間のインターネット通信における通信遅延時間Dの測定(通信遅延の学習)について述べた。既に述べたとおり当該演奏システムで発生する遅延には、通信遅延と制御系18での駆動遅延との2つの遅延がある。図17の打鍵軌道図は、自動演奏ピアノPAで行った打鍵操作軌道tEAと、該打鍵操作軌道tEAに対応して自動演奏ピアノPBが受信する操作情報trEBと、該操作情報trEBに基づき駆動された鍵の軌道tEBの各軌道を示す。図17から明らかな通り、打鍵操作tEAと操作情報trEBの間には通信遅延が入り、操作情報trEBと軌道tEBの間には駆動遅延が入っている。
第2の実施例において、駆動遅延を含めた遅延時間を測定する(駆動遅延時間学習を行う)ことで、図11の軌道予測処理による軌道予測精度を向上させて、より的確な遅延補償を行うことができるようになる。図18は、駆動遅延の測定方法の手順の一例を示すフローチャートである。なお、この処理は、前記図8の初期処理による通信遅延時間Dの測定と連携して実行することを前提としている。
ステップS78において、自動演奏ピアノPAで行われた押鍵操作により鍵がエンド位置まで押し込まれたことをキーセンサ6が検出したら、自動演奏ピアノPAから自動演奏ピアノPBに所定のイベントコードが送信され、また、自動演奏ピアノPAはこの時点のクロック値tEAをRAM22に記録する。ここで、エンド位置を基準にしてクロック値tEAの記録を行うことで、実際の押鍵操作による押鍵フェーズが終了した時点のクロック値を得ることができる。ステップS79において自動演奏ピアノPBは、自動演奏ピアノPAから所定のイベントコードを受信した時点の自機のクロック値trEBをRAM22に記録する。このクロック値trEBは、自動演奏ピアノPAでの押鍵操作による押鍵フェーズが実際に終了した時刻に通信遅延時間が付加された時刻を表す。ステップS80において、前記ステップS78の自動演奏ピアノPAにおける押鍵操作に対応して、自動演奏ピアノPBの鍵がエンド位置まで駆動されたことをキーセンサ6が検出すると、自動演奏ピアノPBは、その時点のクロック値tEBをRAM22に記録して、クロック値tEBとクロック値trEBの差を求めることで、自動演奏ピアノPBの制御系18における駆動遅延時間DrBを得る。そして、ステップS81において、自動演奏ピアノPBは算出した駆動遅延時間DrBを自動演奏ピアノPAに送信する。ステップS82において初期処理で求めた通信遅延時間Dに、前記自動演奏ピアノPBで算出した駆動遅延時間DrBを合算した遅延時間DD(つまり、通信遅延と駆動遅延の両方を合わせた遅延時間)を、前記図11の軌道予測処理に使用することができる。
上記図18の駆動遅延測定処理は、図6に示すセッション演奏の動作中に挿入されてよい。また、駆動遅延時間DrBの測定は1度だけ行い、セッション演奏の継続中は1つの動遅延時間DrBを使い続けてよい。また、駆動遅延時間DrBを随時測定して、最新の値を測定値として採用したり、或いは、直近過去複数回の平均値を測定値として用いてもよい。また、図18の例では鍵がエンド位置に到ったことを基準にクロック値の記録を行う構成を示したが、クロック値記録のための基準位置は、エンド位置に限らず、例えば鍵ストローク範囲の中間位置など適宜の位置でもよい。また、クロック値記録のための基準位置が複数箇所設定されていてもよい。自動演奏ピアノPA側でも同様の手順で駆動遅延時間DrAを算出し、駆動遅延時間DrAを自動演奏ピアノPBで利用してよい。
なお、第2の実施例においては軌道予測モジュール25により生成した予測軌道により遅延補償することが本質である。すなわち、この第2の実施例においても、第1の実施例と同様に、セッション演奏相手のピアノ演奏に対応して、音源16を用いて電子的に楽音を発生するよう構成しても差し支えない。
〈第3の実施例〉
図19は、この発明にかかる第3の実施例の演奏システムの概要を説明するための図である。自動演奏ピアノPA,PBの構成は前記第1の実施例と概ね同様である。前記第1の実施例と第3の実施例の違いを、図19を参照して説明する。第3の実施例においては、相手側の演奏により鍵を非打弦駆動すると共に、相手側の演奏に応じた操作情報(演奏イベント)に対応する楽音を電子的に発生する点は、上記第1の実施例と共通しているが、図19に示す通り、各自動演奏ピアノPA、PBには、演奏者によって押鍵操作が行われたときに、センサ19から出力される検出信号に基づき、演奏イベントを予測するイベント予測モジュール26が具備され、該イベント予測モジュール26において生成された予測演奏イベントを、操作情報としてセッション演奏の相手側に送信することに主要な特徴がある。
図19は、この発明にかかる第3の実施例の演奏システムの概要を説明するための図である。自動演奏ピアノPA,PBの構成は前記第1の実施例と概ね同様である。前記第1の実施例と第3の実施例の違いを、図19を参照して説明する。第3の実施例においては、相手側の演奏により鍵を非打弦駆動すると共に、相手側の演奏に応じた操作情報(演奏イベント)に対応する楽音を電子的に発生する点は、上記第1の実施例と共通しているが、図19に示す通り、各自動演奏ピアノPA、PBには、演奏者によって押鍵操作が行われたときに、センサ19から出力される検出信号に基づき、演奏イベントを予測するイベント予測モジュール26が具備され、該イベント予測モジュール26において生成された予測演奏イベントを、操作情報としてセッション演奏の相手側に送信することに主要な特徴がある。
図20は、図19に示す第3の実施例の演奏システムによるセッション演奏の手順の一例を説明するためのフローチャートであって、押鍵フェーズにおける発音動作ついて記述している。なお、離鍵フェーズにおける止音動作に関しても図20の手順と同様な流れで実現される。第3の実施例では、打鍵操作(図20のステップS83,S90,S97)が行われると、該打鍵操作による押鍵深さをセンサ19で検出し(図20のステップS84,S91,S98)、該検出結果に基づきイベント予測モジュール26により予測打弦情報(予測演奏イベント)を生成し(図20のステップS85,S92,S99)する点、及び、2台の自動演奏ピアノPA,PBの間で送受信される操作情報が、前記「予測打弦情報」である点(図20のステップS86,S87及びステップS93,S94)である点が、図4に示す第1の実施例とは異なる。そのほかは、前記図4に示すフローチャートと概ね同様である。
図21は、イベント予測モジュール26の制御処理の手順の一例を示すフローチャートである。第3の実施例にかかるセッション演奏を行う2台の自動演奏ピアノPA,PBの各々における制御処理の全体的な流れは、前記第2の実施例において図7〜図11を参照して説明した処理と概ね同様であって、所定の初期処理により通信遅延時間Dを測定してから、1クロックT毎に、鍵番号「1」の鍵から順に88鍵の全ての鍵について1鍵ずつ鍵制御処理を実行する。第3の実施例においては、前記図9(a)のステップS44の「軌道予測」処理に代えて、図21に示すイベント予測制御を行う。
イベント予測処理においては、レスト位置から開始した押鍵フェーズに関する演奏イベントであって、押鍵開始からnクロック経過後(クロック値nの時点)のイベント予測処理について記述する。また、この例では、ハンマ3による弦4の打弦時刻は、対応する打鍵操作において鍵1がエンド位置に到達する時刻と同じ時刻とし、また、打弦速度(ベロシティ値)は、鍵の速度V[n]から一意に定めることができるものとする。すなわち、打弦速度vvと鍵の速度V[n]は、vv=m*V[n]の関係にある(なお、「m」は所定の係数)。
ステップS101において、キーセンサ6の出力信号から当該鍵の現在の位置データを取得し、現時点(クロック値nの時点)の位置データyx[n]をRAM22にバッファする。なお、位置データは、AD変換部27でディジタル信号に変換され、正規化部28で正規化されたデータである。ステップS102において、速度生成部29は、位置データyx[n]と、現時点(クロック値n)よりも1クロックT前の時点[n−1]の位置データyx[n-1]に基づき、現時点での速度データyv[n]を生成し、これをRAM22にバッファする。速度データyv[n]は、前記図11のステップS61と同様な式(2)で求める。
yv[n]=(yx[n]-yx[n-1])/T・・・式(2)
yv[n]=(yx[n]-yx[n-1])/T・・・式(2)
ステップS103において、クロック値n=1から現時点(nクロック経過時点)までの各時点における速度データをRAM22から読み出し、該読み出したyv[1]〜yv[n]の平均により、推定速度V[n]=(yv1+・・・+yv[n])/nを求める。ステップS104において、遅延時間D(なお、遅延時間DはクロックT単位で記述された時間情報)をRAM22から読み出し、該読み出した遅延時間Dと、前記ステップ101でバッファした現時点の位置データyx[n]と前記ステップS103で算出した推定速度V[n]に基づき、下記式(7)現時点からクロック値Dの時間経過後の鍵の予測位置rx[n+D]を求める。
rx[n+D]=yx[n]+V[n]*(D*T)・・・式(7)
式(7)において「D*T」により、クロック値で記述された遅延時間Dを絶対時間で表現する。図22は、鍵の予測位置rx[n+D]を求める処理(前記ステップS101〜S104の処理)を説明するための軌道モデルを示している。図22に示す通り、位置データyx[n]を測定し、推定速度V[n](軌道の傾き)を決めれば、現時点からクロック値D(時刻D*T)経過後の位置rx[n+D]を予測できる。
rx[n+D]=yx[n]+V[n]*(D*T)・・・式(7)
式(7)において「D*T」により、クロック値で記述された遅延時間Dを絶対時間で表現する。図22は、鍵の予測位置rx[n+D]を求める処理(前記ステップS101〜S104の処理)を説明するための軌道モデルを示している。図22に示す通り、位置データyx[n]を測定し、推定速度V[n](軌道の傾き)を決めれば、現時点からクロック値D(時刻D*T)経過後の位置rx[n+D]を予測できる。
ステップS105において、前記ステップS104で算出したrx[n+D]の値がエンド位置(鍵の押し下げ深さ10mmの位置)を越えたかどうか判断する。予測位置rx[n+D]の値がエンド位置を越えた時点で(ステップS105のYES)、当該鍵について演奏イベントデータ(打弦情報)を発生することで、実際の打弦タイミング(演奏タイミング)よりも先行して演奏イベントを生成する。そして、実際の打弦タイミングよりも先行して生成した演奏イベントを操作情報としてセッション演奏相手の自動演奏ピアノPBへ送信する(ステップS106)。ノートオンイベントデータは、ノートオン(打弦情報)、ノートナンバ(鍵番号)及びベロシティ値(打弦速度vv)を含むデータで、たとえばMIDI形式のデータで構成される。ここで、ベロシティ値(打弦速度vv)は、前述の通り、推定速度V[n]に所定の係数mを乗算することで求めることができる(vv=m*V[n])。このように、実際の打弦タイミングに先行して生成した演奏イベントをセッション演奏相手の自動演奏ピアノPBへ送信することで、セッション演奏相手の自動演奏ピアノPBが操作情報(演奏イベント)に基づいて実行する再生動作の遅延を補償することができる。
なお、上記の処理では、図22からも分かるとおり、打鍵軌道を、直線軌道(1次関数)とみなしているが、これに限らず、第2の実施例と同様に2次関数とみなして、推定速度V[n]を計算してもよい。
また、第3の実施例に適用する通信遅延時間の測定処理は、第2の実施例において図8、図15又は図16を参照して説明したものと同様であってよい。また、第3の実施例に、第2の実施例において図18を参照して説明した駆動遅延時間の測定処理を適用してもよい。
また、第3の実施例に適用する駆動遅延時間の測定は、該図18に示す処理と同様な考えに基づき、図23に示すように変形することができる。すなわち、図23のステップS107において、自動演奏ピアノPAにおいて実際に打弦が行われたときに、自動演奏ピアノPAから自動演奏ピアノPBに所定のイベントコードが送信され、また、自動演奏ピアノPAはこの時点のクロック値tEAをRAM22に記録する。ステップS108において自動演奏ピアノPBは、自動演奏ピアノPAから所定のイベントコードを受信した時点の自機のクロック値trEBをRAM22に記録する。ステップS109において、自動演奏ピアノPBは、ソレノイド5による押鍵駆動により実際に発音が行われることを監視して、発音が検出されたら、その時点のクロック値tEBをRAM22に記録して、クロック値tEBとクロック値trEBの差を求めることで、自動演奏ピアノPBの制御系18における駆動遅延時間DrBを得る。そして、自動演奏ピアノPBから、前記駆動遅延時間DrBを自動演奏ピアノPAに送信することで(ステップS110)、自動演奏ピアノPAは、通信遅延時間Dのかわりに、通信遅延時間Dと駆動遅延時間DrBを合算した遅延時間DDを、演奏イベント予測処理に使用することができる(ステップS111)。なお、上記ステップS107及びS109における打弦判定ないし発音判定は、ハンマセンサ7により検出してもよいし、キーセンサ6の検出結果に基づき推定してもよい。あるいは、更に別の検出手段(例えば、弦の振動検出手段など)により判定を行うよう構成してもよい。すなわち、打弦判定ないし発音判定は従来から知られるどのような方法を適用しても良い。
なお、第3の実施例において、セッション演奏相手のピアノ演奏を音源で生成した電子音で発音する構成を例示したが、予測された演奏イベントに基づく鍵の自動駆動により、打弦発音を行うよう構成してもよい。
また、第1の実施例において、図8、図15又は図16を参照して説明した通信遅延時間の測定処理や、図18を参照して説明した駆動遅延時間の測定処理を適用し、操作情報の遅延補償を行うよう構成してもよい。
なお、上記第1〜第3の実施例において、演奏システムを2台の自動演奏ピアノPA,PBで構成する例を示したが、演奏システムは2台以上の自動演奏ピアノPA,PBで構成されてよい。また、演奏システムは2台以上の自動演奏ピアノで構成される例に限らず、少なくとも1台がアコースティックの発音機構を備えたピアノ(鍵盤楽器)であれば、その他の装置は鍵の自動駆動機構を備えた電子音源を持つ電子鍵盤楽器で構成されていてもよい。また、本発明を、通信ネットワークを介して接続された2台以上の鍵盤楽器において、一方で行われた演奏操作子の操作を他方において自動制御により再現するときの遅延補償機能と捉えれば、この発明は鍵の駆動に適用することのみならず、ペダルなど、鍵盤楽器に備わるその他の操作子の自動駆動に適用することも可能である。
また、上記第1〜第3の実施例において、演奏操作子の演奏操作を検出する検出手段を構成するキーセンサ6(センサ19)の一例として、鍵1の打鍵動作の全工程について連続的な位置情報を表すアナログ信号を出力できる光学式の位置センサを挙げたが、キーセンサに適用する位置センサの構成は、鍵1の打鍵動作の全工程について連続的な位置情報を表すアナログ信号を出力するものに限らず、楽器鍵盤の位置検出に用いるセンサとして従来から知られるどのような構成であってもよい。また、位置センサに限らず、速度センサによりキーセンサ6を構成して、検出された打鍵動作に関する速度情報に基づき操作情報を生成するよう構成してもよい。また、ハンマセンサ7(センサ19)の構成は、対応する鍵の打鍵動作に応じたハンマ3の動きを、適宜の物理量(好ましくは位置情報、又は速度情報)について検出することができるものであれば、従来から知られるどのような構成であってもよく、ハンマセンサ7が検出したハンマ3の動き(鍵の打鍵動作に応じたハンマ3の演奏操作)を表す物理量(好ましくは位置情報、又は速度情報)に基づき操作情報を生成するよう構成してもよい。
また、上記第1〜第3の実施例において、演奏操作子の演奏操作を検出する検出手段を構成するキーセンサ6(センサ19)の一例として、鍵1の打鍵動作の全工程について連続的な位置情報を表すアナログ信号を出力できる光学式の位置センサを挙げたが、キーセンサに適用する位置センサの構成は、鍵1の打鍵動作の全工程について連続的な位置情報を表すアナログ信号を出力するものに限らず、楽器鍵盤の位置検出に用いるセンサとして従来から知られるどのような構成であってもよい。また、位置センサに限らず、速度センサによりキーセンサ6を構成して、検出された打鍵動作に関する速度情報に基づき操作情報を生成するよう構成してもよい。また、ハンマセンサ7(センサ19)の構成は、対応する鍵の打鍵動作に応じたハンマ3の動きを、適宜の物理量(好ましくは位置情報、又は速度情報)について検出することができるものであれば、従来から知られるどのような構成であってもよく、ハンマセンサ7が検出したハンマ3の動き(鍵の打鍵動作に応じたハンマ3の演奏操作)を表す物理量(好ましくは位置情報、又は速度情報)に基づき操作情報を生成するよう構成してもよい。
また、上記の第2実施例について、図11に示す軌道予測処理おいては、センサ19(キーセンサ6)の出力する位置データに基づき、速度情報と加速度情報を生成して(ステップS61とステップS64)、位置、速度、及び加速度の各情報に基づく推定軌道を算出して(ステップS66)、該算出した推定軌道に基づく予測軌道(予測位置及び予測速度)を算出する(ステップS67)処理構成例を説明したが、センサ19(キーセンサ6)を速度センサにより構成した場合には、センサ19(キーセンサ6)の出力する速度データに基づき、位置情報と加速度情報を生成して(ステップS61とステップS64)、位置、速度、及び加速度の各情報に基づく推定軌道を算出して(ステップS66)、該算出した推定軌道に基づく予測軌道(予測位置及び予測速度)を算出するよう処理を構成する。
また、上記図11の例では、推定軌道に基づく予測位置及び予測速度を予測軌道として算出する例について説明したが、推定軌道に基づく予測位置又は予測速度のいずれか一方を予測軌道として算出して、該算出された予測位置又は予測速度のいずれか一方に基づき鍵を駆動する構成としてもよい。
また、第3実施例について、図21に示すイベント予測処理においては、センサ19(キーセンサ6)の出力する位置データに基づき速度情報を生成して(ステップS102)、生成した速度情報に基づく推定速度を算出して(ステップS103)、センサ19から出力された位置データと算出された推定速度に基づき予測イベントを発生する(ステップS104〜S106)処理構成例を説明したが、センサ19(キーセンサ6)を速度センサにより構成した場合には、センサ19(キーセンサ6)の出力する速度データに基づき、位置情報を生成すると共にセンサ出力たる速度データから推定速度を求めて、位置情報と推定速度に基づく予測イベントを発生するよう構成してもよい。
また、ハンマセンサ7の出力信号を用いて図11の軌道予測処理乃至図21のイベント予測処理を行うよう構成してもよい。その場合には、図11乃至図21の説明について、「キーセンサ6」を「ハンマセンサ7」と読み替えればよい。
また、上記図11の例では、推定軌道に基づく予測位置及び予測速度を予測軌道として算出する例について説明したが、推定軌道に基づく予測位置又は予測速度のいずれか一方を予測軌道として算出して、該算出された予測位置又は予測速度のいずれか一方に基づき鍵を駆動する構成としてもよい。
また、第3実施例について、図21に示すイベント予測処理においては、センサ19(キーセンサ6)の出力する位置データに基づき速度情報を生成して(ステップS102)、生成した速度情報に基づく推定速度を算出して(ステップS103)、センサ19から出力された位置データと算出された推定速度に基づき予測イベントを発生する(ステップS104〜S106)処理構成例を説明したが、センサ19(キーセンサ6)を速度センサにより構成した場合には、センサ19(キーセンサ6)の出力する速度データに基づき、位置情報を生成すると共にセンサ出力たる速度データから推定速度を求めて、位置情報と推定速度に基づく予測イベントを発生するよう構成してもよい。
また、ハンマセンサ7の出力信号を用いて図11の軌道予測処理乃至図21のイベント予測処理を行うよう構成してもよい。その場合には、図11乃至図21の説明について、「キーセンサ6」を「ハンマセンサ7」と読み替えればよい。
なお、上記第2実施例においてはデータ送信側の自動演奏ピアノの軌道予測モジュール25において軌道予測を行い、その出力データをセッション相手に送信する構成例を示し、また、上記第3実施例においてはデータ送信側の自動演奏ピアノのイベント予測モジュール26においてイベント予測を行い、その出力データをセッション相手に送信する構成例を示したが、これに限らず、データ送信側はセンサの出力信号を通信ネットワーク経由でセッション相手(データ受信側)に送信し、通信ネットワーク経由で該センサの出力信号を受信したデータ受信側の軌道予測モジュール25で軌道予測を行い鍵の駆動を制御する構成、すなわち、データ送信側が演奏操作子の演奏操作に応じたセンサ19の出力信号をセッション相手に送信し、データ受信側(セッション相手)が、軌道予測モジュール25を用いて、通信I/F15を介して受信したセンサ19の出力信号に基づく軌道予測を行う構成としてもよい。あるいは、データ受信側のイベント予測モジュール26でイベント予測を行い電子音源を制御する構成、すなわち、データ送信側が演奏操作子の演奏操作に応じたセンサ19の出力信号をセッション相手に送信し、データ受信側(セッション相手)が、イベント予測モジュール26を用いて、通信I/F15を介して受信したセンサ19の出力信号に基づくイベント予測を行う構成としてもよい。この場合、データ送信側に備わるセンサ19として、例えば演奏操作子の位置変化を連続量で検出する連続量センサのように、演奏操作子の動き出し時点(あるいは、それに近い状態)から検出信号を出力できる高度なセンサを適用することで、データ送信側の自動演奏ピアノは、演奏操作開始の早い段階から演奏操作を表す情報を外部に送信することができ、データ受信側の自動演奏ピアノは該演奏操作開始の早い段階から、演奏操作を表す情報に基づく軌道予測又はイベント予測を行うことができるよう構成するとよい。
また、上記第1〜第3の実施例の形態では、セッション演奏実現のために自動演奏ピアノPA、PBの間で双方向通信を行うことを前提として説明を行ったが、データ受信側だけでセッション演奏感覚を楽しむことのみを目的とするのであれば、自動演奏ピアノPA、PBの間の通信は一方向であってもよい。その場合、データ送信側の自動演奏ピアノは、行われた演奏操作を検出し、検出した演奏操作を表す情報を送信する(イベント予測や軌道予測を行うのであれば、その情報を送信する)。データ受信側では、データ送信側の自動演奏ピアノから受信した演奏操作を表す情報に基づき、鍵の駆動や、電子音源の制御を行えばよい。
また、上記第1〜第3の実施例の形態では、自動演奏ピアノPA、PBの間で送受信する情報として、鍵の演奏操作を表す情報を適用する例を示したが、これに限らず、ペダルとその操作に関連する情報を送受信するなど、その他の演奏操作子の操作を表す情報を、自動演奏ピアノPA、PBの間で送受信する情報に適用してもよい。
以上、第1〜第3の実施例に沿って本発明を説明したが、本発明の実施形態は、上記に限定されるものではなく、第1〜第3の実施例に対して、従来から知られる技術による種々の変更、改良、組み合わせを施すことが可能である。
1 鍵、4 弦、15 通信インターフェース、16 音源、18 制御系、19 センサ、25 軌道予測モジュール、26 イベント予測モジュール
Claims (4)
- 通信ネットワークを介してデータ通信可能に接続された少なくとも2台以上の鍵盤楽器からなる演奏システムであって、前記2台以上の鍵盤楽器のうちの、少なくともデータ受信側の鍵盤楽器はアコースティックな発音機構と電子的に楽音を生成する電子音源手段とを備えており、
データ送信側の鍵盤楽器において、
演奏操作子を駆動する駆動手段と、
演奏者による前記演奏操作子の演奏操作を検出する検出手段と、
前記検出手段で検出された演奏操作を表す情報を前記通信ネットワークを介して他の鍵盤楽器へ送信する送信手段と、
データ受信側の鍵盤楽器において、
前記通信ネットワークを介して前記データ送信側の鍵盤楽器から演奏操作を表す情報を受信する受信手段と、
前記受信手段により受信した演奏操作を表す情報に基づき前記電子音源手段により電子的に楽音を生成する発音制御手段と、
前記受信手段により受信した演奏操作を表す情報に基づき前記駆動手段を制御する駆動制御手段であって、前記アコースティックな発音機構による発音が行われないよう該駆動手段を制御するものと
を備えることを特徴とする演奏システム。 - 前記データ送信側の鍵盤楽器又は前記データ受信側の鍵盤楽器の何れか一方に、
前記検出手段により検出された演奏操作を表す情報に基づき、演奏操作子の操作位置の時間的変化を表す軌道を推定する推定軌道算出手段と、
前記推定軌道算出手段により算出した推定軌道に基づき現時点よりも所定時間先の演奏操作子の位置又は速度の少なくとも何れか一方を予測する軌道予測手段と
を更に備え、
データ受信側の鍵盤楽器の駆動制御手段は、前記軌道予測手段により予測した演奏操作子の位置又は速度の少なくとも何れか一方に基づき前記駆動手段を制御するものであることを特徴とする請求項1に記載の演奏システム。 - 前記データ送信側の鍵盤楽器又は前記データ受信側の鍵盤楽器の何れか一方に、
前記検出手段により検出された演奏操作を表す情報に基づき、所定時間先の演奏操作子の操作位置を予測する位置予測手段と、
前記位置予測手段による予測結果に基づき実際の演奏タイミングよりも先行して演奏イベントを生成するイベント予測手段と
を更に備え、
データ受信側の鍵盤楽器の発音制御手段は、前記イベント予測手段により生成した演奏イベントに基づき前記電子音源手段により電子的に楽音を生成するものであることを特徴とする請求項1に記載の演奏システム。 - アコースティックな発音機構と電子的に楽音を生成する電子音源手段とを備え、
演奏操作子を駆動する駆動手段と、
演奏者による前記演奏操作子の演奏操作を検出する検出手段と、
前記検出手段で検出された演奏操作を表す情報を通信ネットワークを介して他の鍵盤楽器へ送信する送信手段と、
前記通信ネットワークを介して他の鍵盤楽器から演奏操作を表す情報を受信する受信手段と、
前記受信手段により受信した演奏操作を表す情報に基づき前記電子音源手段により電子的に楽音を生成する発音制御手段と、
前記受信手段により受信した演奏操作を表す情報に基づき前記駆動手段を制御する駆動制御手段であって、前記アコースティックな発音機構による発音が行われないよう該駆動手段を制御するものと
を備えることを特徴とする鍵盤楽器。
1
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008248144A JP2009098683A (ja) | 2007-09-28 | 2008-09-26 | 演奏システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007255143 | 2007-09-28 | ||
JP2008248144A JP2009098683A (ja) | 2007-09-28 | 2008-09-26 | 演奏システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009098683A true JP2009098683A (ja) | 2009-05-07 |
Family
ID=40134713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008248144A Pending JP2009098683A (ja) | 2007-09-28 | 2008-09-26 | 演奏システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7820902B2 (ja) |
EP (1) | EP2043088A1 (ja) |
JP (1) | JP2009098683A (ja) |
CN (1) | CN101399034B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9236039B2 (en) | 2013-03-04 | 2016-01-12 | Empire Technology Development Llc | Virtual instrument playing scheme |
WO2023195333A1 (ja) * | 2022-04-06 | 2023-10-12 | ヤマハ株式会社 | 制御装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4940956B2 (ja) * | 2007-01-10 | 2012-05-30 | ヤマハ株式会社 | 音声伝送システム |
US7902449B2 (en) * | 2007-10-19 | 2011-03-08 | Yamaha Corporation | Music performance system for music session and component musical instruments |
JP5742217B2 (ja) * | 2010-12-28 | 2015-07-01 | ヤマハ株式会社 | 電子端末を制御する制御方法を実現するためのプログラムおよび電子音楽装置 |
JP5974756B2 (ja) * | 2011-09-20 | 2016-08-23 | ヤマハ株式会社 | 電子鍵盤楽器 |
US8664497B2 (en) * | 2011-11-22 | 2014-03-04 | Wisconsin Alumni Research Foundation | Double keyboard piano system |
JP5754421B2 (ja) * | 2012-07-17 | 2015-07-29 | ヤマハ株式会社 | 鍵盤楽器 |
JP6402502B2 (ja) * | 2014-06-20 | 2018-10-10 | ヤマハ株式会社 | 演奏情報出力制御装置、鍵盤楽器及び制御方法 |
US11132983B2 (en) | 2014-08-20 | 2021-09-28 | Steven Heckenlively | Music yielder with conformance to requisites |
JP6299621B2 (ja) | 2015-02-04 | 2018-03-28 | ヤマハ株式会社 | 鍵盤楽器 |
JP6070735B2 (ja) * | 2015-02-04 | 2017-02-01 | ヤマハ株式会社 | 鍵盤楽器 |
JP6485082B2 (ja) | 2015-02-04 | 2019-03-20 | ヤマハ株式会社 | 鍵盤楽器 |
JP6645128B2 (ja) * | 2015-11-04 | 2020-02-12 | ヤマハ株式会社 | 鍵盤楽器及び該鍵盤楽器における補正情報取得方法 |
WO2018068316A1 (en) * | 2016-10-14 | 2018-04-19 | Sunland Information Technology Co. , Ltd. | Methods and systems for synchronizing midi file with external information |
US10504498B2 (en) * | 2017-11-22 | 2019-12-10 | Yousician Oy | Real-time jamming assistance for groups of musicians |
US10218747B1 (en) * | 2018-03-07 | 2019-02-26 | Microsoft Technology Licensing, Llc | Leveraging geographically proximate devices to reduce network traffic generated by digital collaboration |
US10714065B2 (en) * | 2018-06-08 | 2020-07-14 | Mixed In Key Llc | Apparatus, method, and computer-readable medium for generating musical pieces |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0552869U (ja) * | 1991-12-25 | 1993-07-13 | カシオ計算機株式会社 | 電子楽器システム |
JPH08292765A (ja) * | 1995-04-19 | 1996-11-05 | Yamaha Corp | 鍵盤楽器 |
JP2006162904A (ja) * | 2004-12-06 | 2006-06-22 | Yamaha Corp | 演奏動作予測に基づく発音制御方法および電子楽器 |
JP2006178197A (ja) * | 2004-12-22 | 2006-07-06 | Yamaha Corp | 楽器の演奏駆動装置、鍵盤楽器の演奏駆動システム及び鍵盤楽器。 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2948769A1 (de) * | 1979-12-04 | 1981-06-11 | Siemens AG, 1000 Berlin und 8000 München | Digitale halbleiterschaltung fuer eine elektronische orgel |
US4412470A (en) * | 1981-06-08 | 1983-11-01 | Baldwin Piano & Organ Company | System for communicating data among microcomputers in an electronic musical instrument |
EP0239917A3 (en) * | 1986-03-29 | 1989-03-29 | Yamaha Corporation | Automatic sound player system having acoustic and electronic sound sources |
CA1280918C (en) * | 1988-01-29 | 1991-03-05 | Yasutoshi Kaneko | Automatic player piano with touch strength estimator |
US5254804A (en) * | 1989-03-31 | 1993-10-19 | Yamaha Corporation | Electronic piano system accompanied with automatic performance function |
JP2626387B2 (ja) * | 1991-12-24 | 1997-07-02 | ヤマハ株式会社 | 電子楽器 |
JP3620063B2 (ja) * | 1994-03-25 | 2005-02-16 | ヤマハ株式会社 | 自動ピアノおよび演奏データ加工装置 |
JP3551569B2 (ja) * | 1995-08-28 | 2004-08-11 | ヤマハ株式会社 | 自動演奏鍵盤楽器 |
JP3087638B2 (ja) * | 1995-11-30 | 2000-09-11 | ヤマハ株式会社 | 音楽情報処理システム |
US6067566A (en) * | 1996-09-20 | 2000-05-23 | Laboratory Technologies Corporation | Methods and apparatus for distributing live performances on MIDI devices via a non-real-time network protocol |
EP0855697B1 (en) * | 1996-12-27 | 2002-02-20 | Yamaha Corporation | Real time transmission of musical tone information |
JP3196715B2 (ja) * | 1997-10-22 | 2001-08-06 | ヤマハ株式会社 | 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体 |
US6069310A (en) * | 1998-03-11 | 2000-05-30 | Prc Inc. | Method of controlling remote equipment over the internet and a method of subscribing to a subscription service for controlling remote equipment over the internet |
JP3887978B2 (ja) * | 1998-12-25 | 2007-02-28 | ヤマハ株式会社 | 演奏支援装置、演奏支援方法、および演奏支援プログラムを記録した記録媒体 |
US6686530B2 (en) * | 1999-04-26 | 2004-02-03 | Gibson Guitar Corp. | Universal digital media communications and control system and method |
US6646195B1 (en) * | 2000-04-12 | 2003-11-11 | Microsoft Corporation | Kernel-mode audio processing modules |
JP4232325B2 (ja) * | 2000-06-21 | 2009-03-04 | ヤマハ株式会社 | 鍵駆動装置 |
JP4120978B2 (ja) * | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
JP3726712B2 (ja) * | 2001-06-13 | 2005-12-14 | ヤマハ株式会社 | 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム |
JP3707430B2 (ja) * | 2001-12-12 | 2005-10-19 | ヤマハ株式会社 | ミキサー装置および同ミキサー装置と通信可能な音楽装置 |
US6653545B2 (en) * | 2002-03-01 | 2003-11-25 | Ejamming, Inc. | Method and apparatus for remote real time collaborative music performance |
JP3928468B2 (ja) * | 2002-04-22 | 2007-06-13 | ヤマハ株式会社 | 多チャンネル録音再生方法、録音装置、及び再生装置 |
JP4001091B2 (ja) * | 2003-09-11 | 2007-10-31 | ヤマハ株式会社 | 演奏システム及び楽音映像再生装置 |
US7288712B2 (en) * | 2004-01-09 | 2007-10-30 | Yamaha Corporation | Music station for producing visual images synchronously with music data codes |
JP4489442B2 (ja) * | 2004-01-13 | 2010-06-23 | ヤマハ株式会社 | 鍵盤装置 |
JP4531415B2 (ja) * | 2004-02-19 | 2010-08-25 | 株式会社河合楽器製作所 | 自動演奏装置 |
JP4396451B2 (ja) * | 2004-08-30 | 2010-01-13 | ヤマハ株式会社 | 電子楽器及び該電子楽器に接続される音源装置 |
US7297858B2 (en) * | 2004-11-30 | 2007-11-20 | Andreas Paepcke | MIDIWan: a system to enable geographically remote musicians to collaborate |
CA2489256A1 (en) * | 2004-12-06 | 2006-06-06 | Christoph Both | System and method for video assisted music instrument collaboration over distance |
JP3966328B2 (ja) * | 2005-01-17 | 2007-08-29 | ヤマハ株式会社 | 電子鍵盤楽器 |
JP4617921B2 (ja) | 2005-02-24 | 2011-01-26 | ヤマハ株式会社 | 楽器演奏の再生駆動装置、鍵盤楽器及び自動演奏ピアノ |
US20070028750A1 (en) * | 2005-08-05 | 2007-02-08 | Darcie Thomas E | Apparatus, system, and method for real-time collaboration over a data network |
JP4259532B2 (ja) * | 2006-03-16 | 2009-04-30 | ヤマハ株式会社 | 演奏制御装置、およびプログラム |
JP4320782B2 (ja) * | 2006-03-23 | 2009-08-26 | ヤマハ株式会社 | 演奏制御装置、およびプログラム |
-
2008
- 2008-08-29 EP EP08015299A patent/EP2043088A1/en not_active Withdrawn
- 2008-09-03 US US12/203,191 patent/US7820902B2/en active Active
- 2008-09-18 CN CN2008101494889A patent/CN101399034B/zh not_active Expired - Fee Related
- 2008-09-26 JP JP2008248144A patent/JP2009098683A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0552869U (ja) * | 1991-12-25 | 1993-07-13 | カシオ計算機株式会社 | 電子楽器システム |
JPH08292765A (ja) * | 1995-04-19 | 1996-11-05 | Yamaha Corp | 鍵盤楽器 |
JP2006162904A (ja) * | 2004-12-06 | 2006-06-22 | Yamaha Corp | 演奏動作予測に基づく発音制御方法および電子楽器 |
JP2006178197A (ja) * | 2004-12-22 | 2006-07-06 | Yamaha Corp | 楽器の演奏駆動装置、鍵盤楽器の演奏駆動システム及び鍵盤楽器。 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9236039B2 (en) | 2013-03-04 | 2016-01-12 | Empire Technology Development Llc | Virtual instrument playing scheme |
US9734812B2 (en) | 2013-03-04 | 2017-08-15 | Empire Technology Development Llc | Virtual instrument playing scheme |
WO2023195333A1 (ja) * | 2022-04-06 | 2023-10-12 | ヤマハ株式会社 | 制御装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2043088A1 (en) | 2009-04-01 |
CN101399034B (zh) | 2012-06-27 |
US20090084248A1 (en) | 2009-04-02 |
US7820902B2 (en) | 2010-10-26 |
CN101399034A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009098683A (ja) | 演奏システム | |
JP5338247B2 (ja) | 演奏システム | |
JP4617921B2 (ja) | 楽器演奏の再生駆動装置、鍵盤楽器及び自動演奏ピアノ | |
EP1808848B1 (en) | Music performance system,music stations synchronized with one another and computer program used therein | |
JP3890649B2 (ja) | 自動ピアノの演奏データ変換装置 | |
JP4967406B2 (ja) | 鍵盤楽器 | |
JP4639795B2 (ja) | 楽器の演奏駆動装置、鍵盤楽器の演奏駆動システム及び鍵盤楽器。 | |
JP4193752B2 (ja) | 自動演奏ピアノ | |
JP5754421B2 (ja) | 鍵盤楽器 | |
CN101515451A (zh) | 电子键盘乐器的踏板控制设备 | |
JPH10161648A (ja) | 打鍵−打弦特性対応装置、駆動信号−打弦特性対応装置、および鍵盤楽器 | |
CN112689870A (zh) | 音信号生成装置、键盘乐器及程序 | |
JP4375200B2 (ja) | 力覚制御用基礎情報出力装置 | |
JP4134952B2 (ja) | 自動演奏ピアノ | |
JP3586882B2 (ja) | 鍵盤楽器の自動演奏システム | |
CN111295706A (zh) | 音源、键盘乐器以及程序 | |
US5925844A (en) | Piano with built-in electronic musical instrument | |
JP4670395B2 (ja) | 自動ピアノ及び鍵を自動的に操作するためのプログラム | |
JP4222395B2 (ja) | 自動演奏ピアノ | |
JP2611452B2 (ja) | 自動演奏ピアノの打鍵力および打鍵タイミング補正装置 | |
JP5104928B2 (ja) | 演奏情報再生装置 | |
JPH0792971A (ja) | ピアノ | |
WO2023195333A1 (ja) | 制御装置 | |
JPH07113827B2 (ja) | ナビゲート装置 | |
CN1691133B (zh) | 音乐演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130409 |