JP3038086B2 - 演奏情報再生装置 - Google Patents
演奏情報再生装置Info
- Publication number
- JP3038086B2 JP3038086B2 JP4253231A JP25323192A JP3038086B2 JP 3038086 B2 JP3038086 B2 JP 3038086B2 JP 4253231 A JP4253231 A JP 4253231A JP 25323192 A JP25323192 A JP 25323192A JP 3038086 B2 JP3038086 B2 JP 3038086B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- tone
- time
- information
- performance information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【産業上の利用分野】本発明は電子楽器等にて演奏情報
を読み出し演奏を再生する演奏情報再生装置に関する。
を読み出し演奏を再生する演奏情報再生装置に関する。
【0002】
【従来の技術】電子キーボードや電子ピアノなどの電子
楽器では、演奏した楽音情報を格納したり再生したりす
る演奏情報記憶再生装置(レコーダ)が具備されたもの
がある。このようなレコーダを用いて演奏を記憶させる
場合、押鍵信号を入力すると、音高、音量、発音タイミ
ング等の演奏情報が格納され、離鍵信号を入力すると、
その演奏情報に押鍵信号離鍵信号の時間間隔に基づく発
音時間情報が付加されて一つの演奏情報(キーデータ)
として書き込まれる。演奏再生時は、レコーダに書き込
まれている演奏情報を読み出し、読み出す演奏情報に基
づいて音源を駆動させることで演奏を再生していた。
楽器では、演奏した楽音情報を格納したり再生したりす
る演奏情報記憶再生装置(レコーダ)が具備されたもの
がある。このようなレコーダを用いて演奏を記憶させる
場合、押鍵信号を入力すると、音高、音量、発音タイミ
ング等の演奏情報が格納され、離鍵信号を入力すると、
その演奏情報に押鍵信号離鍵信号の時間間隔に基づく発
音時間情報が付加されて一つの演奏情報(キーデータ)
として書き込まれる。演奏再生時は、レコーダに書き込
まれている演奏情報を読み出し、読み出す演奏情報に基
づいて音源を駆動させることで演奏を再生していた。
【0003】
【発明が解決しようとする課題】しかしこのような従来
の装置では、演奏記憶時に鍵が押された状態(押鍵状
態)で演奏記憶状態が解除されると、その押鍵に対する
離鍵信号がレコーダに入力されず発音時間が格納されな
いことになる。そのため離鍵信号が入力されずに記憶さ
れた演奏情報を再生するときは楽音が鳴り放し(放音状
態)になってしまう問題があった。例えば鍵を押した状
態で、演奏記憶スイッチをオフにした場合やレコーダの
電源がオフになってしまったような場合が考えられる。
の装置では、演奏記憶時に鍵が押された状態(押鍵状
態)で演奏記憶状態が解除されると、その押鍵に対する
離鍵信号がレコーダに入力されず発音時間が格納されな
いことになる。そのため離鍵信号が入力されずに記憶さ
れた演奏情報を再生するときは楽音が鳴り放し(放音状
態)になってしまう問題があった。例えば鍵を押した状
態で、演奏記憶スイッチをオフにした場合やレコーダの
電源がオフになってしまったような場合が考えられる。
【0004】本発明は、このような課題を解決するもの
とし、離鍵情報のない演奏情報を再生させた場合でも放
音状態を防ぐことを目的とする。
とし、離鍵情報のない演奏情報を再生させた場合でも放
音状態を防ぐことを目的とする。
【0005】
【課題を解決するための手段】まず、本発明の関連技術
について説明する。この関連技術は、図13(a)に例
示するように、予め記憶装置に格納されている演奏情報
を読み出し該読み出した演奏情報に基づき楽音を発生す
ることで演奏情報を再生する演奏情報再生装置におい
て、上記読み出す演奏情報に基づき楽音信号を発生する
楽音信号発生手段と、上記読み出す演奏情報中に含まれ
ている演奏の終了信号、または、演奏終了を指示する操
作がなされると発生する演奏終了指示信号のいずれかの
信号を検出する楽音停止信号検出手段と、上記楽音停止
信号検出手段により上記信号のいずれが検出されたとき
上記楽音信号発生手段による楽音発生を停止する楽音発
生停止手段とを備えたことを特徴とする演奏情報再生装
置を要旨とする。
について説明する。この関連技術は、図13(a)に例
示するように、予め記憶装置に格納されている演奏情報
を読み出し該読み出した演奏情報に基づき楽音を発生す
ることで演奏情報を再生する演奏情報再生装置におい
て、上記読み出す演奏情報に基づき楽音信号を発生する
楽音信号発生手段と、上記読み出す演奏情報中に含まれ
ている演奏の終了信号、または、演奏終了を指示する操
作がなされると発生する演奏終了指示信号のいずれかの
信号を検出する楽音停止信号検出手段と、上記楽音停止
信号検出手段により上記信号のいずれが検出されたとき
上記楽音信号発生手段による楽音発生を停止する楽音発
生停止手段とを備えたことを特徴とする演奏情報再生装
置を要旨とする。
【0006】そして、上述の目的を達成するため、本発
明は、図13(b)に例示するように、予め記憶装置に
格納されている演奏情報を読み出し該読み出した演奏情
報に基づき楽音を発生することで演奏情報を再生する演
奏情報再生装置において、上記読み出す演奏情報から少
なくとも発音時間を含む発音情報を取り出し該取り出し
た発音情報を一時的に格納する発音情報記憶手段と、上
記発音情報記憶手段に格納された発音情報に基づき楽音
信号を発生する楽音信号発生手段と、上記読み出す演奏
情報中に含まれている演奏の終了信号、または、演奏終
了を指示する操作がなされると発生する演奏終了指示信
号のいずれかの信号を検出する楽音停止信号検出手段
と、上記楽音停止信号検出手段により上記信号のいずれ
が検出されたとき上記発音情報記憶手段に格納されてい
る発音時間を予め定められた発音時間に書き換える発音
時間書換手段とを備えたことを特徴とする演奏情報再生
装置を要旨とする。
明は、図13(b)に例示するように、予め記憶装置に
格納されている演奏情報を読み出し該読み出した演奏情
報に基づき楽音を発生することで演奏情報を再生する演
奏情報再生装置において、上記読み出す演奏情報から少
なくとも発音時間を含む発音情報を取り出し該取り出し
た発音情報を一時的に格納する発音情報記憶手段と、上
記発音情報記憶手段に格納された発音情報に基づき楽音
信号を発生する楽音信号発生手段と、上記読み出す演奏
情報中に含まれている演奏の終了信号、または、演奏終
了を指示する操作がなされると発生する演奏終了指示信
号のいずれかの信号を検出する楽音停止信号検出手段
と、上記楽音停止信号検出手段により上記信号のいずれ
が検出されたとき上記発音情報記憶手段に格納されてい
る発音時間を予め定められた発音時間に書き換える発音
時間書換手段とを備えたことを特徴とする演奏情報再生
装置を要旨とする。
【0007】
【作用】まず、上記関連技術としての演奏情報再生装置
では、予め記憶装置に格納されている演奏情報を読み出
し、読み出した演奏情報に基づいて楽音を発生すること
で演奏情報を再生する際に、楽音停止信号検出手段によ
り読み出す演奏情報から、上記演奏の終了信号、また
は、演奏終了指示信号のいずれかの信号を検出してい
る。楽音停止信号検出手段によりいずれかの信号が検出
されたときは、楽音発生停止手段により、楽音信号発生
手段による楽音発生を停止する。
では、予め記憶装置に格納されている演奏情報を読み出
し、読み出した演奏情報に基づいて楽音を発生すること
で演奏情報を再生する際に、楽音停止信号検出手段によ
り読み出す演奏情報から、上記演奏の終了信号、また
は、演奏終了指示信号のいずれかの信号を検出してい
る。楽音停止信号検出手段によりいずれかの信号が検出
されたときは、楽音発生停止手段により、楽音信号発生
手段による楽音発生を停止する。
【0008】そして、本発明の演奏情報再生装置では、
上記関連技術と同様な楽音停止信号検出手段が、上記演
奏の終了信号、または、演奏終了指示信号のいずれかの
信号を検出したとき、発音時間書換手段が発音情報記憶
手段に格納されている発音時間を予め定められた発音時
間に書き換える。楽音信号発生手段は、発音情報記憶手
段に格納された発音情報に基づき楽音信号を発生するの
で書き換えられた発音時間分だけ楽音は発生されて停止
する。
上記関連技術と同様な楽音停止信号検出手段が、上記演
奏の終了信号、または、演奏終了指示信号のいずれかの
信号を検出したとき、発音時間書換手段が発音情報記憶
手段に格納されている発音時間を予め定められた発音時
間に書き換える。楽音信号発生手段は、発音情報記憶手
段に格納された発音情報に基づき楽音信号を発生するの
で書き換えられた発音時間分だけ楽音は発生されて停止
する。
【0009】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1は本発明の演奏情報再生装置を搭載し
た一実施例としての電子楽器1のブロック図である。
に説明する。図1は本発明の演奏情報再生装置を搭載し
た一実施例としての電子楽器1のブロック図である。
【0010】電子楽器1は、鍵盤3、鍵盤インタフェー
ス5、パネル操作子7、パネルインタフェース9、楽音
波形メモリ11、CPU13、RAM(ランダムアクセ
スメモリ)15、プログラムROM17、自動演奏デー
タメモリ19、楽音発生回路21、D/A変換器23、
アンプ25、スピーカ27等から構成されている。
ス5、パネル操作子7、パネルインタフェース9、楽音
波形メモリ11、CPU13、RAM(ランダムアクセ
スメモリ)15、プログラムROM17、自動演奏デー
タメモリ19、楽音発生回路21、D/A変換器23、
アンプ25、スピーカ27等から構成されている。
【0011】鍵盤3は、電子楽器1で演奏者が楽曲を演
奏するための鍵盤である。鍵盤インタフェース5は、鍵
盤3をスキャンすることにより演奏情報(キーオン、キ
ーオフ、キーナンバ、ベロシティ等)を取り入れ、デー
タバスに送るインタフェース回路である。
奏するための鍵盤である。鍵盤インタフェース5は、鍵
盤3をスキャンすることにより演奏情報(キーオン、キ
ーオフ、キーナンバ、ベロシティ等)を取り入れ、デー
タバスに送るインタフェース回路である。
【0012】パネル操作子7は、電子楽器1のモード設
定など各種設定処理を行うためのスイッチ類が集合して
いる操作パネルである。パネルインタフェース9は、パ
ネル操作子7をスキャンすることによる操作パネルの設
定状態をデータバスに送るインタフェース回路である。
定など各種設定処理を行うためのスイッチ類が集合して
いる操作パネルである。パネルインタフェース9は、パ
ネル操作子7をスキャンすることによる操作パネルの設
定状態をデータバスに送るインタフェース回路である。
【0013】楽音波形メモリ11は、予め楽器から発生
される楽音をサンプリングしたり、波形加工により作り
出したりした楽音波形が格納されるリードオンリメモリ
である。CPU13は、楽音停止信号検出手段、上記関
連技術における楽音発生停止手段、本発明の発音時間書
換手段としての機能を果たしており、電子楽器1の各種
制御処理を実行する中央処理装置である。RAM15
は、本発明の発音情報記憶手段としての機能を果たして
おり、制御データ、アドレスデータ等の各種データを一
時的に格納するリードオンリメモリである。プログラム
ROM17は、CPU13で処理されるデータやプログ
ラム等が格納されているリードオンリメモリである。
される楽音をサンプリングしたり、波形加工により作り
出したりした楽音波形が格納されるリードオンリメモリ
である。CPU13は、楽音停止信号検出手段、上記関
連技術における楽音発生停止手段、本発明の発音時間書
換手段としての機能を果たしており、電子楽器1の各種
制御処理を実行する中央処理装置である。RAM15
は、本発明の発音情報記憶手段としての機能を果たして
おり、制御データ、アドレスデータ等の各種データを一
時的に格納するリードオンリメモリである。プログラム
ROM17は、CPU13で処理されるデータやプログ
ラム等が格納されているリードオンリメモリである。
【0014】自動演奏データメモリ19は、鍵盤3を弾
くことにより演奏者が楽曲を演奏する際の演奏情報を格
納する記憶装置である。自動演奏データメモリ19は、
フロッピーディスク、ハードディスク、光磁気ディス
ク、デジタルオーディオテープ(DAT)等の各種記憶
媒体で構成することができる。
くことにより演奏者が楽曲を演奏する際の演奏情報を格
納する記憶装置である。自動演奏データメモリ19は、
フロッピーディスク、ハードディスク、光磁気ディス
ク、デジタルオーディオテープ(DAT)等の各種記憶
媒体で構成することができる。
【0015】楽音発生回路21は、楽音信号発生手段と
しての機能を果たし、データバスを通して送られてくる
楽音波形に、ピッチコントロール、リバーブ等の処理を
施し、処理が施された楽音波形をD/A変換器23に送
る電気回路である。D/A変換器23は、ピッチコント
ロール、リバーブ等の処理が施された楽音波形を楽音発
生回路21から受け、ディジタル信号からアナログ信号
へ変換するディジタル/アナログ変換器である。アンプ
25は、D/A変換器23から送られてくるアナログ信
号としての楽音波形を電気的に増幅する増幅器である。
スピーカ27は、アンプ25から送られる増幅された楽
音信号を外部に出力するスピーカである。
しての機能を果たし、データバスを通して送られてくる
楽音波形に、ピッチコントロール、リバーブ等の処理を
施し、処理が施された楽音波形をD/A変換器23に送
る電気回路である。D/A変換器23は、ピッチコント
ロール、リバーブ等の処理が施された楽音波形を楽音発
生回路21から受け、ディジタル信号からアナログ信号
へ変換するディジタル/アナログ変換器である。アンプ
25は、D/A変換器23から送られてくるアナログ信
号としての楽音波形を電気的に増幅する増幅器である。
スピーカ27は、アンプ25から送られる増幅された楽
音信号を外部に出力するスピーカである。
【0016】図2(a)は、電子楽器1の自動演奏デー
タメモリ19に格納されている演奏情報のデータ構造を
示している。図に示すように、楽曲データAは、キーデ
ータとして4バイト、小節エンドとして2バイト、楽曲
エンドとして2バイトのデータが格納されている。キー
データの4バイトはそれぞれ、音高を示すキーナンバ、
発音タイミングを示すステップタイム、発音時間を示す
ゲートタイム、押鍵の強さ(音量)を示すベロシティか
らなる。小節エンドの2バイトはそれぞれ、小節の終了
を示すバーマーク、発音タイミングを示すステップタイ
ムからなる。楽曲エンドの2バイトはそれぞれ、楽曲デ
ータAの終了を示すエンドマーク、終了タイミングを示
すステップタイムからなる。
タメモリ19に格納されている演奏情報のデータ構造を
示している。図に示すように、楽曲データAは、キーデ
ータとして4バイト、小節エンドとして2バイト、楽曲
エンドとして2バイトのデータが格納されている。キー
データの4バイトはそれぞれ、音高を示すキーナンバ、
発音タイミングを示すステップタイム、発音時間を示す
ゲートタイム、押鍵の強さ(音量)を示すベロシティか
らなる。小節エンドの2バイトはそれぞれ、小節の終了
を示すバーマーク、発音タイミングを示すステップタイ
ムからなる。楽曲エンドの2バイトはそれぞれ、楽曲デ
ータAの終了を示すエンドマーク、終了タイミングを示
すステップタイムからなる。
【0017】図2(b)〜(d)はそれぞれ、演奏記憶
時、演奏再生時に音源チャンネル(本実施例では14音
ポリ数)毎にRAM15に一時的に格納される演奏情報
を示している。図2(b)は、各音源チャンネル毎に格
納される演奏情報として音高データ(キーナンバ)等を
示すアサインバッファBである。演奏記憶時は、鍵盤イ
ンタフェース5から送信される演奏情報から、音高デー
タ等が所定の音源チャンネルに割り当てられアサインバ
ッファBにキーナンバ等が一時的に格納される。演奏再
生時は、自動演奏データメモリ19に格納されているキ
ーナンバ等が読み出されてアサインバッファBに格納さ
れる。
時、演奏再生時に音源チャンネル(本実施例では14音
ポリ数)毎にRAM15に一時的に格納される演奏情報
を示している。図2(b)は、各音源チャンネル毎に格
納される演奏情報として音高データ(キーナンバ)等を
示すアサインバッファBである。演奏記憶時は、鍵盤イ
ンタフェース5から送信される演奏情報から、音高デー
タ等が所定の音源チャンネルに割り当てられアサインバ
ッファBにキーナンバ等が一時的に格納される。演奏再
生時は、自動演奏データメモリ19に格納されているキ
ーナンバ等が読み出されてアサインバッファBに格納さ
れる。
【0018】図2(c)は、各音源チャンネル毎に格納
される発音時間のカウント数を示すゲートタイムカウン
タCである。ゲートタイムカウンタCに格納される発音
時間は、演奏記憶時は、押鍵信号が入力されるタイミン
グでカウントを開始して1づつ加えられていき離鍵信号
が入力されるタイミングでカウント値が発音時間データ
として自動演奏データメモリ19に格納される(つまり
楽曲データAのゲートタイムとなる)。
される発音時間のカウント数を示すゲートタイムカウン
タCである。ゲートタイムカウンタCに格納される発音
時間は、演奏記憶時は、押鍵信号が入力されるタイミン
グでカウントを開始して1づつ加えられていき離鍵信号
が入力されるタイミングでカウント値が発音時間データ
として自動演奏データメモリ19に格納される(つまり
楽曲データAのゲートタイムとなる)。
【0019】演奏再生時は、自動演奏データメモリ19
から楽曲データAのゲートタイムが読み出されゲートタ
イムカウンタCの該当する音源チャンネルに一時的に格
納される。格納された発音時間は1づつ減らされていき
最終的に値がゼロとなるまで該当するチャンネルの音源
から楽音が発生される。しかしこの際、初めから発音時
間としてゼロがセットされた場合は、これを無限長時間
としてカウントはされずそのままゼロとして発音を続け
ることになる。
から楽曲データAのゲートタイムが読み出されゲートタ
イムカウンタCの該当する音源チャンネルに一時的に格
納される。格納された発音時間は1づつ減らされていき
最終的に値がゼロとなるまで該当するチャンネルの音源
から楽音が発生される。しかしこの際、初めから発音時
間としてゼロがセットされた場合は、これを無限長時間
としてカウントはされずそのままゼロとして発音を続け
ることになる。
【0020】図2(d)は、演奏記憶時にゲートタイム
カウンタCによりカウントされた発音時間を格納する先
のアドレスを格納するアドレスバッファDである。アド
レスバッファDは自動演奏データメモリ19内のアドレ
スを格納しており、そのアドレスに楽曲データAのゲー
トタイムが格納される。アドレスは2バイトのデータで
あるため、上位バイト、下位バイトに分けて格納され
る。
カウンタCによりカウントされた発音時間を格納する先
のアドレスを格納するアドレスバッファDである。アド
レスバッファDは自動演奏データメモリ19内のアドレ
スを格納しており、そのアドレスに楽曲データAのゲー
トタイムが格納される。アドレスは2バイトのデータで
あるため、上位バイト、下位バイトに分けて格納され
る。
【0021】次にCPU13が実行する第1実施例の各
種処理についてフローチャートに基づき説明する。図3
は電子楽器1に電源が投入された際にCPU13が実行
する処理のフローチャートを示している。
種処理についてフローチャートに基づき説明する。図3
は電子楽器1に電源が投入された際にCPU13が実行
する処理のフローチャートを示している。
【0022】操作を行う者が電子楽器1の電源を投入す
ると、CPU13は各種初期設定を実行する(S10
1)。次に電子楽器1のパネル操作子7等のパネル設定
の状態をスキャンしてパネル処理を実行する(S10
3)。次に演奏者が鍵盤3に対して行う鍵盤操作に対す
る鍵盤処理を実行する(S105)。次に演奏者により
なされる押鍵離鍵の鍵盤操作に応じて該当する楽音発生
の時間制御処理を実行する(S107)。次に自動演奏
データメモリ19に格納されている演奏情報を再生する
イベントが発生している場合に自動演奏処理を実行する
(S109)。S103〜S109の処理は、鍵盤3の
押鍵離鍵状態やパネル操作子7の設定状態に応じて実行
される。これら各処理の詳細について次に述べる。
ると、CPU13は各種初期設定を実行する(S10
1)。次に電子楽器1のパネル操作子7等のパネル設定
の状態をスキャンしてパネル処理を実行する(S10
3)。次に演奏者が鍵盤3に対して行う鍵盤操作に対す
る鍵盤処理を実行する(S105)。次に演奏者により
なされる押鍵離鍵の鍵盤操作に応じて該当する楽音発生
の時間制御処理を実行する(S107)。次に自動演奏
データメモリ19に格納されている演奏情報を再生する
イベントが発生している場合に自動演奏処理を実行する
(S109)。S103〜S109の処理は、鍵盤3の
押鍵離鍵状態やパネル操作子7の設定状態に応じて実行
される。これら各処理の詳細について次に述べる。
【0023】図4は図3のS103で実行されるパネル
処理のフローチャートである。パネル処理では、まず最
初にパネルインタフェース9によりパネル操作子7の設
定状態をスキャンする(S201)。次にパネル操作子
7のモード設定が演奏記憶モードに設定されたかどうか
(つまりRECボタンが押されて演奏記憶がスタートさ
れたかどうか)を判断する(S203)。演奏記憶モー
ドに設定されたと判断した場合は、電子楽器1の設定モ
ードを示すフラグを演奏記憶モード(つまりRECフラ
グをオンする)に設定する(S205)。電子楽器1の
設定モードを示すフラグはRAM15に格納されてい
る。次に入力される演奏情報の発音時間を楽曲データA
の発音時間(ゲートタイム)として書き込む自動演奏デ
ータメモリ19のアドレスをセットする(S207)。
つまりRAM15のアドレスバッファDに2バイトのア
ドレスデータを書き込む。アドレスをセットするとパネ
ル処理を終了する。
処理のフローチャートである。パネル処理では、まず最
初にパネルインタフェース9によりパネル操作子7の設
定状態をスキャンする(S201)。次にパネル操作子
7のモード設定が演奏記憶モードに設定されたかどうか
(つまりRECボタンが押されて演奏記憶がスタートさ
れたかどうか)を判断する(S203)。演奏記憶モー
ドに設定されたと判断した場合は、電子楽器1の設定モ
ードを示すフラグを演奏記憶モード(つまりRECフラ
グをオンする)に設定する(S205)。電子楽器1の
設定モードを示すフラグはRAM15に格納されてい
る。次に入力される演奏情報の発音時間を楽曲データA
の発音時間(ゲートタイム)として書き込む自動演奏デ
ータメモリ19のアドレスをセットする(S207)。
つまりRAM15のアドレスバッファDに2バイトのア
ドレスデータを書き込む。アドレスをセットするとパネ
ル処理を終了する。
【0024】S203で演奏記憶モードに設定されたと
判断しなかった場合は、演奏記憶モードが解除されたか
どうか(つまりストップボタンが押されたかどうか)を
判断する(S209)。演奏記憶モードが解除されたと
判断した場合は、演奏記憶モードに設定されていた電子
楽器1の設定モードを示すフラグをオフの状態にする
(S211)。次に演奏記憶が終了したとして、自動演
奏データメモリ19に格納されている楽曲データAに楽
曲エンドとして2バイトのデータを書き込んでパネル処
理を終了する(S213)。
判断しなかった場合は、演奏記憶モードが解除されたか
どうか(つまりストップボタンが押されたかどうか)を
判断する(S209)。演奏記憶モードが解除されたと
判断した場合は、演奏記憶モードに設定されていた電子
楽器1の設定モードを示すフラグをオフの状態にする
(S211)。次に演奏記憶が終了したとして、自動演
奏データメモリ19に格納されている楽曲データAに楽
曲エンドとして2バイトのデータを書き込んでパネル処
理を終了する(S213)。
【0025】S209で演奏記憶モードが解除されたと
判断しなかった場合(つまりRECボタンがスタートさ
れてもストップされてもいない場合)は、演奏再生モー
ドに設定されたかどうか(つまりプレイボタンがスター
トされたかどうか)を判断する(S215)。演奏再生
モードに設定されたと判断した場合は、自動演奏データ
メモリ19に格納されている楽曲データAのアドレス
を、読み出しアドレスとしてRAM15内にセットする
(S217)。次に電子楽器1の設定モードを示すフラ
グを演奏再生モード(プレイフラグをオン)に設定して
パネル処理を終了する(S219)。
判断しなかった場合(つまりRECボタンがスタートさ
れてもストップされてもいない場合)は、演奏再生モー
ドに設定されたかどうか(つまりプレイボタンがスター
トされたかどうか)を判断する(S215)。演奏再生
モードに設定されたと判断した場合は、自動演奏データ
メモリ19に格納されている楽曲データAのアドレス
を、読み出しアドレスとしてRAM15内にセットする
(S217)。次に電子楽器1の設定モードを示すフラ
グを演奏再生モード(プレイフラグをオン)に設定して
パネル処理を終了する(S219)。
【0026】S215で演奏再生モードに設定されたと
判断しなかった場合は、演奏再生モードが解除されたか
どうか(つまりプレイボタンがストップされたかどう
か)を判断する(S221)。このS221が、本発明
の「演奏終了を指示する操作がなされると発生する演奏
終了指示信号」を検出する処理を示している。演奏再生
モードが解除されたと判断した場合は、演奏再生モード
に設定されていた電子楽器1の設定モードを示すフラグ
をオフの状態にする(S223)。次に記憶時に離鍵信
号が入力されていないキーデータを検出し消音処理を施
すことで放音状態を防ぐ発音停止処理を実行する(S2
25)。この発音停止処理については後に図11を基に
説明する。
判断しなかった場合は、演奏再生モードが解除されたか
どうか(つまりプレイボタンがストップされたかどう
か)を判断する(S221)。このS221が、本発明
の「演奏終了を指示する操作がなされると発生する演奏
終了指示信号」を検出する処理を示している。演奏再生
モードが解除されたと判断した場合は、演奏再生モード
に設定されていた電子楽器1の設定モードを示すフラグ
をオフの状態にする(S223)。次に記憶時に離鍵信
号が入力されていないキーデータを検出し消音処理を施
すことで放音状態を防ぐ発音停止処理を実行する(S2
25)。この発音停止処理については後に図11を基に
説明する。
【0027】S221で演奏再生モードが解除されたと
判断しなかった場合は、演奏記憶モードまたは演奏再生
モードが設定されても解除されてもいないとしてパネル
処理を終了する。図5は図3のS105で実行される鍵
盤処理のフローチャートである。
判断しなかった場合は、演奏記憶モードまたは演奏再生
モードが設定されても解除されてもいないとしてパネル
処理を終了する。図5は図3のS105で実行される鍵
盤処理のフローチャートである。
【0028】最初に鍵盤3を鍵盤インタフェース5によ
りスキャンして、鍵盤3からのイベントをチェックする
(S301)。次に鍵盤3から押鍵(ノートオン)のイ
ベントが発生しているかどうかを判断する(S30
3)。押鍵のイベントが発生していると判断した場合
は、電子楽器1の設定モードを示すフラグが演奏記憶モ
ードであるかどうかを判断する(S305)。演奏記憶
モードであると判断した場合は、楽曲データAの内のキ
ーデータの先頭2バイトを自動演奏データメモリ19に
書き込む。つまり音高を示すキーナンバを書き込み(S
307)、発音タイミングを示すステップタイムを書き
込む(S309)。次に発音時間を示すゲートタイムを
書き込むが、押鍵信号が入力された時点で発音時間を決
定することはできないので、自動演奏データメモリ19
のアドレスがRAM15内のアドレスバッファDにセッ
トされる(S311)。つまり自動演奏データメモリ1
9に格納される楽曲データAのゲートタイムを示すアド
レスが音源チャンネル毎に設定される。次に無限長時間
を示す00(16進)が記憶装置としての自動演奏デー
タメモリ19の該当アドレスに書き込まれる(S31
5)。この00(16進)が書き込まれた状態で演奏再
生を実行すると楽音が鳴り放しになる。次に押鍵の強さ
(音量)を示すベロシティデータを書き込む(S31
7)。ベロシティデータを書き込むことで楽曲データA
のキーデータを示す4バイトが格納されたことになる。
次に読み出した楽曲データAに基づき音源21を駆動し
て発音処理を実行する(S319)。
りスキャンして、鍵盤3からのイベントをチェックする
(S301)。次に鍵盤3から押鍵(ノートオン)のイ
ベントが発生しているかどうかを判断する(S30
3)。押鍵のイベントが発生していると判断した場合
は、電子楽器1の設定モードを示すフラグが演奏記憶モ
ードであるかどうかを判断する(S305)。演奏記憶
モードであると判断した場合は、楽曲データAの内のキ
ーデータの先頭2バイトを自動演奏データメモリ19に
書き込む。つまり音高を示すキーナンバを書き込み(S
307)、発音タイミングを示すステップタイムを書き
込む(S309)。次に発音時間を示すゲートタイムを
書き込むが、押鍵信号が入力された時点で発音時間を決
定することはできないので、自動演奏データメモリ19
のアドレスがRAM15内のアドレスバッファDにセッ
トされる(S311)。つまり自動演奏データメモリ1
9に格納される楽曲データAのゲートタイムを示すアド
レスが音源チャンネル毎に設定される。次に無限長時間
を示す00(16進)が記憶装置としての自動演奏デー
タメモリ19の該当アドレスに書き込まれる(S31
5)。この00(16進)が書き込まれた状態で演奏再
生を実行すると楽音が鳴り放しになる。次に押鍵の強さ
(音量)を示すベロシティデータを書き込む(S31
7)。ベロシティデータを書き込むことで楽曲データA
のキーデータを示す4バイトが格納されたことになる。
次に読み出した楽曲データAに基づき音源21を駆動し
て発音処理を実行する(S319)。
【0029】S305で電子楽器1の設定モードを示す
フラグが演奏記憶モードであると判断しなかった場合は
S307〜S317の処理は実行せずS319の発音処
理を実行することになる。またS303では、鍵盤3か
ら押鍵(ノートオン)のイベントが発生していると判断
しなかった場合の処理について以下に述べる。S303
で押鍵のイベントが発生しているとされなかった場合、
鍵盤3から離鍵(ノートオフ)のイベントが発生してい
るかどうかを判断する(S321)。離鍵イベントが発
生していると判断した場合は、電子楽器1の設定モード
を示すフラグが演奏記憶モードであるかどうかを判断す
る(S323)。演奏記憶モードであると判断した場合
は、アドレスバッファDにセットされているアドレスに
従い、ゲートタイムカウンタに格納されている発音時間
を自動演奏データメモリ19に書き込む(S325)。
つまり楽曲データAのゲートタイムは無限発音時間を示
すゼロが格納されていたが、ここでゼロを押鍵信号が入
力されたタイミングおよび離鍵信号が入力されたタイミ
ングに基づく発音時間に書き換える。次に消音して処理
を終了する(S327)。
フラグが演奏記憶モードであると判断しなかった場合は
S307〜S317の処理は実行せずS319の発音処
理を実行することになる。またS303では、鍵盤3か
ら押鍵(ノートオン)のイベントが発生していると判断
しなかった場合の処理について以下に述べる。S303
で押鍵のイベントが発生しているとされなかった場合、
鍵盤3から離鍵(ノートオフ)のイベントが発生してい
るかどうかを判断する(S321)。離鍵イベントが発
生していると判断した場合は、電子楽器1の設定モード
を示すフラグが演奏記憶モードであるかどうかを判断す
る(S323)。演奏記憶モードであると判断した場合
は、アドレスバッファDにセットされているアドレスに
従い、ゲートタイムカウンタに格納されている発音時間
を自動演奏データメモリ19に書き込む(S325)。
つまり楽曲データAのゲートタイムは無限発音時間を示
すゼロが格納されていたが、ここでゼロを押鍵信号が入
力されたタイミングおよび離鍵信号が入力されたタイミ
ングに基づく発音時間に書き換える。次に消音して処理
を終了する(S327)。
【0030】S323で電子楽器1の設定モードを示す
フラグが演奏記憶モードにあると判断しなかった場合、
S325の処理は実行せずS327の消音処理を実行す
る。またS321で鍵盤3から離鍵のイベントが発生し
ていると判断しなかった場合は、S323〜S327の
処理は実行せず鍵盤処理を終了する。
フラグが演奏記憶モードにあると判断しなかった場合、
S325の処理は実行せずS327の消音処理を実行す
る。またS321で鍵盤3から離鍵のイベントが発生し
ていると判断しなかった場合は、S323〜S327の
処理は実行せず鍵盤処理を終了する。
【0031】図6は図3のS107で実行される発音時
間制御処理のフローチャートである。発音時間制御処理
では図4に示した鍵盤操作に応じた発音時間を制御する
ことになる。発音時間制御処理では、まず最初に1/2
4のタイミングにあるかどうかを判断する(S40
1)。電子楽器1では4分音符を24分割した音の長さ
を1単位にして発音タイミングが計られているので、こ
のタイミングに合わなければ発音時間制御処理は行わな
い。1/24のタイミングにあると判断した場合は、電
子楽器1の設定モードを示すフラグが演奏記憶モードで
あるかどうかを判断する(S403)。演奏記憶モード
であると判断した場合は、ゲートタイムカウンタCに格
納されている発音時間に1を加える(つまり4分音符の
1/24分の長さが加えられる)(S405)。次に記
憶時間を管理するRECカウンタを1だけ増加する。こ
のRECカウンタはRAM15に設けられており、楽曲
データAを格納する際に小節単位の管理をしている。次
にRECカウンタが96(つまり楽曲が4/4拍子とし
た場合の一小節分の長さ)であるかどうかを判断する
(S409)。RECカウンタが96であると判断した
場合は、小節の終了であるため楽曲データAの小節エン
ドとして2バイトのデータを自動演奏データメモリ19
に書き込む(S411)。次にRECカウンタをクリア
してゼロに戻して発音時間制御処理を終了する(S41
3)。
間制御処理のフローチャートである。発音時間制御処理
では図4に示した鍵盤操作に応じた発音時間を制御する
ことになる。発音時間制御処理では、まず最初に1/2
4のタイミングにあるかどうかを判断する(S40
1)。電子楽器1では4分音符を24分割した音の長さ
を1単位にして発音タイミングが計られているので、こ
のタイミングに合わなければ発音時間制御処理は行わな
い。1/24のタイミングにあると判断した場合は、電
子楽器1の設定モードを示すフラグが演奏記憶モードで
あるかどうかを判断する(S403)。演奏記憶モード
であると判断した場合は、ゲートタイムカウンタCに格
納されている発音時間に1を加える(つまり4分音符の
1/24分の長さが加えられる)(S405)。次に記
憶時間を管理するRECカウンタを1だけ増加する。こ
のRECカウンタはRAM15に設けられており、楽曲
データAを格納する際に小節単位の管理をしている。次
にRECカウンタが96(つまり楽曲が4/4拍子とし
た場合の一小節分の長さ)であるかどうかを判断する
(S409)。RECカウンタが96であると判断した
場合は、小節の終了であるため楽曲データAの小節エン
ドとして2バイトのデータを自動演奏データメモリ19
に書き込む(S411)。次にRECカウンタをクリア
してゼロに戻して発音時間制御処理を終了する(S41
3)。
【0032】S409でRECカウンタが96であると
判断しなかった場合は、S411およびS413の処理
は実行せず発音時間制御処理を終了する。S403で電
子楽器1の設定モードを示すフラグが演奏記憶モードで
あると判断しなかった場合は、S405〜S413の処
理は実行せず発音時間制御処理を終了する。
判断しなかった場合は、S411およびS413の処理
は実行せず発音時間制御処理を終了する。S403で電
子楽器1の設定モードを示すフラグが演奏記憶モードで
あると判断しなかった場合は、S405〜S413の処
理は実行せず発音時間制御処理を終了する。
【0033】S401で1/24のタイミングにあるか
と判断しなかった場合は、S403〜S413の処理は
実行せず発音時間制御処理を終了する。図7は図3のS
109で実行される自動演奏処理のフローチャートであ
る。自動演奏処理では、まず最初に発音時間を示すゲー
トタイムの管理としてゲートタイムオフ処理を実行する
(S501)。次に電子楽器1の設定モードを示すフラ
グが演奏再生モードであるかどうかを判断する(S50
3)。演奏再生モードであると判断した場合は、自動演
奏データメモリ19に格納されている楽曲データAを読
み出して再生するREC再生処理を実行する(S50
5)。次にRECカウンタを1だけ増加して自動演奏処
理を終了する。
と判断しなかった場合は、S403〜S413の処理は
実行せず発音時間制御処理を終了する。図7は図3のS
109で実行される自動演奏処理のフローチャートであ
る。自動演奏処理では、まず最初に発音時間を示すゲー
トタイムの管理としてゲートタイムオフ処理を実行する
(S501)。次に電子楽器1の設定モードを示すフラ
グが演奏再生モードであるかどうかを判断する(S50
3)。演奏再生モードであると判断した場合は、自動演
奏データメモリ19に格納されている楽曲データAを読
み出して再生するREC再生処理を実行する(S50
5)。次にRECカウンタを1だけ増加して自動演奏処
理を終了する。
【0034】S503で電子楽器1の設定モードを示す
フラグが演奏再生モードであると判断しなかった場合
は、S505およびS507の処理は実行せず自動演奏
処理を終了する。自動演奏処理にて、S501で実行さ
れるゲートタイムオフ処理、S505で実行されるRE
C再生処理について以下さらに詳しく述べる。尚説明の
都合上S505のREC再生処理について先に説明し、
S501で実行されるゲートタイムオフ処理については
図10で説明するものとする。
フラグが演奏再生モードであると判断しなかった場合
は、S505およびS507の処理は実行せず自動演奏
処理を終了する。自動演奏処理にて、S501で実行さ
れるゲートタイムオフ処理、S505で実行されるRE
C再生処理について以下さらに詳しく述べる。尚説明の
都合上S505のREC再生処理について先に説明し、
S501で実行されるゲートタイムオフ処理については
図10で説明するものとする。
【0035】図8は図7のS505で実行されるREC
再生処理のフローチャートである。REC再生処理で
は、まず最初に発音タイミングを示すステップタイムと
RECカウンタの値とが等しいかどうかを判断する(S
601)。ステップタイムとRECカウンタの値とが等
しい場合は、新たな小節を読み出して再生するタイミン
グにあるとして自動演奏データメモリ19に格納されて
いる演奏情報、つまり楽曲データAの1小節分を読み出
す(S603)。次に読み出した演奏情報が楽曲エンド
であるかどうかを判断する(S605)。このS605
が本発明の「演奏情報中に含まれている演奏の終了信
号」を検出している処理となる。読み出した演奏情報が
楽曲エンドであると判断した場合、演奏再生モードに設
定されていた電子楽器1の設定モードを示すフラグをク
リアする(S607)。次に記憶時に離鍵信号が入力さ
れていないキーデータを検出し消音処理を施すことで放
音状態を防ぐ発音停止処理を実行する(S608)。こ
の発音停止処理については後に図11を基に説明する。
発音停止処理を実行するとREC再生処理を終了する
(S609)。
再生処理のフローチャートである。REC再生処理で
は、まず最初に発音タイミングを示すステップタイムと
RECカウンタの値とが等しいかどうかを判断する(S
601)。ステップタイムとRECカウンタの値とが等
しい場合は、新たな小節を読み出して再生するタイミン
グにあるとして自動演奏データメモリ19に格納されて
いる演奏情報、つまり楽曲データAの1小節分を読み出
す(S603)。次に読み出した演奏情報が楽曲エンド
であるかどうかを判断する(S605)。このS605
が本発明の「演奏情報中に含まれている演奏の終了信
号」を検出している処理となる。読み出した演奏情報が
楽曲エンドであると判断した場合、演奏再生モードに設
定されていた電子楽器1の設定モードを示すフラグをク
リアする(S607)。次に記憶時に離鍵信号が入力さ
れていないキーデータを検出し消音処理を施すことで放
音状態を防ぐ発音停止処理を実行する(S608)。こ
の発音停止処理については後に図11を基に説明する。
発音停止処理を実行するとREC再生処理を終了する
(S609)。
【0036】S605で読み出した演奏情報が楽曲エン
ドであると判断されなかった場合は、読み出した演奏情
報が小節エンドであるかどうかを判断する(S60
9)。読み出した演奏情報が小節エンドである場合は、
RECカウンタをゼロにクリアして再びS601の処理
に戻る(S611)。
ドであると判断されなかった場合は、読み出した演奏情
報が小節エンドであるかどうかを判断する(S60
9)。読み出した演奏情報が小節エンドである場合は、
RECカウンタをゼロにクリアして再びS601の処理
に戻る(S611)。
【0037】S609で読み出した演奏情報が小節エン
ドであると判断されなかった場合は、発音時間を示すゲ
ートタイムが音源チャンネル毎にゲートタイムカウンタ
Cにセットするゲートタイムセット処理を実行する(S
613)。次に楽音発生回路21を駆動する発音処理を
実行する(S615)。次に自動演奏データメモリ19
の読み出しアドレスを4バイトだけ加えて次の演奏情報
を指すようにする(S617)。次に楽音発生回路21
を駆動する発音タイミングとして、ステップタイムを自
動演奏データメモリ19から読み出した楽曲データAか
ら取り出し、RAM15にセットする(S619)。ス
テップタイムをセットする処理を終了するとS601の
処理に戻る。
ドであると判断されなかった場合は、発音時間を示すゲ
ートタイムが音源チャンネル毎にゲートタイムカウンタ
Cにセットするゲートタイムセット処理を実行する(S
613)。次に楽音発生回路21を駆動する発音処理を
実行する(S615)。次に自動演奏データメモリ19
の読み出しアドレスを4バイトだけ加えて次の演奏情報
を指すようにする(S617)。次に楽音発生回路21
を駆動する発音タイミングとして、ステップタイムを自
動演奏データメモリ19から読み出した楽曲データAか
ら取り出し、RAM15にセットする(S619)。ス
テップタイムをセットする処理を終了するとS601の
処理に戻る。
【0038】S601で発音タイミングを示すステップ
タイムとRECカウンタの値とが等しいと判断されなか
った場合はS603〜S619の処理は実行せずREC
再生処理を終了する。図9は図8のS613で実行され
るゲートタイムセット処理のフローチャートである。
タイムとRECカウンタの値とが等しいと判断されなか
った場合はS603〜S619の処理は実行せずREC
再生処理を終了する。図9は図8のS613で実行され
るゲートタイムセット処理のフローチャートである。
【0039】ゲートタイムセット処理では、まず最初に
音源チャンネルを示す変数Ch.に電子楽器1が備えて
いる音源ポリ数である14をセットする(S701)。
次に変数Ch.が示す音源チャンネルがオンの状態であ
るか、つまりアサインバッファBのキーナンバにキーデ
ータが書き込まれているかを判断する(S703)。変
数Ch.が示す音源チャンネルがオンの状態であると判
断した場合は、変数Ch.を1だけ減らす(S70
5)。次にCh.を1だけ減らした結果、Ch.が指す
音源チャンネルが終了したかどうかを判断する(S70
7)。つまり14音ポリの音源チャンネル全てが使用さ
れているかどうかを判断する。指す音源チャンネルが終
了してしまった場合、送られて来る演奏情報を割り当て
ることができないためゲートタイムセット処理を終了す
る。S707にてCh.が指す音源チャンネルが終了し
たと判断されなかった場合は、次の音源チャンネルのチ
ェックを行うため再びS703の処理へ戻る。本実施例
では、先押し優先の電子楽器1としたが、後押し優先と
すればこれらの処理手順は異なったものとなる。
音源チャンネルを示す変数Ch.に電子楽器1が備えて
いる音源ポリ数である14をセットする(S701)。
次に変数Ch.が示す音源チャンネルがオンの状態であ
るか、つまりアサインバッファBのキーナンバにキーデ
ータが書き込まれているかを判断する(S703)。変
数Ch.が示す音源チャンネルがオンの状態であると判
断した場合は、変数Ch.を1だけ減らす(S70
5)。次にCh.を1だけ減らした結果、Ch.が指す
音源チャンネルが終了したかどうかを判断する(S70
7)。つまり14音ポリの音源チャンネル全てが使用さ
れているかどうかを判断する。指す音源チャンネルが終
了してしまった場合、送られて来る演奏情報を割り当て
ることができないためゲートタイムセット処理を終了す
る。S707にてCh.が指す音源チャンネルが終了し
たと判断されなかった場合は、次の音源チャンネルのチ
ェックを行うため再びS703の処理へ戻る。本実施例
では、先押し優先の電子楽器1としたが、後押し優先と
すればこれらの処理手順は異なったものとなる。
【0040】S703で変数Ch.が示す音源チャンネ
ルがオンの状態であると判断しなかった場合は、変数C
h.が示すアサインバッファBにオン信号およびキーナ
ンバをセットする(S709)。次にゲートタイムカウ
ンタCに自動演奏データメモリ19から読み出した楽曲
データAのゲートタイムを発音時間として書き込んでゲ
ートタイムセット処理を終了する(S711)。
ルがオンの状態であると判断しなかった場合は、変数C
h.が示すアサインバッファBにオン信号およびキーナ
ンバをセットする(S709)。次にゲートタイムカウ
ンタCに自動演奏データメモリ19から読み出した楽曲
データAのゲートタイムを発音時間として書き込んでゲ
ートタイムセット処理を終了する(S711)。
【0041】図10は図7のS501で実行されるゲー
トタイムオフ処理のフローチャートである。ゲートタイ
ムオフ処理では、まず最初に音源チャンネルを示す変数
Ch.に電子楽器1が備えている音源ポリ数である14
をセットする(S801)。次に変数Ch.が示す音源
チャンネルがオンの状態であるかを判断する(S80
3)。変数Ch.が示す音源チャンネルがオンの状態で
あると判断した場合は、ゲートタイムカウンタCの変数
Ch.が示すゲートタイムがゼロであるかを判断する
(S805)。ゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであると判断しなかった場合
は、Ch.が示すゲートタイムを1だけ減らす(S80
7)。次に再びゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであるかを判断する(S80
9)。ここでゲートタイムカウンタCの変数Ch.が示
すゲートタイムがゼロであると判断した場合は、アサイ
ンバッファBでオンにセットされている変数Ch.示す
音源チャンネルをオフに書き換える(S811)。次
に、変数Ch.示す音源チャンネルに対して消音処理を
施す(S815)。消音処理を終了すると変数Ch.を
1だけ減らす(S815)。次にCh.を1だけ減らし
た結果、Ch.が指す音源チャンネルが終了したかどう
かを判断する(S817)。Ch.が指す音源チャンネ
ルが終了したと判断した場合はゲートタイムオフ処理を
終了する。Ch.が指す音源チャンネルが終了したと判
断しなかった場合はS803の処理に戻り、Ch.が指
す音源チャンネルに対して処理を実行する。
トタイムオフ処理のフローチャートである。ゲートタイ
ムオフ処理では、まず最初に音源チャンネルを示す変数
Ch.に電子楽器1が備えている音源ポリ数である14
をセットする(S801)。次に変数Ch.が示す音源
チャンネルがオンの状態であるかを判断する(S80
3)。変数Ch.が示す音源チャンネルがオンの状態で
あると判断した場合は、ゲートタイムカウンタCの変数
Ch.が示すゲートタイムがゼロであるかを判断する
(S805)。ゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであると判断しなかった場合
は、Ch.が示すゲートタイムを1だけ減らす(S80
7)。次に再びゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであるかを判断する(S80
9)。ここでゲートタイムカウンタCの変数Ch.が示
すゲートタイムがゼロであると判断した場合は、アサイ
ンバッファBでオンにセットされている変数Ch.示す
音源チャンネルをオフに書き換える(S811)。次
に、変数Ch.示す音源チャンネルに対して消音処理を
施す(S815)。消音処理を終了すると変数Ch.を
1だけ減らす(S815)。次にCh.を1だけ減らし
た結果、Ch.が指す音源チャンネルが終了したかどう
かを判断する(S817)。Ch.が指す音源チャンネ
ルが終了したと判断した場合はゲートタイムオフ処理を
終了する。Ch.が指す音源チャンネルが終了したと判
断しなかった場合はS803の処理に戻り、Ch.が指
す音源チャンネルに対して処理を実行する。
【0042】S809でゲートタイムカウンタCの変数
Ch.が示すゲートタイムがゼロであると判断しなかっ
た場合は、S811およびS813の処理は実行せず、
S815の処理を実行する。S805でゲートタイムカ
ウンタCの変数Ch.が示すゲートタイムがゼロである
と判断した場合は、S807〜S813の処理は実行せ
ず、S815の処理を実行する。この場合、ゲートタイ
ムカウンタCには無限長時間を示すゼロが格納されてい
たことを示しており、S807〜S813の処理は実行
せず(つまりカウンタを減らさず)S815の処理を実
行する。つまり楽曲データAの発音時間としてゼロが格
納されていた場合、ここでは消音処理は実行されないこ
とになる。
Ch.が示すゲートタイムがゼロであると判断しなかっ
た場合は、S811およびS813の処理は実行せず、
S815の処理を実行する。S805でゲートタイムカ
ウンタCの変数Ch.が示すゲートタイムがゼロである
と判断した場合は、S807〜S813の処理は実行せ
ず、S815の処理を実行する。この場合、ゲートタイ
ムカウンタCには無限長時間を示すゼロが格納されてい
たことを示しており、S807〜S813の処理は実行
せず(つまりカウンタを減らさず)S815の処理を実
行する。つまり楽曲データAの発音時間としてゼロが格
納されていた場合、ここでは消音処理は実行されないこ
とになる。
【0043】S803で変数Ch.が示す音源チャンネ
ルがオンの状態であると判断した場合は、その音源チャ
ンネルは使用中であるのでS805〜S813の処理は
実行せず、S815の処理を実行する。図11は図4の
パネル処理のS225、および図8のREC再生処理の
S608で実行される楽音停止処理を示している。
ルがオンの状態であると判断した場合は、その音源チャ
ンネルは使用中であるのでS805〜S813の処理は
実行せず、S815の処理を実行する。図11は図4の
パネル処理のS225、および図8のREC再生処理の
S608で実行される楽音停止処理を示している。
【0044】楽音停止処理では、まず最初に音源チャン
ネルを示す変数Ch.に電子楽器1が備えている音源ポ
リ数である14をセットする(S901)。次に変数C
h.が示す音源チャンネルがオンの状態であるかを判断
する(S903)。変数Ch.が示す音源チャンネルが
オンの状態であると判断した場合は消音処理を実行する
(S907)。次にCh.が指す音源チャンネルが終了
したかどうかを判断する(S909)。終了したと判断
した場合は、発音停止処理を終了する。S909で全て
の音源チャンネルをチェックしたと判断しなかった場合
はCh.を1だけ減らしてS903の処理に戻る(S9
11)。
ネルを示す変数Ch.に電子楽器1が備えている音源ポ
リ数である14をセットする(S901)。次に変数C
h.が示す音源チャンネルがオンの状態であるかを判断
する(S903)。変数Ch.が示す音源チャンネルが
オンの状態であると判断した場合は消音処理を実行する
(S907)。次にCh.が指す音源チャンネルが終了
したかどうかを判断する(S909)。終了したと判断
した場合は、発音停止処理を終了する。S909で全て
の音源チャンネルをチェックしたと判断しなかった場合
はCh.を1だけ減らしてS903の処理に戻る(S9
11)。
【0045】次に第2実施例としての電子楽器1が実行
する処理について説明する。第2実施例は、第1実施例
の図4のパネル処理のS225、および図8のREC再
生処理のS608で実行される楽音停止処理が図12に
示すゲートタイム書換処理となる点のみが第1実施例と
異なっており、その他の構成および処理については同じ
である。
する処理について説明する。第2実施例は、第1実施例
の図4のパネル処理のS225、および図8のREC再
生処理のS608で実行される楽音停止処理が図12に
示すゲートタイム書換処理となる点のみが第1実施例と
異なっており、その他の構成および処理については同じ
である。
【0046】図12は図4のパネル処理のS225、お
よび図8のREC再生処理のS608で実行されるゲー
トタイム書換処理を示している。ゲートタイム書換処理
では、まず最初に音源チャンネルを示す変数Ch.に電
子楽器1が備えている音源ポリ数である14をセットす
る(S1001)。次に予め定められた発音時間データ
として1をゲートタイムカウンタに書き込む(S100
7)。この場合変数Ch.が示す音源チャンネルがオン
の状態であったものは、発音時間として4分音符の1/
24の長さだけ発音して楽音の発生を停止する。変数C
h.が示す音源チャンネルがオンの状態であれば、単に
ゲートタイムカウンタに1がセットされるのみで発音は
されない。次にCh.が指す音源チャンネルが終了した
かどうかを判断する(S1009)。終了したと判断し
た場合は、ゲートタイム書換処理を終了する。S100
9で全ての音源チャンネルをチェックしたと判断しなか
った場合はCh.を1だけ減らしてS1003の処理に
戻る(S1011)。
よび図8のREC再生処理のS608で実行されるゲー
トタイム書換処理を示している。ゲートタイム書換処理
では、まず最初に音源チャンネルを示す変数Ch.に電
子楽器1が備えている音源ポリ数である14をセットす
る(S1001)。次に予め定められた発音時間データ
として1をゲートタイムカウンタに書き込む(S100
7)。この場合変数Ch.が示す音源チャンネルがオン
の状態であったものは、発音時間として4分音符の1/
24の長さだけ発音して楽音の発生を停止する。変数C
h.が示す音源チャンネルがオンの状態であれば、単に
ゲートタイムカウンタに1がセットされるのみで発音は
されない。次にCh.が指す音源チャンネルが終了した
かどうかを判断する(S1009)。終了したと判断し
た場合は、ゲートタイム書換処理を終了する。S100
9で全ての音源チャンネルをチェックしたと判断しなか
った場合はCh.を1だけ減らしてS1003の処理に
戻る(S1011)。
【0047】以上説明した通り第1実施例の電子楽器1
によれば、演奏記憶時に離鍵信号が入力されず、自動演
奏データメモリ19に格納されている楽曲データAの発
音時間が放音状態を起こすものであっても、図4に示す
パネル処理のS221で上記「演奏終了指示信号」を検
出し、図8に示すREC再生処理のS605で上記「演
奏の終了信号」を検出している。そしてS221で上記
「演奏終了指示信号」を検出した場合、およびS605
で上記「演奏の終了信号」を検出した場合は、S225
の楽音停止処理、つまり図11のS907で楽音発生を
停止している。そのため例えば鍵を押した状態で、演奏
記憶スイッチをオフにした場合やレコーダの電源がオフ
になってしまったような場合でも放音状態を防ぐことが
可能となった。
によれば、演奏記憶時に離鍵信号が入力されず、自動演
奏データメモリ19に格納されている楽曲データAの発
音時間が放音状態を起こすものであっても、図4に示す
パネル処理のS221で上記「演奏終了指示信号」を検
出し、図8に示すREC再生処理のS605で上記「演
奏の終了信号」を検出している。そしてS221で上記
「演奏終了指示信号」を検出した場合、およびS605
で上記「演奏の終了信号」を検出した場合は、S225
の楽音停止処理、つまり図11のS907で楽音発生を
停止している。そのため例えば鍵を押した状態で、演奏
記憶スイッチをオフにした場合やレコーダの電源がオフ
になってしまったような場合でも放音状態を防ぐことが
可能となった。
【0048】第2実施例の電子楽器1でも同様に、図4
に示すパネル処理のS221で上記「演奏終了指示信
号」を検出し、図8に示すREC再生処理のS605で
上記「演奏の終了信号」を検出している。そしてS22
1で上記「演奏終了指示信号」を検出した場合、および
S605で上記「演奏の終了信号」を検出した場合は、
S225の楽音停止処理、つまり図12のS1007で
発音時間を1に書き換えている。そのため離鍵情報のな
い演奏情報を再生させた場合でも放音状態を防ぐことが
可能となった。
に示すパネル処理のS221で上記「演奏終了指示信
号」を検出し、図8に示すREC再生処理のS605で
上記「演奏の終了信号」を検出している。そしてS22
1で上記「演奏終了指示信号」を検出した場合、および
S605で上記「演奏の終了信号」を検出した場合は、
S225の楽音停止処理、つまり図12のS1007で
発音時間を1に書き換えている。そのため離鍵情報のな
い演奏情報を再生させた場合でも放音状態を防ぐことが
可能となった。
【0049】さらに本実施例では、従来の記憶装置によ
り記憶された演奏情報から終了信号を検出する構成とし
たため、従来の記憶装置および演奏情報に変更を加える
ことなくそのまま用いることができるという効果もあ
る。本実施例では、自動演奏データメモリ19から直接
信号を検出するのではなく、RAM15のゲートタイム
カウンタCに書き込まれた発音情報から楽音停止信号を
検出する構成としたが、これは自動演奏データメモリ1
9からRAM15に送られる前の段階で検出する構成と
することもできる。
り記憶された演奏情報から終了信号を検出する構成とし
たため、従来の記憶装置および演奏情報に変更を加える
ことなくそのまま用いることができるという効果もあ
る。本実施例では、自動演奏データメモリ19から直接
信号を検出するのではなく、RAM15のゲートタイム
カウンタCに書き込まれた発音情報から楽音停止信号を
検出する構成としたが、これは自動演奏データメモリ1
9からRAM15に送られる前の段階で検出する構成と
することもできる。
【0050】第2実施例では予め定められた発音時間を
最短の1としたが、電子楽器1では4分音符を24分割
した処理タイミングでスキャンされていることから、こ
の発音時間を24の整数倍とすることで演奏の再生時に
楽曲を自然なものとすることができる。その内でも2分
音符では長すぎて曲のイメージを損ねる場合があり4分
音符程度の長さが適当であると考えられる。予め定めら
れた発音時間を発音する場合は音色を変化させるという
ことも考えられる。音色が変化した音符が発音されるこ
とで、演奏者は自らの演奏が正しく記憶されていない部
分を正確に知ることができる。
最短の1としたが、電子楽器1では4分音符を24分割
した処理タイミングでスキャンされていることから、こ
の発音時間を24の整数倍とすることで演奏の再生時に
楽曲を自然なものとすることができる。その内でも2分
音符では長すぎて曲のイメージを損ねる場合があり4分
音符程度の長さが適当であると考えられる。予め定めら
れた発音時間を発音する場合は音色を変化させるという
ことも考えられる。音色が変化した音符が発音されるこ
とで、演奏者は自らの演奏が正しく記憶されていない部
分を正確に知ることができる。
【0051】第2実施例では外部から送られる演奏終了
指示信号を検出した場合でもゲートタイム書換処理を実
行して、全チャンネルのゲートタイムカウンタを書き換
えているが、このようにすると音源チャンネルの状態を
検出する処理が不必要になるり処理が簡単になる。加え
て次回に演奏記憶や演奏再生を実行する際にゲートタイ
ムカウンタCに不正な値が残っていて障害となることが
少なくなるという効果もある。なお、以上説明した2つ
の実施例の内、上記第2実施例が本発明の実施例に相当
し、上記第1実施例は、上記関連技術の実施例に相当す
る。
指示信号を検出した場合でもゲートタイム書換処理を実
行して、全チャンネルのゲートタイムカウンタを書き換
えているが、このようにすると音源チャンネルの状態を
検出する処理が不必要になるり処理が簡単になる。加え
て次回に演奏記憶や演奏再生を実行する際にゲートタイ
ムカウンタCに不正な値が残っていて障害となることが
少なくなるという効果もある。なお、以上説明した2つ
の実施例の内、上記第2実施例が本発明の実施例に相当
し、上記第1実施例は、上記関連技術の実施例に相当す
る。
【0052】
【0053】
【発明の効果】以上詳述した通り、本発明 の演奏情報再
生装置では、演奏情報中に含まれている演奏の終了信
号、または、演奏終了を指示する操作がなされると発生
する演奏終了指示信号のいずれかの信号をを検出した場
合、予め定められた発音時間に書き換えられるため離鍵
情報のない演奏情報を再生させた場合でも放音状態を防
ぐことが可能となった。
生装置では、演奏情報中に含まれている演奏の終了信
号、または、演奏終了を指示する操作がなされると発生
する演奏終了指示信号のいずれかの信号をを検出した場
合、予め定められた発音時間に書き換えられるため離鍵
情報のない演奏情報を再生させた場合でも放音状態を防
ぐことが可能となった。
【図1】 本発明の一実施例としての電子楽器のブロ
ック図である。
ック図である。
【図2】 演奏情報メモリに格納される楽曲データ、
RAMに格納される演奏情報のデータ構成を示す説明図
である。
RAMに格納される演奏情報のデータ構成を示す説明図
である。
【図3】 その電子楽器が実行する処理を示す第1フ
ローチャートである。
ローチャートである。
【図4】 パネル処理を示す第2フローチャートであ
る。
る。
【図5】 鍵盤処理を示す第3フローチャートであ
る。
る。
【図6】 発音時間制御処理を示す第4フローチャー
トである。
トである。
【図7】 自動演奏処理を示す第5フローチャートで
ある。
ある。
【図8】 REC再生処理を示す第6フローチャート
である。
である。
【図9】 ゲートタイムセット処理を示す第7フロー
チャートである。
チャートである。
【図10】 ゲートタイムオフ処理を示す第8フロー
チャートである。
チャートである。
【図11】 発音停止処理を示す第9フローチャート
である。
である。
【図12】 ゲートタイム書換処理を示す第10フロ
ーチャートである。
ーチャートである。
【図13】 本発明の構成例示図である。
1・・・電子楽器、3・・・鍵盤、5・・・鍵盤インタ
フェース、13・・・CPU、15・・・RAM、19
・・・自動演奏データメモリ、21・・・楽音発生回
路、A・・・楽曲データ、B・・・アサインバッファ、
C・・・ゲートタイムカウンタ、D・・・アドレスバッ
ファ
フェース、13・・・CPU、15・・・RAM、19
・・・自動演奏データメモリ、21・・・楽音発生回
路、A・・・楽曲データ、B・・・アサインバッファ、
C・・・ゲートタイムカウンタ、D・・・アドレスバッ
ファ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 1/00 102 G10H 1/18 - 1/18 101
Claims (1)
- 【請求項1】 予め記憶装置に格納されている演奏情報
を読み出し該読み出した演奏情報に基づき楽音を発生す
ることで演奏情報を再生する演奏情報再生装置におい
て、 上記読み出す演奏情報から少なくとも発音時間を含む発
音情報を取り出し該取り出した発音情報を一時的に格納
する発音情報記憶手段と、 上記発音情報記憶手段に格納された発音情報に基づき楽
音信号を発生する楽音信号発生手段と、 上記読み出す演奏情報中に含まれている演奏の終了信
号、または、演奏終了を指示する操作がなされると発生
する演奏終了指示信号のいずれかの信号を検出する楽音
停止信号検出手段と、 上記楽音停止信号検出手段により上記信号のいずれが検
出されたとき上記発音情報記憶手段に格納されている発
音時間を予め定められた発音時間に書き換える発音時間
書換手段とを備えたことを特徴とする演奏情報再生装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4253231A JP3038086B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4253231A JP3038086B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06102875A JPH06102875A (ja) | 1994-04-15 |
JP3038086B2 true JP3038086B2 (ja) | 2000-05-08 |
Family
ID=17248398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4253231A Expired - Fee Related JP3038086B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3038086B2 (ja) |
-
1992
- 1992-09-22 JP JP4253231A patent/JP3038086B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06102875A (ja) | 1994-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6639142B2 (en) | Apparatus and method for processing waveform data to constitute musical performance data string | |
JPS6336066B2 (ja) | ||
JP3551086B2 (ja) | 楽音合成装置及び方法 | |
JP3846376B2 (ja) | 自動演奏装置、自動演奏プログラム、および自動演奏データ記録媒体 | |
JP3484719B2 (ja) | 音声入力機能付き演奏ガイド装置および演奏ガイド方法 | |
JP2620724B2 (ja) | 演奏情報の記録装置 | |
JP4170524B2 (ja) | 波形再生装置 | |
JP3038086B2 (ja) | 演奏情報再生装置 | |
JP3980750B2 (ja) | 電子楽器 | |
JP3038085B2 (ja) | 演奏情報再生装置 | |
JP2847000B2 (ja) | 演奏情報記憶装置 | |
JP4515382B2 (ja) | レコーダ | |
JP3031046B2 (ja) | 記録再生装置 | |
JP3029339B2 (ja) | 楽音波形に関するデータの処理装置及び処理方法 | |
JP2503622Y2 (ja) | 演奏情報記憶装置 | |
JP2844621B2 (ja) | 電子管楽器 | |
JP3757664B2 (ja) | 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3142434B2 (ja) | 電子楽器のシーケンサ | |
JP2556639B2 (ja) | 自動演奏装置 | |
JP2625800B2 (ja) | 自動演奏装置 | |
JPH0713037Y2 (ja) | 電子ピアノの音源回路 | |
JP2572317B2 (ja) | 自動演奏装置 | |
JP2607413B2 (ja) | 自動演奏装置 | |
JPH0782324B2 (ja) | 音階情報処理装置 | |
JP3316530B2 (ja) | 楽音制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |