JP6210356B2 - 演奏装置、演奏方法およびプログラム - Google Patents

演奏装置、演奏方法およびプログラム Download PDF

Info

Publication number
JP6210356B2
JP6210356B2 JP2013020043A JP2013020043A JP6210356B2 JP 6210356 B2 JP6210356 B2 JP 6210356B2 JP 2013020043 A JP2013020043 A JP 2013020043A JP 2013020043 A JP2013020043 A JP 2013020043A JP 6210356 B2 JP6210356 B2 JP 6210356B2
Authority
JP
Japan
Prior art keywords
change value
value
change
musical sound
automatic performance
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.)
Active
Application number
JP2013020043A
Other languages
English (en)
Other versions
JP2014153378A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2013020043A priority Critical patent/JP6210356B2/ja
Publication of JP2014153378A publication Critical patent/JP2014153378A/ja
Application granted granted Critical
Publication of JP6210356B2 publication Critical patent/JP6210356B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、電子楽器に用いて好適な演奏装置、演奏方法およびプログラムに関する。
従来より「ワンキープレイ」あるいは「エニイキープレイ」と呼ばれ、半自動的な演奏を実現する演奏装置が知られている。例えば「エニイキープレイ」とは、鍵盤のいずれかの鍵(AnyKey)が押鍵される毎に一音ずつ発音させて楽曲を演奏するものである。なお、「ワンキープレイ」とは、「ワンキープレイ」用に設けられた専用の演奏操作子を押下するワンキー(OneKey)操作毎に一音ずつ発音させて楽曲を演奏する形態である。
このような演奏装置は、例えば曲を構成する各音を表す曲データをメモリに記憶しておき、エニイキー操作(又はワンキー操作)が為される毎にメモリに記憶しておいた曲データを一音ずつ読み出して再生するように構成されているものや、曲の進行に応じて、押鍵するとそのタイミングで発音される曲データの音をメモリから読み出すことにより、正しい音階で発音できるように構成されているものがある。この種の技術については例えば特許文献1に開示されている。
特開2004−12943号公報
ところで、上述した「エニイキープレイ」と呼ばれる演奏形態を具現する演奏装置では、鍵を弾くタイミングを与えるだけで曲演奏を進行させるか、あるいは曲の進行に応じて、押鍵すると正しい音階で発音するようにしているので、鍵盤操作に不慣れなビギナーには好適ではあるものの、ある程度鍵盤操作に慣れたユーザにしてみれば物足りなさを感じてしまう。この為、例えば押鍵タイミングを与えて曲演奏を進めるだけではなく、ベンダー操作に応じてピッチヘベンド(音高変化)させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが可能な演奏装置が望まれている。
本発明は、このような事情に鑑みてなされたもので、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る演奏装置、演奏方法およびプログラムを提供することを目的としている。
上記目的を達成するため、本発明による演奏装置は、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、ユーザ操作に応じたベンダー操作値を取得する取得手段と、前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段と、を具備し、前記曲データに含まれるベンドチェンジ値を、第1のベンドチェンジ値と、前記第1のベンドチェンジ値よりも小さい値の第2のベンドチェンジ値とから構成し、前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より大きい場合に、当該第1のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させ、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より小さく且つ第2のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させ、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第2のベンドチェンジ値より小さい場合に、当該第2のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする。
また、本発明による演奏装置は、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、ユーザ操作に応じた操作値を取得する取得手段と、前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段と、を具備し、前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、前記パラメータ変化手段は、前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記自動演奏手段により発音された楽音のパラメータを変化させ、前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記自動演奏手段により発音された楽音のパラメータを変化させ、前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記自動演奏手段により発音された楽音のパラメータを変化させることを特徴とする。
一方、本発明によるプログラムは、コンピュータに、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、ユーザ操作に応じた操作値を取得する取得ステップと、前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化ステップと、を実行させ、前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、前記パラメータ変化ステップは、前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させ、前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させ、前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させることを特徴とする。
さらに、本発明による演奏方法は、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、ユーザ操作に応じた操作値を取得し、前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、演奏方法であって、前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、前記取得された操作値が、前記発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記発音された楽音のパラメータを変化させ、前記取得された操作値が、前記発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記発音された楽音のパラメータを変化させ、前記取得された操作値が、前記発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記発音された楽音のパラメータを変化させる、ことを特徴とする。
本発明では、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る。
実施の一形態による電子楽器100の全体構成を示すブロック図である。 RAM12に記憶される主要なデータを説明するためのメモリマップである。 イベントデータの構成を示す図である。 ベンドチェンジ値の経時変化の一例を示す図である。 メインルーチンの動作を示すフローチャートである。 タイマ割り込み処理の動作を示すフローチャートである。 ソング処理の動作を示すフローチャートである。 鍵盤処理の動作を示すフローチャートである。 ベンダー処理の動作を示すフローチャートである。 ベンダー処理の動作を説明するための図である。
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、本発明による演奏装置を備えた実施の一形態である電子楽器100の全体構成を示すブロック図である。図1において、CPU10は、通常モード又はエニイキープレイによる自動演奏モードの何れかの動作モードを実行する。具体的には、通常モードであれば、CPU10は操作部14のスイッチ操作に応じて発生する操作イベントに基づき楽器各部の動作状態を設定すると共に、ユーザの演奏操作(押離鍵操作)に応じて鍵盤13が発生する演奏データに基づき生成したノートイベントを音源17に供給して楽音形成する。
一方、エニイキープレイによる自動演奏モードならば、CPU10は鍵盤13の何れかの鍵が押鍵される毎、すなわちエニイキープレイ毎にRAM12からソングデータ(後述する)を一音ずつ読み出して発音する。本発明の要旨に係わるCPU10の処理動作については追って詳述する。
ROM11には、CPU10にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、タイマ割り込み処理、当該メインルーチンからコールされるソング処理、鍵盤処理およびベンダー処理を含む。
RAM12は、図2に図示するように、データエリアDEおよびワークエリアWEを備える。RAM12のワークエリアWEには、CPU10の処理に用いられる各種レジスタ・フラグデータが一時記憶される。ここで、図2を参照してワークエリアWEに一時記憶される主要なレジスタ・フラグデータについて説明する。
図2において、カウンタBCは、例えば1msec周期で実行されるタイマ割り込み毎にインクリメントされて歩進されるカウンタレジスタであり、ベンド周期(10msec)計測に用いられる。カウンタDTCは、例えば1msec周期で実行されるタイマ割り込み毎にインクリメントされて歩進されるカウンタレジスタであり、Δt計測に用いられる。
レジスタEVTは、自動演奏モード下のエニイキープレイに応じてソングデータエリアSDEから読み出されるソングデータ中のイベントを一時記憶する。レジスタΔTimeは、自動演奏モード下のエニイキープレイに応じてソングデータエリアSDEから読み出されるソングデータ中のΔtを一時記憶する。なお、ソングデータの構成については追って述べる。フラグSSFは、ソング再生中(自動演奏中)であるか否かを表すフラグであり、「0」の場合に停止状態を表し、「1」の場合にソング再生中を表す。
レジスタNNは、ソング再生中にソングデータエリアSDEから読み出されるソングデータ中のイベントに含まれるノートナンバ(音高)を一時記憶する。レジスタBDCは、ソング再生中にソングデータエリアSDEから読み出されるソングデータ中のベンドチェンジイベントに含まれるベンドチェンジ値を一時記憶する。レジスタLBDは、最終ベンド値を一時記憶する。
RAM12のソングデータエリアSDEには、図2に図示するように、曲を構成する各音を表すと共に、発音中の楽音について音高変化を指定するソングデータが記憶される。一つのソングデータは、イベントおよびΔtから構成される。Δtは、前イベントからの経過時間(ティック数)で次イベントの開始タイミングを表す。
イベントは、図3に図示するように、チャンネルデータChおよび演奏情報から構成される。チャンネルデータChは、メロディパートあるいは伴奏パートの何れかを識別する。演奏情報は、発音又は消音するイベントあるいは発音中の楽音について音高変化を指定するイベントの何れかを含む。
演奏情報が発音を指示するイベントである場合には、ノートオンイベントおよび発音音高を表すノートナンバから構成される。演奏情報が消音を指示するイベントである場合には、ノートオフイベントおよび消音音高を表すノートナンバから構成される。演奏情報が発音中の楽音について音高変化を指定するイベントである場合には、ベンドチェンジイベントおよびベンドチェンジ値から構成される。
ここで、図4を参照してベンドチェンジイベントの一例について説明する。図4は、ベンドチェンジイベントによって音高「C」でノートオンした楽音を、ノートオフ時点で音高「D」までピッチベンド(音高変化)させる過程を図示している。この一例では、ノートオンの時点t0からノートオフの時点t7までの音長を「70msec」とした場合に、当該音長区間におけるベンダー操作値の検出周期を10msecとしている。
そうすると、ノートオンの時点t0においてベンドチェンジ値40H(初期値:16進表示)を備えるベンドチェンジイベントのソングデータを設定し、さらに検出周期t1〜t7に各々同期させてベンドチェンジ値44H、48H、4CH、50H、78Hおよび7Fをそれぞれ備えるベンドチェンジイベントのソングデータを設定する。こうしたソングデータを再生して得られるベンドチェンジイベントによって、音高「C」で発音した楽音を連続的に音高「D」までピッチベンドさせることが可能になる。
次に、再び図1を参照して実施形態の構成について説明を進める。図1において、鍵盤13は、押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号、鍵番号およびベロシティ等からなる演奏データを発生してCPU10に供給する。
操作部14は、コンソールパネル(不図示)に配設される各種スイッチから構成され、操作されたスイッチに対応したスイッチイベントを発生してCPU10に供給する。本発明の要旨に係わる主要なスイッチとして、上述した通常モード又は自動演奏モードを選択するモードスイッチが挙げられる。なお、モードスイッチの操作により通常モードが選択された場合には、前述したフラグSSFが「0」(ソング再生停止状態)にセットされ、一方、自動演奏モードが選択された場合には、フラグSSFが「1」(ソング再生中)にセットされる。
表示部15は、LCDパネルおよびドライバから構成され、CPU10から供給される表示制御信号に応じて各種画面を表示する。ピッチベンダー16は、ユーザのベンダー操作(ホイール回動)に応じたベンダー操作値を出力する。なお、ピッチベンダー16から出力されるベンダー操作値はCPU10に供給される。CPU10に供給されたベンダー操作値は、発音音高を変化させるベンドチェンジイベントに付加されて音源17に与えられる。
音源17は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。音源17は、CPU10から供給される各種イベントに応じた楽音データを生成して出力する。サウンドシステム18は、音源17から出力される楽音データをアナログ形式の楽音信号にD/A変換した後に信号増幅してスピーカから放音する。
B.動作
次に、図5〜図11を参照して上記構成による電子楽器100の動作を説明する。以下では、電子楽器100のCPU10が実行するメインルーチン、タイマ割り込み処理、メインルーチンからコールされるソング処理、鍵盤処理およびベンダー処理の各動作について説明する。
(1)メインルーチンの動作
電源スイッチ操作により電子楽器100がパワーオンされると、CPU10は図5に図示するメインルーチンを実行してステップSA1に進み、楽器各部を初期化するイニシャライズを実行する。なお、このイニシャライズでは、後述のタイマ割り込み処理で用いられるカウンタBCおよびカウンタDTCをゼロリセットする。
そして、イニシャライズが完了すると、次のステップSA2に進み、操作されたスイッチに対応して操作部14が発生するスイッチイベントに基づくスイッチ処理を実行する。例えばモードスイッチ操作により通常モードが選択された場合には、フラグSSFを「0」にセットし、自動演奏モードが選択された場合には、フラグSSFを「1」にセットする。
続いて、ステップSA3では、ソング処理を実行する。ソング処理では、後述するように、ソング再生中(自動演奏モード)であると、Δt経過時間DTCに基づき次イベントタイミングに達したかどうかを判別し、次イベントタイミングに達していると、次のイベントおよびΔtを含むソングデータをRAM12のソングデータエリアSDEから読み出す。
そして、読み出したソングデータ中の次のイベントが伴奏パートのイベントならば、そのイベントに含まれる演奏情報に従って伴奏音を自動演奏する。一方、次のイベントがメロディパートのノートイベントならば、当該ノートイベントに付随するノートナンバをレジスタNNにストアし、次のイベントがメロディパートのベンドチェンジイベントならば、当該ベンドチェンジイベントに付随するベンドチェンジ値をレジスタBDCにストアする。
次いで、ステップSA4に進むと、鍵盤処理を実行する。鍵盤処理では、後述するように、ソング再生中(自動演奏モード)ならば、何れかの鍵の押鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を発音させるノートオンイベントを作成して音源17に送付し、一方、離鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を消音させるノートオフイベントを作成して音源17に送付する。
続いて、ステップSA5では、ベンダー処理を実行する。ベンダー処理では、後述するように、ベンド周期(例えば10msec)経過毎に、ユーザのベンダー操作に応じて発生するベンダー操作値を取得し、ソング再生中(自動演奏モード)ならば、取得されたベンダー操作値が現在再生中のソングデータのベンドチェンジイベントに付随するベンドチェンジ値より大きいと、ベンダー操作値を音源17に送付し、一方、ベンダー操作値がベンドチェンジ値より小さいと、ベンドチェンジ値を音源17に送付する。そして、上記ステップSA2に処理を戻し、以後、電子楽器100がパワーオフされるまで上述したステップSA2〜SA5を繰り返し実行する。
(2)タイマ割り込み処理の動作
次に、図6を参照してタイマ割り込み処理の動作を説明する。CPU10では、上述したメインルーチンの実行と同時にタイマ割り込み処理を起動する。本実施形態では、説明の簡略化を図る為、1msec周期でタイマ割り込み処理が実行されるものとしている。本処理の割り込みタイミングになると、図6に図示するステップSB1に進み、ベンド周期計測用のカウンタBCをインクリメントして歩進させ、続くステップSB2では、Δt計測用のカウンタDTCをインクリメントして歩進させて本処理を終える。
(3)ソング処理の動作
次に、図7を参照してソング処理の動作を説明する。上述したメインルーチンのステップSA3(図5参照)を介して本処理が実行されると、CPU10は、図7に図示するステップSC1に進み、フラグSSFが「1」、つまりソング再生中(自動演奏モード)であるか否かを判断する。ソング再生中でなければ、判断結果は「NO」になり、ステップSC2に進み、ソング開始か否か、すなわちモードスイッチの操作により自動演奏モードが選択されたかどうかを判断する。自動演奏モードが選択されず通常モードのままであれば、判断結果は「NO」になり、本処理を終える。
一方、モードスイッチの操作により自動演奏モードが選択されると、上記ステップSC2の判断結果は「YES」になり、ステップSC3に進み、RAM12のソングデータエリアSDEから曲頭のソングデータを構成する開始イベントを読み出してレジスタEVTにストアする。続いて、ステップSC4では、曲頭のソングデータにおいて、開始イベントに続くΔTを同様に読み出してレジスタΔTimeにストアする。この後、ステップSC5に進み、フラグSSFを「1」にセットしてソング再生中(自動演奏モード)に遷移して一旦、本処理を終える。
さて、こうしてソング再生中(自動演奏モード)に遷移した状態で本処理が実行されると、上述したステップSC1の判断結果が「YES」となり、ステップSC6に進み、Δt経過時間を計測するカウンタDTCの値(以下、カウンタDTCの値をΔt経過時間DTCと称す)を取得する。続いて、ステップSC7では、レジスタΔTimeからΔt経過時間DTCを減算した値(ΔTime−DTC)が「0」以下のΔt経過であるか否か、つまり換言すれば次イベントタイミングであるかどうかを判断する。
(ΔTime−DTC)が「0」より大きく、Δtが経過していない場合、つまり次イベントタイミングでなければ、判断結果は「NO」になり、本処理を終えるが、次イベントタイミングならば、上記ステップSC7の判断結果は「YES」になり、ステップSC8に進み、RAM12のソングデータエリアSDEから次のイベントおよびΔTを含むソングデータを読み出し、読み出した次イベントおよびΔtをそれぞれレジスタEVTおよびレジスタΔTimeにストアして取得する。
次いで、ステップSC9では、レジスタEVTにストアした次のイベントに含まれるチャンネルデータChに基づきメロディパートのイベントであるか否かを判断する。チャンネルデータChに基づき伴奏パートと識別された場合には、判断結果が「NO」になり、ステップSC10に進み、イベントに含まれる演奏情報に従って伴奏音を自動演奏する伴奏パート処理を実行した後、ステップSC14に進み、上記ステップSC8で取得したΔtをレジスタΔTimeにストアすると共に、レジスタDTCをゼロリセットして本処理を終える。
一方、チャンネルデータChに基づきメロディパートと識別されると、上記ステップSC9の判断結果は「YES」になり、ステップSC11に進む。ステップSC11では、レジスタEVTにストアした次のイベントがノートイベントであるか否かを判断する。ノートイベントであると、判断結果は「YES」になり、ステップSC12に進み、当該ノートイベントに付随するノートナンバをレジスタNNにストアする。この後、ステップSC14に進み、上記ステップSC8で取得したΔtをレジスタΔTimeにストアすると共に、レジスタDTCをゼロリセットして本処理を終える。
これに対し、レジスタEVTにストアした次のイベントがベンドチェンジイベントであると、上記ステップSC11の判断結果は「NO」になり、ステップSC13に進む。ステップSC13では、ベンドチェンジイベントに付随するベンドチェンジ値をレジスタBDCにストアする。この後、ステップSC14に進み、上記ステップSC8で取得したΔtをレジスタΔTimeにストアすると共に、レジスタDTCをゼロリセットして本処理を終える。
このように、ソング処理では、ソング再生中(自動演奏モード)であると、Δt経過時間DTCに基づき次イベントタイミングに達したかどうかを判別し、次イベントタイミングに達していれば、次のイベントおよびΔtをRAM12のソングデータエリアSDEから読み出し、読み出した次のイベントが伴奏パートのイベントならば、そのイベントに含まれる演奏情報に従って伴奏音を自動演奏し、一方、次のイベントがメロディパートのノートイベントであると、当該ノートイベントに付随するノートナンバをレジスタNNにストアする。また、次のイベントがメロディパートのベンドチェンジイベントならば、当該ベンドチェンジイベントに付随するベンドチェンジ値をレジスタBDCにストアする。
(4)鍵盤処理の動作
次に、図8を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップSA4(図5参照)を介して本処理が実行されると、CPU10は、図8に図示するステップSD1に進み、鍵盤13の各鍵について鍵変化を検出する鍵盤走査を行う。続いて、ステップSD2では、上記ステップSD1の鍵盤走査結果に基づき鍵変化の有無を判別する。鍵変化が無ければ、判断結果は「NO」になり、本処理を終える。
一方、鍵盤13の何れかの鍵の押離鍵操作により鍵変化が有ると、上記ステップSD2の判断結果は「YES」になり、ステップSD3に進み、フラグSSFが「1」、つまりソング再生中(自動演奏モード)であるか否かを判断する。ソング再生中でなければ、判断結果は「NO」になり、ステップSD4に進む。ステップSD4では、押鍵操作に応じて作成したノートオンイベントを音源17に送付して押鍵された鍵の音高の楽音を発音させたり、離鍵操作に応じて作成したノートオフイベントを音源17に送付して離鍵された鍵の音高の楽音を消音させたりする通常モードの押離鍵処理を実行して本処理を終える。
これに対し、ソング再生中(自動演奏モード)であると、上記ステップSD3の判断結果は「YES」になり、ステップSD5に進む。ステップSD5では、現在再生対象のソングデータ中のイベントに含まれるノートナンバをレジスタNNにストアする。なお、レジスタNNにストアしたノートナンバとは、現在再生対象のソングデータで指定されるメロディ音の音高である。
そして、ステップSD6では、鍵変化が、エニイキープレイの押鍵に対応したノートオンであるか否かを判断する。エニイキープレイの押鍵に対応したノートオンならば、上記ステップSD6の判断結果は「YES」になり、ステップSD7に進む。ステップSD7では、レジスタNNにストアされたノートナンバを含むノートオンイベントを作成して音源17に送付し、メロディ音を発音するよう指示した後、本処理を終える。
一方、エニイキープレイの離鍵に対応したノートオフであると、上記ステップSD6の判断結果は「NO」になり、ステップSD8に進む。ステップSD8では、レジスタNNにストアされたノートナンバを含むノートオフイベントを作成して音源17に送付し、離鍵された鍵の音高のメロディ音を発音するよう指示した後、本処理を終える。
このように、鍵盤処理では、ソング再生中(自動演奏モード)であると、エニイキープレイの押鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を発音させるノートオンイベントを作成して音源17に送付したり、エニイキープレイの離鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を消音させるノートオフイベントを作成して音源17に送付したりする。
(5)ベンダー処理の動作
次に、図9〜図10を参照してベンダー処理の動作を説明する。前述したメインルーチンのステップSA5(図5参照)を介して本処理が実行されると、CPU10は、図9に図示するステップSE1に進み、例えば1msec周期で実行されるタイマ割り込み毎に歩進されるカウンタBCの値が、ベント周期(例えば10msec)を超えたか否かを判断する。ベンド周期を経過していなければ、ここでの判断結果は「NO」になり、本処理を終える。
一方、ベント周期を経過すると、上記ステップSE1の判断結果が「YES」となり、ステップSE2に進み、ピッチベンダー16が出力するベンダー操作値を取得する。次いで、ステップSE3では、フラグSSFが「1」、つまりソング再生中(自動演奏モード)であるか否かを判断する。通常モード下であると、判断結果は「NO」になり、ステップSE4に進み、上記ステップSE2で取得したベンダー操作値、つまりユーザのベンダーホイール操作で発生したベンダー操作値をレジスタLBOにストアする。
そして、ステップSE5では、レジスタLBOにストアされたベンダー操作値を音源17に送付する。これにより、音源17では、発音中の楽音の音高をベンダー操作値に対応して変化させる。この後、ステップSB6に進み、カウンタBCをゼロリセットして本処理を終える。
これに対し、ソング再生中(自動演奏モード)であると、上記ステップSE3の判断結果が「YES」になり、ステップSE7に進む。ステップSE7では、上記ステップSE2で取得したベンダー操作値が、レジスタBCDにストアされたベンドチェンジ値より大きいか否かを判断する。ベンダー操作値がベンドチェンジ値より大きければ、判断結果は「YES」になり、ステップSE8に進み、ベンダー操作値をレジスタLBOにストアする。そして、ステップSE5に進み、レジスタLBOにストアされたベンダー操作値を音源17に送付した後、ステップSB6に進み、カウンタBCをゼロリセットして本処理を終える。
さて一方、ベンダー操作値がベンドチェンジ値より小さければ、上記ステップSE7の判断結果は「NO」になり、ステップSE9に進む。ステップSE9では、レジスタBCDにストアされたベンドチェンジ値をレジスタLBOにストアする。そして、ステップSE5に進み、レジスタLBOにストアされたベンダー操作値を音源17に送付した後、ステップSB6に進み、カウンタBCをゼロリセットして本処理を終える。
このように、ベンダー処理では、ベンド周期(例えば10msec)経過毎に、ユーザのホイール操作で発生するベンダー操作値を取得し、ソング再生中(自動演奏モード)ならば、取得されたベンダー操作値が現在再生中のソングデータのベンドチェンジイベントに付随するベンドチェンジ値より大きいと、ベンダー操作値を音源17に送付し、一方、ベンダー操作値がベンドチェンジ値より小さいと、ベンドチェンジ値を音源17に送付する。
具体的には、例えば図10に図示するように、ベンドチェンジイベントによって音高「C」でノートオンした楽音をノートオフ時点で音高「D」までピッチベンドさせる過程で、ベンダー操作値がベンドチェンジ値より大きい検出周期t1〜t5ではベンダー操作値に応じてピッチベンドさせ、ベンダー操作値がベンドチェンジ値より小さい検出周期t6、t7では、ベンドチェンジ値に応じてピッチベンドさせる為、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る。
以上説明したように、本実施形態では、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えたソングデータに基づいて自動演奏し、自動演奏により発音された楽音のベンドチェンジ値と、ユーザ操作で発生したベンダー操作値との比較結果に応じて当該楽音の音高を変化させるので、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来たり、誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る、という効果を奏する。
なお、上述した実施形態では、ソングデータ中のベンドチェンジイベントに付随するベンドチェンジ値によって最低限の音高変化を指定し、このベンドチェンジ値を下回るベンダー操作値ならば、そのベンダー操作値に換えてベンドチェンジ値を用いて音高を変化させるようにしたが、これに限定されず、上限となるベンドチェンジ値を設け、このベンドチェンジ値を上回るベンダー操作値ならば、そのベンダー操作値に換えてベンドチェンジ値を用いて音高を変化させることで急激にピッチを上げる不自然なベンダー操作を回避することが出来る。
また、例えば上限となる第1のベンドチェンジ値および下限となる第2のベンドチェンジ値を設け、ベンダー操作値が上限を超えたら当該ベンダー操作値に換えて第1のベンドチェンジ値を用い、ベンダー操作値が下限を超えたら当該ベンダー操作値に換えて第2のベンドチェンジ値を用いることによって極端なベンダー操作が為された場合でも音楽性を損なわない音高変化を実現することも出来る。
また、本実施形態においては、発音中の楽音の音高変化を指定するベンドチェンジ値をを予め記憶しておき、このベンドチェンジ値とピッチベンダー16の操作によるベンダー操作値と、の比較結果に基づいて楽音の音高を変化させているが、これに限らず、例えばビブラート等の変調の深さを指定するチェンジ値を予め記憶しておき、このチェンジ値とモジュレーションホイールの操作による操作値との比較結果に基づいて楽音の変調度合いを変化させたり、あるいはフィルターの開閉を制御する値を記憶しておき、この記憶された値とコントロールノブの操作による操作値との比較結果に基づいて楽音の音色をコントロールするフィルタを変化させたりすることも可能である。
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
(付記)
[請求項1]
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じた操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段と
を具備することを特徴とする演奏装置。
[請求項2]
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じたベンダー操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段と
を具備することを特徴とする演奏装置。
[請求項3]
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項2記載の演奏装置。
[請求項4]
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より小さい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項2記載の演奏装置。
[請求項5]
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項2記載の演奏装置。
[請求項6]
前記曲データに含まれるベンドチェンジ値を、上限となる第1のベンドチェンジ値と下限となる第2のベンドチェンジ値とから構成し、
前記音高変化手段は、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より大きい場合に、当該第1のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第1の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より小さく且つ第2のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させる第2の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第2のベンドチェンジ値より小さい場合に、当該第2のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第3の音高変化手段と
を具備することを特徴とする請求項2記載の演奏装置。
[請求項7]
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じた操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
[請求項8]
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じたベンダー操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のベンドチェンジ値と、前記取得ステップで取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
[請求項9]
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じた操作値を取得し、
前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、演奏方法。
[請求項10]
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じたベンダー操作値を取得し、
前記発音された楽音のベンドチェンジ値と、前記取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる、演奏方法。
10 CPU
11 ROM
12 RAM
13 鍵盤
14 操作部
15 表示部
16 ピッチベンダー
17 音源
18 サウンドシステム
100 電子楽器

