JPH1185153A - 演奏装置 - Google Patents
演奏装置Info
- Publication number
- JPH1185153A JPH1185153A JP9242542A JP24254297A JPH1185153A JP H1185153 A JPH1185153 A JP H1185153A JP 9242542 A JP9242542 A JP 9242542A JP 24254297 A JP24254297 A JP 24254297A JP H1185153 A JPH1185153 A JP H1185153A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- switch
- data
- playing
- register
- 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.)
- Abandoned
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【課題】 各種態様の「ワンキープレイ」を楽しむこと
ができる演奏装置を実現する。 【解決手段】 伴奏パートは演奏アドレスに従って自動
演奏され、一方、演奏パートは先行アドレスに応じて順
次演奏データの読み出しが進められ、ワンキープレイさ
れたら、その操作タイミングに対応する演奏データを即
座に再生させるので、伴奏パートの演奏を進行させなが
ら、演奏パートをワンキープレイさせたり、その演奏パ
ートにおいて曲の途中からワンキープレイを始めること
ができる。また、演奏パートについては、先行アドレス
に従って演奏データを先行読み出しておき、本来のイベ
ントタイミングより早目にワンキープレイしたり、その
イベント期間中に複数回ワンキープレイした場合でも、
それらワンキープレイしたタイミングが先行読み出しさ
れたイベント期間中であれば、そのイベントの楽音を即
座に発音させるので、音楽的に不自然さなく演奏し得
る。
ができる演奏装置を実現する。 【解決手段】 伴奏パートは演奏アドレスに従って自動
演奏され、一方、演奏パートは先行アドレスに応じて順
次演奏データの読み出しが進められ、ワンキープレイさ
れたら、その操作タイミングに対応する演奏データを即
座に再生させるので、伴奏パートの演奏を進行させなが
ら、演奏パートをワンキープレイさせたり、その演奏パ
ートにおいて曲の途中からワンキープレイを始めること
ができる。また、演奏パートについては、先行アドレス
に従って演奏データを先行読み出しておき、本来のイベ
ントタイミングより早目にワンキープレイしたり、その
イベント期間中に複数回ワンキープレイした場合でも、
それらワンキープレイしたタイミングが先行読み出しさ
れたイベント期間中であれば、そのイベントの楽音を即
座に発音させるので、音楽的に不自然さなく演奏し得
る。
Description
【0001】
【発明の属する技術分野】本発明は、電子楽器等に用い
て好適な演奏装置に関する。
て好適な演奏装置に関する。
【0002】
【従来の技術】従来より、「ワンキープレイ」と呼ば
れ、半自動的な演奏を実現する演奏装置が知られてい
る。この「ワンキープレイ」とは、例えば、「ワンキー
プレイ」用に設けられた専用の演奏操作キーが操作され
る度に、一音づつ発音させて楽曲を演奏する形態を指
す。
れ、半自動的な演奏を実現する演奏装置が知られてい
る。この「ワンキープレイ」とは、例えば、「ワンキー
プレイ」用に設けられた専用の演奏操作キーが操作され
る度に、一音づつ発音させて楽曲を演奏する形態を指
す。
【0003】このような演奏装置は、楽曲を形成する各
音符の音高および符長を表わす演奏データを各演奏パー
ト毎にメモリ記憶しておき、所望の演奏パートの演奏デ
ータについて、キー操作がなされる度に、メモリ記憶さ
れた演奏データを一音づつ読み出して発音するように構
成する場合が多い。
音符の音高および符長を表わす演奏データを各演奏パー
ト毎にメモリ記憶しておき、所望の演奏パートの演奏デ
ータについて、キー操作がなされる度に、メモリ記憶さ
れた演奏データを一音づつ読み出して発音するように構
成する場合が多い。
【0004】
【発明が解決しようとする課題】ところで、上述した従
来の演奏装置による「ワンキープレイ」では、次のよう
な問題が生じている。 楽曲の演奏を進行させるには、演奏操作キーをオンオ
フ操作し続けて行かねばならず、これ故、例えば、伴奏
パートの演奏を自動的に進行させつつ、ある特定の演奏
パートについては「ワンキープレイ」させたり、その特
定パートにおいて曲の途中から「ワンキープレイ」する
ことができない、という問題がある。
来の演奏装置による「ワンキープレイ」では、次のよう
な問題が生じている。 楽曲の演奏を進行させるには、演奏操作キーをオンオ
フ操作し続けて行かねばならず、これ故、例えば、伴奏
パートの演奏を自動的に進行させつつ、ある特定の演奏
パートについては「ワンキープレイ」させたり、その特
定パートにおいて曲の途中から「ワンキープレイ」する
ことができない、という問題がある。
【0005】また、操作に不慣れなユーザーでは、演
奏データにより定義される本来のタイミングを逃してオ
ン操作することがままあり、このような場合、従来のも
のでは、そのまま「ワンキープレイ」すると、再生され
る楽曲が音楽的に不自然になってしまう、という弊害も
起こり得た。
奏データにより定義される本来のタイミングを逃してオ
ン操作することがままあり、このような場合、従来のも
のでは、そのまま「ワンキープレイ」すると、再生され
る楽曲が音楽的に不自然になってしまう、という弊害も
起こり得た。
【0006】さらに、従来の演奏装置では、ユーザー
の好みに応じて「ワンキープレイ」するパートを自動演
奏させたり、元の「ワンキープレイ」に戻したりするこ
とができない、という問題もある。
の好みに応じて「ワンキープレイ」するパートを自動演
奏させたり、元の「ワンキープレイ」に戻したりするこ
とができない、という問題もある。
【0007】要するに、以上を換言すれば、従来の演奏
装置では、演奏操作キーが操作される度に一音づつ発音
させて楽曲を演奏するという画一的な「ワンキープレ
イ」にとどまり、上述した各種態様の「ワンキープレ
イ」を楽しむことができない、という問題が生じてい
る。
装置では、演奏操作キーが操作される度に一音づつ発音
させて楽曲を演奏するという画一的な「ワンキープレ
イ」にとどまり、上述した各種態様の「ワンキープレ
イ」を楽しむことができない、という問題が生じてい
る。
【0008】そこで、本発明はこのような事情に鑑みて
なされたもので、各種態様の「ワンキープレイ」を楽し
むことができる演奏装置を提供することを目的としてい
る。
なされたもので、各種態様の「ワンキープレイ」を楽し
むことができる演奏装置を提供することを目的としてい
る。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明では、演奏イベントおよびそ
のタイミングからなる演奏データを複数パート毎に記憶
する記憶手段と、この記憶手段に記憶される複数パート
の内、演奏操作子の操作に応じて再生される演奏パート
以外の他のパートの各演奏データを、楽曲の進行と共に
歩進する第1のアドレスに従って読み出して自動演奏す
る自動演奏手段と、前記第1のアドレスをオフセットさ
せた第2のアドレスに応じて前記記憶手段から前記他の
パートに対して演奏パートの演奏データを先行読み出し
して行き、この先行読み出しされた演奏データのイベン
ト期間中に、前記演奏操作子が操作された時には即座に
その演奏イベントに対応する楽音を再生する再生手段と
を具備することを特徴としている。
め、請求項1に記載の発明では、演奏イベントおよびそ
のタイミングからなる演奏データを複数パート毎に記憶
する記憶手段と、この記憶手段に記憶される複数パート
の内、演奏操作子の操作に応じて再生される演奏パート
以外の他のパートの各演奏データを、楽曲の進行と共に
歩進する第1のアドレスに従って読み出して自動演奏す
る自動演奏手段と、前記第1のアドレスをオフセットさ
せた第2のアドレスに応じて前記記憶手段から前記他の
パートに対して演奏パートの演奏データを先行読み出し
して行き、この先行読み出しされた演奏データのイベン
ト期間中に、前記演奏操作子が操作された時には即座に
その演奏イベントに対応する楽音を再生する再生手段と
を具備することを特徴としている。
【0010】上記請求項1に従属する請求項2に記載の
発明によれば、前記再生手段は、演奏操作子が所定期
間、操作し続けられたら前記演奏パートの演奏データを
自動演奏する自動演奏モードに遷移し、この自動演奏モ
ード中に再び演奏操作子が操作されたら元のモードに復
帰するモード変更手段を備えることを特徴とする。
発明によれば、前記再生手段は、演奏操作子が所定期
間、操作し続けられたら前記演奏パートの演奏データを
自動演奏する自動演奏モードに遷移し、この自動演奏モ
ード中に再び演奏操作子が操作されたら元のモードに復
帰するモード変更手段を備えることを特徴とする。
【0011】また、上記請求項1に従属する請求項3に
記載の発明によれば、前記再生手段は、演奏パートの演
奏データにおいて発音タイミングが僅かに異なる演奏デ
ータが複数存在する場合、それらを同一タイミングと見
做して同時発音させることを特徴としている。
記載の発明によれば、前記再生手段は、演奏パートの演
奏データにおいて発音タイミングが僅かに異なる演奏デ
ータが複数存在する場合、それらを同一タイミングと見
做して同時発音させることを特徴としている。
【0012】本発明では、記憶手段に記憶される複数パ
ートの内、演奏操作子の操作に応じて再生される演奏パ
ート以外の他のパートの各演奏データを、楽曲の進行と
共に歩進する第1のアドレスに従って読み出して自動演
奏する一方で、この第1のアドレスをオフセットさせた
第2のアドレスに応じて前記記憶手段から前記他のパー
トに対して演奏パートの演奏データを先行読み出しして
行き、この先行読み出しされた演奏データのイベント期
間中に、前記演奏操作子が操作された時には即座にその
演奏イベントに対応する楽音を再生する。このため、他
のパートの演奏を進行させながら、演奏パートを「ワン
キープレイ」させたり、その演奏パートにおいて曲の途
中から「ワンキープレイ」を始めることができる。
ートの内、演奏操作子の操作に応じて再生される演奏パ
ート以外の他のパートの各演奏データを、楽曲の進行と
共に歩進する第1のアドレスに従って読み出して自動演
奏する一方で、この第1のアドレスをオフセットさせた
第2のアドレスに応じて前記記憶手段から前記他のパー
トに対して演奏パートの演奏データを先行読み出しして
行き、この先行読み出しされた演奏データのイベント期
間中に、前記演奏操作子が操作された時には即座にその
演奏イベントに対応する楽音を再生する。このため、他
のパートの演奏を進行させながら、演奏パートを「ワン
キープレイ」させたり、その演奏パートにおいて曲の途
中から「ワンキープレイ」を始めることができる。
【0013】しかも演奏データにより定義される本来の
タイミングを逃して演奏操作子を操作しても、先行読み
出しされた演奏データのイベント期間中に、演奏操作子
が操作された時には即座にその演奏イベントに対応する
楽音を再生するから、音楽的に不自然さなく演奏され
る。
タイミングを逃して演奏操作子を操作しても、先行読み
出しされた演奏データのイベント期間中に、演奏操作子
が操作された時には即座にその演奏イベントに対応する
楽音を再生するから、音楽的に不自然さなく演奏され
る。
【0014】また、演奏操作子が所定期間、操作し続け
られると、再生手段は第1の演奏データを自動演奏する
自動演奏モードに遷移し、この自動演奏モード中に再び
演奏操作子が操作されたら元のワンキープレイモードに
復帰するので、ユーザーの好みに応じて「ワンキープレ
イ」するパートを自動演奏させたり、元の「ワンキープ
レイ」に戻したりすることが可能になる。
られると、再生手段は第1の演奏データを自動演奏する
自動演奏モードに遷移し、この自動演奏モード中に再び
演奏操作子が操作されたら元のワンキープレイモードに
復帰するので、ユーザーの好みに応じて「ワンキープレ
イ」するパートを自動演奏させたり、元の「ワンキープ
レイ」に戻したりすることが可能になる。
【0015】
【発明の実施の形態】本発明による演奏装置は、周知の
電子楽器はもとより、コンピュータを用いたデジタル楽
器等に適用され得る。以下では、本発明の実施の形態で
ある演奏装置を実施例として図面を参照して説明する。
電子楽器はもとより、コンピュータを用いたデジタル楽
器等に適用され得る。以下では、本発明の実施の形態で
ある演奏装置を実施例として図面を参照して説明する。
【0016】A.実施例の構成 図1は、本発明の一実施例による演奏装置の構成を示す
ブロック図である。この図において、1はワンキープレ
イ用の演奏スイッチであり、押下操作(以下、これをオ
ン操作と称す)されたら発音を指示し、離されたら(以
下、これをオフ操作と称する)消音を指示する操作信号
を生成する。
ブロック図である。この図において、1はワンキープレ
イ用の演奏スイッチであり、押下操作(以下、これをオ
ン操作と称す)されたら発音を指示し、離されたら(以
下、これをオフ操作と称する)消音を指示する操作信号
を生成する。
【0017】この演奏スイッチ1は、タッチ検出機能を
有するタッチ付き演奏スイッチ1aと、タッチ無しの演
奏スイッチ1bとからなり、タッチ付き演奏スイッチ1
aがオン操作された場合には上記操作信号と共にタッチ
信号を生成する。なお、これらスイッチ1a,1bは、
ワンキープレイ用の専用スイッチではなく、鍵盤上の所
定の鍵に代えても良い。
有するタッチ付き演奏スイッチ1aと、タッチ無しの演
奏スイッチ1bとからなり、タッチ付き演奏スイッチ1
aがオン操作された場合には上記操作信号と共にタッチ
信号を生成する。なお、これらスイッチ1a,1bは、
ワンキープレイ用の専用スイッチではなく、鍵盤上の所
定の鍵に代えても良い。
【0018】2は装置パネル面上に配設されるパネルス
イッチである。このパネルスイッチ2の内には、電源を
オンオフする電源スイッチの他、ワンキープレイの開始
・停止を指示する開始/終了スイッチが設けられてい
る。この開始/終了スイッチは、後述するように、操作
される度に開始/終了をオルタネートに指示する所謂、
トグル的なスイッチである。
イッチである。このパネルスイッチ2の内には、電源を
オンオフする電源スイッチの他、ワンキープレイの開始
・停止を指示する開始/終了スイッチが設けられてい
る。この開始/終了スイッチは、後述するように、操作
される度に開始/終了をオルタネートに指示する所謂、
トグル的なスイッチである。
【0019】3は装置各部を制御するCPUであり、そ
の特徴的な動作については追って詳述する。4は上記C
PU3の指示の下に、内部クロック信号を分周して所定
のテンポクロック信号TCLを生成するテンポクロック
発生回路である。この回路4が出力するテンポクロック
信号TCLを用いて、上記CPU3が後述する「ワンキ
ープレイ」時の演奏テンポを制御する。
の特徴的な動作については追って詳述する。4は上記C
PU3の指示の下に、内部クロック信号を分周して所定
のテンポクロック信号TCLを生成するテンポクロック
発生回路である。この回路4が出力するテンポクロック
信号TCLを用いて、上記CPU3が後述する「ワンキ
ープレイ」時の演奏テンポを制御する。
【0020】5はCPU3にロードされる各種制御プロ
グラムの他、ワンキープレイ用の演奏データを記憶する
ROMである。ROM5に記憶される演奏データは、演
奏スイッチ1の操作形態に応じてワンキープレイもしく
は自動演奏される演奏パートと、自動演奏される伴奏パ
ートとから形成される複数のパート毎に、所謂、絶対時
間方式により楽曲を形成する各音符を記述したものであ
る。
グラムの他、ワンキープレイ用の演奏データを記憶する
ROMである。ROM5に記憶される演奏データは、演
奏スイッチ1の操作形態に応じてワンキープレイもしく
は自動演奏される演奏パートと、自動演奏される伴奏パ
ートとから形成される複数のパート毎に、所謂、絶対時
間方式により楽曲を形成する各音符を記述したものであ
る。
【0021】ここで、図2を参照して演奏データの一例
について説明する。この図に示すように、演奏データ
は、各音符の音高および発音・消音を区別するイベント
データID、そのタイミングを表わすタイミングデータ
TDおよび発音音量を表わすタッチデータTCDから形
成されており、これらが楽曲の進行に沿った時系列のア
ドレスAD順に記憶されている。
について説明する。この図に示すように、演奏データ
は、各音符の音高および発音・消音を区別するイベント
データID、そのタイミングを表わすタイミングデータ
TDおよび発音音量を表わすタッチデータTCDから形
成されており、これらが楽曲の進行に沿った時系列のア
ドレスAD順に記憶されている。
【0022】次に、再び図1を参照して実施例の構成に
ついて説明を進める。図1において、6はCPU4のワ
ークエリアとして用いられるRAMであり、各種レジス
タ・フラグデータが一時記憶される他、CPU3によっ
てROM5から読み出された演奏データを格納する演奏
データ記憶エリアも備える。この記憶エリアに格納され
た演奏パートおよび伴奏パートの各演奏データに基づ
き、後述する処理を施して各種態様の「ワンキープレ
イ」を実現する。
ついて説明を進める。図1において、6はCPU4のワ
ークエリアとして用いられるRAMであり、各種レジス
タ・フラグデータが一時記憶される他、CPU3によっ
てROM5から読み出された演奏データを格納する演奏
データ記憶エリアも備える。この記憶エリアに格納され
た演奏パートおよび伴奏パートの各演奏データに基づ
き、後述する処理を施して各種態様の「ワンキープレ
イ」を実現する。
【0023】7は周知の波形メモリ読み出し方式により
構成される音源である。この音源7は、各種音色の波形
データを記憶しており、CPU3の制御の下に、指定さ
れた音色の波形データを、上述の演奏データに応じて楽
音合成してなる楽音データを発生する。8は、音源7か
ら出力される楽音データをアナログ形式の楽音信号にD
/A変換した後、それを増幅してスピーカより放音させ
るサウンドシステムである。
構成される音源である。この音源7は、各種音色の波形
データを記憶しており、CPU3の制御の下に、指定さ
れた音色の波形データを、上述の演奏データに応じて楽
音合成してなる楽音データを発生する。8は、音源7か
ら出力される楽音データをアナログ形式の楽音信号にD
/A変換した後、それを増幅してスピーカより放音させ
るサウンドシステムである。
【0024】B.実施例の動作 次に、図3〜図13を参照して実施例の動作について説
明する。ここでは、最初にタイマ割込みにより一定周期
毎に実行されるスイッチ走査処理ルーチンの動作につい
て説明した後、メインルーチンの動作および当該メイン
ルーチンからコールされる各種処理ルーチンについて順
次説明して行く。
明する。ここでは、最初にタイマ割込みにより一定周期
毎に実行されるスイッチ走査処理ルーチンの動作につい
て説明した後、メインルーチンの動作および当該メイン
ルーチンからコールされる各種処理ルーチンについて順
次説明して行く。
【0025】(1)スイッチ走査処理ルーチンの動作 さて、上記構成による実施例に電源が投入されると、C
PU3はROM5から所定の制御プログラムを読み出し
てロードした後、タイマ割込みにより一定周期毎に図3
に示すスイッチ走査処理ルーチンを実行する。スイッチ
走査処理ルーチンでは、前述した演奏開始/終了スイッ
チや演奏スイッチ1の操作に応じて発生するスイッチイ
ベントを検出し、検出したスイッチイベントに対応した
処理を行うようになっており、以下、演奏開始/終了ス
イッチおよび演奏スイッチ1の操作に対応した処理につ
いて述べる。
PU3はROM5から所定の制御プログラムを読み出し
てロードした後、タイマ割込みにより一定周期毎に図3
に示すスイッチ走査処理ルーチンを実行する。スイッチ
走査処理ルーチンでは、前述した演奏開始/終了スイッ
チや演奏スイッチ1の操作に応じて発生するスイッチイ
ベントを検出し、検出したスイッチイベントに対応した
処理を行うようになっており、以下、演奏開始/終了ス
イッチおよび演奏スイッチ1の操作に対応した処理につ
いて述べる。
【0026】演奏開始/終了スイッチの操作に対応し
た処理 まず、スイッチ走査処理ルーチンが起動されると、CP
U3はステップSA1に進み、演奏開始/終了スイッチ
が新たにオン操作されたか否かを判断する。ここで、当
該スイッチが操作されなければ、後述するステップSA
9に処理を進めるが、当該スイッチがオン操作された時
には次のステップSA2に進む。ステップSA2では、
レジスタAPFに格納される自動演奏フラグをビット反
転させ、続くステップSA3ではこのビット反転された
自動演奏フラグが「1」であるか否かを判断する。
た処理 まず、スイッチ走査処理ルーチンが起動されると、CP
U3はステップSA1に進み、演奏開始/終了スイッチ
が新たにオン操作されたか否かを判断する。ここで、当
該スイッチが操作されなければ、後述するステップSA
9に処理を進めるが、当該スイッチがオン操作された時
には次のステップSA2に進む。ステップSA2では、
レジスタAPFに格納される自動演奏フラグをビット反
転させ、続くステップSA3ではこのビット反転された
自動演奏フラグが「1」であるか否かを判断する。
【0027】(イ)演奏開始 演奏開始/終了スイッチをオン操作して演奏を進行させ
る場合、レジスタAPFに格納される自動演奏フラグは
「1」になるので、上記ステップSA3の判断結果は
「YES」となり、ステップSA4に処理を進める。ス
テップSA4では、RAM6の演奏データ記憶エリアに
ストアされた演奏データからテンポ情報を抽出する。そ
して、ステップSA5に進み、このテンポ情報に対応し
た周期のテンポクロック信号TCLの発生開始をテンポ
クロック発生回路4に指示する。
る場合、レジスタAPFに格納される自動演奏フラグは
「1」になるので、上記ステップSA3の判断結果は
「YES」となり、ステップSA4に処理を進める。ス
テップSA4では、RAM6の演奏データ記憶エリアに
ストアされた演奏データからテンポ情報を抽出する。そ
して、ステップSA5に進み、このテンポ情報に対応し
た周期のテンポクロック信号TCLの発生開始をテンポ
クロック発生回路4に指示する。
【0028】(ロ)演奏終了 一方、演奏開始/終了スイッチをオン操作して演奏を停
止させる場合、自動演奏フラグは「0」となるので、上
記ステップSA3の判断結果は「NO」となり、ステッ
プSA6に処理を進める。ステップSA6では、テンポ
クロック発生回路4に対してテンポクロック信号TCL
の発生停止を指示し、続くステップSA7では、音源7
に対して全パート(演奏パートおよび伴奏パート)の各
楽音について消音を指示する。そして、ステップSA8
では、曲演奏に係わる全てのフラグ、レジスタおよびア
ドレスをリセットする。例えば、後述するレジスタCC
R,CCR’については、それぞれ「0」,「10」を
セットする。
止させる場合、自動演奏フラグは「0」となるので、上
記ステップSA3の判断結果は「NO」となり、ステッ
プSA6に処理を進める。ステップSA6では、テンポ
クロック発生回路4に対してテンポクロック信号TCL
の発生停止を指示し、続くステップSA7では、音源7
に対して全パート(演奏パートおよび伴奏パート)の各
楽音について消音を指示する。そして、ステップSA8
では、曲演奏に係わる全てのフラグ、レジスタおよびア
ドレスをリセットする。例えば、後述するレジスタCC
R,CCR’については、それぞれ「0」,「10」を
セットする。
【0029】なお、レジスタCCRとは、演奏パートを
自動演奏する際のタイミング指標となるテンポクロック
累算値を保持するレジスタである。一方、レジスタCC
R’とは、ワンキープレイされる演奏パートの演奏デー
タを、自動演奏される伴奏パートの演奏データに先立っ
て読み出す為に上記テンポクロック累算値に対して所定
クロック分をオフセットさせたものであり、本実施例の
場合、10クロック分先行するようオフセットしてい
る。以下では、レジスタCCRの値をテンポクロック累
算値と称し、一方、レジスタCCR’の値をユーザーテ
ンポクロック累算値と称している。
自動演奏する際のタイミング指標となるテンポクロック
累算値を保持するレジスタである。一方、レジスタCC
R’とは、ワンキープレイされる演奏パートの演奏デー
タを、自動演奏される伴奏パートの演奏データに先立っ
て読み出す為に上記テンポクロック累算値に対して所定
クロック分をオフセットさせたものであり、本実施例の
場合、10クロック分先行するようオフセットしてい
る。以下では、レジスタCCRの値をテンポクロック累
算値と称し、一方、レジスタCCR’の値をユーザーテ
ンポクロック累算値と称している。
【0030】演奏スイッチ1の操作に対応した処理 さて、以上のようにして、演奏開始/終了スイッチの操
作に対応した処理を行った後、CPU3は図4に示すス
テップSA9以降において演奏スイッチ1の操作に対応
した処理を実行する。なお、演奏開始/終了スイッチが
操作されない時にもステップSA9に処理を進める。そ
して、先ずステップSA9では、演奏スイッチ1の操作
状態を判別する。すなわち、新たに(オン又はオフ)操
作されていないか、新たにオン操作されたか、もしくは
新たにオフ操作されたかを判別し、その判別した状態に
応じた処理へ移行する。以下、各状態別の処理について
述べる。
作に対応した処理を行った後、CPU3は図4に示すス
テップSA9以降において演奏スイッチ1の操作に対応
した処理を実行する。なお、演奏開始/終了スイッチが
操作されない時にもステップSA9に処理を進める。そ
して、先ずステップSA9では、演奏スイッチ1の操作
状態を判別する。すなわち、新たに(オン又はオフ)操
作されていないか、新たにオン操作されたか、もしくは
新たにオフ操作されたかを判別し、その判別した状態に
応じた処理へ移行する。以下、各状態別の処理について
述べる。
【0031】(イ)演奏スイッチ1が操作されない場合 この場合、スイッチイベントが発生しないので、ステッ
プSA9を経てステップSA17に進み、その他のスイ
ッチ走査処理を行う。なお、ここで言うその他のスイッ
チ走査処理とは、例えば、曲選択スイッチ(図示略)の
操作に応じて選択された楽曲の演奏データを指定する
等、パネルスイッチ2に配設される各スイッチ操作に対
応した処理を行うことを指す。
プSA9を経てステップSA17に進み、その他のスイ
ッチ走査処理を行う。なお、ここで言うその他のスイッ
チ走査処理とは、例えば、曲選択スイッチ(図示略)の
操作に応じて選択された楽曲の演奏データを指定する
等、パネルスイッチ2に配設される各スイッチ操作に対
応した処理を行うことを指す。
【0032】(ロ)演奏スイッチ1がオン操作された場
合 これに対し、演奏スイッチ1がオン操作されて新たなス
イッチイベントが発生すると、上記ステップSA9の判
断を経てステップSA10に処理を進める。ステップS
A10では、レジスタNSCRの値を1インクリメント
して歩進させる。なお、このレジスタNSCRとは、ス
イッチイベント(オンイベント、オフイベント共)回数
をカウントするレジスタである。次いで、ステップSA
11では、オン操作された演奏スイッチ1が、タッチ付
き演奏スイッチ1aであるか、あるいはタッチ無しの演
奏スイッチ1bのいずれかを判断する。
合 これに対し、演奏スイッチ1がオン操作されて新たなス
イッチイベントが発生すると、上記ステップSA9の判
断を経てステップSA10に処理を進める。ステップS
A10では、レジスタNSCRの値を1インクリメント
して歩進させる。なお、このレジスタNSCRとは、ス
イッチイベント(オンイベント、オフイベント共)回数
をカウントするレジスタである。次いで、ステップSA
11では、オン操作された演奏スイッチ1が、タッチ付
き演奏スイッチ1aであるか、あるいはタッチ無しの演
奏スイッチ1bのいずれかを判断する。
【0033】ここで、オン操作された演奏スイッチ1
が、タッチ無しの演奏スイッチ1bであった時には、判
断結果が「NO」となり、ステップSA12に進み、レ
ジスタPSRに「10(2進表示)」をストアする。こ
のレジスタPSRは、演奏スイッチ状態を識別するデー
タを一時記憶するものであり、オフ状態では「00」が
セットされ、タッチ無しの演奏スイッチ1bがオン操作
された時には上記のように「10」がセットされ、さら
に、タッチ付きの演奏スイッチ1がオン操作された時に
は後述するように、「11」がセットされる。
が、タッチ無しの演奏スイッチ1bであった時には、判
断結果が「NO」となり、ステップSA12に進み、レ
ジスタPSRに「10(2進表示)」をストアする。こ
のレジスタPSRは、演奏スイッチ状態を識別するデー
タを一時記憶するものであり、オフ状態では「00」が
セットされ、タッチ無しの演奏スイッチ1bがオン操作
された時には上記のように「10」がセットされ、さら
に、タッチ付きの演奏スイッチ1がオン操作された時に
は後述するように、「11」がセットされる。
【0034】こうして、タッチ無しの演奏スイッチ1b
のオン操作に応じてレジスタPSRに「10」がセット
されると、CPU3はステップSA17に処理を進め、
その他のスイッチ走査処理を行った後、本ルーチンを完
了させて後述するメインルーチンに処理を戻す。
のオン操作に応じてレジスタPSRに「10」がセット
されると、CPU3はステップSA17に処理を進め、
その他のスイッチ走査処理を行った後、本ルーチンを完
了させて後述するメインルーチンに処理を戻す。
【0035】一方、タッチ付きの演奏スイッチ1aがオ
ン操作された時には、上述のステップSA11の判断結
果が「YES」となり、ステップSA13に処理を進め
る。ステップSA13では、演奏スイッチ1aのオン操
作に応じて発生するタッチデータを検出し、これをレジ
スタTDRにストアする。そして、ステップSA14に
進み、上記レジスタPSRに「11」をセットした後、
ステップSA17を介して本ルーチンを完了する。
ン操作された時には、上述のステップSA11の判断結
果が「YES」となり、ステップSA13に処理を進め
る。ステップSA13では、演奏スイッチ1aのオン操
作に応じて発生するタッチデータを検出し、これをレジ
スタTDRにストアする。そして、ステップSA14に
進み、上記レジスタPSRに「11」をセットした後、
ステップSA17を介して本ルーチンを完了する。
【0036】(ハ)演奏スイッチ1がオフ操作された場
合 演奏スイッチ1がオフ操作された場合には、上述したス
テップSA9を経てステップSA15に進み、レジスタ
NSCRの値を1インクリメントして歩進させ、続くス
テップSA16に進み、上記レジスタPSRに「00」
をセットしてからステップSA17に処理を進め、その
他のスイッチ走査処理を行った後、本ルーチンを完了さ
せて後述するメインルーチンに処理を戻す。
合 演奏スイッチ1がオフ操作された場合には、上述したス
テップSA9を経てステップSA15に進み、レジスタ
NSCRの値を1インクリメントして歩進させ、続くス
テップSA16に進み、上記レジスタPSRに「00」
をセットしてからステップSA17に処理を進め、その
他のスイッチ走査処理を行った後、本ルーチンを完了さ
せて後述するメインルーチンに処理を戻す。
【0037】(2)メインルーチンの動作(概略動作) 次に、図5を参照してメインルーチンの動作について説
明する。装置電源が投入されると、CPU3はROM5
から所定の制御プログラムを読み出し、図5に示すメイ
ンルーチンを起動してステップSB1に処理を進める。
ステップSB1では、RAM6に設けられた各種レジス
タ/フラグをゼロリセットしたり初期値をセットする
他、音源7に対して各種レジスタ/フラグ類の初期化指
示を与えたり、ROM5から読み出した各パートの演奏
データをRAM6の演奏データ記憶エリアに展開する等
のイニシャライズ処理を行う。
明する。装置電源が投入されると、CPU3はROM5
から所定の制御プログラムを読み出し、図5に示すメイ
ンルーチンを起動してステップSB1に処理を進める。
ステップSB1では、RAM6に設けられた各種レジス
タ/フラグをゼロリセットしたり初期値をセットする
他、音源7に対して各種レジスタ/フラグ類の初期化指
示を与えたり、ROM5から読み出した各パートの演奏
データをRAM6の演奏データ記憶エリアに展開する等
のイニシャライズ処理を行う。
【0038】次いで、ステップSB2に進むと、レジス
タAPFに格納される自動演奏フラグが「1」、つま
り、自動演奏が進行中であるか否かを判断する。ここ
で、自動演奏が停止していれば、判断結果は「NO」と
なり、図6に示すステップSB12に処理を進め、その
他の処理を行う。なお、ここで言うその他の処理とは、
例えば、発音中の楽音に対して指定されたエフェクトを
施す効果音処理などを指す。一方、自動演奏が進行して
いる時には、上記ステップSB2の判断結果は「YE
S」となり、次のステップSB3に処理を進める。
タAPFに格納される自動演奏フラグが「1」、つま
り、自動演奏が進行中であるか否かを判断する。ここ
で、自動演奏が停止していれば、判断結果は「NO」と
なり、図6に示すステップSB12に処理を進め、その
他の処理を行う。なお、ここで言うその他の処理とは、
例えば、発音中の楽音に対して指定されたエフェクトを
施す効果音処理などを指す。一方、自動演奏が進行して
いる時には、上記ステップSB2の判断結果は「YE
S」となり、次のステップSB3に処理を進める。
【0039】ステップSB3に進むと、CPU3はテン
ポクロック発生回路4からテンポクロック信号TCLが
供給されるまで待機し、当該信号TCLを受けた時点で
次のステップSB4に処理を進める。ステップSB4で
は、テンポクロック信号TCLを累算するレジスタCC
Rを歩進させる一方、ユーザーテンポクロックを累算す
るレジスタCCR’も1インクリメントして歩進させて
おく。
ポクロック発生回路4からテンポクロック信号TCLが
供給されるまで待機し、当該信号TCLを受けた時点で
次のステップSB4に処理を進める。ステップSB4で
は、テンポクロック信号TCLを累算するレジスタCC
Rを歩進させる一方、ユーザーテンポクロックを累算す
るレジスタCCR’も1インクリメントして歩進させて
おく。
【0040】こうしてテンポクロック累算値およびユー
ザーテンポクロック累算値が共に歩進されると、CPU
3はステップSB5に進む。ステップSB5では、演奏
スイッチ1を用いた「ワンキープレイ」に関係無く、一
意的に自動演奏させる伴奏パートの演奏データを、指定
テンポに従って順次読み出し再生する伴奏パートのデー
タ処理を行う。
ザーテンポクロック累算値が共に歩進されると、CPU
3はステップSB5に進む。ステップSB5では、演奏
スイッチ1を用いた「ワンキープレイ」に関係無く、一
意的に自動演奏させる伴奏パートの演奏データを、指定
テンポに従って順次読み出し再生する伴奏パートのデー
タ処理を行う。
【0041】そして、次のステップSB6に進むと、C
PU3はレジスタRMA2に格納されるアドレスに対応
して読み出される演奏データが曲終了を表わすENDデ
ータであるか否か、すなわち、ワンキープレイされる演
奏パートの演奏データが曲終了に達したかどうかを判断
する。ここで、曲終了を表わすENDデータが読み出さ
れた時には、判断結果が「YES」となり、後述するス
テップSB8に処理を進めるが、そうでない時には判断
結果が「NO」となり、次のステップSB7に処理を進
める。
PU3はレジスタRMA2に格納されるアドレスに対応
して読み出される演奏データが曲終了を表わすENDデ
ータであるか否か、すなわち、ワンキープレイされる演
奏パートの演奏データが曲終了に達したかどうかを判断
する。ここで、曲終了を表わすENDデータが読み出さ
れた時には、判断結果が「YES」となり、後述するス
テップSB8に処理を進めるが、そうでない時には判断
結果が「NO」となり、次のステップSB7に処理を進
める。
【0042】なお、レジスタRMA2に格納されるアド
レスとは、後述するレジスタRMA1に格納される伴奏
アドレスと同様に、レジスタCCRに格納されるテンポ
クロック累算値に対応して歩進されるアドレスであり、
演奏パートの演奏データを読み出す為に使用される。以
後、このレジスタRMA2に格納されるアドレスを「演
奏アドレス」と称する。
レスとは、後述するレジスタRMA1に格納される伴奏
アドレスと同様に、レジスタCCRに格納されるテンポ
クロック累算値に対応して歩進されるアドレスであり、
演奏パートの演奏データを読み出す為に使用される。以
後、このレジスタRMA2に格納されるアドレスを「演
奏アドレス」と称する。
【0043】次いで、ステップSB7に進むと、CPU
3は演奏パートのデータ処理/スイッチイベントに関す
る処理を行う。この処理では、テンポクロック累算値
(CCR)に応じて読み出した演奏データがキーオンイ
ベントの場合には、演奏スイッチ1のオン操作の仕方に
応じてワンキープレイモードから自動演奏モードに遷移
させたり、あるいは自動演奏モードを元のワンキープレ
イモードに戻す為のフラグ設定を行う一方、読み出した
演奏データのイベントを実行したりする。
3は演奏パートのデータ処理/スイッチイベントに関す
る処理を行う。この処理では、テンポクロック累算値
(CCR)に応じて読み出した演奏データがキーオンイ
ベントの場合には、演奏スイッチ1のオン操作の仕方に
応じてワンキープレイモードから自動演奏モードに遷移
させたり、あるいは自動演奏モードを元のワンキープレ
イモードに戻す為のフラグ設定を行う一方、読み出した
演奏データのイベントを実行したりする。
【0044】演奏パートのデータ処理/スイッチイベン
トに関する処理がなされた後、CPU3は図6に示すス
テップSB8に進み、レジスタRMA2’に格納される
アドレスに対応して読み出される演奏データが曲終了を
表わすENDデータであるか否かを判断し、曲終了を表
わすENDデータが読み出された時には判断結果が「Y
ES」となり、後述するステップSB10に処理を進め
るが、そうでない時には判断結果が「NO」となり、次
のステップSB9に処理を進める。
トに関する処理がなされた後、CPU3は図6に示すス
テップSB8に進み、レジスタRMA2’に格納される
アドレスに対応して読み出される演奏データが曲終了を
表わすENDデータであるか否かを判断し、曲終了を表
わすENDデータが読み出された時には判断結果が「Y
ES」となり、後述するステップSB10に処理を進め
るが、そうでない時には判断結果が「NO」となり、次
のステップSB9に処理を進める。
【0045】なお、上記レジスタRMA2’に格納され
るアドレスとは、レジスタCCR’に格納されるユーザ
ーテンポクロック累算値に対応して歩進されるアドレ
ス、つまり、上述した演奏アドレスをオフセットさせて
先行させ、演奏パートの演奏データを先行読み出しする
為のものであり、以後、このレジスタRMA2’に格納
されるアドレスを「先行アドレス」と称する。
るアドレスとは、レジスタCCR’に格納されるユーザ
ーテンポクロック累算値に対応して歩進されるアドレ
ス、つまり、上述した演奏アドレスをオフセットさせて
先行させ、演奏パートの演奏データを先行読み出しする
為のものであり、以後、このレジスタRMA2’に格納
されるアドレスを「先行アドレス」と称する。
【0046】次に、ステップSB9では、レジスタCC
R’に格納されるユーザーテンポクロック累算値に基づ
き、演奏パートの演奏データを先行読み出しする為のデ
ータ処理を行う。次いで、ステップSB10に進むと、
CPU3は前述したスイッチ走査処理にて新たな演奏ス
イッチ1の操作が検出されたか否か、つまり、オン操作
もしくはオフ操作のいずれかのワンキープレイが行われ
たかどうかを判断し、ワンキープレイが行われた時には
判断結果が「YES」となり、次のステップSB11に
進み、そのワンキープレイに応じて演奏パートの楽音を
発音(あるいは消音)させる演奏パート発音処理を実行
する。一方、ワンキープレイが行われない時には、上記
ステップSB10の判断結果が「NO」となり、ステッ
プSB12に進み、その他の処理を行ってから前述のス
テップSB2(図5参照)に処理を戻し、上述した過程
を繰り返す。
R’に格納されるユーザーテンポクロック累算値に基づ
き、演奏パートの演奏データを先行読み出しする為のデ
ータ処理を行う。次いで、ステップSB10に進むと、
CPU3は前述したスイッチ走査処理にて新たな演奏ス
イッチ1の操作が検出されたか否か、つまり、オン操作
もしくはオフ操作のいずれかのワンキープレイが行われ
たかどうかを判断し、ワンキープレイが行われた時には
判断結果が「YES」となり、次のステップSB11に
進み、そのワンキープレイに応じて演奏パートの楽音を
発音(あるいは消音)させる演奏パート発音処理を実行
する。一方、ワンキープレイが行われない時には、上記
ステップSB10の判断結果が「NO」となり、ステッ
プSB12に進み、その他の処理を行ってから前述のス
テップSB2(図5参照)に処理を戻し、上述した過程
を繰り返す。
【0047】このように、メインルーチンでは、自動演
奏フラグが「1」であると、伴奏パートの演奏データを
順次読み出して自動演奏させる一方、演奏パートについ
ては演奏スイッチ1が操作されずとも伴奏パートの進行
に同期させて演奏データの読み出しを進めておき、演奏
スイッチ1をオン操作するワンキープレイが行われた
ら、そのタイミングで演奏データを再生する。したがっ
て、他のパートの演奏を進行させながら、演奏パートを
「ワンキープレイ」させたり、その演奏パートにおいて
曲の途中から「ワンキープレイ」を始めることができる
ようになっている。
奏フラグが「1」であると、伴奏パートの演奏データを
順次読み出して自動演奏させる一方、演奏パートについ
ては演奏スイッチ1が操作されずとも伴奏パートの進行
に同期させて演奏データの読み出しを進めておき、演奏
スイッチ1をオン操作するワンキープレイが行われた
ら、そのタイミングで演奏データを再生する。したがっ
て、他のパートの演奏を進行させながら、演奏パートを
「ワンキープレイ」させたり、その演奏パートにおいて
曲の途中から「ワンキープレイ」を始めることができる
ようになっている。
【0048】また、演奏パートについては、先行アドレ
スに従って演奏データが先行読み出しされるので、「ワ
ンキープレイ」のタイミングが本来の発音タイミングに
一致していなくとも、その発音タイミング付近で発音さ
せるようにしている。したがて、「ワンキープレイ」に
不慣れなユーザーでも楽曲を音楽的に自然な形で再生し
得るようになっている。
スに従って演奏データが先行読み出しされるので、「ワ
ンキープレイ」のタイミングが本来の発音タイミングに
一致していなくとも、その発音タイミング付近で発音さ
せるようにしている。したがて、「ワンキープレイ」に
不慣れなユーザーでも楽曲を音楽的に自然な形で再生し
得るようになっている。
【0049】さらに、演奏スイッチ1が所定時間オン操
作され続けた時には、演奏パートについても伴奏パート
と同様に自動演奏され、この状態で再度ワンキープレイ
が行われると、その自動演奏が解除されるようになって
いる。以下、このような一連の作用効果を具現すべくメ
インルーチンからコールされる各種処理ルーチンについ
て説明して行く。
作され続けた時には、演奏パートについても伴奏パート
と同様に自動演奏され、この状態で再度ワンキープレイ
が行われると、その自動演奏が解除されるようになって
いる。以下、このような一連の作用効果を具現すべくメ
インルーチンからコールされる各種処理ルーチンについ
て説明して行く。
【0050】(3)伴奏パートのデータ処理ルーチンの
動作 次に、図7を参照して伴奏パートのデータ処理ルーチン
の動作について説明する。前述したように、CPU3の
処理がメインルーチンのステップSB5(図5参照)に
進むと、図7に示すルーチンが実行されてステップSC
1に進む。ステップSC1では、レジスタRMA1に格
納される伴奏パート読み出しアドレス(以下、伴奏アド
レスと称す)に対応した演奏データが、曲終了を表わす
ENDデータであるか否かを判断する。ここで、曲終了
であれば、判断結果は「YES」となり、本ルーチンを
完了させるが、そうでない場合には次のステップSC2
に処理を進める。
動作 次に、図7を参照して伴奏パートのデータ処理ルーチン
の動作について説明する。前述したように、CPU3の
処理がメインルーチンのステップSB5(図5参照)に
進むと、図7に示すルーチンが実行されてステップSC
1に進む。ステップSC1では、レジスタRMA1に格
納される伴奏パート読み出しアドレス(以下、伴奏アド
レスと称す)に対応した演奏データが、曲終了を表わす
ENDデータであるか否かを判断する。ここで、曲終了
であれば、判断結果は「YES」となり、本ルーチンを
完了させるが、そうでない場合には次のステップSC2
に処理を進める。
【0051】次に、ステップSC2では、レジスタRM
A1に格納される伴奏アドレスにより読み出されるタイ
ミングデータTDとレジスタCCRに格納されるテンポ
クロック累算値とが一致するか否か、つまり、伴奏パー
トの演奏データを自動演奏するタイミング下にあるか否
かを判断する。ここで、自動演奏するタイミング下にな
ければ、判断結果が「NO」となり、この場合、何も処
理せずに本ルーチンを一旦、完了させるが、自動演奏す
るタイミング下にあれば、判断結果が「YES」とな
り、次のステップSC3に進む。
A1に格納される伴奏アドレスにより読み出されるタイ
ミングデータTDとレジスタCCRに格納されるテンポ
クロック累算値とが一致するか否か、つまり、伴奏パー
トの演奏データを自動演奏するタイミング下にあるか否
かを判断する。ここで、自動演奏するタイミング下にな
ければ、判断結果が「NO」となり、この場合、何も処
理せずに本ルーチンを一旦、完了させるが、自動演奏す
るタイミング下にあれば、判断結果が「YES」とな
り、次のステップSC3に進む。
【0052】ステップSC3に進むと、CPU3はレジ
スタRMA1に格納される伴奏アドレスに従って対応す
るイベントデータIDを読み出す一方、その伴奏アドレ
スを歩進させて次のステップSC4に処理を進める。そ
して、ステップSC4では、読み出したイベントデータ
IDが指定する音符の楽音を発音(あるいは消音)させ
る。この後、CPU3は上記ステップSC1に処理を戻
し、レジスタCCRに格納されるテンポクロック累算値
に同期して順次、伴奏パートの自動演奏を進行させて行
く。
スタRMA1に格納される伴奏アドレスに従って対応す
るイベントデータIDを読み出す一方、その伴奏アドレ
スを歩進させて次のステップSC4に処理を進める。そ
して、ステップSC4では、読み出したイベントデータ
IDが指定する音符の楽音を発音(あるいは消音)させ
る。この後、CPU3は上記ステップSC1に処理を戻
し、レジスタCCRに格納されるテンポクロック累算値
に同期して順次、伴奏パートの自動演奏を進行させて行
く。
【0053】(4)CCRの値を使用した演奏パートの
データ処理/スイッチイベントに関する処理ルーチンの
動作 次に、図8〜図9を参照して本ルーチンの動作について
説明する。さて、CPU3の処理が前述のステップSB
7(図5参照)に進むと、図8に示すルーチンが実行さ
れてステップSD1に進む。ステップSD1では、レジ
スタRMA2に格納される演奏アドレスに対応したタイ
ミングデータTDが、レジスタCCRに格納されるテン
ポクロック累算値と一致するか否か、つまり、演奏パー
トの演奏データを読み出すタイミング下にあるか否かを
判断する。
データ処理/スイッチイベントに関する処理ルーチンの
動作 次に、図8〜図9を参照して本ルーチンの動作について
説明する。さて、CPU3の処理が前述のステップSB
7(図5参照)に進むと、図8に示すルーチンが実行さ
れてステップSD1に進む。ステップSD1では、レジ
スタRMA2に格納される演奏アドレスに対応したタイ
ミングデータTDが、レジスタCCRに格納されるテン
ポクロック累算値と一致するか否か、つまり、演奏パー
トの演奏データを読み出すタイミング下にあるか否かを
判断する。
【0054】そして、演奏パートの演奏データを読み出
すタイミング下でない時には、上記ステップSD1の判
断結果は「NO」となり、次のステップSD2に処理を
進め、レジスタNSCRに格納されるスイッチイベント
回数累算値をレジスタOSCRにストアする。これによ
り、レジスタOSCRには、これまでに演奏スイッチ1
を操作した回数がセットされる。
すタイミング下でない時には、上記ステップSD1の判
断結果は「NO」となり、次のステップSD2に処理を
進め、レジスタNSCRに格納されるスイッチイベント
回数累算値をレジスタOSCRにストアする。これによ
り、レジスタOSCRには、これまでに演奏スイッチ1
を操作した回数がセットされる。
【0055】一方、演奏パートの演奏データを読み出す
タイミングであると、上記ステップSD1の判断結果は
「YES」となり、ステップSD3に進む。ステップS
D3では、レジスタRMA2に格納される演奏アドレス
に基づき、RAM6の演奏データ記憶エリア中より演奏
パートのイベントデータIDを読み出す一方、現在の演
奏アドレスを歩進させる。次いで、ステップSD4に進
むと、CPU3は、上記ステップSD3にて読み出した
イベントデータIDがキーオンイベントであるか否かを
判断する。
タイミングであると、上記ステップSD1の判断結果は
「YES」となり、ステップSD3に進む。ステップS
D3では、レジスタRMA2に格納される演奏アドレス
に基づき、RAM6の演奏データ記憶エリア中より演奏
パートのイベントデータIDを読み出す一方、現在の演
奏アドレスを歩進させる。次いで、ステップSD4に進
むと、CPU3は、上記ステップSD3にて読み出した
イベントデータIDがキーオンイベントであるか否かを
判断する。
【0056】イベントデータIDがキーオンイベント
の場合 この場合、上記ステップSD4の判断結果が「YES」
となり、図9に示すステップSD5に処理を進める。ス
テップSD5では、本ルーチン内の最初のパスであるか
どうかを判断する。つまり、本ルーチンでは、例えば、
和音のように、同一タイミングの複数イベントを処理す
る場合、ループするが、このステップSD5ではそれが
最初のパスであるかどうかを判断する。
の場合 この場合、上記ステップSD4の判断結果が「YES」
となり、図9に示すステップSD5に処理を進める。ス
テップSD5では、本ルーチン内の最初のパスであるか
どうかを判断する。つまり、本ルーチンでは、例えば、
和音のように、同一タイミングの複数イベントを処理す
る場合、ループするが、このステップSD5ではそれが
最初のパスであるかどうかを判断する。
【0057】(イ)最初のパスの時 最初のパスであると、判断結果は「YES」となり、次
のステップSD6に処理を進める。ステップSD6で
は、上述のステップSD2を実行する毎に更新されるレ
ジスタOSCRのスイッチイベント回数累算値と、レジ
スタNSCRに格納されるスイッチイベント回数累算値
とが一致するか否かを判断する。つまり、演奏データを
読み出す前タイミングから現タイミングに至る迄の間
に、演奏スイッチ1が操作されたかどうかを判断する。
のステップSD6に処理を進める。ステップSD6で
は、上述のステップSD2を実行する毎に更新されるレ
ジスタOSCRのスイッチイベント回数累算値と、レジ
スタNSCRに格納されるスイッチイベント回数累算値
とが一致するか否かを判断する。つまり、演奏データを
読み出す前タイミングから現タイミングに至る迄の間
に、演奏スイッチ1が操作されたかどうかを判断する。
【0058】そして、演奏スイッチ1がオン操作もしく
はオフ操作され、レジスタNSCR、OSCRの両イベ
ント回数累算値が一致しない時には、判断結果が「N
O」となり、ステップSD7に進み、レジスタSCF
1,SCF2にそれぞれ格納されるスイッチカウンタフ
ラグ1およびスイッチカウンタフラグ2を各々オフ設定
し、この後に前述のステップSD1(図8参照)へ処理
を戻す。
はオフ操作され、レジスタNSCR、OSCRの両イベ
ント回数累算値が一致しない時には、判断結果が「N
O」となり、ステップSD7に進み、レジスタSCF
1,SCF2にそれぞれ格納されるスイッチカウンタフ
ラグ1およびスイッチカウンタフラグ2を各々オフ設定
し、この後に前述のステップSD1(図8参照)へ処理
を戻す。
【0059】なお、レジスタSCF1に格納されるスイ
ッチカウンタフラグ1は、演奏スイッチ1の新たな(オ
ン又はオフ)操作がなされないまま、タイミングの異な
る新たなキーオンイベントの演奏データが読み出された
時にオン設定される一方、演奏スイッチ1の新たな(オ
ン又はオフ)操作がなされた時にオフ設定されるフラグ
である。
ッチカウンタフラグ1は、演奏スイッチ1の新たな(オ
ン又はオフ)操作がなされないまま、タイミングの異な
る新たなキーオンイベントの演奏データが読み出された
時にオン設定される一方、演奏スイッチ1の新たな(オ
ン又はオフ)操作がなされた時にオフ設定されるフラグ
である。
【0060】これに対し、レジスタSCF2に格納され
るスイッチカウンタフラグ2は、上記フラグ1がオン設
定されている状態で演奏スイッチ1のオン操作が持続さ
れたまま、さらにタイミングの異なる新たなキーオンイ
ベントの演奏データが読み出された時にオン設定され
る。つまり、換言すれば、演奏パートを自動演奏するモ
ードに入る時にオン設定され、そのモードを抜けるべく
新たに演奏スイッチ1をオフ操作又はオン操作した時に
オフ設定される。
るスイッチカウンタフラグ2は、上記フラグ1がオン設
定されている状態で演奏スイッチ1のオン操作が持続さ
れたまま、さらにタイミングの異なる新たなキーオンイ
ベントの演奏データが読み出された時にオン設定され
る。つまり、換言すれば、演奏パートを自動演奏するモ
ードに入る時にオン設定され、そのモードを抜けるべく
新たに演奏スイッチ1をオフ操作又はオン操作した時に
オフ設定される。
【0061】要するに、レジスタSCF1,SCF2に
それぞれ格納されるスイッチカウンタフラグ1,2は、
演奏パートを自動演奏させるか否かを判断するためのフ
ラグであって、両フラグが共にオン設定された時に、演
奏パートの演奏データを自動演奏するモードへ移行させ
る。そして、演奏スイッチ1がオフ操作又はオン操作さ
れて両フラグ共にオフ設定されたら、演奏パートの自動
演奏を中断して再び演奏スイッチ1の操作によるワンキ
ープレイに復帰させるようにしている。なお、本実施例
の場合、2音符にわたって1音符長分以上の期間、演奏
スイッチ1をオン操作し続けた場合に演奏パートの演奏
データを自動演奏するようになっている。
それぞれ格納されるスイッチカウンタフラグ1,2は、
演奏パートを自動演奏させるか否かを判断するためのフ
ラグであって、両フラグが共にオン設定された時に、演
奏パートの演奏データを自動演奏するモードへ移行させ
る。そして、演奏スイッチ1がオフ操作又はオン操作さ
れて両フラグ共にオフ設定されたら、演奏パートの自動
演奏を中断して再び演奏スイッチ1の操作によるワンキ
ープレイに復帰させるようにしている。なお、本実施例
の場合、2音符にわたって1音符長分以上の期間、演奏
スイッチ1をオン操作し続けた場合に演奏パートの演奏
データを自動演奏するようになっている。
【0062】さて一方、演奏スイッチ1がオン状態のま
まかオフ状態のままで新たに操作されず、レジスタNS
CR、OSCRの両イベント回数累算値が一致した場合
には、上記ステップSD6の判断結果は「YES」とな
り、ステップSD8に処理を進める。ステップSD8で
は、レジスタSCF1に格納されるスイッチカウンタフ
ラグ1がオン設定されているか否かを判断する。当該フ
ラグ1がオン設定されていない時には、判断結果が「N
O」となり、ステップSD9に進み、レジスタSCF1
に格納されるスイッチカウンタフラグ1をオン設定して
ステップSD1に処理を戻す。
まかオフ状態のままで新たに操作されず、レジスタNS
CR、OSCRの両イベント回数累算値が一致した場合
には、上記ステップSD6の判断結果は「YES」とな
り、ステップSD8に処理を進める。ステップSD8で
は、レジスタSCF1に格納されるスイッチカウンタフ
ラグ1がオン設定されているか否かを判断する。当該フ
ラグ1がオン設定されていない時には、判断結果が「N
O」となり、ステップSD9に進み、レジスタSCF1
に格納されるスイッチカウンタフラグ1をオン設定して
ステップSD1に処理を戻す。
【0063】これに対し、レジスタSCF1に格納され
るスイッチカウンタフラグ1が既にオン設定されている
時には、上記ステップSD8の判断結果が「YES」と
なり、ステップSD10に処理を進める。ステップSD
10では、演奏スイッチ1(タッチ付き演奏スイッチ1
aおよびタッチ無し演奏スイッチ1b)のオン操作が持
続しているか否か、つまり、レジスタPSRの値が「0
0」以外を保持しているかどうかを判断する。
るスイッチカウンタフラグ1が既にオン設定されている
時には、上記ステップSD8の判断結果が「YES」と
なり、ステップSD10に処理を進める。ステップSD
10では、演奏スイッチ1(タッチ付き演奏スイッチ1
aおよびタッチ無し演奏スイッチ1b)のオン操作が持
続しているか否か、つまり、レジスタPSRの値が「0
0」以外を保持しているかどうかを判断する。
【0064】タッチ付き演奏スイッチ1aおよびタッチ
無し演奏スイッチ1bのいずれもオン操作されていない
状態では、レジスタPSRの値は「00」だから、ここ
での判断結果は「NO」となり、何も処理せずにステッ
プSD1に戻る。一方、タッチ付き演奏スイッチ1aお
よびタッチ無し演奏スイッチ1bのいずれかがオン操作
され続けたら、上記ステップSD10の判断結果は「Y
ES」となり、ステップSD11に進む。
無し演奏スイッチ1bのいずれもオン操作されていない
状態では、レジスタPSRの値は「00」だから、ここ
での判断結果は「NO」となり、何も処理せずにステッ
プSD1に戻る。一方、タッチ付き演奏スイッチ1aお
よびタッチ無し演奏スイッチ1bのいずれかがオン操作
され続けたら、上記ステップSD10の判断結果は「Y
ES」となり、ステップSD11に進む。
【0065】ステップSD11では、ユーザーがワンキ
ープレイする演奏パートにおいて現在発音中の楽音を全
て消音させるよう音源7に指示し、続くステップSD1
2ではレジスタSCF2に格納されるスイッチカウンタ
フラグ2をオン設定する。そして、ステップSD13に
進み、上述したステップSD3にて読み出したイベント
データIDについて発音させ、この後、前述したステッ
プSD1に処理を戻す。
ープレイする演奏パートにおいて現在発音中の楽音を全
て消音させるよう音源7に指示し、続くステップSD1
2ではレジスタSCF2に格納されるスイッチカウンタ
フラグ2をオン設定する。そして、ステップSD13に
進み、上述したステップSD3にて読み出したイベント
データIDについて発音させ、この後、前述したステッ
プSD1に処理を戻す。
【0066】(ロ)最初のパスでない時 次に、和音などのように発音タイミングが同一のイベン
トが複数あり、本ルーチン内でループして上述のステッ
プSD5に処理を進めると、この場合、最初のパスでは
ないので、当該ステップSD5の判断結果は「NO」と
なり、ステップSD14に進む。
トが複数あり、本ルーチン内でループして上述のステッ
プSD5に処理を進めると、この場合、最初のパスでは
ないので、当該ステップSD5の判断結果は「NO」と
なり、ステップSD14に進む。
【0067】ステップSD14では、レジスタSCF2
に格納されるスイッチカウンタフラグ2がオン設定され
ているか否かを判断し、そうであれば、ステップSD1
3に進んで、上述したステップSD3にて読み出したイ
ベントデータIDについて発音させ、この後、前述した
ステップSD1に処理を戻す。これに対し、スイッチカ
ウンタフラグ2がオフ設定されていると、ステップSD
14の判断結果は「NO」となり、前述のステップSD
1に処理を戻す。
に格納されるスイッチカウンタフラグ2がオン設定され
ているか否かを判断し、そうであれば、ステップSD1
3に進んで、上述したステップSD3にて読み出したイ
ベントデータIDについて発音させ、この後、前述した
ステップSD1に処理を戻す。これに対し、スイッチカ
ウンタフラグ2がオフ設定されていると、ステップSD
14の判断結果は「NO」となり、前述のステップSD
1に処理を戻す。
【0068】イベントデータIDがキーオフイベント
の場合 次に、イベントデータIDがキーオフイベントの場合に
ついて説明する。この場合、図8に示すステップSD1
5の判断結果が「YES」となり、ステップSD16に
進む。ステップSD16に進むと、CPU3はレジスタ
SCF2に格納されるスイッチカウンタフラグ2がオン
設定されているか否かを判断し、そうであれば、次のス
テップSD17に進み、ステップSD3にて読み出した
イベントデータIDに基づいて消音指示を出した後、前
述したステップSD1に処理を戻す。一方、スイッチカ
ウンタフラグ2がオフ設定されている時には、上記ステ
ップSD16の判断結果が「NO」となり、何も処理せ
ずにステップSD1へ処理を戻す。
の場合 次に、イベントデータIDがキーオフイベントの場合に
ついて説明する。この場合、図8に示すステップSD1
5の判断結果が「YES」となり、ステップSD16に
進む。ステップSD16に進むと、CPU3はレジスタ
SCF2に格納されるスイッチカウンタフラグ2がオン
設定されているか否かを判断し、そうであれば、次のス
テップSD17に進み、ステップSD3にて読み出した
イベントデータIDに基づいて消音指示を出した後、前
述したステップSD1に処理を戻す。一方、スイッチカ
ウンタフラグ2がオフ設定されている時には、上記ステ
ップSD16の判断結果が「NO」となり、何も処理せ
ずにステップSD1へ処理を戻す。
【0069】イベントデータIDがキーオン/キーオ
フ以外のイベントの場合 さて、前述のステップSD3において、レジスタRMA
2に格納される演奏アドレスに従って読み出されたイベ
ントデータIDがキーオン/キーオフ以外のイベント、
例えば効果付与を指定するエフェクトイベントの場合に
は、上述したステップSD4,SD15の判断結果がい
ずれも「NO」となってステップSD17に進み、その
イベントに対応した処理を実行してからステップSD1
に処理を戻す。
フ以外のイベントの場合 さて、前述のステップSD3において、レジスタRMA
2に格納される演奏アドレスに従って読み出されたイベ
ントデータIDがキーオン/キーオフ以外のイベント、
例えば効果付与を指定するエフェクトイベントの場合に
は、上述したステップSD4,SD15の判断結果がい
ずれも「NO」となってステップSD17に進み、その
イベントに対応した処理を実行してからステップSD1
に処理を戻す。
【0070】(5)CCR’の値を使用した演奏パート
のデータ処理ルーチンの動作 次に、図10〜図11を参照して本ルーチンの動作につ
いて説明する。CPU3の処理が前述のステップSB9
(図5参照)に進むと、図10に示すルーチンが実行さ
れてステップSE1に処理を進める。ステップSE1で
は、レジスタRMA2’に格納される先行アドレスに対
応した演奏データ中のタイミングデータTDが、レジス
タCCR’に格納されるユーザーテンポクロック累算値
と一致するか否か、つまり、先行読み出しするタイミン
グ下にあるか否かを判断する。
のデータ処理ルーチンの動作 次に、図10〜図11を参照して本ルーチンの動作につ
いて説明する。CPU3の処理が前述のステップSB9
(図5参照)に進むと、図10に示すルーチンが実行さ
れてステップSE1に処理を進める。ステップSE1で
は、レジスタRMA2’に格納される先行アドレスに対
応した演奏データ中のタイミングデータTDが、レジス
タCCR’に格納されるユーザーテンポクロック累算値
と一致するか否か、つまり、先行読み出しするタイミン
グ下にあるか否かを判断する。
【0071】先行読み出しするタイミング下でない場
合 この場合、上記ステップSE1の判断結果は「NO」と
なり、次のステップSE2に処理を進め、レジスタNR
Fに格納されるノートレジスタフラグがオン設定されて
いるか否かを判断する。
合 この場合、上記ステップSE1の判断結果は「NO」と
なり、次のステップSE2に処理を進め、レジスタNR
Fに格納されるノートレジスタフラグがオン設定されて
いるか否かを判断する。
【0072】このノートレジスタフラグとは、キーオン
イベントのタイミングが少しずれた複数の音を同時発音
させるか否かを判定するためのフラグであって、具体的
には、次のキーオンイベントのタイミングが、すでに読
み出したキーオンイベントのタイミングから1テンポク
ロック分のズレであれば、次のキーオンイベントを続け
て読み出して同時発音に備える一方、2テンポクロック
分以上のズレであれば、次のキーオンイベントは続けて
読み出さず本ルーチンを完了させるときの判定に用いら
れる。
イベントのタイミングが少しずれた複数の音を同時発音
させるか否かを判定するためのフラグであって、具体的
には、次のキーオンイベントのタイミングが、すでに読
み出したキーオンイベントのタイミングから1テンポク
ロック分のズレであれば、次のキーオンイベントを続け
て読み出して同時発音に備える一方、2テンポクロック
分以上のズレであれば、次のキーオンイベントは続けて
読み出さず本ルーチンを完了させるときの判定に用いら
れる。
【0073】そして、レジスタNRFに格納されるノー
トレジスタフラグがオフ設定されている時には、上記ス
テップSE2の判断結果は「NO」となり、ステップS
E3に処理を進めてレジスタCCR’に格納されるユー
ザーテンポクロック累算値を、本ルーチンに入ってから
後述するステップSE4にてインクリメントした分デク
リメントさせて元の値に戻してから一旦、本ルーチンを
完了させる。
トレジスタフラグがオフ設定されている時には、上記ス
テップSE2の判断結果は「NO」となり、ステップS
E3に処理を進めてレジスタCCR’に格納されるユー
ザーテンポクロック累算値を、本ルーチンに入ってから
後述するステップSE4にてインクリメントした分デク
リメントさせて元の値に戻してから一旦、本ルーチンを
完了させる。
【0074】一方、ノートレジスタフラグがオン設定さ
れていれば、上記ステップSE2の判断結果は「YE
S」となり、ステップSE4に処理を進めてレジスタC
CR’に格納されるユーザーテンポクロック累算値を一
時的にインクリメントして歩進させる。そして、ステッ
プSE5に進み、レジスタNRFに格納されるノートレ
ジスタフラグをオフ設定に戻した後、上述したステップ
SE1に処理を戻す。
れていれば、上記ステップSE2の判断結果は「YE
S」となり、ステップSE4に処理を進めてレジスタC
CR’に格納されるユーザーテンポクロック累算値を一
時的にインクリメントして歩進させる。そして、ステッ
プSE5に進み、レジスタNRFに格納されるノートレ
ジスタフラグをオフ設定に戻した後、上述したステップ
SE1に処理を戻す。
【0075】先行読み出しするタイミング下の場合 さて、先行読み出しするタイミング下にあると、上述の
ステップSE1の判断結果が「YES」となり、CPU
3はステップSE6に処理を進め、レジスタRMA2’
に格納される先行アドレスに従ってイベントデータID
を読み出す一方、当該先行アドレスを歩進させる。次い
で、ステップSE7では、先行読み出したイベントデー
タIDがキーオンイベントであるか否かを判断する。キ
ーオンイベントでなければ、判断結果が「NO」とな
り、上述のステップSE1に処理を戻すが、キーオンイ
ベントであった時には判断結果が「YES」となり、図
11に示すステップSE8に進む。
ステップSE1の判断結果が「YES」となり、CPU
3はステップSE6に処理を進め、レジスタRMA2’
に格納される先行アドレスに従ってイベントデータID
を読み出す一方、当該先行アドレスを歩進させる。次い
で、ステップSE7では、先行読み出したイベントデー
タIDがキーオンイベントであるか否かを判断する。キ
ーオンイベントでなければ、判断結果が「NO」とな
り、上述のステップSE1に処理を戻すが、キーオンイ
ベントであった時には判断結果が「YES」となり、図
11に示すステップSE8に進む。
【0076】ステップSE8では、現在のパスが本ルー
チンに入って最初のものであるか否かを判断する。最初
のパスであると、ここでの判断結果が「YES」とな
り、ステップSE9に進み、ノートレジスタNRをクリ
アし、続くステップSE10ではノートレジスタアドレ
スNRAの値を先頭アドレスにセットした後、ステップ
SE11に進む。
チンに入って最初のものであるか否かを判断する。最初
のパスであると、ここでの判断結果が「YES」とな
り、ステップSE9に進み、ノートレジスタNRをクリ
アし、続くステップSE10ではノートレジスタアドレ
スNRAの値を先頭アドレスにセットした後、ステップ
SE11に進む。
【0077】これに対し、最初のパスでない時、すなわ
ち、和音などのように同一タイミングのキーオンイベン
トが複数あったり、1テンポクロック分のズレでキーオ
ンイベントが続いていたりして、本ルーチン内でループ
した時には、上記ステップSE8の判断結果は「NO」
となり、ステップSE11に処理を進める。
ち、和音などのように同一タイミングのキーオンイベン
トが複数あったり、1テンポクロック分のズレでキーオ
ンイベントが続いていたりして、本ルーチン内でループ
した時には、上記ステップSE8の判断結果は「NO」
となり、ステップSE11に処理を進める。
【0078】ステップSE11では、同時に発音させる
楽音として、先行読み出したイベントデータIDにより
指定される音高(キーデータ)とこれに対応するタッチ
データTCDとを夫々ノートレジスタNRにストアす
る。そして、ステップSE12では、ノートレジスタア
ドレスNRAの値を2インクリメントし、続くステップ
SE13では、レジスタNRFに格納されるノートレジ
スタフラグをオン設定してから図10に示すステップS
E1に処理を戻す。
楽音として、先行読み出したイベントデータIDにより
指定される音高(キーデータ)とこれに対応するタッチ
データTCDとを夫々ノートレジスタNRにストアす
る。そして、ステップSE12では、ノートレジスタア
ドレスNRAの値を2インクリメントし、続くステップ
SE13では、レジスタNRFに格納されるノートレジ
スタフラグをオン設定してから図10に示すステップS
E1に処理を戻す。
【0079】(6)演奏パート発音処理ルーチンの動作 次に、図12を参照して演奏パート発音処理ルーチンの
動作について説明する。前述したように、演奏スイッチ
1の新たな(オフ又はオン)操作が検出された時、CP
U3はステップSB11(図6参照)を介して図12に
示す演奏パート発音処理ルーチンを実行し、ステップS
F1に処理を進める。ステップSF1では、レジスタS
CF2に格納されるスイッチカウンタフラグ2がオン設
定されているか、つまり、現在、演奏パートを自動演奏
するモード下にあるか否かを判断する。
動作について説明する。前述したように、演奏スイッチ
1の新たな(オフ又はオン)操作が検出された時、CP
U3はステップSB11(図6参照)を介して図12に
示す演奏パート発音処理ルーチンを実行し、ステップS
F1に処理を進める。ステップSF1では、レジスタS
CF2に格納されるスイッチカウンタフラグ2がオン設
定されているか、つまり、現在、演奏パートを自動演奏
するモード下にあるか否かを判断する。
【0080】ここで、現在、演奏パートを自動演奏する
モード下にあると、判断結果が「YES」となり、次の
ステップSF2に処理を進め、演奏スイッチ1の新たな
(オフ又はオン)操作に応じて自動演奏するモードを解
除すべく、現在発音中の楽音について全て消音するよう
音源7に指示する。そして、この後、ステップSF3に
進み、レジスタSCF1,SCF2にそれぞれ格納され
るスイッチカウンタフラグ1,2を、オフ設定に戻して
自動演奏するモードを解除して次のステップSF4に処
理を進める。一方、レジスタSCF1,SCF2にそれ
ぞれ格納されるスイッチカウンタフラグ1,2がオフ設
定され、ワンキープレイするモード下にある場合には、
上記ステップSF1の判断結果が「NO」となり、ステ
ップSF4に処理を進める。
モード下にあると、判断結果が「YES」となり、次の
ステップSF2に処理を進め、演奏スイッチ1の新たな
(オフ又はオン)操作に応じて自動演奏するモードを解
除すべく、現在発音中の楽音について全て消音するよう
音源7に指示する。そして、この後、ステップSF3に
進み、レジスタSCF1,SCF2にそれぞれ格納され
るスイッチカウンタフラグ1,2を、オフ設定に戻して
自動演奏するモードを解除して次のステップSF4に処
理を進める。一方、レジスタSCF1,SCF2にそれ
ぞれ格納されるスイッチカウンタフラグ1,2がオフ設
定され、ワンキープレイするモード下にある場合には、
上記ステップSF1の判断結果が「NO」となり、ステ
ップSF4に処理を進める。
【0081】ステップSF4では、演奏スイッチ1(タ
ッチ付き演奏スイッチ1aあるいはタッチ無し演奏スイ
ッチ1b)がオン操作されたのか否かを判断する。ここ
で、オン操作されたのではない時、つまりオフ操作され
たのであれば、判断結果が「NO」となり、ステップS
F5に進み、演奏パートにおいて発音中の楽音を全て消
音するよう音源7に指示する。これに対し、演奏スイッ
チ1がオン操作されたのであれば、上記ステップSF4
の判断結果が「YES」となり、ステップSF6に処理
を進める。ステップSF6では、一旦、演奏パートにお
いて発音中の楽音を全て消音するよう音源7に指示す
る。
ッチ付き演奏スイッチ1aあるいはタッチ無し演奏スイ
ッチ1b)がオン操作されたのか否かを判断する。ここ
で、オン操作されたのではない時、つまりオフ操作され
たのであれば、判断結果が「NO」となり、ステップS
F5に進み、演奏パートにおいて発音中の楽音を全て消
音するよう音源7に指示する。これに対し、演奏スイッ
チ1がオン操作されたのであれば、上記ステップSF4
の判断結果が「YES」となり、ステップSF6に処理
を進める。ステップSF6では、一旦、演奏パートにお
いて発音中の楽音を全て消音するよう音源7に指示す
る。
【0082】次いで、ステップSF7に進み、前述した
先行読み出しする処理によりノートレジスタNRにスト
アされた全てのキーデータ(キーコード)およびタッチ
データを読み込み、続くステップSF8では、オン操作
された演奏スイッチ1がタッチ付き演奏スイッチ1aで
あったか否かを判断する。
先行読み出しする処理によりノートレジスタNRにスト
アされた全てのキーデータ(キーコード)およびタッチ
データを読み込み、続くステップSF8では、オン操作
された演奏スイッチ1がタッチ付き演奏スイッチ1aで
あったか否かを判断する。
【0083】タッチ付きのものであったら、ステップS
F9に進み、当該スイッチ1aのオン操作に応じて前述
したステップSA13にて検出されてレジスタTDRに
ストアされたタッチデータを、演奏データ中のタッチデ
ータTCDに代えてステップSF10に進み、対応する
キーデータ(キーコード)およびタッチデータを音源7
に送出して発音を指示する。一方、タッチ無しのもので
あったら、ステップSF10に進み、演奏データ中のタ
ッチデータTCDを用いて同様に発音指示する。
F9に進み、当該スイッチ1aのオン操作に応じて前述
したステップSA13にて検出されてレジスタTDRに
ストアされたタッチデータを、演奏データ中のタッチデ
ータTCDに代えてステップSF10に進み、対応する
キーデータ(キーコード)およびタッチデータを音源7
に送出して発音を指示する。一方、タッチ無しのもので
あったら、ステップSF10に進み、演奏データ中のタ
ッチデータTCDを用いて同様に発音指示する。
【0084】(7)具体的な動作 次に、以上説明した各ルーチンの動作に基づく具体的な
動作について図13を参照して説明する。まず図13は
演奏パートを形成する演奏データの一例を時系列に表現
しており、この演奏データについてワンキープレイする
演奏スイッチ1の操作タイミングとそれに対応した楽音
出力とを併記したものである。なお、この図において
は、伴奏パートの演奏データについては省略している。
また、この図に示す演奏データは、ユーザーによってリ
アルタイム入力されたものであり、音符間に若干のズレ
(1テンポクロック分)が生じている。
動作について図13を参照して説明する。まず図13は
演奏パートを形成する演奏データの一例を時系列に表現
しており、この演奏データについてワンキープレイする
演奏スイッチ1の操作タイミングとそれに対応した楽音
出力とを併記したものである。なお、この図において
は、伴奏パートの演奏データについては省略している。
また、この図に示す演奏データは、ユーザーによってリ
アルタイム入力されたものであり、音符間に若干のズレ
(1テンポクロック分)が生じている。
【0085】さて、前述したように、自動演奏がスター
トすると、テンポクロック累算値CCRおよびこれをオ
フセット先行させたユーザーテンポクロック累算値CC
R’に基づき、演奏データが順次読み出されて楽曲が進
行して行く。すなわち、図13に示すように、最初にユ
ーザーテンポクロック累算値CCR’に従って先行読み
出しされたイベントデータ(G3音ノートオン、E3音ノ
ートオン)がノートレジスタNRにストアされる。ここ
で、両イベントはリアルタイム入力された為に、1テン
ポクロック分のタイミングのズレが生じているが、先行
読み出しすることにより(図10および図11の処
理)、そのズレを無視して同一タイミングと見做してい
る。
トすると、テンポクロック累算値CCRおよびこれをオ
フセット先行させたユーザーテンポクロック累算値CC
R’に基づき、演奏データが順次読み出されて楽曲が進
行して行く。すなわち、図13に示すように、最初にユ
ーザーテンポクロック累算値CCR’に従って先行読み
出しされたイベントデータ(G3音ノートオン、E3音ノ
ートオン)がノートレジスタNRにストアされる。ここ
で、両イベントはリアルタイム入力された為に、1テン
ポクロック分のタイミングのズレが生じているが、先行
読み出しすることにより(図10および図11の処
理)、そのズレを無視して同一タイミングと見做してい
る。
【0086】そして、本来の発音タイミングより早い時
刻t1において演奏スイッチ1がオン操作されると、そ
れ以前に発音していた楽音を消音すると共に、先行読み
出しされていたイベント(G3音ノートオン、E3音ノー
トオン)を実行するワンキープレイが行われる。そし
て、以後、このイベント期間中(音符長)にて再度ワン
キープレイすると(時刻t3〜t4,t5〜t6)、そ
のタイミングでは本来発音すべき楽音(G3音およびE3
音)が繰り返し発音される。
刻t1において演奏スイッチ1がオン操作されると、そ
れ以前に発音していた楽音を消音すると共に、先行読み
出しされていたイベント(G3音ノートオン、E3音ノー
トオン)を実行するワンキープレイが行われる。そし
て、以後、このイベント期間中(音符長)にて再度ワン
キープレイすると(時刻t3〜t4,t5〜t6)、そ
のタイミングでは本来発音すべき楽音(G3音およびE3
音)が繰り返し発音される。
【0087】次いで、時刻t7において演奏スイッチ1
をオン操作すると、このタイミングではG3音の本来の
発音タイミングより遅れているが、G3音が発音され
る。そして、時刻t7よりオン操作を持続すると、次の
イベント(E3音ノートオン)が省略されてワンキープ
レイを行うモードから演奏パートを自動演奏するモード
に遷移し、続くイベント(E3音ノートオン)より自動
演奏される。
をオン操作すると、このタイミングではG3音の本来の
発音タイミングより遅れているが、G3音が発音され
る。そして、時刻t7よりオン操作を持続すると、次の
イベント(E3音ノートオン)が省略されてワンキープ
レイを行うモードから演奏パートを自動演奏するモード
に遷移し、続くイベント(E3音ノートオン)より自動
演奏される。
【0088】このように、本実施例によれば、伴奏パー
トについては演奏アドレスに従って順次、自動演奏さ
れ、一方、演奏パートについてはワンキープレイが行わ
れない時でも先行アドレスに応じて順次演奏データの読
み出しを進めておき、ワンキープレイが行われたら、そ
の操作タイミングに対応する演奏データを即座に再生さ
せるので、伴奏パートの演奏を進行させながら、演奏パ
ートを「ワンキープレイ」させたり、その演奏パートに
おいて曲の途中から「ワンキープレイ」を始めることが
可能になっている。
トについては演奏アドレスに従って順次、自動演奏さ
れ、一方、演奏パートについてはワンキープレイが行わ
れない時でも先行アドレスに応じて順次演奏データの読
み出しを進めておき、ワンキープレイが行われたら、そ
の操作タイミングに対応する演奏データを即座に再生さ
せるので、伴奏パートの演奏を進行させながら、演奏パ
ートを「ワンキープレイ」させたり、その演奏パートに
おいて曲の途中から「ワンキープレイ」を始めることが
可能になっている。
【0089】また、演奏パートについては、先行アドレ
スに従って演奏データを先行読み出しておき、本来のイ
ベントタイミングより早目にワンキープレイしたり、そ
のイベント期間中に複数回ワンキープレイした場合で
も、それらワンキープレイしたタイミングが先行読み出
しされたイベント期間中であれば、そのイベントの楽音
を即座に発音させるので、音楽的に不自然さなく演奏し
得るようになっている。
スに従って演奏データを先行読み出しておき、本来のイ
ベントタイミングより早目にワンキープレイしたり、そ
のイベント期間中に複数回ワンキープレイした場合で
も、それらワンキープレイしたタイミングが先行読み出
しされたイベント期間中であれば、そのイベントの楽音
を即座に発音させるので、音楽的に不自然さなく演奏し
得るようになっている。
【0090】さらに、演奏スイッチ1が所定時間オン操
作され続けた時には、演奏パートが自動演奏されるよう
にしており、この状態で再度ワンキープレイが行われる
と、その自動演奏が解除される為、ユーザーの好みに応
じて「ワンキープレイ」するパートを自動演奏させた
り、元の「ワンキープレイ」に戻したりすることができ
るようになっている。
作され続けた時には、演奏パートが自動演奏されるよう
にしており、この状態で再度ワンキープレイが行われる
と、その自動演奏が解除される為、ユーザーの好みに応
じて「ワンキープレイ」するパートを自動演奏させた
り、元の「ワンキープレイ」に戻したりすることができ
るようになっている。
【0091】なお、上述した実施例では、演奏データの
発音タイミングが1テンポクロック分ずれた場合でもそ
れを同時発音タイミングと見做して処理するようにした
が、これは1テンポクロックに限らず、それ以上のタイ
ミングずれも同時発音タイミングに見做すことも可能で
ある。例えば、発音しようとする音符の前後の音符長と
楽曲のテンポ情報とを勘案して同時発音タイミングと見
做し得るタイミングずれを自動的に設定する態様にして
も良い。
発音タイミングが1テンポクロック分ずれた場合でもそ
れを同時発音タイミングと見做して処理するようにした
が、これは1テンポクロックに限らず、それ以上のタイ
ミングずれも同時発音タイミングに見做すことも可能で
ある。例えば、発音しようとする音符の前後の音符長と
楽曲のテンポ情報とを勘案して同時発音タイミングと見
做し得るタイミングずれを自動的に設定する態様にして
も良い。
【0092】また、本実施例では、2つの音符にわたっ
て1つの音符長分以上の期間、演奏スイッチ1をオン操
作し続けた時に、ワンキープレイするモードから自動演
奏するモードへ遷移するようにしたが、これに限らず、
一定時間経過後に自動演奏するようモード設定する態様
としても良い。
て1つの音符長分以上の期間、演奏スイッチ1をオン操
作し続けた時に、ワンキープレイするモードから自動演
奏するモードへ遷移するようにしたが、これに限らず、
一定時間経過後に自動演奏するようモード設定する態様
としても良い。
【0093】
【発明の効果】本発明によれば、記憶手段に記憶される
複数パートの内、演奏操作子の操作に応じて再生される
演奏パート以外の他のパートの各演奏データを、楽曲の
進行と共に歩進する第1のアドレスに従って読み出して
自動演奏する一方で、この第1のアドレスをオフセット
させた第2のアドレスに応じて前記記憶手段から前記他
のパートに対して演奏パートの演奏データを先行読み出
しして行き、この先行読み出しされた演奏データのイベ
ント期間中に、前記演奏操作子が操作された時には即座
にその演奏イベントに対応する楽音を再生するので、他
のパートの演奏を進行させながら、演奏パートを「ワン
キープレイ」させたり、その演奏パートにおいて曲の途
中から「ワンキープレイ」を始めることができる。しか
も演奏データにより定義される本来のタイミングを逃し
て演奏操作子を操作しても、先行読み出しされた演奏デ
ータのイベント期間中に、演奏操作子が操作された時に
は即座にその演奏イベントに対応する楽音を再生するか
ら、音楽的に不自然さなく演奏することができる。ま
た、演奏操作子が所定期間の操作し続けられると、再生
手段は第1の演奏データを自動演奏する自動演奏モード
に遷移し、この自動演奏モード中に再び演奏操作子が操
作されたら元のワンキープレイモードに復帰するので、
ユーザーの好みに応じて「ワンキープレイ」するパート
を自動演奏させたり、元の「ワンキープレイ」に戻した
りすることができる。
複数パートの内、演奏操作子の操作に応じて再生される
演奏パート以外の他のパートの各演奏データを、楽曲の
進行と共に歩進する第1のアドレスに従って読み出して
自動演奏する一方で、この第1のアドレスをオフセット
させた第2のアドレスに応じて前記記憶手段から前記他
のパートに対して演奏パートの演奏データを先行読み出
しして行き、この先行読み出しされた演奏データのイベ
ント期間中に、前記演奏操作子が操作された時には即座
にその演奏イベントに対応する楽音を再生するので、他
のパートの演奏を進行させながら、演奏パートを「ワン
キープレイ」させたり、その演奏パートにおいて曲の途
中から「ワンキープレイ」を始めることができる。しか
も演奏データにより定義される本来のタイミングを逃し
て演奏操作子を操作しても、先行読み出しされた演奏デ
ータのイベント期間中に、演奏操作子が操作された時に
は即座にその演奏イベントに対応する楽音を再生するか
ら、音楽的に不自然さなく演奏することができる。ま
た、演奏操作子が所定期間の操作し続けられると、再生
手段は第1の演奏データを自動演奏する自動演奏モード
に遷移し、この自動演奏モード中に再び演奏操作子が操
作されたら元のワンキープレイモードに復帰するので、
ユーザーの好みに応じて「ワンキープレイ」するパート
を自動演奏させたり、元の「ワンキープレイ」に戻した
りすることができる。
【図1】本発明による一実施例の構成を示すブロック図
である。
である。
【図2】演奏データの構成を示す図である。
【図3】スイッチ走査処理ルーチンの動作を示すフロー
チャートである。
チャートである。
【図4】スイッチ走査処理ルーチンの動作を示すフロー
チャートである。
チャートである。
【図5】メインルーチンの動作を示すフローチャートで
ある。
ある。
【図6】メインルーチンの動作を示すフローチャートで
ある。
ある。
【図7】伴奏パートのデータ処理ルーチンの動作を示す
フローチャートである。
フローチャートである。
【図8】演奏パートのデータ処理/スイッチイベントに
関する処理ルーチンの動作を示すフローチャートであ
る。
関する処理ルーチンの動作を示すフローチャートであ
る。
【図9】演奏パートのデータ処理/スイッチイベントに
関する処理ルーチンの動作を示すフローチャートであ
る。
関する処理ルーチンの動作を示すフローチャートであ
る。
【図10】CCR’の値を使用した演奏パートのデータ
処理ルーチンの動作を示すフローチャートである。
処理ルーチンの動作を示すフローチャートである。
【図11】CCR’の値を使用した演奏パートのデータ
処理ルーチンの動作を示すフローチャートである。
処理ルーチンの動作を示すフローチャートである。
【図12】演奏パート発音処理ルーチンの動作を示すフ
ローチャートである。
ローチャートである。
【図13】具体的な動作例を説明する為のタイミングチ
ャートである。
ャートである。
1 演奏スイッチ(演奏操作子) 2 パネルスイッチ 3 CPU(自動演奏手段、再生手段) 4 テンポクロック発生回路(自動演奏手段、再生手
段) 5 ROM(記憶手段) 6 RAM(自動演奏手段、再生手段) 7 音源(再生手段) 8 サウンドシステム
段) 5 ROM(記憶手段) 6 RAM(自動演奏手段、再生手段) 7 音源(再生手段) 8 サウンドシステム
Claims (3)
- 【請求項1】 演奏イベントおよびそのタイミングから
なる演奏データを複数パート毎に記憶する記憶手段と、 この記憶手段に記憶される複数パートの内、演奏操作子
の操作に応じて再生される演奏パート以外の他のパート
の各演奏データを、楽曲の進行と共に歩進する第1のア
ドレスに従って読み出して自動演奏する自動演奏手段
と、 前記第1のアドレスをオフセットさせた第2のアドレス
に応じて前記記憶手段から前記他のパートに対して演奏
パートの演奏データを先行読み出しして行き、この先行
読み出しされた演奏データのイベント期間中に、前記演
奏操作子が操作された時には即座にその演奏イベントに
対応する楽音を再生する再生手段とを具備することを特
徴とする演奏装置。 - 【請求項2】 前記再生手段は、演奏操作子が所定期
間、操作し続けられたら前記演奏パートの演奏データを
自動演奏する自動演奏モードに遷移し、この自動演奏モ
ード中に再び演奏操作子が操作されたら元のモードに復
帰するモード変更手段を備えることを特徴とする請求項
1記載の演奏装置。 - 【請求項3】 前記再生手段は、演奏パートの演奏デー
タにおいて発音タイミングが僅かに異なる演奏データが
複数存在する場合、それらを同一タイミングと見做して
同時発音させることを特徴とする請求項1記載の演奏装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9242542A JPH1185153A (ja) | 1997-09-08 | 1997-09-08 | 演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9242542A JPH1185153A (ja) | 1997-09-08 | 1997-09-08 | 演奏装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1185153A true JPH1185153A (ja) | 1999-03-30 |
Family
ID=17090667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9242542A Abandoned JPH1185153A (ja) | 1997-09-08 | 1997-09-08 | 演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1185153A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7297862B2 (en) | 2001-09-04 | 2007-11-20 | Yamaha Corporation | Musical tone control apparatus and method |
JP2010117419A (ja) * | 2008-11-11 | 2010-05-27 | Casio Computer Co Ltd | 電子楽器 |
JP6138330B1 (ja) * | 2016-11-15 | 2017-05-31 | 株式会社gloops | 端末装置、端末装置のゲーム実行方法、プログラム、及びプログラム記録媒体 |
JP2023020120A (ja) * | 2021-07-30 | 2023-02-09 | カシオ計算機株式会社 | 電子機器、電子楽器、方法、およびプログラム |
-
1997
- 1997-09-08 JP JP9242542A patent/JPH1185153A/ja not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7297862B2 (en) | 2001-09-04 | 2007-11-20 | Yamaha Corporation | Musical tone control apparatus and method |
US7528318B2 (en) | 2001-09-04 | 2009-05-05 | Yamaha Corporation | Musical tone control apparatus and method |
JP2010117419A (ja) * | 2008-11-11 | 2010-05-27 | Casio Computer Co Ltd | 電子楽器 |
JP6138330B1 (ja) * | 2016-11-15 | 2017-05-31 | 株式会社gloops | 端末装置、端末装置のゲーム実行方法、プログラム、及びプログラム記録媒体 |
JP2018081159A (ja) * | 2016-11-15 | 2018-05-24 | 株式会社gloops | 端末装置、端末装置のゲーム実行方法、プログラム、及びプログラム記録媒体 |
JP2023020120A (ja) * | 2021-07-30 | 2023-02-09 | カシオ計算機株式会社 | 電子機器、電子楽器、方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001242859A (ja) | 自動伴奏装置および自動伴奏方法 | |
JPH1185153A (ja) | 演奏装置 | |
JP2712954B2 (ja) | 電子楽器 | |
JPH06259070A (ja) | 電子楽器 | |
JP2643277B2 (ja) | 自動演奏装置 | |
JPH0375874B2 (ja) | ||
JP3554770B2 (ja) | 楽音発生装置 | |
JP3620321B2 (ja) | 自動伴奏装置 | |
JP3667387B2 (ja) | 電子楽器 | |
JP3940999B2 (ja) | 演奏装置および演奏方法 | |
JP2596303B2 (ja) | 電子楽器 | |
JP3329030B2 (ja) | 楽音信号発生装置 | |
JPH05204297A (ja) | 階名発生装置 | |
JP2842440B2 (ja) | 自動伴奏装置 | |
JP3543159B2 (ja) | 自動伴奏装置 | |
JP2947620B2 (ja) | 自動伴奏装置 | |
JP4645285B2 (ja) | 電子楽器 | |
JPH07152372A (ja) | 演奏装置 | |
JPH0744178A (ja) | 自動伴奏装置 | |
JPH1152951A (ja) | 演奏装置 | |
JP2848092B2 (ja) | 自動伴奏装置 | |
JPH04181995A (ja) | 自動伴奏装置 | |
JP2002169548A (ja) | リズム演奏装置およびリズム演奏方法 | |
JPH08185169A (ja) | 楽音発生装置 | |
JPH07121171A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20041029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041101 |