(57)【要約】【課題】  波形メモリ共有機能を持たない安価な音源を複数使って、チャンネル数や使用できる波形データは減らすことなく、波形メモリ共有機能を持つ複数の音源を使用した場合と同様の楽音発生装置を構成できるような発音割当装置を提供することを目的とする。【解決手段】  楽音発生処理を行う複数の音源と、それら複数の音源毎に設けられた複数の波形データメモリとを備える。キーオンイベントを受け付けたときには、そのキーオンイベントを処理するのに使用すべき音源を判定し、その音源に発音処理を割り当てる。例えば、複数のキーバンクに分けた波形データをそれぞれ複数の波形データメモリに分散して記憶しておき、キーオンイベントを受け付けたときに、そのキーオンイベントで使用すべきキーバンクを特定し、そのキーバンクの波形データを記憶した波形データメモリに対応する音源に発音指示を出す。【選択図】  図１
2006030517.tif 000002
【特許請求の範囲】
【請求項１】
楽音発生処理を行う複数の音源手段と、
前記複数の音源毎に設けられ、それぞれ、対応する音源で使用する波形データを記憶した複数の波形データ記憶手段と、
キーオンイベントを受け付ける手段と、
前記複数の音源手段の中から、前記受け付けたキーオンイベントを処理するのに使用すべき音源手段を判定する手段と、
判定した音源手段で発音可能なチャンネルを検出する手段と、
検出したチャンネルに前記受け付けたキーオンイベントを割り当てて発音を指示する手段と
を備えたことを特徴とする発音割当装置。
【請求項２】
楽音発生処理を行う複数の音源手段と、
前記複数の音源毎に設けられ、それぞれ、対応する音源で使用する複数のキーバンクの波形データを記憶した、複数の波形データ記憶手段と、
キーオンイベントを受け付ける手段と、
前記受け付けたキーオンイベントを処理するのに使用すべきキーバンクを特定し、該キーバンクの波形データを記憶した波形データ記憶手段に対応する音源手段を判定する手段と、
判定した音源手段で発音可能なチャンネルを検出する手段と、
検出したチャンネルに前記受け付けたキーオンイベントを割り当てて発音を指示する手段と
を備えたことを特徴とする発音割当装置。
【請求項３】
請求項２に記載の発音割当装置において、
前記キーバンクは、音高を示すキーナンバに基づいて区切った各キーナンバ範囲をキーバンクとするものであることを特徴とする発音割当装置。
【請求項４】
請求項３に記載の発音割当装置において、
音高を基準にした順番で隣り合う２つのキーバンクの波形データを、それぞれ別の波形データ記憶手段に、記憶したことを特徴とする発音割当装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形データメモリを共有する機能を持たない音源を用いて、１つの波形データメモリを共有する機能を持つ音源を複数用いたときと同様の楽音発生装置を安価に構成できる発音割当装置に関する。
【背景技術】
【０００２】
従来より、発音チャンネル（CH）を増やすために２つの音源（例えば音源チップ）を使用し、発音に使用する全ての波形データは１つの波形メモリに記憶し、２つの音源のそれぞれから該波形メモリの波形データを読み出して楽音を生成する音源装置が知られている。例えば、下記特許文献１には、２つの音源で１つの波形メモリを共有し、各音源から該波形メモリへ時分割でアクセスして波形データを実質的に同時に読み出すことができるようにした波形メモリ読み出し方式の音源装置（波形メモリ共有機能を持つ音源装置）が開示されている。この技術によれば、新たに発生した発音指示は、２つの音源のいずれのCHにも割り当てることができる。
【特許文献１】特開平９−１４６５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述の特許文献１に記載の音源装置では、２つある各音源は波形メモリを共有する機能を備えている必要がある。しかし、波形メモリを共有する機能を持つ音源と持たない音源とでは価格が異なり、当該機能を持つ音源は当該機能を持たない音源よりも高価である。一方、波形メモリ共有機能を持たない音源は安価ではあるが、１つの音源で１つの専用の波形メモリを使用するしかなく、CHを増やすために音源の数を増やすとそれにあわせて波形データを記憶しておく波形メモリの数も増やさなければならない。特に、両音源で全波形データを使用できるようにするためには、各音源に付随する各波形メモリに全波形データを格納しておく必要がある。これでは、全波形データを格納した波形メモリを２つ設けることになりメモリコストが上がってしまう。
【０００４】
この発明は、波形メモリ共有機能を持たない安価な音源を複数使って、チャンネル数や使用できる波形データは減らすことなく、波形メモリ共有機能を持つ複数の音源を使用した場合と同様の楽音発生装置を構成できるような発音割当装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この目的を達成するため、この発明は、楽音発生処理を行う複数の音源手段と、それら複数の音源毎に設けられた複数の波形データ記憶手段とを備え、キーオンイベントを受け付けたときには、複数の音源手段の中からそのキーオンイベントを処理するのに使用すべき音源手段を判定し、その音源手段に発音処理を割り当てることを特徴とする。例えば、複数のキーバンクに分けた波形データをそれぞれ複数の波形データ記憶手段に分けて記憶しておき、キーオンイベントを受け付けたときに、そのキーオンイベントで使用すべきキーバンクを特定し、そのキーバンクの波形データを記憶した波形データ記憶手段に対応する音源手段に発音指示を出すようにする。
【発明の効果】
【０００６】
この発明によれば、波形メモリを共有する機能を持たない安価な音源を複数利用し、波形データは各音源に対応する波形メモリに分散して格納するようにできるので、従来の発音装置で使用できていたCHや波形データの数を減らすことなく、発音装置を安価に構成できるようになる。また、１つの波形データメモリを複数の音源で共有できない安価な音源を用いて、１つの波形データメモリを複数の音源で共有できる音源を複数用いたときと同じ数のCHや波形データを使用できる発音装置を、安価に構成することができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を用いてこの発明を実施するための一形態を説明する。
【０００８】
図１は、この発明の一実施形態に係る発音割当装置を適用した電子楽器のブロック構成を示す。この電子楽器は、中央処理装置（CPU）１０１、ランダムアクセスメモリ（RAM）１０２、第１の音源（以下、#1音源と呼ぶ）１０３、第１のリードオンリメモリ（以下、#1ROMと呼ぶ）１０４、第２の音源（以下、#2音源と呼ぶ）１０５、第２のROM（以下、#2ROMと呼ぶ）１０６、操作子１０７、検出回路１０８、表示部１０９、表示回路１１０、外部機器１１１と接続するための通信インターフェース（I/F）１１２、及び上記各部を接続する通信バス１１３を備える。
【０００９】
CPU１０１は、この電子楽器全体の動作を制御する処理装置である。RAM１０２は、CPU１０１が実行するプログラムをロードしたり各種バッファ領域を確保する揮発性メモリである。#1音源１０３及び#2音源１０５は、いずれも波形メモリ共有機能を持たない音源（自己が使用する波形データを記憶している波形メモリを、他の音源とは共有できず、自己占有として使用する音源）である。#1ROM１０４は、#1音源１０３のみが使用できる波形データを記憶した#1音源１０３専用の波形メモリであり、#1音源１０３のみがアクセスする（できる）。#1ROM１０４は、波形メモリであるとともに、CPU１０１が実行する各種データやプログラムを記憶するメモリも兼ねており、CPU１０１からもアクセスすることができる。#1音源１０３以外の他の音源（#2音源１０５）は、#1ROM１０４にアクセスしない（できない）。#2ROM１０６は、#2音源１０５のみが使用できる波形データを記憶した#2音源１０５専用の波形メモリであり、#2音源１０５のみがアクセスする（できる）。CPU１０１と#2音源１０５以外の他の音源（#1音源１０３）は、#2ROM１０６にアクセスしない（できない）。また、#1音源１０３と#2音源１０５はいずれも複数のCHを持ち、そのCHのそれぞれにキーオンイベントを割り当てることにより、複数のキーオンイベントによる楽音を同時に発音することができる音源である。
【００１０】
操作子１０７は、操作者が演奏操作する複数の鍵を備えた鍵盤及びこの電子楽器の外部パネル上に設けられた各種のスイッチなどの操作子である。操作子１０７の操作は、検出回路１０８により検出され、その検出結果はCPU１０１に送出される。表示部１０９は、この電子楽器の外部パネル上に設けられたディスプレイ装置である。表示回路１１０は、CPU１０１からの指示に基づいて、表示部１０９に指示された情報を表示する。通信I/F１１２は、例えば外部機器１１１であるMIDI機器から出力されるMIDIイベントを入力するインターフェースである。本電子楽器では、該I/F１１２から入力したキーオンイベント（音源に対して楽音の発音を指示する発音指示命令）をCHに割り当てて発音することもできる。
【００１１】
なお、図１では、#1ROM１０４をCPU１０１からもアクセスできるメモリとしたため、通信バス１１３に#1ROM１０４が接続された形態で図示した。#1ROM１０４を#1音源１０３が使用する波形メモリのみの役割を果たすメモリとし、CPU１０１から#1ROM１０４にアクセスしないのであれば、#2音源１０５と#2ROM１０６の関係と同様に、#1音源１０３の下に#1ROM１０４がぶら下がる形態としてもよい。
【００１２】
図２は、#1ROM１０４に記憶されている音源ナンバ対応テーブルの例を示す。「音色ナンバ」は、この電子楽器で選択することができる音色それぞれの識別子であり、音色１つずつに固有の音色ナンバを割り当ててある。また、各音色は、複数の鍵域を有しており、鍵域ごとに異なる波形データを使用して発音を行なう。「キーナンバ範囲」は、各音色の、各鍵域に割り当ててあるキーナンバ（音高を示すナンバ）の範囲を示し、１つの音色内で各鍵域は固有の「キーバンクナンバ」を持つ。「音源ナンバ」は、各音色（音色ナンバ）と各鍵域（キーバンクナンバ）との組（組み合わせ）ごとの、当該音色の当該鍵域で発生したキーオンイベントの発音に使用する音源の音源ナンバを示す。CPU１０１は、キーオンイベントを受け取ったとき、この音源ナンバ対応テーブルを参照して、当該キーオンイベントにより発音指示された音色、かつ発音指示された音高が含まれるキーナンバ範囲に対応する音源ナンバを取得し、その音源ナンバの音源のCHに、当該受け取ったキーオンイベントの発音割当てを行う。この電子楽器に備えられている音源それぞれ（#1音源１０３と#2音源１０５）には、予め、固有の音源ナンバ（#1と#2）を割り当てておく。そして、音源それぞれがアクセスする波形メモリ（#1ROM１０４と#2ROM１０６）それぞれには、当該波形メモリにアクセスする音源の音源ナンバが割り当てられている音色ナンバとキーバンクナンバとの組（組み合わせ）ごとの、波形データを格納しておく。
【００１３】
例えば、図２の音源ナンバ対応テーブルの場合、音色ナンバTC01かつキーナンバが23のキーオンイベントに対しては#1音源１０３を、音色ナンバTC01かつキーナンバが35のキーオンイベントに対しては#2音源１０５を、音色ナンバTC01かつキーナンバが41のキーオンイベントに対しては#1音源１０３を、それぞれ割り当てることになる。また、#1音源１０３のみが使用する波形メモリである#1ROM１０４には、音色ナンバTC01とキーバンクナンバKB01の組（音色ナンバTC01の１行目）に該当するキーオンイベントで使用する波形データ、音色ナンバTC01とキーバンクナンバKB03の組（音色ナンバTC01の２行目）に該当するキーオンイベントで使用する波形データ、あるいは、音色ナンバTC02とキーバンクナンバKB01の組（音色ナンバTC02の１行目）に該当するキーオンイベントで使用する波形データというように、音源ナンバに#1が割り当てられているすべての行の波形データが格納されている。同様に、#2音源１０５のみが使用する波形メモリである#2ROM１０６には、音色ナンバTC01とキーバンクナンバKB02の組や音色ナンバTC02とキーバンクナンバKB02の組のように、音源ナンバに#2が割り当てられているすべての行の波形データが格納されている。結果として、１つの音色の鍵域毎に異なる波形データを１つずつ、いずれかの波形メモリに持っていることになる。
【００１４】
図３は、操作子１０７の鍵盤に割り当てる音色の選択操作を受け付けたときに起動される音色選択処理の動作を示す。CPU１０１は、ステップ３０１で、受け付けた音色（選択された音色）の音色ナンバを、現在選択している音色（鍵盤の鍵の押下に応じて発音する楽音の音色）として設定する。
【００１５】
図４は、キーオンイベントを受け付けたときに起動される発音割当処理の動作を示す。キーオンイベントは、例えば鍵盤の鍵の押下に応じて発生し、あるいは通信I/F１１２経由で外部機器１１１から入力したものである。CPU１０１は、ステップ４０１で、（図３のステップ３０１において設定された）現在選択している音色を判別する。ステップ４０２で、判別した音色において、受け付けたキーオンイベントが属するキーバンクを判別し、ステップ４０３では、判別した音色とキーバンクから、受け付けたキーオンイベントの発音を割り当てる音源（対象音源）を決定する。ステップ４０２，４０３の処理は、図２の音源ナンバ対応テーブルを参照して、現在選択している音色（音色ナンバ）と、受け付けたキーオンイベントのキーナンバが属するキーナンバ範囲のキーバンク（キーバンクナンバ）との組に対して割り当てられている音源ナンバを取得して、当該取得した音源ナンバに該当する音源を対象音源として決定する処理である。
【００１６】
次に、ステップ４０４では、前記対象音源（ここでは#1音源１０３または#2音源１０５のいずれか）に空きCHがあるか否か判定する。あれば、ステップ４０５で、当該空きCHを、受け付けたキーオンイベントを割り当てるCH（割当CH）として決定する。なければ、ステップ４０６で、所定のルールに従って、前記対象音源のいずれかのCHを、受け付けたキーオンイベントを割り当てるCH（割当CH）として決定する。ステップ４０７で、前記ステップ４０５あるいはステップ４０６において決定した割当CHに受け付けたキーオンイベントを割り当てて、当該キーオンイベントに対応する新たな発音を開始させる。受け付けたキーオンイベントの発音に使用する波形データは、ステップ４０１で判別した音色の音色ナンバと、ステップ４０２で判別したキーバンクのキーバンクナンバとの組み合わせにより決定されるものであり、発音が開始されると、当該波形データを、前記対象音源がアクセスする波形メモリから順に読み出し、読み出した波形データを対象音源の割当CHで再生（発音）する。
【００１７】
受け付けたキーオンイベントの音色とキーバンクから対象音源を決定するという動作のかわりに、キーオンイベントを受け付けたときに、まず、受け付けたキーオンイベントの発音に使用する波形データを決定して、その後、当該決定した波形データによる発音を行なえる音源を検出して、当該検出した音源を対象音源として決定する動作を用いることも、当然、本発明に含まれる。
【００１８】
なお、上記実施形態では２つの音源の場合で説明したが、音源は２つに限らず、発音に必要なCH数を確保できる数だけ設置してよい。音源を何個設置したとしても、設置した音源ごとに、当該音源のみがアクセスできる専用の波形メモリを設置して、当該波形メモリに当該音源においての発音に使用する波形データを記憶する。また、設置した音源すべてに対して固有の音源ナンバを割り当て、当該音源すべてについての情報を音源ナンバ対応テーブルに記憶する。
【００１９】
それぞれの音源への波形データの割り振り方は、同時に発音する可能性が高い波形データ（実施例のように、同じ音色内における隣接するキーバンクで利用される波形データ）ができる限り異なる音源で発音されるように割り振ることが好ましい。また、それぞれの音源への波形データの割り振り方は、キーバンク（波形データ）ごとに音源へ割り振る方法に限らず、一部の波形データについて複数の音源の波形メモリに共通に記憶しておくこともできる。例えば、キーバンク内の複数の音高が同時に発音される可能性が高いキーバンクについては、そのキーバンク（鍵域）を複数の区分に分割して、その区分ごとに音源を割り振る。この場合には、その区分と音色の組み合わせに対して使用する音源ナンバを割り当てておき、当該音源ナンバに該当する音源の波形メモリにはいずれにもそのキーバンクの波形データを記憶しておくことになる。さらに、キーバンクはタッチごとに異なるものが用意される場合もある。この場合には、タッチごとに音源の割り振りも決めるものとする。
【００２０】
上記実施形態では、全鍵域に対して１つの音色を設定しているが、全鍵域を複数の区分に分けて、その区分ごとに音色を設定する場合もある。この場合には、キーオンイベントが発生したときにそのキーオンイベントが属する鍵域の区分を考慮して音色を判定するものとする。その後の処理は上述の実施形態と同じである。
【図面の簡単な説明】
【００２１】
【図１】実施形態の電子楽器のブロック構成図
【図２】音源ナンバ対応テーブルの例を示す図
【図３】音色選択処理の手順を示すフローチャート図
【図４】発音割当処理の手順を示すフローチャート図
【符号の説明】
【００２２】
１０１…CPU、１０２…RAM、１０３…#1音源、１０４…#1ROM、１０５…#2音源、１０６…#2ROM、１０７…操作子、１０８…検出回路、１０９…表示部、１１０…表示回路、１１１…外部機器、１１２…通信I/F、１１３…#1通信バス。
【図１】
2006030517.tif 000003
【図２】
2006030517.tif 000004
【図３】
2006030517.tif 000005
【図４】
2006030517.tif 000006