Claims (5)

  1. 曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
    ユーザ操作に応じたベンダー操作値を取得する取得手段と、
    前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段と、
    を具備し、
    前記曲データに含まれるベンドチェンジ値を、第1のベンドチェンジ値と、前記第1のベンドチェンジ値よりも小さい値の第2のベンドチェンジ値とから構成し、
    前記音高変化手段は、
    前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より大きい場合に、当該第1のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させ、
    前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第1のベンドチェンジ値より小さく且つ第2のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させ、
    前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第2のベンドチェンジ値より小さい場合に、当該第2のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる
    ことを特徴とする演奏装置。
  2. 曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
    ユーザ操作に応じた操作値を取得する取得手段と、
    前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段と、
    を具備し、
    前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、
    前記パラメータ変化手段は、
    前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記自動演奏手段により発音された楽音のパラメータを変化させ、
    前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記自動演奏手段により発音された楽音のパラメータを変化させ、
    前記取得手段により取得された操作値が、前記自動演奏手段により発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記自動演奏手段により発音された楽音のパラメータを変化させる
    ことを特徴とする演奏装置。
  3. 前記楽音のパラメータは、音高、音色、楽音の変調の深さ、楽音の変調度合い、のいずれかを指定するパラメータであることを特徴とする請求項2記載の演奏装置。
  4. コンピュータに、
    曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
    ユーザ操作に応じた操作値を取得する取得ステップと、
    前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化ステップと、
    を実行させ、
    前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、
    前記パラメータ変化ステップは、
    前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させ、
    前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させ、
    前記取得ステップにより取得された操作値が、前記自動演奏ステップにより発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記自動演奏ステップにより発音された楽音のパラメータを変化させる
    ることを特徴とするプログラム。
  5. 曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、
    ユーザ操作に応じた操作値を取得し、
    前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、演奏方法であって、
    前記曲データに含まれるチェンジ値を、第1のチェンジ値と、前記第1のチェンジ値よりも小さい値の第2のチェンジ値とから構成し、
    前記取得された操作値が、前記発音された楽音の第1のチェンジ値より大きい場合に、当該第1のチェンジ値に従って前記発音された楽音のパラメータを変化させ、
    前記取得された操作値が、前記発音された楽音の第1のチェンジ値より小さく且つ第2のチェンジ値より大きい場合に、当該操作値に従って前記発音された楽音のパラメータを変化させ、
    前記取得された操作値が、前記発音された楽音の第2のチェンジ値より小さい場合に、当該第2のチェンジ値に従って前記発音された楽音のパラメータを変化させる
    ことを特徴とする演奏方法。
JP2013020043A 2013-02-05 2013-02-05 演奏装置、演奏方法およびプログラム Active JP6210356B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013020043A JP6210356B2 (ja) 2013-02-05 2013-02-05 演奏装置、演奏方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013020043A JP6210356B2 (ja) 2013-02-05 2013-02-05 演奏装置、演奏方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014153378A JP2014153378A (ja) 2014-08-25
JP6210356B2 true JP6210356B2 (ja) 2017-10-11

Family

ID=51575336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013020043A Active JP6210356B2 (ja) 2013-02-05 2013-02-05 演奏装置、演奏方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6210356B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6497404B2 (ja) * 2017-03-23 2019-04-10 カシオ計算機株式会社 電子楽器、その電子楽器の制御方法及びその電子楽器用のプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454610A (ja) * 1990-06-25 1992-02-21 Kawai Musical Instr Mfg Co Ltd 出力制御装置
JP2718341B2 (ja) * 1993-04-09 1998-02-25 ヤマハ株式会社 電子楽器
JP3411384B2 (ja) * 1994-05-20 2003-05-26 ローランド株式会社 電子楽器

Also Published As

Publication number Publication date
JP2014153378A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
JP6402878B2 (ja) 演奏装置、演奏方法およびプログラム
JP6176480B2 (ja) 楽音発生装置、楽音発生方法およびプログラム
JP6210356B2 (ja) 演奏装置、演奏方法およびプログラム
JP5532446B2 (ja) 楽音発生装置およびプログラム
JP2010139592A (ja) 楽音発生装置および楽音発生プログラム
JP2018040825A (ja) 自動演奏装置、自動演奏方法、プログラムおよび電子楽器
JP3684774B2 (ja) 演奏指示装置及びプログラムを記録した媒体
JP5030016B2 (ja) 楽音発生装置および楽音発生処理プログラム
JP6817551B2 (ja) 楽音発生装置、楽音発生方法、プログラムおよび電子楽器
JP6414163B2 (ja) 自動演奏装置、自動演奏方法、プログラムおよび電子楽器
JP3781167B2 (ja) 演奏情報入力装置および演奏情報入力方法
JP6573100B2 (ja) 楽音制御装置、楽音制御方法、プログラム、および電子楽器
JP2006178268A (ja) 楽音制御装置および楽音制御プログラム
JP2010243617A (ja) 演奏ガイド装置およびプログラム
JP3743993B2 (ja) コード判定装置、コード判定方法およびコード判定方法を記録した媒体
JP3554770B2 (ja) 楽音発生装置
JP3940999B2 (ja) 演奏装置および演奏方法
JP4206830B2 (ja) 楽音制御装置および楽音制御プログラム
JP2012128152A (ja) 演奏練習装置およびプログラム
JP5029770B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP2738217B2 (ja) 電子楽器
JP6305275B2 (ja) 電子楽器における音声アシスト装置及びプログラム
JP2012220861A (ja) 楽音発生装置およびプログラム
JP3543159B2 (ja) 自動伴奏装置
JP6439225B2 (ja) 楽音発生装置、電子楽器、楽音発生方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170808

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: 20170818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170831

R150 Certificate of patent or registration of utility model

Ref document number: 6210356

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150