(57)【要約】【課題】音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力できるようにする。【解決手段】ＣＰＵ１０は、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとをディスプレイ１８において表示させる。ＣＰＵ１０は、ユーザ操作により入力されたドラッグアンドドロップの指示に応じて、発音キャラクタとコードキャラクタとが組み合わされると、発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成してスピーカ２１から発音させる。【選択図】図１
2011227307.tif 000002
【特許請求の範囲】
【請求項１】
音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、
出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、
ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、
前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、
前記音生成手段により生成された音を発音させる発音手段と
を具備したことを特徴とする音出力装置。
【請求項２】
ユーザ操作により入力された指示に応じて、複数の前記発音キャラクタをグループ化するグループ化手段をさらに具備し、
前記音生成手段は、前記グループ化手段によってグループ化された前記複数の発音キャラクタと前記コードキャラクタとが組み合わされた場合、前記複数の発音キャラクタのそれぞれに対して決められた最大同時発音数の合計に応じた発音フレーズによる音を生成することを特徴とする請求項１記載の音出力装置。
【請求項３】
前記音生成手段は、前記最大同時発音数の合計が前記コードキャラクタに対応するコードの和音構成音数以上でない場合に、前記グループ化手段によりグループ化された前記発音キャラクタの数に応じた分散パターンによる音を生成することを特徴とする請求項２記載の音声出力装置。
【請求項４】
前記音手段は、前記発音手段により発音されている間に、グループ化された前記複数の発音キャラクタの組合せを変更する指示がユーザ操作により入力された場合に、変更後の各グループの発音キャラクタにそれぞれ対応する音を生成することをと特徴とする請求項２または請求項３記載の音声出力装置。
【請求項５】
前記発音キャラクタ表示手段は、複数の前記発音キャラクタを同時に表示し、
前記コードキャラクタ表示手段は、予め決められた順番で複数の前記コードキャラクタを表示し、
前記音生成手段は、前記コードキャラクタ表示手段により表示される前記コードキャラクタの順番に応じて、前記コードキャラクタのそれぞれと前記発音キャラクタとの組合せに応じた音を生成することを特徴とする請求項１記載の音声出力装置。
【請求項６】
コンピュータを、
音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、
出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、
ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、
前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、
前記音生成手段により生成された音を発音させる発音手段として機能させるための音出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイにキャラクタを表示し、キャラクタに対するユーザ操作に応じた音を出力する音出力装置、音出力プログラムに関する。
【背景技術】
【０００２】
ゲーム装置には、ユーザ操作に応じて所定の音を出力させることを目的としたゲームを行うものがある。  
例えば、特許文献１に記載された音楽ゲーム装置では、曲の演奏進行に従って、１又は複数の音符もしくは音楽記号に対応する表示物を伴ったキャラクタがディスプレイに表示される。プレーヤーは、例えばディスプレイに表示されたキャラクタが示す音符に対応する音高を、楽器型等のコントローラによって入力する。音楽ゲーム装置は、プレイヤーの演奏操作に応じて発生される演奏情報（音高）と、キャラクタに付属する音符もしくは音楽記号との関連性を判定し、判定結果に応じてゲームイベントを制御する。こうすることにより、プレイヤーはキャラクタに付属する音符もしくは音楽記号をゲーム形式で楽しく学習することができるようになる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２４６１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように従来では、キャラクタに付属する音符もしくは音楽記号を表示し、このキャラクタに合わせて楽器型等のコントローラをプレーヤーに操作させることにより、娯楽性の高いゲーム形式で音楽知識や楽器演奏技術の習得ができるようにしている。
【０００５】
しかしながら、従来の音楽ゲーム装置では、音楽知識や楽器演奏技術の習得を目的としているために、全く音楽知識や楽器演奏技術がない人にとっては楽しむことができないものとなっていた。また、実際の楽器を操作しているように、自由にフレーズや音色をアレンジして音を出力させて楽しむものではなかった。
【０００６】
本発明は前述した事情に考慮してなされたもので、その目的は、音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力させることが可能な音出力装置、音出力プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明は、音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、前記音生成手段により生成された音を発音させる発音手段とを具備したことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における音出力装置が実現されるゲーム装置の構成を示すブロック図。
【図２】発音キャラクタの一例を示す図。
【図３】複数の発音キャラクタのそれぞれ対するデータを含む発音キャラクタ設定テーブルの一例を示す図。
【図４】コードキャラクタの一例を示す図。
【図５】複数のコードキャラクタのそれぞれに対するデータを含むコードキャラクタ設定テーブルの一例を示す図。
【図６】コードＩＤ「０ｘ００００」（コードＣ）の各データから生成される分散パターンによる音を楽譜によって示す図。
【図７】発音キャラクタの組合せの一例を示す図。
【図８】発音キャラクタとコードキャラクタとの組合せの一例を示す図。
【図９】グループ化された発音キャラクタとコードキャラクタとの組み合わせの一例を示す図。
【図１０】グループ化された発音キャラクタの数と種類に応じた発音フレーズの違いの一例を示す図。
【図１１】発音キャラクタのグループ切り替えに応じた発音フレーズの変化の一例を示す図。
【図１２】画面に表示されている発音キャラクタを管理するためのグループ構造体データの一例を示す図。
【図１３】画面に表示されているコードキャラクタを管理するためのコードキャラクタ構造体データの一例を示す図。
【図１４】音出力プログラムに基づいて実行される音出力処理を示すフローチャート。
【図１５】音出力処理中のコードキャラクタのドロップからフレーズ音の発音終了までの発音処理を示すフローチャート。
【図１６】音声出力装置をゲーム装置として実現した場合のゲーム画面の一例を示す図。
【図１７】音声出力装置におけるディスプレイの表示例を示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について説明する。  
図１は、本実施形態における音出力装置が実現されるゲーム装置の構成を示すブロック図である。本実施形態におけるゲーム装置は、例えば携帯型に構成されているゲーム専用機とし、図１に示すように、ＣＰＵ１０には、バスを介して、ＲＡＭ１１、ＧＰＵ１２，１３、表示コントローラ１６、ディスプレイ１７，１８、インタフェースユニット１９、コネクタ２３、及び通信ユニット２６が接続される。
【００１１】
ＣＰＵ１０は、ゲーム装置全体の制御を司るもので、ＲＡＭ１１に記憶されたプログラムに応じた各種処理を実行する。ＣＰＵ１０は、本実施形態における音出力プログラムに基づいて音出力処理を実行することにより、ゲーム装置を音出力装置として動作させる。音出力処理では、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとを表示し、この表示された発音キャラクタとコードキャラクタとを組み合わせる操作がユーザにより行われることにより、発音キャラクタとコードキャラクタとの組合せに応じた音、すなわち発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成して出力する。
【００１２】
ＲＡＭ１１は、ＣＰＵ１０により実行されるプログラムやデータなどを一時的に記憶する。音出力処理中においては、ユーザ操作によって指示されたキャラクタの組合せ（グループ）を示すデータの他、発音キャラクタを管理するための発音キャラクタ設定テーブル、コードキャラクタを管理するためのコードキャラクタテーブル、画面に表示されている発音キャラクタを管理するためのグループ構造体データ、画面に表示されたコードキャラクタを管理するためのコードキャラクタ構造体データなどが記録される。発音キャラクタ設定テーブル、コードキャラクタ設定テーブル、グループ構造体データ、コードキャラクタ構造体データの詳細については後述する。
【００１３】
ＧＰＵ１２，１３は、ＣＰＵ１０からの指示に応じて、ＲＡＭ１１に記憶されている表示画像を生成するためのデータに基づいて表示画像データを生成するもので、ＧＰＵ１２には、ＶＲＡＭ１４が接続され、ＧＰＵ１３には、ＶＲＡＭ１５が接続されている。ＧＰＵ１２は、ディスプレイ１７において表示するための表示画像データを生成してＶＲＡＭ１４に描画する。ＧＰＵ１３は、同様にディスプレイ１８において表示するための表示画像データを生成してＶＲＡＭ１５に描画する。
【００１４】
ディスプレイ１７，１８は、表示コントローラ１６の制御のもとで画像を表示する。ディスプレイ１７，１８は、例えばヒンジ機構によって開閉可能に結合された２つの筐体のそれぞれに設けられる。一方のディスプレイ１８は、後述するタッチパネル２０と積層一体型に形成されている。発音キャラクタやコードキャラクタは、例えばディスプレイ１８において表示されるのとする。
【００１５】
表示コントローラ１６は、ディスプレイ１７，１８における画面表示を制御するもので、ＶＲＡＭ１４に記憶された画像データをもとにディスプレイ１７において画像を表示させ、ＶＲＡＭ１５に記憶された画像データをもとにディスプレイ１８において画像を表示させる。
【００１６】
インタフェースユニット１９は、各種デバイスを接続するためのもので、例えばタッチパネル２０、スピーカ２１、ボタン群２２が接続される。タッチパネル２０は、ペン２０ａを用いたパネル面に対する位置指示（座標データ）を入力する。
【００１７】
スピーカ２１は、ＣＰＵ１０の制御のもとで操作音や各種アプリケーションに応じた各種音（メッセージ音声、音楽、効果音等）を出力させる。  
ボタン群２２は、ユーザからの指示を入力するためのもので、例えば十字ボタン、スタートボタン、セレクトボタン、Ａボタン、Ｂボタン、Ｘボタン、Ｙボタン、電源ボタン、Ｌボタン、及びＲボタンを含んでいる。
【００１８】
コネクタ２３は、外部デバイスを着脱自在に接続するためのもので、例えばメモリデバイス２４を接続することができる。  
メモリデバイス２４は、例えば音出力プログラムを記憶するＲＯＭと、バックアップデータを書き換え可能に記憶するＲＡＭが搭載されている。メモリデバイス２４のＲＡＭには、プログラムの他にも、適宜、ＣＰＵ１０がプログラムを実行する際に参照されるデータ等（発音キャラクタ設定テーブル、コードキャラクタ設定テーブル、グループ構造体データ、コードキャラクタ構造体データ等）が記憶される。
【００１９】
画像入力装置２５は、画像を撮影して画像データを入力するためのもので、例えば静止画像の画像データを入力するカメラ装置である。
【００２０】
通信ユニット２６は、他のゲーム装置やネットワークを介して接続された他の機器との間の通信を制御する。
【００２１】
次に、本実施形態における音出力装置の動作について説明する。  
本実施形態における音出力装置では、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとを表示し、この表示された発音キャラクタとコードキャラクタとを組み合わせる操作、例えばキャラクタの表示位置を重ね合わせるようなドラッグアンドドロップによる操作が行われることにより、発音キャラクタとコードキャラクタとの組合せに応じた音、すなわち発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成して出力することができる。発音キャラクタは、複数の種類が存在し、それぞれに対して音色と最大同時発音数が設定されている。また、コードキャラクタは、複数の種類が存在し、それぞれに対して、和音構成音数、最大同時発音数、分散パターン（アルペジオによる発音パターン）等が設定されている。
【００２２】
以下、発音キャラクタとコードキャラクタの詳細について説明する。  
図２は、発音キャラクタの一例を示す図である。  
図２（ａ）に示す発音キャラクタ名「歌手」に対しては、音色として人の音声が設定されている。また、アイドリング時（音声を出力していない通常表示時）の表示形態と、発音時の表示形態がそれぞれ設定されている。
【００２３】
また、図２（ｂ）に示す発音キャラクタ名「楽器奏者」は、音色として特定の楽器による楽器音が設定されている。例えば、発音キャラクタ名「楽器奏者（ピアニカ）」は、音色としてピアニカの音声が設定されている。ピアニカは、同時に複数音を発音させることができるため、最大同時発音数が例えば「１０」に設定されている。また、発音キャラクタ名「楽器奏者（トランペット）」は、音色としてトランペットの音声が設定されている。楽器のトランペットは、ピアニカとは異なり同時に１音しか発音させることができないため、最大同時発音数が「１」に設定されている。
【００２４】
また、図２（ｃ）に示す発音キャラクタ名「動物（犬）」は、音色として犬の鳴き声が設定されている。なお、例えば発音キャラクタ名「動物（犬）」であっても、音色が鳴き声に限定されるものではなく楽器（例えば「木琴」）の音色を設定することもできる。この場合、発音キャラクタ名「動物（犬（木琴））」とする。
【００２５】
図３は、複数の発音キャラクタのそれぞれ対するデータを含む発音キャラクタ設定テーブルの一例を示している。  
図３に示すように、各発音キャラクタには、キャラクタＩＤが設定されている。発音キャラクタ設定テーブルでは、キャラクタＩＤと対応付けて、発音キャラクタ名、発音キャラクタを表示するための画像データ（アイドリング時、発音時）、発音時に出力する音の音声データ、最大同時発音数を示すデータとが設定されている。発音キャラクタ設定テーブルに設定された各データには、キャラクタＩＤを使ってアクセスすることができる。
【００２６】
例えば、図３においては、キャラクタＩＤ「０ｘ００００」と対応付けて、発音キャラクタ名「動物（犬（鳴き声））」、画像データ「ｐｉｃ＿００．ｄａｔ」、音声データ「ｓｏｕｎｄ＿００．ｄａｔ」、最大同時発音数「１」が設定されている。なお、発音キャラクタがグループ化された場合には、キャラクタＩＤがグループ構造体データにおいて管理される（図１２（ｂ）（ｃ）参照）。
【００２７】
次に、コードキャラクタについて説明する。図４は、コードキャラクタの一例を示す図である。  
例えば、図４に示す各コードキャラクタネームに対しては、出力する音としてコード（和音）が設定されている。図４（ａ）に示すコードキャラクタネーム「Ｃ」には、音符にコード「Ｃ」が付加されたコードキャラクタの表示形態が設定されている。同様にして、例えば図４（ｂ）（ｃ）に示す他のコードキャラクタのそれぞれに対して、コードとコードキャラクタの表示形態が設定されている（コードキャラクタネーム「Ｄｍ７」「Ｇ」の例を示す）。図４では八分音符を表すコードキャラクタのみを示しているが、二分音符や四分音符など、他の表示形態によるコードキャラクタについても設定されているものとする。
【００２８】
図５は、複数のコードキャラクタのそれぞれに対するデータを含むコードキャラクタ設定テーブルの一例を示している。  
図５に示すように、各コードには、コードＩＤが設定されている。コードキャラクタ設定テーブルでは、コードＩＤと対応付けて、和音構成音数、最大同時発音数、単位、ルート、構成音、分散パターンの各データが設定されている。コードキャラクタ設定テーブルに設定された各データには、コードＩＤを使ってアクセスすることができる。
【００２９】
「和音構成音数」は、コードを構成する音数を示す。「最大同時発音数」は、分散パターンの中で複数の音が同時に発音する場合（図５中の分散パターンの縦軸に「０」以外が重なる場合）、その中で最大の数を示す。「単位」は、分散パターンの「１」の値が示す音の長さを示す。例えば、二分音符＝２５６、四分音符＝１２８、八分音符＝６４、のように値が大きい程発音時間が長くなる。「ルート」は、コードの根音を示す。「構成音」は、コードを構成する音をルートからのオフセット（半音を１とする）で表す。図５に示す「構成音」の「０」はルートを示し、マイナス値は、ルートよりも低い構成音であることを示す。「分散パターン」は、「単位」で表した長さを１として発音するタイミングを表す。
【００３０】
例えば、コードＩＤ「０ｘ００００」（コードＣ）の各データをもとにして、次のようにして、コードキャラクタに対応するコードの音を生成することができる。
【００３１】
まず、構成音を楽譜上の音階に変換する。構成音「０」は、ルートの音が「Ｃ４」なので「Ｃ４」となる。構成音「４」は、ルート音が「Ｃ４」から半音で４つ分高い音（Ｃ４→Ｃ４シャープ→Ｄ４→Ｄ４シャープ→Ｅ４）なので「Ｅ４」となる。構成音「７」は、ルート音が「Ｃ４」から半音で７つ分高い音（Ｃ４→Ｃ４シャープ→Ｄ４→Ｄ４シャープ→Ｅ４→Ｆ４→Ｆ４シャープ→Ｇ４）なので「Ｇ４」となる。
【００３２】
次に、分散パターンの音に変換する。図６は、コードＩＤ「０ｘ００００」（コードＣ）の各データから生成される分散パターンによる音を楽譜によって示している。図６では、単位が１２８（四分音符）で、分散パターンで示されたタイミングに合わせた音が生成されることを示している。
【００３３】
次に、キャラクタの組合せについて説明する。  
図７は、発音キャラクタの組合せの一例を示している。本実施形態における音声出力装置では、図７（ａ）に示すように、ディスプレイに表示された発音キャラクタを、例えばペン２０ａなどのポインティングデバイスの操作によって、任意の位置にドラッグさせることができる。
【００３４】
図７（ｂ）に示すように、別の発音キャラクタが表示されている位置に発音キャラクタをドロップ（移動先位置の確定）すると、図７（ｃ）に示すように、発音キャラクタがグループ化される。すなわち、グループ化されたことを表すように、２つの発音キャラクタが隣接して表示される。また、グループ化された発音キャラクタの数に応じたグループ構造体データが生成されて記録される（詳細については図１２に示す）。
【００３５】
さらに、図７（ｄ）に示すように、グループ化された発音キャラクタに対して、さらに別の発音キャラクタをドラッグアンドドロップすることで、３つ以上の発音キャラクタからなるグループを作成することができる。
【００３６】
図８は、発音キャラクタとコードキャラクタとの組合せの一例を示している。本実施形態における音声出力装置では、発音キャラクタにコードキャラクタをドラッグアンドドロップすることにより、発音キャラクタとコードキャラクタとの組合せに応じて生成されたフレーズ（音）が再生される。
【００３７】
図８（ａ）に示すように、コードキャラクタは、前述した発音キャラクタと同様にして、例えばペン２０ａなどのポインティングデバイスの操作によって、任意の位置にドラッグさせることができる。
【００３８】
図８（ｂ）に示すように、発音キャラクタが表示された位置にコードキャラクタをドロップするとフレーズが再生される。この時、図８（ｃ）に示すように、発音キャラクタがアイドリング時の表示形態から発音時の表示形態に変更される。
【００３９】
図９は、グループ化された発音キャラクタとコードキャラクタとの組み合わせの一例を示している。図９（ａ）に示すように、コードキャラクタをドラッグし、図９（ｂ）に示すように、グループ化された発音キャラクタにドロップすると、グループ化された発音キャラクタの数とコードキャラクタとの組合せに応じたフレーズが生成されて出力される。この時、グループ化された複数の発音キャラクタが発音時の表示形態に変更される。図９に示すように、発音キャラクタがグループ化されていることで、例えば最大同時発音数が増加するために発音フレーズが変化する場合がある。
【００４０】
図１０は、グループ化された発音キャラクタの数と種類に応じた発音フレーズの違いの一例を示している。ここでは、コードキャラクタネーム「Ｃ」のコードキャラクタが発音キャラクタにドラッグアンドドロップされた場合を例にして説明する。  
図１０（ａ）に示すように、１つの発音キャラクタにコードキャラクタが組み合わされた場合、１人の声ではコードＣの和音構成音数「３」による３重和音が発音できないため、１人用のアルペジオ（分散パターン）により発音するように発音フレーズを生成する。
【００４１】
図１０（ｂ）に示すように、２つの発音キャラクタがグループ化されている場合、２人の声でも３重和音が発音できないため、２人用のアルペジオ（分散パターン）により発音するように発音フレーズを生成する。
【００４２】
図１０（ｃ）に示すように、３つの発音キャラクタがグループ化されている場合、３人の声であれば３重和音が発音できるため、３重和音により発音するように発音フレーズを生成する。
【００４３】
また、図１０（ｄ）に示すように、例えば「楽器奏者（ピアニカ）」の発音キャラクタの場合には、図３に示すように、最大同時発音数が「１０」であり、コードＣの和音構成音数「３」による３重和音が発音できるため、３重和音により発音するように発音フレーズを生成する。
【００４４】
また、「楽器奏者」の発音キャラクタであっても、図１０（ｅ）に示すように、例えば「楽器奏者（トランペット）」の発音キャラクタの場合には、図３に示すように、最大同時発音数が「１」であり、コードＣの和音構成音数「３」による３重和音が発音できないため、楽器の種類に応じたアルペジオ（分散パターン）により発音するように発音フレーズを生成する。なお、「楽器奏者」の発音キャラクタの場合も、図１０（ｂ）に示すように、グループ化された人数に応じたアルペジオ（分散パターン）が用意されているものとする。
【００４５】
このように、発音キャラクタの最大同時発音数とコードキャラクタの和音構成音数（また最大同時発音数）との組合せに応じて、発音フレーズを和音としたり、グループ化された発音キャラクタの数に応じたアルペジオ（分散パターン）により発音させることができる。従って、発音キャラクタをグループ化する簡単な操作によって、様々な発音フレーズにより発音させることができ、好みにあったアレンジを探し出すことができる。
【００４６】
図１１は、発音キャラクタのグループ切り替えに応じた発音フレーズの変化の一例を示している。  
本実施形態における音声出力装置では、フレーズ発音中であっても、発音キャラクタのグループ化やグループ解除を行うことが可能とする。そして、グループ化／グループ解除によってグループ化された発音キャラクタの数が変更された場合に、その変更されたタイミングに合わせてリアルタイムで発音フレーズを変化させる。
【００４７】
例えば、図１１（ａ）に示すように、３つの発音キャラクタがグループ化されているため３重和音で発音していた時に、１人分の発音キャラクタがドラッグ操作によってグループ解除されると、グループ化された２人分の発音キャラクタの最大同時発音数の合計では３重和音を発音するためには不足となる（ここでは、図１０と同様にコードＣのフレーズを発音する例）。このため、グループ化された２人分の発音キャラクタ（分離された側）については２人用のアルペジオによる発音に移行する。また、グループから分離された発音キャラクタ（分離された側）については、１人分の発音キャラクタの同時発音数では３重和音を発音するためには不足となるため１人用のアルペジオによる発音に移行する。
【００４８】
また、例えば図１１（ｂ）に示すように、２つの発音キャラクタがグループ化されているため２人用のアルペジオによる発音していた時に、１人分の発音キャラクタがドラッグ操作によってグループに追加されると、３人分の発音キャラクタの最大同時発音数の合計であれば３重和音を発音することができるため３重和音による発音に移行する。
【００４９】
なお、図１１に示す例では、同じ種類の発音キャラクタをグループ化／グループ解除する例を示しているが、グループには異なる種類の発音キャラクタが混在していても良い。この場合、グループに含まれる各発音キャラクタに設定された最大同時発音数に応じて、前述と同様にして発音フレーズを変更すると共に、発音キャラクタに応じた音色の変更が行われる。
【００５０】
このように、発音キャラクタに対するグループ化／グループ解除するための操作に応じて、リアルタイムで発音フレーズを変化させることができるため、簡単にフレーズや音色を変化させて、様々な発音フレーズ（及び音色）の音をアレンジして楽しむことができる。
【００５１】
図１２は、画面に表示されている発音キャラクタを管理するためのグループ構造体データの一例を示す図である。  
ＣＰＵ１０は、音出力プログラムに基づく音出力処理によって、例えば１つ以上の発音キャラクタをディスプレイにおいて表示させる。ＣＰＵ１０は、ディスプレイに発音キャラクタを表示（配置）させると、各発音キャラクタに対するグループ構造体データを生成して管理する。
【００５２】
グループ構造体データは、図１２（ａ）（ｂ）（ｃ）に示すように、グループ化された発音キャラクタのメンバ数が格納される「メンバ数」、メンバを構成する発音キャラクタの「キャラクタＩＤ」が格納される「キャラクタＩＤリスト」、発音キャラクタの表示位置やヒット範囲（ドロップされた他のキャラクタとの組合せ可能と判別する範囲）の情報等が納めてある構造体へのアドレスが格納される「その他の情報構造体」を含んでいる。
【００５３】
図１２（ａ）は、１人グループ（グループ化されていない）の発音キャラクタに対して生成されるグループ構造体データの一例を示す図である。「キャラクタＩＤリスト」には、１つの発音キャラクタを示す「キャラクタＩＤ」が格納されている。図１２（ｂ）は、２人グループの発音キャラクタに対して生成されるグループ構造体データ、図１２（ｃ）は、３人グループの発音キャラクタに対して生成されるグループ構造体データの一例をそれぞれ示している。
【００５４】
ＣＰＵ１０は、ドラックアンドドロップ操作により発音キャラクタのグループ化やグループ分離が行われた場合は、その都度、グループ構造体データを再構成する。
【００５５】
図１３は、画面に表示されているコードキャラクタを管理するためのコードキャラクタ構造体データの一例を示す図である。  
ＣＰＵ１０は、発音キャラクタと同様に、音出力プログラムに基づく音出力処理によって、例えば複数のコードキャラクタをディスプレイにおいて表示させる。ＣＰＵ１０は、ディスプレイにコードキャラクタを表示（配置）させると、各コードキャラクタに対するコードキャラクタ構造体データを生成して管理する。
【００５６】
コードキャラクタについては、音声出力装置の利用形態に応じて、表示タイミングが制御される。例えば、音声出力装置をゲーム装置として実現する場合には、例えば特定の楽曲に対応するコードの並びに応じて、複数のコードキャラクタを順番にディスプレイに表示させることができる。また、単純にユーザ操作に合わせて音を発音させる音声出力装置として実現する場合には、発音キャラクタと共に、複数のコードキャラクタをランダムに表示させることができる。
【００５７】
コードキャラクタ構造体データは、図１３に示すように、コードキャラクタが持つコード情報を示す「コードＩＤ」、コードキャラクタの表示位置やヒット範囲（ドロップされた他のキャラクタとの組合せ可能と判別する範囲）の情報等が納めてある構造体へのアドレスが格納される「その他の情報構造体」を含んでいる。
【００５８】
次に、本実施形態における音声出力装置の動作について、フローチャートを参照しながら説明する。  
図１４は、音出力プログラムに基づいて実行される音出力処理を示すフローチャート、図１５は、音出力処理中のコードキャラクタのドロップからフレーズ音の発音終了までの発音処理を示すフローチャートである。
【００５９】
ここでは、音声出力装置をゲーム装置として実現する場合を例にして説明する。ゲーム装置は、例えば特定の楽曲に対応するコードの並びに応じて、複数のコードキャラクタを順番にディスプレイに表示させ、このコードキャラクタを適当なタイミングで発音キャラクタに対してドラッグアンドドロップすることで、楽曲を再生出力することができるようにするものである。コードキャラクタをドラッグアンドドロップさせる発音キャラクタを任意に選択することで様々なアレンジが可能となる。音出力プログラムには、楽曲毎のコードキャラクタ列を示す楽曲データが含まれており、この楽曲データに応じてコードキャラクタの表示が行われる。
【００６０】
図１６には、ゲーム画面の一例を示している。  
図１６に示すゲーム画面の下部には、楽曲に対応するコードの並びに応じた複数のコードキャラクタ４０を表示するための「コード枠」が設けられている。図１６に示す例では、「コード枠」内に、現在再生中となっているコードキャラクタを含めた４小節分のコードキャラクタが表示されている。「コード枠」内のコードキャラクタは、カーソル４９を用いてドラッグして、「コード枠」外に表示されたアイドリング状態の発音キャラクタ４３，４４，４５にドロップすることができる。
【００６１】
「コード枠」の左端には現在再生中の「コードキャラクタ」が表示され、再生が終わると左に１小節分ずつずれて画面から消え、同時に右端から新たな「コードキャラクタ」が出現する。すなわち、複数のコードキャラクタ４０は、楽曲の再生進行に合わせて、右から左方向に順番に移動していき、新たなコードキャラクタが追加されていく。
【００６２】
「コード枠」の左脇には、拍子４１（図１６に示す例では四分の四拍子を表す４／４）が表示され、現在再生中の「コードキャラクタ」の上部に、再生位置カーソル４２が表示されている。図１６中では、四分の四拍子で３拍目を再生する直前に再生位置カーソル４２がある。これは、発音キャラクタ４５に現在再生中の発音キャラクタ４７がドラッグアンドドロップされることにより発音されている再生位置を表している。
【００６３】
なお、「コード枠」に表示されている複数のコードキャラクタ４０は、再生順に関係なく発音キャラクタにドラッグアンドドロップすることができる。ただし、再生順序は入れ替わらない。例えば図１６のコードＤｍ７のコードキャラクタを先にドラッグアンドドロップしてから、先頭のコードＣのコードキャラクタをドラッグアンドドロップすることも可能であるが、再生出力はコードＣ、コードＤｍ７、コードＧ、コードＣのコードキャラクタの順番で実行される。
【００６４】
音声出力処理が開始されると、ＣＰＵ１０は、複数の発音キャラクタをディスプレイに表示させる。ここでは、ランダムに不特定の発音キャラクタを表示するようにしても良いし、再生対象とする楽曲に合わせた特定の発音キャラクタを含む複数の発音キャラクタを表示させるようにしても良い。表示される発音キャラクタの数や種類は固定されている必要はなく、時間の経過と共に変化させることができる。
【００６５】
ユーザは、ディスプレイに表示された発音キャラクタ同士をドラッグアンドドロップすることにより、任意にグループ化することができる。従って、ユーザは、「コード枠」に表示されるコードキャラクタを発音キャラクタに対してドラッグアンドドロップする前に、発音させるフレーズや音色、楽器の種類などを想定して、適当な発音キャラクタを選択してグループ化させておくことができる。
【００６６】
ＣＰＵ１０は、ディスプレイに表示させた各発音キャラクタ（グループ化された発音キャラクタを含む）をグループ構造体データによって管理する。
【００６７】
また、ＣＰＵ１０は、音声出力処理が開始されると、再生出力の対象とする楽曲についての楽曲データをもとに、「コード枠」に楽曲に応じた複数のコードキャラクタ４０を表示させる（ステップＡ１）。
【００６８】
ＣＰＵ１０は、「コード枠」に表示されたコードキャラクタが発音キャラクタに対してドラッグアンドドロップされたことを検出すると（ステップＡ２、Ｙｅｓ）、ドロップされたコードキャラクタが再生対象とする先頭のコードキャラクタでなければ（ステップＡ３、Ｎｏ）、このコードキャラクタとドロップ先の発音キャラクタに対応するグループ構造体データを一時記録しておく（ステップＡ４）。
【００６９】
一方、ＣＰＵ１０は、ドロップされたコードキャラクタが再生対象とする先頭のコードキャラクタであった場合には（ステップＡ３、Ｙｅｓ）、コードキャラクタと発音キャラクタとの組合せに応じて発音するための発音処理を実行する（ステップＡ５）。なお、発音処理の詳細については後述する。
【００７０】
ＣＰＵ１０は、発音処理によって１つの発音キャラクタ（１グループの発音キャラクタ）に対応するフレーズの発音が完了すると、「コード枠」内の再生が完了したコードキャラクタを消去して、次のコードキャラクタを追加表示させる（ステップＡ６）。
【００７１】
ここで、次に再生対象とするコードキャラクタが既にドラッグアンドドロップ済みであるかを判別する（ステップＡ７）。ドラッグアンドドロップ済みである場合には（ステップＡ８、Ｙｅｓ）、ドラッグアンドドロップ時に一時的に記録しているコードキャラクタとドロップ先の発音キャラクタに対応するグループ構造体データとを用いて発音処理を実行する（ステップＡ５）。
【００７２】
なお、ドラッグアンドドロップ済みでない場合には（ステップＡ８、Ｎｏ）、ＣＰＵ１０は、再生対象としている楽曲について全てのコードキャラクタについて再生出力が完了していなければ（ステップＡ９、Ｎｏ）、ユーザ操作により次のコードキャラクタに対するドラッグアンドドロップの操作待ちとなる（ステップＡ２）。
【００７３】
以下同様にして、「コード枠」に表示されたコードキャラクタが発音キャラクタに対してドラッグアンドドロップされる操作に応じて、コードキャラクタと発音キャラクタ（グループ）との組合せに応じた発音処理を実行する。
【００７４】
ディスプレイでは、図１６に示すように、発音対象となっている発音キャラクタ４５は、発音状態を表す形態により表示されると共に、再生の時間経過に合わせて再生位置カーソル４２の表示位置が更新される。また、他の発音キャラクタに対しても任意にコードキャラクタをドラッグアンドドロップさせることができ、再生が開始されるまでは発音キャラクタ４４のようにアイドリング時の形態によって表示されている。
【００７５】
次に、前述した音出力処理における発音処理について説明する。  
ＣＰＵ１０は、発音キャラクタにドロップされたコードキャラクタの「コードＩＤ」を使って、コードキャラクタ設定テーブルから該当するコードキャラクタ設定を取り出す（ステップＢ１）。
【００７６】
また、ＣＰＵ１０は、コードキャラクタがドロップされた発音キャラクタのグループ（１人グループを含む）に対応するグループ構造体データに設定されたキャラクタＩＤリストを使って、発音キャラクタ設定テーブルからグループを構成する発音キャラクタ設定を取り出す（ステップＢ２）。
【００７７】
ＣＰＵ１０は、グループを構成する各発音キャラクタの「最大同時発音数」の合計を算出し、この合計が「コードキャラクタ設定」の「最大同時発音数」以上かどうかを判別する（ステップＢ３）。すなわち、コードキャラクタが示すコードを発音可能であるかを判別する。
【００７８】
例えば、最大同時発音数が２のコードキャラクタであり（コードＩＤ「０ｘ０４ｆ８」（コードＢｍ６）など）、発音キャラクタがグループ化されていないために最大同時発音数が１である場合には、コードを表現する発音ができない。こうして場合には、発音せずに発音処理を終了する（ステップＢ４、Ｎｏ）。なお、何も発音しないのではなく、本来のコードを発音できないことを通知する特別な音（ビープ音など）を再生出力するようにしても良い。
【００７９】
各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「最大同時発音数」以上であった場合（ステップＢ４、Ｙｅｓ）、ＣＰＵ１０は、グループを構成する各発音キャラクタの「最大同時発音数」の合計が、「コードキャラクタ設定」の「和音構成音数」以上かどうかを判別する（ステップＢ５）。すなわち、コードを和音によって発音可能であるか、アルペジオ（分散パターン）によって発音する必要があるかを判別する。
【００８０】
各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「和音構成音数」以上である場合には（ステップＢ６、Ｙｅｓ）、ＣＰＵ１０は、和音を構成する音を全て同時発音するように、発音キャラクタに対応する音声データをもとにして生成された音をスピーカ２１から出力させる（ステップＢ７）。
【００８１】
一方、各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「和音構成音数」以上でない場合には（ステップＢ６、Ｎｏ）、ＣＰＵ１０は、和音を構成する音を「コードキャラクタ設定」に応じた分散パターンに従って分散発音するように、発音キャラクタに対応する音声データをもとにして生成された音をスピーカ２１から出力させる（ステップＢ８）。
【００８２】
このようにして、本実施形態における音声出力装置（ゲーム装置）では、ディスプレイに表示されたキャラクタをドラッグアンドドロップさせる簡単な操作だけで、様々なフレーズ、音色により発音させることができるので、特別な音楽知識や技術を必要とせず誰にでも楽しむことができる。また、コードキャラクタを発音キャラクタにドロップすることで発音されるので、コード単位で発音を制御することができ、前述したように楽曲に合わせてアレンジを変えて発音させることも簡単にできる。また、発音されるフレーズや音色は、発音キャラクタの組合せ数や種類によって変化させることができるので、様々なアレンジを楽しむことができ、またリアルタイムに変更可能なので楽器演奏のような楽しさを味わうことができる。また、発音キャラクタとコードキャラクタとの組合せに応じて発音させるので、発音キャラクタ同士、あるいは発音キャラクタとコードキャラクタとの組合せパターンを多く用意すれば、アレンジパターンを増大させることができる。
【００８３】
なお、前述した説明では、音声出力装置をゲーム装置として実現した場合を例にしているが、単純に発音キャラクタとコードキャラクタとが組み合わせるユーザ操作に応じて音を発音させる音声出力装置として実現することも可能である。
【００８４】
図１７には、この音声出力装置におけるディスプレイの表示例を示している。  
図１７に示すように、複数の発音キャラクタ６２，６３，６４，６５と共に、複数のコードキャラクタ６６，６７，６８をランダムに表示させ、任意にユーザによるドラッグアンドドロップ操作を可能とする。表示される発音キャラクタやコードキャラクタの数夜種類は、時間経過に伴って変化させることができる。複数の発音キャラクタ６２，６３，６４，６５には異なる種類のものが含まれており、コードキャラクタをドラッグアンドドロップさせる前にグループ化させておき、発音時の発音フレーズや音色などを予め設定しておくことができる。
【００８５】
そして、コードキャラクタが発音キャラクタに対してドラッグアンドドロップされた時点で、発音キャラクタとコードキャラクタとの組合せに応じた発音フレーズや音色によってリアルタイムで発音させる。従って、特別な音楽知識や技術を必要とすることなく、楽器演奏をしているように自由に発音フレーズや音色を変えて発音させて楽しむことができる。
【００８６】
また、前述した説明では、ゲーム専用機において音出力装置が実現されるものとしているが、音出力プログラムを実行可能なプロセッサが搭載された各種の電子機器、例えばパーソナルコンピュータ、携帯電話機、カーナビゲーションシステム、業務用ゲーム装置等において実現することが可能である。入力操作は、各種のポインティングデバイスを使用するのが好ましい。例えば、パーソナルコンピュータでは、マウスの操作により、コードキャラクタと発音キャラクタと組み合わせる指示（ドラッグアンドドロップ）を入力することができる。
【００８７】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８８】
また、実施形態に記載した手法は、コンピュータに実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【００８９】
１０…ＣＰＵ、１１…ＲＡＭ、１２，１３…ＧＰＵ、１４，１５…ＶＲＡＭ、１６…表示コントローラ、１７，１８…ディスプレイ、１９…インタフェースユニット、２０…タッチパネル、２０ａ…ペン、２１…スピーカ、２２…ボタン群、２３…コネクタ、２４…メモリデバイス、２５…画像入力装置、２６…通信ユニット。
【図１】
2011227307.tif 000003
【図２】
2011227307.tif 000004
【図３】
2011227307.tif 000005
【図４】
2011227307.tif 000006
【図５】
2011227307.tif 000007
【図６】
2011227307.tif 000008
【図７】
2011227307.tif 000009
【図８】
2011227307.tif 000010
【図９】
2011227307.tif 000011
【図１０】
2011227307.tif 000012
【図１１】
2011227307.tif 000013
【図１２】
2011227307.tif 000014
【図１３】
2011227307.tif 000015
【図１４】
2011227307.tif 000016
【図１５】
2011227307.tif 000017
【図１６】
2011227307.tif 000018
【図１７】
2011227307.tif 000019