JPS61174599A - 和音進行記憶再生装置 - Google Patents
和音進行記憶再生装置Info
- Publication number
- JPS61174599A JPS61174599A JP60014378A JP1437885A JPS61174599A JP S61174599 A JPS61174599 A JP S61174599A JP 60014378 A JP60014378 A JP 60014378A JP 1437885 A JP1437885 A JP 1437885A JP S61174599 A JPS61174599 A JP S61174599A
- Authority
- JP
- Japan
- Prior art keywords
- data
- chord
- code data
- code
- memory
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、鍵操作による演奏データをメモリに格納し
て自動演奏する機能を備えた電子楽器における演奏デー
タ処理装置に関し、特にそのコード(chord・和音
)データの処理装置に関する。
て自動演奏する機能を備えた電子楽器における演奏デー
タ処理装置に関し、特にそのコード(chord・和音
)データの処理装置に関する。
この発明は、鍵盤操作による演奏データを記憶して自動
演奏する機能を有する電子楽器等の演奏データ処理装置
において、押鍵情報に基づいて発生される一連のコード
データをその入力タイミング又は継続間データと共にメ
モリ格納し、その一連のコードデータのメモリへの格納
時又はメモリからの読出し時に、連続する前後のコード
データの時間間隔を検知して、それが所定時間より短か
い時にはその前の方のコードデータを無効にして後の方
のコードデータが前の方のコードデータの入力又は読出
しタイミングで入力又は読出されたようにデータ修正を
行なうことにより、押鍵操作のバラツキにより発生され
る不要なコードデータをなくし、始めから正しいコード
データが発生したようにきれいに補正されて出力するよ
うにしたものである。
演奏する機能を有する電子楽器等の演奏データ処理装置
において、押鍵情報に基づいて発生される一連のコード
データをその入力タイミング又は継続間データと共にメ
モリ格納し、その一連のコードデータのメモリへの格納
時又はメモリからの読出し時に、連続する前後のコード
データの時間間隔を検知して、それが所定時間より短か
い時にはその前の方のコードデータを無効にして後の方
のコードデータが前の方のコードデータの入力又は読出
しタイミングで入力又は読出されたようにデータ修正を
行なうことにより、押鍵操作のバラツキにより発生され
る不要なコードデータをなくし、始めから正しいコード
データが発生したようにきれいに補正されて出力するよ
うにしたものである。
鍵盤式電子楽器にメモリを備え、演奏者の鍵操作による
演奏内容をデータ化してメモリに格納して記憶し、その
後随時にその演奏データによる自動演奏をなし得るよう
にしたものがある。
演奏内容をデータ化してメモリに格納して記憶し、その
後随時にその演奏データによる自動演奏をなし得るよう
にしたものがある。
ところで、一般に鍵盤楽器の演奏においては。
メロディ(通常右手)と共に伴奏としてコード(通常左
手)演奏を行なっている。
手)演奏を行なっている。
その場合、コード(和音)演奏はアルペジオ(分散和音
)風の演奏態様を除いて3音(場合によっては4音)同
時押鍵するのが普通である。
)風の演奏態様を除いて3音(場合によっては4音)同
時押鍵するのが普通である。
そこで、電子オルガンにおけるフィンガードコード等の
演奏態様にあっては、3押鍵によってコード名を検出し
、その根音をもとにオードベースとコードが付けられる
ようになっている。
演奏態様にあっては、3押鍵によってコード名を検出し
、その根音をもとにオードベースとコードが付けられる
ようになっている。
しかし、この条件だけであると、常に3押鍵そろってか
らオートベースとコードがつくことになるので、発音が
遅れたりコード音が鳴らない隙間ができたりして不自然
になるので、従来から1押鍵又は2押鍵でも、その押鍵
情報からコード名を決定してオートベース音とコード音
を発生するようになっている。
らオートベースとコードがつくことになるので、発音が
遅れたりコード音が鳴らない隙間ができたりして不自然
になるので、従来から1押鍵又は2押鍵でも、その押鍵
情報からコード名を決定してオートベース音とコード音
を発生するようになっている。
ところが1人間の指による鍵操作の時間的精度には自か
ら限界があり、コード演奏のため複数鍵を同時に押鍵し
たつもりでも、各相の長さの違いや利き指その他の原因
によって、各鍵間の押下時間には数ms乃至10数ms
(ミリ秒)の差が生じてしまう。
ら限界があり、コード演奏のため複数鍵を同時に押鍵し
たつもりでも、各相の長さの違いや利き指その他の原因
によって、各鍵間の押下時間には数ms乃至10数ms
(ミリ秒)の差が生じてしまう。
この程度の時間差は人間にとっては同時と感じとられる
が、上述のような電子楽器においてはその正確な押鍵時
点でコードの種類を判別してしまうことになる。
が、上述のような電子楽器においてはその正確な押鍵時
点でコードの種類を判別してしまうことになる。
例えば、Cメジャのコードを演奏しようとしてG、E、
Cの3個の鍵を同時に押したつもりが、実際にはわずか
な時間差でG鍵、E鍵、C鍵の順で押鍵されたとすると
、コードの判別は最初のG鍵の押鍵によってGメジャ9
次にE鍵も押鍵されると(G、Hの2押鍵)Eマイナ(
Em)、さらにC鍵が押鍵されると(G、E、Cの3押
鍵)Cメジャとなる。
Cの3個の鍵を同時に押したつもりが、実際にはわずか
な時間差でG鍵、E鍵、C鍵の順で押鍵されたとすると
、コードの判別は最初のG鍵の押鍵によってGメジャ9
次にE鍵も押鍵されると(G、Hの2押鍵)Eマイナ(
Em)、さらにC鍵が押鍵されると(G、E、Cの3押
鍵)Cメジャとなる。
したがって、このコードデータをそのままメモリに格納
して自動演奏を行なうと、GメジャとEマイナのコード
が短時間ずつ発音された後本来のCメジャのコードが発
音されることになり、非常に開き苦しいものとなるとい
う問題点があった。
して自動演奏を行なうと、GメジャとEマイナのコード
が短時間ずつ発音された後本来のCメジャのコードが発
音されることになり、非常に開き苦しいものとなるとい
う問題点があった。
このような問題点を改善するため、例えば特公昭59−
41591号公報に見られるように、最初の押鍵後コー
ドの判別等の処理をするまでに「待ち時間」を設定して
、その待ち時間中になされた押鍵は全て同時になされた
ものとして取扱うようにすることによって、鍵操作のバ
ラツキによる誤ったコードの判別等を防ぐようにしたも
のがある。
41591号公報に見られるように、最初の押鍵後コー
ドの判別等の処理をするまでに「待ち時間」を設定して
、その待ち時間中になされた押鍵は全て同時になされた
ものとして取扱うようにすることによって、鍵操作のバ
ラツキによる誤ったコードの判別等を防ぐようにしたも
のがある。
しかしながら、単にこのような「待ち時間」を設けてコ
ードの判別を行なうようにしたのでは、コードの判別が
その待ち時間だけ遅れることになり、その判別したコー
ドデータをそのまま記憶させて自動演奏を行なうように
すると、メロディ音とコード音のずれやコード音の空白
が生じてしまうという問題点がある。
ードの判別を行なうようにしたのでは、コードの判別が
その待ち時間だけ遅れることになり、その判別したコー
ドデータをそのまま記憶させて自動演奏を行なうように
すると、メロディ音とコード音のずれやコード音の空白
が生じてしまうという問題点がある。
この発明は、このような問題点をも解決して、鍵操作の
バラツキによって発生される不要なコードデータをなく
すと共に、コード判別の遅れによるメロディとコードの
ずれ尋空白も生じないようにすることを目的とする。
バラツキによって発生される不要なコードデータをなく
すと共に、コード判別の遅れによるメロディとコードの
ずれ尋空白も生じないようにすることを目的とする。
そのため、この発明による演奏データ処理装置は、第1
図乃至第3図に機能ブロック図で示すように、鍵盤にお
ける押鍵情報に基づいてコードデ−タ発生手段(図示せ
ず)によって発生される一連のコードデータを入力して
、その入力タイミング又は継続時間データと共に格納す
るメモリ1と、その一連のコードデータのメモリ1への
格納時又はメモリ1からの読出し時にそのコードデータ
を補正する補正手段2とを備えている。
図乃至第3図に機能ブロック図で示すように、鍵盤にお
ける押鍵情報に基づいてコードデ−タ発生手段(図示せ
ず)によって発生される一連のコードデータを入力して
、その入力タイミング又は継続時間データと共に格納す
るメモリ1と、その一連のコードデータのメモリ1への
格納時又はメモリ1からの読出し時にそのコードデータ
を補正する補正手段2とを備えている。
そして、この補正手段2は、上記一連のコードデータの
連続する前後のコードデータ間の時間間隔を各コードデ
ータの上記入力タイミング又は継続時間データによって
検知する時間間隔検知手段3と、 その時間間隔検知手段3によって検知された時間間隔が
予め設定した所定時間より長いか短かいかを判別する判
別手段4と。
連続する前後のコードデータ間の時間間隔を各コードデ
ータの上記入力タイミング又は継続時間データによって
検知する時間間隔検知手段3と、 その時間間隔検知手段3によって検知された時間間隔が
予め設定した所定時間より長いか短かいかを判別する判
別手段4と。
その判別手段4によって上記時間間隔が所定時間より短
かいと判別された時には、その前後のコードデータのう
ち前の方のコードデータを無効にして、そのコードデー
タの入力又は読出しタイミングで後の方のコードデータ
が入力又は読出されたものとするデータ修正を行なうデ
ータ修正手段5からなっている。
かいと判別された時には、その前後のコードデータのう
ち前の方のコードデータを無効にして、そのコードデー
タの入力又は読出しタイミングで後の方のコードデータ
が入力又は読出されたものとするデータ修正を行なうデ
ータ修正手段5からなっている。
なお、第1図の演奏データ処理装置は、補正手段2をメ
モリ1に対するコードデータの入出カラインとは別に設
け、入力ポートから入力する一連のコードデータをリア
ルタイムで一旦メモリ1に格納し、−曲終了後、メモリ
1からその一連のコードデータを読出して、補正手段2
によって補正処理を行なったコードデータを再度メモリ
に格納し直すようにしたものである。
モリ1に対するコードデータの入出カラインとは別に設
け、入力ポートから入力する一連のコードデータをリア
ルタイムで一旦メモリ1に格納し、−曲終了後、メモリ
1からその一連のコードデータを読出して、補正手段2
によって補正処理を行なったコードデータを再度メモリ
に格納し直すようにしたものである。
この場合、メモリ1は入力コードデータをそのまま一旦
格納するメモリと、補正後のコードデータを格納するメ
モリとを別に設けてもよい。
格納するメモリと、補正後のコードデータを格納するメ
モリとを別に設けてもよい。
第2図の演奏データ処理装置は、補正手段2をメモリ1
の入力ライン側に設けたもので、入力ポートから入力す
る一連のコードデータを補正手段2によって補正処理し
てからメモリ1に格納するようにしたものである。
の入力ライン側に設けたもので、入力ポートから入力す
る一連のコードデータを補正手段2によって補正処理し
てからメモリ1に格納するようにしたものである。
さらに、第3図に示す演奏データ処理装置は、メモリ1
の出力ライン側に補正手段2を設けたもので、入力ポー
トから入力する一連のコードデータをリアルタイムで一
旦メモリ1に格納し、自動演奏等のためにその一連のコ
ードデータをメモリ1から読出す際に、読出されたコー
ドデータを補正手段2によって補正処理を行なって出力
ポートから楽音形成回路等へ出力するようにしたもので
ある。
の出力ライン側に補正手段2を設けたもので、入力ポー
トから入力する一連のコードデータをリアルタイムで一
旦メモリ1に格納し、自動演奏等のためにその一連のコ
ードデータをメモリ1から読出す際に、読出されたコー
ドデータを補正手段2によって補正処理を行なって出力
ポートから楽音形成回路等へ出力するようにしたもので
ある。
いずれにおいても、補正手段2の時間間隔検知手段3と
データ修正手段5は、少くとも連続する前後2つのコー
ドデータを記憶するメモリをそれぞれ備えている。
データ修正手段5は、少くとも連続する前後2つのコー
ドデータを記憶するメモリをそれぞれ備えている。
この発明による演奏データ処理装置におけるコードデー
タの補正処理について、第1図の構成の場合を例に第4
図を参照して説明する。
タの補正処理について、第1図の構成の場合を例に第4
図を参照して説明する。
第4図(、)の上側に示すように、例えば初めにCメジ
ャコードを1次にFメジャコードをそれぞれ2分音符相
当分ずつ演奏するつもりで、先ずG。
ャコードを1次にFメジャコードをそれぞれ2分音符相
当分ずつ演奏するつもりで、先ずG。
E、Cの各鍵を同時に押鍵し、次にF、A、Cの各鍵を
同時に押鍵したつもりが、実際には同図の下側に示すよ
うに、Cメジャコードの押鍵時に先ずG鍵が押された後
約10m5遅れてもE鍵が押され、さらに約20m5遅
れてC鍵が押され、次のFメジャコードの押鍵はF、A
、Cの各鍵が正確に同時に押鍵されたものとする。
同時に押鍵したつもりが、実際には同図の下側に示すよ
うに、Cメジャコードの押鍵時に先ずG鍵が押された後
約10m5遅れてもE鍵が押され、さらに約20m5遅
れてC鍵が押され、次のFメジャコードの押鍵はF、A
、Cの各鍵が正確に同時に押鍵されたものとする。
この場合、コードデータ発生装置は、最初のG鍵の押鍵
情報によってGメジャのコードデータを発生し、次にG
鍵とE鍵の押鍵情報によってEマイナのコードデータを
発生し、さらにG、E、C鍵の押鍵情報によってCメジ
ャのコードデータを発生する。その後間を置いてF、A
、C鍵の押鍵情報によってFメジャのコードデータを発
生する。
情報によってGメジャのコードデータを発生し、次にG
鍵とE鍵の押鍵情報によってEマイナのコードデータを
発生し、さらにG、E、C鍵の押鍵情報によってCメジ
ャのコードデータを発生する。その後間を置いてF、A
、C鍵の押鍵情報によってFメジャのコードデータを発
生する。
この一連のコードデータが入力してメモリ1に直接格納
されると、そのデータは第4図(b)に示すようになる
。ここで、上側のrG、Em、C。
されると、そのデータは第4図(b)に示すようになる
。ここで、上側のrG、Em、C。
F」はコード名を示すデータで、下側のro、1゜3.
48Jは各コードデータの入力タイミングを最初のコー
ドデータの入力タイミングを基準「0」としてテンポク
ロックのカウント数(TCL)で示すタイミングデータ
である。
48Jは各コードデータの入力タイミングを最初のコー
ドデータの入力タイミングを基準「0」としてテンポク
ロックのカウント数(TCL)で示すタイミングデータ
である。
このコード名を示すデータとタイミングデータは1例え
ばメモリ1の各番地のデータエリアが16ビツトである
とすれば、その上位8ビツトと、下位8ビツトにそれぞ
れ書き込まれる。
ばメモリ1の各番地のデータエリアが16ビツトである
とすれば、その上位8ビツトと、下位8ビツトにそれぞ
れ書き込まれる。
このようにして、−曲のコードデータをメモリ1の各番
地に順次に格納した後、この一連のコードデータをメモ
リ1からシステムクロックにより高速で読出し、補正手
段2によって補正処理して再びメモリ1に格納し直す。
地に順次に格納した後、この一連のコードデータをメモ
リ1からシステムクロックにより高速で読出し、補正手
段2によって補正処理して再びメモリ1に格納し直す。
その時、時間間隔検知手段3がメモリ1から読出される
一連のコードデータの連続する前後のコードデータの時
間間隔をコードデータと共に読出される上述のタイミン
グデータの差によって検知し、判別手段4がその時間間
隔(前後のタイミングデータの差)を予め設定した所定
時間(例えば3 TCL)と比較して、それにより長い
か短かいかを判別し、その判別結果をデータ修正手段5
へ出力する。
一連のコードデータの連続する前後のコードデータの時
間間隔をコードデータと共に読出される上述のタイミン
グデータの差によって検知し、判別手段4がその時間間
隔(前後のタイミングデータの差)を予め設定した所定
時間(例えば3 TCL)と比較して、それにより長い
か短かいかを判別し、その判別結果をデータ修正手段5
へ出力する。
データ修正手段5は、この判別手段4の判別結果により
、時間間隔が所定時間より短かい時には。
、時間間隔が所定時間より短かい時には。
その前後のコードデータのうち前方のコードデータを無
効データ(第4図ではX印を付けて示している)にする
。この場合、無効を示す1ビツトのデータを付加するよ
うにしてもよい。
効データ(第4図ではX印を付けて示している)にする
。この場合、無効を示す1ビツトのデータを付加するよ
うにしてもよい。
したがって、この例では、コードデータrGJとr E
m J間及びr E m JとrcJ間の時間間隔が
I TCLと2 TCLで、いずれも所定時間より短か
いため、第4図(c)に示すようにコードデータGを無
効データ(×印)にし、さらにコードデータEmも無効
データにする。
m J間及びr E m JとrcJ間の時間間隔が
I TCLと2 TCLで、いずれも所定時間より短か
いため、第4図(c)に示すようにコードデータGを無
効データ(×印)にし、さらにコードデータEmも無効
データにする。
次に、第4図(d)に示すように最初の有効なコードデ
ータ「C」を最初の無効データrXQJの格納位置に入
れ換え、同図(、)に示すように。
ータ「C」を最初の無効データrXQJの格納位置に入
れ換え、同図(、)に示すように。
元のコードデータrCJ を無効データ「×C」にして
最初の3押鍵によるコードデータの補正処理を完了する
。
最初の3押鍵によるコードデータの補正処理を完了する
。
このような補正処理を一曲分のコードデータについて全
て完了した後、メモリ1からその補正されて格納されて
いる一連のコードデータを読出して自動演奏すると、第
4図(f)に示すように。
て完了した後、メモリ1からその補正されて格納されて
いる一連のコードデータを読出して自動演奏すると、第
4図(f)に示すように。
Cメジャコード演奏時の最初の1鍵目の押鍵に相当する
時点から時間遅れなくCメジャコードが発音され、それ
が48TCL間継続した後にFメジャコードに変わる。
時点から時間遅れなくCメジャコードが発音され、それ
が48TCL間継続した後にFメジャコードに変わる。
このように、きれいに補正されたコードデータを出力す
ることができる。
ることができる。
以下、この発明による演奏データ処理装置を自動演奏機
能付き電子オルガンの演奏データ記憶装置に適用した場
合の実施例を図面の第5図以降を参照して詳細に説明す
る。
能付き電子オルガンの演奏データ記憶装置に適用した場
合の実施例を図面の第5図以降を参照して詳細に説明す
る。
まず、この実施例における電子オルガンの概略構成を第
5図に示し、これを説明する。この図に示す電子オルガ
ンは、マイクロプロセッサ等の中央処理装置(以下、r
CPUJと略称する)を有するマイクロコンピュータ1
0を用いて装置全体を集中制御するように構成したもの
である。
5図に示し、これを説明する。この図に示す電子オルガ
ンは、マイクロプロセッサ等の中央処理装置(以下、r
CPUJと略称する)を有するマイクロコンピュータ1
0を用いて装置全体を集中制御するように構成したもの
である。
このマイクロコンピュータ10は、cpUl 1゜プロ
グラムメモリ12.ワーキングメモリ14゜バッファメ
モリ14.テンポカウンタ15.テンポクロック発生器
16.入力ボート17.出力ポ一ト18.及びこれらの
各部を接続するバス19(データ、アドレス、コントロ
ールの各バス)等によって構成されている。なお、シス
テムクロック発生器は図示を省略している。
グラムメモリ12.ワーキングメモリ14゜バッファメ
モリ14.テンポカウンタ15.テンポクロック発生器
16.入力ボート17.出力ポ一ト18.及びこれらの
各部を接続するバス19(データ、アドレス、コントロ
ールの各バス)等によって構成されている。なお、シス
テムクロック発生器は図示を省略している。
プログラムメモリ12は、cptrllが使用する各種
プログラム及び各種コードデータが格納されたリードオ
ンリメモリ(ROM)である。
プログラム及び各種コードデータが格納されたリードオ
ンリメモリ(ROM)である。
ワーキングメモリ3は、CPU1lがその動作過程にお
いて使用するワーキングエリア用のメモリであり、ラン
ダムアクセスメモリ(RAM)が使用される。 この場
合、このワーキングメモリ13の一部の番地はCPU1
lの外部レジスタおよびポインタ等として使用される
。
いて使用するワーキングエリア用のメモリであり、ラン
ダムアクセスメモリ(RAM)が使用される。 この場
合、このワーキングメモリ13の一部の番地はCPU1
lの外部レジスタおよびポインタ等として使用される
。
バッファメモリ14は、後述する鍵盤回路21からの押
鍵情報に基づいてcpul 1がコードを判別して発生
するコードデータを、その発生タイミングデータと共に
記憶するためのランダムアクセスメモリ(RAM)であ
り、このバッファメモリ17は未補正のコードデータを
格納するためのメモリと、この発明によって補正された
コードデ−夕を格納するためのメモリとを別に設けるよ
うにしてもよい。
鍵情報に基づいてcpul 1がコードを判別して発生
するコードデータを、その発生タイミングデータと共に
記憶するためのランダムアクセスメモリ(RAM)であ
り、このバッファメモリ17は未補正のコードデータを
格納するためのメモリと、この発明によって補正された
コードデ−夕を格納するためのメモリとを別に設けるよ
うにしてもよい。
テンポカウンタ15は、テンポ発振器が出力するテンポ
クロック(このテンポクロックの周期は演奏者が後述す
る操作子入力回路22のテンポボリュームの操作等によ
って設定する)を計数するカウンタである。
クロック(このテンポクロックの周期は演奏者が後述す
る操作子入力回路22のテンポボリュームの操作等によ
って設定する)を計数するカウンタである。
次に、鍵盤回路21は、この電子オルガンの鍵盤の各部
に1対1に対応して設けられたキースイッチからなる回
路で、CPU1lは入力ポート17を介してそのキース
イッチのオンによる押鍵情報を入力して、各部の操作状
態を検出することができる。
に1対1に対応して設けられたキースイッチからなる回
路で、CPU1lは入力ポート17を介してそのキース
イッチのオンによる押鍵情報を入力して、各部の操作状
態を検出することができる。
また、操作子入力回路22は、この電子オルガンのパネ
ル上にある音色選択スイッチ、リズム選択スイッチ、リ
ズムスタート・ストップスイッチ。
ル上にある音色選択スイッチ、リズム選択スイッチ、リ
ズムスタート・ストップスイッチ。
テンポボリューム、自動演奏開始スイッチ等の各操作子
の操作信号を出力する回路であり、CPU11はこれら
の各操作子の接点が開閉する時に発生する割り込み信号
等に応じて、これらの各操作子の操作状態を読み込み、
ワーキングメモリ13におけるこれらの各操作子に対応
したレジスタの内容を書き換える。
の操作信号を出力する回路であり、CPU11はこれら
の各操作子の接点が開閉する時に発生する割り込み信号
等に応じて、これらの各操作子の操作状態を読み込み、
ワーキングメモリ13におけるこれらの各操作子に対応
したレジスタの内容を書き換える。
これらレジスタとしては、上記音色選択スイッチによっ
て選択された音色データを記憶するレジスタ、リズム選
択スイッチによって選択されたリズムのリズムパターン
情報を記憶するレジスタ。
て選択された音色データを記憶するレジスタ、リズム選
択スイッチによって選択されたリズムのリズムパターン
情報を記憶するレジスタ。
さらに、テンポボリューム、リズムスタート・ストップ
スイッチ、自動演奏開始スイッチ等の状態を記憶するレ
ジスタがある。
スイッチ、自動演奏開始スイッチ等の状態を記憶するレ
ジスタがある。
楽音信号形成回路23は、CPU1 iが出力ポート1
8を介して出力するデータに基づいて、対応する楽音信
号を発生してスピーカ20に供給し。
8を介して出力するデータに基づいて、対応する楽音信
号を発生してスピーカ20に供給し。
それによって発音を発生させる回路である。
以上の構成において、演奏データの記憶を行なわない通
常のモードにおいては、CPU11は演奏開始に先立ち
、まずワーキングメモリ13のレジスタから音色コード
等の操作子情報を楽音信号形成回路23へ供給する。
常のモードにおいては、CPU11は演奏開始に先立ち
、まずワーキングメモリ13のレジスタから音色コード
等の操作子情報を楽音信号形成回路23へ供給する。
次いで、演奏者が演奏を開始するとCPU1 lは、鍵
盤回路21からの押鍵情報から鍵操作状態を検出し、押
鍵時には押下鍵を示すキーデータ及びそれに基づいて判
別されるコードデータを楽音信号形成回路23へ供給す
る。
盤回路21からの押鍵情報から鍵操作状態を検出し、押
鍵時には押下鍵を示すキーデータ及びそれに基づいて判
別されるコードデータを楽音信号形成回路23へ供給す
る。
楽音信号形成回路1日は、そのキーデータ及びコードデ
ータが示す鍵の音高に対応する音源信号を発生し、この
音源信号に音色データに応じた音色等を付与して楽音信
号を形成し、この楽音信号をスピーカ20へ供給する。
ータが示す鍵の音高に対応する音源信号を発生し、この
音源信号に音色データに応じた音色等を付与して楽音信
号を形成し、この楽音信号をスピーカ20へ供給する。
したがって、この通常のモードにおいては、スピーカ2
0から押下鍵に対応する音高の楽音(メロディ及びコー
ドを含む)が演奏順に順次発音される。
0から押下鍵に対応する音高の楽音(メロディ及びコー
ドを含む)が演奏順に順次発音される。
さらに、このマイクロコンピュータ10は、第1@乃至
第3図に示したこの発明による演奏データ処理装置のメ
モリ1.補正手段2の各部の機能も備えており、演奏デ
ータの記憶モード又は自動演奏モードにおいて前述のよ
うなコードデータの補正処理を主としてCPUIIの機
能によって行なう。
第3図に示したこの発明による演奏データ処理装置のメ
モリ1.補正手段2の各部の機能も備えており、演奏デ
ータの記憶モード又は自動演奏モードにおいて前述のよ
うなコードデータの補正処理を主としてCPUIIの機
能によって行なう。
IL!JL匠
そこで1次に第1図に示した機能ブロック図に相当する
動作をこのマイクロコンピュータ10によって実現する
場合の実施例を、第6図及び第7図のフローチャートと
第8図及び第9図の説明図を参照して説明する。
動作をこのマイクロコンピュータ10によって実現する
場合の実施例を、第6図及び第7図のフローチャートと
第8図及び第9図の説明図を参照して説明する。
演奏者の押鍵操作に応じたコードデータは。
CPUI 1により判別されてプログラムメモリ12に
格納されている各種のコードデータ中から選択的に読出
されて、そのタイミングデータと共にリアルタイムでバ
ッファメモリ(RAM)14に順次格納される。
格納されている各種のコードデータ中から選択的に読出
されて、そのタイミングデータと共にリアルタイムでバ
ッファメモリ(RAM)14に順次格納される。
第8図に、第4図に示したのと同様なデータ格納例を示
す、なお、Pはポインタ、PRはポインタレジスタで、
ワーキングメモリ13の一部の番地を使用する。
す、なお、Pはポインタ、PRはポインタレジスタで、
ワーキングメモリ13の一部の番地を使用する。
そして、演奏者が一曲の演奏を終了して操作子入力回路
22中のリズムスタート・ストップスイッチをストップ
にすると、第6図の動作が開始される。これは、入力さ
れた一連のコードデータのうち不要なデータを無効にす
るフローである。
22中のリズムスタート・ストップスイッチをストップ
にすると、第6図の動作が開始される。これは、入力さ
れた一連のコードデータのうち不要なデータを無効にす
るフローである。
第6図のステップ1でリズムストップを判断し、YES
であればステップ2でRAM14の最後のコードデータ
の次の番地にENDマークに相当する符号化データを書
き込む、そして、ステップ3でポインタPをRAM14
の曲頭の番地(最初はO″)にセットする。
であればステップ2でRAM14の最後のコードデータ
の次の番地にENDマークに相当する符号化データを書
き込む、そして、ステップ3でポインタPをRAM14
の曲頭の番地(最初はO″)にセットする。
次に、ステップ4でそのポインタPが示すデータがコー
ドデータか否かを判断し、コードデータでない時(EN
Dマークの時)は何もしないで第7図のフローへ進む。
ドデータか否かを判断し、コードデータでない時(EN
Dマークの時)は何もしないで第7図のフローへ進む。
コードデータであればステップ5八進んで、現在のポイ
ンタPの値をポインタレジスタPRに記憶させる。そし
て、ステップ6でポインタの値を+1する(初めは0“
から1″にする)。
ンタPの値をポインタレジスタPRに記憶させる。そし
て、ステップ6でポインタの値を+1する(初めは0“
から1″にする)。
ステップ7で新らたなポインタの示す位置のデータがコ
ードデータか否かを判定し、コードデータでなければ(
ENDデータ)そのまま第7図のフロー図へ進み、コー
ドデータであれば、ステップ8へ進む。
ードデータか否かを判定し、コードデータでなければ(
ENDデータ)そのまま第7図のフロー図へ進み、コー
ドデータであれば、ステップ8へ進む。
ステップ8では、現在のポインタPの位置のタイミング
データTnとポインタレジスタPRがさし示している位
置のタイミングデータT n−1との差が予め設定した
しきい値Tn未満(T n −Tn−+<Tr)か否か
を判断し、YESであればポインタレジスタがさし示し
ている位置のコードデータを無効データにし、NOであ
れば何もせずにステップ5へ戻り、ENDマークが記憶
されている番地にポインタPの値がくるまでこれを繰返
す。
データTnとポインタレジスタPRがさし示している位
置のタイミングデータT n−1との差が予め設定した
しきい値Tn未満(T n −Tn−+<Tr)か否か
を判断し、YESであればポインタレジスタがさし示し
ている位置のコードデータを無効データにし、NOであ
れば何もせずにステップ5へ戻り、ENDマークが記憶
されている番地にポインタPの値がくるまでこれを繰返
す。
第8図の例では、最初はT n = 1 、 Tn−+
= OであるからT n −T n−1= 1でステッ
プ8はYESになり、ステップ9でポインタレジスタP
Rがさし示している0番地のコードデータrGJを無効
データ「×G」にする、2回目はT n、= 3 、
TrI−1=1であるから、T n T n−+ ’
= 2で、ステップ8ではやはりYESになり、ステッ
プ9で1番地のコードデータr E m J を無効デ
ータrXEmJにする。3回目はTn=48.Tn−+
=3であるからT n −T rs = 45で、ステ
ップ8の判断がでN。
= OであるからT n −T n−1= 1でステッ
プ8はYESになり、ステップ9でポインタレジスタP
Rがさし示している0番地のコードデータrGJを無効
データ「×G」にする、2回目はT n、= 3 、
TrI−1=1であるから、T n T n−+ ’
= 2で、ステップ8ではやはりYESになり、ステッ
プ9で1番地のコードデータr E m J を無効デ
ータrXEmJにする。3回目はTn=48.Tn−+
=3であるからT n −T rs = 45で、ステ
ップ8の判断がでN。
になる、したがって3番地のコードデータ「C」は無効
にしない。
にしない。
このようにして不要なデータを無効データにし。
RAM14の記憶データを第8図の右側に示すようなデ
ータに修正する。これが第4(1(c)の補正途中のデ
ータに相当する。
ータに修正する。これが第4(1(c)の補正途中のデ
ータに相当する。
次に、第7図は無効データの後の最初の有効なコードデ
ータを連続する無効データの最初の番地に書き込み1元
の番地のコードデータを無効データにする(タイミング
データは元のまま)フローである。
ータを連続する無効データの最初の番地に書き込み1元
の番地のコードデータを無効データにする(タイミング
データは元のまま)フローである。
まず、ステップ10で第9図のポインタPを・RAM1
4の曲頭の番地′″0#にセットする。そして、ステッ
プ11でポインタPが示すデータは何かを判定する。
4の曲頭の番地′″0#にセットする。そして、ステッ
プ11でポインタPが示すデータは何かを判定する。
ENDマークであれば何もせずにこのルーチンを終了し
、有効なコードデータであれば、ステップ12へ進んで
ポインタPを+1する(0“から1”にする)、また、
S効データであればステップ13へ進んで、現在のポイ
ンタPの値をポインタレジスタPRに記憶させる。
、有効なコードデータであれば、ステップ12へ進んで
ポインタPを+1する(0“から1”にする)、また、
S効データであればステップ13へ進んで、現在のポイ
ンタPの値をポインタレジスタPRに記憶させる。
第9図に示す例では、RAMの0番地は無効データ「×
G」であるので、現在のポインタPの値゛0゛をポイン
タレジスタPRに記憶させる。
G」であるので、現在のポインタPの値゛0゛をポイン
タレジスタPRに記憶させる。
その後ステップ14でポインタPを進めて1″にし、そ
の後ステップ14でポインタPを1進めて1″にし、ス
テップ15でポインタPが新たに示す位置のデータが何
かを判定する。
の後ステップ14でポインタPを1進めて1″にし、ス
テップ15でポインタPが新たに示す位置のデータが何
かを判定する。
ENDマークであればそのままこのルーチンを終了し、
無効データであればステップ14へ戻ってポインタPを
さらに1進める。有効なコードデータであれば、ステッ
プ16へ進んでポインタレジスタPRが示す番地に現在
のポインタPが示すコードデータを書き込む、そして、
ステップ17で現在のポインタPが示すコードデータを
無効データにしてステップ11へ戻り、ENDマークが
くるまでこれを機返す。
無効データであればステップ14へ戻ってポインタPを
さらに1進める。有効なコードデータであれば、ステッ
プ16へ進んでポインタレジスタPRが示す番地に現在
のポインタPが示すコードデータを書き込む、そして、
ステップ17で現在のポインタPが示すコードデータを
無効データにしてステップ11へ戻り、ENDマークが
くるまでこれを機返す。
第9図の例では、最初はステップ15でポインタPが示
す1番地のデータは無効データr X E m Jなの
で、ステップ14へ戻ってポインタを2“にする、それ
により、ステップ15でポインタPが示す2番地のデー
タは有効なコードデータrCJであるので、これをポイ
ンタレジスタPRが示す0番地に書き込み、ステップ1
7で2番地のデータを無効データrXCJにする。
す1番地のデータは無効データr X E m Jなの
で、ステップ14へ戻ってポインタを2“にする、それ
により、ステップ15でポインタPが示す2番地のデー
タは有効なコードデータrCJであるので、これをポイ
ンタレジスタPRが示す0番地に書き込み、ステップ1
7で2番地のデータを無効データrXCJにする。
このようにして、RAM 14の記憶データが第9図の
右側に示すようなデータに修正される。これが第4図(
e)の補正完了後のデータに相当する。
右側に示すようなデータに修正される。これが第4図(
e)の補正完了後のデータに相当する。
次に、自動演奏時の動作を第10@のフローによって説
明する。
明する。
自動演奏開始スイッチがオンになると、ステップ18の
判断がYESになり、ステップ19へ進んで初期セット
する。すなわち、ポインタPの値を0“にし、テンポカ
ウンタ15(第5図)の値も0”にする。
判断がYESになり、ステップ19へ進んで初期セット
する。すなわち、ポインタPの値を0“にし、テンポカ
ウンタ15(第5図)の値も0”にする。
その後、ステップ20で゛ポインタPの示すデータがE
NDマークか否かを判断し、YESであればこのルーチ
ンを終了するが、曲の終了まではNoなのでステップ2
1へ進み、ポインタが示すタイミングデータTnとテン
ポカウンタ15の値Tcが等しいか否かを判断する。
NDマークか否かを判断し、YESであればこのルーチ
ンを終了するが、曲の終了まではNoなのでステップ2
1へ進み、ポインタが示すタイミングデータTnとテン
ポカウンタ15の値Tcが等しいか否かを判断する。
Tn=Tcでなければステップ25へ進んでテンポクロ
ックTCLの入力を待ち、テンポクロックが入力すると
(実際には周波数の高いシステムクロックをカウントし
てTCLのタイミングになると)ステップ26へ進んで
テンポカウンタを+1して ・ステップ20へ戻る。
ックTCLの入力を待ち、テンポクロックが入力すると
(実際には周波数の高いシステムクロックをカウントし
てTCLのタイミングになると)ステップ26へ進んで
テンポカウンタを+1して ・ステップ20へ戻る。
RAM14の格納データが第S図の右側に示すようにな
っていると、初めはポインタPが示す0番地のタイミン
グデータTnは「0」であり、テンポカウンタ15の値
Tcも「0」であるから。
っていると、初めはポインタPが示す0番地のタイミン
グデータTnは「0」であり、テンポカウンタ15の値
Tcも「0」であるから。
ステップ21の判断はYESになるので、ステップ22
に進んでポインタの示すデータが有効なコードデータか
否かを判断する。
に進んでポインタの示すデータが有効なコードデータか
否かを判断する。
0番地のデータは有効なコードデータ「C」であるので
、そのコードデータ「C」を第5図の楽音信号形成回路
23に出力してスピーカ24からCメジャのコード音を
発音させた後ポインタを+1する。このコード音の発音
は1次に新らたなコード音の発音がなさ九るまで継続す
る。
、そのコードデータ「C」を第5図の楽音信号形成回路
23に出力してスピーカ24からCメジャのコード音を
発音させた後ポインタを+1する。このコード音の発音
は1次に新らたなコード音の発音がなさ九るまで継続す
る。
ポインタが1″になると、1番地のタイミングデータT
nは「1」なので、テンポカウンタ15が「1」になる
とステップ21からステップ22へ進むが、そのコード
データは無効データrXEmJなので、新らたなコード
の音の発音は行なわずにステップ24でポインタを+1
する。
nは「1」なので、テンポカウンタ15が「1」になる
とステップ21からステップ22へ進むが、そのコード
データは無効データrXEmJなので、新らたなコード
の音の発音は行なわずにステップ24でポインタを+1
する。
2番地のタイミングデータTnは「3」であるから、テ
ンポカウンタ15が「3」になるとステップ22へ進む
が、そのコードデータはやはり無効データ「×C」なの
で、新らたなコード音の発音は行なわずにステップ24
でポインタを+1する。
ンポカウンタ15が「3」になるとステップ22へ進む
が、そのコードデータはやはり無効データ「×C」なの
で、新らたなコード音の発音は行なわずにステップ24
でポインタを+1する。
3番地のタイミングデータTnは「48」であるから、
テンポカウンタ15が「48」になるとステップ22へ
進み、そのコードデータは有効なコードデータrFJな
ので、ステップ23でそのコードデータrFJを出力し
、Fメジャのコード音を発音させる。
テンポカウンタ15が「48」になるとステップ22へ
進み、そのコードデータは有効なコードデータrFJな
ので、ステップ23でそのコードデータrFJを出力し
、Fメジャのコード音を発音させる。
したがって、最初からCメジャのコード音が正しく押さ
れたように発音され、4gTCL間短縮されることなく
発音された後、Fメジャのコード音に変わる。
れたように発音され、4gTCL間短縮されることなく
発音された後、Fメジャのコード音に変わる。
以後同様にして正しいコード音演奏がなされる。
なお、メロディ音も同様に自動演奏されるが、その説明
は省略する。
は省略する。
第」」(l1−
前述の第1実施例では、−自分の押鍵タイミングどおり
の一連のコードデータをその入力タイミングデータと共
にRAM14に記録し、−曲終了後そのRAM14のデ
ータを補正処理するようにしたが、一連のコードデータ
をRAMに格納する入力時に同様な補正処理を行なうよ
うにしてもよい。
の一連のコードデータをその入力タイミングデータと共
にRAM14に記録し、−曲終了後そのRAM14のデ
ータを補正処理するようにしたが、一連のコードデータ
をRAMに格納する入力時に同様な補正処理を行なうよ
うにしてもよい。
すなわち、第2図に示した機能ブロック図に相当する動
作を第5図のマイクロコンピュータ10によって実現す
る場合について、第11図を参照して説明する。
作を第5図のマイクロコンピュータ10によって実現す
る場合について、第11図を参照して説明する。
その場合、例えばワーキングメモリ13内の2段のシフ
トレジスタ31.32 (第11図)を1時記録メモリ
として使用し、鍵盤回路21がらの押鍵情報によりCP
UI 1が判別してプログラムメモリ12から読出す一
連のコードデータを、そのタイミングデータと共に前後
2個ずつ順次2段のシフトレジスタ!il、32に一時
記憶させ、l!在のコードデータのタイミングデータT
nと1つ前のコードデータのタイミングデータTn−1
との差T n −T n−+ を予め設定した所定時
間であるしきい値Trと比較し、 T n −T rl
−I(T r の時はこの1つ前のコードデータは無
効にし、Tn−Tn−+≧Tr の時は1つ前のコー
ドデータをそのタイミングデータと共にRAM14に書
き込むようにする。
トレジスタ31.32 (第11図)を1時記録メモリ
として使用し、鍵盤回路21がらの押鍵情報によりCP
UI 1が判別してプログラムメモリ12から読出す一
連のコードデータを、そのタイミングデータと共に前後
2個ずつ順次2段のシフトレジスタ!il、32に一時
記憶させ、l!在のコードデータのタイミングデータT
nと1つ前のコードデータのタイミングデータTn−1
との差T n −T n−+ を予め設定した所定時
間であるしきい値Trと比較し、 T n −T rl
−I(T r の時はこの1つ前のコードデータは無
効にし、Tn−Tn−+≧Tr の時は1つ前のコー
ドデータをそのタイミングデータと共にRAM14に書
き込むようにする。
この場合、無効と判断されたコードデータの継続時間分
だけ次の有効なコードデータの継続時間が短かくなるの
で、小節毎あるいは2分音符相当毎の基準タイミングデ
ータ(例えば32分音符号相当、3丁CL)以下の長さ
のコードデータ(S効データ)のタイミングデータ(無
効データが続いた場合はその最初のタイミングデータ)
を、その後の最近傍の有効なコードデータのタイミング
データとしてRAM14にとり込むようにすればよい。
だけ次の有効なコードデータの継続時間が短かくなるの
で、小節毎あるいは2分音符相当毎の基準タイミングデ
ータ(例えば32分音符号相当、3丁CL)以下の長さ
のコードデータ(S効データ)のタイミングデータ(無
効データが続いた場合はその最初のタイミングデータ)
を、その後の最近傍の有効なコードデータのタイミング
データとしてRAM14にとり込むようにすればよい。
自動演奏時の動作は、第1実施例の場合と同じなのでそ
の説明を省略する。
の説明を省略する。
】」」U1舊
次に、第3図に示した機能ブロック図に相当する動作を
第5図のマイクロコンピュータ10によって実現する場
合について、第12図及び第15図のフローチャートを
参照して説明する。
第5図のマイクロコンピュータ10によって実現する場
合について、第12図及び第15図のフローチャートを
参照して説明する。
この実施例は、−自分の押鍵タイミングどおりの一連の
コードデータをその入力タイミングデータと共にRAM
14(第3図ではメモリ1に格納し、自動演奏時にRA
M14からその記憶データを読出す際に前述と同様な補
正処理を行なうようにしたものである。
コードデータをその入力タイミングデータと共にRAM
14(第3図ではメモリ1に格納し、自動演奏時にRA
M14からその記憶データを読出す際に前述と同様な補
正処理を行なうようにしたものである。
第12図は自動演奏(再生)時のメインルーチンのフロ
ーを示し、操作子入力回路22の自動演奏開始スイッチ
がオンになるとステップ30の判断がYESになり、ス
テップ31で初期セットする。この初期セットは、ポイ
ンタ及びテンポカウンタを0“にすると共に、この実施
例で新らたに使用する無効コードを含むタイミングデー
タをカウントするための無効コードカウンタ(以下「X
コードカウンタ」と称する)も00#にする。
ーを示し、操作子入力回路22の自動演奏開始スイッチ
がオンになるとステップ30の判断がYESになり、ス
テップ31で初期セットする。この初期セットは、ポイ
ンタ及びテンポカウンタを0“にすると共に、この実施
例で新らたに使用する無効コードを含むタイミングデー
タをカウントするための無効コードカウンタ(以下「X
コードカウンタ」と称する)も00#にする。
そして、ステップ32でテンポクロックTCLが入力し
たか(あるいはシステムク、ロックのカウント値がテン
ポクロックの周期になったか)を判断し、テンポクロツ
タのタイミングでステップ33のサブルーチンに進む。
たか(あるいはシステムク、ロックのカウント値がテン
ポクロックの周期になったか)を判断し、テンポクロツ
タのタイミングでステップ33のサブルーチンに進む。
このサブルーチンを抜けるとステップ34でENDマー
クか否かを判断し、YESであれば終了し、Noであれ
ばステップ32へ戻ってテンポクロックのタイミング毎
にステップ33のサブルーチンの処理を実行する。
クか否かを判断し、YESであれば終了し、Noであれ
ばステップ32へ戻ってテンポクロックのタイミング毎
にステップ33のサブルーチンの処理を実行する。
ステップ33のサブルーチンでは、第13図のフローチ
ャートに示す処理を行なう。
ャートに示す処理を行なう。
先ず、ステップ35でXコードカウンタが0″か否かを
判断し、0“でなければステップ44へ進んでXコード
カウンタの値を−1してメインルーチンへリターンする
が、最初は0゛なのでステップ36へ進んでポインタの
値をポインタレジスタに記憶させる。
判断し、0“でなければステップ44へ進んでXコード
カウンタの値を−1してメインルーチンへリターンする
が、最初は0゛なのでステップ36へ進んでポインタの
値をポインタレジスタに記憶させる。
そして、ステップ37でポインタの値を+1し。
ステップ38でその時のポインタの示す位置のデータが
コードデータか否かを判断し、コードデータでなければ
(ENDデータならば)何もせずにメインルーチンへリ
ターンするが、コードデータであればステップ39へ進
む。
コードデータか否かを判断し、コードデータでなければ
(ENDデータならば)何もせずにメインルーチンへリ
ターンするが、コードデータであればステップ39へ進
む。
ステップ39では、ポインタの示す位置のタイミングデ
ータTnとポインタレジスタの示すタイミングデータT
rs(1つ前のコードのタイミングデータ)の差T n
−T rs をしきい値Trと比較して、T n −
T rs (T rでなければステップ42へ進んで、
ポインタレジスタの示すコードデータを楽音信号形成回
路23(第5図)へ出力して、そのコード音を発音させ
る。
ータTnとポインタレジスタの示すタイミングデータT
rs(1つ前のコードのタイミングデータ)の差T n
−T rs をしきい値Trと比較して、T n −
T rs (T rでなければステップ42へ進んで、
ポインタレジスタの示すコードデータを楽音信号形成回
路23(第5図)へ出力して、そのコード音を発音させ
る。
そして、ステップ43でXコードカウンタを−Tn−T
rI−1″だけ進めてメインルーチンへリターンする。
rI−1″だけ進めてメインルーチンへリターンする。
しかし、T n −Tn−+<T rであれば、ステッ
プ40へ進んでポインタの値を再びポインタレジスタに
記憶させて、ステップ41で×コードカウンタの値をT
n −T n−+”だけ進めてステップ37へ戻る。
プ40へ進んでポインタの値を再びポインタレジスタに
記憶させて、ステップ41で×コードカウンタの値をT
n −T n−+”だけ進めてステップ37へ戻る。
連続する2つのコードデータ間の時間間隔が所定値Tr
より短かい間は、このステップ37〜41を繰返し回っ
て、その間の無効データのタイミングデータの差をXコ
ードカウンタに加算していく。
より短かい間は、このステップ37〜41を繰返し回っ
て、その間の無効データのタイミングデータの差をXコ
ードカウンタに加算していく。
したがって、RAM4に例えば第8図の左側に示したよ
うなコードデータとそのタイミングデータが格納されて
いてこれが図の上側のデータから順次読出されるとする
と、ステップ37〜41の1回目の処理でXコードカウ
ンタが1” (Tn−T n−1= 1−0 = 1
)になり、2回目の処理でXコードカウンタが3 ”
(T n T n+ = 3−1 =2)になる
。
うなコードデータとそのタイミングデータが格納されて
いてこれが図の上側のデータから順次読出されるとする
と、ステップ37〜41の1回目の処理でXコードカウ
ンタが1” (Tn−T n−1= 1−0 = 1
)になり、2回目の処理でXコードカウンタが3 ”
(T n T n+ = 3−1 =2)になる
。
そして、3回目の処理時のステップ39でTnTn−+
= 48−3 = 45>T r (T rは例えば
「3」)になるので、ステップ42へ進んで、その時の
ポインタレジスタの示すコードデータ「C」を出力し、
Cメジャのコード音を発生させ、ステップ43でXコー
ドカウンタを45゛進めて48″にする。
= 48−3 = 45>T r (T rは例えば
「3」)になるので、ステップ42へ進んで、その時の
ポインタレジスタの示すコードデータ「C」を出力し、
Cメジャのコード音を発生させ、ステップ43でXコー
ドカウンタを45゛進めて48″にする。
このステップ37〜43を図るのは極めて周波数の高い
システムクロックによるので、Cメジャのコード音が発
音されるまでの時間遅れは極めて少なく、最初のコード
データrGJが読出されたタイミングと殆んど変らない
。
システムクロックによるので、Cメジャのコード音が発
音されるまでの時間遅れは極めて少なく、最初のコード
データrGJが読出されたタイミングと殆んど変らない
。
その後、第12図のメインルーチンに戻り、次のテンポ
クロックのタイミングで再びこのサブルーチンに入って
ステップ44へ進んでXコードカウンタの値を−1し、
これをXコードカウンタが0“になるまで繰返した後、
第13図のステップ36以降へ進み、第8図のコードデ
ータ「F」と次のコードデータ(図示せず)のタイミン
グデータの差がTr以上であれば、Fメジャのコード音
を発音させ、次の有効なコードデータの出力タイミング
まで継続する。
クロックのタイミングで再びこのサブルーチンに入って
ステップ44へ進んでXコードカウンタの値を−1し、
これをXコードカウンタが0“になるまで繰返した後、
第13図のステップ36以降へ進み、第8図のコードデ
ータ「F」と次のコードデータ(図示せず)のタイミン
グデータの差がTr以上であれば、Fメジャのコード音
を発音させ、次の有効なコードデータの出力タイミング
まで継続する。
順次このような補正処理を行なってコード音を発生させ
ることにより、所定時間未満の短かいコードデータを無
効にした分の発音時間遅れや、有効なコード音の発音時
間が短縮されることを訪いで、きれいに補正されたコー
ド音を所期の発音タイミングで発生させることができる
。
ることにより、所定時間未満の短かいコードデータを無
効にした分の発音時間遅れや、有効なコード音の発音時
間が短縮されることを訪いで、きれいに補正されたコー
ド音を所期の発音タイミングで発生させることができる
。
なお、第12図のステップ34でENDマークになると
処理を終了し、発音も停止させる。
処理を終了し、発音も停止させる。
叉夏X生麦反■
上述の各実施例においては、コードデータと共にその入
力タイミングデータをメモリに格納して補正処理及び自
動演奏時の発音時間を決めるために使用したが、これに
代えて、各コードデータと共にその継続時間(押鍵時間
に相当する)データをメモリに格納するようにして、そ
れを用いてコードデータの補正処理及び自動演奏時の発
音時間の決定を行なうようにしてもよい。
力タイミングデータをメモリに格納して補正処理及び自
動演奏時の発音時間を決めるために使用したが、これに
代えて、各コードデータと共にその継続時間(押鍵時間
に相当する)データをメモリに格納するようにして、そ
れを用いてコードデータの補正処理及び自動演奏時の発
音時間の決定を行なうようにしてもよい。
また、フィンガードコード(3本指)入力でコードデー
タを発生させる場合に限らず、シングルフィンガコード
(1本指)入力でコードデータを発生させる場合にも1
例えばマイナコードの時には黒鍵をもう1つ同時に押鍵
するなど、2鍵以上を同時に押す必要がある場合があり
、そのような場合も、その押鍵タイミングのずれによっ
て不要なコードデータが発生してしまうことがあるので
、この発明を適用すると有効である。
タを発生させる場合に限らず、シングルフィンガコード
(1本指)入力でコードデータを発生させる場合にも1
例えばマイナコードの時には黒鍵をもう1つ同時に押鍵
するなど、2鍵以上を同時に押す必要がある場合があり
、そのような場合も、その押鍵タイミングのずれによっ
て不要なコードデータが発生してしまうことがあるので
、この発明を適用すると有効である。
さらに、この発明は自動演奏機能付電子楽器に限らず、
演奏データによって楽譜を表示及び(又゛は)プリント
する機能を有する電子楽器や、電子楽器とは別体の演奏
データ処理あるいは自動演奏専用の装置等にも適用でき
ることは勿論である。
演奏データによって楽譜を表示及び(又゛は)プリント
する機能を有する電子楽器や、電子楽器とは別体の演奏
データ処理あるいは自動演奏専用の装置等にも適用でき
ることは勿論である。
以上説明してきたように、この発明によれば、コード演
奏時の押鍵のわずかなずれによって誤って発生される不
要なコードデータを無効にして、所要のコードデータの
みを正確なタイミングで順次出力することができ、それ
によって演奏者が意図したとおりのコード(和音)を自
動演奏させたり、楽器に表示あるいはブiノントしたり
することができる。
奏時の押鍵のわずかなずれによって誤って発生される不
要なコードデータを無効にして、所要のコードデータの
みを正確なタイミングで順次出力することができ、それ
によって演奏者が意図したとおりのコード(和音)を自
動演奏させたり、楽器に表示あるいはブiノントしたり
することができる。
第1図はこの発明の第1実施例に相当する機能ブロック
図。 第2図はこの発明の第2実施例に相当する機能ブロック
図、 第31i!!fはこの発明の第3実施例に相当する機能
ブロック図。 第4図はこの発明によるコードデータ補正処理の説明に
供する説明図、 第5図はこの発明マイクロコンピュータを用いた自動演
奏機能付電子オルガンに適用した実施例のブロック構成
図。 第6図及び第7図は第5図のマイクロコンピュータによ
るこの発明の第1実施例に相当するコードデータ補正処
理のフロー図、 第8図及び第9図は同じくそのコードデータ補正処理例
を示す説明図、 第10図は同じくその自動演奏時のコードデータ再生処
理のフロー図、 第11図は第5図のマイクロコンピュータによるこの発
明の第2実施例に相当するコードデータ補正処理に用い
る2段のシフトレジスタの説明図、 第12図及び第13図は第5Wiのマイクロコンビコー
タによる発明の第3実施例に相当する自動演奏時のコー
ドデータ補正処理のフロー図、 1・・・メモリ 2・・・補正手段3・・
・時間間隔検知手段 4・・・判別手段5・・・デー
タ修正手段 11・・・中央処理装置1l(cPU)12・・・プロ
グラムメモリ(ROM)13・・・ワーキングメモリ(
RAM)14・・・バッファメモリ(RAM) 15・・・テンポカウンタ 16・・・テンポクロック発生器 演奏データ処理装置の機能ブロック図(第1実施例)第
1図 IK中曜争鞍短回鷹 嵌拳躯苧碗
偏回鑑@IIiwtsIl Cコード Fコード演奏直接格
納時のデータ 補正途中のデータ 補正途中のデータ コードデータ補正処理の説明図 第4図 w4コンを用いた実施例のブロツ/図 第5図 第“l丙 第8図 第11図 再生時のメインルーチン(第3実施例)第12図
図。 第2図はこの発明の第2実施例に相当する機能ブロック
図、 第31i!!fはこの発明の第3実施例に相当する機能
ブロック図。 第4図はこの発明によるコードデータ補正処理の説明に
供する説明図、 第5図はこの発明マイクロコンピュータを用いた自動演
奏機能付電子オルガンに適用した実施例のブロック構成
図。 第6図及び第7図は第5図のマイクロコンピュータによ
るこの発明の第1実施例に相当するコードデータ補正処
理のフロー図、 第8図及び第9図は同じくそのコードデータ補正処理例
を示す説明図、 第10図は同じくその自動演奏時のコードデータ再生処
理のフロー図、 第11図は第5図のマイクロコンピュータによるこの発
明の第2実施例に相当するコードデータ補正処理に用い
る2段のシフトレジスタの説明図、 第12図及び第13図は第5Wiのマイクロコンビコー
タによる発明の第3実施例に相当する自動演奏時のコー
ドデータ補正処理のフロー図、 1・・・メモリ 2・・・補正手段3・・
・時間間隔検知手段 4・・・判別手段5・・・デー
タ修正手段 11・・・中央処理装置1l(cPU)12・・・プロ
グラムメモリ(ROM)13・・・ワーキングメモリ(
RAM)14・・・バッファメモリ(RAM) 15・・・テンポカウンタ 16・・・テンポクロック発生器 演奏データ処理装置の機能ブロック図(第1実施例)第
1図 IK中曜争鞍短回鷹 嵌拳躯苧碗
偏回鑑@IIiwtsIl Cコード Fコード演奏直接格
納時のデータ 補正途中のデータ 補正途中のデータ コードデータ補正処理の説明図 第4図 w4コンを用いた実施例のブロツ/図 第5図 第“l丙 第8図 第11図 再生時のメインルーチン(第3実施例)第12図
Claims (1)
- 【特許請求の範囲】 1 鍵盤における押鍵情報に基づいて発生される一連の
コードデータをその入力タイミング又は継続時間データ
と共に格納するメモリと、 前記一連のコードデータの前記メモリへの格納時又は該
メモリからの読出し時に該コードデータを補正する補正
手段とを備えた演奏データ処理装置であつて、 前記補正手段が、 (a)前記一連のコードデータの連続する前後のコード
データ間の時間間隔を各コードデータの前記入力タイミ
ング又は継続時間データによつて検知する時間間隔検知
手段と、 (b)該手段によつて検知された時間間隔が予め設定し
た所定時間より長いか短かいかを判別する判別手段と、 (c)該判別手段によつて上記時間間隔が所定時間より
短かいと判別された時には、該前後のコードデータのう
ち前の方のコードデータを無効にして、そのコードデー
タの入力又は読出しタイミングで後の方のコードデータ
が入力又は読出されたものとするデータ修正を行なうデ
ータ修正手段 とからなることを特徴とする演奏データ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60014378A JPH0640270B2 (ja) | 1985-01-30 | 1985-01-30 | 和音進行記憶再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60014378A JPH0640270B2 (ja) | 1985-01-30 | 1985-01-30 | 和音進行記憶再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61174599A true JPS61174599A (ja) | 1986-08-06 |
JPH0640270B2 JPH0640270B2 (ja) | 1994-05-25 |
Family
ID=11859381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60014378A Expired - Fee Related JPH0640270B2 (ja) | 1985-01-30 | 1985-01-30 | 和音進行記憶再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0640270B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6384189U (ja) * | 1986-11-21 | 1988-06-02 | ||
JPS63298292A (ja) * | 1987-05-29 | 1988-12-06 | ヤマハ株式会社 | 電子楽器のシ−ケンサ |
JPH0189933U (ja) * | 1987-12-09 | 1989-06-13 | ||
US4889026A (en) * | 1987-05-29 | 1989-12-26 | Yamaha Corporation | Sequencer unit of electronic musical instrument |
JPH04112597U (ja) * | 1991-03-14 | 1992-09-30 | 横河電機株式会社 | 超音波送受波器 |
JP2004151688A (ja) * | 2002-10-31 | 2004-05-27 | Roland Europ Spa | 電子楽器 |
JP2016050985A (ja) * | 2014-08-29 | 2016-04-11 | ヤマハ株式会社 | 演奏情報編集装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57114193A (en) * | 1980-12-31 | 1982-07-15 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5891798U (ja) * | 1981-12-15 | 1983-06-21 | カシオ計算機株式会社 | 電子楽器 |
-
1985
- 1985-01-30 JP JP60014378A patent/JPH0640270B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57114193A (en) * | 1980-12-31 | 1982-07-15 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS5891798U (ja) * | 1981-12-15 | 1983-06-21 | カシオ計算機株式会社 | 電子楽器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6384189U (ja) * | 1986-11-21 | 1988-06-02 | ||
JPS63298292A (ja) * | 1987-05-29 | 1988-12-06 | ヤマハ株式会社 | 電子楽器のシ−ケンサ |
US4889026A (en) * | 1987-05-29 | 1989-12-26 | Yamaha Corporation | Sequencer unit of electronic musical instrument |
JPH07104668B2 (ja) * | 1987-05-29 | 1995-11-13 | ヤマハ株式会社 | 電子楽器のシ−ケンサ |
JPH0189933U (ja) * | 1987-12-09 | 1989-06-13 | ||
JPH04112597U (ja) * | 1991-03-14 | 1992-09-30 | 横河電機株式会社 | 超音波送受波器 |
JP2004151688A (ja) * | 2002-10-31 | 2004-05-27 | Roland Europ Spa | 電子楽器 |
JP4632646B2 (ja) * | 2002-10-31 | 2011-02-16 | ローランド エウローペ ソシエタ ペル アチオニ | 電子楽器およびプログラム |
JP2016050985A (ja) * | 2014-08-29 | 2016-04-11 | ヤマハ株式会社 | 演奏情報編集装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH0640270B2 (ja) | 1994-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4881440A (en) | Electronic musical instrument with editor | |
JPH0631978B2 (ja) | 電子楽器の自動伴奏装置 | |
US4953438A (en) | Automatic performance apparatus storing and editing performance information | |
JPS61174599A (ja) | 和音進行記憶再生装置 | |
JP2756877B2 (ja) | フレーズ演奏装置 | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
US4244258A (en) | Rhythm system for electronic organ | |
JPH0259474B2 (ja) | ||
JP2768233B2 (ja) | 電子楽器 | |
US5298677A (en) | Automatic playing apparatus having reduced memory requirements | |
JPS6023352B2 (ja) | 電子楽器 | |
JPS61256391A (ja) | 自動演奏装置 | |
US5260509A (en) | Auto-accompaniment instrument with switched generation of various phrase tones | |
JPH0350279B2 (ja) | ||
JP2570562B2 (ja) | 自動演奏装置及び自動伴奏装置 | |
JPH0314714Y2 (ja) | ||
JP2623175B2 (ja) | 自動演奏装置 | |
JPH07121177A (ja) | 自動伴奏装置 | |
JPH08152878A (ja) | 自動演奏装置 | |
JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
JPH0343638B2 (ja) | ||
JPH0515279B2 (ja) | ||
JPS61175691A (ja) | 自動演奏装置 | |
JPH0710398Y2 (ja) | 演奏パターン入力装置 | |
JP2974471B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |