説明

音出力装置、音出力プログラム

【課題】音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力できるようにする。
【解決手段】CPU10は、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとをディスプレイ18において表示させる。CPU10は、ユーザ操作により入力されたドラッグアンドドロップの指示に応じて、発音キャラクタとコードキャラクタとが組み合わされると、発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成してスピーカ21から発音させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイにキャラクタを表示し、キャラクタに対するユーザ操作に応じた音を出力する音出力装置、音出力プログラムに関する。
【背景技術】
【0002】
ゲーム装置には、ユーザ操作に応じて所定の音を出力させることを目的としたゲームを行うものがある。
例えば、特許文献1に記載された音楽ゲーム装置では、曲の演奏進行に従って、1又は複数の音符もしくは音楽記号に対応する表示物を伴ったキャラクタがディスプレイに表示される。プレーヤーは、例えばディスプレイに表示されたキャラクタが示す音符に対応する音高を、楽器型等のコントローラによって入力する。音楽ゲーム装置は、プレイヤーの演奏操作に応じて発生される演奏情報(音高)と、キャラクタに付属する音符もしくは音楽記号との関連性を判定し、判定結果に応じてゲームイベントを制御する。こうすることにより、プレイヤーはキャラクタに付属する音符もしくは音楽記号をゲーム形式で楽しく学習することができるようになる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−246155号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このように従来では、キャラクタに付属する音符もしくは音楽記号を表示し、このキャラクタに合わせて楽器型等のコントローラをプレーヤーに操作させることにより、娯楽性の高いゲーム形式で音楽知識や楽器演奏技術の習得ができるようにしている。
【0005】
しかしながら、従来の音楽ゲーム装置では、音楽知識や楽器演奏技術の習得を目的としているために、全く音楽知識や楽器演奏技術がない人にとっては楽しむことができないものとなっていた。また、実際の楽器を操作しているように、自由にフレーズや音色をアレンジして音を出力させて楽しむものではなかった。
【0006】
本発明は前述した事情に考慮してなされたもので、その目的は、音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力させることが可能な音出力装置、音出力プログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明は、音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、前記音生成手段により生成された音を発音させる発音手段とを具備したことを特徴とする。
【発明の効果】
【0008】
本発明によれば、音楽知識が無くても簡単な操作によりフレーズや音色をアレンジして音を出力させることが可能となる。
【図面の簡単な説明】
【0009】
【図1】本実施形態における音出力装置が実現されるゲーム装置の構成を示すブロック図。
【図2】発音キャラクタの一例を示す図。
【図3】複数の発音キャラクタのそれぞれ対するデータを含む発音キャラクタ設定テーブルの一例を示す図。
【図4】コードキャラクタの一例を示す図。
【図5】複数のコードキャラクタのそれぞれに対するデータを含むコードキャラクタ設定テーブルの一例を示す図。
【図6】コードID「0x0000」(コードC)の各データから生成される分散パターンによる音を楽譜によって示す図。
【図7】発音キャラクタの組合せの一例を示す図。
【図8】発音キャラクタとコードキャラクタとの組合せの一例を示す図。
【図9】グループ化された発音キャラクタとコードキャラクタとの組み合わせの一例を示す図。
【図10】グループ化された発音キャラクタの数と種類に応じた発音フレーズの違いの一例を示す図。
【図11】発音キャラクタのグループ切り替えに応じた発音フレーズの変化の一例を示す図。
【図12】画面に表示されている発音キャラクタを管理するためのグループ構造体データの一例を示す図。
【図13】画面に表示されているコードキャラクタを管理するためのコードキャラクタ構造体データの一例を示す図。
【図14】音出力プログラムに基づいて実行される音出力処理を示すフローチャート。
【図15】音出力処理中のコードキャラクタのドロップからフレーズ音の発音終了までの発音処理を示すフローチャート。
【図16】音声出力装置をゲーム装置として実現した場合のゲーム画面の一例を示す図。
【図17】音声出力装置におけるディスプレイの表示例を示す図。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態における音出力装置が実現されるゲーム装置の構成を示すブロック図である。本実施形態におけるゲーム装置は、例えば携帯型に構成されているゲーム専用機とし、図1に示すように、CPU10には、バスを介して、RAM11、GPU12,13、表示コントローラ16、ディスプレイ17,18、インタフェースユニット19、コネクタ23、及び通信ユニット26が接続される。
【0011】
CPU10は、ゲーム装置全体の制御を司るもので、RAM11に記憶されたプログラムに応じた各種処理を実行する。CPU10は、本実施形態における音出力プログラムに基づいて音出力処理を実行することにより、ゲーム装置を音出力装置として動作させる。音出力処理では、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとを表示し、この表示された発音キャラクタとコードキャラクタとを組み合わせる操作がユーザにより行われることにより、発音キャラクタとコードキャラクタとの組合せに応じた音、すなわち発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成して出力する。
【0012】
RAM11は、CPU10により実行されるプログラムやデータなどを一時的に記憶する。音出力処理中においては、ユーザ操作によって指示されたキャラクタの組合せ(グループ)を示すデータの他、発音キャラクタを管理するための発音キャラクタ設定テーブル、コードキャラクタを管理するためのコードキャラクタテーブル、画面に表示されている発音キャラクタを管理するためのグループ構造体データ、画面に表示されたコードキャラクタを管理するためのコードキャラクタ構造体データなどが記録される。発音キャラクタ設定テーブル、コードキャラクタ設定テーブル、グループ構造体データ、コードキャラクタ構造体データの詳細については後述する。
【0013】
GPU12,13は、CPU10からの指示に応じて、RAM11に記憶されている表示画像を生成するためのデータに基づいて表示画像データを生成するもので、GPU12には、VRAM14が接続され、GPU13には、VRAM15が接続されている。GPU12は、ディスプレイ17において表示するための表示画像データを生成してVRAM14に描画する。GPU13は、同様にディスプレイ18において表示するための表示画像データを生成してVRAM15に描画する。
【0014】
ディスプレイ17,18は、表示コントローラ16の制御のもとで画像を表示する。ディスプレイ17,18は、例えばヒンジ機構によって開閉可能に結合された2つの筐体のそれぞれに設けられる。一方のディスプレイ18は、後述するタッチパネル20と積層一体型に形成されている。発音キャラクタやコードキャラクタは、例えばディスプレイ18において表示されるのとする。
【0015】
表示コントローラ16は、ディスプレイ17,18における画面表示を制御するもので、VRAM14に記憶された画像データをもとにディスプレイ17において画像を表示させ、VRAM15に記憶された画像データをもとにディスプレイ18において画像を表示させる。
【0016】
インタフェースユニット19は、各種デバイスを接続するためのもので、例えばタッチパネル20、スピーカ21、ボタン群22が接続される。タッチパネル20は、ペン20aを用いたパネル面に対する位置指示(座標データ)を入力する。
【0017】
スピーカ21は、CPU10の制御のもとで操作音や各種アプリケーションに応じた各種音(メッセージ音声、音楽、効果音等)を出力させる。
ボタン群22は、ユーザからの指示を入力するためのもので、例えば十字ボタン、スタートボタン、セレクトボタン、Aボタン、Bボタン、Xボタン、Yボタン、電源ボタン、Lボタン、及びRボタンを含んでいる。
【0018】
コネクタ23は、外部デバイスを着脱自在に接続するためのもので、例えばメモリデバイス24を接続することができる。
メモリデバイス24は、例えば音出力プログラムを記憶するROMと、バックアップデータを書き換え可能に記憶するRAMが搭載されている。メモリデバイス24のRAMには、プログラムの他にも、適宜、CPU10がプログラムを実行する際に参照されるデータ等(発音キャラクタ設定テーブル、コードキャラクタ設定テーブル、グループ構造体データ、コードキャラクタ構造体データ等)が記憶される。
【0019】
画像入力装置25は、画像を撮影して画像データを入力するためのもので、例えば静止画像の画像データを入力するカメラ装置である。
【0020】
通信ユニット26は、他のゲーム装置やネットワークを介して接続された他の機器との間の通信を制御する。
【0021】
次に、本実施形態における音出力装置の動作について説明する。
本実施形態における音出力装置では、音色を表す発音キャラクタと、出力する音のコードを表すコードキャラクタとを表示し、この表示された発音キャラクタとコードキャラクタとを組み合わせる操作、例えばキャラクタの表示位置を重ね合わせるようなドラッグアンドドロップによる操作が行われることにより、発音キャラクタとコードキャラクタとの組合せに応じた音、すなわち発音キャラクタに対応する音色による、コードキャラクタに対応するコードの音を生成して出力することができる。発音キャラクタは、複数の種類が存在し、それぞれに対して音色と最大同時発音数が設定されている。また、コードキャラクタは、複数の種類が存在し、それぞれに対して、和音構成音数、最大同時発音数、分散パターン(アルペジオによる発音パターン)等が設定されている。
【0022】
以下、発音キャラクタとコードキャラクタの詳細について説明する。
図2は、発音キャラクタの一例を示す図である。
図2(a)に示す発音キャラクタ名「歌手」に対しては、音色として人の音声が設定されている。また、アイドリング時(音声を出力していない通常表示時)の表示形態と、発音時の表示形態がそれぞれ設定されている。
【0023】
また、図2(b)に示す発音キャラクタ名「楽器奏者」は、音色として特定の楽器による楽器音が設定されている。例えば、発音キャラクタ名「楽器奏者(ピアニカ)」は、音色としてピアニカの音声が設定されている。ピアニカは、同時に複数音を発音させることができるため、最大同時発音数が例えば「10」に設定されている。また、発音キャラクタ名「楽器奏者(トランペット)」は、音色としてトランペットの音声が設定されている。楽器のトランペットは、ピアニカとは異なり同時に1音しか発音させることができないため、最大同時発音数が「1」に設定されている。
【0024】
また、図2(c)に示す発音キャラクタ名「動物(犬)」は、音色として犬の鳴き声が設定されている。なお、例えば発音キャラクタ名「動物(犬)」であっても、音色が鳴き声に限定されるものではなく楽器(例えば「木琴」)の音色を設定することもできる。この場合、発音キャラクタ名「動物(犬(木琴))」とする。
【0025】
図3は、複数の発音キャラクタのそれぞれ対するデータを含む発音キャラクタ設定テーブルの一例を示している。
図3に示すように、各発音キャラクタには、キャラクタIDが設定されている。発音キャラクタ設定テーブルでは、キャラクタIDと対応付けて、発音キャラクタ名、発音キャラクタを表示するための画像データ(アイドリング時、発音時)、発音時に出力する音の音声データ、最大同時発音数を示すデータとが設定されている。発音キャラクタ設定テーブルに設定された各データには、キャラクタIDを使ってアクセスすることができる。
【0026】
例えば、図3においては、キャラクタID「0x0000」と対応付けて、発音キャラクタ名「動物(犬(鳴き声))」、画像データ「pic_00.dat」、音声データ「sound_00.dat」、最大同時発音数「1」が設定されている。なお、発音キャラクタがグループ化された場合には、キャラクタIDがグループ構造体データにおいて管理される(図12(b)(c)参照)。
【0027】
次に、コードキャラクタについて説明する。図4は、コードキャラクタの一例を示す図である。
例えば、図4に示す各コードキャラクタネームに対しては、出力する音としてコード(和音)が設定されている。図4(a)に示すコードキャラクタネーム「C」には、音符にコード「C」が付加されたコードキャラクタの表示形態が設定されている。同様にして、例えば図4(b)(c)に示す他のコードキャラクタのそれぞれに対して、コードとコードキャラクタの表示形態が設定されている(コードキャラクタネーム「Dm7」「G」の例を示す)。図4では八分音符を表すコードキャラクタのみを示しているが、二分音符や四分音符など、他の表示形態によるコードキャラクタについても設定されているものとする。
【0028】
図5は、複数のコードキャラクタのそれぞれに対するデータを含むコードキャラクタ設定テーブルの一例を示している。
図5に示すように、各コードには、コードIDが設定されている。コードキャラクタ設定テーブルでは、コードIDと対応付けて、和音構成音数、最大同時発音数、単位、ルート、構成音、分散パターンの各データが設定されている。コードキャラクタ設定テーブルに設定された各データには、コードIDを使ってアクセスすることができる。
【0029】
「和音構成音数」は、コードを構成する音数を示す。「最大同時発音数」は、分散パターンの中で複数の音が同時に発音する場合(図5中の分散パターンの縦軸に「0」以外が重なる場合)、その中で最大の数を示す。「単位」は、分散パターンの「1」の値が示す音の長さを示す。例えば、二分音符=256、四分音符=128、八分音符=64、のように値が大きい程発音時間が長くなる。「ルート」は、コードの根音を示す。「構成音」は、コードを構成する音をルートからのオフセット(半音を1とする)で表す。図5に示す「構成音」の「0」はルートを示し、マイナス値は、ルートよりも低い構成音であることを示す。「分散パターン」は、「単位」で表した長さを1として発音するタイミングを表す。
【0030】
例えば、コードID「0x0000」(コードC)の各データをもとにして、次のようにして、コードキャラクタに対応するコードの音を生成することができる。
【0031】
まず、構成音を楽譜上の音階に変換する。構成音「0」は、ルートの音が「C4」なので「C4」となる。構成音「4」は、ルート音が「C4」から半音で4つ分高い音(C4→C4シャープ→D4→D4シャープ→E4)なので「E4」となる。構成音「7」は、ルート音が「C4」から半音で7つ分高い音(C4→C4シャープ→D4→D4シャープ→E4→F4→F4シャープ→G4)なので「G4」となる。
【0032】
次に、分散パターンの音に変換する。図6は、コードID「0x0000」(コードC)の各データから生成される分散パターンによる音を楽譜によって示している。図6では、単位が128(四分音符)で、分散パターンで示されたタイミングに合わせた音が生成されることを示している。
【0033】
次に、キャラクタの組合せについて説明する。
図7は、発音キャラクタの組合せの一例を示している。本実施形態における音声出力装置では、図7(a)に示すように、ディスプレイに表示された発音キャラクタを、例えばペン20aなどのポインティングデバイスの操作によって、任意の位置にドラッグさせることができる。
【0034】
図7(b)に示すように、別の発音キャラクタが表示されている位置に発音キャラクタをドロップ(移動先位置の確定)すると、図7(c)に示すように、発音キャラクタがグループ化される。すなわち、グループ化されたことを表すように、2つの発音キャラクタが隣接して表示される。また、グループ化された発音キャラクタの数に応じたグループ構造体データが生成されて記録される(詳細については図12に示す)。
【0035】
さらに、図7(d)に示すように、グループ化された発音キャラクタに対して、さらに別の発音キャラクタをドラッグアンドドロップすることで、3つ以上の発音キャラクタからなるグループを作成することができる。
【0036】
図8は、発音キャラクタとコードキャラクタとの組合せの一例を示している。本実施形態における音声出力装置では、発音キャラクタにコードキャラクタをドラッグアンドドロップすることにより、発音キャラクタとコードキャラクタとの組合せに応じて生成されたフレーズ(音)が再生される。
【0037】
図8(a)に示すように、コードキャラクタは、前述した発音キャラクタと同様にして、例えばペン20aなどのポインティングデバイスの操作によって、任意の位置にドラッグさせることができる。
【0038】
図8(b)に示すように、発音キャラクタが表示された位置にコードキャラクタをドロップするとフレーズが再生される。この時、図8(c)に示すように、発音キャラクタがアイドリング時の表示形態から発音時の表示形態に変更される。
【0039】
図9は、グループ化された発音キャラクタとコードキャラクタとの組み合わせの一例を示している。図9(a)に示すように、コードキャラクタをドラッグし、図9(b)に示すように、グループ化された発音キャラクタにドロップすると、グループ化された発音キャラクタの数とコードキャラクタとの組合せに応じたフレーズが生成されて出力される。この時、グループ化された複数の発音キャラクタが発音時の表示形態に変更される。図9に示すように、発音キャラクタがグループ化されていることで、例えば最大同時発音数が増加するために発音フレーズが変化する場合がある。
【0040】
図10は、グループ化された発音キャラクタの数と種類に応じた発音フレーズの違いの一例を示している。ここでは、コードキャラクタネーム「C」のコードキャラクタが発音キャラクタにドラッグアンドドロップされた場合を例にして説明する。
図10(a)に示すように、1つの発音キャラクタにコードキャラクタが組み合わされた場合、1人の声ではコードCの和音構成音数「3」による3重和音が発音できないため、1人用のアルペジオ(分散パターン)により発音するように発音フレーズを生成する。
【0041】
図10(b)に示すように、2つの発音キャラクタがグループ化されている場合、2人の声でも3重和音が発音できないため、2人用のアルペジオ(分散パターン)により発音するように発音フレーズを生成する。
【0042】
図10(c)に示すように、3つの発音キャラクタがグループ化されている場合、3人の声であれば3重和音が発音できるため、3重和音により発音するように発音フレーズを生成する。
【0043】
また、図10(d)に示すように、例えば「楽器奏者(ピアニカ)」の発音キャラクタの場合には、図3に示すように、最大同時発音数が「10」であり、コードCの和音構成音数「3」による3重和音が発音できるため、3重和音により発音するように発音フレーズを生成する。
【0044】
また、「楽器奏者」の発音キャラクタであっても、図10(e)に示すように、例えば「楽器奏者(トランペット)」の発音キャラクタの場合には、図3に示すように、最大同時発音数が「1」であり、コードCの和音構成音数「3」による3重和音が発音できないため、楽器の種類に応じたアルペジオ(分散パターン)により発音するように発音フレーズを生成する。なお、「楽器奏者」の発音キャラクタの場合も、図10(b)に示すように、グループ化された人数に応じたアルペジオ(分散パターン)が用意されているものとする。
【0045】
このように、発音キャラクタの最大同時発音数とコードキャラクタの和音構成音数(また最大同時発音数)との組合せに応じて、発音フレーズを和音としたり、グループ化された発音キャラクタの数に応じたアルペジオ(分散パターン)により発音させることができる。従って、発音キャラクタをグループ化する簡単な操作によって、様々な発音フレーズにより発音させることができ、好みにあったアレンジを探し出すことができる。
【0046】
図11は、発音キャラクタのグループ切り替えに応じた発音フレーズの変化の一例を示している。
本実施形態における音声出力装置では、フレーズ発音中であっても、発音キャラクタのグループ化やグループ解除を行うことが可能とする。そして、グループ化/グループ解除によってグループ化された発音キャラクタの数が変更された場合に、その変更されたタイミングに合わせてリアルタイムで発音フレーズを変化させる。
【0047】
例えば、図11(a)に示すように、3つの発音キャラクタがグループ化されているため3重和音で発音していた時に、1人分の発音キャラクタがドラッグ操作によってグループ解除されると、グループ化された2人分の発音キャラクタの最大同時発音数の合計では3重和音を発音するためには不足となる(ここでは、図10と同様にコードCのフレーズを発音する例)。このため、グループ化された2人分の発音キャラクタ(分離された側)については2人用のアルペジオによる発音に移行する。また、グループから分離された発音キャラクタ(分離された側)については、1人分の発音キャラクタの同時発音数では3重和音を発音するためには不足となるため1人用のアルペジオによる発音に移行する。
【0048】
また、例えば図11(b)に示すように、2つの発音キャラクタがグループ化されているため2人用のアルペジオによる発音していた時に、1人分の発音キャラクタがドラッグ操作によってグループに追加されると、3人分の発音キャラクタの最大同時発音数の合計であれば3重和音を発音することができるため3重和音による発音に移行する。
【0049】
なお、図11に示す例では、同じ種類の発音キャラクタをグループ化/グループ解除する例を示しているが、グループには異なる種類の発音キャラクタが混在していても良い。この場合、グループに含まれる各発音キャラクタに設定された最大同時発音数に応じて、前述と同様にして発音フレーズを変更すると共に、発音キャラクタに応じた音色の変更が行われる。
【0050】
このように、発音キャラクタに対するグループ化/グループ解除するための操作に応じて、リアルタイムで発音フレーズを変化させることができるため、簡単にフレーズや音色を変化させて、様々な発音フレーズ(及び音色)の音をアレンジして楽しむことができる。
【0051】
図12は、画面に表示されている発音キャラクタを管理するためのグループ構造体データの一例を示す図である。
CPU10は、音出力プログラムに基づく音出力処理によって、例えば1つ以上の発音キャラクタをディスプレイにおいて表示させる。CPU10は、ディスプレイに発音キャラクタを表示(配置)させると、各発音キャラクタに対するグループ構造体データを生成して管理する。
【0052】
グループ構造体データは、図12(a)(b)(c)に示すように、グループ化された発音キャラクタのメンバ数が格納される「メンバ数」、メンバを構成する発音キャラクタの「キャラクタID」が格納される「キャラクタIDリスト」、発音キャラクタの表示位置やヒット範囲(ドロップされた他のキャラクタとの組合せ可能と判別する範囲)の情報等が納めてある構造体へのアドレスが格納される「その他の情報構造体」を含んでいる。
【0053】
図12(a)は、1人グループ(グループ化されていない)の発音キャラクタに対して生成されるグループ構造体データの一例を示す図である。「キャラクタIDリスト」には、1つの発音キャラクタを示す「キャラクタID」が格納されている。図12(b)は、2人グループの発音キャラクタに対して生成されるグループ構造体データ、図12(c)は、3人グループの発音キャラクタに対して生成されるグループ構造体データの一例をそれぞれ示している。
【0054】
CPU10は、ドラックアンドドロップ操作により発音キャラクタのグループ化やグループ分離が行われた場合は、その都度、グループ構造体データを再構成する。
【0055】
図13は、画面に表示されているコードキャラクタを管理するためのコードキャラクタ構造体データの一例を示す図である。
CPU10は、発音キャラクタと同様に、音出力プログラムに基づく音出力処理によって、例えば複数のコードキャラクタをディスプレイにおいて表示させる。CPU10は、ディスプレイにコードキャラクタを表示(配置)させると、各コードキャラクタに対するコードキャラクタ構造体データを生成して管理する。
【0056】
コードキャラクタについては、音声出力装置の利用形態に応じて、表示タイミングが制御される。例えば、音声出力装置をゲーム装置として実現する場合には、例えば特定の楽曲に対応するコードの並びに応じて、複数のコードキャラクタを順番にディスプレイに表示させることができる。また、単純にユーザ操作に合わせて音を発音させる音声出力装置として実現する場合には、発音キャラクタと共に、複数のコードキャラクタをランダムに表示させることができる。
【0057】
コードキャラクタ構造体データは、図13に示すように、コードキャラクタが持つコード情報を示す「コードID」、コードキャラクタの表示位置やヒット範囲(ドロップされた他のキャラクタとの組合せ可能と判別する範囲)の情報等が納めてある構造体へのアドレスが格納される「その他の情報構造体」を含んでいる。
【0058】
次に、本実施形態における音声出力装置の動作について、フローチャートを参照しながら説明する。
図14は、音出力プログラムに基づいて実行される音出力処理を示すフローチャート、図15は、音出力処理中のコードキャラクタのドロップからフレーズ音の発音終了までの発音処理を示すフローチャートである。
【0059】
ここでは、音声出力装置をゲーム装置として実現する場合を例にして説明する。ゲーム装置は、例えば特定の楽曲に対応するコードの並びに応じて、複数のコードキャラクタを順番にディスプレイに表示させ、このコードキャラクタを適当なタイミングで発音キャラクタに対してドラッグアンドドロップすることで、楽曲を再生出力することができるようにするものである。コードキャラクタをドラッグアンドドロップさせる発音キャラクタを任意に選択することで様々なアレンジが可能となる。音出力プログラムには、楽曲毎のコードキャラクタ列を示す楽曲データが含まれており、この楽曲データに応じてコードキャラクタの表示が行われる。
【0060】
図16には、ゲーム画面の一例を示している。
図16に示すゲーム画面の下部には、楽曲に対応するコードの並びに応じた複数のコードキャラクタ40を表示するための「コード枠」が設けられている。図16に示す例では、「コード枠」内に、現在再生中となっているコードキャラクタを含めた4小節分のコードキャラクタが表示されている。「コード枠」内のコードキャラクタは、カーソル49を用いてドラッグして、「コード枠」外に表示されたアイドリング状態の発音キャラクタ43,44,45にドロップすることができる。
【0061】
「コード枠」の左端には現在再生中の「コードキャラクタ」が表示され、再生が終わると左に1小節分ずつずれて画面から消え、同時に右端から新たな「コードキャラクタ」が出現する。すなわち、複数のコードキャラクタ40は、楽曲の再生進行に合わせて、右から左方向に順番に移動していき、新たなコードキャラクタが追加されていく。
【0062】
「コード枠」の左脇には、拍子41(図16に示す例では四分の四拍子を表す4/4)が表示され、現在再生中の「コードキャラクタ」の上部に、再生位置カーソル42が表示されている。図16中では、四分の四拍子で3拍目を再生する直前に再生位置カーソル42がある。これは、発音キャラクタ45に現在再生中の発音キャラクタ47がドラッグアンドドロップされることにより発音されている再生位置を表している。
【0063】
なお、「コード枠」に表示されている複数のコードキャラクタ40は、再生順に関係なく発音キャラクタにドラッグアンドドロップすることができる。ただし、再生順序は入れ替わらない。例えば図16のコードDm7のコードキャラクタを先にドラッグアンドドロップしてから、先頭のコードCのコードキャラクタをドラッグアンドドロップすることも可能であるが、再生出力はコードC、コードDm7、コードG、コードCのコードキャラクタの順番で実行される。
【0064】
音声出力処理が開始されると、CPU10は、複数の発音キャラクタをディスプレイに表示させる。ここでは、ランダムに不特定の発音キャラクタを表示するようにしても良いし、再生対象とする楽曲に合わせた特定の発音キャラクタを含む複数の発音キャラクタを表示させるようにしても良い。表示される発音キャラクタの数や種類は固定されている必要はなく、時間の経過と共に変化させることができる。
【0065】
ユーザは、ディスプレイに表示された発音キャラクタ同士をドラッグアンドドロップすることにより、任意にグループ化することができる。従って、ユーザは、「コード枠」に表示されるコードキャラクタを発音キャラクタに対してドラッグアンドドロップする前に、発音させるフレーズや音色、楽器の種類などを想定して、適当な発音キャラクタを選択してグループ化させておくことができる。
【0066】
CPU10は、ディスプレイに表示させた各発音キャラクタ(グループ化された発音キャラクタを含む)をグループ構造体データによって管理する。
【0067】
また、CPU10は、音声出力処理が開始されると、再生出力の対象とする楽曲についての楽曲データをもとに、「コード枠」に楽曲に応じた複数のコードキャラクタ40を表示させる(ステップA1)。
【0068】
CPU10は、「コード枠」に表示されたコードキャラクタが発音キャラクタに対してドラッグアンドドロップされたことを検出すると(ステップA2、Yes)、ドロップされたコードキャラクタが再生対象とする先頭のコードキャラクタでなければ(ステップA3、No)、このコードキャラクタとドロップ先の発音キャラクタに対応するグループ構造体データを一時記録しておく(ステップA4)。
【0069】
一方、CPU10は、ドロップされたコードキャラクタが再生対象とする先頭のコードキャラクタであった場合には(ステップA3、Yes)、コードキャラクタと発音キャラクタとの組合せに応じて発音するための発音処理を実行する(ステップA5)。なお、発音処理の詳細については後述する。
【0070】
CPU10は、発音処理によって1つの発音キャラクタ(1グループの発音キャラクタ)に対応するフレーズの発音が完了すると、「コード枠」内の再生が完了したコードキャラクタを消去して、次のコードキャラクタを追加表示させる(ステップA6)。
【0071】
ここで、次に再生対象とするコードキャラクタが既にドラッグアンドドロップ済みであるかを判別する(ステップA7)。ドラッグアンドドロップ済みである場合には(ステップA8、Yes)、ドラッグアンドドロップ時に一時的に記録しているコードキャラクタとドロップ先の発音キャラクタに対応するグループ構造体データとを用いて発音処理を実行する(ステップA5)。
【0072】
なお、ドラッグアンドドロップ済みでない場合には(ステップA8、No)、CPU10は、再生対象としている楽曲について全てのコードキャラクタについて再生出力が完了していなければ(ステップA9、No)、ユーザ操作により次のコードキャラクタに対するドラッグアンドドロップの操作待ちとなる(ステップA2)。
【0073】
以下同様にして、「コード枠」に表示されたコードキャラクタが発音キャラクタに対してドラッグアンドドロップされる操作に応じて、コードキャラクタと発音キャラクタ(グループ)との組合せに応じた発音処理を実行する。
【0074】
ディスプレイでは、図16に示すように、発音対象となっている発音キャラクタ45は、発音状態を表す形態により表示されると共に、再生の時間経過に合わせて再生位置カーソル42の表示位置が更新される。また、他の発音キャラクタに対しても任意にコードキャラクタをドラッグアンドドロップさせることができ、再生が開始されるまでは発音キャラクタ44のようにアイドリング時の形態によって表示されている。
【0075】
次に、前述した音出力処理における発音処理について説明する。
CPU10は、発音キャラクタにドロップされたコードキャラクタの「コードID」を使って、コードキャラクタ設定テーブルから該当するコードキャラクタ設定を取り出す(ステップB1)。
【0076】
また、CPU10は、コードキャラクタがドロップされた発音キャラクタのグループ(1人グループを含む)に対応するグループ構造体データに設定されたキャラクタIDリストを使って、発音キャラクタ設定テーブルからグループを構成する発音キャラクタ設定を取り出す(ステップB2)。
【0077】
CPU10は、グループを構成する各発音キャラクタの「最大同時発音数」の合計を算出し、この合計が「コードキャラクタ設定」の「最大同時発音数」以上かどうかを判別する(ステップB3)。すなわち、コードキャラクタが示すコードを発音可能であるかを判別する。
【0078】
例えば、最大同時発音数が2のコードキャラクタであり(コードID「0x04f8」(コードBm6)など)、発音キャラクタがグループ化されていないために最大同時発音数が1である場合には、コードを表現する発音ができない。こうして場合には、発音せずに発音処理を終了する(ステップB4、No)。なお、何も発音しないのではなく、本来のコードを発音できないことを通知する特別な音(ビープ音など)を再生出力するようにしても良い。
【0079】
各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「最大同時発音数」以上であった場合(ステップB4、Yes)、CPU10は、グループを構成する各発音キャラクタの「最大同時発音数」の合計が、「コードキャラクタ設定」の「和音構成音数」以上かどうかを判別する(ステップB5)。すなわち、コードを和音によって発音可能であるか、アルペジオ(分散パターン)によって発音する必要があるかを判別する。
【0080】
各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「和音構成音数」以上である場合には(ステップB6、Yes)、CPU10は、和音を構成する音を全て同時発音するように、発音キャラクタに対応する音声データをもとにして生成された音をスピーカ21から出力させる(ステップB7)。
【0081】
一方、各発音キャラクタの「最大同時発音数」の合計が「コードキャラクタ設定」の「和音構成音数」以上でない場合には(ステップB6、No)、CPU10は、和音を構成する音を「コードキャラクタ設定」に応じた分散パターンに従って分散発音するように、発音キャラクタに対応する音声データをもとにして生成された音をスピーカ21から出力させる(ステップB8)。
【0082】
このようにして、本実施形態における音声出力装置(ゲーム装置)では、ディスプレイに表示されたキャラクタをドラッグアンドドロップさせる簡単な操作だけで、様々なフレーズ、音色により発音させることができるので、特別な音楽知識や技術を必要とせず誰にでも楽しむことができる。また、コードキャラクタを発音キャラクタにドロップすることで発音されるので、コード単位で発音を制御することができ、前述したように楽曲に合わせてアレンジを変えて発音させることも簡単にできる。また、発音されるフレーズや音色は、発音キャラクタの組合せ数や種類によって変化させることができるので、様々なアレンジを楽しむことができ、またリアルタイムに変更可能なので楽器演奏のような楽しさを味わうことができる。また、発音キャラクタとコードキャラクタとの組合せに応じて発音させるので、発音キャラクタ同士、あるいは発音キャラクタとコードキャラクタとの組合せパターンを多く用意すれば、アレンジパターンを増大させることができる。
【0083】
なお、前述した説明では、音声出力装置をゲーム装置として実現した場合を例にしているが、単純に発音キャラクタとコードキャラクタとが組み合わせるユーザ操作に応じて音を発音させる音声出力装置として実現することも可能である。
【0084】
図17には、この音声出力装置におけるディスプレイの表示例を示している。
図17に示すように、複数の発音キャラクタ62,63,64,65と共に、複数のコードキャラクタ66,67,68をランダムに表示させ、任意にユーザによるドラッグアンドドロップ操作を可能とする。表示される発音キャラクタやコードキャラクタの数夜種類は、時間経過に伴って変化させることができる。複数の発音キャラクタ62,63,64,65には異なる種類のものが含まれており、コードキャラクタをドラッグアンドドロップさせる前にグループ化させておき、発音時の発音フレーズや音色などを予め設定しておくことができる。
【0085】
そして、コードキャラクタが発音キャラクタに対してドラッグアンドドロップされた時点で、発音キャラクタとコードキャラクタとの組合せに応じた発音フレーズや音色によってリアルタイムで発音させる。従って、特別な音楽知識や技術を必要とすることなく、楽器演奏をしているように自由に発音フレーズや音色を変えて発音させて楽しむことができる。
【0086】
また、前述した説明では、ゲーム専用機において音出力装置が実現されるものとしているが、音出力プログラムを実行可能なプロセッサが搭載された各種の電子機器、例えばパーソナルコンピュータ、携帯電話機、カーナビゲーションシステム、業務用ゲーム装置等において実現することが可能である。入力操作は、各種のポインティングデバイスを使用するのが好ましい。例えば、パーソナルコンピュータでは、マウスの操作により、コードキャラクタと発音キャラクタと組み合わせる指示(ドラッグアンドドロップ)を入力することができる。
【0087】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0088】
また、実施形態に記載した手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【0089】
10…CPU、11…RAM、12,13…GPU、14,15…VRAM、16…表示コントローラ、17,18…ディスプレイ、19…インタフェースユニット、20…タッチパネル、20a…ペン、21…スピーカ、22…ボタン群、23…コネクタ、24…メモリデバイス、25…画像入力装置、26…通信ユニット。

【特許請求の範囲】
【請求項1】
音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、
出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、
ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、
前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、
前記音生成手段により生成された音を発音させる発音手段と
を具備したことを特徴とする音出力装置。
【請求項2】
ユーザ操作により入力された指示に応じて、複数の前記発音キャラクタをグループ化するグループ化手段をさらに具備し、
前記音生成手段は、前記グループ化手段によってグループ化された前記複数の発音キャラクタと前記コードキャラクタとが組み合わされた場合、前記複数の発音キャラクタのそれぞれに対して決められた最大同時発音数の合計に応じた発音フレーズによる音を生成することを特徴とする請求項1記載の音出力装置。
【請求項3】
前記音生成手段は、前記最大同時発音数の合計が前記コードキャラクタに対応するコードの和音構成音数以上でない場合に、前記グループ化手段によりグループ化された前記発音キャラクタの数に応じた分散パターンによる音を生成することを特徴とする請求項2記載の音声出力装置。
【請求項4】
前記音手段は、前記発音手段により発音されている間に、グループ化された前記複数の発音キャラクタの組合せを変更する指示がユーザ操作により入力された場合に、変更後の各グループの発音キャラクタにそれぞれ対応する音を生成することをと特徴とする請求項2または請求項3記載の音声出力装置。
【請求項5】
前記発音キャラクタ表示手段は、複数の前記発音キャラクタを同時に表示し、
前記コードキャラクタ表示手段は、予め決められた順番で複数の前記コードキャラクタを表示し、
前記音生成手段は、前記コードキャラクタ表示手段により表示される前記コードキャラクタの順番に応じて、前記コードキャラクタのそれぞれと前記発音キャラクタとの組合せに応じた音を生成することを特徴とする請求項1記載の音声出力装置。
【請求項6】
コンピュータを、
音色を表す発音キャラクタを表示する発音キャラクタ表示手段と、
出力する音のコードを表すコードキャラクタを表示するコードキャラクタ表示手段と、
ユーザ操作により入力された指示に応じて、前記発音キャラクタと前記コードキャラクタとの組み合わせを設定する設定手段と、
前記設定手段により設定された前記発音キャラクタと前記コードキャラクタとの組合せに応じて、前記発音キャラクタに対応する音色による、前記コードキャラクタに対応するコードの音を生成する音生成手段と、
前記音生成手段により生成された音を発音させる発音手段として機能させるための音出力プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−227307(P2011−227307A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−97237(P2010−97237)
【出願日】平成22年4月20日(2010.4.20)
【出願人】(310009993)株式会社タイトー (207)
【Fターム(参考)】