JP4270102B2 - 自動演奏装置及びプログラム - Google Patents

自動演奏装置及びプログラム Download PDF

Info

Publication number
JP4270102B2
JP4270102B2 JP2004309704A JP2004309704A JP4270102B2 JP 4270102 B2 JP4270102 B2 JP 4270102B2 JP 2004309704 A JP2004309704 A JP 2004309704A JP 2004309704 A JP2004309704 A JP 2004309704A JP 4270102 B2 JP4270102 B2 JP 4270102B2
Authority
JP
Japan
Prior art keywords
automatic performance
data
play effect
event
performance data
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.)
Expired - Fee Related
Application number
JP2004309704A
Other languages
English (en)
Other versions
JP2006091804A (ja
Inventor
竜美 朝倉
史嗣 大高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2004309704A priority Critical patent/JP4270102B2/ja
Publication of JP2006091804A publication Critical patent/JP2006091804A/ja
Application granted granted Critical
Publication of JP4270102B2 publication Critical patent/JP4270102B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、自動演奏中に自動演奏データに対し所望の変化を与え、元の自動演奏データとは雰囲気の異なる自動演奏を行うことが可能な自動演奏装置及びプログラムに関する。特に、自動演奏データを制作した制作者の意図しない変化が施されて演奏されることのないようにできるようにした自動演奏装置及びプログラムに関する。
従来から、所定の自動演奏データに基づき自動演奏を行うシーケンサ等の自動演奏装置が知られている。こうした自動演奏装置の1例としては、例えば下記に示す特許文献1に記載の装置がある。この特許文献1に開示されている従来の自動演奏装置は、所謂プレイエフェクト機能(あるいはスイング機能やグルーブ機能とも呼ぶ)と称する、記憶されている元の自動演奏データを破壊することなく、自動演奏時に該自動演奏データに含まれる各種パラメータ(例えばノートオンタイミング、ベロシティ、ゲートタイムなど)の値を所定のプレイエフェクトデータ(変更データ)に従い適宜に変更しながら自動演奏を行うことによって、元の自動演奏データをそのまま自動演奏した場合とは雰囲気の異なる自動演奏、例えば生演奏のような雰囲気ある感情表現豊かな自動演奏を行うことのできる機能を有している。
特許2630166号公報
また、最近では、自動演奏データに基づく自動演奏を繰り返し、該繰り返される自動演奏にあわせて行われたユーザ操作に応じて発生される楽音を追加録音するようにして自動演奏データを生成することのできるようにした、所謂ループ録音方式やオーバーダブ録音方式などと呼ばれるデータ生成機能を有する自動演奏装置が公知である。ここで、上記ループ録音方式とは、数小節の伴奏パターンの演奏が繰り返される自動伴奏と同じように、録音(つまり自動演奏データの生成)についてもループ方式がとられるものである。例えば、2小節の自動演奏データの録音をスタートさせると、該2小節の録音が何回も繰り返される(ループ再生される)。一度録音した自動演奏データはその次の「ループ」からすぐに演奏されることになるので、ユーザは耳で録音した自動演奏データをすぐに確認することができる。他方、オーバーダブ録音方式とは、一度録音したパート(チャンネル)に、元のデータを消さずに重ねて録音する方式である。例えば、2小節のメインパートの録音をスタートさせると、この2小節の録音が何回も繰り返される(ループ再生される)。一度録音した自動演奏データは、その次の「ループ」から演奏される。そこで、ユーザはその録音した自動演奏データを耳で確認しながら、さらに重ねて新しいノートデータを録音していくことができる。
ところで、自動演奏データを制作する際に、制作者は例えば拍どおりに正確に再生されることを意図して自動演奏データを制作する場合もあるし、予め各種パラメータを細かく設定して所謂ノリや雰囲気を持たせた自動演奏データを制作する場合もある。しかし、上記したような従来のプレイエフェクト機能を有する自動演奏装置においては、元の自動演奏データを制作した制作者の意図にかかわらず、自動演奏の際には必ず自動演奏データに対してプレイエフェクトをかけるようになっていた。したがって、制作者自身が既に所望の音楽的表現などを意図して各種パラメータを設定済みであるような自動演奏データを使用した場合であっても、該自動演奏データに対してプレイエフェクトがかけられ各種パラメータが変更される結果として、制作者が意図した音楽的表現とはかけ離れた演奏や、音楽として不自然な演奏が行われることが生じる、という問題点があった。また、従来において、例えばプレイエフェクト機能を用いて予め作成しておいた自動演奏データに対して更にプレイエフェクトをかけたような場合には、自動演奏データのプレイエフェクトをかける対象の箇所全てに対し多重にプレイエフェクトがかけられてしまうことから、制作者の意図からより大きくずれた演奏が行われたり、音楽としてより不自然である演奏が行われることが生じてしまうこととなって都合が悪い。
また、上記したループ録音方式又はオーバーダブ録音方式などのような、自動演奏を繰り返しながら自動演奏データを生成するデータ生成機能を有する場合において、単に自動演奏を行うのではなく所定のプレイエフェクトデータ(変更データ)に従いプレイエフェクトをかけながら自動演奏できるようにすると、より多様な自動演奏データを簡単に生成することができ便利である。しかし、自動演奏に対して単にプレイエフェクトをかけるようにしただけでは、自動演奏が繰り返される(ループ再生される)たびにプレイエフェクトがかけられる、つまり多重にプレイエフェクトがかけられてしまうことが生じることから非常に都合が悪い。そこで、こうしたプレイエフェクトが多重にかけられることなく、適宜にプレイエフェクトをかけながらリアルタイムに自動演奏データを生成することのできるようにした、データ生成機能を有する自動演奏装置が従来から望まれていた。
本発明は上述の点に鑑みてなされたもので、既に所望の音楽的表現などを意図して制作されている自動演奏データの全て又は一部箇所に対してプレイエフェクトをかけられないようにすることによって、該自動演奏データの制作者が意図したとおりの音楽的表現を実現する演奏、音楽として自然な演奏を行うことのできるようにした自動演奏装置及びプログラムを提供することを目的とする。
また、ループ録音方式又はオーバーダブ録音方式などの、繰り返される自動演奏にあわせて行われたユーザ操作に応じて発生される楽音を追加録音するようにして自動演奏データを生成するデータ作成機能を有する場合に、所望のループ再生時においてはプレイエフェクトをかけ、それ以降のループ再生時にはプレイエフェクトをかけないようにすることによって、多重にプレイエフェクトがかけられることなくリアルタイムに自動演奏データを作成することのできるようにした自動演奏装置及びプログラムを提供することを目的とする。
本発明の請求項に係る自動演奏装置は、自動演奏を繰り返し、該繰り返される自動演奏を元にして自動演奏データを生成することが可能な自動演奏装置であって、変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する設定手段と、前記変更データに基づき自動演奏データの内容を変更しながらの自動演奏が既に行われたか否かを判定する判定手段と、未だ自動演奏データの内容を変更しながらの自動演奏が行われていない場合には前記設定に応じて自動演奏データの内容を変更しながら自動演奏を行う一方で、既に自動演奏データの内容を変更しながらの自動演奏が行われていた場合には自動演奏データの内容を変更することなく自動演奏を行う演奏手段と、少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する記憶手段とを具える。
また、本発明の請求項に係る自動演奏装置は、自動演奏を繰り返し、該繰り返される自動演奏を元にして自動演奏データを生成することが可能な自動演奏装置であって、変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する設定手段と、自動演奏データの内容を変更する又はしない範囲を指定する所定の禁止情報に基づき、その内容を変更する又はしない範囲を判定する判定手段と、前記設定に応じて前記自動演奏データの内容を変更すると判定した範囲については前記変更データに基づいて自動演奏データの内容を変更しながら自動演奏を行う一方で、前記自動演奏データの内容を変更しないと判定した範囲については自動演奏データの内容を変更することなく自動演奏を行う演奏手段と、少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する記憶手段とを具える。これらによると、自動演奏の繰り返しを伴いながら自動演奏データを生成する際に、プレイエフェクトがかけられた以降のループ再生時にはプレイエフェクトをかけないようにすることから、多重にプレイエフェクトがかけられることを防止し、またより多様な自動演奏データを簡単に生成することができるようになる。
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
本発明によれば、自動演奏データに変更禁止情報を記憶しておき、該変更禁止情報に従って自動演奏データを再生する際にその内容に変更が加えられることを防止することのできるようにしたことから、制作者の意図したとおりの音楽表現で、且つ音楽として自然な演奏を行うことができるようになる、という効果が得られる。
また、ループ録音方式又はオーバーダブ録音方式などの自動演奏を伴いながら自動演奏データを生成する際に、所望のループ再生時にはプレイエフェクトをかけ、それ以降のループ再生時にはプレイエフェクトをかけないようにすることによって、多重にプレイエフェクトがかけられることを防止し、より多様な自動演奏データを簡単に生成することができるようになる、という効果が得られる。
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係る自動演奏装置を適用した電子楽器の全体構成を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、検出回路4,5、表示回路6、音源回路7、効果回路8、外部記憶装置10、MIDIインタフェース(I/F)11および通信インタフェース(I/F)12がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aはクロックパルスを発生し、発生したクロックパルスをCPU1に対して処理タイミング命令として与えたり、あるいはCPU1に対してインタラプト命令として与える。CPU1は、これらの命令に従って各種処理を実行する。
ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。この実施例においては、例えば自動演奏の再生タイミングにある各種イベントデータに対してプレイエフェクトをかけるか否かを判定するための、自動演奏データを構成する各トラック毎に1つずつ対応するようにして用意されるプレイエフェクト禁止フラグや、自動演奏データ(詳しくは、再生タイミングに達した自動演奏データに含まれる各種イベントデータ)を一時的に保持するための再生バッファなどがある。すなわち、この実施例に示す電子楽器においては、自動演奏データに含まれる元の各種イベントデータが直接再生されることにより自動演奏が行われるのではなく、一旦、RAM3上に設けられた再生バッファに再生タイミングに達した各種イベントデータを一時的に保存し、これを再生することにより自動演奏を行うようにしている。この再生バッファにイベントデータを一時保存する際には、前記プレイエフェクト禁止フラグに従い、元のイベントデータに対して各種パラメータ(例えばノートオンタイミング、ベロシティ、ゲートタイムなど)の値を適宜に変更するなどのプレイエフェクトの処理を施すか否かを判定し、該判定に従ってプレイエフェクト処理を実行するようにしている。こうした処理についての詳細な説明は、後述する(図5及び図6参照)。
演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子4A(鍵盤等)はユーザによるマニュアル(手弾き)演奏のために使用できるのは勿論のこと、当該電子楽器における自動演奏の演奏環境などを設定するための入力手段として使用することもできる。検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。設定操作子(スイッチ等)5Aは、自動演奏に関する各種情報等を入力するためのスイッチなどである。例えば、自動演奏対象とする自動演奏データを選択する選択スイッチ、後述するデータ生成機能(図8参照)をオン又はオフする録音開始/終了スイッチ、プレイエフェクト機能をオン(プレイエフェクトをかける設定)又はオフ(プレイエフェクトをかけない設定)するプレイエフェクト設定スイッチ、演奏テンポや音色などの自動演奏に用いる各種情報(パラメータ)等を入力するスイッチ(操作子)などである。勿論、これら以外にも、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ6Aに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。検出回路5は、上記各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路6は例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイ6Aに、自動演奏可能な自動演奏データの一覧、自動演奏に用いる各種情報の種類や現在の設定状況、あるいはCPU1の制御状態などを表示する。ユーザは該ディスプレイ6Aに表示されるこれらの各種情報を参照しながら、自動演奏対象とする自動演奏データや自動演奏に用いる各種情報(パラメータ)の選択、入力、設定などを行うことができる。
音源回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた、ユーザによる演奏操作子4Aの操作に応じてあるいは自動演奏データに基づき発生される各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、効果回路8を介して効果付与されてアンプやスピーカなどを含むサウンドシステム9から発音される。効果回路8は複数のエフェクトユニットを含んでおり、各エフェクトユニットは設定された効果パラメータに従い、それぞれ異なった効果を音源回路7からの楽音信号に付与することができる。この音源回路7と効果回路8とサウンドシステム9の構成には、従来のいかなる構成を用いてもよい。例えば、音源回路8はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
外部記憶装置10は、自動演奏データなどの各種データや、CPU1が実行する各種制御プログラム等の制御に関するデータなどを記憶するものである。なお、上述したROM2に制御プログラムが記憶されていない場合、この外部記憶装置10(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置10はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
MIDIインタフェース(I/F)11は、外部接続された他のMIDI機器11A等からMIDI形式の自動演奏データ(MIDIデータ)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI形式の自動演奏データ(MIDIデータ)を他のMIDI機器11A等へ出力するためのインタフェースである。他のMIDI機器11Aはユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。なお、MIDIインタフェース11は専用のMIDIインタフェースを用いるものに限らず、RS-232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース11を構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース11として上記したような汎用のインタフェースを用いる場合には、他のMIDI機器11AはMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、自動演奏データのデータフォーマットはMIDI形式のデータに限らず他の形式であってもよく、その場合はMIDIインタフェース11と他のMIDI機器11Aはそれにあった構成とする。
通信インタフェース(I/F)12は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介してサーバコンピュータ12Aと接続され、当該サーバコンピュータ12Aから制御プログラムあるいは各種データなどを電子楽器側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置10(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合には、サーバコンピュータ12Aから制御プログラムや各種データをダウンロードするために用いられる。こうした通信インタフェース12は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
なお、上述した電子楽器において、演奏操作子4Aは鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、電子楽器は演奏操作子4Aやディスプレイ6Aあるいは音源回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係る自動演奏装置を適用する装置としては電子楽器に限らず、パーソナルコンピュータや携帯電話等の携帯型通信端末、あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
ここで、外部記憶装置10などに予め複数記憶されており、当該電子楽器において自動演奏のために用いられる自動演奏データについて、図を用いて簡単に説明する。図2〜図4は、自動演奏データのデータ構造の一実施例を示す概念図である。一般的に自動演奏のために用いられる自動演奏データとしては、従来知られているように所謂ソングデータ、スタイルデータ、アルペジオデータなどの種類に大きく分けられる。そこで、ここではソングデータ、スタイルデータ、アルペジオデータ毎に図を分けて示し、これらの各図を参照しながら自動演奏データのデータ構造について説明する。なお、図2〜図4に示すソングデータ、スタイルデータ、アルペジオデータには各図で示したデータ以外のデータも含まれていてよいが、本発明を説明する上では必須のものではないため、その説明を省略する。
まず、ソングデータのデータ構造について、図2を用いて説明する。図2はソングデータのデータ構造を示す概念図であり、図2(a)は該ソングデータの全てのトラックについて一括してプレイエフェクトがかけられることを禁止するよう設定できるようにした場合のデータ構成であり、図2(b)は該ソングデータの所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止するよう設定できるようにした場合のデータ構成である。
ソングデータは、1つのマスタートラックチャンクデータと、複数のノートシーケンストラックチャンクデータとにより主に構成される(図2の左端図参照)。マスタートラックチャンクデータは自動演奏を行うにあたって予め全てのトラックに対して共通に設定しておく必要のある各種パラメータに関するデータであり、例えば演奏テンポや拍子あるいは各演奏パート毎の音色及び効果の設定等に係るデータである。図2に示すソングデータにおいては、演奏テンポが演奏進行に応じて変化するよう、演奏テンポを表す複数のテンポ指定イベントを演奏進行順に記憶した例を示している。他方、ノートシーケンストラックチャンクデータは自動演奏される楽曲の再生内容を表わす情報であり、トラック1〜トラックN(例えば、Nは16など)までの複数のトラック毎に、実際の演奏の元になる各種イベントデータを演奏進行順に記憶したデータである。図2に示すソングデータにおいては、ここに記憶される各種イベントデータとして、楽音の発音を指示するノートオンイベントや楽音の消音を指示するノートオフイベント等の演奏イベントデータを例示している。この演奏イベントデータは、演奏タイミングデータと組み合わされて使用される。本実施例での演奏タイミングデータとは、演奏イベントデータから次の演奏イベントデータまでの時間間隔を示す時間データであるが、これに限らず相対時間あるいは絶対時間等どのようなフォーマットであってもよい。すなわち、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。
上記したようなソングデータは、自動演奏時においてプレイエフェクトがかけられて演奏されることを禁止する「プレイエフェクト禁止イベント」を記憶することができる。まず、該ソングデータに含まれる全てのトラックについて一括してプレイエフェクトがかけられることを禁止する場合には、図2(a)に示すように、マスタートラックチャンクデータ内にプレイエフェクト禁止イベントを記憶する。この際に、全トラックの全区間にわたって一括してプレイエフェクトがかけられることを禁止する場合、つまり当該ソングデータに対してプレイエフェクトが全くかけられないようにする場合には、マスタートラックチャンクデータの先頭に対して「プレイエフェクト禁止イベント」を1つだけ記憶する(図2(a)真中図参照)。一方、該ソングデータに含まれる全てのトラックにおける所望の特定区間についてのみ一括してプレイエフェクトがかけられることを禁止する場合、つまり当該ソングデータに対して一部区間においてプレイエフェクトがかけられないようにする場合には、マスタートラックチャンクデータに対して「プレイエフェクト禁止イベント」及び「プレイエフェクト許可イベント」を1組として、プレイエフェクトがかけられることを禁止したい範囲に該当する1乃至複数のテンポ指定イベントの前後に上記それぞれのイベントを記憶する(図2(a)右端図参照)。
一方、ソングデータの所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止する場合には、図2(b)に示すように、該当するノートシーケンストラックチャンクデータにプレイエフェクト禁止イベントを記憶する。この際に、各トラック毎の全区間にわたってプレイエフェクトがかけられることを禁止する場合には、該当するノートシーケンストラックチャンクデータの先頭に対して「プレイエフェクト禁止イベント」を1つだけ記憶する(図2(b)真中図参照)。一方、各トラックにおける所望の特定区間について個々にプレイエフェクトがかけられることを禁止する場合には、該当するノートシーケンストラックチャンクデータに対して「プレイエフェクト禁止イベント」及び「プレイエフェクト許可イベント」を1組として、プレイエフェクトがかけられることを禁止したい範囲に該当する1乃至複数のノートオンイベント(又はノートオフイベント)の前後に上記それぞれのイベントを記憶する(図2(b)右端図参照)。
次に、スタイルデータのデータ構造について、図3を用いて説明する。図3はスタイルデータのデータ構造を示す概念図であり、図3(a)は該スタイルデータの全てのトラックについて一括してプレイエフェクトがかけられることを禁止するよう設定できるようにした場合のデータ構成であり、図3(b)は該スタイルデータの所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止するよう設定できるようにした場合のデータ構成である。
図3から理解できるように、この実施例に示すスタイルデータは上記ソングデータと同様に、1つのマスタートラックチャンクデータと、複数のノートシーケンストラックチャンクデータとにより主に構成される。ただし、スタイルデータの所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止する場合には(図3(b)参照)、ソングデータと異なりマスタートラックチャンクデータを有していなくてよい。すなわち、一般的な従来知られたスタイルデータはマスタートラックチャンクデータを有しないが、この実施例においては全トラックの全区間で一括してプレイエフェクトがかけられることを禁止するために、「プレイエフェクト禁止イベント」を記憶する領域としてマスタートラックチャンクデータを設けている。全トラックの全区間にわたって一括してプレイエフェクトがかけられることを禁止する場合には、1つの「プレイエフェクト禁止イベント」のみが前記新たに設けられたマスタートラックチャンクデータ内に記憶される(図3(a)真中図参照)。一方、該スタイルデータに含まれる全てのトラックにおける所望の特定区間についてのみ一括してプレイエフェクトがかけられることを禁止する場合には、特定区間毎に対応するように「プレイエフェクト禁止イベント」と「プレイエフェクト許可イベント」の組が1乃至複数記憶される(図3(a)右端図参照)。また、スタイルデータの所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止する場合には、図3(b)に示すように、該当するノートシーケンストラックチャンクデータにプレイエフェクト禁止イベントを記憶する。各トラック毎の全区間にわたってプレイエフェクトがかけられることを禁止する場合(図3(b)真中図参照)、各トラックにおける所望の特定区間について個々にプレイエフェクトがかけられることを禁止する場合(図3(b)右端図参照)における各データ構成は上記ソングデータとほぼ同様であることから、ここでの説明を省略する。
次に、アルペジオデータのデータ構造について、図4を用いて説明する。図4は、アルペジオデータのデータ構造を示す概念図である。このアルペジオデータは上記ソングデータやスタイルデータとは異なり、1つのトラック分についての演奏イベントデータ(ノートオンイベントやノートオフイベントなど)により主に構成されている。そこで、アルペジオデータの場合には、全トラック分について一括してプレイエフェクトがかけられることを禁止するように設定することはできず、各トラック毎にプレイエフェクトがかけられることを禁止するように設定することのみができるようになっている。この図4に示すように、当該トラックの全区間でプレイエフェクトがかけられることを禁止する場合には該アルペジオデータの先頭に「プレイエフェクト禁止イベント」を記憶する。他方、当該トラックの特定区間でプレイエフェクトがかけられることを禁止する場合には、特定区間毎に対応するように「プレイエフェクト禁止イベント」と「プレイエフェクト許可イベント」の組を記憶する。このようなデータ構成は、上記ソングデータ又はスタイルデータにおける各トラック毎にプレイエフェクトがかけられることを禁止する場合に示したデータ構成と同じである。
なお、プレイエフェクト禁止情報は、上記指定方法を組み合わせて、トラック毎に時間的な区間を指定するものであってよい。
なお、上述した実施例において、一部区間のみについてプレイエフェクトがかけられることを禁止する場合に「プレイエフェクト禁止イベント」及び「プレイエフェクト許可イベント」を1組のみ記憶した例を示したが(図2(b)右端図又は図3(b)右端図参照)、こうした1組の「プレイエフェクト禁止イベント」及び「プレイエフェクト許可イベント」を複数組記憶することによって、同一のトラックにおいて異なる一部区間でそれぞれプレイエフェクトがかけられることを禁止するように設定できるようにしてよいことは言うまでもない。
なお、プレイエフェクト禁止情報は、自動演奏データに対して、時間的に、始めから終わりまで指定するものであってもよいし、部分的な区間を、1つあるいは複数、指定するものであってもよい。区間指定の例として、何小節目の何拍目から何小節目の何拍目までを禁止するといったような指定の方法が挙げられる。
なお、この実施の形態では、ソングデータ及びスタイルデータは各種イベントデータ(演奏イベントデータなど)を各トラック毎に独立して記憶するようにデータ構成したものを例に説明したがこれに限らず、複数トラック分の各種イベントデータが混在して記憶されているもの、すなわち、各種イベントデータをその割り当てられたトラックにかかわらず、出力順に1列に並べて記憶するようにデータを構成したものであってもよい。そうした際に、所望のトラック毎に適宜にプレイエフェクトがかけられることを禁止する場合には、プレイエフェクト禁止イベント(又はプレイエフェクト許可イベント)と共に、プレイエフェクトがかけられることを禁止する対象となるトラックナンバ等を記憶するようにするとよい。
なお、メモリ上において、時系列の自動演奏データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されている自動演奏データを、連続するデータとして別途管理するようにしてもよい。すなわち、時系列的に連続する自動演奏データとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない。
本発明に係る自動演奏装置を適用した電子楽器は、ユーザ所望の自動演奏データに基づく自動演奏中に、所望の変化を与えながら当該自動演奏データの再生を行うことによって(つまり、プレイエフェクトをかけながらの演奏を行うことによって)、元の自動演奏データを単に再生した場合の演奏とは雰囲気の異なる演奏を行うことが可能である、所謂プレイエフェクト機能を有する。そこで、こうしたプレイエフェクト機能を実現する処理動作について説明する。
まず、マスタートラックチャンクデータに基づく「マスタートラックの再生処理」について、図5を用いて説明する。図5は、「マスタートラックの再生処理」の一実施例を示すフローチャートである。当該処理は、演奏テンポに応じた所定周期毎(例えば、四分音符あたり96回)に実行される。以下、図5に示したフローチャートに従って、当該処理の動作を説明する。
ステップS1では、元の自動演奏データのマスタートラックチャンクデータ内に、再生タイミングに達したイベントがあるか否かを判定する。再生タイミングに達したイベントがない場合には(ステップS1のNO)、当該処理を修了する。再生タイミングに達したイベントがある場合には(ステップS1のYES)、当該イベントがプレイエフェクト禁止イベントであるか否か(ステップS2)、当該イベントがプレイエフェクト許可イベントであるか否か(ステップS5)をそれぞれ判定し、これらの再生タイミングに達したイベントの種類に応じて以下に示すような処理を実行する。当該イベントがプレイエフェクト禁止イベントである場合(ステップS2のYES)には、全トラック分についてプレイエフェクト禁止フラグを立てると共に(ステップS3)、プレイエフェクトをかけることが禁止されている旨を表示するようにディスプレイ6Aの表示を更新する(ステップS4)。他方、当該イベントがプレイエフェクト許可イベントである場合には(ステップS5のYES)、全トラック分についてプレイエフェクト禁止フラグを下ろすと共に(ステップS6)、プレイエフェクトを許可する旨を表示するようにディスプレイ6Aの表示を更新する(ステップS7)。すなわち、ここでは予めRAM3上にトラック毎に用意されている全てのプレイエフェクト禁止フラグに対して、再生タイミングに達したイベントの種類がプレイエフェクト禁止イベントである場合には例えば「1」(又は「0」)を、再生タイミングに達したイベントの種類がプレイエフェクト許可イベントである場合には例えば「0」(又は「1」)を設定する。当該イベントが上記以外のイベント、例えばテンポ指定イベントなどである場合には(ステップS2及びステップS5が共にNO)、当該イベントに従い演奏テンポの設定など、通常のイベント処理を行う(ステップS8)。ただし、元の自動演奏データがスタイルデータである場合には、マスタートラックチャンクデータ内にプレイエフェクト禁止イベント又はプレイエフェクト許可イベント以外のイベントが記憶されていることがないので、こうした通常のイベント処理が実行されることはない。
次に、ノートシーケンストラックチャンクデータに基づく「ノートシーケンストラックの再生処理」について、図6を用いて説明する。図6は、「ノートシーケンストラックの再生処理」の一実施例を示すフローチャートである。当該処理は上記した「マスタートラックの再生処理」とあわせて並行動作される処理であって、演奏テンポに応じた所定周期毎(例えば、四分音符あたり96回)に、各トラック毎に対応する処理がそれぞれ実行される。
ステップS11では、元の自動演奏データのノートシーケンストラックチャンクデータ内に、再生タイミングに達したイベントがあるか否かを判定する。再生タイミングに達したイベントがある場合には(ステップS11のYES)、当該イベントがプレイエフェクト禁止イベントであるか否か(ステップS14)、当該イベントがプレイエフェクト許可イベントであるか否か(ステップS17)をそれぞれ判定し、これらの再生タイミングに達したイベントの種類に応じて以下に示すような処理を実行する。当該イベントがプレイエフェクト禁止イベントである場合(ステップS14のYES)には、プレイエフェクト禁止フラグを立てると共に(ステップS15)、プレイエフェクトをかけることが禁止されている旨を表示するようにディスプレイ6Aの表示を更新する(ステップS16)。他方、当該イベントがプレイエフェクト許可イベントである場合には(ステップS17のYES)、プレイエフェクト禁止フラグを下ろすと共に(ステップS18)、プレイエフェクトを許可する旨を表示するようにディスプレイ6Aの表示を更新する(ステップS19)。
当該イベントが上記以外のイベント、例えば演奏イベント(ノートオンイベントやノートオフイベント)などである場合には(ステップS14及びステップS17が共にNO)、パネル設定はプレイエフェクトONか否かを判定する(ステップS20)。すなわち、ユーザが設定操作子5A等を用いプレイエフェクトをかけるよう機器設定済み(プレイエフェクトON)であるか否かを判定する。パネル設定がプレイエフェクトONでなくプレイエフェクトをかけないよう機器設定されている場合には(ステップS20のNO)、ステップS24の処理へジャンプする。パネル設定がプレイエフェクトONでありプレイエフェクトをかけるよう機器設定されている場合には(ステップS20のYES)、プレイエフェクト禁止フラグが立っているか否かを判定する(ステップS21)。プレイエフェクト禁止フラグが立っていないと判定した場合には(ステップS21のNO)、ステップS23の処理へジャンプする。一方、プレイエフェクト禁止フラグが立っていると判定した場合には(ステップS21のYES)、プレイエフェクト禁止を無視する設定がなされているか否かを判定する(ステップS22)。プレイエフェクト禁止を無視する設定がなされていない場合には(ステップS22のNO)、ステップS24の処理へジャンプする。プレイエフェクト禁止を無視する設定がなされている場合には(ステップS22のYES)、当該イベントに対してプレイエフェクトをかける(ステップS23)。すなわち、当該電子楽器では単純にプレイエフェクト禁止情報に従うのではなく、従うか無視するかをユーザに設定させる機能を有していてよい。上記のように、例えばプレイエフェクト禁止情報を無視するようにユーザが設定していたような場合には、自動演奏データにプレイエフェクト禁止情報が含まれていても、これを無視してプレイエフェクトをかけることができる。イベントに対してプレイエフェクトをかける方法としては、予め用意された変更内容を指定する変更データに基づき元の自動演奏データの内容を変更することでプレイエフェクトをかける。こうした方法は公知であることから、ここでの説明を省略する。ステップS24では、プレイエフェクトがかけられたあるいはプレイエフェクトがかけられていない、プレイエフェクト禁止イベント及びプレイエフェクト許可イベント以外の全てのイベントを再生バッファに入れる。
上記ステップS11において、元の自動演奏データのノートシーケンストラックチャンクデータ内に、再生タイミングに達したイベントがない場合には(ステップS11のNO)、上記ステップS23で処理した再生バッファ内に再生タイミングに達したイベントがあるか否かを判定する(ステップS12)。再生バッファ内に再生タイミングに達したイベントがない場合には(ステップS12のNO)、当該処理を終了する。この場合、自動演奏は行われない。一方、再生バッファ内に再生タイミングに達したイベントがある場合には(ステップS12のYES)、音源回路7を用いて楽音を発音させるなど、イベントに応じた処理を実行する(ステップS13)。すなわち、再生バッファからイベントを読み出して発音を行う発音処理を行い、自動演奏を実行する。ここで実行される自動演奏は、元の自動演奏データにプレイエフェクト禁止イベントが全く記憶されていない場合にはプレイエフェクトがかけられた演奏となるし、元の自動演奏データにプレイエフェクト禁止イベントが記憶されている場合には対応する箇所(全て又は一部区間)についてはプレイエフェクトがかけられていない演奏となる。なお、元の自動演奏データがスタイルデータやアルペジオデータである場合には、音高を決定した上で発音させる。この音高の決定については演奏時に所定のルールに従って決定するのであるが、こうした技術は多数公知であることから、ここでの説明を省略する。
次に、ユーザ所望の区間においてプレイエフェクトがかけられることを禁止するよう、元の自動演奏データ(詳しくは各ノートシーケンストラックデータ)に対してプレイエフェクト禁止情報(プレイエフェクト禁止イベント及びプレイエフェクト許可イベント)が記憶された自動演奏データを新たに生成する「プレイエフェクト禁止情報記録処理」について、図7を用いて説明する。図7は、「プレイエフェクト禁止情報記録処理」の一実施例を示すフローチャートである。当該処理は、上述した「マスタートラック再生処理」及び「ノートシーケンストラック再生処理」(図5及び図6参照)とあわせて並行動作される処理である。ユーザは上記各処理の動作に応じて発音される演奏を聞きながら、適宜のタイミングで所定のユーザインタフェース(各種操作子等)を操作することで、自動演奏中におけるユーザ操作のタイミングに応じた箇所に、プレイエフェクト禁止情報を自動演奏データ中に記録することができる。
ステップS31では、バッファに演奏イベントがあるか否かを判定する。前記バッファは、演奏テンポに応じた所定周期(例えば、四分音符あたり96回)の間に生じた演奏イベントやユーザによるユーザインタフェース操作に応じて発生された操作イベントを、読み出されるまで一時的に記憶する記憶領域である。バッファに演奏イベントがある場合には(ステップS31のYES)、当該演奏イベントを新しい自動演奏データに追加して(ステップS36)、ステップS31の処理へ戻る。一方、バッファに演奏イベントがない場合には(ステップS31のNO)、まずプレイエフェクトをかけることを止める操作イベントがバッファにあるか否かを判定する(ステップS32)。プレイエフェクトをかけることを止める操作イベントがバッファにある場合には(ステップS32のYES)、プレイエフェクト許可イベントを新しい自動演奏データに追加する(ステップS33)。次に、プレイエフェクトをかけることを許可する操作イベントがバッファにあるか否かを判定する(ステップS34)。プレイエフェクトをかけることを許可する操作イベントがバッファにある場合には(ステップS34のYES)、プレイエフェクト禁止イベントを新しい自動演奏データに追加する(ステップS35)。このようにして、プレイエフェクトをかけながら自動演奏データを記録処理する際に、自動演奏データ中のプレイエフェクトをかけた範囲の前後に、それぞれプレイエフェクト禁止イベント及びプレイエフェクト許可イベントを記録しておくことによって、該生成した自動演奏データを後ほど再生する際に前記範囲において更なるプレイエフェクトがかけられることを禁止するようにしている。
なお、上述した「プレイエフェクト禁止情報記録処理」では、各ノートシーケンストラックデータにプレイエフェクト禁止情報を記録するようにしたが、マスタートラックチャンクデータにプレイエフェクト禁止情報(この場合にはプレイエフェクト禁止イベントのみ)を記録するようにしてもよい。例えば、演奏中にユーザインタフェースの操作が1回のみであったような場合、あるいは専用のユーザインタフェースが操作された場合には、マスタートラックチャンクデータにプレイエフェクト禁止情報を記録するようにするとよい。また、プレイエフェクト禁止情報を記録する対象として、一律全トラックを指定するようにしてもよいし、トラック毎に個別に指定するものであってもよい。
なお、上述した「プレイエフェクト禁止情報記録処理」では、演奏中にユーザ操作に応じてすぐにプレイエフェクト禁止情報を記録するようにしたがこれに限らず、演奏中に行われたプレイエフェクトに係るユーザ操作を全て時間データと共に記憶しておき、これに基づき元の自動演奏データの該当する箇所にプレイエフェクト禁止情報を記録して新たな自動演奏データを生成するようにしてもよい。
なお、プレイエフェクト禁止情報を付加する自動演奏データとしては、上述したようなソングデータでもよいし、スタイルデータでもよいし、アルペジオデータでもよい。 なお、選択した自動演奏データに、プレイエフェクト禁止情報が含まれているかどうかを演奏せずともユーザに伝えるユーザインタフェースを具えていてもよい。また、演奏中にプレイエフェクト禁止情報をユーザに対してリアルタイムに伝えるユーザインタフェースを具えていてもよい。表示等の視覚により伝えるものであってもよいし、楽音等の聴覚により伝えるものであってもよい。
なお、プレイエフェクト禁止情報に基づいてプレイエフェクトを禁止する方法としては、ユーザが操作してもプレイエフェクトがかからないようにしてもよいし、ユーザが操作自体を行うことができないようにしてもよい。ユーザが操作自体を行うことができないようにする場合には、例えばユーザがパネル操作をしても設定のための画面表示を行わない、あるいはLEDを点灯させない、などのようにするとよい。
本発明に係る自動演奏装置を適用した電子楽器は、ループ録音方式又はオーバーダブ録音方式等の、繰り返される自動演奏にあわせて適宜に入力されたユーザ操作に基づく楽音をリアルタイムに追加録音することにより自動演奏データを生成するデータ生成機能を有していてよい。データ生成機能の実行時に、上記したようなプレイエフェクト機能による所望の変化を与えながら自動演奏データを再生する(つまり、プレイエフェクトをかけながらの演奏を行う)ことによって、元の自動演奏データを単に再生した場合の演奏とは雰囲気の異なる演奏を行うと共に、プレイエフェクトをかけた後の自動演奏データをユーザ操作に応じて入力された楽音などと共に記憶することができる。勿論、ユーザ操作がない場合には、プレイエフェクトをかけた後の自動演奏データのみを記憶することができるようにしてよい。そこで、こうした自動演奏の繰り返しを伴って自動演奏データを生成するデータ生成機能について、以下説明する。
まず、データ生成機能の処理概要について、図8を用いて簡単に説明する。図8は、当該電子楽器が有するデータ生成機能を説明するための機能ブロック図である。図8において、図中の矢印は自動演奏データ(詳しくは演奏イベントデータ)の流れを表すものである。自動演奏の元となる自動演奏データ、プレイエフェクトをかけられた後やユーザ操作に基づく楽音追加後の自動演奏データは、RAM3あるいは外部記憶装置10内の所定のバッファ内にそれぞれ記憶される。すなわち、自動演奏データを格納するバッファ3(又は10)は、再生に用いる自動演奏データを格納する再生バッファ3aと、生成した自動演奏データを記録する記録バッファ3bとからなるダブルバッファあるいはリングバッファの構造をもつものであって、前記再生バッファ3aと記録バッファ3bとが次々にループする毎に入れ替わることで、ループ録音方式及びオーバーダブ録音方式によるデータ生成機能を実現するようにしている。
制御モジュールAは、ここに示す各モジュールを制御する。この制御モジュールAで行われる具体的な処理(データ生成処理)については、後述する(後述の図9〜図11参照)。再生モジュールBは、タイマ1Aに同期して再生バッファ3aから該当する自動演奏データ(詳しくは演奏イベントデータ)を読み出し、該読み出した演奏イベントデータをプレイエフェクトモジュールEに送る。プレイエフェクトモジュールEでは、予め記憶されたプレイエフェクトデータ(変更データ)100に基づき前記読み出された演奏イベントデータに対してプレイエフェクトをかけて、これを音源ドライバモジュールFに送る。音源ドライバモジュールFでは、送られてきたプレイエフェクトがかけられた後の演奏イベントデータを音源回路7に送ることで楽音を発生するよう制御する。また、音源ドライバモジュールFは、前記プレイエフェクトモジュールEからプレイエフェクトがかけられた後の演奏イベントデータのみではなく、キースキャンモジュールDによりユーザ操作が検知された演奏操作子4Aに応じた演奏イベントデータも入力される。したがって、プレイエフェクトをかけられた自動演奏に加えて、ユーザ操作に応じた楽音を同時に発生させることができる。また、プレイエフェクトモジュールEからの演奏イベントデータ及びキースキャンモジュールDからの演奏操作子4Aのユーザ操作に応じた演奏イベントデータは共に記録モジュールCに送られ、記録モジュールCではこれらの演奏イベントデータを記録バッファ3bに記録する。したがって、記録バッファ3bに記録される自動演奏データは、再生バッファ3aに記録されていた元の自動演奏データと比較すると、プレイエフェクトがかけられており、さらにはユーザ操作された演奏操作子4Aに応じた演奏イベントデータが付加されたものとなる。勿論、プレイエフェクトがかけられなかったり、演奏操作子4Aの操作がなかったような場合には、再生バッファ3aに記録されていた元の自動演奏データがそのまま記録バッファ3bに記録されることは言うまでもない。
次に、上述したデータ生成機能を実現する「データ生成処理」について、図9を用いて説明する。図9は、「データ生成処理」の一実施例を示すフローチャートである。当該処理は、ユーザによる所定の録音操作に応じて開始される。以下、図9に示したフローチャートに従って、当該処理の動作を説明する。
ステップS41では、初期設定を行う。再生バッファ3aに元となる自動演奏データを記憶させておかずに、再生バッファ3aがまっさらな状態から自動演奏データを全く新規に生成するような場合には、該初期設定として、生成対象とする自動演奏データの長さ(例えば小節数)を指定したり、再生バッファ3aをクリアする(空にする)などの処理を行う。一方、再生バッファ3aに記憶された既存の自動演奏データを利用して自動演奏データを生成する場合には、該初期設定として、再生バッファ3aに元となる既存の自動演奏データを予め読み込んでおくなどの処理を行う。この再生バッファ3aに既存の自動演奏データを読み込んでおく場合、ユーザは既存の自動演奏データの中から任意のデータを選択することができる。ステップS42は、RAM3のワークエリア内に確保されるプレイエフェクト制御フラグを「許可」に設定する。ステップS43は、録音「開始」のパネル操作を待つ。すなわち、ユーザによる録音開始/終了スイッチ操作に応じて録音「開始」が指示されるまで、当該処理を続行せずに待機させておく。録音「開始」が指示された場合には、再生モジュールB及び記録モジュールCそれぞれに対し録音開始を指示する一方、プレイエフェクトモジュールEに対してはスルーを指示する(ステップS44)。これらの指示以降、再生モジュールBではタイマ1Aに同期して再生バッファ3aから演奏イベントデータを読み出し、該読み出した演奏イベントデータをプレイエフェクトモジュールEを経由して音源ドライバモジュールF及び記録モジュールCに対してそれぞれ送る。記録モジュールCでは、送られてきた演奏イベントデータを順次に記録バッファ3bに記憶する。
ステップS45では、録音「終了」のパネル操作が行われたか否かを判定する。ユーザによる録音開始/終了スイッチ操作に応じて録音「終了」操作が行われたと判定した場合には(ステップS45のYES)、当該処理を終了する。この処理終了に伴い、記録バッファ3b内に記録されている自動演奏データは所定の不揮発メモリや外部記憶装置10などに記憶される。ただし、プレイエフェクトがかけられていない、あるいはユーザによる演奏操作子4Aの操作が全く行われることがなかったような場合には、記録バッファ3b内に記録されている自動演奏データと再生バッファ3a内に記録されている元の自動演奏データとは何ら変わらないので、記録バッファ3b内に記録されている自動演奏データを所定の不揮発メモリや外部記憶装置10などに記憶しなくてよい。
一方、録音「終了」の操作が行われていないと判定した場合には(ステップS45のNO)、プレイエフェクト制御フラグが「許可」に設定されているか否かを判定する(ステップS46)。プレイエフェクト制御フラグが「許可」に設定されている場合には(ステップS46のYES)、パネル操作子上でのプレイエフェクト設定のオン/オフ設定をプレイエフェクトモジュールEに反映させ、該プレイエフェクト設定が「オン」設定である場合には、プレイエフェクトをかけるようにプレイエフェクトモジュールEに指示する(ステップS47)。上述した図8から理解できるように、この場合には、プレイエフェクトモジュールEでは予め記憶されているプレイエフェクトデータ100に基づいて、再生モジュールBから送られた演奏イベントデータを加工する。そして、加工された演奏イベントデータは音源ドライバモジュールFに送られると共に、記録モジュールCに送られて記録バッファ3bに記録される。したがって、音源回路7を介して発音される楽音はプレイエフェクトがかけられた後の楽音が発生され、また記録バッファ3bにはプレイエフェクトがかけられた後の演奏イベントデータが記録されることになる。さらに、ユーザによる演奏操作子4Aの操作があるような場合には、キースキャンモジュールDから該操作に応じて発生された演奏イベントデータが音源ドライバモジュールF及び記録モジュールCに送られることから、プレイエフェクトがかけられた後の楽音と同時に、ユーザによる演奏操作子4Aの操作に応じて発生された演奏イベントデータに基づく楽音が発生される。そして、記録バッファ3bにはプレイエフェクトがかけられた後の演奏イベントデータと共に、ユーザによる演奏操作子4Aの操作に応じて発生された演奏イベントデータが記録されることになる。
他方、プレイエフェクト制御フラグが「許可」に設定されていない場合には(ステップS46のNO)、パネル操作子上でのプレイエフェクト「オン」設定又は「オフ」設定に関わらず、プレイエフェクトをかけないようにプレイエフェクトモジュールEに指示する(ステップS48)。この場合には、音源回路7を介して発音される楽音はプレイエフェクトがかけられていない楽音が発生され、また記録バッファ3bにはプレイエフェクトがかけられていない元の演奏イベントデータがそのまま記録されることになる(ただし、ユーザによる演奏操作子4Aの操作がある場合には、該操作に応じて発生された演奏イベントデータが同時に記録バッファ3bに記録される)。
ステップS49では、再生バッファ3aに対する読み出しポインタが繰り返し読み出しされる範囲であるループの終端まで到達したか否かを判定する。ループの終端まで到達したと判定した場合には(ステップS49のYES)、再生バッファ3aと記録バッファ3bの更新を行い、さらには再生モジュールBの再生バッファ3aに対する読み出しポインタ及び記録モジュールCの記録バッファ3bに対する書き込みポインタのそれぞれを該当するループの先頭に設定する(ステップS50)。ステップS51では、最新のループの1周つまり直近のループ処理で記録バッファ3bに記録された自動演奏データがプレイエフェクトがかけられた後のデータであるか否かを判定する。プレイエフェクトがかけられた後のデータであると判定した場合には(ステップS51のYES)、プレイエフェクト制御フラグを「許可」から「禁止」に設定変更する(ステップS52)。こうすると、プレイエフェクトをかけるプレイエフェクト「オン」設定である場合であっても、1回のループ処理の際にのみプレイエフェクトがかけられることになることから、ループ再生つまり自動演奏が繰り返されても多重にプレイエフェクトがかけられてしまうことがない。また、プレイエフェクト設定スイッチによる「オン」設定又は「オフ」設定によりプレイエフェクトをかけるかけないかを指示するようにしたことから、ユーザは演奏操作子4Aを操作して楽音を追加録音した後に、プレイエフェクト「オン」設定して、追加録音した楽音を含む自動演奏データに対してプレイエフェクトをかけることができるようになる。すなわち、録音の最初からプレイエフェクトをかけなくてもよく、プレイエフェクトをかけることなくユーザ操作に応じて発生された楽音を追加録音してから、該生成した自動演奏データに対してプレイエフェクトをかけることができる。
次に、上述したデータ生成機能を実現する「データ生成処理」の別の実施例について、図10及び図11を用いて説明する。図10は、「データ生成処理」の別の実施例を示すフローチャートである。図11は、「データ生成処理」と並行動作される「プレイエフェクト処理」の一実施例を示すフローチャートである。この「プレイエフェクト処理」は、自動演奏データに含まれるイベント毎に実行される処理である。
ステップS61では、初期設定を行う。ステップS62では、RAM3のワークエリア内に確保されるプレイエフェクト制御フラグを「許可」にする。ステップS63は、ユーザによる録音「開始」のパネル操作を待つ。録音「開始」が指示されると、再生モジュールB及び記録モジュールCそれぞれに対し開始を指示する一方、プレイエフェクトモジュールEに対してはスルーを指示する(ステップS64)。ステップS65では、ユーザによる録音「終了」のパネル操作が行われたか否かを判定する。録音「終了」の操作が行われた場合には(ステップS65のYES)、当該処理を終了する。この場合、記録バッファ3b内に記録された自動演奏データは不揮発メモリ又は外部記憶装置10などに記憶される。録音「終了」の操作が行われていない場合には(ステップS65のNO)、再生バッファ3aに対する読み出しポインタが繰り返し読み出しされる範囲であるループの終端まで到達したか否かを判定する(ステップS66)。ループの終端まで到達したと判定した場合には(ステップS66のYES)、再生バッファ3aと記録バッファ3bの更新を行い、さらには再生モジュールBの再生バッファ3aに対する読み出しポインタ及び記録モジュールCの記録バッファ3bに対する書き込みポインタのそれぞれをループの先頭に設定する(ステップS67)。ステップS68では、最新のループの1周つまり直近のループ処理で記録バッファ3bに記録された自動演奏データがプレイエフェクトがかけられた後のデータであるか否かを判定する。プレイエフェクトがかけられた後のデータであると判定した場合には(ステップS68のYES)、自動演奏データに対してプレイエフェクトを禁止にするイベントを書き込む(ステップS69)。例えば、自動演奏データ全体に対してプレイエフェクトをかけることを禁止するイベント(既に説明済みのプレイエフェクト禁止イベント)を、自動演奏データの最初に書き込む。勿論、プレイエフェクトがかけられた区間の前後にプレイエフェクト禁止イベント及びプレイエフェクト許可イベントを書き込み、この区間のみプレイエフェクトをかけることを禁止するようにしてもよい。
図11に示すように、ステップS71では、演奏イベントデータが「プレイエフェクト許可イベント」であるか否かを判定する。「プレイエフェクト許可イベント」である場合には(ステップS71のYES)、プレイエフェクト制御フラグを「許可」にする(ステップS72)。ステップS73では、「プレイエフェクト禁止イベント」であるか否かを判定する。「プレイエフェクト禁止イベント」である場合には(ステップS73のYES)、プレイエフェクト制御フラグを「禁止」にする(ステップS74)。ステップS75は、演奏イベントデータが通常の演奏イベント(例えばノートオン、ノートオフなど)であるか否かを判定する。通常の演奏イベントである場合には(ステップS75のYES)、プレイエフェクト制御フラグが「許可」であり、かつパネル設定がプレイエフェクト「オン」設定であるか否かを判定する(ステップS76)。プレイエフェクト制御フラグが「許可」であり、かつパネル設定がプレイエフェクト「オン」設定である場合には(ステップS76のYES)、当該演奏イベントにプレイエフェクトをかけて、これを音源ドライバモジュールFと記録モジュールCとに送る(ステップS77)。この場合には、プレイエフェクトがかけられた後の自動演奏データが記録バッファ3bに記憶される。一方、プレイエフェクト制御フラグが「許可」でない、あるいは「許可」であってもパネル設定がプレイエフェクト「オン」設定でない場合には(ステップS76のNO)、演奏イベントをそのまま音源ドライバモジュールFと記録モジュールCとに送る(ステップS78)。この場合には、プレイエフェクトがかけられることなく、元の自動演奏データがそのまま記録バッファ3bに記憶される。
なお、上述したような「データ生成処理」及び「プレイエフェクト処理」は複数の各パート毎に実行され、各パート毎にプレイエフェクトに関する各種処理を実行することは言うまでもない。
なお、ユーザが任意のループ回数だけプレイエフェクトをかけるよう設定できるようにしてあってもよい。
なお、上述したような自動演奏データを作成する機能が自動演奏装置あるいはプログラムに備わっている場合に、自動演奏データにプレイエフェクト禁止情報を付加する機能として、ユーザの介在なしで自動的に付加することに限らず、ユーザ操作に応じて付加することができるようにしてもよい。
なお、演奏操作子4Aのユーザ操作に応じて発生される演奏イベントデータを自動的にアルペジオを実現する演奏イベントデータに変換し、変換後のアルペジオを実現する演奏イベントデータに対してプレイエフェクトをかけたものを自動演奏データとして記録するようにしてあってもよい。
なお、対象となる自動演奏データは、プリセットのものだけでなく、ユーザが作成したものでもよい。
なお、自動演奏データを再生するための処理方法としては、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で自動演奏中のタイミングデータの値を設定されたテンポに応じて変更する方法、処理周期は一定で1回の処理において自動演奏データ中の演奏タイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。
この発明に係る自動演奏装置を適用した電子楽器の全体構成を示したハード構成ブロック図である。 ソングデータのデータ構造を示す概念図であり、図2(a)は全てのトラックについて一括してプレイエフェクトがかけられることを禁止するよう設定できるようにした場合、図2(b)は所望のトラック毎にプレイエフェクトがかけられることを禁止するよう設定できるようにした場合である。 スタイルデータのデータ構造を示す概念図であり、図3(a)は全てのトラックについて一括してプレイエフェクトがかけられることを禁止するよう設定できるようにした場合、図3(b)は所望のトラック毎にプレイエフェクトがかけられることを禁止するよう設定できるようにした場合である。 アルペジオデータのデータ構造を示す概念図である。 マスタートラックの再生処理の一実施例を示すフローチャートである。 ノートシーケンストラックの再生処理の一実施例を示すフローチャートである。 プレイエフェクト禁止情報記録処理の一実施例を示すフローチャートである。 データ生成機能を説明するための機能ブロック図である。 データ生成処理の一実施例を示すフローチャートである。 データ生成処理の別の実施例を示すフローチャートである。 プレイエフェクト処理の一実施例を示すフローチャートである。
符号の説明
1…CPU、2…ROM、3…RAM、3a…再生バッファ、3b…記録バッファ、4、5…検出回路、4A…演奏操作子、5A…設定操作子、6…表示回路、6A…ディスプレイ、7…音源回路、8…効果回路、9…サウンドシステム、10…外部記憶装置、11…MIDIインタフェース、11A…MIDI機器、12…通信インタフェース、12A…サーバコンピュータ、X…通信ネットワーク、1D…通信バス(データ及びアドレスバス)、A…制御モジュール、B…再生モジュール、C…記録モジュール、D…キースキャンモジュール、E…プレイエフェクトモジュール、F…音源ドライバモジュール、100…プレイエフェクトデータ

Claims (5)

  1. 自動演奏を繰り返し、該繰り返される自動演奏を元にして自動演奏データを生成することが可能な自動演奏装置であって、
    変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する設定手段と、
    前記変更データに基づき自動演奏データの内容を変更しながらの自動演奏が既に行われたか否かを判定する判定手段と、
    未だ自動演奏データの内容を変更しながらの自動演奏が行われていない場合には前記設定に応じて自動演奏データの内容を変更しながら自動演奏を行う一方で、既に自動演奏データの内容を変更しながらの自動演奏が行われていた場合には自動演奏データの内容を変更することなく自動演奏を行う演奏手段と、
    少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する記憶手段と
    を具えた自動演奏装置。
  2. 自動演奏を繰り返し、該繰り返される自動演奏を元にして自動演奏データを生成することが可能な自動演奏装置であって、
    変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する設定手段と、
    自動演奏データの内容を変更する又はしない範囲を指定する所定の禁止情報に基づき、その内容を変更する又はしない範囲を判定する判定手段と、
    前記設定に応じて前記自動演奏データの内容を変更すると判定した範囲については前記変更データに基づいて自動演奏データの内容を変更しながら自動演奏を行う一方で、前記自動演奏データの内容を変更しないと判定した範囲については自動演奏データの内容を変更することなく自動演奏を行う演奏手段と、
    少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する記憶手段と
    を具えた自動演奏装置。
  3. 演奏操作子を具えてなり、
    前記記憶手段は、ユーザ操作された前記演奏操作子に応じて発生される楽音に関するデータを前記自動演奏データと共に記憶することを特徴とする請求項又はに記載の自動演奏装置。
  4. コンピュータに、
    変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する手順と、
    前記変更データに基づき自動演奏データの内容を変更しながらの自動演奏が既に行われたか否かを判定する手順と、
    未だ自動演奏データの内容を変更しながらの自動演奏が行われていない場合には前記設定に応じて自動演奏データの内容を変更しながら自動演奏を行う一方で、既に自動演奏データの内容を変更しながらの自動演奏が行われていた場合には自動演奏データの内容を変更することなく自動演奏を行う手順と、
    少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する手順と
    を実行させるためのプログラム。
  5. コンピュータに、
    変更内容を指定する変更データに基づき、自動演奏データの内容を変更しながら自動演奏を行うか否かを設定する手順と、
    自動演奏データの内容を変更する又はしない範囲を指定する所定の禁止情報に基づき、その内容を変更する又はしない範囲を判定する手順と、
    前記設定に応じて前記自動演奏データの内容を変更すると判定した範囲については前記変更データに基づいて自動演奏データの内容を変更しながら自動演奏を行う一方で、前記自動演奏データの内容を変更しないと判定した範囲については自動演奏データの内容を変更することなく自動演奏を行う手順と、
    少なくとも前記内容が変更された自動演奏データを繰り返し自動演奏する対象として記憶する手順と
    を実行させるためのプログラム。
JP2004309704A 2004-08-26 2004-10-25 自動演奏装置及びプログラム Expired - Fee Related JP4270102B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004309704A JP4270102B2 (ja) 2004-08-26 2004-10-25 自動演奏装置及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004246594 2004-08-26
JP2004309704A JP4270102B2 (ja) 2004-08-26 2004-10-25 自動演奏装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2006091804A JP2006091804A (ja) 2006-04-06
JP4270102B2 true JP4270102B2 (ja) 2009-05-27

Family

ID=36232818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004309704A Expired - Fee Related JP4270102B2 (ja) 2004-08-26 2004-10-25 自動演奏装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4270102B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113176A (ja) * 2008-11-07 2010-05-20 Korg Inc 音楽データ録音再生装置
JP5701011B2 (ja) * 2010-10-26 2015-04-15 ローランド株式会社 電子楽器
JP2013195772A (ja) * 2012-03-21 2013-09-30 Casio Comput Co Ltd 録音再生装置およびプログラム
CN115461809A (zh) * 2020-09-04 2022-12-09 罗兰株式会社 信息处理装置以及信息处理方法

Also Published As

Publication number Publication date
JP2006091804A (ja) 2006-04-06

Similar Documents

Publication Publication Date Title
US20050257667A1 (en) Apparatus and computer program for practicing musical instrument
JP2019066649A (ja) 歌唱音声の編集支援方法、および歌唱音声の編集支援装置
JP4270102B2 (ja) 自動演奏装置及びプログラム
JP4407473B2 (ja) 奏法決定装置及びプログラム
JP3709821B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP4740583B2 (ja) 音楽データ処理装置及びプログラム
JPH11305772A (ja) 電子楽器
JP3214623B2 (ja) 電子楽音再生装置
JP4853054B2 (ja) 演奏データ編集装置及びプログラム
JP3843688B2 (ja) 楽曲データ編集装置
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP4315116B2 (ja) 電子音楽装置
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP2011197664A (ja) 音楽ファイル再生装置及びシステム
JP4835434B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP3267226B2 (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP4172509B2 (ja) 奏法自動判定装置及び方法
JP3797181B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3956961B2 (ja) 演奏データ処理装置及び方法
JP3752956B2 (ja) 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4685226B2 (ja) 波形再生用自動演奏装置
JP3637782B2 (ja) データ生成装置と記録媒体
JP2005010462A (ja) 自動演奏装置及び自動演奏処理プログラム並びに自動演奏パターンデータを記録したコンピュータ読み取り可能な記録媒体
JP3794299B2 (ja) 演奏情報編集装置及び演奏情報編集プログラム
JP2007163815A (ja) レコーダ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4270102

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees