Playing control method, playing controller and musical tone generator

申请号 JP2001164989 申请日 2001-05-31 公开(公告)号 JP2002358080A 公开(公告)日 2002-12-13
申请人 Kawai Musical Instr Mfg Co Ltd; 株式会社河合楽器製作所; 发明人 HAGIWARA YUTAKA; KAMATA KENJI; IWASE KATSUHIKO; HONDA HISAMITSU; NIITSUMA SHINJI; MATSUDA KAZUNORI;
摘要 PROBLEM TO BE SOLVED: To provide a playing controller which enables players to make normal ensemble playing when the ensemble playing to get a player piano 203 automati cally played is carried out together with playing by an electronic sound source and even when playing information of a high density is inputted.
SOLUTION: When the ensemble playing with the part side to make the electronic sound source 301 carry out automatic playing by getting the piano part automatically played in accordance with playing information is carried out, a DSP10 is disposed in the processing route of the automatic playing part on the electronic sound source 301 side and is made to provide delayed output in tune with the sound production timing on the piano part side in a state of musical tone data.
COPYRIGHT: (C)2003,JPO
权利要求 【特許請求の範囲】
  • 【請求項1】 所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる場合において、後者の自動演奏パートは、楽音データの状態で、前者の自動演奏パートの発音タイミングに合わせて、遅延出力せしめることを特徴とする演奏制御方法。
  • 【請求項2】 所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる場合において、後者の自動演奏パートは、少なくともオーディオ信号データを含んだ状態で、前者の自動演奏パートの発音タイミングに合わせて、遅延出力せしめることを特徴とする演奏制御方法。
  • 【請求項3】 デジタルシグナルプロセッサを用いて、
    上記所定の自動演奏パート以外の自動演奏パートのデータ処理を行い、該データを所定時間遅延せしめて出力することを特徴とする請求項1乃至請求項2記載の演奏制御方法。
  • 【請求項4】 演奏情報に基づき自動演奏させる上記所定のパートは、自動演奏ピアノパートであることを特徴とする請求項1〜請求項3いずれか1つに記載の演奏制御方法。
  • 【請求項5】 上記データの遅延出力に関し、遅延時間を自動的に設定できるようにしたことを特徴とする請求項1〜請求項4いずれか1つに記載の演奏制御方法。
  • 【請求項6】 所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる演奏制御装置において、後者の自動演奏パートの処理経路中に、信号処理手段を設けて、楽音データの状態で、前者の自動演奏パートの発音タイミングに合わせ、遅延出力せしめることを特徴とする演奏制御装置。
  • 【請求項7】 所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる演奏制御装置において、後者の自動演奏パートの処理経路中に、信号処理手段を設けて、少なくともオーディオ信号データを含んだ状態で、前者の自動演奏パートの発音タイミングに合わせ、遅延出力せしめることを特徴とする演奏制御装置。
  • 【請求項8】 前記信号処理手段として、デジタルシグナルプロセッサを用いることを特徴とする請求項6乃至請求項7記載の演奏制御装置。
  • 【請求項9】 演奏情報に基づき自動演奏させる上記所定のパートは、自動演奏ピアノパートであることを特徴とする請求項6〜請求項8いずれか1つに記載の演奏制御装置。
  • 【請求項10】 上記データの遅延出力に関し、遅延時間を自動的に設定できるようにしたことを特徴とする請求項6〜請求項9いずれか1つに記載の演奏制御装置。
  • 【請求項11】 電子音源側から出力される楽音データに対し、所定の音響効果を付加する信号処理手段を有する楽音発生装置において、外部の自動演奏装置に自動演奏させる制御構成からの遅延時間を受け付けて、上記信号処理手段により、外部の自動演奏装置の発音タイミングに合わせて、楽音データを遅延出力せしめることを特徴とする楽音発生装置。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明は、電子音源による演奏などと共に、楽器に自動演奏をさせるアンサンブル演奏を行う場合に用いられる演奏制御方法及び演奏制御装置、並びに楽音発生装置に関する。

    【0002】

    【従来の技術】自動演奏ピアノの構成と電子音源を用いて、自動演奏によりアンサンブル演奏させる際に、夫々のパートで演奏制御が行われ、ピアノ演奏パートには、
    押鍵(イベント)情報などの演奏情報で送られ、また電子音源パートでは、一旦上記演奏情報の状態で送られた後、電子音源などのデータにより楽音を発生させることができる状態(後述する楽音データの状態)に変換され、出される。

    【0003】上記自動演奏ピアノの構成では、例えばソレノイドなどで、実際のピアノなどの鍵盤、アクション、ハンマを動かすなどの電気・機械的な構成によって、弦をハンマでたたくようにして演奏が行われる。 そのため、演奏情報が伝達されてから実際に弦がたたかれて音が発せられるタイミングと、上記電子音源パートから楽音が発せられるタイミングとの間に、タイムラグがあり、同じタイミングで、自動演奏ピアノと電子音源に演奏情報を送信しても、自動演奏ピアノ側の発音が遅れるという問題があった。

    【0004】このような遅れの問題を解決するため、特公平5−33798号では、図19に示されるように、
    電子音源パート側に遅延用バッファ300を用いて、これらのパートに送出される演奏情報を遅延せしめ、上記のようなタイムラグの発生を防いでいる。

    【0005】

    【発明が解決しようとする課題】しかし、上記公告公報発明の発明者が、該発明の改良発明として提案する特許第2694935号では、前者の公報掲載発明に関して、次のような問題点の指摘を行っている。 すなわち、
    「ところで、上記構成によれば、遅延用バッファ(30
    0)に専用の記憶装置と、その記憶装置を制御する制御回路および処理プログラムとを設け、これらによって5
    00msecの遅延を行わせる必要がある。 すなわち、
    コントローラ(100)の実行する処理プログラムが2系統になり、構成が複雑になるという欠点があった。 また、処理装置(コントローラ100)から密度の高い演奏情報が出力された場合には、遅延用バッファ(300)の記憶容量が不足し、アンサンブル演奏が不可能になる場合もあった。 すなわち、上記構成によれば再生演奏性能が低いという欠点もあった。 」という問題点の指摘がある。

    【0006】特に上記の特許第2694935号で指摘している特公平5−33798号の問題点は、MIDI
    などの演奏情報をバッファに溜め込んで起こる致命的な問題である。 このような演奏情報を溜め込むバッファの構成は、例えば図20に示すようなリングバッファ60
    0の構成が用いられる。 同バッファ600は、FIFO
    (First In First Out)で構成されており、演奏情報が入力されると、書き込みポインタ601のインクリメントに従って順次同バッファ600内にその演奏情報が書き込まれ、また該演奏情報は、読み出しポインタ602の同方向へのインクリメントに従って順次同バッファ60
    0から読み出される。 これらのポインタは、最後のアドレスまでくると、最初のアドレスに復帰する構成であることから、リングバッファと呼ばれる。 以上の構成では、上述のように、密度の高い演奏情報が入力されてくる場合には、書き込みポインタ601が読み出しポインタ602を追い越し、書き込みポインタ601によって書き込まれてくるデータによって上書きされて、読み出しポインタ602が読み出そうとしているデータの正常な処理ができなくなったり、リングバッファ600上にデータが一杯になったために読み出しポインタ602の読み出しが進んで空きができるまでの間データの受付をストップするようにしたために、正常なアンサンブル演奏ができなくなることがあった。 またリングバッファを使用しない場合でも、RAMの容量によりオーバーフローすることもあった。

    【0007】また特許第2694935号では、第1の読み出し手段と第2の読み出し手段とを設け、発音タイミングの異なる自動楽器により異なった読み出しタイミングを制御する必要があり、処理が煩雑になる欠点を有していた。

    【0008】本発明は、以上のような問題に鑑み創案されたもので、電子音源による演奏などと共に、楽器に自動演奏をさせるアンサンブル演奏を行う場合に、密度の高い演奏情報が入力されてくる場合でも、正常なアンサンブル演奏が行える演奏制御方法及び演奏制御装置を提供せんとするものである。 また同様な機能を有する楽音発生装置についても提案する。

    【0009】

    【課題を解決するための手段】本発明の演奏制御方法の構成は、所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる場合において、後者の自動演奏パートは、楽音データの状態で、前者の自動演奏パートの発音タイミングに合わせて、遅延出力せしめることを基本的特徴としている。

    【0010】本出願における楽音データとは、電子音源などから出力されたデータにより楽音を発生させることができる状態、すなわち、D/A変換すれば、出力波形を形成して、そのまま出力できるような状態(エンベロープなども付加された状態)のデータを言い、イベント情報で構成されるような演奏情報(MIDIデータなどが含まれる)とは異なる。 例えば、PCMデータやサイン合成波形データ、FM音源データなどがある。

    【0011】上記構成によれば、遅延させる対象が演奏情報ではなく、楽音データであり、単に遅延させて出力させる(通常はバッファに溜めて出力させる)だけなので、例えば上述したポインタの追い越しなどによるデータのオーバーフローといったことは起こらない。 すなわち、楽音データの場合は、演奏情報の場合と異なり、遅延手段におけるデータの入出力の関係は1:1(入力されるデータ量と出力されるデータ量とが等価)であるので、上記データのオーバーフローを生じたり、データの受付をストップするようなことはない。 従って楽音データを所定時間遅延せしめて出力することで、正常なアンサンブル演奏ができるようになる。

    【0012】請求項2の構成は、上記楽音データ以外にも、オーディオ信号データを含んでいても良いことを明らかにしている。 すなわち、一方の自動演奏パートは、
    少なくともオーディオ信号データを含んだ状態で、演奏情報に基づき自動演奏の行われる他方の自動演奏パートの発音タイミングに合わせて、遅延出力せしめることを規定している。 従って、上記一方の自動演奏パートの音として、アンサンブル用の電子音源による音など以外にも、例えばMIDI音源による音より音のクオリティの高いオーディオ信号を用いることができ、該オーディオ信号にはボォーカル音などの音声データも含まれるため、楽器の音だけではなく、演奏情報として提供される上記従来技術ではできなかった人の歌声などとのアンサンブルも楽しめるようになる。

    【0013】請求項3の構成は、楽音データを所定時間遅延せしめて出力する構成として、デジタルシグナルプロセッサを用いることができることを明らかにしたものである。 該デジタルシグナルプロセッサは、楽音データに対し、種々の音響効果を付加する構成などとして用いられており、従って本構成は、電子楽器やカラオケ機器などの通常のデジタルシグナルプロセッサとRAMを備えた既存の構成に、ソフトウェア的な変更を加えるだけで、達成可能である。

    【0014】請求項4の構成は、自動演奏ピアノパートを、演奏情報に基づき自動演奏させる上記所定のパートとすることができることを規定している。 この場合、たとえばそれ以外のパートを電子音源パートとして、上記のような処理が行われ、両パートを自動演奏させることにより、両パートのシンクロナイズしたアンサンブル演奏を行わせることができるようになる。

    【0015】上記データの遅延出力に関しては、遅延時間を自動的に設定できるようにすると操作が簡単になって良い(請求項5、装置の構成を表す請求項10についても同じ)。

    【0016】請求項6〜請求項10は、上記演奏制御方法の構成を、装置の構成として規定し直したものである。

    【0017】そのうち、請求項6の構成は、上記請求項1の方法の構成に対応しており、具体的には、所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる演奏制御装置において、後者の自動演奏パートの処理経路中に、信号処理手段を設けて、楽音データの状態で、前者の自動演奏パートの発音タイミングに合わせ、遅延出力せしめることを規定する。

    【0018】また請求項7の構成は、上記請求項2の構成に対応しており、具体的には、所定のパートを演奏情報に基づき自動演奏させて、それ以外の自動演奏パートとアンサンブル演奏させる演奏制御装置において、後者の自動演奏パートの処理経路中に、信号処理手段を設けて、少なくともオーディオ信号データを含んだ状態で、
    前者の自動演奏パートの発音タイミングに合わせ、遅延出力せしめることができることを明らかにしている。

    【0019】請求項8の構成は、上記請求項3の構成に対応しており、具体的には、前記信号処理手段として、
    デジタルシグナルプロセッサを用いることを明らかにしている。

    【0020】請求項9の構成は、上記請求項4の構成に対応しており、具体的には、自動演奏ピアノパートを、
    演奏情報に基づき自動演奏させる上記所定のパートとすることができることを規定している。

    【0021】さらに請求項11は、電子音源側から出力される楽音データに対し、所定の音響効果を付加する信号処理手段を有する楽音発生装置において実現される構成を提供するものである。 すなわち本構成では、外部の自動演奏装置に自動演奏させる制御構成からの遅延時間を該信号処理手段が受け付けて、この信号処理手段により、外部の自動演奏装置の発音タイミングに合わせて、
    楽音データを遅延出力せしめることになる。

    【0022】

    【発明の実施の形態】以下、本発明の実施の形態を図示例と共に説明する。 (実施例1)図1は、自動演奏ピアノ203の構成を含む上記本発明に係る演奏制御装置の一実施形態構成を示す斜視図、図2は、その回路ブロック図である。 これらの図面に示すように、本発明の演奏制御装置は、コントローラ100側の構成を主体とし、自動演奏ピアノ側の構成201〜203と、電子音源側の構成301〜30
    4とを有しており、該コントローラ100のCPU10
    1により後述するソレノイド駆動信号発生回路201の制御、電子音源301の楽音データ生成並びにデジタルシグナルプロセッサ(Digital Signal Processor;以下DSPと言う)10の動作制御(DSP10プログラムの変更等)等がなされる。 これらの構成では全体の電源を1つにして構成される。

    【0023】そのうちコントローラ100のCPU10
    1は、これら各部の制御と、データの入出力処理を司るが、本演奏制御装置のプログラムをROM104から読み出して制御がなされ、自動演奏ピアノ203と電子音源側とのアンサンブル演奏がなされる場合、選択された曲の演奏情報が、CPU101によって、フロッピーディスク401(図面上は後述するSMFデータが書き込まれている状態が示されている)からRAM103へ格納される。 そして該CPU101によって演奏情報の読み出しがなされ、それに基づくソレノイド駆動信号発生回路201への制御信号が送られて、駆動信号を発生させることで、自動演奏ピアノ203に自動演奏させる。
    また上記演奏情報は、CPU101によって電子音源3
    01に送られて、楽音データが生成せしめられる。 さらに上記CPU101は、ROM104からDSP10用の処理プログラム及び必要な係数データを読み出して、
    該DSP10に送り、電子音源301から出力された上記楽音データに必要な音響効果を付加し、さらに後述するように遅延出力処理を行う。 すなわち、本実施例では、楽音データを遅延出力せしめる信号処理手段の構成として、RAM11を制御下に持つDSP10が用いられている。

    【0024】上記構成は、自動演奏ピアノの構成と電子音源側の自動演奏を行わせる構成とでアンサンブル演奏を行わせる従来の構成とほぼ同じである。 ただし、上記コントローラ100には、A/D変換回路501を介してマイク502がつながっており、カラオケができる構成も有している。

    【0025】本演奏制御装置では、コントロールパネル102のパネル操作が特にない限り、マニュアル演奏モード(演奏者がピアノを弾く状態)に設定してある(ただしコントローラ100が演奏中でないことが条件)
    が、パネル操作で曲の選択などの処理が行われる場合は、常にアンサンブル演奏が行われるようにセットされている。 またコントローラ100に演奏させるデータがピアノパートのみのデータであれば、自動演奏ピアノのみの演奏となる。

    【0026】上記コントロールパネル102には、図3
    に示すように、パネルスイッチ1021〜1026及びその操作状態などを示す表示器1020の構成を有している。 ここでパネルスイッチは、選曲スイッチ1021
    及び1022、PLAYスイッチ1023及び102
    4、遅延スイッチ1025及び1026が示されている。 また上記表示器1020では、演奏状態でない時に、選択されている曲名(あるいは曲番号)が、例えば「No Song」(曲が選択されていない時)「So
    ng1」「Song2」(選択された曲名)…のように表示される。 また演奏中は、現在の演奏位置やテンポなどが表示される。 他方後述するようにパネル操作で遅延時間を設定できるように設定されているが、その遅延時間設定モードでは、現在の設定遅延時間が表示される。
    初期値は例えば100msとし、10ms毎に設定できるようにしている。

    【0027】そして上記電子音源側の構成のうち、リバーブなどの音響効果を付加するためのDSP10には、
    そこで処理された楽音データが、上述のようにパネル操作で指示された時間だけ遅延して出力されるよう、該D
    SP10の制御プログラムがセットされている。 セットされる遅延時間の一例としては、上記自動演奏ピアノ側の構成において演奏情報が伝達されてから実際の弦がたたかれるまでタイムラグが、本実施例では、100ms
    秒程度であったので、同じ時間だけ、遅延時間として設定されると良い。 ただしこれに限定されるものではなく、実際の上記タイムラグに合わせて、自由に設定できることは言うまでもない。

    【0028】上記コントローラ100のCPU101により、ドライブ装置(図示なし)を介してフロッピー(登録商標)ディスク401(図面上はドライブではなくフロッピーディスクの状態が図示されている)から、
    標準MIDIファイル(Standard Midi File)で構成されるMIDI演奏情報(音色の並びはGMなど)が読み取られ、この演奏情報は、RAM103に一旦記憶される。

    【0029】本演奏情報処理装置の該コントローラ10
    0の構成により、曲の進行順序に従って、上記RAM1
    03から演奏情報が読み出される。

    【0030】読み出された演奏情報のうち、ピアノ演奏パートの情報を基に、上記CPU101は、ソレノイド駆動信号発生回路201を制御して、ソレノイド駆動信号を発生せしめる。 この信号を受けたソレノイド駆動装置202により、ソレノイド(図示なし)が駆動せしめられる。 該ソレノイドの駆動によって、鍵盤(図示なし)が突き上げられるため、さらにアクション機構(図示なし)を介して、ハンマ(図示なし)により打弦される。

    【0031】一方上記演奏情報のうち、電子音源パートの情報も、ピアノ演奏パート側の場合と同時に電子音源301に供給される。

    【0032】この演奏情報に従って、上記電子音源30
    1により、エンベロープが付加された状態で楽音データが発生せしめられ、次のDSP10に供給される。

    【0033】該DSP10では、楽音データにリバーブなどの音響効果が付加されるが、本実施例では、上述のように、そこで処理された楽音データが上記のようにして設定された時間遅延して出力されることになる。

    【0034】すなわち該DSP10は、楽音データを遅延出力せしめる信号処理手段の構成として用いられているが、該DSP10上では、以下のようにして遅延処理がなされる。

    【0035】図2に示すように、楽音発生回路である電子音源301より出力される楽音データは、上記DSP
    10によって、RAM11に対して書込まれ、所定時間後に読出しがなされることによって、所定時間分の遅延が行われる。

    【0036】このDSP10自身の処理につき説明すると、起動時に、該DSP10には、予めCPU101のROM104に蓄えられている処理プログラムとDSP
    10を動作させるための係数データの初期値が、CPU
    101からロードされる。 初期値の係数データには、R
    AM11に対する楽音データ(PCMデジタルデータなど)の書込みのアドレスを指定するライトアドレスWA
    と読出しアドレスを指定するリードアドレスRAとが含まれる。

    【0037】一方、アンサンブル再生において、電子音源301は、DSP10に対して楽音データを順次送り出す。 該DSP10は、設定されたWAとRAにしたがって、楽音データのRAM11のWAへの順次書込みとRAM11のRAからの楽音データの順次読出しを行う。

    【0038】さらに、DSP10により読み出された楽音データは、D/A変換回路302に送り出され、アナログ信号に変換され、アンプ303により増幅された後、スピーカ304より、音として放出される。 なお、
    音源がステレオ出力の場合、以上の遅延処理は、R信号、
    L信号の2チャンネル分の処理を行う。

    【0039】従って、電子音源側に供給される演奏情報は、電子音源301により、楽音データにされた状態で、DSP10で所定時間だけ遅延せしめられて出力されるので、ソレノイドによる自動演奏ピアノ側の打弦音と同時に発音させることが可能となり、タイムラグのないアンサンブル演奏を行わせることができる。 本実施例構成では、特に密度の高い演奏情報が入力されてくる場合でも、DSP10により楽音データの状態で、RAM
    11のWAへの順次書込みとRAM11のRAからの楽音データの順次読出しにより遅延出力されるので、上述したポインタの追い越しによるデータのオーバーフローなどが起こらず、正常なアンサンブル演奏が行えるようになる。

    【0040】なお、上記遅延量についてであるが、RA
    M11は、サンプリング周波数がf sで書込みアドレスWAと読出しアドレスRAとが順次インクリメントしている。 WAに対してRAはnアドレス(nはf sと遅延量とで決まる)分だけずれたアドレスになるように指定されているため、WAに格納されたデジタル楽音データは、RAM11に書き込まれてからt delay =n/f sだけ遅れてRAから読み出される。 従って、電子音源30
    1より出力された楽音デジタル信号は、DSP10によって、電子音源301より出力された時から、遅延時間t delay =n/f sだけ遅延されてD/A変換回路302
    に出力されることになる。 また、遅延量の最大量は、R
    AM11の容量によるが、RAが指定できる範囲であれば、以上のようなDSP10の動作原理から、演奏データが密な場合においても、遅延処理ができなくなる(オーバフローする)ことはない。

    【0041】またDSP10による遅延時間の設定量であるが、遅延量の初期値を含む係数データの初期値は、
    最後に電源を切った時の値が記憶されるようになっている。 従って遅延量を変える場合は、コントロールパネル102にある操作スイッチ1025及び1026で遅延量を設定する。 操作スイッチ1025及び1026で設定されたデータは、CPU101の中にある操作スイッチ1025及び1026で設定されたデータをDSP1
    0のRAに変換するテーブルなどを用いてRAを設定し、該DSP10に送信する。 なお、遅延時間設定部の方法は、押しボタン式スイッチの操作スイッチに限らず、ロータリーエンコーダや赤外線コントローラによっても良い。

    【0042】尚、フロッピーディスク401から読み取られる標準MIDIファイルのファイルフォーマット及びGMの音色の並びにつき説明する。

    【0043】図4は標準MIDIファイルの基本フォーマット構成が示されている。 通常標準MIDIファイルでは、フォーマット0及びフォーマット1が使用される。 図4は、フォーマット1の例であり、フォーマット0では、トラックブロックが1のみとなる。 このうちトラックデータは、MIDIイベント、システムエクスクルーシブイベント、メタイベントで構成される。

    【0044】MIDIイベント:MIDIイベントの構成は、デルタタイムとMIDIチャンネルメッセージで構成される。 このMIDIチャンネルメッセージには、押鍵情報(9n KeyNo. ベロシティ)、離鍵情報(8n KeyNo. ベロシティ)、音色情報(C
    n 音色No.)及びペダル情報(Bn 40 7F or 0
    0)等が含まれる(ただしn=0〜F;1ch〜16c
    hを表す)。

    【0045】システムエクスクルーシブイベント:システムエクスクルーシブイベントの構成を図5に示す。
    これはMIDIイベントやメタイベントで表現できない情報のために使用される。 例えばエフェクトの種類などがある。

    【0046】メタイベント:メタイベントの構成を図6に示す。 これはテンポや拍子、トラックデータ終了などのために使用される。

    【0047】またGMの音色については、標準的に採用されるリファレンス・音色テーブルが用いられる。 ここでは明示しないが、一般的にテーブル上に示される番号が上記音色情報の音色No.である。 実際の音色No.は0から始まるため、データの中ではテーブル上に示される番号から1を引いた値となる。 従ってテーブル上に示される番号1は、Acoustic Grand Pianoとなっているが、実際のデータでは音色No.=0がこれとなる。 アンサンブル演奏を行う上ではこの音色のみ自動演奏ピアノで演奏するものとするが、テーブル上に示される番号2のBright Acoustic Pianoも演奏するようにしても良い。

    【0048】さらに他の番号3〜6の各種ピアノやその他任意の音色No.を、自動演奏ピアノで演奏するパートとして設定しても良い。

    【0049】図7は、上記演奏制御装置の基本処理を示すフローチャートである。 同図に示すように、本装置の電源がONされると、初期化処理が行われる(ステップS101)。 そして上記演奏制御装置のコントロールパネル102上に設けられたパネルスイッチ1021〜1
    026などのパネルスキャンを含むパネル処理が行われる(ステップS102)。 その後自動演奏処理がなされる(ステップS103)。

    【0050】他方図8は、曲の自動演奏などを行う際にテンポをとるために必要なテンポタイマ割り込み処理の処理フローが示されている。 割り込み処理が実行される毎に、クロックカウンタがインクリメントされる(ステップS201)。

    【0051】図9〜図11までは、上記パネル処理の処理フローを示すフローチャートである。 まず図9では、
    上記選曲スイッチ1021によるスイッチイベントがあったか否かがチェックされる(ステップS301)。 該スイッチイベントがあれば(ステップS301;Ye
    s)、プレイフラグが立っている(=1)か否かがチェックされる(ステップS302)。 該フラグが立っている場合(ステップS302;Yes)、プレイ中であるとして、後述するステップS308に移行する。 反対に上記プレイフラグが立っていなければ(ステップS30
    2;No)、停止中であるとして、上記曲が格納されているフロッピーディスク401の前の位置に曲があるか否かがチェックされる(ステップS303)。 前の位置に曲がない場合(ステップS303;No)は、上述と同様、後述するステップS308に移行する。 反対に曲があれば(ステップS303;Yes)、ディスク位置を前の位置とし、その位置の曲を前記RAM103にロードする(ステップS304)。 そして曲名を表示器1
    020に表示する(ステップS305)。 さらに演奏ポインタが初期化され(ステップS306)、選曲された曲がRAM103へロード済みとされる(ステップS3
    07)。

    【0052】またステップS308では、上記選曲スイッチ1022によるスイッチイベントがあったか否かがチェックされる(ステップS308)。 該スイッチイベントがあれば(ステップS308;Yes)、プレイフラグが立っている(=1)か否かがチェックされる(ステップS309)。 該フラグが立っている場合(ステップS309;Yes)、プレイ中であるとして、後述するステップS401に移行する。 反対に上記プレイフラグが立っていなければ(ステップS309;No)、停止中であるとして、上記曲が格納されているフロッピーディスク401の次の位置に曲があるか否かがチェックされる(ステップS310)。 次の位置に曲がない場合(ステップS310;No)は、上述と同様、後述するステップS401に移行する。 反対に曲があれば(ステップS310;Yes)、ディスク位置を次の位置とし、その位置の曲を前記RAM103にロードする(ステップS311)。 そして曲名を表示器1020に表示する(ステップS312)。 さらに演奏ポインタが初期化され(ステップS313)、選曲された曲がRAM1
    03へロード済みとされる(ステップS314)。

    【0053】図10は、上記図9の処理フローの続きを示すフローチャートである。 まずPLAYスイッチイベントがあったか否かがチェックされる(ステップS40
    1)。 該スイッチイベントがあれば(ステップS40
    1;Yes)、プレイフラグが立っている(=1)か否かがチェックされる(ステップS402)。 該フラグが立っている場合(ステップS402;Yes)、プレイ中であるとして、後述するステップS407に移行する。 反対に上記プレイフラグが立っていなければ(ステップS402;No)、停止中であるとして、選曲された曲がRAM103にロード済みか否かがチェックされる(ステップS403)。 該曲がロード済みでなければ(ステップS403;No)、同じく後述するステップS407に移行する。 反対にその曲がロード済みであれば(ステップS403;Yes)、プレイフラグを立て(=1)(ステップS404)、「演奏中」との表示がなされ(ステップS405)、クロックカウンタが0にセットされる(ステップS406)。

    【0054】さらにステップS407では、STOPスイッチイベントがあったか否かがチェックされる(ステップS407)。 該スイッチイベントがあれば(ステップS407;Yes)、プレイフラグが立っている(=
    1)か否かがチェックされる(ステップS408)。 該フラグが立っていない場合(ステップS408;N
    o)、後述するステップS501に移行する。 反対に上記プレイフラグが立っていれば(ステップS408;Y
    es)、自動演奏ピアノ203及び電子音源301の消音がなされる(ステップS409)。 そしてプレイフラグを0とし(ステップS410)、演奏ポインタの初期化がなされ(ステップS411)、曲名の表示がなされる(ステップS412)。

    【0055】図11は、上記図10の処理フローの続きを示すフローチャートである。 まず遅延スイッチ102
    5によるスイッチイベントがあったか否かがチェックされる(ステップS501)。 該スイッチイベントがあれば(ステップS501;Yes)、プレイフラグが立っている(=1)か否かがチェックされる(ステップS5
    02)。 該フラグが立っている場合(ステップS50
    2;Yes)、プレイ中であるとして、後述するステップS507に移行する。 反対に上記プレイフラグが立っていなければ(ステップS502;No)、停止中であるとして、すでに設定されている遅延時間が下限に達していないか否かがチェックされる(ステップS50
    3)。 下限に達している場合は(ステップS503;Y
    es)、後述するステップS507に移行する。 反対に下限に達していなければ(ステップS503;No)、
    遅延時間から10msを減じ(ステップS504)、新しい遅延時間を表示器1020に表示して(ステップS
    505)、前記DSP10に新しい遅延時間を送信するための係数データが送信される(ステップS506)。

    【0056】さらにステップS507では、遅延スイッチ1026によるスイッチイベントがあったか否かがチェックされる(ステップS507)。 該スイッチイベントがあれば(ステップS507;Yes)、プレイフラグが立っている(=1)か否かがチェックされる(ステップS508)。 該フラグが立っている場合(ステップS508;Yes)、プレイ中であるとして、前記自動演奏処理(ステップS103)に移行する。 反対に上記プレイフラグが立っていなければ(ステップS508;
    No)、停止中であるとして、すでに設定されている遅延時間が上限に達していないか否かがチェックされる(ステップS509)。 上限に達している場合は(ステップS509;Yes)、前記ステップS103の自動演奏処理に移行する。 反対に上限に達してないければ(ステップS509;No)、遅延時間に10msを加算し(ステップS510)、新しい遅延時間を表示器1
    020に表示して(ステップS511)、前記DSP1
    0に新しい遅延時間を送信するための係数データが送信される(ステップS512)。

    【0057】図12は、SMFフォーマットが0の場合の上記自動演奏処理の処理フローを示すフローチャートである。 同図に示すように、最初にプレイフラグが立っているか否かがチェックされる(ステップS601)。
    このプレイフラグが立っていない場合(ステップS60
    1;No)、演奏準備ができていないとして、そこで処理は最初に戻される(リターン)。 反対にプレイフラグが立っている場合(ステップS601;Yes)、演奏準備ができているので、クロックカウンタが0であるか否かがチェックされる(ステップS602)。 クロックカウンタが0であれば(ステップS602;Yes)、
    演奏が開始されていないものとして、そこで処理は最初に戻される(リターン)。 反対にクロックカウンタが0
    でなければ(ステップS602;No)、クロックカウンタがデクリメントされ(ステップS603)、待機データがあるか否かがチェックされる(ステップS60
    4)。 待機データがなければ(ステップS604;N
    o)、後述するステップS609に移行する。 反対に待機データがあれば(ステップS604;Yes)、MI
    DIのトラックデータのデルタタイムのデクリメントがなされる(ステップS605)。 そして該デルタタイムが0になったか否かがチェックされる(ステップS60
    6)。 0になっていなければ(ステップS606;N
    o)、前記ステップS602に復帰する。 反対に0になれば(ステップS606;Yes)、後述する図13及び図14に示されるデータ処理に移行する(ステップS
    607)。 そしてプレイフラグが立っているか否かがチェックされる(ステップS608)。 このプレイフラグが立っていない場合(ステップS608;No)、演奏処理が終了したとして、そこで処理は最初に戻される(リターン)。 反対にプレイフラグが立っている場合(ステップS608;Yes)、演奏処理中であるとして、演奏ポインタの示す位置のデータを待機データエリアに読み込む(ステップS609)。 そして演奏ポインタを次の位置へ進める(ステップS610)。 さらにデルタタイムが0であるか否かがチェックされる(ステップS611)。 デルタタイムが0であれば(ステップS
    611;Yes)、前記ステップS607に復帰しデータ処理が行われる。 反対にデルタタイムが0でなければ(ステップS611;No)、前記ステップ602に復帰する。

    【0058】図13は、前記データ処理(図12ステップS607)の処理フローを示すフローチャートである。 まずデータ処理の対象がMIDIイベントであるか否かがチェックされる(ステップS701)。 MIDI
    イベントでなければ(ステップS701;No)、後述する図14のステップS801に移行する。 MIDIイベントであれば(ステップS701;Yes)、対象となるデータがノートデータか否かがチェックされる(ステップS702)。 それがノートデータであれば(ステップS702;Yes)、このチャンネルはピアノパートであるか否かがチェックされる(ステップS70
    3)。 ピアノパートであれば(ステップS703;Ye
    s)、ソレノイド駆動信号発生回路201によりソレノイド駆動信号が発生せしめられ(ステップS704)、
    自動演奏ピアノ203の弦が打弦される。 反対にピアノパートでなければ(ステップS703;No)、電子音源301で楽音データの生成による発音乃至その消音がなされる(ステップS705)。 そこで処理は最初に戻される(リターン)。

    【0059】他方前記ステップS702で対象となるデータがノートデータでなければ(ステップS702;N
    o)、対象となるデータが音色データであるか否かがチェックされる(ステップS706)。 音色データであれば(ステップS706;Yes)、そのデータで示される音色No.が0(すなわちAcoustic Grand Pianoの音色)であるか否かがチェックされる(ステップS70
    7)。 音色No.が0であれば(ステップS707;Y
    es)、そのチャンネルをピアノパートに設定する(ステップS708)。 反対に音色No.が0でなければ(ステップS707;No)、そのチャンネルを電子音源パートに設定する(ステップS709)。 そこで処理は最初に戻される(リターン)。 尚、上述のように、N
    o.3〜6というような任意のNo.を自動演奏ピアノパートに割り当てても良い。

    【0060】また前記ステップS706で対象となるデータが音色データでなければ(ステップS706;N
    o)、対象となるデータがペダルデータであるか否かがチェックされる(ステップS710)。 ペダルデータであれば(ステップS710;Yes)、そのチャンネルがピアノパートであるか否かがチェックされる(ステップS711)。 ピアノパートであれば(ステップS71
    1;Yes)、ペダル用ソレノイド(図示なし)駆動信号が発生せしめられ、自動演奏ピアノ203でペダル処理が行われる。 反対にピアノパートでなければ(ステップS711;No)、電子音源301におけるペダル制御がなされる(ステップS713)。 そこで処理は最初に戻される(リターン)。

    【0061】さらに前記ステップS710で対象となるデータがペダルデータでなければ(ステップS710;
    No)、このチャンネルがピアノパートであるか否かがチェックされる(ステップS714)。 ピアノパートであれば(ステップS714;Yes)、そこで処理は最初に戻される(リターン)。 反対にピアノパートでなければ(ステップS714;No)、電子音源301でそのデータに対応する制御がなされ(ステップS71
    5)、処理は最初に戻る(リターン)。

    【0062】図14は、図13のステップS701で対象となるデータがMIDIイベントでないと判断された場合の処理フローを示すフローチャートである。 まず対象となるデータがメタイベントであるか否かがチェックされる(ステップS801)。 メタイベントでなければ(ステップS801;No)、エクスクルーシブデータであるとして、エクスクルーシブ処理がなされる(ステップS802)。 反対にメタイベントでるあならば(ステップS801;Yes)、トラックデータ終了イベントであるか否かがチェックされる(ステップS80
    3)。 トラックデータ終了イベントであれば(ステップS803;Yes)、自動演奏ピアノ203および電子音源301の消音処理がなされる(ステップS80
    4)。 そしてプレイフラグを0とし(ステップS80
    5)、演奏ポインタを初期化し(ステップS806)、
    曲名を表示して(ステップS807)、処理を最初に戻す(リターン)。

    【0063】前記ステップS803でトラックデータ終了イベントでなければ(ステップS803;No)、対象となるデータがテンポデータであるか否かがチェックされる(ステップS808)。 テンポデータであれば(ステップS808;Yes)、このテンポに応じた値をテンポタイマにセットし(ステップS809)、処理を最初に戻す(リターン)。 反対にテンポデータでなければ(ステップS808;No)、その他のメタイベント処理が行われ(ステップS810)、その後、処理を最初に戻す(リターン)。

    【0064】以上詳述したように、楽音データにリバーブなどの音響効果が付加されるDSP10では、そこで処理された楽音データが予め設定された時間だけ遅延して出力されることになる。 すなわち、本DSP10が、
    そこで処理され出力される楽音データに対して遅延バッファと同等の役割を果たす。 但し、ここでは、従来技術の構成の場合と異なり、遅延されるデータは、演奏情報ではなく、楽音データであり、単に溜めて出力するだけなので、上述したポインタの追い越しなどによるデータのオーバーフローといったことは起こらない。

    【0065】他方上記実施例では、遅延時間の設定を、
    ユーザによる遅延スイッチの操作で行っているが、遅延時間を自動設定でセットすることもできる。 すなわち、
    自動演奏ピアノ203に打鍵タイミングを検出するためのハンマセンサ(図示なし)を設置し、代表的な鍵に対してコントローラ100から演奏情報を出力し、演奏情報出力の時点から、ハンマが打鍵するまでのタイムラグを計測できる構成とすることで、遅延時間の自動設定が可能となる。 すなわち、ここで計測されたタイムラグを予めCPU101に格納されている処理プログラムで遅延時間を設定するためのリードアドレスデータを計算し、上記DSP10に出力することで、遅延時間が自動的にセットされる。

    【0066】打鍵タイミングを検出するためのセンサとしては、光センサ、磁気センサなどのハンマの動きを検出するハンマセンサのほか、打弦音を検出するマイクロフォン、響板や弦の振動を検出する圧電センサなどを使用できる。

    【0067】図15は、そのような遅延時間の自動設定構成の処理フローを示すフローチャートであり、また図16は、その処理におけるカウンタのためのタイマ割り込み処理(たとえば1ms割り込み)を示すフローチャートである。 まずカウンタが0にセットされ(ステップS901)、上記代表的な鍵に対し所定の強さでソレノイド駆動信号が発生せしめられる(ステップS90
    2)。 上記ハンマセンサなどから変換器を介して送られてくるA/D信号の入力値があるか否かチェックされる(ステップS903)。 該入力値を検出してから(ステップS903;Yes)、上記カウンタの値に応じた遅延時間をDSP10に送信する(ステップS904)。
    その後上記鍵を消音するためのソレノイド駆動信号を発生し(ステップS905)、上記ソレノイド駆動装置2
    02に送る(ステップS906)。 そして処理を最初に戻す(リターン)。 また図16に示すように、たとえば1ms毎に割り込み処理がなされ、タイムラグを計るカウンタのインクリメントがなされる(ステップS100
    1)。 ここで、タイマ割り込みが1msであり、カウンタの値が500ならば、遅延時間は500msに自動設定される。

    【0068】(実施例2)図17は、上記実施例1と同じ構成で、DSP10により、遅延出力される電子音源301側の楽音データに対し、該DSP10で、音量制御及びリバーブを含む種々の音響効果(エフェクト)がなされた状態を示す回路ブロック図である。 基本的構成は上記実施例1と同じなので省略するが、本構成では、
    音量制御や種々の音響効果付加を行うDSP10の従来構成を用い、その処理プログラム及び係数データに、遅延処理用のものを加えれば、それだけで本発明に係る演奏制御装置が提供できるようになることが分かる。

    【0069】(実施例3)図18は、同じく自動演奏ピアノ203の構成を含む上記本発明に係る演奏制御装置の別の実施形態構成を示す回路ブロック図である。 同図に示すように、本実施例の演奏制御装置の基本構成は、
    前記実施例1及び実施例2の構成の場合とほぼ同じである。

    【0070】ただし、本構成では、読み込み対象となるCDから、MIDIデータで構成される演奏情報と、音声やその他の楽器演奏音を含むオーディオ信号データが、コントローラ100に読み込まれることになる。 もちろん読み込み対象はCDに限らず、例えばCD−R、
    CD−RW、DVD−ROM、DVD−RAM、DVD
    −R、DVD−RW、DVD+RW等、その形式は問わない。

    【0071】またDSP10には、電子音源301から出力される楽音データと上記オーディオ信号データが入力され、必要な音響効果付加処理がなされると共に、これらのデータに基づく楽音乃至音声は所定時間遅延して出力されることになる。

    【0072】本実施例でも、上記自動演奏ピアノ203
    側の構成において演奏情報が伝達されてから実際の弦がたたかれるまでタイムラグが、100ms秒程度であったので、同じ時間だけ遅延時間として、上記DSP10
    に設定されている。 ただしこれに限定されるものでないことは、上記実施例の場合と同様である。

    【0073】従って、電子音源301から出力された楽音データとコンパクトディスクCD402から読み出されたオーディオ信号データは、DSP10で所定時間だけ遅延せしめられて出力されるので、ソレノイドによる自動演奏ピアノ側の打弦音と同時に発音させることが可能となる。 本実施例構成では、特に密度の高い演奏情報が入力されてくる場合でも、DSP10により楽音データの状態とオーディオ信号データのまま遅延出力されるので、上述したポインタの追い越しによるデータのオーバーフローが起こらず、正常なアンサンブル演奏が行えるようになる。

    【0074】尚、本発明の演奏制御方法及び演奏制御装置、並びに楽音発生装置は、上述の実施例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。

    【0075】

    【発明の効果】以上、説明したように本発明の請求項1
    〜請求項10記載の演奏制御方法及び演奏制御装置、並びに請求項11記載の楽音発生装置の構成によれば、特に密度の高い演奏情報が入力されてくる場合でも、楽音データの状態で遅延出力されるので、上述したポインタの追い越しによるデータのオーバーフローなどが起こらず、正常なアンサンブル演奏が行えるようになるという優れた効果を奏し得る。

    【0076】また請求項3及び請求項8の構成によれば、デジタルシグナルプロセッサを用いて楽音データを所定時間遅延せしめて出力する構成としているため、楽音データに対して種々の音響効果を付加する構成などとして用いられているデジタルシグナルプロセッサの備えられた既存の電子楽器やカラオケ機器などの構成に、ソフトウェア的な変更を加えるだけで、上記のようなアンサンブル演奏をすることができるようになる。

    【0077】さらに請求項2及び請求項7の構成では、
    オーディオ信号データもアンサンブル音源として用いることができ、この場合、楽器だけでなく、ボォーカル音などにも対応でき、上記従来技術ではできなかったアンサンブルを実現できるようになる。

    【0078】なお、上記本発明の構成によれば、オーディオ信号データを遅延させることで、オーディオ信号データによる音と自動演奏ピアノの発音との発音タイミングを同期化させることができるので、オーディオ信号データがMP3やOggVorbisなどの形式であっても、良好なアンサンブルを実現でき、新オーディオ形式(上記)
    との親和性が良好であると言える。

    【図面の簡単な説明】

    【図1】自動演奏ピアノ203の構成を含む上記本発明に係る演奏制御装置の一実施形態構成を示す斜視図である。

    【図2】上記構成の回路ブロック図である。

    【図3】コントロールパネル102の構成の詳細を示す説明図である。

    【図4】標準MIDIファイルの基本フォーマット構成を示す説明図である。

    【図5】システムエクスクルーシブイベントの構成を示す説明図である。

    【図6】メタイベントの構成を示す説明図である。

    【図7】上記演奏制御装置の基本処理を示すフローチャートである。

    【図8】テンポタイマ割り込み処理の処理フローを示すフローチャートである。

    【図9】パネル処理の処理フローを示すフローチャートである。

    【図10】図9の処理フローの続きを示すフローチャートである。

    【図11】図10の処理フローの続きを示すフローチャートである。

    【図12】SMFフォーマットが0の場合の上記自動演奏処理の処理フローを示すフローチャートである。

    【図13】データ処理(図12ステップS607)の処理フローを示すフローチャートである。

    【図14】図13のステップS701で対象となるデータがMIDIイベントでないと判断された場合の処理フローを示すフローチャートである。

    【図15】遅延時間の自動設定構成の処理フローを示すフローチャートである。

    【図16】上記遅延時間の自動設定処理におけるカウンタのためのタイマ割り込み処理を示すフローチャートである。

    【図17】DSP10により、楽音データに対する音量制御及びリバーブを含む種々の音響効果の付加とデータ遅延出力処理がなされる状態を示す第2実施例の回路ブロック図である。

    【図18】自動演奏ピアノ203の構成を含む上記本発明に係る演奏制御装置の3つ目の実施形態構成を示す回路ブロック図である。

    【図19】ピアノ自動演奏装置から発せられる音と電子音源パートから発せられる楽音との間に発生するタイムラグを防ぐ従来構成を示す回路ブロック図である。

    【図20】演奏情報を溜め込むリングバッファ600の構成を示す説明図である。

    【符号の説明】

    10 DSP 11 RAM 100 コントローラ 101 CPU 102 コントロールパネル 103 RAM 104 ROM 1020 表示器 1021〜1026 パネルスイッチ 1021、1022 選曲スイッチ 1023 PLAYスイッチ 1024 STOPスイッチ 1025、1026 遅延スイッチ 201 ソレノイド駆動信号発生回路 202 ソレノイド駆動装置 203 自動演奏ピアノ 300 遅延用バッファ 301 電子音源 302 D/A変換回路 303 アンプ 304 スピーカ 401 フロッピーディスク 402 コンパクトディスク 501 A/D変換回路 502 マイク 600 リングバッファ 601 書き込みポインタ 602 読み出しポインタ

    フロントページの続き (72)発明者 岩瀬 勝彦 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内 (72)発明者 本多 久光 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内 (72)発明者 新妻 伸二 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内 (72)発明者 松田 寿徳 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内 Fターム(参考) 5D378 MM64 MM65 XX22

    QQ群二维码
    意见反馈