JP3800778B2 - 演奏装置及び記録媒体 - Google Patents
演奏装置及び記録媒体 Download PDFInfo
- Publication number
- JP3800778B2 JP3800778B2 JP35428997A JP35428997A JP3800778B2 JP 3800778 B2 JP3800778 B2 JP 3800778B2 JP 35428997 A JP35428997 A JP 35428997A JP 35428997 A JP35428997 A JP 35428997A JP 3800778 B2 JP3800778 B2 JP 3800778B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- event
- sound
- key
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、演奏データで表現される演奏を、少なくとも一つの演奏操作子へのユーザの操作に応じて実行する技術に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
電子楽器等の楽音生成装置に搭載される機能の一つに、少なくとも一つの演奏操作子への操作に応じて演奏データで設定されている楽音を順次発音させていく機能がある。その機能を用いた場合、ユーザは発音させる楽音の音高に合った演奏操作子を必ずしも操作する必要はなくなることから、それだけ簡単に所望の演奏を行えるようになる。なお、その機能については、ここでは便宜的に演奏再生機能と呼ぶことにする。
【0003】
従来の演奏再生機能(演奏装置)で用いられる演奏データの多くは、演奏上のイベントを表すイベントデータをそれの処理順序に並べたようにして構成されている。その演奏データを用いた従来の演奏の再生は、演奏操作子が操作される度にイベントデータを順次処理することで行っていた。楽音が発音されるタイミングや演奏の進行は、ユーザの演奏操作子への操作に依存するようになっていた。そのため、楽音を発音させるべきタイミングで演奏操作子を操作していくことができないようなユーザは、聴感上、本来の演奏(メロディ)とは大きく異なる演奏を再生させることしかできなかった。
【0004】
また、楽音を発音させるべきタイミングを把握していても、誤操作すると、それによって演奏のリズムを崩して、それ以降の演奏を適正なリズムで継続できなくなるようなこともあった。
【0005】
これらのことは、初心者は勿論のこと、楽譜の解釈(例えば音符と歌詞との対応関係)等を誤解しているような場合には、上級者にも発生することがある。そのため、従来の操作生成機能(演奏装置)では、ユーザ(演奏者)は必ずしも音楽的に自然な演奏を行うことができないという不具合があった。
【0006】
その不具合を回避するようにした従来の演奏装置としては、例えば特開平7−152372号公報に開示されている演奏装置がある。その演奏装置では、イベントデータにそれを処理すべき時間データを付加して構成された演奏データを採用している。演奏操作子への操作に応じた楽音の発音は、時間データに沿って処理対象を変更していくイベントデータを処理することで行っている。そのため、演奏操作子を操作していくタイミングを把握していないユーザであっても、演奏操作子への操作を継続して行っていれば、結果として演奏のリズムが大きく崩れるようなことがないようになっていた。
【0007】
しかし、この演奏装置では、時間データに沿って楽音を発音させることで、演奏データが表す演奏(以降、基本演奏、或いは本来の演奏と表現する)を再生することを基本としている。そのため、ユーザが行える音楽表現の幅は非常に狭いという問題点があった。
【0008】
本発明の課題は、音楽的に自然な印象を損なわせることなく、ユーザが行える音楽表現の幅を広げることにある。
【0009】
【課題を解決するための手段】
本発明の演奏装置は、演奏操作子を少なくとも一つ備えていることを前提とし、前記演奏操作子へのユーザのオン及びオフ操作を検出する検出手段と、特定された音階で発音あるいは消音を指示するイベントに、当該イベントを処理すべきタイミングを表す時間データを付加して構成された演奏データを記憶した記憶手段と、この記憶手段に記憶されているイベントを当該イベントに付加されている時間データに基づいて順次読み出すとともに、検出手段が演奏操作子がオン操作されていると検出している場合は、当該読み出されたイベントに基づき、接続された音源に対して発音あるいは消音の指示を行う自動演奏手段と、検出手段により演奏操作子のオン操作が検出されかつ音源が消音状態にあるときは、自動演奏手段により記憶手段に記憶された次の発音を指示するイベントが読み出されるタイミングまでの時間が所定時間内か否かを判定する判定手段と、この判定手段により所定時間内と判定された場合は、記憶手段から当該次のイベントを読み出し、読み出された発音を指示するイベントに基づき、音源に対して発音の指示を行う処理手段と、を具備する。
【0010】
なお、上記の構成において、自動演奏手段は、演奏操作子のオン操作が検出されかつ前記音源が発音状態にあるときに、前記記憶手段から発音を指示する次のイベントが読み出された場合は、ポルタメント効果により発音中の音高から当該次のイベントで特定される音高まで変更させるポルタメント指示手段を有する、ことが望ましい。
【0011】
また、記憶手段に記憶されたイベントは、複数のチャンネル毎に分割され、自動演奏手段は、特定のチャンネルに属するイベントが読み出された場合にのみ当該読み出されたイベントに基づき、前記音源に対して発音あるいは消音の指示を行い、演奏装置は更に、判定手段により所定時間以上と判定された場合は、特定のチャンネル以外のチャンネルに属する発音を指示するイベントに基づいて前記音源に対して発音の指示を行う伴奏手段を有する、ことが望ましい。
【0012】
また、伴奏手段にて指示される発音の音色と、処理手段にて指示される発音の音色とを異ならせる、ことが望ましい。
【0015】
本発明の記憶媒体は、特定された音階で発音あるいは消音を指示するイベントに、当該イベントを処理すべきタイミングを表す時間データを付加して構成された演奏データを記憶した記憶手段を有し、演奏操作子を少なくとも一つ備えた演奏装置に適用されるプログラムを記憶した記録媒体であって、演奏操作子へのユーザのオン及びオフ操作を検出する検出手段と、記憶手段に記憶されているイベントを当該イベントに付加されている時間データに基づいて順次読み出すとともに、検出手段が演奏操作子がオン操作されていると検出している場合は、当該読み出されたイベントに基づき、接続された音源に対して発音あるいは消音の指示を行う自動演奏手段と、検出手段により演奏操作子のオン操作が検出されかつ音源が消音状態にあるときは、自動演奏手段により記憶手段に記憶された次の発音を指示するイベントが読み出されるタイミングまでの時間が所定時間内か否かを判定する判定手段と、この判定手段により所定時間内と判定された場合は、記憶手段から当該次のイベントを読み出し、読み出された発音を指示するイベントに基づき、音源に対して発音の指示を行う処理手段と、に対して処理を実行させるためのプログラムを記録している。
【0017】
本発明の演奏装置は、演奏操作子へのユーザのオン及びオフ操作を検出するとともに、記憶手段に記憶されているイベントを当該イベントに付加されている時間データに基づいて順次読み出し、演奏操作子がオン操作されていると検出している場合には、当該読み出されたイベントに基づき、接続された音源に対して発音あるいは消音の指示を行うことにより演奏を行う。そして演奏操作子のオン操作が検出されかつ音源が消音状態にあるときは、記憶手段に記憶され次の発音を指示するイベントが読み出されるタイミングまでの時間が所定時間内か否かを判定する判定手段と、この判定手段により所定時間内と判定された場合は、記憶手段から当該次のイベントを読み出し、読み出された発音を指示するイベントに基づき、音源に対して発音の指示を行う。
【0018】
時間データを考慮してイベントデータを処理することで、演奏操作子への操作に応じて楽音を発音させるタイミングが本来の演奏から大きくずれるようなことは回避される。また、演奏操作子が操作されたタイミングを考慮することで、ユーザの演奏操作子への操作が実際の演奏上に反映されることになる。これらのことから、音楽的に自然な印象を損なわせることなく、ユーザが行える音楽表現の幅が広がることになる。
【0021】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。
<第1の実施の形態>
図1は、本実施の形態による演奏装置を搭載した電子楽器の構成図である。
【0022】
その電子楽器は、図1に示すように、楽器全体の制御を行うCPU101と、そのCPU101が実行するプログラムや演奏データ等を格納したROM102と、CPU101がワーク用に使用するRAM103と、自動演奏の実行等に使用されるタイマ104と、多数の鍵(演奏操作子)を有する鍵盤105と、各種スイッチからなるスイッチ群106と、CPU101の指示に従って楽音を発音する音源システム107とを備えて構成される。
【0023】
以上の構成において、その動作を説明する。
不図示の電源がオンされると、CPU101はROM102に格納されたプログラムを読み出して実行することにより、楽器全体の制御を開始する。その後は、RAM103を作業用に使用しながら、スイッチ群106や鍵盤105から送られた情報に応じた各部の制御を行う。
【0024】
鍵盤105は、CPU101の指示に従い、各鍵を走査し、その走査結果(操作情報)を予め定められた形式、例えばMIDIデータの形でCPU101に送る。CPU101は、そのMIDIデータを受け取ると、例えばそれをそのまま制御コマンドとして音源システム107に送出する。
【0025】
その音源システム107は、例えば楽音の波形データを生成する音源LSI、その音源LSIから出力された波形データをアナログのオーディオ信号に変換するD/Aコンバータ、そのオーディオ信号を増幅するアンプ、及びアンプが出力したオーディオ信号を入力して楽音を放音するスピーカ等から構成される。上記音源LSIが、CPU101から受け取った制御コマンドに従って波形データを生成することにより、鍵盤105への操作に応じて楽音が放音される。
【0026】
スイッチ群106は、例えば特には図示しない制御回路がCPU101の指示に従い、各スイッチを走査することで操作状態を検出し、その検出結果(操作情報)をCPU101に送るようになっている。CPU101は、その操作情報に応じて各部を制御することで、モードや音響効果、テンポ、音色といった各種の設定等を行う。
【0027】
そのスイッチ群106を構成するスイッチの中には、特には図示しないが、演奏操作子への操作に応じて予め設定された演奏を行うモードを設定するためのモードスイッチがある。そのスイッチを介してユーザがモードを設定すると、CPU101は、以下のようにして演奏操作子への操作に応じた演奏を行う。
【0028】
第1の実施の形態では、そのモード設定時にユーザの操作対象となる演奏操作子を一つとしている。鍵とは別に鍵盤105が備えているキー105aが、その演奏操作子である。以降は便宜的に、そのキー105aをワンキー(或いはワンキースイッチ)105a、それを操作対象として演奏を行うモードをワンキープレイモードと呼ぶことにする。
【0029】
ワンキープレイモードで演奏される内容を表す演奏データは、上記したように、ROM102に格納されている。その演奏データは、自動演奏を行うためのデータと同じように、演奏上のイベントを表すイベントデータに、そのイベントが発生するタイミングを表す時間データが付加されて構成されている。そのイベントデータは、第1の実施の形態では、楽音の音高(音階)を表す音高データ、音色を表す音色データ、及び楽音の発音期間を表す音符長(ゲートタイム)データから構成されている。時間データは、直前のイベントとの時間差(デルタタイム)を表すデータである。ROM102には、そのような構成の演奏データが複数格納されている。ユーザは、そのなかから所望の演奏データ(曲)をスイッチ群106を介して選択するようになっている。
【0030】
CPU101は、ワンキープレイモードが設定された場合、例えば演奏開始を指示するためのスタートスイッチ(或いはスタート/ストップスイッチ)への操作、或いはそのモードが設定後のワンキー105aへの最初の操作を待って演奏を開始する。演奏を開始する際には、タイマ104に制御コマンドを送り、計時を開始させる。
【0031】
演奏を開始後は、ワンキー105aへの操作を監視するとともに、タイマ104の値を随時参照し、各イベントデータに付加された時間データに従って処理対象とするイベントデータをワンキー105aへの操作の有無とは独立的に移行させる。言い換えれば、演奏データの処理を内部で独立的に進行させる。演奏データ上からイベントデータを処理対象とする期間は、それを処理対象としてから音符長データで表された時間が経過するまでの期間である(その期間は、演奏データを単に処理していった場合に、イベントデータで指定された楽音を発音させている期間と一致する)。
【0032】
ワンキー105aへの操作に応じて発音させる楽音は、処理対象となっているイベントデータを処理することで発音させる。そのイベントデータは、上記のように、本来の演奏(メロディ)の進行(流れ)に沿って変更させている。そのため、ワンキー105aを操作することで発音される楽音が、本来の演奏(メロディ)からタイミングを大きく外れるようなことが回避される。それにより、楽音を発音させていくタイミングを把握していないようなユーザがワンキー105aを操作しても、本来の演奏と基本的には同じ流れで演奏(メロディ)が奏でられることになる。演奏(メロディ)を聴いている人に、音楽的に自然な印象を損なわせるといったことが回避される。
【0033】
ワンキー105aへの操作としては、オンとオフがある。ユーザが実際に演奏を行っている印象を持てるようにするうえでは、楽音の発音の開始、それの終了を、ユーザの操作に合わせることが望ましい。当然のことながら、そうすることによって演奏が不自然となるのは好ましくない。このことから、第1の実施の形態では、以下のようにイベントデータを処理し、ワンキー105aへの操作に応じて楽音を発音させている。
【0034】
楽音の発音開始では、次に処理対象とするイベントデータが処理対象期間となる前にワンキー105aがオンされた場合、そのオンタイミングが処理対象期間よりも僅かに早いのであれば、そのイベントデータを処理対象として処理し、楽音を発音させる。処理対象期間となってからワンキー105aがオンされたのであれば、そのオンタイミングで処理対象のイベントデータを処理し、楽音を発音させる。
【0035】
一方、楽音の発音終了では、処理対象期間内にワンキー105aがオフされたのであれば、そのオフタイミングで発音中の楽音を消音させる。処理対象期間を越えてワンキー105aをオンし続ければ、その処理対象期間が終了するタイミングで発音中の楽音を消音させる。
【0036】
このように、第1の実施の形態では、時間データと音符長データとから特定される処理対象期間、更にはそれよりも僅かに早い期間までをワンキー105aの操作を有効とし、その間に行われたワンキー105aへの操作に応じて楽音を発音させている。楽音の発音開始や消音のタイミングを変化させられるようにしている。それにより、演奏が不自然となるのを回避しつつ、より幅広い音楽表現を可能としている。ユーザが演奏(メロディ)により幅広い音楽表現を付加できるようにしている。なお、ワンキー105aの操作を有効として楽音が発音される期間、即ちワンキー105aへの操作に応じて処理対象期間を拡張させる期間については、上記処理対象期間と区別するために、実処理対象期間と呼ぶことにする。
【0037】
次に、上記CPU101の動作について、図2〜図4に示す各種の動作フローチャートを参照して詳細に説明する。それらの動作フローチャートは、CPU101が、ROM102に格納されたプログラムを読み出して実行することで実現される。
【0038】
図2は、全体処理の動作フローチャートである。始めに、この図2を参照して、全体処理について詳細に説明する。
電子楽器の特には図示しない電源がオンされ、ROM102に格納されているプログラムの実行を開始したCPU101は、先ず、ステップ201でイニシャル処理を行う。そのイニシャル処理によって、音源システム107は予め定められた状態に初期設定される。その後、ステップ202に移行する。
【0039】
ステップ202では、スイッチ(SW)処理を行う。このスイッチ(SW)処理は、スイッチ群106が各スイッチを走査して得られるそれらの操作情報を受け取り、その受け取った操作情報に応じて各種設定を行う処理である。これを実行することで、ワンキープレイモードの設定や解除、そのモードで演奏する曲(演奏データ)の選択等が実現されることになる。
【0040】
ステップ202に続くステップ203では、鍵盤処理を行う。この鍵盤処理は、鍵盤105が各鍵を走査して得られるそれらの操作情報を受け取り、その受け取った操作情報に応じて、発音させるべき楽音、或いは消音させるべき楽音を決定する処理である。それが終了すると、ステップ204に移行する。
【0041】
ステップ204では、鍵盤105に設けられたワンキー105aへの操作に応じて演奏を行うためのワンキーSW処理を実行する。それが終了すると、ステップ205に移行して、自動演奏再生処理を実行する。それらワンキーSW処理、自動演奏再生処理についての詳細は後述する。
【0042】
ステップ205に続くステップ206では、ステップ202のSW処理、ステップ203の鍵盤処理の結果に従って、音源システム107を制御する音源処理を実行する。それが終了すると、ステップ207において、特には図示しないMIDI端子を介したMIDIデータの送受信を行うといったその他の処理を実行する。その後、ステップ202に戻る。
【0043】
このように、ステップ202〜207は処理ループを形成している。その処理ループを繰り返し実行することにより、電子楽器に搭載された機能が実現され、ワンキー105aへの操作に応じて楽音が発音されることになる。
【0044】
図3は、上記ステップ204として実行されるワンキーSW処理の動作フローチャートである。次に、図3を参照して、そのワンキーSW処理の内容について詳細に説明する。
【0045】
先ず、ステップ301では、鍵盤105にワンキー105a(SW)の走査を指示する。続くステップ302では、そのワンキー105aの走査結果を受け取り、ワンキー105aの操作状態の変化を判定する。走査結果からワンキー105aの操作状態が変化していないと判定した場合、ここで一連の処理を終了し、ワンキー105aがオンされたと判定した場合には、ステップ303に移行する。
【0046】
ステップ303では、ワンキー105aの操作状態を把握するためのワンキーSWステータス(RAM103に保持される変数である)に、ワンキー105aがオン中であることを表す値を代入する。このとき、ワンキー105aのオンがワンキープレイモード設定後における最初のオンであれば、タイマ104に制御コマンドを送り、計時をスタートさせる。
【0047】
ステップ303に続くステップ304では、ワンキー105aへの操作で再生させる演奏(メロディ)のチャンネル(以降、ワンキー再生チャンネル(CH)と呼ぶ)で処理対象期間、言い換えれば、演奏データ上では発音中(ノートオン中)となっている楽音(音符)があるか否か判定する。演奏データ上では発音中となっている楽音がある場合、その判定はYESとなって一連の処理を終了する。そうでない場合には、その判定はNOとなってステップ305に移行する。なお、演奏データ上では発音中となっている楽音がある場合には、後述する自動演奏再生処理で楽音の発音が指示されることになる。
【0048】
処理対象期間と実処理対象期間とは、その大部分が一致するが、一致していない部分がある。ステップ305〜308の処理は、その一致していない部分の期間内にワンキー105aがオンされた場合に対応するための処理である。
【0049】
先ず、ステップ305では、ワンキー再生チャンネルで次のイベントデータ(音符)を読み出すまでの残り時間、即ち次のイベントデータを処理対象期間とするまでの残り時間が所定時間以内か否か判定する。その残り時間が所定時間以内、即ち次のイベントデータの実処理対象期間内であった場合、その判定はYESとなってステップ306に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0050】
上記残り時間は、変数に保持させている値であり、その値は時間の経過に応じて更新(減算)するようになっている。その変数については、以降、残り時間管理用変数と呼ぶことにする。演奏データは、楽曲のパート毎にチャンネルを割り当てて作成している。ワンキー105aへの操作に応じて発音させる演奏(メロディ)は、1チャンネル分の演奏である。このようなことから、残り時間管理用変数は、各チャンネル毎に用意されている。
【0051】
ステップ306では、次のイベントデータに処理対象を移行させるとともに、残り時間管理用変数に新たな値を代入する。具体的には、それまでの値(次のイベントデータが処理対象期間となるまでの残り時間)に、イベントデータ中の音符長データの値を加算した値、即ちそのイベントデータの処理対象期間が終わるまでの時間を示す値を残り時間管理用変数に代入する。その後、ステップ307に移行する。
【0052】
ステップ307では、ステップ306で処理対象としたイベントデータが表す楽音の発音を指示する。続くステップ308では、ワンキー再生チャンネルで発音中の楽音を管理するためのデータとして、イベントデータ中の音高データ、及び音色データを保持するとともに、変数であるワンキー発音ステータスに楽音が発音中であることを表す値を代入する。その後、一連の処理を終了する。なお、楽音の発音の指示は、CPU101が、イベントデータ中の音高データ、音色データを基にMIDIデータを生成し、それを音源システム107に送出することで行われる。
【0053】
このようにして、次の処理対象となるイベントデータの処理対象期間よりも所定時間内で早くワンキー105aがオンされた場合、ワンキーSW処理内でそのイベントデータが処理され、楽音が発音されることになる。
【0054】
一方、ユーザがワンキー105aがオフした場合、ステップ302でそのことが判定され、次にステップ309が実行される。そのステップ309では、ワンキー105aがオフされたことから、ワンキーSWステータスに、ワンキー105aがオフ中であることを表す値をセットする。その後、ステップ310に移行する。
【0055】
ステップ310では、ワンキー再生チャンネルで実際に発音中の楽音(音符)があるか否か判定する。ワンキー発音ステータスに楽音が発音中であることを示す値が代入されていた場合、その判定はYESとなってステップ311に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0056】
ステップ311では、現在ワンキー再生チャンネルで発音中の楽音の消音を音源システム107に指示する。その楽音は、発音中の楽音を管理するためのデータとして保持している音高データ、及び音色データとで特定される楽音である。その後に移行するステップ312では、楽音の消音を指示したことに伴い、それら音高データ、及び音色データをクリアし、ワンキー発音ステータスに発音中の楽音が無いことを表す値をセットする。その後、一連の処理を終了する。
【0057】
このようにして、ワンキー105aが処理対象期間内でオフされた場合、そこで楽音を消音させている。それにより、ユーザが楽音を消音させるタイミングを変えられるようにさせている。
【0058】
図4は、図2に示す全体処理中でステップ205として実行される自動演奏再生処理の動作フローチャートである。次に、この図4を参照して、その処理内容について詳細に説明する。
【0059】
先ず、ステップ401では、それ以降の処理を実行してから予め定めた単位時間が経過したか否か判定する。その単位時間が経過していた場合、その判定はYESとなってステップ402に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。このようにして、自動演奏再生処理は、実質的には単位時間が経過する毎に実行するようになっている。なお、単位時間の経過は、例えば、前回の実行時でのタイマ104の値と、現在のタイマ104の値とを比較することで判定している。
【0060】
ステップ402では、楽音を発音させるチャンネル番号を初期化するとともに、単位時間の経過の判定用として現在のタイマ104の値を保持する。チャンネル番号の初期化は、予め用意した変数に、チャンネル番号のなかで最も小さい値を代入することで行われ、タイマ104の値の保持は、その値の保持に用意した変数に代入させることで行われる。チャンネル番号の値を代入させた変数は、処理対象とするチャンネルの管理に用いることから、以降、チャンネル管理用変数と呼ぶことにする。
ステップ402に続くステップ403では、チャンネル管理用変数の値で指定されるチャンネルの残り時間管理用変数の値を更新する。具体的には、単位時間の経過したことから、その値から単位時間(を表す値)を減算し、その減算後の値を残り時間管理用変数に新たに代入する。それが終了した後、ステップ404に移行する。
【0061】
ステップ404では、残り時間管理用変数の値が0以下となったか否か判定する。その値は、次のイベントデータの処理対象期間が開始するか、或いはそれが終了した場合に0以下となる。そのため、それらのうちの何れかに該当していた場合、その判定はYESとなってステップ407に移行する。そうでない場合には、その判定はNOとなってステップ405に移行する。
【0062】
ステップ405では、チャンネル管理用変数の値が最終のチャンネルの番号、即ちチャンネル番号のなかで最大の値となっているか否か判定する。各チャンネルを一通り処理した場合、その判定はYESとなって一連の処理が終了する。そうでない場合には、その判定はNOとなってステップ406に移行する。そのステップ406では、チャンネル管理用変数の値をインクリメントし、処理対象とするチャンネルを変更する。その後、ステップ403に移行する。
【0063】
一方、ステップ407では、チャンネル管理用変数の値によって指定されるチャンネルのデータ(イベントデータ)をROM102から読み出す。続くステップ408では、そのチャンネル管理用変数の値によって指定されるチャンネルがワンキー再生チャンネルか否か判定する。その変数の値がワンキー再生チャンネルの番号と一致していた場合、その判定はYESとなってステップ410に移行する。そうでない場合には、その判定はNOとなってステップ409に移行する。そのステップ409では、演奏データに従って楽音を発音させていく通常の自動演奏再生処理を実行し、その後はステップ404に戻る。
【0064】
ワンキー再生チャンネル以外のチャンネルには、ワンキー再生チャンネルに割り当てられたパートとは異なるパートを割り当てている。具体的には、例えば伴奏を割り当てている。それにより、ユーザが伴奏(他のパート)を聴きながらワンキー105aを操作できるようにしている。その伴奏(他のパートの演奏)は、楽曲のリズムを把握していないようなユーザにとってはワンキー105aを操作するうえでのガイドとして働き、ユーザの演奏を支援する。そのため、ユーザは、本来の演奏(メロディ)の流れに沿ってワンキー105aを操作することがより容易に行うことができる。その結果、奏でられる演奏(メロディ)もより自然な印象を人に与えられるようになる。
【0065】
他方のステップ410では、現在ワンキーSWステータスにワンキー105aがオン中であることを示す値が代入されているか否か判定する。ユーザがワンキー105aをオンさせていた場合、その判定はYESとなってステップ411に移行する。そうでない場合には、即ちワンキー105aがオフとなっている場合には、その判定はNOとなって一連の処理を終了する。それにより、ワンキー105aがオフのときにはワンキー再生チャンネルの楽音は新たに発音させないことになる。
【0066】
ステップ411〜417の処理は、楽音を発音させたり、発音中の楽音を消音させるための処理である。
上記したように、処理対象期間内ではない実処理対象期間内にワンキー105aがオンされたことに伴う楽音の発音や、処理対象期間内にワンキー105aがオフされたことに伴う楽音の消音は、ワンキーSW処理内で行われる。ステップ411〜417の処理は、それ以外のケース、具体的には処理対象期間内にワンキー105aがオンされたケース、処理対象期間内にワンキー105aがオフされなかったケース、及びユーザが次のイベントデータの処理対象期間となるまでワンキー105aをオンし続けているケースに対応するための処理である。
【0067】
ステップ411では、音源システム107に対して送出すべきデータの種類を判定する。そのデータの種類が楽音を発音させるデータ(ONデータ)であった場合、次にステップ412に移行する。そうでない場合には、即ち楽音を消音させるデータ(OFFデータ)であった場合には、次にステップ415に移行する。
【0068】
ステップ412〜414では、現在処理対象期間となっているイベントデータに基づく楽音の発音に関わる処理が行われる。
先ず、ステップ412では、そのイベントデータ中の音高データ、及び音色データから発音させる楽音を特定するとともに、その楽音を発音させている時間を表す値を残り時間管理用変数に代入する。このとき、残り時間管理用変数に代入する値は、イベントデータ中の音符長データの値からその変数のそれまでの値(処理対象期間となってから経過した時間を表す値)を減算した値である。
【0069】
続くステップ413では、ステップ412で特定した楽音の発音を音源システム107に指示する。その指示は、例えば音高データ、及び音色データから音源システム107に送出すべきMIDIデータを作成し、それを音源システム107に送出することで行われる。その後は、ステップ414に移行して、それら音高データ、及び音色データを保持するとともに、ワンキー発音ステータスに楽音が発音中であることを表す値を代入する。それが終了した後、ステップ404に戻る。
【0070】
他方のステップ415〜417では、処理対象期間の経過に伴う楽音の消音に関わる処理が行われる。
先ず、ステップ415では、発音中の楽音を管理するために保持している音高データ、及び音色データから消音させるべき楽音を特定し、その楽音の消音を音源システム107に指示する。その指示は、音高データ、及び音色データを基にMIDIデータを作成し、それを音源システム107に送出することで行う。それが終了した後、ステップ416に移行する。
【0071】
ステップ416では、残り時間管理用変数に次のイベントデータが処理対象期間となるまでの時間を表す値を代入する。上記したように、イベントデータは、音高データ、音色データ、及び音符長データとから構成される。イベントデータに付加された時間データは、直前のイベントが発生してから経過した時間を表す値である。そのため、残り時間管理用変数には、次のイベントデータに付加された時間データが表す時間から、処理対象期間が経過したイベントデータ中の音符長データが表す時間を減算した時間(休符長に対応する)を表す値が代入される。
【0072】
ステップ416に続くステップ417では、楽音の消音を指示したことに伴い、保持していた音高データ、及び音色データをクリアし、ワンキー発音ステータスに発音中の楽音が無いことを表す値をセットする。その後、一連の処理を終了する。
【0073】
ワンキー105aがオンされていれば、ワンキーSWステータスにはその旨を示す値が代入されていることから、ステップ404の判定がYESとなると、ステップ411以降の処理が実行されることになる。これは、ワンキー105aをオン状態に維持し続ければ、演奏データに従って楽音が順次発音されることを意味する。そのようになっているため、短い間隔で音符が続くようなメロディや、よく把握していないメロディを演奏するような場合、更には途中でメロディが判らなくなった場合、ユーザはワンキー105aをオンし続けるだけで演奏を正確に行うことができる。それにより、ユーザは所望の演奏をより容易、且つ簡単に行うことができる。
【0074】
なお、第1の実施の形態では、処理対象期間内に行われたワンキー105aのオン/オフに応じて楽音の発音/消音を行っているが、それらが行われたタイミングによっては、楽音が発音されていた時間が極端に短くなることもある。それによって演奏が不自然と感じられる可能性がある。そのことを回避するために、ある時間だけは楽音の発音を継続させるようにしても良い。
<第2の実施の形態>
上記第1の実施の形態では、ワンキー105aがオンされ続けると、演奏データに従って楽音を発音させている。これに対し、第2の実施の形態は、単に演奏データに従って楽音を発音させるのではなく、現在発音中の楽音から次に発音させる楽音へとポルタメント効果をかけて変更させるようにしたものである。
【0075】
第2の実施の形態における構成は、上記第1の実施の形態におけるそれと基本的に同じである。そのため、第1の実施の形態の説明で使用した符号をそのまま用いて、第1の実施の形態から異なる部分のみを説明することとする。
【0076】
図5は、第2の実施の形態における自動演奏再生処理の動作フローチャートである。その自動演奏再生処理は、図2の全体処理内でステップ205として実行される処理である。この図5を参照して、第2の実施の形態における自動演奏再生処理について詳細に説明する。
【0077】
先ず、ステップ501では、それ以降の処理を実行してから予め定めた単位時間が経過したか否か判定する。その単位時間が経過していた場合、その判定はYESとなってステップ502に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0078】
ステップ502では、楽音を発音させるチャンネル番号を初期化するとともに、単位時間の経過の判定用として現在のタイマ104の値を保持する。チャンネル番号の初期化は、チャンネル管理用変数に、チャンネル番号のなかで最も小さい値を代入することで行われ、タイマ104の値の保持は、その値の保持に用意した変数に代入させることで行われる。
【0079】
ステップ502に続くステップ503では、チャンネル管理用変数の値で指定されるチャンネルの残り時間管理用変数の値を更新する。具体的には、単位時間の経過したことから、その値から単位時間(を表す値)を減算し、その減算後の値を残り時間管理用変数に新たに代入する。それが終了した後、ステップ504に移行する。
【0080】
ステップ504では、残り時間管理用変数の値が0以下となったか否か判定する。その値は、次のイベントデータの処理対象期間が開始するか、或いはそれが終了した場合に0以下となる。そのため、それらのうちの何れかに該当していた場合、その判定はYESとなってステップ507に移行する。そうでない場合には、その判定はNOとなってステップ505に移行する。
【0081】
ステップ505では、チャンネル管理用変数の値が最終のチャンネルの番号、即ちチャンネル番号のなかで最大の値となっているか否か判定する。各チャンネルを一通り処理した場合、その判定はYESとなって一連の処理が終了する。そうでない場合には、その判定はNOとなってステップ506に移行する。そのステップ506では、チャンネル管理用変数の値をインクリメントし、処理対象とするチャンネルを変更する。その後、ステップ503に移行する。
【0082】
一方、ステップ507では、チャンネル管理用変数の値によって指定されるチャンネルのデータ(イベントデータ)をROM102から読み出す。続くステップ508では、そのチャンネル管理用変数の値によって指定されるチャンネルがワンキー再生チャンネルか否か判定する。その変数の値がワンキー再生チャンネルの番号と一致していた場合、その判定はYESとなってステップ510に移行する。そうでない場合には、その判定はNOとなってステップ509に移行する。そのステップ509では、演奏データに従って楽音を発音させていく通常の自動演奏再生処理を実行し、その後はステップ504に戻る。
【0083】
他方のステップ510では、現在ワンキーSWステータスにワンキー105aがオン中であることを示す値が代入されているか否か判定する。ユーザがワンキー105aをオンさせていた場合、その判定はYESとなってステップ511に移行する。そうでない場合には、即ちワンキー105aがオフとなっている場合には、その判定はNOとなって一連の処理を終了する。それにより、ワンキー105aがオフのときにはワンキー再生チャンネルの楽音は新たに発音させないことになる。
【0084】
上記したように、処理対象期間内ではない実処理対象期間内にワンキー105aがオンされたことに伴う楽音の発音や、処理対象期間内にワンキー105aがオフされたことに伴う楽音の消音は、ワンキーSW処理内で行われる。ステップ511〜517の処理は、それ以外のケース、具体的には処理対象期間内にワンキー105aがオンされたケース、処理対象期間内にワンキー105aがオフされなかったケース、及びユーザが次のイベントデータの処理対象期間となるまでワンキー105aをオンし続けているケースに対応するための処理である。
【0085】
先ず、ステップ511では、音源システム107に対して送出すべきデータの種類を判定する。そのデータの種類が楽音を発音させるデータ(ONデータ)であった場合、次にステップ512に移行する。そうでない場合には、即ち楽音を消音させるデータ(OFFデータ)であった場合には、次にステップ517に移行する。
【0086】
ステップ512では、ステップ507で読み出したイベントデータ中の音高データ、及び音色データから発音させる楽音を特定するとともに、その楽音を発音させている時間を表す値を残り時間管理用変数に代入する。このとき、残り時間管理用変数に代入する値は、イベントデータ中の音符長データの値からその変数のそれまでの値(処理対象期間となってから経過した時間を表す値)を減算した値である。
【0087】
続くステップ513では、現在ワンキー発音ステータスに楽音を発音中であることを示す値が代入されているか否か判定する。ワンキー再生チャンネルで発音中の楽音がある場合、その判定はYESとなってステップ515に移行する。そうでない場合には、その判定はNOとなってステップ514に移行する。
【0088】
ステップ514では、ステップ512で特定した楽音の発音を音源システム107に指示する。その後、ステップ516に移行する。他方のステップ515では、音源システム107にポルタメント効果を指示し、現在発音中の楽音の音高(音階)からステップ512で特定した楽音の音高(音階)に変更させる。その後、ステップ516に移行する。
【0089】
なお、ポルタメント効果の指示は、それらの楽音の音高(音階)の違いからポルタメントタイムを算出し、その算出したポルタメントタイムを用いてMIDIデータを作成し、それを音源システム107に送出することで行われる。
【0090】
ステップ516では、ステップ512で特定した楽音の音高データ、及び音色データを保持するとともに、ワンキー発音ステータスに楽音が発音中であることを表す値を代入する。それが終了した後、ステップ504に戻る。
【0091】
一方、ステップ511で音源システム107に楽音を消音させるデータ(OFFデータ)を送出すべきと判定した場合に実行されるステップ517では、残り時間管理用変数に、次のイベントデータが処理対象期間となるまでの時間を表す値を代入する。
【0092】
一方、ステップ511で音源システム107に楽音を消音させるデータ(OFFデータ)を送出すべきと判定した場合に実行されるステップ517では、残り時間管理用変数に、次のイベントデータが処理対象期間となるまでの時間を表す値を代入する。具体的には、残り時間管理用変数に、次のイベントデータに付加された時間データが表す時間から、処理対象期間が経過したイベントデータ中の音符長データが表す時間を減算した時間(休符長に対応する)を表す値を代入する。その時間を表す値を残り時間管理用変数に代入した後、ステップ504に移行する。
【0093】
なお、第2の実施の形態では、ワンキー105aをユーザがオン状態に維持していた場合、次のイベントデータの処理対象期間となるのを待ってポルタメント効果をかけているが、それとは異なるタイミングでポルタメント効果をかけるようにしても良い。例えば次のイベントデータの処理対象期間が開始したときに、そのイベントデータで表された楽音の音高となるようにポルタメント効果をかけても良い。ポルタメント効果の換わりに、グリッサンドをかけるようにしても良い。
<第3の実施の形態>
上記第1及び第2の実施の形態では、実処理対象期間外のタイミングでワンキー105aをオンさせた場合、処理対象とするイベントデータがないことから、楽音が発音しないようになっていた。ワンキー105aをオンさせても楽音が発音されない場合、ワンキー105aへの操作と楽音の発音とが対応しなくなることから、それがユーザに違和感を与える恐れがある。第3の実施の形態は、その違和感をユーザに与えるのを回避するようにしたものである。
【0094】
第3の実施の形態における構成は、上記第1の実施の形態におけるそれと基本的に同じである。そのため、第1の実施の形態の説明で使用した符号をそのまま用いて、第1の実施の形態から異なる部分のみを説明することとする。
【0095】
図6は、第3の実施の形態におけるワンキーSW処理の動作フローチャートである。そのワンキーSW処理は、図2の全体処理内でステップ204として実行される処理である。この図6を参照して、第3の実施の形態におけるワンキーSW処理について詳細に説明する。
【0096】
先ず、ステップ601では、鍵盤105にワンキー105a(SW)の走査を指示する。続くステップ602では、そのワンキー105aの走査結果(操作情報)を受け取り、ワンキー105aの操作状態の変化を判定する。走査結果(操作情報)からワンキー105aの操作状態が変化していないと判定した場合、ここで一連の処理を終了し、ワンキー105aがオンされたと判定した場合には、ステップ603に移行する。
【0097】
ステップ603では、ワンキーSWステータスに、ワンキー105aがオン中であることを表す値を代入する。このとき、ワンキー105aのオンがワンキープレイモード設定後における最初のオンであれば、タイマ104に制御コマンドを送り、計時をスタートさせる。
【0098】
ステップ603に続くステップ604では、ワンキー再生チャンネル(CH)で処理対象期間、言い換えれば、演奏データ上では発音中(ノートオン中)となっている楽音(音符)があるか否か判定する。演奏データ上では発音中となっている楽音がある場合、その判定はYESとなって一連の処理を終了する。そうでない場合には、その判定はNOとなってステップ605に移行する。なお、演奏データ上では発音中となっている楽音がある場合には、図4に示す自動演奏再生処理で楽音の発音が指示されることになる。
【0099】
処理対象期間と実処理対象期間とは、その大部分が一致するが、一致していない部分がある。
ステップ605〜609の処理は、処理対象期間と実処理対象期間とで一致していない期間、及び実処理対象期間外にワンキー105aがオンされた場合に対応するための処理である。
【0100】
先ず、ステップ605では、ワンキー再生チャンネルで次のイベントデータ(音符)を読み出すまでの残り時間、即ち残り時間管理用変数の値で表される時間が所定時間以内か否か判定する。その時間が所定時間以内、即ち次のイベントデータの実処理対象期間内であった場合、その判定はYESとなってステップ606に移行する。そうでない場合には、即ち実処理対象期間外で処理対象とすべきイベントデータが無い場合には、その判定はNOとなってステップ608に移行する。
【0101】
ステップ606では、次のイベントデータに処理対象を移行させるとともに、残り時間管理用変数に新たな値を代入する。具体的には、それまでの値(次のイベントデータが処理対象期間となるまでの残り時間)に、イベントデータ中の音符長データの値を加算した値、即ちそのイベントデータの処理対象期間が終わるまでの時間を示す値を残り時間管理用変数に代入する。その後、ステップ607に移行する。
【0102】
ステップ607では、ステップ606で処理対象としたイベントデータが表す楽音の発音を指示する。その後に実行するステップ609では、ワンキー再生チャンネルで発音中の楽音を管理するためのデータとして、イベントデータ中の音高データ、及び音色データを保持するとともに、変数であるワンキー発音ステータスに楽音が発音中であることを表す値を代入する。その後、一連の処理を終了する。なお、楽音の発音の指示は、CPU101が、イベントデータ中の音高データ、音色データを基にMIDIデータを生成し、それを音源システム107に送出することで行われる。
【0103】
他方のステップ608では、曲の他のパート、例えば伴奏を割り当てたチャンネルで現在発音中のコード(和音)、或いは次に発音させるコードのデータを読み出し、そのコードのルート(根音)の発音を指示する。その後、上記ステップ609に移行する。
【0104】
このようにして、第3の実施の形態では、処理対象とすべきイベントデータが無いタイミングでワンキー105aがオンされると、並行して発音されている、或いは発音されるコードに基づいて発音させるべき楽音を決定し(ここではルート)、その楽音を発音させている。そのため、ワンキー105aへの操作と楽音の発音とが対応するようになり、ユーザに違和感を与えるのが回避される。伴奏といった他のパートで発音される楽音に基づいて発音させるべき楽音を決定しているため、その決定した楽音は音楽的にはずれた音とはならず、演奏を損なわせることは回避される。
【0105】
一方、ユーザがワンキー105aがオフした場合、ステップ602でそのことが判定され、次にステップ610が実行される。そのステップ609では、ワンキー105aがオフされたことから、ワンキーSWステータスに、ワンキー105aがオフ中であることを表す値をセットする。その後、ステップ611に移行する。
【0106】
ステップ611では、ワンキー再生チャンネルで実際に発音中の楽音(音符)があるか否か判定する。ワンキー発音ステータスに楽音が発音中であることを示す値が代入されていた場合、その判定はYESとなってステップ612に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0107】
ステップ612では、現在ワンキー再生チャンネルで発音中の楽音の消音を音源システム107に指示する。その楽音は、発音中の楽音を管理するためのデータとして保持している音高データ、及び音色データとで特定される楽音である。その後に移行するステップ613では、楽音の消音を指示したことに伴い、それら音高データ、及び音色データをクリアし、ワンキー発音ステータスに発音中の楽音が無いことを表す値をセットする。その後、一連の処理を終了する。
【0108】
ステップ608では、残り時間管理用変数の値を更新していない。そのため、実処理対象期間外でワンキー105aがオンされ、その期間外中にオフされた場合には、ステップ608で発音させた楽音はステップ612で消音されることになる。
【0109】
実処理対象期間外でワンキー105aをオンさせてから次のイベントデータの処理対象期間となるまでその状態が維持されていた場合には、ステップ608で発音させた楽音は図4に示す自動演奏再生処理内で消音される。その消音は、具体的には、ステップ412で行われるようになっている。第3の実施の形態でのステップ412では、ワンキー再生チャンネルで発音中の楽音があった場合、その楽音の消音を音源システム107に指示した後、次に発音させる楽音の特定や残り時間管理用変数の更新を行うようになっている。それにより、ステップ608で発音させた楽音が、次のイベントデータの処理対象期間となった以降まで発音しないようにさせている。
【0110】
なお、第3の実施の形態では、処理対象とすべきイベントデータが無いタイミングでワンキー105aがオンされるとコードのルートを発音させているが、それ以外の楽音を発音させても良い。コードの他の構成音を発音させても良く、コードの構成音をランダムに発音させるようにしても良い。
<第4の実施の形態>
上記第3の実施の形態では、処理対象とすべきイベントデータが無いタイミングでワンキー105aがオンされた場合、他のパートとして発音されるコードのルートを発音させている。これに対し、第4の実施の形態は、そのルートを、他のパートとして発音される際の音色とは異なる音色で発音させるようにしたものである。
【0111】
その第4の実施の形態における構成は、上記第3の実施の形態におけるそれと基本的に同じである。また、その動作も、第3の実施の形態におけるそれと殆ど同じであり、図2の全体処理内でステップ204として実行されるワンキーSW処理だけが僅かに異なるだけである。そのため、ワンキーSW処理のなかで第3の実施の形態から異なる部分だけを説明することにする。
【0112】
図7は、第4の実施の形態におけるワンキーSW処理の動作フローチャートである。そのワンキーSW処理は、図6に示す第3の実施の形態におけるワンキーSW処理内のステップ608をステップ701に変更しただけである。そのため、ステップ701についてのみ説明する。なお、図7において、他の処理ステップは第3の実施の形態から変わっていないことから、第3の実施の形態で付与した符号をそのまま用いている。
【0113】
そのステップ701では、伴奏を割り当てたチャンネルで現在発音中のコード(和音)、或いは次に発音させるコードのデータを読み出し、そのコードのルート(根音)の発音を、そのコードで指定されている音色とは異なる音色で指示する。そのようにして楽音の発音を指示した後、ステップ609に移行する。
【0114】
上記音色の変更は、変更前の音色と変更後の音色の対応関係を予め定義しておき、その対応関係を参照することで行うことができる。その対応関係は、ピアノの音をオルガンの音に変更させるといったようなことだけでなく、基本的には同じ音色の音を奏法等によって変わる別の音に変更させることでも良い。具体的には、例えば音色がギターであった場合、変更後の音色として、ギターのミュート音(空ピック音)、ハーモニクス音、スクラッチノイズ音等を設定しても良い。当然のことながら、変更後の音色をランダムに変化させるようにしても良い。
【0115】
なお、第3及び第4の実施の形態では、ワンキー再生チャンネルで本来発音されない楽音を発音させる場合、他のパート(チャンネル)で発音される楽音に基づく楽音を発音させることで、演奏を崩すことなくワンキー105aへの操作を楽音の発音に反映させているが、必ずしもそのようにしなくとも良い。ユーザが意図的に行ったワンキー105aへの操作に対応できるように、再生している曲(演奏データ)に合った効果音や短いメロディを発音させるようにしても良く、或いは音響効果をかけたり、それの深さを変更させたりするようにしても良い。何れにしても、ユーザが行える音楽表現の幅は広がることになる。これらのように、様々な変形が可能である。
【0116】
また、本実施の形態(第1〜第4の実施の形態)は、電子楽器に搭載されたものであるが、本発明が搭載(適用)できるのは電子楽器等の楽音生成装置に限定されるものではない。例えばパーソナルコンピュータ(以降、パソコンと略す)にも本発明を搭載(適用)させることができる。
【0117】
現在では、パソコンの多くはマルチメディアパソコンとして販売されており、楽音を発音させるサウンド機能も標準的に搭載されている。そのため、パソコンでは、基本的には上記したように演奏データを処理するためのプログラムをロードするだけで本発明を実現(搭載)させることができる。そのプログラムは、フロッピーディスクやCD−ROM、或いはROMカードといった記録媒体に記録して配布しても良く、或いは何らかの通信手段を介して配信するようにしても良い。
【0118】
【発明の効果】
以上説明したように本発明(第1の態様)は、時間データ、及び演奏操作子が操作されたタイミングに基づいて処理対象とするイベントデータを決定し、その決定したイベントデータを演奏操作子が操作されたタイミングに応じて処理していくことにより演奏を行う。そのため、音楽的に自然な印象を損なわせることなく、ユーザが行える音楽表現の幅を広げることができる。
【図面の簡単な説明】
【図1】本実施の形態による演奏装置を搭載した電子楽器の構成図である。
【図2】全体処理の動作フローチャートである。
【図3】ワンキーSW処理の動作フローチャートである。
【図4】自動演奏再生処理の動作フローチャートである。
【図5】自動演奏再生処理の動作フローチャートである(第2の実施の形態)。
【図6】ワンキーSW処理の動作フローチャートである(第3の実施の形態)。
【図7】ワンキーSW処理の動作フローチャートである(第4の実施の形態)。
【符号の説明】
101 CPU
102 ROM
103 RAM
104 タイマ
105 鍵盤
105a ワンキー
106 スイッチ群
107 音源システム
Claims (5)
- 演奏操作子を少なくとも一つ備えた演奏装置において、
前記演奏操作子へのユーザのオン及びオフ操作を検出する検出手段と、
特定された音階で発音あるいは消音を指示するイベントに、当該イベントを処理すべきタイミングを表す時間データを付加して構成された演奏データを記憶した記憶手段と、
この記憶手段に記憶されているイベントを当該イベントに付加されている時間データに基づいて順次読み出すとともに、前記検出手段が前記演奏操作子がオン操作されていると検出している場合は、当該読み出されたイベントに基づき、接続された音源に対して発音あるいは消音の指示を行う自動演奏手段と、
前記検出手段により前記演奏操作子のオン操作が検出されかつ前記音源が消音状態にあるときは、前記自動演奏手段により前記記憶手段に記憶された次の発音を指示するイベントが読み出されるタイミングまでの時間が所定時間内か否かを判定する判定手段と、
この判定手段により所定時間内と判定された場合は、前記記憶手段から当該次のイベントを読み出し、読み出された発音を指示するイベントに基づき、前記音源に対して発音の指示を行う処理手段と、
を具備したことを特徴とする演奏装置。 - 前記自動演奏手段は、前記演奏操作子のオン操作が検出されかつ前記音源が発音状態にあるときに、前記記憶手段から発音を指示する次のイベントが読み出された場合は、ポルタメント効果により発音中の音高から当該次のイベントで特定される音高まで変更させるポルタメント指示手段を有する
ことを特徴とする請求項1記載の演奏装置。 - 前記記憶手段に記憶されたイベントは、複数のチャンネル毎に分割され、前記自動演奏手段は、特定のチャンネルに属するイベントが読み出された場合にのみ当該読み出されたイベントに基づき、前記音源に対して発音あるいは消音の指示を行い、
前記演奏装置は更に、前記判定手段により所定時間以上と判定された場合は、前記特定のチャンネル以外のチャンネルに属する発音を指示するイベントに基づいて前記音源に対して発音の指示を行う伴奏手段を有する
ことを特徴とする請求項1記載の演奏装置。 - 前記伴奏手段にて指示される発音の音色と、前記処理手段にて指示される発音の音色とを異ならせた
ことを特徴とする請求項3記載の演奏装置。 - 特定された音階で発音あるいは消音を指示するイベントに、当該イベントを処理すべきタイミングを表す時間データを付加して構成された演奏データを記憶した記憶手段を有し、演奏操作子を少なくとも一つ備えた演奏装置に適用されるプログラムを記憶した記録媒体であって、
前記演奏操作子へのユーザのオン及びオフ操作を検出する検出手段と、
前記記憶手段に記憶されているイベントを当該イベントに付加されている時間データに基づいて順次読み出すとともに、前記検出手段が前記演奏操作子がオン操作されていると検出している場合は、当該読み出されたイベントに基づき、接続された音源に対して発音あるいは消音の指示を行う自動演奏手段と、
前記検出手段により前記演奏操作子のオン操作が検出されかつ前記音源が消音状態にあるときは、前記自動演奏手段により前記記憶手段に記憶された次の発音を指示するイベントが読み出されるタイミングまでの時間が所定時間内か否かを判定する判定手段と、
この判定手段により所定時間内と判定された場合は、前記記憶手段から当該次のイベントを読み出し、読み出された発音を指示するイベントに基づき、前記音源に対して発音の指示を行う処理手段と、
に対して、処理を実行させるためのプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35428997A JP3800778B2 (ja) | 1997-12-24 | 1997-12-24 | 演奏装置及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35428997A JP3800778B2 (ja) | 1997-12-24 | 1997-12-24 | 演奏装置及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11184465A JPH11184465A (ja) | 1999-07-09 |
JP3800778B2 true JP3800778B2 (ja) | 2006-07-26 |
Family
ID=18436545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35428997A Expired - Fee Related JP3800778B2 (ja) | 1997-12-24 | 1997-12-24 | 演奏装置及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3800778B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5050738B2 (ja) * | 2007-08-30 | 2012-10-17 | カシオ計算機株式会社 | 演奏操作トレーニング装置および演奏操作トレーニング処理のプログラム |
JP5119808B2 (ja) * | 2007-08-30 | 2013-01-16 | カシオ計算機株式会社 | 演奏操作トレーニング装置および演奏操作トレーニング処理のプログラム |
JP5186842B2 (ja) * | 2007-08-30 | 2013-04-24 | カシオ計算機株式会社 | 演奏操作トレーニング装置および演奏操作トレーニング処理のプログラム |
JP5029258B2 (ja) * | 2007-09-28 | 2012-09-19 | カシオ計算機株式会社 | 演奏練習支援装置および演奏練習支援処理のプログラム |
-
1997
- 1997-12-24 JP JP35428997A patent/JP3800778B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11184465A (ja) | 1999-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4321476B2 (ja) | 電子楽器 | |
JP2792368B2 (ja) | 電子楽器 | |
US6376760B1 (en) | Parameter setting technique for use in music performance apparatus | |
JPH10214083A (ja) | 楽音生成方法および記憶媒体 | |
JP3800778B2 (ja) | 演奏装置及び記録媒体 | |
JP4123583B2 (ja) | カラオケ装置 | |
JPH06332449A (ja) | 電子楽器の歌声再生装置 | |
JP3844286B2 (ja) | 電子楽器の自動伴奏装置 | |
JP3613062B2 (ja) | 楽音データ作成方法および記憶媒体 | |
JP2889841B2 (ja) | 電子楽器自動伴奏時のコード変化処理方法 | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JP4106798B2 (ja) | 音源装置 | |
JP3567482B2 (ja) | 電子楽器 | |
JPH10288987A (ja) | 電子楽器及び楽音制御データ発生装置 | |
JP2000010572A (ja) | 歌声発生装置およびカラオケ装置 | |
JP3620321B2 (ja) | 自動伴奏装置 | |
JP4186855B2 (ja) | 楽音制御装置及びプログラム | |
JP3546602B2 (ja) | 自動演奏装置 | |
JPH10171475A (ja) | カラオケ装置 | |
JP3637782B2 (ja) | データ生成装置と記録媒体 | |
JP4205563B2 (ja) | 演奏装置、演奏方法及び演奏のためのコンピュータプログラム | |
JP4651128B2 (ja) | 演奏装置、演奏方法及び演奏のためのコンピュータプログラム | |
JP2636216B2 (ja) | 楽音発生装置 | |
JP2961675B2 (ja) | 電子楽器 | |
CN112634847A (zh) | 电子乐器、控制方法以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060327 |
|
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: 20060411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060424 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |