(57)【要約】      （修正有）【課題】入力音と調和の取れた安定したハーモニー音を容易に生成することが可能となる電子音楽装置を提供する。【解決手段】音階が短音階＆リード音が当該音階の主音に対して長７度または短７度であれば、当該音階の導音が基準スケール音に決定され(Ｓ１０７）、リード音が当該音階のスケール音であれば、リード音に対応するスケール音の音名が基準スケール音に決定され（Ｓ１０９）、リード音が当該音階のスケール音でなければ、当該音階中のリード音に近い音名のうち、音高がリード音より低くなる方の音名が基準スケール音に決定される（Ｓ１１０）。【選択図】図４
2011242435.tif 000002
【特許請求の範囲】
【請求項１】
調性情報を取得する第１の取得手段と、
度数情報を取得する第２の取得手段と、
入力音情報を受け付ける受付手段と、
前記受付手段によって受け付けられた入力音情報からその音高情報を抽出する抽出手段と、
前記第１の取得手段によって取得された調性情報に基づいて音階を決定する第１の決定手段と、
前記抽出手段によって抽出された入力音情報の音高情報および前記第１の決定手段によって決定された音階に基づいて基準スケール音を決定する第２の決定手段と、
前記決定された音階を構成する複数のスケール音を、前記第２の決定手段によって決定された基準スケール音から前記第２の取得手段によって取得された度数情報が示す度数分辿ることにより、ハーモニー音の音高を決定する第３の決定手段と、
前記第３の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段と
を有することを特徴とする電子音楽装置。
【請求項２】
前記取得された度数情報が示す度数がオクターブ関係のものであるかどうかを判定する判定手段と、
前記判定手段による判定の結果、当該度数がオクターブ関係のものであるときには、当該度数からオクターブ数を算出し、前記抽出された入力音情報の音高情報を前記算出されたオクターブ数分シフトすることにより、ハーモニー音の音高を決定する第４の決定手段と
をさらに有し、
前記生成手段は、前記判定手段による判定の結果、当該度数がオクターブ関係のものであるときには、前記第４の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成する一方、当該度数がオクターブ関係のものでないときには、前記第３の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成することを特徴とする請求項１に記載の電子音楽装置。
【請求項３】
前記第２の決定手段は、前記決定された音階が短音階であり、かつ前記抽出された入力音情報の音高情報が示す音高が当該音階の主音に対して長７度あるいは短７度であるときには、当該音階の導音を基準スケール音に決定することを特徴とする請求項１または２に記載の電子音楽装置。
【請求項４】
調性情報を取得する第１の取得手順と、
度数情報を取得する第２の取得手順と、
入力音情報を受け付ける受付手順と、
前記受付手順によって受け付けられた入力音情報からその音高情報を抽出する抽出手順と、
前記第１の取得手順によって取得された調性情報に基づいて音階を決定する第１の決定手順と、
前記抽出手順によって抽出された入力音情報の音高情報および前記第１の決定手順によって決定された音階に基づいて基準スケール音を決定する第２の決定手順と、
前記決定された音階を構成する複数のスケール音を、前記第２の決定手順によって決定された基準スケール音から前記第２の取得手順によって取得された度数情報が示す度数分辿ることにより、ハーモニー音の音高を決定する第３の決定手順と、
前記第３の決定手順によって決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音に基づいてハーモニー音を生成する電子音楽装置およびハーモニー音生成方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
入力音に基づいてハーモニー音を生成する電子音楽装置は、従来から知られている。
【０００３】
このような装置として、入力された音声を入力されたコード情報に協和する音高のハーモニー音声に変換するようにした音声処理装置がある（たとえば、特許文献１参照）。この音声処理装置では、ハーモニー音声への音高の変換は、旋律音域（伴奏音域よりも高い音域）の和音の構成音名の音高のうち直接音声に最も近い音高（ただし、同一音高でない）に変換するようにしている。
【０００４】
また、演奏によって入力されたメロディ音に付加音を作成して付加するようにしたメロディ付加音制御装置もある（たとえば、特許文献２参照）。このメロディ付加音制御装置では、リズムパターンとしてロックあるいは１６ビートが選択されているときに、デュエット音が設定された場合には、メロディ音に対して３度下の音が付加音として決定され、トリオ音が設定された場合には、メロディ音に対して３度下の音と６度下の音が付加音として決定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８７９９４８号公報
【特許文献２】特開平５−２２４６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の音声処理装置では、入力されたコード情報と調和の取れた安定したハーモニー音声を得ることができるが、その際、常に適切なコード情報を入力する必要があった。
【０００７】
一方、上記従来のメロディ付加音制御装置では、入力されたメロディ音（入力音）に対してある度数離れた付加音（ハーモニー音）が決定されるが、その際、ハーモニー音の音高は、当該度数に対応する半音数（たとえば、５度上であれば７半音）分、入力音の音高に加算／減算することによって得られる。しかし、このようにして得られたハーモニー音には、その曲の調の音階から外れてしまうものが混じる場合があり、この場合には、ハーモニー音の安定感が失われることになる。
【０００８】
本発明は、この点に着目してなされたものであり、入力音と調和の取れた安定したハーモニー音を容易に生成することが可能となる電子音楽装置およびハーモニー音生成方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載の電子音楽装置は、調性情報を取得する第１の取得手段と、度数情報を取得する第２の取得手段と、入力音情報を受け付ける受付手段と、前記受付手段によって受け付けられた入力音情報からその音高情報を抽出する抽出手段と、前記第１の取得手段によって取得された調性情報に基づいて音階を決定する第１の決定手段と、前記抽出手段によって抽出された入力音情報の音高情報および前記第１の決定手段によって決定された音階に基づいて基準スケール音を決定する第２の決定手段と、前記決定された音階を構成する複数のスケール音を、前記第２の決定手段によって決定された基準スケール音から前記第２の取得手段によって取得された度数情報が示す度数分辿ることにより、ハーモニー音の音高を決定する第３の決定手段と、前記第３の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段とを有することを特徴とする。
【００１０】
請求項２に記載の電子音楽装置は、請求項１の電子音楽装置において、前記取得された度数情報が示す度数がオクターブ関係のものであるかどうかを判定する判定手段と、前記判定手段による判定の結果、当該度数がオクターブ関係のものであるときには、当該度数からオクターブ数を算出し、前記抽出された入力音情報の音高情報を前記算出されたオクターブ数分シフトすることにより、ハーモニー音の音高を決定する第４の決定手段とをさらに有し、前記生成手段は、前記判定手段による判定の結果、当該度数がオクターブ関係のものであるときには、前記第４の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成する一方、当該度数がオクターブ関係のものでないときには、前記第３の決定手段によって決定されたハーモニー音の音高に基づいてハーモニー音を生成することを特徴とする。
【００１１】
請求項３に記載の電子音楽装置は、請求項１または２の電子音楽装置において、前記第２の決定手段は、前記決定された音階が短音階であり、かつ前記抽出された入力音情報の音高情報が示す音高が当該音階の主音に対して長７度あるいは短７度であるときには、当該音階の導音を基準スケール音に決定することを特徴とする。
【００１２】
上記目的を達成するため、請求項４に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【００１３】
請求項１または４に記載の発明によれば、曲の調性に応じたスケール音をハーモニー音として生成するようにしたので、入力音と調和が取れ、違和感のない安定したハーモニー音を得ることができる。また、ユーザは入力音に合わせて適切なコードを順次入力しなくても、たとえば、演奏前に、あるいは演奏中に曲の任意の区切り位置で、適切な調性情報と度数情報を指定あるいは供給するだけで、音楽的なハーモニー音を容易に得ることができる。
【００１４】
請求項２に記載の発明によれば、８度などのオクターブ関係の度数が指定された場合には、入力音に対してオクターブ関係となる音をハーモニー音として生成するようにしたので、入力音が当該音階のスケール音以外の音であっても、入力音に対してハーモニー音は濁らず、調和のとれた響きとなる。
【００１５】
調性が短音階の場合、自然短音階と和声的短音階で第７度の音が異なるが、実際の音楽では、１つの曲の中で短７度と長７度がどちらもスケール音として出てくることも多い。請求項３に記載の発明によれば、どちらの短音階であっても、音階上の短７度と長７度を同一度数のスケール音として扱うようにしたので、最適なハーモニー音を得ることができる。しかもユーザは、入力音を入力するに際して、自然短音階と和声的短音階の違いを何も意識しなくてもよい、つまり、特別な音楽知識を持たなくてもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【図２】「主音」が“Ｃ”である場合に作成された長音階（（ａ））、自然短音階（（ｂ））および和声的短音階（（ｃ））を示す図である。
【図３Ａ】図１の電子音楽装置、特にＣＰＵが実行する演奏補助処理の手順を示すフローチャートである。
【図３Ｂ】図３Ａの演奏補助処理の続きの手順を示すフローチャートである。
【図４】図３Ｂ中のハーモニー音の音高検出処理の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１８】
図１は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【００１９】
同図に示すように、本実施の形態の電子音楽装置は、音声を入力するためのマイクロフォン、鍵盤等の演奏操作子および各種スイッチ等の設定操作子からなる入力操作部１と、装置全体の制御を司るＣＰＵ２と、該ＣＰＵ２が実行する制御プログラムや各種テーブルデータ等を記憶するＲＯＭ３と、前記演奏操作子を用いて入力された演奏情報、各種入力情報および演算結果等を一時的に記憶するＲＡＭ４と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する記憶装置５と、各種情報等を表示する、たとえばＬＣＤ（liquid crystal display）およびＬＥＤ（light emitting diode）等を備えた表示装置６と、外部ＭＩＤＩ（musical instrument digital interface）機器等の外部機器１００を接続し、この外部機器１００とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）７と、前記演奏操作子を用いて入力された演奏情報や、前記記憶装置５に記憶されたいずれかの楽曲データを再生して得られた演奏情報等を楽音信号に変換する音源回路８と、該音源回路８からの楽音信号に各種効果を付与するための効果回路９と、該効果回路９からの楽音信号を音響に変換する、たとえば、ＤＡＣ（digital-to-analog converter）やアンプ、スピーカ等のサウンドシステム１０とにより構成されている。
【００２０】
上記構成要素１〜９は、バス１１を介して相互に接続され、通信Ｉ／Ｆ７には外部機器１００が接続され、音源回路８には効果回路９が接続され、効果回路９にはサウンドシステム１０が接続されている。
【００２１】
記憶装置５は、たとえば、フレキシブルディスク（ＦＤ）、ハードディスク（ＨＤ）、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disc）、光磁気ディスク（ＭＯ）および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は駆動装置から着脱可能であってもよいし、記憶装置５自体が本実施の形態の電子音楽装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置５も着脱不可能であってもよい。なお記憶装置５（の記憶媒体）には、前述のように、ＣＰＵ２が実行する制御プログラムも記憶でき、ＲＯＭ３に制御プログラムが記憶されていない場合には、この記憶装置５に制御プログラムを記憶させておき、それをＲＡＭ４に読み込むことにより、ＲＯＭ３に制御プログラムを記憶している場合と同様の動作をＣＰＵ２にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００２２】
通信Ｉ／Ｆ７には、図示例では外部機器１００が接続されているが、これに限られず、たとえばＬＡＮ（local area network）やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、記憶装置５に上記各プログラムや各種パラメータが記憶されていなければ、通信Ｉ／Ｆ７はサーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信Ｉ／Ｆ７および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して電子音楽装置へと配信し、電子音楽装置が通信Ｉ／Ｆ７を介して、これらプログラムやパラメータを受信して記憶装置５に蓄積することにより、ダウンロードが完了する。
【００２３】
音源回路８は、前述のように演奏情報を楽音信号に変換する処理に加え、後述のように、入力されたリード音データ（ユーザの歌声によるリード音をデジタル化したもの）に対応するリード音の楽音信号を生成するとともに、当該リード音データのピッチ（音高）をハーモニー音の音高に変換し、変換後の音高のリード音、つまりハーモニー音の楽音信号を生成する処理を行う。
【００２４】
なお本実施の形態の電子音楽装置は、上述の構成から分かるように電子鍵盤楽器上に構築されたものであるが、これに限らず、鍵盤を外部接続した汎用的なパーソナルコンピュータ上に構築してもよい。また、鍵盤を必須の構成とせずに本発明を実現できるので、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態を採用するようにしてもよい。また、電子楽器に限らず、カラオケ機器やゲーム機器、通信機器などの電子機器にも本発明を適用することができる。
【００２５】
以上のように構成された電子音楽装置が実行する制御処理を、まずその概要を説明し、次に図２〜図４を参照して詳細に説明する。
【００２６】
今、本実施の形態の電子音楽装置には、ハーモニー音の生成に利用する調性情報および度数情報が設定されているとする。調性情報は、音階（スケール）（を構成するスケール音）を作成するために用いられ、本実施の形態では、「主音」を表わす情報と「長調」あるいは「短調」を表わす情報との組、具体的には“Ｃｍａｊ”や“Ｃｍｉｎ”などによって表現される。また短調の音階、つまり「短音階」には、「自然短音階」および「和声的短音階」がある（「旋律的短音階」もあるが、本実施の形態では説明の都合上、「短音階」には含まれないものとする）ので、「短調」の調性情報には、当該「短音階」が「自然短音階」であるか「和声的短音階」であるかを指定する情報も含まれている。度数情報は、上記作成される音階に含まれる１つのスケール音（基準スケール音）から、いずれの度数だけ離れた音をハーモニー音とするかを決定するために用いられ、符号（±）付きの整数値によって表現される。符号が“＋”の場合には、ハーモニー音は基準スケール音の音高より高い方向に決定され、符号が“−”の場合には、その逆に決定される。なお、基準スケール音の決定の仕方については、制御処理の詳細の中で後述する。
【００２７】
まずＣＰＵ２は、現在設定されている調性情報を取得し、取得した調性情報からその「調」と「主音」を確定し、確定した「調」と「主音」に基づいて音階を作成する。具体的には、「調」が長調のときには、確定した「主音」の長音階を作成し、「調」が短調のときには、さらに「自然短音階」あるいは「和声的短音階」のいずれが指定されているかを判定し、「自然短音階」が指定されている場合には、確定した「主音」の「自然短音階」を作成する一方、「和声的短音階」が指定されている場合には、確定した「主音」の「和声的短音階」を作成する。
【００２８】
図２は、確定した「主音」が“Ｃ”である場合に作成された長音階（（ａ））、自然短音階（（ｂ））および和声的短音階（（ｃ））を示す図である。図２（ａ）〜（ｃ）中、ＣＰＵ２によって生成される音階（を構成するスケール音）は、「Ｃ主音の場合」の欄に示される７つのスケール音（音名）の列である。たとえば図２（ａ）の長音階では、“Ｃ”，“Ｄ”，“Ｅ”，“Ｆ”，“Ｇ”，“Ａ”，“Ｂ”の音名の列である。図２には、その他の情報、つまり、「音程関係」、「音階音」（「スケール音」）、「半音数（上方向）」および「半音数（下方向）」の各欄に示される名称や数値も記載されているが、これらの情報は、説明の都合上記載されたものであり、ＣＰＵ２によって生成されるものではない。
【００２９】
前記確定された主音と前記作成された音階は、前記ＲＡＭ４に一時的に保存しておく。またＣＰＵ２は、当該作成された音階からその音階の導音を確定し、さらに、現在設定されている度数情報を取得する。そして、この導音と度数情報も、ＲＡＭ４に一時的に保存しておく。
【００３０】
ユーザが、たとえば前記入力操作部１に含まれるマイクロフォンから自身の歌声を入力すると、ＣＰＵ２は、入力された歌声（アナログ音声信号）をデジタル化して、リード音情報（データ）として、ＲＡＭ４に確保したリード音データ格納領域（図示せず）に格納する。ＣＰＵ２は、リード音データ格納領域に格納されたリード音データから公知の方法によりピッチ（音高）を検出してハーモニー音の生成に用いるとともに、当該リード音データを所定のタイミングで読み出して音源回路８に送信する。これにより、音源回路８は、当該リード音データに対応するリード音（の楽音信号）を生成して効果回路９に出力する。効果回路９は、入力された楽音信号に適宜効果を付与して、内蔵の信号出力制御回路（図示せず）に出力する。
【００３１】
次にＣＰＵ２は、次のようにして基準スケール音を決定する。すなわち、
（ａ１）音階が短音階＆（かつ）リード音が当該音階の主音に対して長７度または短７度である場合：当該音階の導音を基準スケール音に決定し；
（ａ２）リード音が当該音階のスケール音である場合：リード音に対応するスケール音の音名を基準スケール音に決定し；
（ａ３）リード音が当該音階のスケール音でない場合：当該音階中のリード音に近い音名のうち、音高がリード音より低くなる方の音名を基準スケール音に決定する。
【００３２】
そしてＣＰＵ２は、この基準スケール音を１番目として、前記取得した度数情報の符号が“＋”であれば音高が高くなる方向に、その符号が“−”であれば音高が低くなる方向に、当該音階のスケール音を順に度数情報によって示される値番目まで数えた結果得られるスケール音の音名とリード音と度数情報の符号により音高を算出し、ハーモニー音の音高として検出する。
【００３３】
さらにＣＰＵ２は、この音高のハーモニー音（の楽音信号）を生成するように音源回路８に依頼する。これにより音源回路８は、リード音データの前記検出したピッチをハーモニー音の上記算出したピッチ（音高）に変換することにより、ハーモニー音（の楽音信号）を生成し、生成したハーモニー音（の楽音信号）を効果回路９に出力する。効果回路９は、入力された楽音信号に適宜効果を付与して、前記信号出力制御回路に出力する。
【００３４】
信号出力制御回路は、入力された２種類の楽音信号をミキシングした後、所定の出力タイミングに従って後段の前記サウンドシステム１０に出力する。
【００３５】
次に、ユーザが歌声の音程を変化させると、上述の決定処理により基準スケール音の音高も変化するので、その結果、（音高の変化した）新たなハーモニー音が生成されて発音される。また、度数情報が変更されると、同様にして、新たなハーモニー音が生成されて発音される。さらに、調性情報が変更されると、「調」および「主音」の確定から始めて、新たな基準スケール音が確定され、これに基づいて新たなハーモニー音が生成されて発音される。
【００３６】
このように本実施の形態では、曲の調性に応じたスケール音をハーモニー音として生成するようにしたので、入力音と調和が取れ、違和感のない安定したハーモニー音を得ることができる。また、ユーザは入力音に合わせて適切なコードを順次入力しなくても、たとえば、演奏前に、あるいは演奏中に曲の任意の区切り位置で、適切な調性情報と度数情報を指定あるいは供給するだけで、音楽的なハーモニー音を容易に得ることができる。
【００３７】
また、調性が短音階の場合、自然短音階と和声的短音階で第７度（VII）の音が異なる（図２参照）が、実際の音楽では、１つの曲の中で短７度と長７度がどちらもスケール音として出てくることも多い。本実施の形態では、どちらの短音階であっても、音階上の短７度と長７度を同一度数のスケール音として扱うようにしたので、最適なハーモニー音を得ることができる。しかもユーザは、入力音を入力するに際して、自然短音階と和声的短音階の違いを何も意識しなくてもよい、つまり、特別な音楽知識を持たなくてもよい。
【００３８】
次に、この制御処理を詳細に説明する。
【００３９】
図３Ａおよび図３Ｂは、本実施の形態の電子音楽装置、特にＣＰＵ２が実行する演奏補助処理の手順を示すフローチャートである。
【００４０】
本演奏補助処理は、主として、
（１）起動時処理（ステップＳ１〜Ｓ１４）
（２）入力音オフ検出時処理（ステップＳ１７〜Ｓ１９）
（３）入力音オン検出時処理（ステップＳ２１〜Ｓ２５）
（４）調性情報変更時処理（ステップＳ２７）
（５）度数情報変更時処理（ステップＳ２９〜Ｓ３３）
（６）演奏補助処理の終了処理（ステップＳ３４）
によって構成されている。
【００４１】
本演奏補助処理は、たとえば前記入力操作部１に含まれる電源スイッチ（図示せず）によって電源がオンされたときに起動される。起動後、前記（１）の起動時処理が１回実行され、これに続いて、前記（２）〜（５）の各処理が適宜実行される。そして（２）〜（５）の各処理は、演奏補助処理の終了が指示されるまで、あるいは電源スイッチによって電源がオフされるまで、適宜繰り返し実行される。なお、演奏補助処理の終了が指示されると、前記（６）の演奏補助処理の終了処理が実行された後、本演奏補助処理は終了する。
【００４２】
本演奏補助処理が起動すると、ＣＰＵ２は、処理を前記（１）の起動時処理に進める。この（１）起動時処理では、まずＣＰＵ２は、初期設定を行う（ステップＳ１）。初期設定では、前記ＲＡＭ４のクリア、調性情報、度数情報、音色および音量などの設定などを行う。ＲＡＭ４には、取得した調性情報より確定した主音を記憶するための領域Ｔｏｎｉｃと、この主音と取得した調性情報に基づいて作成した音階を構成するスケール音の列を記憶するための領域Ｓｃａｌｅと、作成したスケール音の列より確定した導音を記憶するための領域ＬｅａｄｉｎｇＮと、取得した度数情報を記憶するための領域Ｄｅｇｒｅｅと、入力音から検出した音高を記憶するための領域ＬｅａｄＮが設けられるが、上記ＲＡＭ４のクリアでは、これら領域Ｔｏｎｉｃ，Ｓｃａｌｅ，ＬｅａｄｉｎｇＮ，ＤｅｇｒｅｅおよびＬｅａｄＮもクリアされる。調性情報、度数情報、音色および音量などの設定では、各デフォルト値がそれぞれ設定されるようにしてもよいし、前回の演奏補助処理で設定し、保存しておいた各値がそれぞれ設定されるようにしてもよい。
【００４３】
次にＣＰＵ２は、設定されている調性情報を取得し（ステップＳ２）、取得した調性情報より主音を確定する（ステップＳ３）。調性情報は、本実施の形態では前述のように、「主音」を表わす情報と「長調」あるいは「短調」を表わす情報との組で表現されているので、「主音」は、取得した調性情報から簡単に確定することができる。そしてＣＰＵ２は、確定した主音を前記領域Ｔｏｎｉｃに保存しておく。以下、領域Ｔｏｎｉｃに保存されている主音を「主音Ｔｏｎｉｃ」と言う。
【００４４】
次にＣＰＵ２は、取得した調性情報および主音Ｔｏｎｉｃに基づいて、次のようにしてスケール音を作成する。すなわち、
（１ａ）調性が「長調」の場合：主音Ｔｏｎｉｃの長音階を作成し（ステップＳ５→Ｓ６）；
（１ｂ）調性が「短調」＆「和声的短音階」が指定されている場合：主音Ｔｏｎｉｃの和声的短音階を作成し（ステップＳ５→Ｓ７→Ｓ８）；
（１ｃ）調性が「短調」＆「自然短音階」が指定されている場合：主音Ｔｏｎｉｃの自然短音階を作成する（ステップＳ５→Ｓ７→Ｓ９）。
【００４５】
そしてＣＰＵ２は、作成した音階を前記領域Ｓｃａｌｅに保存しておく（ステップＳ１０）。このようにして、主音Ｔｏｎｉｃとして“Ｃ”が保存されている場合には、領域Ｓｃａｌｅには、前記図２（ａ）〜（ｃ）の３表のうち、いずれか１表の「Ｃ主音の場合」の欄に示される７つのスケール音（音名）の列が保存される。以下、領域Ｓｃａｌｅに保存されている音階を「音階Ｓｃａｌｅ」と言う。なお、主音Ｔｏｎｉｃが“Ｃ”でない場合には、調性情報に該当する、図２のいずれかの表の音程関係を参照し、たとえば、「主音」、「主音」に対し長２度上の音、さらに長２度上の音、…と、７つのスケール音を決定することで、音階Ｓｃａｌｅを得ることができる。
【００４６】
次にＣＰＵ２は、音階Ｓｃａｌｅより「導音」を確定する（ステップＳ１１）。図２（ａ）〜（ｃ）に示されるように、いずれの音階でも７度（VII）のスケール音が導音であるので、音階Ｓｃａｌｅが決まれば「導音」は一意的に確定される。そしてＣＰＵ２は、確定した「導音」を前記領域ＬｅａｄｉｎｇＮに保存しておく（ステップＳ１２）。以下、領域ＬｅａｄｉｎｇＮに保存されている導音を「導音ＬｅａｄｉｎｇＮ」と言う。
【００４７】
次にＣＰＵ２は、設定されている度数情報を取得し（ステップＳ１３）、取得した度数情報を前記領域Ｄｅｇｒｅｅに保存しておく（ステップＳ１４）。以下、領域Ｄｅｇｒｅｅに保存されている導音を「度数Ｄｅｇｒｅｅ」と言う。ここまでが（１）の起動時処理である。
【００４８】
次にＣＰＵ２は、ユーザが本演奏補助処理の終了を指示したかどうかをチェックする（ステップＳ１５）。このチェックの結果、本演奏補助処理の終了が指示されたときには、ＣＰＵ２は処理を前記（６）の演奏補助処理の終了処理に進める一方、本演奏補助処理の終了が指示されなかったときには、ＣＰＵ２は処理を図３ＢのステップＳ１６に進める。なお、この（６）演奏補助処理の終了処理の詳細については、後述する。
【００４９】
ステップＳ１６では、ＣＰＵ２は、入力音のオフを検出したかどうかをチェックする。このチェックの結果、入力音のオフを検出すると、ＣＰＵ２は処理を前記（２）の入力音オフ検出時処理に進める一方、入力音のオフを検出しなければ、ＣＰＵ２は処理をステップＳ２０に進める。ここで入力音は、前記リード音データ格納領域に格納されたリード音データ、つまりユーザの歌声（のデジタルデータ）である。そして、「リード音のオフ」は、たとえばリード音データ格納領域内のリード音データのレベルが所定の閾値（歌声が入力されていないと見なされる値）以下のときに、検出したと判定し、それ以外のときに、検出しなかった（歌声が依然として入力されている）と判定すればよい。
【００５０】
（２）入力音オフ検出時処理では、ＣＰＵ２は、リード音を消音する（ステップＳ１７）とともに前記領域ＬｅａｄＮをクリアし（ステップＳ１８）、さらにハーモニー音を消音する（ステップＳ１９）。このリード音およびハーモニー音の消音は、本実施の形態では、音源回路８にその消音を依頼することでなされている。なお、入力音のオフが検出されたときには、リード音データのレベルは非常に低いので、そのリード音をさらに消音する必要があるかの問題はあるが、それでも敢えて消音してもよい。もちろん、何もせずにそのまま放置することも考えられる。
【００５１】
前記ステップＳ２０では、ＣＰＵ２は、入力音のオンを検出したかどうかをチェックし、入力音のオンを検出すると、処理を前記（３）の入力音オン検出時処理に進める一方、入力音のオンを検出しなければ、処理をステップＳ２６に進める。ここで、「入力音のオン」は、リード音データ格納領域内のリード音データのうち、音源回路８が出力しようとしているデータから所定範囲のデータの、たとえば平均レベルが所定の閾値より大きいときに、オンと判定し、それ以外のときに、オンでないと判定すればよい。
【００５２】
（３）入力音オン検出時処理では、まずＣＰＵ２は、入力音の音高（ピッチ）を検出する（ステップＳ２１）。本実施の形態では前述のように、入力音はユーザの歌声であるので、歌声からそのピッチを検出しなければならないが、この種のピッチの検出は、公知の方法を用いてよく行われている。そして本発明の特徴は、歌声からそのピッチを検出する方法にある訳ではないので、ステップＳ２１でのピッチの検出は、公知の方法によって行うようにすればよい。
【００５３】
次にＣＰＵ２は、検出した入力音の音高を領域ＬｅａｄＮに保存しておく（ステップＳ２２）。以下、領域ＬｅａｄＮに保存されている入力音の音高を「リード音ＬｅａｄＮ」と言う。そしてＣＰＵ２は、制御処理の概要で前述したように、入力されたアナログ音声信号をデジタル化して、リード音データとしてＲＡＭ４上のリード音データ格納領域に格納した後、当該リード音データを所定のタイミングで読み出して音源回路８に送信する（ステップＳ２３）。
【００５４】
さらにＣＰＵ２は、ハーモニー音の音高検出処理を実行する（ステップＳ２４）。このハーモニー音の音高検出処理は、制御処理の概要で前述したように、音階Ｓｃａｌｅおよびリード音ＬｅａｄＮ等に基づいて基準スケール音を決定し、決定した基準スケール音、度数Ｄｅｇｒｅｅおよびリード音ＬｅａｄＮに基づいて、ハーモニー音の音高を検出する処理であるが、その詳細な手順については、図４を用いて後述する。そしてＣＰＵ２は、検出したハーモニー音の音高情報を音源回路８に出力する（ステップＳ２５）。これにより音源回路８は、リード音データのピッチを入力された音高情報の音高に変換し、変換後の音高のリード音データ、つまりハーモニー音データを前記効果回路９に出力する。
【００５５】
前記ステップＳ２６では、ＣＰＵ２は、ユーザが調性情報の変更を指示したかどうかをチェックする。このチェックの結果、調性情報の変更が指示されたときには、ＣＰＵ２は処理を前記（４）の調性情報変更時処理に進める一方、調性情報の変更が指示されなかったときには、ＣＰＵ２は処理をステップＳ２８に進める。
【００５６】
（４）調性情報変更時処理では、ＣＰＵ２は、変更の指示によって選択された新しい調性情報を設定するとともに、この調性情報に基づいて、新たな「主音」、「音階」および「導音」を確定あるいは生成し、確定あるいは生成した情報によって、主音Ｔｏｎｉｃ、音階Ｓｃａｌｅおよび導音ＬｅａｄｉｎｇＮを更新する（ステップＳ２７）。具体的には、前記ステップＳ２〜Ｓ１２の処理と同様の処理を実行する。
【００５７】
前記ステップＳ２８では、ＣＰＵ２は、ユーザが度数情報の変更を指示したかどうかをチェックする。このチェックの結果、度数情報の変更が指示されたときには、ＣＰＵ２は処理を前記（５）の度数情報変更時処理に進める一方、度数情報の変更が指示されなかったときには、ＣＰＵ２は処理を前記図３ＡのステップＳ１５に戻す。
【００５８】
（５）度数情報変更時処理では、まずＣＰＵ２は、変更の指示によって選択された新しい度数情報を取得し（ステップＳ２９）、取得した度数情報で度数Ｄｅｇｒｅｅを更新する（ステップＳ３０）。次にＣＰＵ２は、ハーモニー音が出力中であるかどうかをチェックする（ステップＳ３１）。本実施の形態では、ステップＳ２５で前述したように、ハーモニー音の出力は音源回路８に委ねているので、ＣＰＵ２は、ハーモニー音を出力しているかどうかを音源回路８に尋ねることによってチェックしている。もちろん、音源回路８に直接尋ねる方法に限らず、たとえば、音源回路８がハーモニー音を出力するチャンネルあるいはポートが分かれば、そのレベルを監視することで、音源回路８がハーモニー音を出力しているかどうかを間接的にチェックするようにしてもよい。要するに、音源回路８がハーモニー音を出力しているかどうかをチェックできれば、どのような方法を採用してもよい。このチェックの結果、ハーモニー音が出力中であれば、ＣＰＵ２は、前記ステップＳ２４と同様にして、ハーモニー音の音高検出処理を実行し（ステップＳ３２）、前記ステップＳ２５と同様にして、検出したハーモニー音の音高情報を音源回路８に出力する（ステップＳ３３）。これにより音源回路８は、リード音データのピッチを変更された音高情報の音高に変換し、変換後の音高のリード音データ、つまり現在出力中のハーモニー音の音高とは異なる音高のハーモニー音データを効果回路９に出力する。
【００５９】
一方、ハーモニー音が出力中でなければ、ＣＰＵ２は、何もせずに、処理を前記ステップＳ１５に戻す。このとき、本演奏補助処理の終了が指示されなければ、処理はステップＳ１５からステップＳ１６に進み、その後、入力音のオンが再度検出されると、処理はステップＳ２０からステップＳ２１に進み、ステップＳ２４を通るので、変更された度数Ｄｅｇｒｅｅに基づいて新たなハーモニー音の音高が検出され、その音高のハーモニー音が生成されて出力される（ステップＳ２５）。
【００６０】
前記（６）の演奏補助処理の終了処理では、ＣＰＵ２は、現在設定中の調性情報および度数情報などを記憶装置５に記憶させる。これにより、本演奏補助処理が次回起動されたときに、直前の選択状態および設定状態を再現することができる。
【００６１】
図４は、前記ステップＳ２４およびＳ３２のハーモニー音の音高検出処理の詳細な手順を示すフローチャートである。本ハーモニー音の音高検出処理は、主として、
（１１）オクターブ数調整処理（ステップＳ１０４）
（１２）基準スケール音決定処理（ステップＳ１０５〜Ｓ１１０）
（１３）ハーモニー音の音高決定処理（ステップＳ１１１）
によって構成されている。
【００６２】
本ハーモニー音の音高検出処理が起動されると、まずＣＰＵ２は、リード音ＬｅａｄＮが有効であるかどうか、つまり何らかの意味のあるリード音の音高が検出されているかどうかチェックする（ステップＳ１０１）。このチェックの結果、リード音ＬｅａｄＮが有効でなければ、ＣＰＵ２は本ハーモニー音の音高検出処理を終了する一方、リード音ＬｅａｄＮが有効であれば、ＣＰＵ２は処理を次のステップＳ１０２に進める。
【００６３】
ステップＳ１０２では、ＣＰＵ２は、−１≦度数Ｄｅｇｒｅｅ≦＋１であるかどうかチェックする。このチェックの結果、−１≦度数Ｄｅｇｒｅｅ≦＋１であれば、ＣＰＵ２は本ハーモニー音の音高検出処理を終了する一方、度数Ｄｅｇｒｅｅ＜−１あるいは＋１＜度数Ｄｅｇｒｅｅであれば、ＣＰＵ２は処理を次のステップＳ１０３に進める。ここで、度数Ｄｅｇｒｅｅが“±１”であるということは、基準スケール音の音高（後述するように、基準スケール音の音高は、リード音ＬｅａｄＮの音高あるいはその音高に極めて近い音高となる）と同じ音高のハーモニー音を検出することであり、有効なハーモニー音を検出することにならないので、この場合には、ハーモニー音の音高を検出しないようにしている。また度数Ｄｅｇｒｅｅは、実際には“０”を採らないが、本発明は特別な音楽知識を持っていない初心者を対象にしているので、度数Ｄｅｇｒｅｅとして“０”も採り得るようにしている。しかし、度数情報を設定する段階で、“０”を設定できないようにしてもよい。この場合には、ステップＳ１０２のチェックは「度数Ｄｅｇｒｅｅ＝±１？」となる。このように本実施の形態では、度数と数値（つまり、度数Ｄｅｇｒｅｅの値）を一致させるようにしたが、これに限らず、「１度＝０，１オクターブ＝７」という表現を採用してもよい。この場合、ステップＳ１０２のチェックは「度数Ｄｅｇｒｅｅ＝０？」となり、オクターブ数を算出するとき（後述するステップＳ１０４参照）には、度数Ｄｅｇｒｅｅを“７”で除算することになる。
【００６４】
なお、本ハーモニー音の音高検出処理でハーモニー音の音高が検出されないとしても、本ハーモニー音の音高検出処理に続く前記図３ＢのステップＳ２５あるいはＳ３３の処理では、新たなハーモニー音が生成されて出力されるようになっているが、これは図面の作成上そのようになっているに過ぎず、実際には、ステップＳ２４あるいはＳ３２でハーモニー音の音高が検出されなければ、続くステップＳ２５あるいはＳ３３では、新たなハーモニー音は生成されず、当然ながら出力もされない。
【００６５】
前記ステップＳ１０３では、ＣＰＵ２は、度数Ｄｅｇｒｅｅがオクターブ関係であるかどうかをチェックする。「オクターブ関係」とは、±８度や±１６度などのようにあるオクターブ数分上または下が指定されたことを意味する。このチェックの結果、度数Ｄｅｇｒｅｅがオクターブ関係であれば、ＣＰＵ２は処理を前記（１１）のオクターブ数調整処理に進める一方、度数Ｄｅｇｒｅｅがオクターブ関係でなければ、ＣＰＵ２は処理を前記（１２）の基準スケール音決定処理に進める。
【００６６】
（１１）オクターブ数調整処理では、ＣＰＵ２は、度数Ｄｅｇｒｅｅを“８”で除算することにより符号（±）付きのオクターブ数を算出し、リード音ＬｅａｄＮを算出したオクターブ数分調整し、その結果得られる音高をハーモニー音の音高として検出する（ステップＳ１０４）。この（１１）オクターブ数調整処理によれば、たとえば、調性情報として“Ｃｍａｊ”が設定され、度数情報として“＋８”が設定されている状態で、入力音“Ｃ”が入力された場合、ハーモニー音の音高は“Ｃ＋１”（ただし、“＋１”は１オクターブ上を意味する）と検出される。また、同じ設定状態で、入力音“Ｃ＃”が入力された場合、ハーモニー音の音高は“Ｃ＃＋１”と検出される。本発明の技術的思想は、音階Ｓｃａｌｅに含まれるスケール音に相当するハーモニー音を検出して生成することであるので、この技術的思想を忠実に適用すると、入力音“Ｃ”が入力された場合には、音高“Ｃ＋１”のハーモニー音が検出されるものの、入力音“Ｃ＃”が入力された場合には、音高“Ｃ＋１”のハーモニー音が検出されることになる。しかし後者の場合、入力音“Ｃ＃”とハーモニー音“Ｃ＋１”では（入力音もハーモニー音も同時に発音させるので）音が濁ってしまう。そこで、設定されている度数情報の値がオクターブ関係に当たるかどうかを判定し、オクターブ関係に当たる場合には、スケール音よりもオクターブ関係にある音を優先して採用し、これをハーモニー音として検出するようにしている。これにより、音の濁りを防ぐことができる。
【００６７】
（１２）基準スケール音決定処理では、ＣＰＵ２は、制御処理の概要で前述した（ａ１）〜（ａ３）の処理によって基準スケール音を決定する。ちなみに、処理（ａ１）がステップＳ１０７の処理に、処理（ａ２）がステップＳ１０９の処理に、処理（ａ３）がステップＳ１１０の処理に、それぞれ対応する。
【００６８】
次にＣＰＵ２は、処理を前記（１３）のハーモニー音の音高決定処理に進める。この（１３）ハーモニー音の音高決定処理では、ＣＰＵ２は、この基準スケール音を１番目として、前記取得した度数情報の符号が“＋”であれば音高が高くなる方向に、その符号が“−”であれば音高が低くなる方向に、当該音階のスケール音を順に度数情報によって示される値番目まで数えた結果得られるスケール音の音名とリード音と度数情報の符号により音高を算出し、ハーモニー音の音高として検出する（ステップＳ１１１）。
【００６９】
たとえば、調性情報として“Ｃｍａｊ”が設定された場合、音階Ｓｃａｌｅとして、“Ｃ”，“Ｄ”，“Ｅ”，“Ｆ”，“Ｇ”，“Ａ”，“Ｂ”の音名の列（Ｃ主音の長音階）が保存される。この状態で、度数情報として“＋３”が選択され、入力音“Ｃ”が入力されると、リード音ＬｅａｄＮは“Ｃ”となり、“Ｃ”は当該音階、つまりＣ主音の長音階のスケール音であるので、基準スケール音は“Ｃ”と決定される。そして、基準スケール音“Ｃ”から度数Ｄｅｇｒｅｅ＝＋３のスケール音は“Ｅ”であるので、ハーモニー音の音名は“Ｅ”と決定される。一方、同様の設定状態で、入力音“Ｄ”が入力されると、同様の処理により、ハーモニー音の音名は“Ｆ”と決定される。これに対して、本発明の技術的思想を適用しないと、入力音“Ｃ”が入力された場合には、度数Ｄｅｇｒｅｅ＝＋３はリード音ＬｅａｄＮに対して４半音上の音高を検出することであるので、音名“Ｅ”のハーモニー音が検出されて、結果的に、本発明の技術的思想を適用したときと同じ音名のハーモニー音が検出されるが、入力音“Ｄ”が入力された場合には、音名“Ｆ＃”のハーモニー音が検出されて、本発明の技術的思想を適用したときと異なる音名であって、当該音階のスケール音以外のハーモニー音が検出されることになる。このように、本発明の技術的思想を適用しないと、入力音によっては、当該音階のスケール音以外のハーモニー音が検出されることがあり得る。
【００７０】
一方、調性情報として“Ｃｍｉｎ”が設定され、さらに「和声的短音階」が指定された場合、音階Ｓｃａｌｅとして、“Ｃ”，“Ｄ”，“Ｅ♭”，“Ｆ”，“Ｇ”，“Ａ♭”，“Ｂ”の音名の列（Ｃ主音の和声的短音階）が保存される。この状態で、度数情報として“＋３”が選択され、入力音“Ｂ♭”が入力されると、リード音ＬｅａｄＮは“Ｂ♭”となり、“Ｂ♭”は当該音階、つまりＣ主音の和声的短音階の短７度の音であるので、基準スケール音は導音ＬｅａｄｉｎｇＮ、つまり“Ｂ”と決定される。そして、基準スケール音“Ｂ”から度数Ｄｅｇｒｅｅ＝＋３のスケール音は“Ｄ”であるので、ハーモニー音の音名は“Ｄ”と決定される。このような例外処理、つまり前記ステップＳ１０７の処理を適用しない場合、“Ｂ♭”のリード音ＬｅａｄＮはＣ主音の和声的短音階のスケール音ではないので、ステップＳ１１０の処理により、基準スケール音は“Ａ♭”と決定される。その結果、ハーモニー音の音名は“Ｃ”と決定される。したがって、和声的短音階が設定された状態で、“Ａ♭”→“Ｂ♭”→“Ｃ”という自然短音階の音階進行が入力音として与えられると、＋３度のハーモニー音は“Ｃ”→“Ｃ”→“Ｅ♭”となり、最適とはいえない。そこで、入力音“Ｂ♭”を“Ｂ”と同じスケール音として例外的に扱うようにすることで、“Ｂ♭”(“Ｂ”)の２つ上のスケール音は“Ｄ”となり、“Ａ♭”→“Ｂ♭”→“Ｃ”の入力音に対して、＋３度のハーモニー音は“Ｃ”→“Ｄ”→“Ｅ♭”となり、最適な３度の音階進行が生成される。自然短音階が指定された状態で、和声的短音階の進行が与えられる場合も同様に、この方法によって最適なハーモニー音を生成することができる。
【００７１】
上記具体例では、入力音からハーモニー音の音名を検出しているが、（１３）ハーモニー音の音高決定処理では最終的に、検出した音名から発音すべきハーモニー音の音高を決定する。前記ステップＳ１１１の処理中、「得られるスケール音の音名とリード音と度数情報の符号により音高を算出し」が、上記「検出した音名から発音すべきハーモニー音の音高を決定する」処理に相当する。具体的には、度数Ｄｅｇｒｅｅの符号が“＋”のときには、検出した音名を持つ音高の中で、リード音ＬｅａｄＮより高く、リード音ＬｅａｄＮに最も近い音高を算出して、ハーモニー音の音高とする一方、度数Ｄｅｇｒｅｅの符号が“−”のときには、検出した音名を持つ音高の中で、リード音ＬｅａｄＮより低く、リード音ＬｅａｄＮに最も近い音高を算出して、ハーモニー音の音高とする。
【００７２】
なお、本実施の形態では前述のように、「短音階」に「旋律的短音階」を含まないとしたが、「旋律的短音階」も含むようにして、「旋律的短音階」も指定可能に拡張した場合には、「自然短音階」あるいは「和声的短音階」が指定されたときと同様にして、「旋律的短音階」が指定されたときにも、確定した「主音」の「旋律的短音階」を作成して、その後の処理を続け、目的のハーモニー音を生成して発音することができる。
【００７３】
調性情報は、スイッチなどの操作子を用いて入力するようにしてもよいし、予め記憶された調性情報を読み出して用いるようにしてもよい。また、曲の途中で、新たな調性情報が供給されるようにしてもよい。また、予め記憶された曲を読み出し、これに基づいてハーモニー音を生成する場合などで、調情報が記憶されていなければ、その曲データから公知の方法によって自動的に検出した調を調性情報としてもよい。
【００７４】
また本実施の形態では、ハーモニー音およびリード音を同時に発生させる例を挙げて説明したが、これに限らず、伴奏音を自動生成するようにし、この伴奏音と、ハーモニー音およびリード音とを同時に発生させるようにしてもよいし、リード音を発生させずに、伴奏音とハーモニー音を同時に発生させるようにしてもよい。
【００７５】
リード音は、本実施の形態では、ユーザの音声に基づいて生成したが、これに限らず、演奏操作子から入力された演奏情報に基づいて生成するようにしてもよい。ユーザの音声は、本実施の形態では、マイクロフォンによって入力したものを用いたが、これに限らず、事前に記録しておいたものを再生して用いてもよい。演奏情報についても、これと同様に、事前に記録しておいたものを再生して用いてもよい。調性情報が指定されていない場合、これら事前に記録されている音声や演奏情報に基づいて公知の方法により音階を判定し、その判定の結果得られる音階を調性情報として用いるようにしてもよい。また、デフォルトでいずれかの音階に決めておいてもよい。
【００７６】
度数情報は、スイッチなどの操作子を用いて入力するようにしてもよいし、曲に対応して何らかの形で記憶されている度数情報を読み出して用いるようにしてもよい。また、曲の途中で、新たな度数情報が供給されるようにしてもよい。度数情報は、本実施の形態では、数値（整数値）で供給されるようにしたが、これに限らず、たとえば、ユーザに鍵盤を２音同時もしくは１音ずつ押鍵させ、その２音の音程関係（低い方から高い方へ／高い方から低い方へ／１音目から２音目へ）で度数情報を供給するようにしてもよい。
【００７７】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００７８】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７９】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００８０】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００８２】
１…入力操作部（第１の取得手段、第２の取得手段、受付手段），２…ＣＰＵ（第１の取得手段、第２の取得手段、受付手段、抽出手段、第１の決定手段、第２の決定手段、第３の決定手段、生成手段、判定手段、第４の決定手段），８…音源回路（生成手段）
【図１】
2011242435.tif 000003
【図２】
2011242435.tif 000004
【図３Ａ】
2011242435.tif 000005
【図３Ｂ】
2011242435.tif 000006
【図４】
2011242435.tif 000007