JP3430267B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP3430267B2
JP3430267B2 JP34570492A JP34570492A JP3430267B2 JP 3430267 B2 JP3430267 B2 JP 3430267B2 JP 34570492 A JP34570492 A JP 34570492A JP 34570492 A JP34570492 A JP 34570492A JP 3430267 B2 JP3430267 B2 JP 3430267B2
Authority
JP
Japan
Prior art keywords
data
key
melody
sound
pitch
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
JP34570492A
Other languages
English (en)
Other versions
JPH0667653A (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 JP34570492A priority Critical patent/JP3430267B2/ja
Publication of JPH0667653A publication Critical patent/JPH0667653A/ja
Application granted granted Critical
Publication of JP3430267B2 publication Critical patent/JP3430267B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、メロディ練習機能が付
加された電子楽器に係わり、更に詳しくは、自動伴奏や
メロディガイドに合わせて行われる押鍵操作の正誤に応
じて、メロディ音に付加されるエフェクトが変化するよ
うメロディ練習機能が付加された電子楽器に関する。 【0002】 【従来の技術】従来の電子楽器において、メロディ練習
機能を有するものがある。これは、複数のメロディ情報
を記憶しており、その中から選択されたメロディのリズ
ムに合わせて自動伴奏を行うかあるいはメロディガイド
(LEDナビゲータ)を逐次点灯するものでり、ユーザ
はその自動伴奏あるいはメロディガイドに合わせて押鍵
操作することによって、選択したメロディをマニュアル
演奏するようになっている。 【0003】このような電子楽器では、リズムの自動伴
奏と共にメロディの模範演奏音を発生させ、誤った押鍵
操作がなされたときメロディの進行を停止するようにし
たものや、正しく押鍵されるまで同一小節を繰り返すよ
うにしたもの(例えば特開昭58−35598号)、あ
るいは、押鍵操作の誤りの程度に応じてリズムのテンポ
を自動的に変更する(例えば遅くする)ようにしたもの
等がある。 【0004】しかし、それらのメロディ練習方法では、
いつまでも正しいテンポに応じたリズム演奏の押鍵操作
を修得できないという問題があるため、それらに代っ
て、模範演奏音を発生させず自動伴奏とメロディガイド
のみを進行させ、押鍵操作の正誤を判定し、誤った押鍵
操作に対してはブザー音等の警告音を発生させるように
したものが考えられている。 【0005】 【発明が解決しようとする課題】しかし、上記誤った押
鍵操作に対してブザー音を発生させる電子楽器では、初
心者が新しい曲を練習しようとする際、当初はブザー音
が頻繁に発生することになり、初心者にとっては楽音と
は関係のないブザー音が耳障りであるばかりでなく、頻
繁なブザー音に気分を損ねて意欲が減退し、メロディ演
奏の練習に興味を失ってしまいかねないという問題があ
る。 【0006】ところで、上記の問題を解決したとして
も、このような電子楽器を用いて練習しようとするユー
ザの技量は千差万別であり、一方では、全く鍵盤に触れ
たこともない超初心者がおり、他方では、相当程度弾く
ことのできる上達者もいる。 【0007】したがって、例えば押鍵タイミング等の上
達者のレベルに合わせた操作判定基準で超初心者の操作
を判定しようとすると、誤り判定ばかりが出てしまって
超初心者は練習意欲を喪失してしまう可能性がある。一
方、上達者にとっては、誤り判定が逐次少なくなった後
は、それ以上のレベル向上が見られなくなり、結局は練
習に飽きてしまうという可能性がある。 【0008】特に近年、電子楽器の自動伴奏機能には、
本体装置のメモリサイズの拡大に伴って多種多様のリズ
ムパターンが設けられるようになっている。そして、こ
れら多種多様のリズムパターンのリズムに乗ったメロデ
ィ演奏を、興味が継続するような方法で容易に練習が行
なえるような電子楽器の出現が要望されている。 【0009】本発明の課題は、押鍵操作の誤り報知の際
ブザー等の楽音とは関係のない音を発する不自然さを解
消し、且つ押鍵操作の誤りの度合いを報知することによ
りユーザが効果音を楽しみながら押鍵操作の正しさや誤
りの程度も判別できようにし、さらに、全く鍵盤に触れ
たこともない超初心者から、練習を積んである程度上達
した者まで、常にユーザーの技量に合ったレベルで正誤
判定を行うようにし、ユーザが常に興味をもってメロデ
ィ演奏の練習ができるような面白味の加味された、練習
の継続できる電子楽器を提供することである。 【0010】 【課題を解決するための手段】本発明の手段は次の通り
である。記憶手段は、予め設定されたタイミングで発生
すべきメロディ音を記憶する。同手段は、例えばメロデ
ィデータを記憶したROM(Read Only Memory)、内蔵ま
たは外部のデジタル音源、アナログ音源等からなる。 【0011】メロディ音指示手段は、記憶手段の記憶内
容に基づき、発生すべきメロディ音を指示する。同手段
は、例えば押鍵指定するために読み出されたメロディ情
報の音高データを一時的に記憶するバッファ等からな
る。 【0012】メロディ音発生手段は、外部操作に基づい
てメロディ音を順次発生する。同手段は、例えば外部操
作情報を解析するCPU(中央演算処理装置)、各種波
形データを記憶したROM、ディジタル音源等からな
る。なお、外部操作は、例えば任意の音高を指定する押
鍵操作情報を出力する複数個の鍵を有する鍵盤等を用い
てよい。 【0013】信号処理手段は、メロディ音発生手段によ
り順次発生されるメロディ音の信号にそれぞれ複数種の
異なる処理を行って出力する。同手段は、例えば複数の
DSP(Digital Signal Processer)等からなる。 【0014】音程検出手段は、メロディ音指示手段によ
り指示されるメロディ音とメロディ音発生手段により発
生されるメロディ音との音程を検出する。同手段は、例
えばCPU等からなる。 【0015】操作タイミング検出手段は、上記外部操作
のタイミングを検出する。同手段は、音符、音長等を表
す時間や、押鍵時期等を計時するカウンタ等からなる。
時間差検出手段は、メロディ音指示手段により指示され
るメロディ音に対して予め設定されているタイミング
と、操作タイミング検出手段により検出される外部操作
の操作タイミングとの時間差を検出する。同手段は、例
えばCPU等からなる。 【0016】正誤判定基準テーブルは、演奏者の技能レ
ベルに応じた複数個の正誤判定基準を有する。同テーブ
ルは、例えば、ROM(Read Only Memory)等に記憶され
た音程、操作タイミング等のデータと基準レベルとの対
応表である。 【0017】割当手段は、メロディ音発生手段により順
次発生されるメロディ音のそれぞれの信号処理として、
音程検出手段の検出結果、時間差検出手段の検出結果及
び正誤判定基準テーブルの中の選択された正誤判定基準
に応じて信号処理手段の複数種の信号処理のいずれか1
つを割り当てる。同手段は、例えば音源内の出力制御回
路等からなる。 【0018】レベル適正値検出手段は、割当手段の割当
結果の累計を行うと共に、当該累計結果に基づき演奏者
の技能レベル適正値を算出する。同手段は、例えばCP
U等からなる。割当反映手段は、レベル適正値検出手段
の算出結果によって、上記正誤判定基準テーブルの中か
選択されるべき正誤判定基準を決定し、割当手段の割
当に反映させる。同手段も、例えばCPU等からなる。 【0019】 【作用】本発明の手段の作用は次の通りである。記憶手
段の記憶内容に基づいて、メロディ音指示手段は、予め
設定されたタイミングで発生すべきメロディ音を指示す
る。一方、メロディ音発生手段は外部操作に基づいてメ
ロディ音を順次発生する。 【0020】この発生されるメロディ音と上記指示され
るメロディ音との音程を音程検出手段が検出し、他方で
は、操作タイミング検出手段が上記外部操作のタイミン
グを検出する。そして、時間差検出手段は、上記指示さ
れるメロディ音に対して予め設定されているタイミング
と、操作タイミング検出手段により検出される外部操作
の操作タイミングとの時間差を検出する。 【0021】これらの処理と平行して、信号処理手段
は、上記外部操作に基づいて発生されるメロディ音の信
号に、それぞれ複数種の異なる処理を行って出力する。
そして、割当手段は、メロディ音発生手段により順次発
生されるメロディ音のそれぞれの信号処理として、音程
検出手段の検出結果時間差検出手段の検出結果及び正
誤判定基準テーブルの中の選択された正誤判定基準に応
じて信号処理手段の複数種の信号処理のいずれか1つを
割り当てる。 【0022】レベル適正値検出手段は、この割当結果の
累計を行うと共に、当該累計結果に基づき演奏者の技能
レベル適正値を算出し、この算出結果によって、割当反
映手段は、正誤判定基準テーブルの中から選択されるべ
正誤判定基準を決定し、割当手段の割当に反映させ
る。 【0023】このようにして、ユーザによる押鍵操作の
正誤を楽音に付加するエフェクトを変化させることによ
り報知し、且つ押鍵操作の正しさ又は誤りの程度により
楽音に付加するエフェクトを変化させて押鍵操作の正し
さ又は誤りの程度を報知し、さらに、ユーザの技能レベ
ルに合った適切な判定基準によって上記押鍵操作の正誤
の程度を決定する。 【0024】 【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。図1は、本発明の実施例に係わる
電子鍵盤楽器の全体構成図である。 【0025】鍵盤101は、演奏のための操作部であ
り、ユーザは押鍵を行うことによってメロディを演奏す
ることができる。また、鍵盤101は、メロディの音高
を表す鍵に対応してLEDを点灯するメロディガイド
(LEDナビゲータ)111を備えており、さらに、特
には図示しないが、リズムスタートキーやその他各種の
スイッチを備えている。ユーザは、それらのスイッチに
よりメロディやコードを選択することができる。そし
て、リズムスタートキーの入力操作により、選択された
コードでコードパターン又はベースパターンの自動伴奏
が開始され、選択されたメロディに基づいて押鍵を指示
するメロディガイドの点灯、点滅等が進行するようにな
っている。 【0026】CPU102は、図2に示す2つのレジス
タ、すなわち1/96音符カウンタ201及び押鍵指定
音バッファ202を内部に有している。CPU102
は、1/96音符カウンタ201の時間経過毎に、自動
伴奏データメモリ110から、音源103に出力するた
めの自動伴奏用の楽音の音源データを順次読み出すと共
に、メロディデータも順次読み出し、そのメロディデー
タの音高データを押鍵指定音バッファ202に格納し、
その音高データに基づいて対応する鍵を押鍵指定するた
めのLED点灯データを作成してメロディガイド111
に出力する。 【0027】さらに、CPU102は、上記と並行し
て、鍵盤の押鍵状態を取り込み、各押鍵動作に基づいて
音源103に対してメロディ音の発音を指示するための
音源データを生成する。このとき特に、発音指示される
楽音が現在押鍵指定されている音高に一致するか否かを
押鍵指定音バッファ202の内容に基づいて判定する。
そして、一致又は不一致の程度によって音源データの一
部であるエフェクト選択用の出力フラグを“000”
(一致)、“001”(不一致±2度)、“010”
(不一致±3度)、または“011”(不一致±4度)
にセットする。また、このように音源データによって各
楽音の発音指示を行うと共に、各楽音に対応するエンベ
ロープデータを生成する。そして、以上のようにして生
成した音源データをエンベロープデータと共に音源10
3に出力する。 【0028】音源103は、上述の音源データに基づい
て波形メモリ104から楽音波形データを読み出し、そ
のデータに上述のエンベロープデータに基づくエンベロ
ープ特性を付加して楽音データを生成し、エンベロープ
付加処理を行うDSP105に出力する。ここで、音源
103は、各楽音データを、それに対応する音源データ
である出力フラグが“000”に設定されている場合に
は#1のDSP105に、“001”が設定されている場
合には#2のDSP105に、“010”が設定されてい
る場合には#3のDSP105に、“011”が設定され
ている場合には#4のDSP105にそれぞれ出力する。
また、伴奏音の楽音データを#5のDSP105に出力す
る。 【0029】これにより、#1〜#5の各DSP105でエ
フェクトが付加された5系統の楽音データは、ミキサ回
路106で混合され、D/A変換器107でアナログ楽
音信号に変換された後、アンプ108を介してスピーカ
109から放音される。 【0030】上述の構成からわかるように、押鍵指定さ
れた音高と等しいメロディ音は#1のDSP105に出力
され、押鍵指定された音高から外れる度合いが大きくな
るにつれて、そのメロディ音は#2のDSP105、#3の
DSP105または#4のDSP105へと出力先が変更
され、それぞれ別々のエフェクトが付加されることが本
実施例の特徴である。 【0031】ここで、図3に、上記CPU102から音
源103へ出力される音源データのフォーマットを示
す。音源データは、発音チャネル、発音フラグ、出力フ
ラグ、波形スタートアドレスと波形エンドアドレスと波
形ループアドレスとからなる波形データ、及び周波数デ
ータで構成される。上記発音チャネルは、音源103に
おいて複数の楽音を並列して処理可能とするための時分
割処理のタイミングを指示する。発音フラグは、楽音の
発音か消音かを指示する。出力フラグは、楽音データを
図1の#1〜#5の内いずれのDSP105に出力するかを
指示する。波形スタートアドレス及び波形エンドアドレ
スは、図1の音源103が波形メモリ104から波形デ
ータを読み出すための先頭アドレスと最終アドレスを指
示する。波形ループアドレスは、音源103が波形メモ
リ104から一定のアドレス範囲の波形データを繰り返
し読み出すための繰り返しアドレスを指示する。これに
より、楽音を長時間発音させることが可能となる。そし
て、周波数データは、音源103が波形メモリ104か
ら波形データを読み出すときの歩進幅を指示する。これ
により発音される楽音の音高が確定する。 【0032】続いて、図4に、上記音源データに基づい
て楽音生成処理を行う図1の音源103の構成を示す。
図4において、ラッチ501〜507は、図1のCPU
102から送られてきた図3のフォーマットの音源デー
タを、同じくCPU102から出力される音源データラ
ッチクロックによってラッチする。また、ラッチ508
は、図1のCPU102から送られてきたエンベロープ
データを、これもCPU102から出力されるエンベロ
ープデータラッチクロックによってラッチする。そし
て、ラッチ502は、ラッチした発音フラグを、波形メ
モリ制御回路509に出力する。 【0033】波形メモリ制御回路509は、発音フラグ
が“1”のとき、即ち、発音指示が行われた場合は、ラ
ッチ501にラッチされた発音チャネルと、ラッチ50
4〜506にラッチされた波形データ(波形のアドレス
情報)を取り込み、何れの発音チャネルを波形メモリの
どのアドレス範囲で鳴らすかを決定し、読み出し制御用
の制御信号OE、CE、及び波形メモリアドレスを生成
して、図1の波形メモリ104に出力する。 【0034】エンベロープ制御回路510は、上記によ
り波形メモリ104から読み出される波形データを取り
込み、ラッチ508にラッチされたエンベロープデータ
と乗算し、その乗算結果を楽音データとして、#1〜#5の
各楽音データ加算器511に出力する。 ところで、上
記音源103は、内部のデータを全て時分割で処理す
る。このため、エンベロープ制御回路510は、楽音デ
ータを、例えば1チャネル〜32チャネルの各発音チャ
ネル毎に、時分割処理によって#1〜#5の各楽音データ加
算器511に出力する。 【0035】一方、出力制御回路512は、#1〜#5の各
加算器ラッチクロックALCK1〜ALCK5を#1〜#5
の各楽音データ加算器511に供給する。この場合、出
力制御回路512は、後述するように、ラッチ501に
ラッチされた発音チャネルとラッチ503にラッチされ
た出力フラグとから、各チャネルの楽音データが#1〜#5
の内いずれの出力ラッチ513から出力されるものであ
るかを判別し、各チャネル毎に出力フラグの情報を生成
し、各発音チャネルのタイミングで、ALCK1〜AL
CK5の内の何れか一つのみを#1〜#5の内の対応する楽
音データ加算器511に出力する。 【0036】従って、#1の楽音データ加算器511は、
出力フラグが“000”である発音チャネルの楽音デー
タのみを加算し、#2の楽音データ加算器511は出力フ
ラグが“001”、#3の楽音データ加算器511は出力
フラグが“010”、#4の楽音データ加算器511は出
力フラグが“011”、そして#5の楽音データ加算器5
11は出力フラグが“100”(伴奏音)である発音チ
ャネルの楽音データのみをそれぞれ加算して出力する。 【0037】#1〜#5の各出力ラッチ513は、上記#1〜
#5の各楽音データ加算器511の出力を出力制御回路5
12からの出力ラッチクロックOLCKによってそれぞ
れラッチし、図1の#1〜#5の各DSP105に出力す
る。 【0038】図5は、上記出力制御回路512の構成図
である。同図において、発音チャネルデコーダ602
は、図4のラッチ501にラッチされた発音チャネルを
デコードし、そのデコード結果を、#1〜#32 の各アンド
回路603に出力する。 【0039】#1〜#32 の各アンド回路603の内、上記
発音チャネルデコーダ602から一方の入力端子に入力
されるデコード結果が“1”となっているいずれか1つ
のアンド回路603は、特には図示しないクロック発生
回路から他方の入力端子に入力される音源クロックCK
2の入力タイミングで出力が“1”(ハイレベル)とな
り、そのハイレベル信号を、#1〜#32 の各ラッチ601
の中の自己に対応するラッチ601へラッチクロックと
して出力する。 【0040】#1〜#32 のラッチ601の中の、図4のラ
ッチ501にラッチされた発音チャネルに相当するラッ
チ601は、上述したラッチクロックに基づいて、図4
のラッチ503にラッチされた出力フラグをラッチす
る。一方、アンド回路603からラッチクロックの入力
しないラッチ601は、以前にラッチしたデータをその
まま保持する。 【0041】これにより、各発音チャネル毎の出力フラ
グの情報が#1〜#32 の各ラッチ601にラッチされ、そ
れぞれ対応する#1〜#32 の各ラッチ606に出力され
る。一方、カウンタ604及びデコーダ605は、特に
は図示しないクロック発生回路からの音源クロックCK
2に基づいて、チャネル信号を生成する。 【0042】デコーダ605は、詳しくは図9で後述す
るように、32種類のチャネル信号について、音源クロ
ックCK2に同期する各タイミング毎に、1チャネル信
号、2チャネル信号、3チャネル信号、・・・、32チ
ャネル信号、1チャネル信号、・・・という順番で
“1”を出力する。すなわち、32種類のチャネル信号
のうち順次1つを“1”にして、#1〜#32 の各ラッチ6
06に順次出力する。 【0043】#1〜#32 の各ラッチ606は、上記デコー
ダ605から入力されるチャネル信号が“1”となるタ
イミング毎に、それぞれ#1〜#32 の各ラッチ601から
入力される各発音チャネル毎の出力フラグの情報をデコ
ーダ607に出力する。 【0044】デコーダ607は、#1〜#32 の各ラッチ6
06から入力される出力フラグの情報をデコードして、
その結果を#1〜#5の各アンド回路608に出力する。こ
れにより、各ラッチ606の各出力を入力とするデコー
ダ607からは、図10で後述するように、#1〜#32 の
各ラッチ601にラッチされた各発音チャネル毎の出力
フラグの“000”、“001”、“010”、“01
1”または“100”のいずれかの状態に応じて、#1〜
#5の各アンド回路608にハイレベル信号が時分割で出
力される。 【0045】そして、#1〜#5の各アンド回路608は、
特には図示しないクロック発生回路から一方の入力端子
に入力される音源クロックCK1がハイレベルとなるタ
イミングで、上記デコーダ607から他方の入力端子に
時分割で入力されるハイレベル信号を出力する。 【0046】上記出力されるハイレベル信号は、ラッチ
クロックALCK1〜ALCK5となって、図4の#1〜
#5の各楽音データ加算器511にそれぞれ供給される。
また、ラッチ609は、デコーダ605から32チャネ
ル信号が出力されるタイミングで、その値“1”を音源
クロックCK1によりラッチしてアンド回路610に出
力する。 【0047】アンド回路610は、上記ラッチ609か
ら入力される“1”を、音源クロックCK2に同期し
て、ラッチクロックOLCKとして出力し、このラッチ
クロックOLCKを、図4の#1〜#5の各出力ラッチ51
3に供給する。 【0048】また、上記32チャネル信号は、図4の#1
〜#5の各楽音データ加算器511に供給される。次に、
図6に、上述した#1〜#5の各楽音データ加算器511の
共通の構成図を示す。 【0049】同図において、アダー511aは、図4の
エンベロープ制御回路510から入力される時分割の楽
音データを次々に加算して、最終的な出力データを生成
するよう構成される。 【0050】すなわち、ラッチ511b及びラッチ51
1cは、アダー511aで計算された結果を、それぞれ
図4の出力制御回路512で生成された#1〜#5の各加算
器ラッチクロックALCK1〜ALCK5によって順次
ラッチする。 【0051】そして、ラッチ511cは、上記ラッチし
たアダー511aの計算結果をラッチ511dに出力
し、ラッチ511dは、ラッチ511cから入力される
アダー511aの計算結果を音源クロックCK2の入力
タイミングでラッチしてアダー511aに出力する。 【0052】これにより、アダー511aの計算結果が
再びアダー511aに戻され、時分割の楽音データが次
々に加算される。つまり、図6の構成が図4の#1の楽音
データ加算器511である場合は、図4の出力制御回路
512から#1加算器ラッチクロックALCK1が出力さ
れる発音チャネル、即ち出力フラグが“000”である
発音チャネルの楽音データのみが加算されることにな
る。同様に、図6の構成が図4の#2の楽音データ加算器
511である場合は、図4の出力制御回路512から#2
加算器ラッチクロックALCK2が出力される発音チャ
ネル、即ち出力フラグが“001”である発音チャネル
の楽音データのみが加算される。以下同様に、#3、#4、
#5の楽音データ加算器511では、出力フラグが“01
0”、“011”、“100”である発音チャネルの楽
音データのみが加算される。 【0053】なお、アダー511aによる加算結果は、
ラッチ511cにおいて、図4の出力制御回路512内
の図5のデコーダ605から32チャネル信号が出力さ
れるタイミングでクリアされる。つまり、1チャネル信
号から32チャネル信号までが出力される各サンプリン
グ区間毎に、各発音チャネルの楽音データの加算結果が
クリアされることになる。 【0054】続いて、以上の構成の実施例の動作につい
て、以下順次説明する。図7及び図8は、図1のCPU
102によって実行される音源データの生成処理の動作
フローチャートである。この処理は、CPU102が特
には図示しないROMなどに記憶された制御プログラム
を実行することにより実現する。なお、CPU102に
よるエンベロープデータの生成処理については、一般的
な電子楽器における処理と変わるところはないため、そ
の説明は省略する。 【0055】図7に示す処理は、電源がオンされると、
CPU102内の図2の1/96音符カウンタ、押鍵指
定音バッファ、その他特には図示しないレジスタの内容
などが初期化された後スタートする。その後、以下に説
明するステップ701〜711の各処理が一定周期で繰
り返し実行されることにより、ユーザによる鍵盤101
の押鍵又は離鍵操作に対応して楽音の発音又は消音を指
示する処理、及び押鍵操作に対応して付加するエフェク
トを指定する処理が実行される。 【0056】すなわち、CPU102は、まず、ステッ
プ701において、図1の鍵盤101の鍵域を走査す
る。続いて、ステップ702で、鍵操作が行われたが否
か、及び鍵操作が行われた場合は押鍵操作であるか離鍵
操作であるかを判別する。 【0057】このステップ702の判別で、キーON
(押鍵操作)されていた場合は、ステップ703に進
む。ステップ703では、いま押鍵操作された鍵に対応
する音高データと、後述するタイマインタラプト処理で
図2に示す押鍵指定バッファ202に格納されているメ
ロディデータの音高データとを比較する。 【0058】そして、ステップ704では、上記比較し
た2つの音高データが示す2音の音程が同一か或いは何
度離れているかを判別する。すなわち2音のずれの程度
を判別する。 【0059】上記2音の音程判別で、2音が一致(音程
が1度)していれば、ステップ705に進み、上記の押
鍵動作に基づいて波形メモリ104から波形データを読
み出してメロディ音の発音を指示するための音源データ
を作成する。 【0060】この処理では、発音されるべき楽音の図3
のフォーマットの音源データを生成する。その音源デー
タにおいて、まず波形データと周波数データを生成し、
つぎに音源103で処理中の発音チャネルのうち空いて
いる発音チャネルを付与し、さらに発音フラグには発音
を示す値“1”に設定する。そして、出力フラグには
“000”をセットした後、後述する710の処理に進
む。 【0061】これにより、上記音程判別で、2音が一致
していれば、上記音源データによる楽音データの出力先
として、図1の#1のDSP105が指定される。また、
上記ステップ704における2音の音程判別で、2音の
音程が上または下に2度ずれている場合は、ステップ7
06に進み、ステップ705の処理と同様に音源データ
を生成し、その音源データの出力フラグを“001”に
した後、710の処理に進む。 【0062】これにより、判別された2音の音程が上ま
たは下に2度ずれている場合は、その音源データの楽音
データの出力先として、図1の#2のDSP105が指定
される。 【0063】次に、上記ステップ704における2音の
音程判別で、2音の音程が上または下に3度ずれている
場合は、ステップ707に進む。ステップ707でも、
ステップ705の処理と同様に音源データを生成し、こ
こでは、その音源データの出力フラグを“010”にし
た後、ステップ710の処理に進む。 【0064】これにより、判別された2音の音程が上ま
たは下に3度ずれている場合は、その音源データの楽音
データの出力先として、図1の#3のDSP105が指定
される。 【0065】さらにまた、上記ステップ704における
2音の音程判別で、2音の音程が上または下に4度以上
ずれている場合は、ステップ708に進み、上述したと
同様に音源データを生成し、その出力フラグを“01
1”にした後、ステップ710の処理に進む。 【0066】これにより、判別された2音の音程が上ま
たは下に4度以上ずれている場合は、その音源データの
楽音データの出力先として、図1の#4のDSP105が
指定される。 【0067】このように、メロディデータの音高データ
と押鍵による音高データとが比較され、その音程によ
り、押鍵操作された鍵が押鍵指定されている鍵と一致し
ているか或いはどの位離れているかが判別され、その判
別結果に基づいて、押鍵操作されたメロディ音にエフェ
クトを付加するDSP105が選択される。 【0068】上記ステップ702の判別で、鍵の操作が
なければ何も行わずただちに処置を終了するが、キーO
FF(離鍵操作)されていた場合は、ステップ709に
進む。 【0069】ステップ709では、離鍵処理を行う。こ
の処理では、離鍵操作に対応して波形メモリ104から
波形データを読み出し、楽音(メロディ音)の消音を指
示するための音源データを生成する。 【0070】これにより、図3に示すフォーマットの音
源データにおいて、消音すべき発音チャネルがセットさ
れると共に、発音フラグが消音を示す値“0”にセット
される。 【0071】次に、ステップ710で、全鍵処理、すな
わち鍵盤101の全部の鍵について鍵操作の判別及びそ
の判別に基づく処理が終了したか否かを判別する。そし
て、まだ全鍵について処理を終了していないときは、前
記ステップ702の判別処理に戻る。 【0072】このように、ステップ703〜709の各
処理が、ユーザによって押鍵された鍵盤の全ての鍵に対
して実行され、ステップ710で、鍵盤の全ての鍵に対
する処理の終了が判別され、続くステップ711で、上
述したステップ703〜709の処理により生成した音
源データが音源103にセットされる。 【0073】これにより、鍵盤の押鍵操作に対応する音
源データが、図1の音源103に供給される。以上の動
作により、CPU102から音源103に出力指示され
る楽音が、現在判別されているメロディデータの音高デ
ータと押鍵による音高データ間の音程により、出力フラ
グが“000”、“001”、“010”又は“01
1”にセットされ、この結果、押鍵操作に基づいて音源
103で生成される楽音のうち、メロディデータの音高
データと一致する楽音に対しては、#1のDSP105に
おいてエフェクト処理が施される。そして、一致しない
楽音に対しては、その音程の開き具合に応じて開きの小
さいほうから、順次#2のDSP105、#3のDSP10
5、#4のDSP105においてエフェクト処理が施され
る。その結果、押鍵操作の正誤の程度によって、そのメ
ロディ音に付加されるエフェクトの効果が異なるように
なる。 【0074】続いて、図8に示すタイマインタラプト処
理について説明する。本実施例では、図1に示すCPU
102は、上述した図7の押鍵時の処理フローチャート
に示すように、ステップ701〜711の一連の処理を
繰り返し行っている。 【0075】そして伴奏音の音源処理、及びメロディガ
イド111の点灯処理は、時間割り込み(タイマインタ
ラプト)処理で行っている。具体的には、CPU102
は、ある一定時間毎に、図7の押鍵時の処理フローチャ
ートのように実行しているプログラムに割り込みを掛け
て以下に説明する処理を実行する。 【0076】すなわち、CPU102は、まず、ステッ
プ801において、図2の1/96音符カウンタ201
をデクリメントする。次にステップ802において、1
/96音符カウンタ201の計時時間が経過したか否か
判別する。 【0077】この処理は、1/96音符カウンタ201
の内容を検出し、その値が「0」となっているか否かを
判別する処理である。この処理で、1/96音符カウン
タ201の値が「0」でない、すなわち、まだ1/96
音符カウンタ201の計時時間が経過していなければ、
ただちに処理を終わる、ということを時間割り込み毎に
繰り返し、上記ステップ802で、1/96音符カウン
タ201の値が「0」となったことを検出してステップ
803に進む。なお、値が「0」となった1/96音符
カウンタ201には、1/96音符分の時間データを再
設定する。 【0078】これにより、1/96音符分の時間が経過
する毎に、以下のステップ803〜807の処理が実行
される。すなわち、ステップ803では、図1の自動伴
奏メモリ110から、伴奏データ及びメロディデータを
読み出す。 【0079】続いて、ステップ804では、上記読み出
した伴奏データに基づいて図3に示すフォーマットの音
源データを生成する。この音源データの生成処理は、図
7の押鍵時の処理におけるステップ705〜708にお
ける処理と同様である。ただし、ここでは、音源データ
の出力フラグを“100”に設定する。 【0080】これにより、伴奏音の音源データの楽音デ
ータの出力先として、図1の#5のDSP105が指定さ
れる。そして、ステップ805で、上記自動伴奏データ
により生成した音源データを図1の音源103にセット
する。 【0081】これにより、伴奏音の楽音データは、音源
データの出力フラグが“100”であることにより音源
103から#5のDSP105に出力され、伴奏音の楽音
には#5のDSP105によるエフェクトが付加される。 【0082】次に、上記ステップ803で自動伴奏デー
タと共に読み出したメロディデータの音高データを図2
の押鍵指定音バッファ202に格納して保存する。これ
により、前述した図7の押鍵時の処理におけるステップ
703において、押鍵操作による音高データとメロディ
データの音高データと比較することができるようにな
る。 【0083】続いて、ステップ807で、上記メロディ
データの音高に対応する図1のメロディガイド111の
LEDを点灯させる。これにより、押鍵すべき鍵が指定
される。 【0084】このように、CPU102が行う時間割り
込み動作により、音源103に供給される自動伴奏音の
音源データが生成されると共に、メロディデータに基づ
くメロディガイド111による押鍵指定がなされ、これ
に従ってユーザが行う押鍵操作に基づいて、前述した図
7の押鍵時の処理が行われる。その押鍵時の処理及び上
述した時間割込処理において生成される音源データに基
づいて楽音データを処理する図1の音源103の動作例
を、図9の動作タイミングチャートによって説明する。 【0085】図9の例では、発音チャネルの1チャネ
ル、2チャネル、・・・では出力フラグが“000”、
3チャネル、・・・、31チャネルでは出力フラグが
“001”、・・・、30チャネルでは出力フラグが
“010”、4チャネル、・・・では出力フラグが“0
11”、及び5チャネル、6チャネル、・・・、32チ
ャネルでは出力フラグが“100”となっている。 【0086】従って、同図に示すように、#1のアンド回
路608(図5参照、以下同様)からは、1チャネル、
2チャネル、・・・の各発音チャネルの時分割タイミン
グで#1加算器ラッチクロックALCK1が出力され、#2
のアンド回路608からは、3チャネル、・・・、31
チャネルの各発音チャネルの時分割タイミングで#2加算
器ラッチクロックALCK2が出力され、#3のアンド回
路608からは、・・・、30チャネルの時分割タイミ
ングで#3加算器ラッチクロックALCK3が出力され、
#4のアンド回路608からは、4チャネル、・・・の時
分割タイミングで#4加算器ラッチクロックALCK4が
出力され、そして、#5のアンド回路608からは、5チ
ャネル、6チャネル、・・・、32チャネルの時分割タ
イミングで#5加算器ラッチクロックALCK5が出力さ
れることになる。 【0087】従って、図9に示すように、#1の楽音デー
タ加算器511(図4及び図6参照、以下同様)から
は、1チャネルの楽音データD1、2チャネルの楽音デ
ータD2、・・・、が累算された楽音データD1+D2
+・・・が出力され、#2の楽音データ加算器511から
は、3チャネルの楽音データD3、・・・、31チャネ
ルの楽音データD31が累算された楽音データD3+・
・・D31が出力され、#3の楽音データ加算器511か
らは、・・・、30チャネルの楽音データD30が累算
された楽音データ・・・D30が出力され、#4の楽音デ
ータ加算器511からは、4チャネルの楽音データD
4、・・・が累算された楽音データD4+・・・が出力
され、そして、#5の楽音データ加算器511からは、5
チャネルの楽音データD5、6チャネルの楽音データD
6、・・・、32チャネルの楽音データD32が累算さ
れた楽音データD5+D6+・・・+D32が出力され
る。 【0088】上記#1〜#5の各加算器511の出力は、3
2チャネル信号(=OLCK)でクリアされる。最後
に、図10は、上述した音源103により累算されて出
力される楽音データに所定のエフェクトを付加する図1
の#1〜#5のDSP105の全体的な動作を示す動作フロ
ーチャートである。DSP105は、ここに示す処理
を、その内部の特には図示しないプログラムメモリに記
憶されたマイクロプログラムに基づいて実行する。 【0089】まず、ステップS901で、図1の音源1
03から楽音データを受け取る。続いて、ステップS9
02で予め設定されているエフェクト処理のサブルーチ
ンを呼び出す。例えば、リバーブ効果付加処理ならばス
テップS904を、コーラス効果付加処理ならばステッ
プS905を、あるいはディレイ効果付加処理ならばス
テップS906をそれぞれサブルーチンコールする。 【0090】各エフェクトサブルーチンの処理の後、ス
テップS903で、エフェクト処理した楽音データを図
1のミキサ回路106に出力する。以上説明した実施例
により、例えば、指示されるメロディ音に応じた正しい
楽音が入力される#1のDSP105に効果の高いエフェ
クトを割り当て、誤りの程度の小さな楽音が入力される
#2のDSP105には次に効果の高いエフェクトを割り
当て、順次エフェクトの効果が小さくなるように変化さ
せ、誤りの程度の大きな楽音が入力される#4のDSP1
05には効果の薄いエフェクトを割り当てておけば(或
いはエフェクトをかけないように割り当てておけば)、
押鍵操作の誤りの程度によってメロディ音にかかったエ
フェクトが変化し、正しいメロディ音ほどエフェクトが
よくかかって面白味が増加し、興味をもってメロディ演
奏の練習を継続することができるようになる。 【0091】なお、伴奏音の楽音が入力される#5のDS
P105には任意の効果を有するエフェクトを割り当て
るようにしてよい。また、ユーザの演奏技術の上達の程
度によっては、単にメロディ音の演奏だけではなく、伴
奏コードも押鍵操作して演奏することも十分考えられ
る。 【0092】そのような場合には、上述したメロディの
押鍵操作に対する正誤判定のみではなく、伴奏コードの
押鍵操作に対する正誤も合わせて判定して、その2つの
判定結果に応じたエフェクトを、押鍵操作されたメロデ
ィ又は伴奏コードの楽音にそれぞれ付加するようにして
もよい。 【0093】その場合も、構成は図1〜図6と同様にす
る。ただし、鍵盤101には、特には図示しない例えば
コード入力専用の鍵域を設け、CPU102内には、図
2のレジスタの他、これも特には図示しないコード表を
記憶するメモリ、そのコード表から読み出したコードの
種類と根音(ルート)を一時的に記憶するレジスタ、及
びキー入力されたコードの種類と根音を一時的に記憶す
るキーコードメモリを設ける。そして、先ず図1のCP
U102が、コード入力専用の鍵域において鍵を走査す
る。次に、コード入力専用の鍵域で押鍵された複数の鍵
に対応する音が、CPU102内のメモリに記憶されて
いるコード表に登録されているいずれかのコードの各構
成音と一致するか否かを判定する。この判定は、コード
表の検索により得られるコードの種類と根音をCPU1
02内のレジスタに記憶し、押鍵されたキーコードをC
PU102内のコードキーメモリにストアしたのち、双
方のコードデータを比較する。そして、正誤の程度を算
出し、その算出された正誤の程度によって、図3のフォ
ーマットの音源データの出力フラグにフラグをセットす
るようにする。また、#5のDSP105を伴奏音専用と
せず、#1〜#5のDSP105を、押鍵操作によるメロデ
ィ音及び伴奏音(コード音)に共通に使用するようにす
る。そして、#1のDSP105を押鍵操作の正しいメロ
ディ音及び伴奏音に、#2〜#5のDSP105を、押鍵操
作の誤ったメロディ音及び伴奏音に誤りの程度に応じて
割り当てるようにするとよい。 【0094】このようにすれば、コード演奏も、メロデ
ィ演奏と同様に興味をもって練習を継続していくことが
できる。ところで、一般に初心の間は、点灯されるLE
Dに追随しながら押鍵操作するのみで、他の演奏技術を
競う余裕はないものであるが、上達するに従い、メロデ
ィに対して正しいタイミングで押鍵操作することにも心
を配ることが大切なことになってくる。 【0095】こような場合に、その押鍵操作が正しいタ
イミングで行われたか否かを判別して、その正誤の程度
によって、発音する楽音に付加するエフェクトを変更す
ることもできる。これを第2の実施例として、以下に説
明する。 【0096】図11に、第2実施例の全体構成を示す。
第2実施例においては、上述した第1実施例に対してC
PU102内部のレジスタの構成が異なるのみで、その
他の構成は第1実施例と同一である。したがって、第2
実施例の各構成部分には、第1実施例の各構成部分の番
号と同一の番号を付与して示す。また、したがって、音
源103の構成も、図4に示したものと、その音源10
3の出力制御回路512の構成も、図5に示したもの
と、そして音源103の楽音加算器511の構成も、図
6に示したものと同一である。 【0097】また、図11のCPU102により作成さ
れる音源データのフォーマットも図3に示したものと同
一である。図11のCPU102は、読み出したメロデ
ィデータの音高データと押鍵操作による音高データが一
致したとき、その押鍵操作のタイミング(以下、単に押
鍵タイミングと称する)が、上記読み出したメロディデ
ータに基づく押鍵指定タイミングに対して、一致したと
き図3に示すフォーマットの音源データの出力フラグを
“000”、また、押鍵タイミングが押鍵指定タイミン
グに対して1/32音符に対応する演奏時間(以下、単
に1/32音符分時間と称する)以内であれば出力フラ
グを“001”、そして、押鍵タイミングが押鍵指定タ
イミングに対して1/32音符分時間を超過していれば
出力フラグを“010”に設定する。一方、読み出した
メロディデータの音高データと押鍵操作による音高デー
タが不一致のときは、その押鍵タイミングがどのようで
あっても、全て出力フラグを“011”に設定する。ま
た、自動伴奏音については、出力フラグを“100”に
設定する。 【0098】この設定された出力フラグにしたがって、
音源103は、メロディデータの音高に対応して正しく
押鍵操作されたメロディ音の楽音データを、その押鍵タ
イミングも正しい場合は#1のDSP105に出力し、押
鍵タイミングの遅速が1/32音符分時間以内であれば
#2のDSP105に出力し、押鍵タイミングの遅速が1
/32音符分時間を超過していれば#3のDSP105に
出力する。一方、メロディデータの音高に対応する正し
い鍵が押鍵操作されなかった場合は、その楽音データ
を、すべて#4のDSP105に出力する。そして、自動
伴奏音の楽音データを#5のDSP105に出力する。 【0099】この結果、メロディデータの音高に対応し
て正しい鍵が押鍵され、その押鍵タイミングも正しいメ
ロディ音には、#1のDSP105によりエフェクトが付
加され、押鍵タイミングが1/32音符分時間以内で早
過ぎた又は遅れたメロディ音には、#2のDSP105に
よりエフェクトが付加され、そして、押鍵タイミングが
1/32音符分時間を超過して早過ぎた又は遅れたメロ
ディ音には、#3のDSP105によりエフェクトが付加
される。一方、メロディデータの音高に対応する正しい
鍵が押鍵されなかったメロディ音には、すべて#4のDS
P105によりエフェクトが付加される。そして、自動
伴奏音の楽音データには#5のDSP105によりエフェ
クトが付加される。 【0100】次に、図12に、CPU102内部のレジ
スタ群(カウンタを含む)を示す。同図に示すように、
CPU102は、その内部に第1実施例の1/96音符
カウンタ201と同一機能を有する1/96音符カウン
タ121、後述する自動伴奏メロディデータの音長デー
タを記憶する音長カウンタ122、その音長カウンタ1
22に記憶される音長データの1/2の値を記憶する1
/2音長レジスタ128、押鍵タイミングまでの時間を
カウントダウンするカウンタ123、押鍵指定がなされ
てから所定時間を計時する押鍵指定タイミングカウンタ
124、次のメロディデータの音高データを記憶する次
回音階No.(番号)レジスタ125、現在のメロディ
データの音高データを記憶する現在音階No.レジスタ
126、及び押鍵指定するための音高データを記憶する
押鍵指定音階No.レジスタ127を有している。 【0101】さらに、図13(b),(c) に、自動伴奏メモ
リ110に記憶される自動伴奏データのメロディ部分及
び伴奏部分のデータ構成(フォーマット)の一例を、例
えば同図(a) に示す楽譜に対応して示す。 【0102】同図(b) に示すように自動伴奏のメロディ
データは、同図(a) に示す楽譜に対応する音高データ
「C4」、「D4」、「E4」、「F4」、「四分休止
符」、・・・とそれらの音高の音長データ「24」、
「12」、「12」、「24」、「24」、・・・とか
らなり、図1の自動伴奏データメモリ110に、アドレ
ス「0000」、「0001」、「0002」・・・の
順に格納されている。なお、上記の音長データは1/9
6音符の数を示している。例えば同図(b) のアドレス
「0000」のメロディデータにおいて、音高データ
「C4」は、同図(a) の楽譜の先頭の4分音符で表さ
れ、4分音符は1/96音符24個分の音長であるの
で、アドレス「0000」のメロディデータの音高「C
4」の音長データは「24」となっている。 【0103】CPU102は、このようなメロディデー
タを音高データ、音長データ、次の音高データ、そして
その音長データと順次読み出して、その読み出したデー
タを図12に示す所定のレジスタやカウンタに設定し、
その設定したデータに基づいてメロディガイドを点灯又
は点滅させ、また、押鍵タイミングを計測するための計
時を開始し、その計時に基づいて後述する押鍵タイミン
グの正誤の判定を行う。 【0104】また、上記のメロディデータに対応する自
動伴奏の伴奏データは、イントロ部データ、フィルイン
部データ部、エンディング部データ等からなり、同図
(c) に示すように、アドレス「0100」、「010
1」、「0102」、・・・の順に格納され、そのイン
トロ部データの先頭には、イントロ長データ「192」
が格納されている。 【0105】次に、上述した構成の第2実施例における
処理動作について、図14乃至図16のフローチャート
を用いて説明する。図11に示すCPU102は、電源
がオンされると、まず図14のフローチャートに示すリ
ズムスタート時の処理を実行する。 【0106】同図に示すリズムスタート時の処理では、
ステップ1401で、図11の鍵盤101に設けられた
リズムスタートキーが押された(入力操作された)か否
か判別する。 【0107】そして、リズムスタートキーが押されてい
れば、ステップ1402で、自動伴奏データメモリ11
0からメロディデータの音高データを読み出す。これに
より、例えば図13(b) に示すメロディデータの先頭ア
ドレス「0000」から、音高データ「C4」が読み出
される。 【0108】続いてステップ1403で、その読み出し
たメロディデータの音高データを次回音階No.レジス
タ125にセットする。これにより、図17に示す自動
伴奏のイントロ演奏の終了タイミングt0で押鍵を指示
するための、メロディデータの先頭音高データ、例えば
「C4」が設定される。 【0109】次に、ステップ1404で、次回音階N
o.レジスタ125にセットされた音高データに対応す
るメロディガイド111のLEDを点滅する。これによ
り、図17の自動伴奏のイントロ演奏の終了タイミング
t0で押鍵すべき最初の鍵、例えば「C4」の鍵に対応
するLEDが点滅する。 【0110】続いて、ステップ1405では、自動伴奏
の伴奏データを読み出し、イントロ長データを音長カウ
ンタ122及び押鍵指定タイミングレジスタ124にセ
ットする。これにより、図17に示す時刻t0までイン
トロの伴奏を行うための演奏時間データ、すなわち伴奏
データのイントロ長データ、例えば図13(c) の「19
2」が設定される。 【0111】上記に続いて、ステップ1406では、1
/2音長レジスタ128に「FFFF」をセットする。
この処理は、後述するタイマインタラプト処理におい
て、イントロ演奏中に、イントロ時間が1/2経過した
時点で押鍵タイミングカウンタ123がリセットされて
しまうことのないようにするための処理である。 【0112】次に、ステップ1407で、次回音階N
o.レジスタ125の内容を押鍵指定音階No.レジス
タ127にセットする。この処理は、後述する押鍵時の
処理において、最初に押鍵された演奏メロディの音高デ
ータが正しいか否か比較判定するための処理である。 【0113】そして、ステップ1408では、押鍵タイ
ミングカウンタ123をリセットして処理を終了する。
これにより、イントロ終了時において最初に押鍵する押
鍵時刻までの経過時間の計時が押鍵タイミングカウンタ
123により開始され、後述する押鍵時の処理におい
て、正しい押鍵タイミング時刻と比較判定がなされる。
なお、特には図示しないが、上記ステップ1408で
は、図12に示す1/96音符カウンタ121に1/9
6音符分の時間データを設定する処理も行っている。 【0114】また、上記ステップ1401でリズムスタ
ートキーが押されていない場合は直ちに処理を終了す
る。この実施例では、上述のリズムスタート時の処理が
終了すると、次には第1実施例の場合と同様に、後述す
る図16の押鍵時の処理フローチャートに示すステップ
1601〜1612の一連の処理を、ある一定時間毎に
繰り返し行う。そして、その押鍵時の処理フローチャー
トのように実行しているプログラムに割り込みを掛ける
タイマインタラプト処理により、リズム演奏中における
伴奏音の音源処理、及びメロディガイド111の点灯処
理、タイミング時間の計時等の処理を行っている。 【0115】次に、そのタイマインタラプト処理につい
て図15のフローチャートを用いて説明する。CPU1
02は、まず、ステップ1501において、1/96音
符カウンタ121をデクリメントする。 【0116】次にステップ1502において、1/96
音符カウンタ121の計時時間が経過したか否か判別す
る。この処理も第1実施例の場合と同様に、1/96音
符カウンタ121のカウント値が「0」となっているか
を検出する処理である。 【0117】1/96音符カウンタ121のカウント値
が「0」でない、すなわち、まだ1/96音符カウンタ
121の計時時間が経過していなければ、ただちに処理
を終了する、ということを時間割込み毎に繰り返す。そ
して、上記ステップ1502で、1/96音符カウンタ
121のカウント値が「0」となったことを検出してス
テップ1503に進む。なお、カウント値が「0」とな
った1/96音符カウンタ121には、1/96音符分
の時間データを再設定する。 【0118】これにより、1/96音符分の時間が経過
する毎に、続くステップ1503〜1506の処理が実
行され、さらにステップ1507の判別がなされる。す
なわち、ステップ1503では、図1の自動伴奏メモリ
110から、自動伴奏データを読み出し、続いてステッ
プ1504で、その読み出した伴奏データに基づいて図
3に示すフォーマットの音源データを生成し、その音源
データの出力フラグを“100”にセットする。そし
て、ステップ1505で、上記自動伴奏データにより生
成した音源データを図1の音源103にセットする。 【0119】したがって、音源データの出力フラグが
“100”であることにより、伴奏音の楽音データは、
音源103から#5のDSP105に出力される。これに
より、伴奏音の楽音には#5のDSP105によるエフェ
クトが付加される。 【0120】次に、ステップ1506で、音長カウンタ
122をデクリメントし、続いてステップ1507で、
その音長カウンタ122の値と1/2音長レジスタ12
8の値とを比較し、一致しているか否か判別する。 【0121】ここで、イントロ演奏中は、1/2音長レ
ジスタ128には「FFFF」がセットされている。し
たがって、その場合は判別は必ず否であり、ステップ1
511へ進んで、押鍵タイミングカウンタ123をイン
クリメントし、押鍵タイミングカウンタ123による押
鍵タイミングの計時を進行させる。 【0122】次にステップ1512で、音長カウンタ1
22のカウント値を参照し、カウント時間が経過した、
すなわちそのカウント値が「0」となったか否か判別
し、まだ「0」となっていなければ直ちに処理を終わ
る。 【0123】これにより、イントロ演奏中は、1/96
音符カウンタのカウント時間が経過したタイマインタラ
プト処理(以後、1/96音符分経過インタラプト処理
と称する)毎に、上記ステップ1501〜1507、1
511、及び1512までの処理が繰り返される。そし
て、音長カウンタ122に設定されたカウント値である
イントロ長データ、例えば「129」がデクリメントさ
れて「0」となるまで、1/96音符分経過インタラプ
ト処理が繰り返され、ステップ1503〜1505の処
理により、図17に示す時刻t0まで、イントロ演奏が
行われる。 【0124】そして、イントロ演奏が終了するタイミン
グで、上記ステップ1512において、音長カウンタ1
22のカウント値が「0」となったことを判別したとき
は、ステップ1513に進んで、次回音階No.レジス
タ125の値(音高データ)を現在音高No.レジスタ
126に転送する。 【0125】これにより、イントロ演奏が終了する最初
のステップ1513の処理では、前述した図14のリズ
ムスタート時の処理において次回音階No.レジスタ1
25に初期設定されたメロディデータの先頭データ、例
えば「C4」が現在音階No.レジスタ126に記憶さ
れる。すなわち図17の時刻t0において、それまで次
回押鍵音を示していた「C4」が、現在押鍵音を示す音
高となる。 【0126】続いて、ステップ1514で、自動伴奏デ
ータメモリ110から自動伴奏のメロディデータの次回
音長データと次回音高の次の音高データを読み出す。こ
れにより、すでに読み出されている次回音高データ、例
えばメロディデータの先頭データ「C4」に対応する音
長データ「24」と、その次回音高データ「C4」の次
の音高データ「D4」が読み出される(図13(b) 及び
図17参照)。 【0127】そして、ステップ1515で、その読み出
した自動伴奏のメロディデータの音高データを次回音階
No.レジスタ125にセットする。これにより、次回
のステップ1513の処理からは、今回ステップ151
4で自動伴奏データメモリ110から読み出され、ステ
ップ1515で次回音階No.レジスタ125に記憶さ
れたメロディデータの音高データが、現在音階No.レ
ジスタ126に記憶される。 【0128】次に、ステップ1516で、上記読み出し
た自動伴奏のメロディデータの音長データを音長カウン
タ122にセットし、その音長データの1/2の値を1
/2音長レジスタ128にセットする。 【0129】これにより、上記音長カウンタ122にセ
ットされた音長データが、以降の1/96音符分経過イ
ンタラプト処理毎にステップ506でデクリメントされ
ることにより音長データの示す時間が計時される。そし
て、ステップ1507で音長データの示す時間の1/2
の経過が検出され、ステップ1512では音長データの
示す全時間の経過が検出される。 【0130】続いてステップ1517で、次回音階N
o.レジスタ125に記憶された音高データに対応する
メロディガイド111のLEDを点滅すると共に、現在
音階No.レジスタ126に記憶された音高データに対
応するメロディガイド111のLEDを点滅して処理を
終了する。 【0131】これにより、ユーザに対して、現在押鍵す
べき鍵と次回押鍵すべき鍵が、それぞれメロディガイド
111により指示される。このように、タイマインタラ
プト処理においては、上記のステップ1512〜151
7において、音長データの示す全時間(現在押鍵指定さ
れているメロディ音の長さ)が経過したところで、次の
メロディデータが読み出され、現在及び次回のメロディ
音の押鍵指定が切り替わり、その新たに指定された現在
のメロディ音の音長データが示す時間の前半分の期間の
計測が開始される。 【0132】そして、上記ステップ1507で、音長デ
ータの示す時間の1/2の経過を検出したならば、すな
わち、ステップ1506においてデクリメントされてい
る音長カウンタ122のカウント値と1/2音長レジス
タの値とが一致したことを検出したときはステップ15
08に進む。 【0133】これにより、音長カウンタ122にセット
された音長データの示す時間が1/2経過する例えば図
17の時刻t1、t2、・・・毎に、ステップ1508
〜1510の処理が実行される。 【0134】すなわち、ステップ1508では、音長カ
ウンタ122の値を押鍵指定タイミングレジスタ123
にセットする。これにより、後述する押鍵時の処理にお
いて、押鍵タイミングの正しさ又は誤りの程度を判別す
るための判定基準が設定される。 【0135】次に、ステップ1509では、次回音階N
o.レジスタ125の値を押鍵指定音階No.レジスタ
127にセットする。これにより、後述する押鍵時の処
理において、メロディに対応する音高を示す鍵が押鍵さ
れたか否か判別するための判定基準が設定される。 【0136】そして、ステップ1510で、押鍵タイミ
ングカウンタをリセットする。これにより、後述する押
鍵時の処理において、押鍵タイミングを検出するための
時間の計測が開始される。 【0137】このように、タイマインタラプト処理にお
いては、上記のステップ1507〜1510において、
音長データの1/2が示す時間(現在押鍵指定されてい
るメロディ音の長さの半分)が経過したところで次回押
鍵すべき音高データが設定され、その残り半分の時間を
利用して押鍵タイミングの計測が開始される。 【0138】また、押鍵タイミングカウンタ123は今
のメロディ音の後半から次のメロディ音の前半までカウ
ントを継続して(図17の押鍵タイミングカウンタ参
照)次に押鍵される押鍵タイミングを検出しているの
で、正しい押鍵タイミングに対して実際の押鍵タイミン
グが遅い場合、早過ぎる場合のいずれについても、その
押鍵時間のずれを検出することができる。また、鍵指定
音階No.レジスタ127も、押鍵タイミングカウンタ
123と同様に、今のメロディ音の後半から次のメロデ
ィ音の前半まで次回押鍵すべきメロディ音の音高データ
を保持している(同じく図17の押鍵指定音階No.レ
ジスタ参照)ので、これに基づいて上記実際の押鍵操作
が遅い場合、早過ぎる場合のいずれについても、その押
鍵された鍵の示す音高が正しいか否か判別することがで
きる。 【0139】次に、上記押鍵される音高及びタイミング
を判定して、その正誤に応じたエフェクトを付加するた
めの音源データを作成する図11のCPU102によっ
て実行される処理の動作を、図16に示すフローチャー
トを用いて説明する。 【0140】この処理も、CPU102が特には図示し
ないROMなどに記憶された制御プログラムを実行する
ことにより実現する。また、CPU102によるエンベ
ロープデータの生成処理についても、一般的な電子楽器
における処理と変わるところはないため、その説明は省
略する。 【0141】同図のフローチャートにおいて、CPU1
02は、まず、ステップ1601で、図11の鍵盤10
1の鍵域を走査する。続いて、ステップ1602で、鍵
操作が行われたが否か、及び鍵操作が行われた場合は押
鍵操作であるか離鍵操作であるかを判別する。 【0142】このステップ1602の判別で、押鍵操作
されていた(KEYON)の場合は、ステップ1603
に進む。ステップ1603では、現在押鍵操作された鍵
に対応する音高データと、前述したタイマインタラプト
処理で図12に示す押鍵指定音階No.レジスタ127
に格納されているメロディデータの音高データとを比較
する。 【0143】さらに、ステップ1604では、現在の押
鍵タイミングカウンタ123のカウント値と、押鍵指定
タイミングレジスタ124に格納されている値とを比較
する。 【0144】そして、ステップ1605では、上記の比
較結果に基づいて押鍵された鍵の正誤を判定し、さらに
その押鍵タイミングの正しさ及び誤りの程度を判定す
る。上記判別で、押鍵された鍵の音高データが押鍵指定
音階No.レジスタ127の音高データと一致し、且つ
押鍵タイミングカウンタ123のカウント値が押鍵指定
タイミングレジスタ124の値(音長データの1/2が
示す時間値)と一致している場合は、ステップ1606
上記の押鍵操作に基づいて波形メモリ104から波形デ
ータを読み出してメロディ音の発音を指示するための音
源データを作成する。 【0145】この処理は、第1実施例の図7のステップ
705〜708における音源データ作成の場合と同様で
ある。また、本実施例において以後のステップ1607
〜1609においても同様である。 【0146】そして、ステップ1606では出力フラグ
には“000”をセットした後、後述するステップ16
11の処理に進む。これにより、押鍵された鍵(音高デ
ータ)が正しく、且つ押鍵タイミングも正しいときは、
その音源データによる楽音データの出力先として、図1
1の#1のDSP105が指定され、その楽音データには
#1のDSP105によるエフェクトが付加される。 【0147】また、上記ステップ1605における判別
で、押鍵された鍵の音高データが押鍵指定音階No.レ
ジスタ127の音高データと一致し、且つ押鍵タイミン
グカウンタ123のカウント値と押鍵指定タイミングレ
ジスタ124の値とのずれが1/32音符分の時間以内
であれば、ステップ1607に進み、音源データを作成
し、その音源データの出力フラグを“001”にした
後、1611の処理に進む。 【0148】これにより、押鍵された鍵が正しく、且つ
押鍵タイミングのずれが1/32音符分の時間以内の
(すなわち大きくずれてはいない)ときは、その音源デ
ータによる楽音データの出力先として、図11の#2のD
SP105が指定され、その楽音データには#2のDSP
105によるエフェクトが付加される。 【0149】次に、上記ステップ1605における判別
で、押鍵された鍵の音高データが押鍵指定音階No.レ
ジスタ127の音高データと一致し、且つ押鍵タイミン
グカウンタ123のカウント値と押鍵指定タイミングレ
ジスタ124の値とのずれが1/32音符分の時間を越
えていれば、ステップ1608に進み、音源データを作
成し、その音源データの出力フラグを“010”にした
後、ステップ1611の処理に進む。 【0150】これにより、押鍵された鍵が正しく、且つ
押鍵タイミングのずれが1/32音符分の時間を越えて
いる(すなわち大きくずれている)ときは、その音源デ
ータによる楽音データの出力先として、図11の#3のD
SP105が指定され、その楽音データには#3のDSP
105によるエフェクトが付加される。 【0151】さらにまた、上記ステップ1605におけ
る判別で、押鍵された鍵の音高データが押鍵指定音階N
o.レジスタ127の音高データと一致していない場合
は、ステップ1609に進み、音源データを生成し、そ
の出力フラグを“011”にした後、ステップ1611
の処理に進む。 【0152】これにより、押鍵された鍵が正しくない場
合は、押鍵タイミングの如何にかかわらず音源データの
楽音データの出力先として、図11の#4のDSP105
が指定され、#4のDSP105によるエフェクトが付加
される。 【0153】上記ステップ1602の判別で、鍵の操作
がなければ何も行わずただちに処置を終了するが、離鍵
操作(KEYOFF)されていた場合は、ステップ16
10に進む。 【0154】ステップ1610〜1612の処理は、第
1実施例における709〜711の処理と同様の処理で
ある。このように、ステップ1602〜1611の各処
理が、ユーザによって押鍵された鍵盤の全ての鍵に対し
て実行され、上述したステップ1606〜1609の処
理により生成した音源データが音源103にセットされ
る。 【0155】これにより、鍵盤の押鍵操作に対応する音
源データが、図1の音源103に供給される。以上の動
作により、CPU102から音源103に出力指示され
る楽音が、現在判別されているメロディデータの音高デ
ータに対する押鍵による音高データの正誤及びその押鍵
タイミングの正しさ又は不一致の程度により、出力フラ
グが“000”、“001”、“010”又は“01
1”にセットされる。そして、その結果、押鍵操作に基
づいて音源103で生成される楽音のうち、メロディデ
ータの音高データと一致する楽音に対しては、その押鍵
タイミングも正しいときは#1のDSP105においてエ
フェクト処理が施され、押鍵タイミングのずれが小さい
ときは、#2のDSP105で、押鍵タイミングのずれが
大きいときは、#3のDSP105でエフェクト処理が施
される。また、メロディデータの音高データと一致しな
い楽音に対しては、#4のDSP105においてエフェク
ト処理が施される。その結果、押鍵操作の鍵の正誤及び
タイミングによって、そのメロディ音に付加されるエフ
ェクトの効果が異なるようになる。このようにすれば、
初心から上達するに従い、正しい鍵に対する押鍵練習の
みでなく、正しいタイミングで押鍵する練習も楽しく行
うことができる。 【0156】ところで、ユーザの技量は千差万別である
から、第1実施例における正しい鍵に対する押鍵の正誤
の程度を判定する場合では、初心者は、初心者なりに、
また第2実施例の押鍵タイミングの正誤の程度を判定す
る場合でも、上達者は、上達者なりに、ユーザによって
技能レベルは相当の違いがあると考えられる。したがっ
て、いずれの場合も、ある程度上達した者のレベルに合
わせた操作判定基準で、まだそれほど上達していない者
の正誤の程度を判定しようとすると、誤り判定ばかりが
出てしまい練習意欲を喪失する恐れがある。また、ある
程度上達した者は、誤り判定が少なくなったまま、それ
以上レベルが向上せず、練習に飽きてしまう恐れがあ
る。 【0157】したがって、常に現在のユーザーの技量に
合ったレベルで正誤判定を行うようにすると、なお一層
ユーザが興味をもって演奏の練習ができるようになり、
上達も速くなると考えられる。 【0158】図18は、このような、機能をさらに備え
た第3実施例の全体構成を示す図である。この第3実施
例においては、CPU102内部のレジスタの構成が上
述した第2実施例の構成に対して、後述するように、さ
らに数レジスタが増強される。また、これも後述する正
誤判定基準テーブルを内部のRAMに記憶する。 【0159】ただし、その他の構成は第2実施例と同一
である。したがって、第3実施例の各構成部分には、第
2実施例の各構成部分の番号と同一の番号を付与して示
す。また、したがって、音源103の構成も、図4に示
したものと同一であり、その音源103の出力制御回路
512の構成も、図5に示したものと同一である。そし
て音源103の楽音加算器511の構成も、図6に示し
たものと同一であり、また、図18のCPU102によ
り作成される音源データのフォーマットも図3に示した
ものと同一である。 【0160】また、自動伴奏メモリ110に記憶される
自動伴奏データのメロディ部分及び伴奏部分のデータ構
成(フォーマット)は、第2実施例において、例として
図13(a) に示す楽譜に対応して同図(b),(c) に示した
ものと同様である。 【0161】図18に示すCPU102は、この場合
も、鍵盤の押鍵状態を取り込み、各押鍵動作に基づいて
音源103に対してメロディ音の発音を指示するための
音源データを生成する。このとき、発音指示される楽音
が現在押鍵指定されている音高に一致するか否か正誤の
程度を判定する。そして、この場合、第1実施例と異な
るところは、押鍵された音高の一致又は不一致の程度に
よってセットしたフラグを、直ちに音源データのエフェ
クト選択用のために用いるのではなく、正誤判定基準テ
ーブルに対応するデータとして用いる。 【0162】また、これと平行して、CPU102は、
読み出したメロディデータの音高データと押鍵操作によ
る音高データが一致したとき、その押鍵タイミングが、
上記押鍵指定されている楽音データに基づく押鍵指定タ
イミングに対して、一致するか否か正誤の程度を判定す
る。そして、第2実施例と異なるところは、押鍵タイミ
ングの一致又は不一致の程度によってセットしたフラグ
を、この場合も、直ちに音源データのエフェクト選択用
のために用いるのではなく、正誤判定基準テーブルに対
応するデータとして用いる。 【0163】すなわち、音高の一致又は不一致の程度及
び押鍵タイミングの一致又は不一致の程度の両程度が、
後述する算出された技能レベルの程度によって判別さ
れ、この結果として得られる4段階の正誤判定1〜正誤
判定4によって、始めて出力フラグが“001”〜“1
00”に設定される。 【0164】そして、この設定された出力フラグにした
がって、音源103は、メロディ音の楽音データを、正
誤判定1のときは#1のDSP105へ出力し、正誤判定
2であれば#2のDSP105へ出力し、正誤判定3であ
れば#3のDSP105へ出力し、そして、正誤判定4で
あれば#4のDSP105へ出力する。そして、自動伴奏
音の楽音データを#5のDSP105へ出力する。 【0165】こ結果、算定された技能レベルに応じて、
メロディデータの音高に対応して正しい鍵が押鍵された
か否かその正誤の程度と、そのメロディ音に対応して正
しいタイミングで押鍵されたか否かその正誤の程度と
が、両方同時に判定されて、#1のDSP105〜#4のD
SP105によりエフェクトが付加される。したがっ
て、ユーザが、同じように、押鍵操作を誤った場合で
も、現在の上達の程度(技能レベル)によって正誤の判
定が異なり、楽音に付加されるエフェクトも異なってく
る。 【0166】図19は、このような現在の上達の程度に
よって正誤の判定を行うために内蔵のRAMに記憶され
ている正誤判定基準テーブルである。同図に示す正誤判
定基準テーブルは、その左端に示すように、上達の程度
によって、技能のレベルが低い基準のレベル1から、高
い基準のレベル7まで順次設定されている。これらのレ
ベル1〜レベル7に、それぞれ対応して、正誤判定基準
テーブルの上端に示すように、正誤判定基準が、高い判
定基準である正誤判定1から、低い判定基準である正誤
判定4まで順次設定されている。 【0167】同図に示す正誤判定基準テーブルは、例え
ば低い基準のレベル1及びレベル2では、音高の一致の
程度(音程)のみを判定要素とし、押鍵タイミングまで
は判定要素に取り込まないようにしている。すなわち、
押鍵タイミングについてはNOP(ノン・オペレーショ
ン)処理である。そして、レベル1では、2音が同一
(音程が一致)でさえあれば、押鍵タイミングはどうで
あれ、高い判定基準である正誤判定1とする。もし音程
が2乃至4度の違いであるときは、次の判定基準である
正誤判定2とする。さらに音程が5乃至7度の違いであ
るときは、やや低い判定基準である正誤判定3とする。
そして、音程が8度以上も違っているときは、一番低い
判定基準である正誤判定4とする。 【0168】一方、ユーザが上達して、一番高いレベル
7であると算定された場合は、音程が一致していること
は勿論、押鍵タイミングの狂いも1/64拍である場合
に高い判定基準である正誤判定1とし、音程が一致して
押鍵タイミングの狂いが1/48拍である場合は次の判
定基準である正誤判定2とし、音程が一致していても押
鍵タイミングの狂いが1/32拍もずれている場合は、
やや低い判定基準である正誤判定2とし、そして、音程
が不一致であれば、その不一致の程度にかかわらず、ま
た押鍵タイミングはどうであっても、すべて最も低い判
定基準である正誤判定4とするようにしている。 【0169】このように、上達のレベルに応じて、レベ
ルが低い期間は、指定された音高の一致度のみを重視す
るようにし、レベルが上がるにしたがって、音高の一致
度を第1の判定条件とし、第2に押鍵タイミングを判定
条件にして、そのタイミングの一致度により正誤判定基
準を変更していくようになっている。 【0170】次に、図20に、上記CPU102内部の
レジスタ群(カウンタを含む)を示す。同図に示すよう
に、CPU102は、第2実施例と同様に、1/96音
符カウンタ121、音長カウンタ122、1/2音長レ
ジスタ128、押鍵タイミングカウンタ123、押鍵指
定タイミングカウンタ124、次回音階No.レジスタ
125、現在音階No.レジスタ126、及び押鍵指定
音階No.レジスタ127を有している。これらのレジ
スタ群の機能は第2実施例と同様である。そして、CP
U102は、これらのレジスタ群に加えて、さらに新た
に、現在レベルレジスタ301、正誤判定1累計レジス
タ302、正誤判定2累計レジスタ303、正誤判定3
累計レジスタ304、正誤判定4累計レジスタ305、
及び総判定数レジスタ306を備えている。 【0171】現在レベルレジスタ301は、図19に示
した全くの初心者の技量レベルであるレベル1から、高
度な技量が必要とされる上達した技量レベルであるレベ
ル7まで、ユーザーの技量に応じた正誤判定のレベルを
保存しておくレジスタである。 正誤判定1累計レジス
タ302から、正誤判定4累計レジスタ305までは、
操作された押鍵に対する正誤判定を行う度に、その判定
結果毎にその判定回数をそれぞれ累計していくレジスタ
である。総判定数レジスタ306は、正誤判定が行われ
た全回数、すなわち上記正誤判定1累計レジスタ302
から正誤判定4累計レジスタ305まで4つのレジスタ
に、それぞれ累計・保存されている判定回数の合計数を
保存する。 【0172】次に、上述した構成の第3実施例における
処理動作について説明する。なお、CPU102が、電
源オンにより実行するリズムスタート時の処理は、第2
実施例において図14のフローチャートに示した処理と
同一である。また、後述する図21の押鍵時の処理フロ
ーチャートに示すステップS701〜S723の一連の
処理を、ある一定時間毎に繰り返し実行しているプログ
ラムに割り込みを掛けるタイマインタラプト処理も、第
2実施例において図15のフローチャートに示した処理
と同一である。 【0173】以下、上記リズムスタート時の処理及びタ
イマインタラプト処理において、押鍵される音高及びタ
イミングを判定して、その正誤に応じたエフェクトを付
加するための音源データを作成する押鍵時の処理につい
て、図21に示すフローチャートを用いて説明する。 【0174】この処理も、CPU102が特には図示し
ないROMなどに記憶された制御プログラムを実行する
ことにより実現する。また、CPU102によるエンベ
ロープデータの生成処理についても、一般的な電子楽器
における処理と変わるところはないため、その説明は省
略する。 【0175】同図のフローチャートにおいて、CPU1
02は、まず、ステップ201で、図18の鍵盤101
の鍵域を走査する。続いて、ステップ202で、鍵操作
が行われたが否か、及び鍵操作が行われた場合は押鍵操
作であるか離鍵操作であるかを判別する。 【0176】このステップ202の判別で、押鍵操作さ
れていた(キーON)の場合は、ステップ203に進
む。ステップ203では、現在押鍵操作された鍵に対応
する音高データと、前述したタイマインタラプト処理で
図20に示す押鍵指定音階No.レジスタ127に格納
されているメロディデータの音高データとを比較する。 【0177】さらに、ステップ204では、現在の押鍵
タイミングカウンタ123のカウント値と、押鍵指定タ
イミングレジスタ124に格納されている値とを比較す
る。そして、ステップ205では、図19に示すRAM
の正誤判定基準テーブルから、現在レベルレジスタ30
1のレベル値の示すレベルの正誤判定基準、すなわち正
誤判定1〜4のいずれか1つを選択する。 【0178】続いて、ステップ206で、上記選択した
正誤判定基準が、4通りある基準の正誤判定1〜4の内
のいずれであるか判別し、上記比較の結果得られた2音
の音程及び押鍵タイミングが、正誤判定1の条件を満た
していればステップ207に、正誤判定2の条件を満た
していればステップ209に、正誤判定3の条件を満た
していればステップ211に、又は正誤判定4の条件を
満たしていればステップ213の処理に進む。 【0179】ステップ207では、上記の押鍵操作に基
づいて波形メモリ104から波形データを読み出してメ
ロディ音の発音を指示するための音源データを作成し、
その出力フラグに“000”をセットする。 【0180】この音源データの作成処理は、第1実施例
の図7のステップ705〜708における音源データ作
成の場合と同様である。また、本実施例において以後の
ステップ209、211及び213においても同様であ
る。 【0181】上記ステップ207の処理により、例えば
レベル1のユーザでは、押鍵された鍵(音高データ)が
正しければ、押鍵タイミングの誤りの程度にはかかわり
なく、その音源データによる楽音データの出力先とし
て、図18の#1のDSP105が指定され、その楽音デ
ータには#1のDSP105によるエフェクトが付加され
る。また、レベル7のユーザでは、押鍵された鍵(音高
データ)が正しく、且つ押鍵タイミングのずれの程度が
1/64音符分の時間以内であるとき、その音源データ
による楽音データの出力先として、図18の#1のDSP
105が指定され、その楽音データには#1のDSP10
5によるエフェクトが付加される。 【0182】上記処理の後、ステップ208で、正誤判
定1レジスタを「1」インクリメントして、ステップ2
15に進む。これにより、レベルの程度にかかわりな
く、現在レベルの判定基準における高い程度を示す正誤
判定1の判定回数が計数される。 【0183】上記ステップ206の判別により、ステッ
プ209に進んだ場合は、同様に音源データを作成した
後、その音源データの出力フラグを“001”にし、ス
テップ210で、正誤判定2レジスタを「1」インクリ
メントして、ステップ215に進む。 【0184】これにより、レベルの程度にかかわりな
く、現在レベルの判定基準において正誤判定2のとき
は、その音源データによる楽音データの出力先として、
図18の#2のDSP105が指定され、その楽音データ
には#2のDSP105によるエフェクトが付加される。
また、その正誤判定2の判定回数が計数される。 【0185】次に、上記ステップ206における判別に
より、ステップ211に進んだ場合は、同様に音源デー
タを作成し、その音源データの出力フラグを“010”
にした後、ステップ215の処理に進む。 【0186】これにより、現在レベルの判定基準におい
て正誤判定3のときは、その音源データによる楽音デー
タの出力先として、図18の#3のDSP105が指定さ
れ、その楽音データには#3のDSP105によるエフェ
クトが付加される。また、その正誤判定3の判定回数が
計数される。 【0187】さらにまた、上記ステップ206における
判別で、ステップ213に進んだ場合は、同様に音源デ
ータを作成し、その音源データの出力フラグを“01
1”にした後、ステップ215の処理に進む。 【0188】これにより、レベルの如何にかかわらず現
在レベルの判定基準において正誤判定4のときは、音源
データの楽音データの出力先として、図18の#4のDS
P105が指定され、#4のDSP105によるエフェク
トが付加される。また、その正誤判定4の判定回数が計
数される。 【0189】次に、ステップ215では、総判定数レジ
スタ306を「1」インクリメントする。これにより、
正誤判定基準の程度にかかわりなく、判定回数が全て計
数される。 【0190】続いて、ステップ216で、上記総判定数
レジスタ306の判定回数を示す値が一定値を越えてい
るか否か判別する。この処理は、ある程度、正誤判定回
数が累積されないと、すなわち練習時間が経過しなけれ
ば、ユーザの現在レベルの変更処理を行わないようにす
るためである。 【0191】これによって、ユーザーの技量レベルを判
定する際には、かなり信頼の置ける判定データ(レベル
適正値)を得ることができる。そして、上記ステップ2
16で一定値を越えていれば(YES)、ステップ21
7〜ステップ220を実行する。これらの処理は、ユー
ザーの技量に応じて、現在レベルの変更を行う処理であ
る。 【0192】先ず、ステップ217では、レベル適性値
を算出する。このレベル適性値は、例えば次に示す式に
より求めるようにする。すなわち、 レベル適性値=(「正誤判定1累計」×4+「正誤判定
2累計」×3+「正誤判定3累計」×2+「正誤判定4
累計」×1)/総判定数 から算出する。 【0193】そして、ステップ218において、この算
出で得られたレベル適性値が、現在レベルレジスタ30
1に保存されている現在レベルに対して適切であるか否
か判別する。この判別は、上記算出で得られたレベル適
性値が、ある一定値以上又は他の一定値以下であるか否
かで判別される。例えば算出されたレベル適性値が一定
値「3.5」以上であればユーザの技量が現在レベルを
上回っていると判断し、一方、他の一定値、例えば
「0.5」以下であればユーザーの技量が現在レベルに
到達していないと判別する。そして、算出されたレベル
適性値が、これら2つの一定値の中間であればユーザー
の技量が現在レベルに合っていると判別する。 【0194】この判別で、上記算出されたレベル適性値
が一定値「3.5」以上、すなわち、ユーザの技量が現
在レベルを上回っている、つまり、現在レベルレジスタ
301に保存されている現在レベルはユーザの実際の技
量に比較してレベルが低く設定されていたときは、ステ
ップ219で、現在レベルレジスタ301の現在レベル
値を「1」インクリメントし、正誤判定1累計レジスタ
302、正誤判定2累計レジスタ303、正誤判定3累
計レジスタ304及び正誤判定4累計レジスタ305を
「0」クリアし、さらに総判定レジスタ306を「0」
クリアして、ステップ222に進む。 【0195】また、上記ステップ218の判別で、上記
算出されたレベル適性値が一定値「0.5」以下、すな
わち、ユーザーの技量が現在レベル以下、つまり、現在
レベルレジスタ301に保存されている現在レベルがユ
ーザの実際の技量に比較してレベルが高く設定されてい
たときは、ステップ220で、現在レベルレジスタ30
1の現在レベル値を「1」ディクリメントすると共に、
この場合も、正誤判定1累計レジスタ302、正誤判定
2累計レジスタ303、正誤判定3累計レジスタ30
4、正誤判定4累計レジスタ305、及び総判定数レジ
スタ306の各レジスタをそれぞれ「0」クリアして、
ステップ222に進む。 【0196】ステップ222では、一連の押鍵処理また
は離鍵処理を全鍵処理し終わるまで繰り返し、ステップ
223で、作成した音源データをまとめてセットする。
上記ステップ218の判別で、レベル適性値が2つの一
定値の中間にあって適切であると判別したときは、直ち
に上記ステップ222に進む。また、上記ステップ21
6の判別で、総判定数レジスタ306の値が一定値を越
えていない場合も、直ちに上記ステップ222に進む。 【0197】また、上記ステップ202の判別で、鍵の
操作がなければ何も行わず直ちに処理を終了するが、離
鍵操作(キーOFF)されていた場合は、ステップ22
1に進む。ステップ221〜223の処理は、第1実施
例における709〜711の処理と同様の処理である。 【0198】このように、ステップ201〜223の各
処理が、ユーザによって押鍵された鍵盤の全ての鍵に対
して実行され、上述したステップ207、209、21
1、及び213の処理により生成した音源データが音源
103にセットされる。 【0199】これにより、鍵盤の押鍵操作に対応する音
源データが、図1の音源103に供給される。以上の動
作により、CPU102から音源103に出力指示され
る楽音が、ユーザの現在レベルに応じて判別されている
メロディデータの音高データに対する押鍵による音高デ
ータの正誤の程度及びその押鍵タイミングの正しさ又は
不一致の程度により、出力フラグが“000”、“00
1”、“010”又は“011”にセットされる。 【0200】そして、その結果、押鍵操作に基づいて音
源103で生成される楽音のうち、上記ユーザの現在レ
ベルに応じて判別された正誤判定1の押鍵に対しては#1
のDSP105、正誤判定2の押鍵に対しては#2のDS
P105、正誤判定3の押鍵に対しては#3のDSP10
5、そして正誤判定4の押鍵に対しては#4のDSP10
5で、それぞれエフェクト処理が施される。このよう
に、現在レベルに対応する押鍵操作の鍵の正誤の程度及
びタイミングのずれの程度によって、そのメロディ音に
付加されるエフェクトの効果が異なるようになる。 【0201】上述した第3の実施例におけるレベル適正
値の算出は、あまり長い期間を置くと、レベル適正値は
過去におけるレベルに対応する正誤判定結果の累計値に
基づいて算出されるので、ユーザがある一定レベルに止
まっていた後に急激に上達したような場合、上達したユ
ーザの技能に合ったレベル適正値であるとはいえなくな
ることも考えられる。 【0202】このように、過去の低いレベルの累計がい
つまでも影響することを避けるため、急激に上達したよ
うな場合でも現在レベルによく合致するレベル適正値を
算出できるように、最新の一定個数の正誤判定累計結果
からレベル適正値を算出するようにする。このようにす
れば、上達結果が速く反映されて、ますます面白く練習
できるようになる。 【0203】 【発明の効果】以上説明したように、本発明によれば、
ユーザによる押鍵操作の正しさ又は誤りの程度により楽
音に付加するエフェクトを変化させることによりその押
鍵操作の正しさ又は誤りの程度を報知するようにできる
ので、押鍵操作の誤り報知の際ブザー等の楽音とは関係
のない警告音を発する不自然さが解消され、これによっ
て、初心者が練習の際頻繁におこる耳障りなブザー音に
気分を損ねて意欲が減退しメロディ演奏の練習に興味を
失ってしまうというような心配もなくなる。 【0204】また、付加するエフェクトの程度を変化さ
せて押鍵操作の誤りの度合いを報知することによりユー
ザが効果音を楽しみながら押鍵操作の正しさや誤りの程
度も判別できようにしているので、面白味が加味され、
したがってユーザが興味をもってメロディ演奏の練習を
行うことができる。 【0205】さらにまた、ユーザーの技量に合わせて、
適宜に正誤判定基準を変化させることができるので、各
ユーザーのレベルに合った正誤判定基準で練習を行うこ
とが可能となり、したがって飽きることなく継続的に練
習を行うようユーザの意欲を高めることが期待できる。
【図面の簡単な説明】 【図1】第1実施例の電子鍵盤楽器の全体構成図であ
る。 【図2】第1実施例のCPU内部レジスタのデータ構成
図である。 【図3】音源データフォーマットを示す図である。 【図4】音源の構成図である。 【図5】出力制御回路の構成図である。 【図6】楽音データ加算器の構成図である。 【図7】第1実施例の押鍵時の処理フローチャートであ
る。 【図8】第1実施例のタイマインタラプト処理のフロー
チャートである。 【図9】音源の動作タイミングチャートである。 【図10】DSPの動作フローチャートである。 【図11】第2実施例の電子鍵盤楽器の全体構成図であ
る。 【図12】第2実施例のCPU内部レジスタのデータ構
成図である。 【図13】(a),(b),(c) は自動伴奏のメロディデータ及
び伴奏データの構成を説明する図である。 【図14】第2実施例のリズムスタート時のフローチャ
ートである。 【図15】第2実施例のタイマインタラプト処理のフロ
ーチャートである。 【図16】第2実施例の押鍵時の処理フローチャートで
ある。 【図17】第2実施例の音長カウンタと押鍵タイミング
カウンタの関係を説明する図である。 【図18】第3実施例の電子鍵盤楽器の全体構成図であ
る。 【図19】第3実施例の正誤判定基準テーブルである。 【図20】第3実施例のCPU内部レジスタのデータ構
成図である。 【図21】第3実施例の押鍵時の処理フローチャートで
ある。 【符号の説明】 101 鍵盤 102 CPU 103 音源 104 波形メモリ 105 DSP 106 ミキサ回路 107 D/A変換器 108 アンプ 109 スピーカ 110 自動伴奏データメモリ 111 メロディガイド 121、201 1/96音符カウンタ 202 押鍵指定音バッファ 122 音長カウンタ 123 押鍵タイミングカウンタ 124 押鍵指定タイミングレジスタ 125 次回音階No.レジスタ 126 現在音階No.レジスタ 127 押鍵指定音階No.レジスタ 301 現在レベルレジスタ 302 正誤判定1累計レジスタ 303 正誤判定2累計レジスタ 304 正誤判定3累計レジスタ 305 正誤判定4累計レジスタ 306 総判定数レジスタ

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 予め設定されたタイミングで発生すべき
    メロディ音を記憶する記憶手段と、 該記憶手段の記憶内容に基づき、発生すべきメロディ音
    を指示するメロディ音指示手段と、 外部操作に基づいてメロディ音を順次発生するメロディ
    音発生手段と、 該メロディ音発生手段により順次発生されるメロディ音
    の信号にそれぞれ複数種の異なる処理を行って出力する
    信号処理手段と、 前記メロディ音指示手段により指示されるメロディ音と
    前記メロディ音発生手段により発生されるメロディ音と
    の音程を検出する音程検出手段と、 前記外部操作のタイミングを検出する操作タイミング検
    出手段と、 前記メロディ音指示手段により指示されるメロディ音に
    対して予め設定されているタイミングと、前記操作タイ
    ミング検出手段により検出される外部操作の操作タイミ
    ングとの時間差を検出する時間差検出手段と、演奏者の技能レベルに応じた複数個の正誤判定基準をも
    つ正誤判定基準テーブルと、 前記メロディ音発生手段により順次発生されるメロディ
    音のそれぞれの信号処理として、前記音程検出手段の検
    出結果前記時間差検出手段の検出結果及び前記正誤判
    定基準テーブルの中の選択された正誤判定基準に応じて
    前記信号処理手段の複数種の信号処理のいずれか1つを
    割り当てる割当手段と、 前記割当手段の割当結果の累計を行うと共に、当該累計
    結果に基づき演奏者の技能レベル適正値を算出するレベ
    ル適正値検出手段と、 該レベル適正値検出手段の算出結果によって、前記正誤
    判定基準テーブルの中から選択されるべき正誤判定基準
    決定し、前記割当手段の割当に反映させる割当反映手
    段と、 を有することを特徴とする電子楽器。
JP34570492A 1992-06-15 1992-12-25 電子楽器 Expired - Fee Related JP3430267B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34570492A JP3430267B2 (ja) 1992-06-15 1992-12-25 電子楽器

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15480692 1992-06-15
JP4-154806 1992-06-15
JP34570492A JP3430267B2 (ja) 1992-06-15 1992-12-25 電子楽器

Publications (2)

Publication Number Publication Date
JPH0667653A JPH0667653A (ja) 1994-03-11
JP3430267B2 true JP3430267B2 (ja) 2003-07-28

Family

ID=26482990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34570492A Expired - Fee Related JP3430267B2 (ja) 1992-06-15 1992-12-25 電子楽器

Country Status (1)

Country Link
JP (1) JP3430267B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01177363A (ja) * 1987-12-29 1989-07-13 Nkk Corp 缶用光沢ドライ鍍金鋼板
JP2985717B2 (ja) * 1995-03-07 1999-12-06 ヤマハ株式会社 押鍵指示装置
WO2001012059A1 (en) * 1999-08-13 2001-02-22 Synaptec, L.L.C. Method and apparatus of enhancing learning capacity
JP4770419B2 (ja) * 2005-11-17 2011-09-14 カシオ計算機株式会社 楽音発生装置、及びプログラム
US7538266B2 (en) 2006-03-27 2009-05-26 Yamaha Corporation Electronic musical apparatus for training in timing correctly
JP5066966B2 (ja) 2007-03-23 2012-11-07 ヤマハ株式会社 演奏支援装置、コントローラ及びプログラム
JP5257966B2 (ja) * 2007-04-03 2013-08-07 株式会社ユードー 音楽再生制御システム、音楽演奏プログラム、および演奏データの同期再生方法
JP5056197B2 (ja) 2007-06-22 2012-10-24 ヤマハ株式会社 演奏支援装置及び演奏装置
JP5557087B2 (ja) * 2009-10-30 2014-07-23 カシオ計算機株式会社 自動伴奏装置およびプログラム
JP7251050B2 (ja) * 2018-03-23 2023-04-04 カシオ計算機株式会社 電子楽器、電子楽器の制御方法及びプログラム
JP7279700B2 (ja) * 2020-12-08 2023-05-23 カシオ計算機株式会社 演奏装置、方法、及びプログラム

Also Published As

Publication number Publication date
JPH0667653A (ja) 1994-03-11

Similar Documents

Publication Publication Date Title
JP3058051B2 (ja) 音楽的アミューズメントシステム
JP3430267B2 (ja) 電子楽器
JP2616274B2 (ja) 自動演奏装置
JPH11296168A (ja) 演奏情報評価装置、演奏情報評価方法及び記録媒体
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP4808868B2 (ja) 自動演奏装置
JP3275362B2 (ja) 演奏練習装置
JPH01179090A (ja) 自動伴奏装置
JP3551014B2 (ja) 演奏練習装置、演奏練習方法及び記録媒体
JP3005915B2 (ja) 電子楽器
JP2518056B2 (ja) 楽音デ―タ処理装置
JP3237421B2 (ja) 自動演奏装置
JP2546467B2 (ja) 電子楽器
JPH0631977B2 (ja) 電子楽器
JP3620366B2 (ja) 電子鍵盤楽器
JPH0375874B2 (ja)
JP3620321B2 (ja) 自動伴奏装置
JP2943560B2 (ja) 自動演奏装置
JP3296202B2 (ja) 演奏操作指示装置
JP3345453B2 (ja) 自動演奏装置
US20220310046A1 (en) Methods, information processing device, performance data display system, and storage media for electronic musical instrument
JP5338101B2 (ja) 電子音楽装置及び演奏処理プログラム
JP2768348B2 (ja) 自動演奏装置
JP2002221961A (ja) 演奏練習装置
JP2990780B2 (ja) 楽音信号形成装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030408

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

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees