(57)【要約】【課題】楽曲データを利用した演奏でより幅広い音楽表現をより簡単な操作で行えるようにするための技術を提供する。【解決手段】ＣＰＵ１１は、楽曲の演奏内容を示す楽曲データをＲＯＭ１２から読み込み、音源システム１８を用いてコードパート以外の演奏パートを自動演奏する。コードパートの演奏は、ユーザーによるパッド群１５への操作に応じて行う。パッド群１５を構成するパッドをユーザーが操作すると、その操作時のベロシティに応じて、発音対象とするコードの構成音を同時に発音させる、及びアルペジオとして分散して発音させる、のうちの何れか一方を選択し、その選択結果に従って、音源システム１８を用いて構成音を発音させる。【選択図】図１
2008134456.tif 000002
【特許請求の範囲】
【請求項１】
演奏者が演奏を行うための操作子を少なくとも一つ備えた演奏装置において、
ユーザーが演奏の対象とする楽曲の演奏内容を示す楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データが演奏内容を示す楽曲の演奏を前記操作子への操作により行う場合に、該操作子に対する操作内容に基づいて、該演奏内容が示す楽音間の相対的な発音タイミングを変更し、該演奏により発音すべき楽音を設定する楽音設定手段と、
前記楽音決定手段が決定する楽音を楽音発生装置により発音させる発音制御手段と、
を具備することを特徴とする演奏装置。
【請求項２】
前記楽音間の相対的な発音タイミングの変更は、予め定めた演奏範囲毎に、該演奏範囲を構成する複数の楽音の発音順序、及び該複数の楽音間の発音開始間隔のうちの少なくとも一方を設定して行う、
ことを特徴とする請求項１記載の演奏装置。
【請求項３】
前記楽音間の相対的な発音タイミングの変更のために着目する前記操作内容は、前記操作子を操作する速さ、該操作子に加える圧力、該操作子を操作している時間、及び複数の操作子間で操作を開始するタイミングの時間間隔のうちの少なくとも一つである、
ことを特徴とする請求項１記載の演奏装置。
【請求項４】
前記操作内容として、前記複数の操作子間で操作を開始するタイミングの時間間隔に着目する場合、前記楽音設定手段は、該複数の操作子が操作される順序に従って、予め定めた演奏範囲を構成する複数の楽音の発音順序を設定する、
ことを特徴とする請求項３記載の演奏装置。
【請求項５】
前記演奏を行う演奏パートがコードを発音させるコードパートであった場合、前記演奏範囲は一つ以上のコードである、
ことを特徴とする請求項２、または４記載の演奏装置。
【請求項６】
演奏装置が備えた少なくとも一つの操作子に対するユーザーの操作により発音させるべき楽音を設定する装置であって、
ユーザーが演奏の対象とする楽曲の演奏内容を示す楽曲データを記憶する楽曲データ記憶手段と、
前記操作子に対してユーザーが行った操作の内容を認識する操作内容認識手段と、
前記操作内容認識手段が認識した操作の内容に基づいて、前記楽曲データが示す演奏内容に対し、該演奏内容が示す楽音間の相対的な発音タイミングの変更を行い、該操作情報の取得によって楽音発生装置により発音させるべき楽音を設定する楽音設定手段と、
を具備することを特徴とする楽音設定装置。
【請求項７】
演奏装置が備えた少なくとも一つの操作子に対するユーザーの操作により発音させるべき楽音を設定する楽音設定装置として用いることが可能なコンピュータに、
楽曲データ記憶手段に記憶された楽曲データが演奏内容を示す楽曲の演奏を前記操作子への操作により行う場合に、該操作子に対する操作内容に基づいて、該演奏内容が示す楽音間の相対的な発音タイミングを変更し、該演奏により発音すべき楽音を設定する楽音設定機能と、
前記楽音決定機能により決定する楽音を楽音発生装置により発音させる発音制御機能と、
を実現させるためのプログラム。
【請求項８】
演奏装置が備えた少なくとも一つの操作子に対するユーザーの操作により発音させるべき楽音を設定する楽音設定装置として用いることが可能なコンピュータに、
前記操作子に対してユーザーが行った操作の内容を認識する操作内容認識機能と、
前記操作内容認識機能により認識した操作の内容に基づいて、楽曲データ記憶手段に記憶された楽曲データが示す演奏内容に対し、該演奏内容が示す楽音間の相対的な発音タイミングの変更を行い、該操作情報の取得によって発音させるべき楽音を設定する楽音設定機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者が演奏を行うための操作子を少なくとも一つ備えた演奏装置に関する。
【背景技術】
【０００２】
電子鍵盤楽器等の演奏用の操作子を備えた演奏装置のなかには、演奏者（ユーザー）が操作子を操作したタイミングに合わせて、その操作子の種類に係わらず、楽曲データが示す発音順序に従って楽音を発音させる機能を搭載したものがある。その機能を用いた演奏では、どの操作子を操作しても、楽曲データが示す演奏内容に従って楽曲を演奏することができる。このことから、その演奏は主に操作子を操作すべきタイミングの練習用などに利用されている。発音させる楽音は楽曲データに依存し、操作される操作子に依存しないことから、つまり、どの操作子を操作しても演奏を行えることから、その機能については以降「エニーキー機能」と呼ぶことにする。
【０００３】
上記エニーキー機能を用いた演奏では、楽曲の演奏内容を示す楽曲データは、操作子への操作によって発音させる楽音の設定（選択）に利用される。演奏を進行させる方法は、操作子への操作によって進行させる方法（以降「マニュアル進行方法」と呼ぶ）、楽曲データに沿って自動的に進行させる方法（以降「自動進行方法」と呼ぶ）に大別することができる。操作子への操作によって発音される楽音は、マニュアル進行方法では操作子に対してそれまでに行った操作回数に応じて選択され、自動進行方法では操作子を操作したタイミングに応じて選択される。
【０００４】
演奏を進行させる方法として、マニュアル進行方法、及び自動進行方法の何れを用いても、発音させる楽音は楽曲データにのみに依存して選択される。このため、エニーキー機能を用いた演奏では、可能な音楽表現は非常に限定されたものとなっている。マニュアル進行方法では、操作子を操作するタイミングを通して楽音の発音タイミングを任意に変更することができるが、自動進行方法では、発音タイミングとなった楽音を発音させるか否かしか選択できない。
【０００５】
エニーキー機能を用いることにより、楽曲は容易に演奏することができる。しかし、演奏である以上、その演奏を行うユーザーが或る程度の音楽表現を行えるようにすることを重視すべきと思われる。
【０００６】
楽曲データを利用した演奏でより幅広い音楽表現を行えるようにした従来の演奏装置としては、特許文献１に記載されたものがある。その特許文献１に記載の従来の演奏装置では、操作子への操作に応じて、楽曲データから選択される楽音の音高を変更して発音させることにより、より自然と感じられる演奏を行えるようにさせている。
【０００７】
上記従来の演奏装置では、音高の変更は、操作された操作子に割り当てられた音高に応じて、より具体的には、前後に操作された操作子間の音高の関係に着目して行っている。しかし、そのような関係に着目した変更では、多数の操作子が必要というだけでなく、操作が複雑なものとなる。エニーキー機能を用いた演奏を行おうとする演奏者に対しては、より簡単な操作で音楽表現を行えるようにすることを重視すべきと云える。このため、より簡単な操作でより幅広い音楽表現を行えるようにすることが重要と考えられる。
【０００８】
エニーキー機能を用いた演奏は、操作対象とする操作子が一つのみでも行わせることができる。これは、操作子数の少ない小型の機器、例えば携帯電話機やカラオケ装置、或いはゲーム機でもその演奏を行わせることが容易に実現できることを意味する。そのような小型の機器での演奏を想定した場合にも、より簡単な操作でより幅広い音楽表現を行えるようにすることが重要と考えられる。
【特許文献１】特開２００４−１７７８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、楽曲データを利用した演奏でより幅広い音楽表現をより簡単な操作で行えるようにするための技術を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の演奏装置は、演奏者が演奏を行うための操作子を少なくとも一つ備えたものであり、ユーザーが演奏の対象とする楽曲の演奏内容を示す楽曲データを取得する楽曲データ取得手段と、楽曲データが演奏内容を示す楽曲の演奏を操作子への操作により行う場合に、該操作子に対する操作内容に基づいて、該演奏内容が示す楽音間の相対的な発音タイミングを変更し、該演奏により発音すべき楽音を設定する楽音設定手段と、楽音決定手段が決定する楽音を発音させる発音制御手段と、を具備する。
【００１１】
なお、上記楽音間の相対的な発音タイミングの変更は、予め定めた演奏単位毎に、該演奏単位を構成する複数の楽音の発音順序、及び該複数の楽音間の発音開始間隔のうちの少なくとも一方を設定して行う、ことが望ましい。また、楽音間の相対的な発音タイミングの変更のために着目する操作内容については、操作子を操作する速さ、該操作子に加える圧力、該操作子を操作している時間、及び複数の操作子間で操作を開始するタイミングの時間間隔のうちの少なくとも一つである、ことが望ましい。その操作内容として、複数の操作子間で操作を開始するタイミングの時間間隔に着目する場合、楽音設定手段は、該複数の操作子が操作される順序に従って、予め定めた演奏単位を構成する複数の楽音の発音順序を設定する、ことが望ましい。演奏を行う演奏パートがコードを発音させるコードパートであった場合、演奏単位は一つ以上のコードである、ことが望ましい。
【００１２】
本発明の楽音設定装置は、演奏装置が備えた少なくとも一つの操作子に対するユーザーの操作により発音させるべき楽音を設定するものであり、ユーザーが演奏の対象とする楽曲の演奏内容を示す楽曲データを取得する楽曲データ取得手段と、操作子に対してユーザーが行った操作の内容を示す操作情報を取得する操作情報取得機能と、操作情報取得機能が取得した操作情報が示す操作の内容に基づいて、楽曲データが示す演奏内容に対し、該演奏内容が示す楽音間の相対的な発音タイミングの変更を行い、該操作情報の取得によって発音させるべき楽音を設定する楽音設定機能と、を具備する。
【００１３】
本発明の第１、及び第２の態様のプログラムはそれぞれ、上記演奏装置、及び楽音設定装置が具備する各手段を実現させるための機能を搭載している。
【発明の効果】
【００１４】
本発明では、楽曲データが演奏内容を示す楽曲の演奏を操作子への操作によりユーザー（演奏者）が行う場合に、その操作子に対する操作内容に基づいて、楽曲データが示す演奏内容に対し、その演奏内容が示す楽音間の相対的な発音タイミング、即ち楽音間の発音順序、或いは発音開始タイミング（発音終了タイミングを含む場合も有り）の時間間隔のうちの少なくとも一方の変更を行い、その操作子への操作（演奏）によって発音させるべき楽音を設定し楽音発生装置により発音させる。そのような変更を操作子への操作内容に応じて行うため、ユーザーは楽曲データに沿った演奏を行う場合であっても、簡単な操作でより幅広い音楽表現を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
＜第１の実施形態＞
図１は、第１の実施形態による演奏装置を搭載したカラオケ装置の外観図である。そのカラオケ装置は、テレビジョン（以降「テレビ」と略記）の利用を想定したものであり、カラオケ装置本体（以降「本体」と略記）１、及びその本体１と無線で通信を行うワイヤレスマイク（以降「マイク」と略記）２から構成される。本実施形態による演奏装置は、カラオケ用に楽曲を自動演奏する場合に、１演奏パートの演奏をユーザーが行えるようにするために本体１に搭載されている。その演奏装置自体は、本実施形態による楽音設定装置を搭載することで実現されている。
【００１６】
本実施形態では、ユーザーの演奏は、本体１に設けられた２つのパッド１０１、１０２を用いて行えるようにさせている。図１中の１０３は本体１に設けられた表示装置（液晶表示装置）、３は本体１を不図示のテレビと接続するためのＡＶケーブルである。演奏用の操作子は、パッド１０１、１０２に限定されるものではない。また、本体１（演奏装置）に設けられていなくとも良い。
【００１７】
図２は、上記本体１の構成図である。その本体１は、図２に示すように、全体を制御するＣＰＵ１１と、ＣＰＵ１１が実行するプログラム、各種制御用データ、およびカラオケ用の楽曲データ等を格納したＲＯＭ１２と、ＣＰＵ１１がワークに用いるＲＡＭ１３と、ＡＶケーブル３を介して接続されるテレビに画像を表示させるためのビデオ（Ｖｉｄｅｏ）システム１４と、上記２つのパッド１０１、１０２、及びそれらへの操作を検出する検出回路を有するパッド群１５と、複数のスイッチ、及びそれらへの操作を検出する検出回路を有するスイッチ群１６と、表示装置１０３と、マイク２に入力された音声をテレビから放音させるための音声処理システム１７と、カラオケ用の演奏をテレビから放音させるための音源システム１８と、各部１１〜１８、及び表示装置１０３を互いに接続するバス１９と、ＡＶケーブル３を接続するためのＡＶ端子２０と、マイク２から送信される音声信号を受信するための無線受信機２１と、を備えた構成となっている。
【００１８】
上記構成において動作を説明する。
ＣＰＵ１１はＲＯＭ１２に記録されているプログラムを実行することにより、ユーザー（演奏者）がスイッチ群１６或いはパッド群１５に対して行った操作を認識し、認識した操作に応じた制御を行う。スイッチ群１６への操作が行われた場合には、操作が行われたスイッチに応じて、ＲＡＭ１３を用いた画像の生成・表示、各種設定を行う。それにより、テレビ、或いは表示装置１０３を通して必要な情報をユーザーに随時、提供しつつ、楽曲の選択やモード設定、或いは楽曲の再生条件（テンポや付与する音響効果、音量などの設定）の設定などを行わせる。表示装置１０３への画像表示は、表示させるべき画像（データ）を表示装置１０３に送出することで実現され、テレビへの画像表示は、表示させるべき画像（データ）をビデオシステム１４に送出し、そのシステム１４にテレビの規格に応じた変調を行わせ、その変調によって得られる映像信号をＡＶ端子２０に出力させることで実現される。
【００１９】
上記２つのパッド１０１、１０２は通常、割り当てられた効果音の発音用の操作子として機能する。１演奏パートの演奏を可能とするモード（以降「演奏モード」と呼ぶ）が設定された場合にのみ、その演奏用の操作子として機能する。２つのパッド１０１、１０２としては共に、それを操作した際の速さを検出できるものを採用している。以降、速さは「ベロシティ」、その値を「ベロシティ値」とそれぞれ表記する。
【００２０】
上記効果音、及びカラオケ演奏のための楽音の放音は、音源システム１８がＣＰＵ１１の指示に従って楽音放音用の波形データを生成し、生成した波形データをテレビの規格に応じた変調方式で変調してＡＶ端子２０に出力することで可能とさせている。その波形データの生成は、周知の技術を用いて行われる。波形データを生成することにより楽音が発音されることから、その音源システム１８は楽音発生装置に相当する。その楽音発生装置は、自身が楽音を放音可能なものであっても良い。演奏装置に搭載されないものであっても良い。
【００２１】
図１に示すマイク２は、ユーザーが発した音声を入力するためのものである。そのマイク２は、音声を信号に変換して入力し、その信号（音声）を例えばデジタル値に変換して送信する。そのようにして送信された音声信号は無線受信機２１により受信され、音声処理システム１７に送られる。音声処理システム１７は、音声信号（デジタルデータ）をテレビの規格に応じた変調方式で変調してＡＶ端子２０に出力する。それにより、マイク２が入力した音声をテレビから放音可能とさせる。音声処理システム１７から出力される音声信号は、音源システム１８から出力される音声信号に重畳されてＡＶ端子２０に入力される。
【００２２】
図３は、上記楽曲データを構成する楽音データ、及び候補音階バッファの構成を説明する図である。
楽曲データを構成する楽音データは、図３（ａ）に示すように、演奏上のイベントの内容を示すイベントデータ、及び次に処理すべき楽音データを処理するまでの時間間隔（Δｔ）を示す時間データから構成される。
【００２３】
上記時間間隔Δｔは、テンポによって変更される最小時間間隔を単位として表現されたものである。これは他の時間、或いは時間間隔についても同様である。楽音の発音に係わるイベントデータは、例えばイベントが楽音の発音、及び消音の何れであるかを示すイベント種別、楽音の音高を示す番号（以降「音階番号」）、及びチャンネル番号の各データを有するものである。それにより楽曲データは、イベント（楽音）単位で用意された楽音データをその処理順に並べた形の構成となっている。楽曲を構成する演奏パートにはそれぞれ異なるチャンネルが割り当てられる。楽曲データ、或いは楽音データは、上述したような構成に限定されるものではない。また、楽曲データは、ＲＯＭ１２等の不揮発性メモリに用意するのではなく、通信ネットワーク、或いは可搬性の記録媒体を介して取得できるようにしても良い。
【００２４】
ＣＰＵ１１は、処理すべきタイミングとなったイベントデータから音源システム１８に送出すべきコマンド（以降ＭＩＤＩデータを想定する）を生成して送出することで楽音の発音開始、或いは消音を指示する。それにより、自動演奏、つまり楽曲データの再生を行う。楽音の発音開始を指示してからその消音を指示するまでの時間間隔が発音持続時間（ゲートタイム）である。ユーザーの演奏では、操作子への操作により発音させるべき楽音の発音開始を指示するＭＩＤＩデータを生成して送出し、その楽音の消音を指示すべきタイミングで消音を指示するＭＩＤＩデータを送出する。
【００２５】
音源システム１８は、例えばＣＰＵ１１から送られたＭＩＤＩデータ中の音階番号（ノートナンバー）で指定される音高に応じて、楽音発音用の波形データを生成し、生成した波形データをテレビの規格に応じた変調方式で変調してＡＶ端子２０に出力する。波形データの生成は、消音を指示するＭＩＤＩデータがＣＰＵ１１から送出されて実際に消音させるまでの間、行う。そのような波形データの生成、及び生成した波形データを変調しての出力を行うことにより、自動演奏による楽音のテレビからの放音を可能とさせる。
【００２６】
図３（ｂ）に示す候補音階バッファは、ＲＡＭ１３に確保される作業領域である。そのバッファには、ユーザーが演奏対象とする演奏パート（チャンネル）で発音すべきタイミングとなっている楽音毎に、その楽音を示すデータ（ここでは音階番号）が格納される。本実施形態では、その演奏パートとしてコード（和音）の演奏用のコードパートを想定する。コード発音用のイベントデータとして、音階番号の代わりに、コードの種類を示すコード番号、及びルート（根音）の音高を示す音階番号が挿入されているものを想定する。以降、コードパートが割り当てられたチャンネルを「コードチャンネル」と表記する。チャンネルは「ｃｈ」とも表記する。
【００２７】
上述したように２つのパッド１０１、１０２（これらを総称する場合は「操作子」と表記する）としては共に、操作時のベロシティを検出可能なものを採用している。このことから本実施形態では、２つのパッド１０１、１０２のなかで実際に操作されたパッドの操作時のベロシティに応じて、全ての構成音を同時（正確にはほぼ同時に発音されると見なすべき短時間内）に発音させるコードをアルペジオ（分散和音）として分散させて発音させるようにしている。つまり、演奏用の操作子を操作した際のベロシティを操作内容として着目し、そのベロシティに応じて、コードをコードのまま発音させる、及びアルペジオとして発音させる、のうちの何れかを自動的に選択することにより、楽曲データが示す演奏内容を変更する形で発音させる楽音（構成音）の発音タイミング、つまり発音開始タイミング、及びその発音持続時間を変更するようにしている。
【００２８】
そのような変更を行うことにより、コードの構成音間の相対的な発音タイミングは変化する。その変化を操作子（ここではパッド１０１、或いは１０２）への操作内容に応じて発生させることにより、より幅広い音楽表現を任意に行うことができるようになる。そのような音楽表現は、一つの操作子への操作によって行うことができる。このため、簡単に音楽表現を変えた演奏を行うことができる。本実施形態による楽音設定装置は、そのような音楽表現を可能とするために搭載されており、本実施形態による演奏装置と同様に、ＲＯＭ１２に格納されたプログラムをＣＰＵ１１が実行することで実現される。
【００２９】
コードパートの演奏は、他のパートの自動演奏と合わせて行う必要がある。このことから、その演奏の進行には、楽曲データに沿って自動的に進行させる自動進行方法を採用している。コードをコードのまま発音させるか否かに係わらず、全ての構成音は１回の操作で発音させるようにしている。それにより、アルペジオとして発音させる場合であっても、構成音毎に操作を行わなくとも良いようにしている。
【００３０】
図４は、演奏管理用データを説明する図である。図４に示す演奏管理用データは、上記操作子への操作に応じて更新・格納される、コード構成音の演奏（発音）管理用のものであり、ＲＡＭ１３、或いはＣＰＵ１１に搭載されたメモリに格納される。そのデータは、コード発音状態を示すフラグ（以降「コード発音状態フラグ」）、和音分散時間、及び初回ＯＮフラグの各データを有している。
【００３１】
上記コード発音状態フラグは、コードチャンネル（パート）のコードを発音中か否かを示すものである。和音分散時間は、コード構成音間の発音開始タイミングの時間差を示すものである。全ての構成音を同時に発音させる場合には、デフォルト値、例えば「０」或いは負の値が格納される。ここではデフォルト値として「０」を仮定する。初回ＯＮフラグは、コードの発音開始タイミングとなってから初めての操作子への操作を認識するためのものである。
【００３２】
操作子が操作されたことをパッド群１５から操作時のベロシティを示すベロシティ値と併せて通知されたＣＰＵ１１は、例えば候補音階バッファを参照して、発音対象となるコードの有無を確認し、そのコードが存在することを確認できた場合、コード発音状態フラグの値はコードが発音中であることを示す値に更新し、初回ＯＮフラグはコードを発音させるための初めての操作が行われたことを示す値に更新する。以降、このような更新を行う操作を共に「オンとする」或いは「設定する」等と表現する。逆の更新を行う操作については「オフとする」或いは「解除する」等と表現する。
【００３３】
和音分散時間（データ）としては、例えばベロシティ値が予め定めた閾値以上であれば０を格納する。閾値未満であれば、コードのゲートタイム、操作タイミング、及びコード構成音数から、１構成音の発音開始タイミング、及び発音期間（ゲートタイム）を計算し、連続する構成音間の発音開始タイミングの時間差を示す値を和音分散時間（データ）として格納する。そのような値を和音分散時間データとするのは、アルペジオとして発音させる場合には、操作子への操作によって発音を実際に開始するタイミングから消音させるべきタイミングとなるまでの間、各構成音を同じ時間間隔で順次、発音を開始させることを前提としているためである。ゲートタイムは、コードの発音開始を指示する楽音データから、その消音を指示する楽音データの直前までに存在する全ての楽音データで時間データが示す時間間隔Δｔの合計時間を算出することで得られる。
【００３４】
以降は図５〜図８に示す各種フローチャートを参照して、上述したような操作子を操作しての演奏を実現させるＣＰＵ１１の動作について詳細に説明する。ＣＰＵ１１の動作は、そのＣＰＵ１１がＲＯＭ１２に格納されたプログラムを読み出して実行することで実現される。
【００３５】
図５は、全体処理のフローチャートである。始めに図５を参照して、ＣＰＵ１１の動作について詳細に説明する。その全体処理は、電源の投入後に実行される主な処理を抜粋してその流れを示したものである。
【００３６】
先ず、ステップＡ１では、イニシャル処理を実行し、各種変数の初期化等を行う。続くステップＡ２では、スイッチ群１６を構成するスイッチへのユーザーの操作に対応するためのスイッチ処理を実行する。その実行後はステップＡ３に移行する。パッド１０１、１０２を操作しての演奏を可能とする演奏モードは、このスイッチ処理の実行によって設定／解除される。
【００３７】
ステップＡ３では、自動演奏を実現させるための自動演奏処理を実行する。次のステップＡ４では、演奏モードの設定時におけるコード発音を実現させるためのコード発音処理を実行する。それ以降は、音源システム１８を用いた楽音の発音を実現させるための音源発音処理をステップＡ５で実行し、表示装置１０３、或いはテレビに表示させる画像の更新等を含むその他処理をステップＡ６で実行してから、上記ステップＡ２に戻る。それにより、電源がオンされている間、ステップＡ２〜Ａ６で形成される処理ループを繰り返し実行することにより、ユーザーの指示に応じた動作を行うようになっている。
【００３８】
図６は、パッド処理のフローチャートである。このパッド処理は、パッド１０１、１０２への操作による演奏を実現させるために、上記ステップＡ２のスイッチ処理内のサブルーチン処理として実行されるものである。次に図６を参照して、このパッド処理について詳細に説明する。
【００３９】
上述したようにパッド１０１、及び１０２に割り当てられる機能はモードによって異なる。しかし、本発明に係わる機能が割り当てられるのは演奏モード設定時である。このことから便宜的に、図６には演奏モード設定時に実行される主な処理を抜粋してその流れを示している。それによりここでは、演奏モード設定時に実行される処理にのみ着目する形で説明を行う。ＣＰＵ１１は、パッド群１５（を構成する検出回路）から出力される情報により、パッド１０１、或いは１０２への操作の有無、その操作時のベロシティを認識する。操作（その内容）は情報から認識できるため、情報は外部から入力、つまり操作子は外部の装置に搭載されたものであっても良い。
【００４０】
先ず、ステップＢ１では、パッド１０１、１０２の何れかがＯＮされたか否か判定する。パッド群１５からパッド１０１、或いは１０２に対する操作が通知された場合、判定はＹＥＳとなってステップＢ２に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００４１】
ステップＢ２では、図４（ｂ）に示す候補音階バッファを参照して、音階番号が格納されているか否か確認することにより、音階番号が格納されている場合に、コード発音状態フラグを設定（オン）し、コードを発音中とする。音階番号が格納されていない場合には、コード発音状態フラグは設定せず、それ以降の処理を実行することなく、ここで一連の処理を終了する。
【００４２】
ステップＢ２に続くステップＢ３では、パッド群１５から通知されたベロシティ値をチェックし、そのベロシティ値が上記閾値以上か否かにより、和音分散時間を決定して格納する（図４）。決定される和音分散時間は、上述したように、ベロシティ値が閾値以上であれば０であり、そのベロシティ値が閾値未満であれば、コードのゲートタイム、操作タイミング、及びコード構成音数から算出される、連続する構成音間の発音開始タイミングの時間差を示す値である。そのような和音分散時間の決定・格納を行った後はステップＢ４に移行して、初回ＯＮフラグを設定してから、一連の処理を終了する。
【００４３】
上述したようにして、パッド処理の実行により、状況に応じて図４に示す演奏管理用データが更新・格納される。その管理用データを用いたコード構成音の発音管理は、上記ステップＡ４として実行されるパッド処理により行われる。
【００４４】
図７は、図５の全体処理内でステップＡ３として実行される自動演奏処理のフローチャートである。次に図７を参照して、この自動演奏処理について詳細に説明する。
通常、カラオケ用の自動演奏は、楽曲データを構成する全ての演奏パート（チャンネル）を対象に行われる。演奏モード設定時には、コードパートは自動演奏の対象から除外される。自動演奏は、それ（楽曲データの再生）を行っている間のみ、指定された楽曲データを対象に行う。このようなことから、自動演奏処理では、楽曲データを再生中か否か、設定されているモードの種類等を判定して、実行すべき処理を実行するようになっている。しかし便宜的に図７には演奏モード設定時の自動演奏中に実行される主な処理を抜粋してその流れを示している。それによりここでは、そのような状況下に実行される処理にのみ着目する形で説明を行う。
【００４５】
先ず、ステップＣ１では、直前に位置する楽音データ中のイベントデータの処理タイミングから、その楽音データを構成する時間データが示す時間間隔Δｔが経過したか否か判定する。その時間間隔Δｔが経過した、或いは直前に位置する楽音データが存在しない、つまり先頭に位置する楽音データである場合、判定はＹＥＳとなってステップＣ２に移行する。それらの何れでもない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００４６】
ステップＣ２では、次の楽音データ中のイベントデータを例えばＲＯＭ１２から読み出す。続くステップＣ３では、読み出したイベントデータのチャンネル番号がコードチャンネルを示すものか否か判定する。そのイベントデータがコードチャンネルの番号を格納したものであった場合、判定はＹＥＳとなってステップＣ４に移行し、そのイベントデータが示すイベント種別に応じて、各コード構成音の音階番号を音階候補バッファに記憶させるか、或いはそのバッファに記憶されている音階番号を消去した後、一連の処理を終了する。そうでない場合には、つまりコードチャンネルの番号以外の番号が格納されていた場合には、判定はＮＯとなってステップＣ５に移行し、イベントデータからＭＩＤＩデータを生成して音源システム１８に送出することにより楽音の発音、或いは消音を指示した後、一連の処理を終了する。
【００４７】
上述したようにして、コードが発音開始タイミングとなると、それの各構成音の音階番号が候補音階バッファに格納され、候補音階バッファに格納された音階番号は、発音終了タイミングとなると消去される。それにより、発音タイミング（発音開始から発音終了までの間）となったコードの有無は候補音階バッファを参照することで特定できるようになっている。
【００４８】
図８は、図５の全体処理内でステップＡ４として実行されるコード発音処理のフローチャートである。最後に図８を参照して、この発音処理について詳細に説明する。ここでも図７に示す自動演奏処理と同様に、図８には演奏モード設定時の自動演奏中に実行される主な処理を抜粋してその流れを示し、そのような状況下に実行される処理にのみ着目する形で説明を行う。
【００４９】
先ず、ステップＤ１では、コード発音状態フラグ（図４）を参照して、そのフラグが設定されているか否か判定する。そのフラグが設定されている、つまり発音タイミングとなったコードが発音中となっている場合、判定はＹＥＳとなってステップＤ２に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００５０】
ステップＤ２では、初回ＯＮフラグが設定されているか否か判定する。そのフラグが設定されている場合、判定はＹＥＳとなり、ステップＤ３でそのフラグの設定を解除してからステップＤ５に移行する。そうでない場合には、判定はＮＯとなってステップＤ４に移行する。
【００５１】
ステップＤ４では、和音分散時間を参照して、次のコード構成音の発音開始を指示すべきタイミングか否か判定する。和音分散時間として０（全ての構成音を同時に発音させることを表す値）が設定されている、或いは直前の構成音の発音開始を指示してから和音分散時間が経過した場合、判定はＹＥＳとなってステップＤ５に移行する。それらの何れでもない場合には、判定はＮＯとなってステップＤ７に移行する。
【００５２】
ステップＤ５では、和音分散時間を参照して、候補音階バッファから楽音の発音を指示すべき音階番号を選択し、選択した音階番号の楽音の発音を指示するためのＭＩＤＩデータを生成して音源システム１８に送出する。音階番号の選択では、和音分散時間として０が設定されているならば、候補音階バッファに格納されている全ての音階番号が選択され、それ以外の値が和音分散時間として設定されているならば、未選択の音階番号のなかから一つが選択される。未選択の音階番号のなかからの選択は、例えば未選択の音階番号のなかで最小、或いは最大の音階番号を抽出することで行う。そのようにして、アルペジオの形で構成音を順次、発音させる。
【００５３】
コードの構成音をアルペジオの形で発音させる場合、発音中の構成音は、次の構成音を発音させる前に消音を指示するようにしている。つまり、各構成音のゲートタイムは和音分散時間より短いものとしている。例えば和音分散時間から予め定めた時間を引くことで得られるものとしている。このことから、ステップＤ５に続くステップＤ６では、ステップＤ５で発音を指示した楽音の消音を指示するタイミングを特定するために、時間の計時（図中「自動ＯＦＦカウント」と表記）を開始する。その後、一連の処理を終了する。図８中、各構成音のゲートタイムは「自動ＯＦＦ時間」と表記している。以降その表記を用いることにする。コードをそのままの形で発音させる場合には、自動ＯＦＦ時間としてはコード自体のゲートタイムが設定される。
【００５４】
上記ステップＤ２の判定がＹＥＳとなると、ステップＤ３の処理を実行した後、ステップＤ５に移行させるようになっている。これは、ユーザーがコード発音に有効な操作をパッド１０１、或いは１０２に対して行った場合、直ちに楽音の発音を開始させるためである。
【００５５】
一方、上記ステップＤ４の判定がＮＯとなって移行するステップＤ７では、直前の発音指示を行ってから自動ＯＦＦ時間が経過したか否か判定する。直前のステップＤ６で計時を開始させた時間が自動ＯＦＦ時間以上となった場合、判定はＹＥＳとなってステップＤ８に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００５６】
ステップＤ８では、直前のステップＤ５で発音指示した楽音(構成音）の消音指示のためのＭＩＤＩデータを生成して音源システム１８に送出する。その後に移行するステップＤ９では、候補音源バッファに格納されている音階番号で楽音の発音を全て行ったか否か判定する。直前のステップＤ５で発音指示した楽音が全ての構成音、或いは最後の構成音であった場合、判定はＹＥＳとなってステップＤ１０に移行し、コード発音状態フラグの設定を解除した後、一連の処理を終了する。それらの何れでもない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００５７】
なお、本実施形態では、コードの構成音を発音させる方法を操作子（パッド１０１或いは１０２）に対する操作のベロシティに着目して選択しているが、操作時の圧力の大きさに着目して選択するようにしても良い。また、アルペジオで構成音を分散させて発音させる場合の発音間隔（和音分散時間）はコードに応じた固有の固定値としているが、その発音間隔の設定にベロシティを反映させるようにしても良い。候補音階バッファに格納された音階番号のなかから一つを選択するためにベロシティを考慮するようにしても良い。その場合には、例えば楽音（構成音）を音高が低い順に発音させる、及び高い順に発音させるのうちの一方を選択できるようにしても良い。これは、圧力に着目する場合も同様である。
【００５８】
＜第２の実施形態＞
上記第１の実施形態では、操作子（パッド１０１或いは１０２）に対する操作内容としてベロシティに着目し、コードの構成音を発音させる方法を選択するようになっている。これに対し第２の実施形態は、操作子を操作している時間、及び操作子の操作順序に応じてコードの構成音の発音させる方法を選択するようにしたものである。それにより、簡単な操作で音楽表現を行えるように維持させつつ、第１の実施形態と比較して、より幅広い音楽表現を可能とさせている。
【００５９】
第２の実施形態による楽音設定装置を含む演奏装置は第１の実施形態と同様に、カラオケ装置に搭載されたものである。そのカラオケ装置の構成は基本的に第１の実施形態と同じである。このことから、第１の実施形態で付した符号をそのまま用いつつ、第１の実施形態から異なる部分にのみ着目する形で説明を行う。
【００６０】
図９は、第２の実施形態における演奏管理用データを説明する図である。図９に示すように第２の実施形態では、演奏管理用データとして更に、スイッチＯＮ時間、及びパッド番号を有している。
【００６１】
演奏用の操作子はパッド１０１及び１０２である。第２の実施形態では、それらの操作子のなかで実際に操作が行われた操作子が１個であれば、その操作子が操作（ＯＮ）されていた時間を計時し、その操作子が２個であれば、１個目の操作子を操作してから２個目の操作子を操作するまでの時間を計時するようにしている。操作子の数が１個か否かを区別するために、２個目の操作子は１個目の操作子への操作を解除する前に操作することを前提としている。スイッチＯＮ時間は、そのように操作された操作子数に応じて計時された時間である。
【００６２】
スイッチＯＮ時間は、第１の実施形態と同様に、コード構成音を同時に発音させるか否かの選択に用いている。そのＯＮ時間が予め閾値として定めた時間（以降「基準時間」）以上であればアルペジオの構成音として発音し、その基準時間未満であれば同時に発音させるようにしている。
【００６３】
２個の操作子をユーザーが操作した結果、アルペジオとして発音させることを決定した場合には、それらの操作順序に応じて、構成音の発音順序を設定するようにしている。上記パッド番号は、操作子の操作順序特定用に保存するデータであり、保存するパッド番号は、１個目のパッドに割り当てたものである。ここでは、パッド１０１及び１０２にそれぞれ割り当てられたパッド番号は１及び２と仮定する。コード構成音の発音順序は、パッド１０１→パッド１０２の順序で操作された場合には音高の低い構成音から順に発音させ（以降、この発音順序を「上昇方向」と呼ぶ）、その逆の順序で操作された場合には音高の高い低い構成音から順に発音させるようにしている（以降、この発音順序を「下降方向」と呼ぶ）。
【００６４】
このようにして第２の実施形態では、コード構成音の発音方法に加えて、コード構成音の発音順序をユーザー（演奏者）が制御できるようにしている。このため、第１の実施形態と比較して、より幅広い音楽表現をユーザーは任意、且つ容易に行うことができる。
【００６５】
より幅広い音楽表現を可能とさせるために第２の実施形態では、パッド処理（図６）、及びコード発音処理（図８）が第１の実施形態から異なっている。それにより以降、第２の実施形態で実行されるパッド処理、及びコード発音処理について詳細に説明する。
【００６６】
図１０は、第２の実施形態で実行されるパッド処理のフローチャートである。始めに図１０を参照して、そのパッド処理について詳細に説明する。そのパッド処理は、図５に示す全体処理において、ステップＡ２のスイッチ処理内でサブルーチン処理として実行される。
【００６７】
先ず、ステップＥ１では、パッド１０１、１０２の何れかがＯＮされたか否か判定する。パッド群１５からパッド１０１、或いは１０２に対する操作が通知された場合、判定はＹＥＳとなってステップＥ２に移行する。そうでない場合には、判定はＮＯとなってステップＥ１３に移行する。
【００６８】
ステップＥ２では、１個目に操作されたものか否か判定する。他に操作されている操作子が存在する、つまり２個共、操作されている場合、判定はＮＯとなってステップＥ７に移行し、そうでない場合には、判定はＹＥＳとなってステップＥ３に移行する。
【００６９】
ステップＥ３では、図４（ｂ）に示す候補音階バッファを参照して、音階番号が格納されているか否か確認することにより、音階番号が格納されている場合に、コード発音状態フラグを設定（オン）し、コードを発音中とする。音階番号が格納されていない場合には、コード発音状態フラグは設定せず、それ以降の処理を実行することなく、ここで一連の処理を終了する。それにより、発音対象とすべきコードが存在しない状況下での操作は無効とする。
【００７０】
ステップＥ３に続くステップＥ４では、スイッチＯＮ時間の計時を開始する。その計時は、所定時間間隔毎に実行されるタイマーインタラプト処理、或いはＣＰＵ１１に搭載されたハードタイマにより行うものである。ここでは便宜的に、ハードタイマにより計時するものとする。その計時開始後は、ステップＥ５で初回ＯＮフラグの設定を行い、今回、操作されたパッドのパッド番号を次のステップＥ６で保存してから、一連の処理を終了する。
【００７１】
上記ステップＥ２の判定がＮＯとなって移行するステップＥ７では、ハードタイマにより計時した時間をスイッチＯＮ時間として保存する。次のステップＥ８では、そのスイッチＯＮ時間が上記基準時間以上か否かにより、和音分散時間を決定して格納する。その決定は、第１の実施形態と同様に行う。その決定後はステップＥ９に移行して、パッド番号で表す２個の操作子の操作順序が１→２であるか否か判定する。パッド１０１→パッド１０２の順序でそれらをユーザーが操作した場合、判定はＹＥＳとなり、ステップＥ１０でコード構成音の発音順序（図中「音階順」と表記）を上昇方向に設定し、保存したパッド番号を次のステップＥ１１で消去した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなり、ステップＥ１２でコード構成音の発音順序を下降方向に設定してからステップＥ１１に移行する。このようにして、１個目の操作子への操作を解除することなく、２個目の操作子を操作した場合には、その操作順序に応じた発音順序が設定される。
【００７２】
上記ステップＥ１の判定がＮＯとなって移行するステップＥ１３では、１個目の操作子がＯＦＦされたか否か判定する。上記ステップＥ６で保存されたパッド番号が存在し、その番号が割り当てられた操作子への操作をユーザーが解除した場合、判定はＹＥＳとなってステップＥ１４に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００７３】
ステップＥ１４では、ハードタイマにより計時した時間をスイッチＯＮ時間として保存する。次のステップＥ１５では、そのスイッチＯＮ時間が上記基準時間以上か否かにより、和音分散時間を決定して格納する。その後は、ステップＥ１６でコード構成音の発音順序を上昇方向に設定し、保存したパッド番号を次のステップＥ１７で消去してから、一連の処理を終了する。
【００７４】
第２の実施形態におけるコード発音処理で実行される処理の流れは基本的に第１の実施形態におけるそれと同じである。このことから図８を参照して、第１の実施形態から異なるステップの処理についてのみ具体的に説明する。
【００７５】
第１の実施形態では、ステップＤ１０でコード発音状態フラグの設定を解除する。第２の実施形態では、その設定解除を行うと共に、和音分散時間として非常に大きな時間を設定する。これは、初回ＯＮフラグの設定によって最初のコード構成音を発音させた後、和音分散時間が上記パッド処理で設定されるまでの間、２音目のコード構成音を発音させないようにするためである。それにより、コードとして発音させる場合には、２段階、つまり１段階目では１音、２段階目では残りを発音させるようにしている。
【００７６】
発音させるコード構成音は、ステップＤ５で選択される。そのステップＤ５では、ステップＤ３から移行した場合、コード構成音のなかで最低音のものを選択して発音させるようになっている。これは、１個の操作子のみをユーザーが操作する（その操作解除は２個目の操作子が操作される前に行われる）との想定で構成音を発音させるためである。その想定は、ユーザーが２個目の操作子を操作するか否かを事前に知ることができないことから採用している。その後の実行時には、和音分散時間（コードとして発音させるか否かを示す設定）、コード構成音の発音順序は確定していることから、確定した設定内容に従った構成音の選択が行われる。既に選択し発音中の構成音が発音させるべきものでなかった場合には、つまり発音順序として下降方向が設定された場合には、例えばその消音を指示し、発音させるべき構成音の発音を指示することが行われる。
【００７７】
発音させるべきでない構成音（楽音）の発音は回避すべきであり、たとえ回避することができないとしても、その発音器官はより短いものとすることが望まれる。このことから、上記基準時間は短い時間とすることが望ましい。或いは発音タイミング（発音開始から発音終了までの期間）内での操作子への操作のみを有効とするのではなく、そのタイミングより前の操作を有効として、図９に示す管理用データの設定を行うようにしても良い。そのようにした場合には、発音させるべきでない構成音の発音を回避できるようになる。その場合、ユーザーの新たな操作を行うまでの間、直前のユーザーの指示を有効とし、構成音を発音させるようにしても良い。
【００７８】
上記有効と想定する指示とは、構成音を同時に発音させるか否か（同時に発音させない指示であれば発音順序を含む）である。同時に発音させない場合に設定される和音分散時間はコード固有のものであることから、有効とする指示内容は別に保存する必要がある。
【００７９】
なお、本実施形態（第１及び第２の実施形態）による演奏装置（楽音設定装置を含む）は、カラオケ装置に搭載されたものであるが、その演奏装置は携帯電話機、ＰＤＡ、携帯型の再生装置、などに搭載しても良い。或いは鍵盤等の専用の演奏操作子を備えた楽器に搭載しても良い。楽音設定装置については、ユーザーが演奏することで行われた操作子への操作の内容を示す操作情報を外部から受信し、発音させるべき楽音を選択（設定）するものとして実現させても良い。また、自動演奏される楽曲のアレンジ用などに用いることもできる。
【００８０】
ユーザーの演奏対象はコードパートとしているが、これはコードの構成音の発音タイミングを自動的に操作しても、他の演奏パートとの調和を維持した演奏内容の変更が容易に行えるからである。そのためにコードを演奏単位とした演奏内容の変更を行うようにしている。しかし、他の演奏パートを演奏対象としても良い。ユーザーの操作子への操作に応じた楽曲データが示す演奏内容の変更は、演奏対象とする演奏パートに応じて決定すれば良い。演奏内容の変更内容はユーザーに任意に指定させるようにしても良い。その変更は、効果音、或いは音響効果の付加であっても良い。
【００８１】
上述したように動作する演奏装置（楽音設定装置）は、ＣＰＵ１１に実行させるプログラムをＲＯＭ１２に格納することで実現させているが、そのようなプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。公衆網等の通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得して、演奏装置（楽音設定装置）として用いることが可能なコンピュータにロードすることにより、そのコンピュータに本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。そのコンピュータは、パーソナル・コンピュータ等であっても良いが、上述したように、カラオケ装置、携帯電話機、ＰＤＡ、或いは楽器等に搭載されたものであっても良い。
【図面の簡単な説明】
【００８２】
【図１】第１の実施形態による演奏装置を搭載したカラオケ装置の外観図である。
【図２】第１の実施形態による演奏装置を搭載したカラオケ装置本体の構成図である。
【図３】楽曲データを構成する楽音データ、及び候補音階バッファの構成を説明する図である。
【図４】演奏管理用データを説明する図である。
【図５】全体処理のフローチャートである。
【図６】パッド処理のフローチャートである。
【図７】自動演奏処理のフローチャートである。
【図８】コード発音処理のフローチャートである。
【図９】演奏管理用データを説明する図である（第２の実施形態）。
【図１０】パッド処理のフローチャートである（第２の実施形態）。
【符号の説明】
【００８３】
１  カラオケ装置本体
２  ワイヤレスマイク
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ビデオシステム
１５  パッド群
１６  スイッチ群
１８  音源システム
１９  バス
１０１、１０２  パッド
【図２】
2008134456.tif 000003
【図３】
2008134456.tif 000004
【図４】
2008134456.tif 000005
【図５】
2008134456.tif 000006
【図６】
2008134456.tif 000007
【図７】
2008134456.tif 000008
【図８】
2008134456.tif 000009
【図９】
2008134456.tif 000010
【図１０】
2008134456.tif 000011
【図１】
2008134456.tif 000012