JP3038085B2 - 演奏情報再生装置 - Google Patents
演奏情報再生装置Info
- Publication number
- JP3038085B2 JP3038085B2 JP4253230A JP25323092A JP3038085B2 JP 3038085 B2 JP3038085 B2 JP 3038085B2 JP 4253230 A JP4253230 A JP 4253230A JP 25323092 A JP25323092 A JP 25323092A JP 3038085 B2 JP3038085 B2 JP 3038085B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- time
- performance information
- determined
- stored
- 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は、本
発明の発音情報記憶手段としての機能を果たしており、
制御データ、アドレスデータ等の各種データを一時的に
格納するリードオンリメモリである。プログラムROM
17は、CPU13で処理されるデータやプログラム等
が格納されているリードオンリメモリである。
される楽音をサンプリングしたり、波形加工により作り
出したりした楽音波形が格納されるリードオンリメモリ
である。CPU13は、不正信号検出手段、上記関連技
術における楽音発生停止手段、本発明の発音時間書換手
段としての機能を果たしており、電子楽器1の各種制御
処理を実行する中央処理装置である。RAM15は、本
発明の発音情報記憶手段としての機能を果たしており、
制御データ、アドレスデータ等の各種データを一時的に
格納するリードオンリメモリである。プログラムROM
17は、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)。演奏再生モードが解除さ
れたと判断した場合は、演奏再生モードに設定されてい
た電子楽器1の設定モードを示すフラグをオフの状態に
する(S223)。次に記憶時に離鍵信号が入力されて
いないキーデータを検出し消音処理を施すことで放音状
態を防ぐ発音停止処理を実行する(S225)。この発
音停止処理については後に図11を基に説明する。
判断しなかった場合は、演奏再生モードが解除されたか
どうか(つまりプレイボタンがストップされたかどう
か)を判断する(S221)。演奏再生モードが解除さ
れたと判断した場合は、演奏再生モードに設定されてい
た電子楽器1の設定モードを示すフラグをオフの状態に
する(S223)。次に記憶時に離鍵信号が入力されて
いないキーデータを検出し消音処理を施すことで放音状
態を防ぐ発音停止処理を実行する(S225)。この発
音停止処理については後に図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の該当アドレスに書き込
まれる(S315)。この不正信号としての00(16
進)が書き込まれた状態で演奏再生を実行すると楽音が
鳴り放しになる。次に押鍵の強さ(音量)を示すベロシ
ティデータを書き込む(S317)。ベロシティデータ
を書き込むことで楽曲データ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の該当アドレスに書き込
まれる(S315)。この不正信号としての00(16
進)が書き込まれた状態で演奏再生を実行すると楽音が
鳴り放しになる。次に押鍵の強さ(音量)を示すベロシ
ティデータを書き込む(S317)。ベロシティデータ
を書き込むことで楽曲データ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)。読み出した演
奏情報が楽曲エンドであると判断した場合、演奏再生モ
ードに設定されていた電子楽器1の設定モードを示すフ
ラグをクリアする(S607)。次に記憶時に離鍵信号
が入力されていないキーデータを検出し消音処理を施す
ことで放音状態を防ぐ発音停止処理を実行する(S60
8)。この発音停止処理については後に図11を基に説
明する。発音停止処理を実行するとREC再生処理を終
了する(S609)。
再生処理のフローチャートである。REC再生処理で
は、まず最初に発音タイミングを示すステップタイムと
RECカウンタの値とが等しいかどうかを判断する(S
601)。ステップタイムとRECカウンタの値とが等
しい場合は、新たな小節を読み出して再生するタイミン
グにあるとして自動演奏データメモリ19に格納されて
いる演奏情報、つまり楽曲データAの1小節分を読み出
す(S603)。次に読み出した演奏情報が楽曲エンド
であるかどうかを判断する(S605)。読み出した演
奏情報が楽曲エンドであると判断した場合、演奏再生モ
ードに設定されていた電子楽器1の設定モードを示すフ
ラグをクリアする(S607)。次に記憶時に離鍵信号
が入力されていないキーデータを検出し消音処理を施す
ことで放音状態を防ぐ発音停止処理を実行する(S60
8)。この発音停止処理については後に図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〜S8
13の処理は実行せず(つまりカウンタを減らさず)S
815の処理を実行する。つまり楽曲データAの発音時
間としてゼロが格納されていた場合、ここでは消音処理
は実行されないことになる。
Ch.が示すゲートタイムがゼロであると判断しなかっ
た場合は、S811およびS813の処理は実行せず、
S815の処理を実行する。S805でゲートタイムカ
ウンタCの変数Ch.が示すゲートタイムがゼロである
と判断した場合は、S807〜S813の処理は実行せ
ず、S815の処理を実行する。この場合、ゲートタイ
ムカウンタCには無限長時間を示す不正信号としてのゼ
ロが格納されていたことを示しており、S807〜S8
13の処理は実行せず(つまりカウンタを減らさず)S
815の処理を実行する。つまり楽曲データ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.が示す音源チャンネルが
オンの状態であると判断した場合は、ゲートタイムカウ
ンタCの変数Ch.が示すゲートタイムがゼロであるか
を判断する(S905)。変数Ch.が示すゲートタイ
ムがゼロであると判断した場合は消音処理を実行する
(S907)。つまり変数Ch.が示すゲートタイムが
ゼロであると判断した場合は、無限長時間を示す不正信
号としてのゼロが楽曲データAのゲートタイムとして格
納されていたことになり、S907で消音処理を実行し
なければその音源チャンネルは放音状態となる。次にC
h.が指す音源チャンネルが終了したかどうかを判断す
る(S909)。終了したと判断した場合は、発音停止
処理を終了する。S909で全ての音源チャンネルをチ
ェックしたと判断しなかった場合はCh.を1だけ減ら
してS903の処理に戻る(S911)。
ネルを示す変数Ch.に電子楽器1が備えている音源ポ
リ数である14をセットする(S901)。次に変数C
h.が示す音源チャンネルがオンの状態であるかを判断
する(S903)。変数Ch.が示す音源チャンネルが
オンの状態であると判断した場合は、ゲートタイムカウ
ンタCの変数Ch.が示すゲートタイムがゼロであるか
を判断する(S905)。変数Ch.が示すゲートタイ
ムがゼロであると判断した場合は消音処理を実行する
(S907)。つまり変数Ch.が示すゲートタイムが
ゼロであると判断した場合は、無限長時間を示す不正信
号としてのゼロが楽曲データAのゲートタイムとして格
納されていたことになり、S907で消音処理を実行し
なければその音源チャンネルは放音状態となる。次にC
h.が指す音源チャンネルが終了したかどうかを判断す
る(S909)。終了したと判断した場合は、発音停止
処理を終了する。S909で全ての音源チャンネルをチ
ェックしたと判断しなかった場合はCh.を1だけ減ら
してS903の処理に戻る(S911)。
【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)。次に変数Ch.が示す音源チャンネ
ルがオンの状態であるかを判断する(S1003)。変
数Ch.が示す音源チャンネルがオンの状態であると判
断した場合は、ゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであるかを判断する(S100
5)。変数Ch.が示すゲートタイムがゼロであると判
断した場合は予め定められた発音時間データとして1を
ゲートタイムカウンタに書き込む(S1007)。つま
り変数Ch.が示すゲートタイムがゼロであると判断し
た場合は、無限長時間を示す不正信号としてのゼロが楽
曲データAのゲートタイムとして格納されていたことに
なり、S1007でゲートタイムを書き換えなければそ
の音源チャンネルは放音状態となる。次にCh.が指す
音源チャンネルが終了したかどうかを判断する(S10
09)。終了したと判断した場合は、ゲートタイム書換
処理を終了する。S1009で全ての音源チャンネルを
チェックしたと判断しなかった場合はCh.を1だけ減
らしてS1003の処理に戻る(S1011)。
よび図8のREC再生処理のS608で実行されるゲー
トタイム書換処理を示している。ゲートタイム書換処理
では、まず最初に音源チャンネルを示す変数Ch.に電
子楽器1が備えている音源ポリ数である14をセットす
る(S1001)。次に変数Ch.が示す音源チャンネ
ルがオンの状態であるかを判断する(S1003)。変
数Ch.が示す音源チャンネルがオンの状態であると判
断した場合は、ゲートタイムカウンタCの変数Ch.が
示すゲートタイムがゼロであるかを判断する(S100
5)。変数Ch.が示すゲートタイムがゼロであると判
断した場合は予め定められた発音時間データとして1を
ゲートタイムカウンタに書き込む(S1007)。つま
り変数Ch.が示すゲートタイムがゼロであると判断し
た場合は、無限長時間を示す不正信号としてのゼロが楽
曲データAのゲートタイムとして格納されていたことに
なり、S1007でゲートタイムを書き換えなければそ
の音源チャンネルは放音状態となる。次にCh.が指す
音源チャンネルが終了したかどうかを判断する(S10
09)。終了したと判断した場合は、ゲートタイム書換
処理を終了する。S1009で全ての音源チャンネルを
チェックしたと判断しなかった場合はCh.を1だけ減
らしてS1003の処理に戻る(S1011)。
【0047】以上説明した通り第1実施例の電子楽器1
によれば、演奏記憶時に離鍵信号が入力されず、自動演
奏データメモリ19に格納されている楽曲データAの発
音時間が不正信号としてのゼロであった場合でも、図4
に示すパネル処理のS225、図8に示すREC再生処
理のS608で楽音停止処理が実行され、図11のS9
05で発音時間としては不正信号のゼロを検出してお
り、S907で楽音発生を停止している。そのため例え
ば鍵を押した状態で演奏記憶スイッチをオフにした場合
やレコーダの電源がオフになってしまった場合でも放音
状態となることはない。
によれば、演奏記憶時に離鍵信号が入力されず、自動演
奏データメモリ19に格納されている楽曲データAの発
音時間が不正信号としてのゼロであった場合でも、図4
に示すパネル処理のS225、図8に示すREC再生処
理のS608で楽音停止処理が実行され、図11のS9
05で発音時間としては不正信号のゼロを検出してお
り、S907で楽音発生を停止している。そのため例え
ば鍵を押した状態で演奏記憶スイッチをオフにした場合
やレコーダの電源がオフになってしまった場合でも放音
状態となることはない。
【0048】第2実施例の電子楽器1によれば、演奏記
憶時に離鍵信号が入力されず、自動演奏データメモリ1
9に格納されている楽曲データAの発音時間が不正信号
としてのゼロであった場合でも、図4に示すパネル処理
のS225、図8に示すREC再生処理のS608でゲ
ートタイム書換処理が実行され、図12のS1005で
発音時間としては不正信号のゼロを検出しており、S1
007で発音時間を書き換えている。そのため離鍵情報
のない演奏情報を再生させた場合でも放音状態を防ぐこ
とが可能となった。
憶時に離鍵信号が入力されず、自動演奏データメモリ1
9に格納されている楽曲データAの発音時間が不正信号
としてのゼロであった場合でも、図4に示すパネル処理
のS225、図8に示すREC再生処理のS608でゲ
ートタイム書換処理が実行され、図12のS1005で
発音時間としては不正信号のゼロを検出しており、S1
007で発音時間を書き換えている。そのため離鍵情報
のない演奏情報を再生させた場合でも放音状態を防ぐこ
とが可能となった。
【0049】本実施例では、不正信号が送られてきたか
どうかのチェックを、演奏再生モードが解除されたと
き、および楽曲の終了時に実行する構成としたが、この
タイミングであると、押鍵状態のまま演奏記憶モードが
解除されてしまった場合でも記憶状態をそのまま再生す
ることができるという効果がある。また楽曲の終了後は
必ず音源を停止させることができる。
どうかのチェックを、演奏再生モードが解除されたと
き、および楽曲の終了時に実行する構成としたが、この
タイミングであると、押鍵状態のまま演奏記憶モードが
解除されてしまった場合でも記憶状態をそのまま再生す
ることができるという効果がある。また楽曲の終了後は
必ず音源を停止させることができる。
【0050】さらに本実施例では、従来の記憶装置によ
り記憶された演奏情報から不正信号を検出する構成とし
たため、従来の記憶装置および演奏情報に変更を加える
ことなくそのまま用いることができるという効果もあ
る。また本実施例で記載したタイミング以外でも例えば
図10に示したゲートタイムオフ処理のS805でも不
正信号としての発音時間ゼロを検出する構成となってお
り、この不正信号を検出した時点で、発音を止めたり、
予め定められた発音時間に書き換えることも考えられ
る。そうすることにより演奏者に演奏が正しく記憶され
なかった旨を知らせる構成とすることができる。小節の
終了タイミングで不正信号を検出することも考えられ
る。
り記憶された演奏情報から不正信号を検出する構成とし
たため、従来の記憶装置および演奏情報に変更を加える
ことなくそのまま用いることができるという効果もあ
る。また本実施例で記載したタイミング以外でも例えば
図10に示したゲートタイムオフ処理のS805でも不
正信号としての発音時間ゼロを検出する構成となってお
り、この不正信号を検出した時点で、発音を止めたり、
予め定められた発音時間に書き換えることも考えられ
る。そうすることにより演奏者に演奏が正しく記憶され
なかった旨を知らせる構成とすることができる。小節の
終了タイミングで不正信号を検出することも考えられ
る。
【0051】また本実施例では、自動演奏データメモリ
19から直接不正信号を検出するのではなく、RAM1
5のゲートタイムカウンタCに書き込まれた発音時間か
ら不正信号を検出する構成としたが、これは自動演奏デ
ータメモリ19からRAM15に送られる前の段階で検
出する構成とすることもできる。
19から直接不正信号を検出するのではなく、RAM1
5のゲートタイムカウンタCに書き込まれた発音時間か
ら不正信号を検出する構成としたが、これは自動演奏デ
ータメモリ19からRAM15に送られる前の段階で検
出する構成とすることもできる。
【0052】尚電子楽器1では不正信号としてゼロが書
き込まれていたのでこれを検出するものとしたが、正し
い発音時間を示していると判断する基準は他の方法であ
ってもよい。例えばある範囲内の数値データでなければ
不正信号とする等、電子楽器が各々に採用しているデー
タ構成に従って不正信号を検出すればよい。
き込まれていたのでこれを検出するものとしたが、正し
い発音時間を示していると判断する基準は他の方法であ
ってもよい。例えばある範囲内の数値データでなければ
不正信号とする等、電子楽器が各々に採用しているデー
タ構成に従って不正信号を検出すればよい。
【0053】第2実施例では予め定められた発音時間を
最短の1としたが、電子楽器1では4分音符を24分割
した処理タイミングでスキャンされていることから、こ
の発音時間を24の整数倍とすることで演奏の再生時に
楽曲を自然なものとすることができる。その内でも2分
音符では長すぎて曲のイメージを損ねる場合があり4分
音符程度の長さが適当であると考えられる。予め定めら
れた発音時間を発音する場合は音色を変化させるという
ことも考えられる。音色が変化した音符が発音されるこ
とで、演奏者は自らの演奏が正しく記憶されていない部
分を正確に知ることができる。なお、以上説明した2つ
の実施例の内、上記第2実施例が本発明の実施例に相当
し、上記第1実施例は、上記関連技術の実施例に相当す
る。
最短の1としたが、電子楽器1では4分音符を24分割
した処理タイミングでスキャンされていることから、こ
の発音時間を24の整数倍とすることで演奏の再生時に
楽曲を自然なものとすることができる。その内でも2分
音符では長すぎて曲のイメージを損ねる場合があり4分
音符程度の長さが適当であると考えられる。予め定めら
れた発音時間を発音する場合は音色を変化させるという
ことも考えられる。音色が変化した音符が発音されるこ
とで、演奏者は自らの演奏が正しく記憶されていない部
分を正確に知ることができる。なお、以上説明した2つ
の実施例の内、上記第2実施例が本発明の実施例に相当
し、上記第1実施例は、上記関連技術の実施例に相当す
る。
【0054】
【0055】
【発明の効果】以上詳述した通り、本発明 の演奏情報再
生装置では、演奏記憶時に離鍵信号が入力されておらず
正確な発音時間が不明な演奏情報を検出した場合、予め
定められた発音時間に書き換えられるため離鍵情報のな
い演奏情報を再生させた場合でも放音状態を防ぐことが
可能となった。
生装置では、演奏記憶時に離鍵信号が入力されておらず
正確な発音時間が不明な演奏情報を検出した場合、予め
定められた発音時間に書き換えられるため離鍵情報のな
い演奏情報を再生させた場合でも放音状態を防ぐことが
可能となった。
【図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
Claims (1)
- 【請求項1】 予め記憶装置に格納されている演奏情報
を読み出し該読み出した演奏情報に基づき楽音を発生す
ることで演奏情報を再生する演奏情報再生装置におい
て、 上記読み出す演奏情報から少なくとも発音時間を含む発
音情報を取り出し該取り出した発音情報を一時的に格納
する発音情報記憶手段と、 上記発音情報記憶手段に格納された発音情報に基づき楽
音信号を発生する楽音信号発生手段と、 上記読み出す演奏情報の内、演奏記憶時に離鍵信号が入
力されておらず正確な発音時間が不明な演奏情報を検出
する不正信号検出手段と、 上記不正信号検出手段により正確な発音時間が不明な演
奏情報が検出された場合、上記発音情報記憶手段に格納
されている発音時間を予め定められた発音時間に書き換
える発音時間書換手段とを備えたことを特徴とする演奏
情報再生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4253230A JP3038085B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4253230A JP3038085B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06102874A JPH06102874A (ja) | 1994-04-15 |
JP3038085B2 true JP3038085B2 (ja) | 2000-05-08 |
Family
ID=17248384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4253230A Expired - Fee Related JP3038085B2 (ja) | 1992-09-22 | 1992-09-22 | 演奏情報再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3038085B2 (ja) |
-
1992
- 1992-09-22 JP JP4253230A patent/JP3038085B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06102874A (ja) | 1994-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3835324B2 (ja) | 楽曲再生装置 | |
US20050257667A1 (en) | Apparatus and computer program for practicing musical instrument | |
JP3975526B2 (ja) | カラオケ装置 | |
JP3484719B2 (ja) | 音声入力機能付き演奏ガイド装置および演奏ガイド方法 | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
JP2620724B2 (ja) | 演奏情報の記録装置 | |
JP4170524B2 (ja) | 波形再生装置 | |
JP3645030B2 (ja) | 電子楽器 | |
JP3038085B2 (ja) | 演奏情報再生装置 | |
JP3038086B2 (ja) | 演奏情報再生装置 | |
JP2847000B2 (ja) | 演奏情報記憶装置 | |
JP4515382B2 (ja) | レコーダ | |
JP3031046B2 (ja) | 記録再生装置 | |
JP3539188B2 (ja) | Midiデータ処理装置 | |
JP2660462B2 (ja) | 自動演奏装置 | |
JP2797644B2 (ja) | 発声機能付きカラオケ装置 | |
JP2001209382A (ja) | 電子楽器の連打処理装置 | |
JP5375869B2 (ja) | 楽曲再生装置、楽曲再生方法及びプログラム | |
JP2844621B2 (ja) | 電子管楽器 | |
JP2556639B2 (ja) | 自動演奏装置 | |
JP2625668B2 (ja) | 自動演奏装置 | |
JP3142434B2 (ja) | 電子楽器のシーケンサ | |
JP3757664B2 (ja) | 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH0713037Y2 (ja) | 電子ピアノの音源回路 | |
JP3316530B2 (ja) | 楽音制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |