(57)【要約】【課題】  複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質を維持する。【解決手段】  タイミング／アドレス・ジェネレータ１５は、波形ＲＯＭに記憶された各サンプルの波形データを時分割で読み出して波形バッファ１１に書込み、セレクタ１２を介して累算器１４に出力し、複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する。タイミング／アドレス・ジェネレータ１５は、マイコンから波形ＲＯＭの他のデータが要求されたときは、波形データの読出しを中断させて他のデータを読み出す。補間器１３は、中断によって欠落した波形データを前後のサンプルにおける波形データに基づいて補間する。【選択図】  図３
2006098859.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する記憶手段と、
入力される音高に応じた読出レートのアドレス信号を生成し、前記記憶手段に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出す読出手段と、
前記読出手段によって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する累算手段と、
前記記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記読出手段に対して前記記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す制御手段と、
前記中断期間が存在するサンプル内において、前記読出手段に対して当該中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する指定手段と、
前記欠落期間における波形データを当該欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける当該欠落期間に対応するチャンネルの波形データに基づいて補間する補間手段と、
を備えた楽音発生装置。
【請求項２】
前記指定手段は、前記中断期間を前記欠落期間として指定することを特徴とする請求項１に記載の楽音発生装置。
【請求項３】
前記読出手段は、前記中断期間が経過した後は当該中断期間のチャンネルの波形データから読出しを再開し、前記指定手段は、前記中断期間が存在するサンプル内の特定の期間を前記欠落期間として指定することを特徴とする請求項１に記載の楽音発生装置。
【請求項４】
前記指定手段は、発音音量が最も小さい期間を前記欠落期間として指定することを特徴とする請求項３に記載の楽音発生装置。
【請求項５】
前記指定手段は、倍音の音量が比較的小さい期間を前記欠落期間として指定することを特徴とする請求項３に記載の楽音発生装置。
【請求項６】
前記指定手段は、あらかじめ設定された条件において音楽的に重要でない期間を前記欠落期間として指定することを特徴とする請求項３に記載の楽音発生装置。
【請求項７】
前記指定手段は、欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定することを特徴とする請求項３に記載の楽音発生装置。
【請求項８】
複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する第１の記憶手段と、
入力される音高に応じた読出レートのアドレス信号を生成し、前記第１の記憶手段に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出す読出手段と、
前記読出手段によって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する累算手段と、
前記累算手段によって生成された累算波形データを記憶する第２の記憶手段と、
前記第１の記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記読出手段に対して前記第１の記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す制御手段と、
前記中断期間が存在するサンプルにおける累算波形データを前記第２の記憶手段に記憶された１つ前のサンプルの累算波形データと前記累算手段によって生成された１つ後のサンプルの累算波形データとに基づいて補間する補間手段と、
を備えた楽音発生装置。
【請求項９】
入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する記憶手段から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、
前記第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、
前記記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記第１のステップに対して前記記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す第３のステップと、
前記中断期間が存在するサンプル内において、前記第１のステップに対して当該中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する第４のステップと、
前記欠落期間における波形データを当該欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける当該欠落期間に対応するチャンネルの波形データに基づいて補間する第５のステップと、
を実行する楽音発生処理のプログラム。
【請求項１０】
前記第４のステップは、前記中断期間を前記欠落期間として指定することを特徴とする請求項９に記載の楽音発生処理のプログラム。
【請求項１１】
前記第１のステップは、前記中断期間が経過した後は当該中断期間のチャンネルの波形データから読出しを再開し、前記第４のステップは、前記中断期間が存在するサンプル内の特定の期間を前記欠落期間として指定することを特徴とする請求項９に記載の楽音発生処理のプログラム。
【請求項１２】
前記第４のステップは、発音音量が最も小さい期間を前記欠落期間として指定することを特徴とする請求項１１に記載の楽音発生処理のプログラム。
【請求項１３】
前記第４のステップは、倍音の音量が比較的小さい期間を前記欠落期間として指定することを特徴とする請求項１１に記載の楽音発生処理のプログラム。
【請求項１４】
前記第４のステップは、あらかじめ設定された条件において音楽的に重要でない期間を前記欠落期間として指定することを特徴とする請求項１１に記載の楽音発生処理のプログラム。
【請求項１５】
前記第４のステップは、欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定することを特徴とする請求項１１に記載の楽音発生処理のプログラム。
【請求項１６】
入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する第１の記憶手段から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、
前記第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、
前記第２のステップによって生成された累算波形データを第２の記憶手段に記憶する第３のステップと、
前記第１の記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記読出手段に対して前記第１の記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す第４のステップと、
前記中断期間が存在するサンプルにおける累算波形データを前記第１の記憶手段に記憶された１つ前のサンプルの累算波形データと前記第２のステップによって生成された１つ後のサンプルのサンプルの累算波形データによって補間する第５のステップと、
を実行する楽音発生処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置および楽音発生処理のプログラムに関し、特に、複数のチャンネルの波形データを累算してポリフォニックな楽音信号を発生する楽音発生装置および楽音発生処理のプログラムに関するものである。
【背景技術】
【０００２】
従来、電子オルガンやシンセサイザのような電子楽器において、楽音の複数の音色からなるポリフォニックな楽音信号を発生する場合には、波形ＲＯＭなどのメモリに楽器の音を所定の周期でサンプリングしたＰＣＭデータをサンプル単位で複数のチャンネルの波形データとして記憶し、チャンネルごとに時分割で読み出して、各チャンネルの波形データを累算している。さらに、楽音用のチャンネルのほかに、波形データ以外の他のデータを記憶するためのチャンネルを１つ又は２つ以上波形ＲＯＭに用意して、楽音信号の発生処理と並行して別のデータ処理を行うようになっている。
例えば、チャンネル０からチャンネル１４までの１５チャンネルを有する波形ＲＯＭにおいて、チャンネル１ないしチャンネル１４を楽音の波形データのチャンネルとして割り当て、チャンネル０を他のデータのチャンネルとして割り当てる。そして、マイクロコンピュータなどの制御手段から他のデータに対するアクセス要求がない場合には、あるサンプルにおけるチャンネル１からチャンネル１４までの波形データを時分割で順次読み出して累算し、チャンネル１４の波形データを読み出した後は、チャンネル０のアクセスを行わず、次のサンプルにおけるチャンネル１からチャンネル１４までの波形データを時分割で順次読み出して累算する。一方、任意のタイミングにおいて、マイクロコンピュータなどから他のデータに対するアクセス要求があったときは、そのときのサンプルにおけるチャンネル１４の波形データが読み出された後は、次の時分割の期間にチャンネル０にアクセスして他のデータの処理を行う。この後は、次のサンプルにおけるチャンネル１からチャンネル１４までの波形データを時分割で順次読み出して累算する。
ところが、例えば、チャンネル１の波形データを読み出している時分割のタイミングにおいて、マイクロコンピュータなどから他のデータに対するアクセス要求があったときは、そのときのサンプルにおけるチャンネル２からチャンネル１４までの波形データの読出しが終了するまで、他のデータに対する処理が待たされるという問題があった。
【０００３】
この対策として、任意のタイミングにおいて、マイクロコンピュータなどから他のデータに対するアクセス要求があったときは、速やかに他のデータに対する処理を行うことが可能な電子楽器の提案がなされている。この提案によれば、例えば、あるサンプルにおけるチャンネル２の時分割の期間に、他のデータに対するアクセス要求があったときは、チャンネル２の波形データを読み出した後、次の時分割の期間にはアドレスをチャンネル２の状態に保持するとともに、波形データの読出しを禁止して、他のデータに対する処理を行う。この処理の後は、次の時分割の期間においてアドレスを歩進させてチャンネル３の波形データの読出しを開始する。（特許文献１参照）
【特許文献１】特開平５−２７７６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の提案による電子楽器においては、マイクロコンピュータなどから他のデータに対するアクセス要求があったときは、速やかに他のデータに対する処理を行うことは可能であるが、割り込みによって他のデータを処理する時分割の期間だけ楽音発生処理が遅れてしまうことになる。このため、最近のように高い音質のポリフォニックな楽音信号の発生が可能になってくると、他のデータの処理に伴って発生する楽音信号処理の遅れにより、音質の劣化が無視できなくなってきている。
本発明は、このような従来の課題を解決するためのものであり、複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質が維持できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の楽音発生装置は、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する記憶手段（実施形態においては、図１の波形ＲＯＭ３に相当する）と、入力される音高に応じた読出レートのアドレス信号を生成し、記憶手段に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出す読出手段（実施形態においては、図３のタイミング／アドレス・ジェネレータ１５に相当する）と、読出手段によって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する累算手段（実施形態においては、図３の累算器１４に相当する）と、記憶手段に記憶された他のデータを要求する要求信号に応じて読出手段に対して記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に他のデータを読み出す制御手段（実施形態においては、図１のマイコン１および図３のタイミング／アドレス・ジェネレータ１５に相当する）と、中断期間が存在するサンプル内において、読出手段に対して当該中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する指定手段（実施形態においては、図１のマイコン１に相当する）と、欠落期間における波形データを当該欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける当該欠落期間に対応するチャンネルの波形データに基づいて補間する補間手段（実施形態においては、図３の補間器１３に相当する）と、を備えた構成になっている。
【０００６】
請求項１の楽音発生装置において、請求項２に記載したように、指定手段は、中断期間を欠落期間として指定するような構成にしてもよい。
【０００７】
請求項１の楽音発生装置において、請求項３に記載したように、読出手段は、中断期間が経過した後は当該中断期間のチャンネルの波形データから読出しを再開し、指定手段は、中断期間が存在するサンプル内の特定の期間を欠落期間として指定するような構成にしてもよい。
【０００８】
請求項３の楽音発生装置において、請求項４に記載したように、指定手段は、発音音量が最も小さい期間を欠落期間として指定するような構成にしてもよい。
【０００９】
請求項３の楽音発生装置において、請求項５に記載したように、指定手段は、倍音の音量が比較的小さい期間を欠落期間として指定するような構成にしてもよい。
【００１０】
請求項３の楽音発生装置において、請求項６に記載したように、指定手段は、あらかじめ設定された条件において音楽的に重要でない期間を欠落期間として指定するような構成にしてもよい。
【００１１】
請求項３の楽音発生装置において、請求項７に記載したように、指定手段は、欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定するような構成にしてもよい。
【００１２】
請求項８に記載の楽音発生装置は、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する第１の記憶手段（実施形態においては、図１の波形ＲＯＭ３に相当する）と、入力される音高に応じた読出レートのアドレス信号を生成し、第１の記憶手段に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出す読出手段（実施形態においては、図８のタイミング／アドレス・ジェネレータ１５に相当する）と、読出手段によって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する累算手段（実施形態においては、図８の累算器１４に相当する）と、累算手段によって生成された累算波形データを記憶する第２の記憶手段（実施形態においては、図８の波形バッファ１７に相当する）と、第１の記憶手段に記憶された他のデータを要求する要求信号に応じて読出手段に対して第１の記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に他のデータを読み出す制御手段（実施形態においては、図１のマイコン１および図８のタイミング／アドレス・ジェネレータ１５に相当する）と、中断期間が存在するサンプルにおける累算波形データを第２の記憶手段に記憶された１つ前のサンプルの累算波形データと累算手段によって生成された１つ後のサンプルの累算波形データとに基づいて補間する補間手段（実施形態においては、図８の補間器１３に相当する）と、を備えた構成になっている。
【００１３】
請求項９に記載の楽音発生処理のプログラムは、入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する記憶手段（実施形態においては、図１の波形ＲＯＭ３に相当する）から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、記憶手段に記憶された他のデータを要求する要求信号に応じて第１のステップに対して記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す第３のステップと、中断期間が存在するサンプル内において、第１のステップに対して当該中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する第４のステップと、欠落期間における波形データを当該欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける当該欠落期間に対応するチャンネルの波形データに基づいて補間する第５のステップと、を実行する構成になっている。
【００１４】
請求項９の楽音発生処理のプログラムにおいて、請求項１０に記載したように、第４のステップは、中断期間を欠落期間として指定するような構成にしてもよい。
【００１５】
請求項９の楽音発生処理のプログラムにおいて、請求項１１に記載したように、第１のステップは、中断期間が経過した後は当該中断期間のチャンネルの波形データから読出しを再開し、第４のステップは、中断期間が存在するサンプル内の特定の期間を欠落期間として指定するような構成にしてもよい。
【００１６】
請求項１１の楽音発生処理のプログラムにおいて、請求項１２に記載したように、第４のステップは、発音音量が最も小さい期間を欠落期間として指定するような構成にしてもよい。
【００１７】
請求項１１の楽音発生処理のプログラムにおいて、請求項１３に記載したように、第４のステップは、倍音の音量が比較的小さい期間を欠落期間として指定するような構成にしてもよい。
【００１８】
請求項１１の楽音発生処理のプログラムにおいて、請求項１４に記載したように、第４のステップは、あらかじめ設定された条件において音楽的に重要でない期間を欠落期間として指定するような構成にしてもよい。
【００１９】
請求項１１の楽音発生処理のプログラムにおいて、請求項１５に記載したように、第４のステップは、欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定するような構成にしてもよい。
【００２０】
請求項１６に記載の楽音発生処理のプログラムは、入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する第１の記憶手段（実施形態においては、図１の波形ＲＯＭ３に相当する）から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、第２のステップによって生成された累算波形データを第２の記憶手段（実施形態においては、図８の波形バッファ１７に相当する）に記憶する第３のステップと、第１の記憶手段に記憶された他のデータを要求する要求信号に応じて読出手段に対して第１の記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に他のデータを読み出す第４のステップと、中断期間が存在するサンプルにおける累算波形データを第１の記憶手段に記憶された１つ前のサンプルの累算波形データと第２のステップによって生成された１つ後のサンプルのサンプルの累算波形データによって補間する第５のステップと、を実行する。
【発明の効果】
【００２１】
本発明の楽音発生装置および楽音発生処理のプログラムによれば、複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質が維持できるという効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明による楽音発生装置の第１ないし第３実施形態について、図１ないし図８を参照して説明する。
図１は、各実施形態に共通の楽音発生装置のブロック図である。マイコン１は、ＣＰＵ、プログラムＲＯＭ、ワークＲＡＭ、入力インタフェースなどを含み、入力インタフェースを介して接続された外部の鍵盤装置などの演奏手段から入力されたイベントの音高データ、および、スイッチ部などの操作手段から入力された複数種類の楽器に対応する音色データなどに応じて楽音発生処理を実行する。
【００２３】
音源装置２は、マイコン１、波形ＲＯＭ３、およびＤＡＣ（Ｄ／Ａコンバータ回路）４に接続され、マイコンからの音高データ、音色データ、および発音指令に応じて、波形ＲＯＭ３に記憶されている波形データを読み出して、３２チャンネルのポリフォニックな楽音信号を生成する。そして、生成した楽音信号をＤＡＣ４に出力する。
ＤＡＣ４は、フィルタ回路、増幅回路、スピーカなどを含むサウンドシステム５に接続され、音源装置２から出力された楽音信号をディジタルからアナログに変換して、サウンドシステム５に出力してスピーカなどから発音させる。
【００２４】
波形ＲＯＭ３には、３２チャンネルの波形データのほかに、マイコン１からのアクセスによって処理される他のデータも記憶されている。以下、他のデータを簡潔に「データ」と称し、楽音波形用の波形データと区別する場合もある。図２は、マイコン１が音源装置２に対して、波形ＲＯＭ３に記憶されているデータを要求して、データを得るまでのタイミングチャートを示す図である。図２において、各信号波形に対応する文字列は音源装置２の各ポートに対応している。
【００２５】
マイコン１は、音源装置２に対して、ｔ１のタイミングでデータ要求信号をＲＥＱポートに出力するとともに、データのアドレス信号をＭＡポートに出力する。音源装置２は、データのアドレス信号をＲＡポートから波形ＲＯＭ３のＡポートに出力し、ｔ２のタイミングで波形ＲＯＭ３のＤポートからデータの読出しを開始してＲＤポートに入力し、ｔ３のタイミングでデータの読出しを完了すると、ＡＣＫポートからマイコン１に読出完了信号を出力して、ＭＤポートからデータをマイコン１に転送する。
【００２６】
図３は、第１実施形態における図１の音源装置２において、波形データの読出し部分を示すブロック図である。
波形バッファ１１は、波形ＲＯＭ３から各チャンネルのタイムスロットである時分割で読込んだ各サンプルの３２チャンネルの波形データを入力して記憶し、セレクタ１２の入力ポートＡに出力する。図４は、波形バッファ１１の内部構成を示すブロック図である。波形バッファ１１は、３２チャンネルのエリアからなるバッファ１１１およびバッファ１１２の２段構成になっている。そして、波形ＲＯＭ３から時分割で読込んだ１つのサンプルにおける３２チャンネルの波形データを、時分割のタイミングに同期した書込みタイミングでバッファ１１１に順次記憶し、次のサンプルにおいて、時分割の書込みタイミングでバッファ１１１の波形データを順次バッファ１１２に書き込み、さらに次のサンプルにおいて、時分割の書込みタイミングでバッファ１１２の波形データを順次セレクタ１２に出力する。この場合において、バッファ１１１およびバッファ１１２は、ポートＩＮＨに入力される書込み禁止信号がローレベルのときに波形データの書込み処理を行うが、書込み禁止信号がハイレベルのときは波形データの書込みは禁止される。
【００２７】
補間器１３は、波形ＲＯＭ３から読込んだ１つのチャンネルの波形データと波形バッファ１１２から出力された対応するチャンネルの波形データとを平均して補間波形データを生成し、その補間波形データをセレクタ１２の入力ポートＢに出力する。
セレクタ１２は、ＳＥＬポートに入力された切替信号に応じて、ポートＡ又はポートＢに入力された波形データ又は補間波形データを累算器１４に出力する。切替信号がローレベルのときは、ポートＡに入力された波形データを累算器１４に出力し、切替信号がハイレベルのときは、ポートＢに入力された補間波形データを累算器１４に出力する。
累算器１４は、各サンプルにおける３２チャンネルの波形データを累算し、ＲＳＴポートに入力される各サンプルのタイミングに同期したリセット信号に応じて、累算した各サンプルの累算波形データをＤＡＣ４に出力する。
【００２８】
タイミング／アドレス・ジェネレータ１５は、マイコン１からデータ要求信号が入力されない場合には、波形ＲＯＭ３に対して時分割のアドレス信号を出力し、セレクタ１２に対してポートＡを選択するローレベルの切替信号を入力し、累算器１４において、各サンプルにおける３２チャンネルの波形データの累算が終了したタイミングで、リセット信号を累算器１４に出力する。また、タイミング／アドレス・ジェネレータ１５は、マイコン１からデータ要求信号およびアドレス信号が入力されたときは、次の時分割の期間にハイレベルの書込み禁止信号を波形バッファ１１のバッファ１１１およびバッファ１１２に出力して波形データの書込み処理を禁止する。そして、マイコン１からのアドレス信号を波形ＲＯＭ３に出力する。
【００２９】
データラッチ１６は、波形ＲＯＭ３から読込まれたデータを保持する。タイミング／アドレス・ジェネレータ１５は、波形ＲＯＭ３からのデータの読込みが完了したときは、ポートＤＬからデータラッチ１６のポートＥにダウンロード信号を出力するとともに、マイコン１に対して読込完了信号を出力する。データラッチ１６は、ダウンロード信号の入力に応じて、保持しているデータをポートＯから音源装置２のポートＭＤを経てマイコン１に転送する。
【００３０】
図５は、第１実施形態において、マイコン１からデータ要求信号が入力されない場合に、音源装置２における波形データの流れを時分割の期間である各タイムスロットごとに示す図である。各タイムスロットにおいて、図５における２つの数の配列（ｎ，ｍ）は、サンプルｎ（シンボルともいう）におけるチャンネルｍの波形データ（以下、波形データ（ｎ，ｍ）という）を表わしている。この図において、波形バッファ１１の入力を波形バッファＩ、波形バッファ１１の出力を波形バッファＯ、補間器１３の出力を補間器Ｏ、切替信号をＳＥＬ、セレクタ１２の出力をセレクタＯ、累算器１４の出力を累算器Ｏで表わしている。
【００３１】
図５に示すように、波形バッファ１１の入力である波形バッファＩは、波形データ（１，１）、波形データ（１，２）、波形データ（１，３）…波形データ（１，３２）、波形データ（２，１）、波形データ（２，２）、波形データ（２，３）…波形データ（２，３２）、波形データ（３，１）、波形データ（３，２）、波形データ（３，３）…波形データ（３，３２）のように、各サンプルにおける各チャンネルの波形データが順に出力される。また、波形バッファＯは、波形バッファＩから１サンプルの期間遅れて、波形バッファ１１からセレクタ１２のポートＡに出力される。
【００３２】
また、波形バッファＩおよび波形バッファＯが入力される補間器１３においては、セレクタ１２のポートＢに出力される補間器Ｏは、波形データ（１，１）と波形データ（２，１）の平均、波形データ（１，２）と波形データ（２，２）の平均、波形データ（１，３）と波形データ（２，３）の平均…波形データ（１，３２）と波形データ（２，３２）の平均…になる。しかしこの場合は、マイコン１からはデータ要求信号が入力されないので、切替信号はローレベルの状態になっている。したがって、セレクタ１２はポートＡからの波形バッファＯをセレクタＯとして累算器１４に出力する。この結果、累算器Ｏは、セレクタＯから１サンプルの期間遅れて、波形データ（１，１）〜波形データ（１，３２）の累算値である累算波形データがＤＡＣ４に出力される。
【００３３】
図６は、第１実施形態において、マイコン１からデータ要求信号が入力された場合に、音源装置２における波形データの流れを時分割の期間である各タイムスロットごとに示す図である。このデータ要求信号の入力によって、波形バッファＩにおいて、波形データ（２，２）すなわちサンプル２のチャンネル２のタイムスロットの期間に、タイミング／アドレス・ジェネレータ１５から波形バッファ１１に対してハイレベルの書込み禁止信号が出力される。したがって、波形バッファ１１は波形データ（２，２）の書込みが中断される。すなわち、この中断期間のタイムスロットは波形データが欠落した欠落期間となる。
【００３４】
この結果、図４に示した波形バッファ１１１のチャンネル２は波形データがない空き状態（ＮＵＬＬ）となる。すなわち、波形バッファ１１１のチャンネル１、チャンネル２、チャンネル３…チャンネル３２には、波形データ（２，１）、ＮＵＬＬ、波形データ（２，３）…波形データ（２，３２）が書き込まれている。一方、このとき波形バッファ１１２のチャンネル１、チャンネル２、チャンネル３…チャンネル３２には、波形データ（１，１）、波形データ（１，２）、波形データ（１，３）…波形データ（１，３２）が書き込まれている。
【００３５】
次のサンプルになると、波形バッファ１１２の各チャンネルには波形バッファ１１１の対応する各チャンネルの波形データが上書きされる。しかし、波形バッファ１１１のチャンネル２はＮＵＬＬであるので、波形バッファ１１２のチャンネル２には１つ前のサンプルにおける波形データ（１，２）がそのまま残ることになる。したがって、波形バッファ１１２のチャンネル１、チャンネル２、チャンネル３…チャンネル３２には、波形データ（２，１）、波形データ（１，２）、波形データ（２，３）…波形データ（２，３２）が書き込まれる。一方、このとき波形バッファ１１１のチャンネル１、チャンネル２、チャンネル３…チャンネル３２には、波形データ（３，１）、波形データ（３，２）、波形データ（３，３）…波形データ（３，３２）が書き込まれる。
【００３６】
したがって、このときのサンプルにおいては、補間器Ｏは、波形データ（２，１）と波形データ（３，１）の平均、波形データ（１，２）と波形データ（３，２）の平均、波形データ（２，３）と波形データ（３，３）の平均…波形データ（２，３２）と波形データ（３，３２）の平均になる。すなわち、補間器Ｏのチャンネル２の期間は、１つ前のサンプルの波形データ（１，２）と１つ後のサンプルの波形データ（３，２）の平均になっている。したがって、欠落期間がなかったとしたら波形データ（２，２）をセレクタ１２から累算器１４に出力すべきタイムスロットにおいて、切替信号をハイレベルにして、セレクタ１２のポートＢに入力されている波形データ（１，２）と波形データ（３，２）の平均である補間波形データをセレクタ１２から累算器１４に出力する。すなわち、マイコン１からのデータ要求に応じて欠落した波形データ（２，２）を、波形データ（１，２）と波形データ（３，２）の平均である補間波形データで補間する。
【００３７】
以上のように、上記第１実施形態によれば、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する波形ＲＯＭ３を備えた楽音発生装置において、音源装置２のタイミング／アドレス・ジェネレータ１５は、入力される音高に応じた読出レートのアドレス信号を生成し、波形ＲＯＭ３に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出して波形バッファ１１に書込み、セレクタ１２を介して累算器１４に出力し、各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する。そして、マイコン１から波形ＲＯＭ３に記憶された他のデータを要求する要求信号に応じて、波形ＲＯＭ３からの波形データの読出しを１つのチャンネルの期間中断させて、その中断期間に他のデータを読み出す。そして、中断期間すなわち波形データが読込まれなかった欠落期間は、欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける欠落期間に対応するチャンネルの波形データに基づいて波形データを補間する。
したがって、複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質が維持できる。
【００３８】
次に、本発明の第２実施形態について説明する。
第２実施形態おいて、マイコン１から波形ＲＯＭ３に記憶された他のデータを要求する要求信号に応じて、波形ＲＯＭ３からの波形データの読出しを１つのチャンネルの期間中断させて、その中断期間に他のデータを読み出す点は第１実施形態と同じである。ただし、第１実施形態と異なり、その中断期間がそのまま波形データがＮＵＬＬの欠落期間になる訳ではない。
【００３９】
図７は、マイコン１からデータ要求信号が入力された場合に、音源装置２における波形データの流れを時分割の期間である各タイムスロットごとに示す図である。このデータ要求信号の入力によって、波形バッファＩにおいて、波形データ（２，２）のタイムスロットで、タイミング／アドレス・ジェネレータ１５から波形バッファ１１に対して書込み禁止信号が出力される。したがって、波形バッファ１１は波形データ（２，２）の書込みが中断されるが、次のタイムスロットの期間で波形データ（２，２）の書込みが行われる。すなわち、マイコン１からデータ要求信号が入力されたときは、その割り込みによって波形バッファ１１に書き込まれなかった中断期間の波形データは、１タイムスロット分だけ遅れて書き込まれる。したがって、そのサンプルにおいては３２チャンネルの波形データをすべて波形バッファ１１に書き込むことができず、いずれか１つのチャンネルの波形データを読み飛ばすことになる。
【００４０】
このため、図７の場合には、波形データ（２，３０）を書き込んだ後、波形データ（２，３１）を読み飛ばして、次のタイムスロットでは波形データ（２，３２）を書き込む。すなわち、波形データ（２，３１）のタイムスロットが波形データのない欠落期間となる。そして、マイコン１からデータ要求信号が入力されないとしたら、波形データ（２，３１）をセレクタ１２から累算器１４に出力するタイムスロットにおいて、切替信号をハイレベルにして、セレクタ１２のポートＢに入力されている波形データ（１，３１）と波形データ（３，３１）の平均である補間波形データを累算器１４に出力する。
【００４１】
この場合において、サンプル内のどのチャンネルのタイムスロットを欠落期間にするかは、発生する楽音信号に応じてあらかじめ指定する。例えば、下記のような条件によって指定する。
（１）発音音量が最も小さい期間を欠落期間として指定する。
（２）倍音の音量が比較的小さい期間を欠落期間として指定する。
（３）あらかじめ設定された条件において音楽的に重要でない期間を欠落期間として指定する。例えば、同じ楽器に対応するチャンネルが複数ある場合には、その中で１つのチャンネルのタイムスロットを欠落期間とする。
（４）欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定する。すなわち、同じ楽器に対応するチャンネルが頻繁に欠落することを防止する。
【００４２】
以上のように、上記第２実施形態においても、第１実施形態の場合と同様に、波形データが読込まれなかった欠落期間は、欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける欠落期間に対応するチャンネルの波形データに基づいて波形データを補間するので、複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質が維持できる。
【００４３】
なお、上記第１実施形態は、波形バッファ１１への波形データの書込みが中断した場合に、その波形データを１タイムスロット分だけ遅れて書き込まず、中断期間をそのまま欠落期間として指定した構成になっている。したがって、第１実施形態および第２実施形態の構成は、中断期間が存在するサンプル内において、中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する構成であり、第１実施形態においては、中断期間を欠落期間として指定した状態である。
【００４４】
また、上記第１実施形態および第２実施形態においては、１つのサンプルにおいて１チャンネルのタイムスロットの間に波形データの読込みを中断して、波形データ以外のデータを波形ＲＯＭ３から読み出す構成にしたが、１つのサンプルにおいて２以上の連続したチャンネルのタイムスロット、又は、不連続のチャンネルのタイムスロットの間にデータを読み出すことも可能である。例えば、波形ＲＯＭ３の異なるアドレスに記憶されている複数のデータをまとめて読み出すことが必要な場合でも、中断によって欠落した波形データを補間するので、発生する楽音信号の音質が維持できる。
【００４５】
次に、本発明の第３実施形態について説明する。
図８は、第３実施形態における図１の音源装置２において、波形データの読出し部分を示すブロック図である。この図において、図３に示した第１実施形態の構成と同じものについては、同一の符号によって表わしている。第３実施形態においては、波形バッファ１７が第１実施形態における波形バッファ１１と異なっている。第１実施形態における波形バッファ１１は、図４に示したように、３２チャンネル２段のバッファ１１１およびバッファ１１２で構成されていたが、第３実施形態における波形バッファ１７は１チャンネル２段のバッファ（図示せず）で構成されている。また、第３実施形態においては、累算器１４が波形バッファ１７の前に配置されている。
【００４６】
次に、第３実施形態の動作について説明する。
波形ＲＯＭ３から時分割で読込まれた各サンプルの３２チャンネルの波形データは、累算器１４において累算されて累算波形データが生成され、タイミング／アドレス・ジェネレータ１５から入力されるリセット信号に応じて波形バッファ１７に書き込まれる。例えば、サンプルｎの３２チャンネルの波形データである波形データ（ｎ，１）〜波形データ（ｎ，３２）が累算されて、累算波形データ（ｎ）として波形バッファ１７の１段目のバッファに書き込まれる。次のｎ＋１のサンプルでは、波形データ（ｎ＋１，１）〜波形データ（ｎ＋１，３２）が累算されて、累算波形データ（ｎ＋１）として波形バッファ１７の１段目のバッファに書き込まれる。同時に、２段目のバッファには、１段目のバッファの累算波形データ（ｎ）が書き込まれる。したがって、補間器１３のポートＡには波形バッファ１７の出力である累算波形データ（ｎ）が入力され、ポートＢには累算器１４の出力であるさらに次の累算波形データ（ｎ＋２）が入力されている。この結果、セレクタ１２のポートＡには、波形バッファ１７の出力である累算波形データ（ｎ）が入力され、ポートＢには、補間器１３の出力である累算波形データ（ｎ）と累算波形データ（ｎ＋２）の平均が入力されている。
【００４７】
マイコン１からデータ要求信号が入力されない場合には、タイミング／アドレス・ジェネレータ１５からセレクタ１２に出力される切替信号はローレベルである。したがって、セレクタ１２は、波形バッファ１７からポートＡに入力されている累算波形データを各サンプル順にＤＡＣ４に出力する。すなわち、サンプル１からサンプルｎ＋１…の累算された累算波形データ（１）、累算波形データ（２）、累算波形データ（３）…累算波形データ（ｎ）、累算波形データ（ｎ＋１）、累算波形データ（ｎ＋２）…をＤＡＣ４に出力する。
【００４８】
一方、マイコン１からデータ要求信号が入力された場合、例えば、サンプルｎ＋１において任意のチャンネルｍの波形データ（ｎ＋１，ｍ）が波形ＲＯＭ３から読込まれず、累算器１４において累算されなかった場合には、次のサンプルｎ＋２の期間において、タイミング／アドレス・ジェネレータ１５からセレクタ１２に出力される切替信号はハイレベルとなる。したがって、セレクタ１２は、補間器１３からポートＢに入力されている累算波形データ（ｎ）と累算波形データ（ｎ＋２）の平均をＤＡＣ４に出力する。
【００４９】
以上のように、上記第３実施形態によれば、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する波形ＲＯＭ３を備えた楽音発生装置において、音源装置２のタイミング／アドレス・ジェネレータ１５は、入力される音高に応じた読出レートのアドレス信号を生成し、波形ＲＯＭ３に記憶された各サンプルの波形データをチャンネルごとに時分割で読み出して累算器１４に出力し、各サンプルのすべてのチャンネルの累算したポリフォニックな累算波形データを生成して波形バッファ１７に書込み、セレクタ１２を介してＤＡＣ４に出力する。そして、マイコン１から波形ＲＯＭ３に記憶された他のデータを要求する要求信号に応じて、波形ＲＯＭ３からの波形データの読出しを１つのチャンネルの期間中断させて、その中断期間に他のデータを読み出す。そして、波形データが読込まれなかった欠落期間は、欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける累算波形データに基づいて、波形データが欠落したチャンネルが存在するサンプルの累算波形データを補間する。
したがって、第１実施形態および第２実施形態の場合と同様に、複数のチャンネルの波形データによってポリフォニックな楽音信号を生成する場合に、波形データ以外の他のデータの処理を割り込みで行ったときでも、発生する楽音信号の音質が維持できる。
【００５０】
上記第３実施形態においては、波形データが欠落したチャンネルが存在するサンプルにおいて、波形データが欠落していない他のチャンネルについても、そのサンプルの前後の２つのサンプルの累算波形データで補間されることになるが、楽音の波形データは隣接するサンプル間の相関性が高いので、発音される楽音の音質が劣化するおそれはあまりない。この第３実施形態においては、波形バッファ１７の２段のバッファのそれぞれが１チャンネル分の構成で済むことにより、ハードウェアの規模が小さくなり、小型化やコストダウンを図れる利点がある。さらに、第３実施形態においては、波形ＲＯＭ３に記憶された他のデータのデータ量が多く、１チャンネル分のタイムスロットでは転送できず、複数のチャンネルのタイムスロットが中断された場合でも、そのサンプルの累算波形データを補間することで対応できるという利点もある。
【００５１】
上記各実施形態においては、波形ＲＯＭ３に記憶された波形データ以外の他のデータをマイコン１が読み出す構成について説明したが、波形ＲＯＭ３に記憶された波形データをマイコン１が読み出す構成も可能である。例えば、波形ＲＯＭ３からサンプルの波形データを読み出してポリフォニックな楽音を発生している状態において、マイコン１が他のサンプルの波形データをリアルタイムで書き換えるような場合には、現在のサンプルの少なくとも１つのチャンネルの波形データの読込みを中断して、目的の波形データを書き換える。そして、その中断によって読込むことができなかったチャンネルの波形データを、現在のサンプルの１つ前のサンプルと１つ後のサンプルの対応するチャンネルの波形データで補間する。
【００５２】
なお、上記各実施形態においては、マイコン１のプログラムＲＯＭにあらかじめ記憶された楽音発生処理のプログラムをマイコン１が実行する装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、ＭＤなどの外部の記憶媒体に記録されている楽音発生処理のプログラムをフラッシュＲＯＭなどの不揮発性メモリにインストールしたり、インターネットなどのネットワークからダウンロードした楽音発生処理のプログラムを不揮発性メモリにインストールして、そのプログラムをマイコンが実行する構成も可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【００５３】
すなわち、本発明による楽音発生処理のプログラムは、
入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する記憶手段から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、前記第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、前記記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記第１のステップに対して前記記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す第３のステップと、前記中断期間が存在するサンプル内において、前記第１のステップに対して当該中断期間に相当する期間を波形データの読込みを中止する欠落期間として指定する第４のステップと、前記欠落期間における波形データを当該欠落期間が存在するサンプルの１つ前および１つ後のサンプルにおける当該欠落期間に対応するチャンネルの波形データに基づいて補間する第５のステップと、を実行する。
【００５４】
前記第４のステップは、前記中断期間を前記欠落期間として指定する。
前記第１のステップは、前記中断期間が経過した後は当該中断期間のチャンネルの波形データから読出しを再開し、前記第４のステップは、前記中断期間が存在するサンプル内の特定の期間を前記欠落期間として指定する。
この場合において、前記第４のステップは、発音音量が最も小さい期間を前記欠落期間として指定する。あるいは、前記第４のステップは、倍音の音量が比較的小さい期間を前記欠落期間として指定する。あるいは、前記第４のステップは、あらかじめ設定された条件において音楽的に重要でない期間を前記欠落期間として指定する。あるいは、前記第４のステップは、欠落期間として前回指定された時が他の期間よりも古い期間を今回の欠落期間として指定する。
【００５５】
また、本発明による楽音発生処理のプログラムは、
入力される音高に応じた読出レートのアドレス信号を生成し、複数のチャンネルからなる楽音波形を所定の周期でサンプリングした各サンプルの波形データおよび他のデータを記憶する第１の記憶手段から各サンプルの波形データをチャンネルごとに時分割で読み出す第１のステップと、前記第１のステップによって読み出された各サンプルにおける複数のチャンネルの波形データを累算してポリフォニックな累算波形データを生成する第２のステップと、前記第２のステップによって生成された累算波形データを第２の記憶手段に記憶する第３のステップと、前記第１の記憶手段に記憶された前記他のデータを要求する要求信号に応じて前記読出手段に対して前記第１の記憶手段からの波形データの読出しを少なくとも１つのチャンネルの期間中断させて、当該中断期間に前記他のデータを読み出す第４のステップと、前記中断期間が存在するサンプルにおける累算波形データを前記第１の記憶手段に記憶された１つ前のサンプルの累算波形データと前記第２のステップによって生成された１つ後のサンプルのサンプルの累算波形データによって補間する第５のステップと、を実行する。
【図面の簡単な説明】
【００５６】
【図１】本発明の各実施形態に共通の楽音発生装置のブロック図。
【図２】各実施形態においてマイコンがデータを要求して、そのデータを得るまでのタイミングチャートを示す図。
【図３】第１実施形態および第２実施形態において図１の音源装置における波形データの読出し部分を示すブロック図。
【図４】図３の波形バッファの内部構成を示すブロック図。
【図５】第１実施形態においてマイコンからデータ要求信号がない場合に、音源装置における波形データの流れを示す図。
【図６】第１実施形態においてマイコンからデータ要求信号があった場合に、音源装置における波形データの流れを示す図。
【図７】第２実施形態においてマイコンからデータ要求信号があった場合に、音源装置における波形データの流れを示す図。
【図８】第３実施形態において図１の音源装置における波形データの読出し部分を示すブロック図。
【符号の説明】
【００５７】
１  マイコン
２  音源装置
３  波形ＲＯＭ
４  ＤＡＣ
５  サウンドシステム
１１  波形バッファ
１２  セレクタ
１３  補間器
１４  累算器
１５  タイミング／アドレス・ジェネレータ
１６  データラッチ
１７  波形バッファ
【図１】
2006098859.tif 000003
【図２】
2006098859.tif 000004
【図３】
2006098859.tif 000005
【図４】
2006098859.tif 000006
【図５】
2006098859.tif 000007
【図６】
2006098859.tif 000008
【図７】
2006098859.tif 000009
【図８】
2006098859.tif 000010