(57)【特許請求の範囲】
【請求項１】
カラオケ曲の歌唱旋律データ、カラオケ演奏用データを含む楽曲データを記憶する記憶手段と、
該楽曲データの音高分布に基づいて調を検出する調検出手段と、
前記カラオケ演奏用データを読み出すことによってカラオケ曲の演奏を実行するカラオケ演奏手段と、
歌唱音声信号を入力する歌唱入力手段と、
該歌唱入力手段から入力された歌唱音声信号に基づき、前記調検出手段が検出した調の音階上で前記歌唱旋律データから所定度数上または下の音高の音声信号を生成して、該生成した音声信号を前記歌唱入力手段から入力された歌唱音声信号とともに出力するハーモニー信号形成手段と、
を備えたことを特徴とするカラオケ装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、楽曲データの歌唱旋律データを用いてハーモニー音声信号を自動形成するカラオケ装置に関する。
【０００２】
【従来の技術】
現在実用化されているカラオケ装置では、カラオケ歌唱を上手く聞かせ、歌唱を盛り上げるために歌唱者の歌唱音声信号にハーモニー（たとえば、旋律に対して３度または５度の旋律）の音声信号を付加して出力する機能を備えたものがある。
【０００３】
【発明が解決しようとする課題】
しかし、従来のカラオケ装置は、楽曲データにハーモニー音声信号を形成するためのデータであるハーモニーデータが含まれる場合のみ、このデータに基づいてハーモニー音声信号を形成することができた。したがって、ハーモニーデータを含まない楽曲データを演奏する場合にはハーモニー音声信号を形成できず、歌唱を盛り上げることができないという欠点があった。
【０００４】
この発明は、カラオケ曲を演奏するための楽曲データ中に歌唱メロディに対するハーモニーデータがない場合でも歌唱旋律データを用いて的確なハーモニー音声信号を自動形成して出力できるカラオケ装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、カラオケ曲の歌唱旋律データ、カラオケ演奏用データを含む楽曲データを記憶する記憶手段と、該楽曲データの音高分布に基づいて調を検出する調検出手段と、前記カラオケ演奏用データを読み出すことによってカラオケ曲の演奏を実行するカラオケ演奏手段と、歌唱音声信号を入力する歌唱入力手段と、該歌唱入力手段から入力された歌唱音声信号に基づき、前記調検出手段が検出した調の音階上で前記歌唱旋律データから所定度数上または下の音高の音声信号を生成して、該生成した音声信号を前記歌唱入力手段から入力された歌唱音声信号とともに出力するハーモニー信号形成手段とを備えたことを特徴とする。
【０００７】
カラオケ曲などの一般の曲ははっきりした調性を有する曲ばかりである。調性を有する曲の場合、曲中における音高の出現度数はその調に応じて極めて偏りがある。たとえば、主音や３度音，５度音など主要な音高の音は極めて頻繁に出現し、音階音から外れた半音の出現度数は概して低い。この発明は、このような一般の曲の特徴に着目し、旋律データ，伴奏データにおける各音高の出現度数を集計し、この出現度数の分布に基づいてこの曲の調を検出する。出現度数の集計は、音高のオクターブ情報を捨象した１２音名毎に出現度数を集計するようにしてもよい。また、全曲にわたってまとめて集計するのではなく、複数の部分に分割して集計し、各部分毎に調を検出するようにしてもよい。このようにすることにより、曲中の転調を検出することができる。調が検出されれば、旋律データからこの調の音階に合った適当な音程のハーモニーデータを生成することができる。また、請求項２のカラオケ装置においては、ガイドメロディデータなどの歌唱旋律データからハーモニーパートのデータを生成し、歌唱者の歌唱に対してハーモニーをつけることができる。また、上記調の検出を楽曲データのロード時に行えば、リアルタイムのハーモニー音声信号の形成を、転調した場合を含めて、的確に行うことができる。
【０００８】
【発明の実施の形態】
図面を参照してこの発明の実施形態であるカラオケ装置について説明する。このカラオケ装置は、楽曲データで音源装置を駆動することによりカラオケ演奏音を発生する音源カラオケ装置であり、ハーモニー付加機能を備えている。楽曲データは音源装置などを駆動するためのカラオケ演奏用データのほかカラオケ歌唱者が歌唱すべきメロディを表すガイドメロディデータ（歌唱旋律データ）などで構成されている。また、楽曲データのなかにはハーモニー音声信号を形成するためのハーモニーデータ（ハーモニートラック）を含むものもある。ここでハーモニー音声信号とは、歌唱旋律に対して３度や５度の音程で進行するハーモニーパートの音声信号である。楽曲データは、ハードディスク装置１７に約１万曲が記憶されている。ここで、ハーモニー付加機能とは、カラオケ曲の演奏に合わせて歌唱者の歌唱音声信号に前記ハーモニー音声信号を付加する機能であり、演奏される楽曲データが前記ハーモニーデータを含む場合には、該データを読み出すことによってハーモニー音声信号を形成し、ハーモニーデータを含まない場合には前記カラオケ演奏用データおよびガイドメロディデータに基づいてハーモニーデータを生成し、これに基づいてハーモニー音声信号を形成する。
【０００９】
図１は同カラオケ装置のブロック図である。装置全体の動作を制御するＣＰＵ１０には、バスを介してＲＯＭ１１，ＲＡＭ１２，ハードディスク記憶装置（ＨＤＤ）１７，通信制御部１６，リモコン受信部１３，表示パネル１４，パネルスイッチ１５，音源装置１８，音声データ処理部１９，効果用ＤＳＰ２０，文字表示部２３，ＬＤチェンジャ２４，表示制御部２５および音声処理用ＤＳＰ３０が接続されている。
【００１０】
ＲＯＭ１１には、システムプログラム，アプリケーションプログラム，ローダおよびフォントデータが記憶されている。システムプログラムは、この装置の基本動作や周辺機器とのデータ送受を制御するプログラムである。アプリケーションプログラムは周辺機器制御プログラム，シーケンスプログラムなどである。カラオケ演奏時にはシーケンスプログラムがＣＰＵ１０によって実行され、楽曲データに基づいた楽音の発生，映像の再生が行われる。ローダは、ホストステーションから楽曲データをダウンロードするためのプログラムである。フォントデータは、歌詞や曲名などを表示するためのものであり、明朝体やゴジック体などの複数種類の文字種のフォントが記憶されている。また、ＨＤＤ１７には楽曲データファイルが設定され、約１万曲の楽曲データを記憶している。ＲＡＭ１２には、歌唱者によって選曲されたカラオケ曲の楽曲データをＨＤＤ１７から読み出すための実行データ記憶エリア１２ａが設定される。通信制御部１６は、ＩＳＤＮ回線を介してホストステーションと交信し、ホストステーションから楽曲データなどをダウンロードする。ダウンロードされた楽曲データなどはＨＤＤ１７に書き込まれる。
【００１１】
リモコン受信部１３はリモコン３１から送られてくる赤外線信号を受信してデータを復元する。リモコン３１は選曲スイッチなどのコマンドスイッチやテンキースイッチなどを備えており、利用者がこれらのスイッチを操作するとその操作に応じたコードで変調された赤外線信号を送信する。表示パネル１４はこのカラオケ装置の前面に設けられており、現在演奏中の曲コードや予約曲数などを表示するものである。パネルスイッチ１５はカラオケ装置の前面操作部に設けられており、曲番号入力スイッチなどを含んでいる。
【００１２】
音源装置１８は、ＣＰＵ１０から入力されるデータに基づいて楽音信号を形成する。音源装置１８は、複数の発音チャンネルを有しており、複数パートの楽音を同時に形成することができる。音声データ処理部１９は、楽曲データに含まれるＡＤＰＣＭデータである音声データに基づき、指定された長さ，指定された音高の音声信号を形成する。音声データは、バックコーラスや模範歌唱音などの音源装置１８で電子的に発生しにくい信号波形をそのままディジタル化して記憶したものである。一方、歌唱用のマイク２７から入力された歌唱の音声信号はプリアンプ２８で増幅されＡ／Ｄコンバータ２９でディジタル信号に変換されたのち効果用ＤＳＰ２０および音声処理用ＤＳＰ３０に入力される。音声処理用ＤＳＰ３０には、このディジタル化された歌唱音声信号のほか、ＣＰＵ１０からガイドメロディデータ，ハーモニーデータが入力される。音声処理用ＤＳＰ３０はこれらのデータに基づいて歌唱者の歌唱音声信号から波形要素データを切り出し、この波形要素データを合成してハーモニー音声信号を形成する。このハーモニー音声信号は効果用ＤＳＰ２０に出力される。
【００１３】
ここで、ハーモニーデータが楽曲データに含まれている場合には、ＣＰＵ１０はこれを読み出して音声処理用ＤＳＰ３０に入力する。楽曲データにハーモニーデータが含まれていない場合には、ＣＰＵ１０はＨＤＤ１７から実行データ記憶エリア１２ａにこの楽曲データを読み出すとき、この読み出しに並行してカラオケ演奏音，ガイドメロディにおける各１２半音名（Ｃ〜Ｂ）の出現度数（音高分布）を集計し、この出現度数の分布に基づいてこの曲の調を検出する。そして、カラオケ演奏を実行するとき、前記ガイドメロディデータと検出された調に基づいてハーモニーデータを生成し、これを音声処理用ＤＳＰ３０に入力する。
【００１４】
効果用ＤＳＰ２０には、音源装置１８が形成した楽音信号、音声データ処理部１９が形成した音声信号、Ａ／Ｄコンバータがディジタル変換した歌唱音声信号および音声処理用ＤＳＰ３０が形成したハーモニー音声信号が入力される。効果用ＤＳＰ２０は、これら入力された音声信号や楽音信号に対してリバーブやエコーなどの効果を付与する。効果用ＤＳＰ２０が付与する効果の種類や程度は、楽曲データの効果トラックのイベントデータ（ＤＳＰコントロールデータ）に基づいて制御される。ＤＳＰコントロールデータはＤＳＰコントロール用シーケンスプログラムに基づき、ＣＰＵ１０が所定のタイミングに効果用ＤＳＰ２０に入力する。効果が付与された楽音信号，音声信号はＤ／Ａコンバータ２１でアナログ信号に変換されたのちアンプ・スピーカ２２に出力される。アンプ・スピーカ２２はこの信号を増幅したのち放音する。
【００１５】
文字表示部２３は入力される文字データに基づいて、曲名や歌詞などの文字パターンを生成する。また、ＬＤチェンジャ２４は入力された映像選択データ（チャプタナンバ）に基づき、対応するＬＤの背景映像を再生する。映像選択データは当該カラオケ曲のジャンルデータなどに基づいて決定される。ジャンルデータは楽曲データのヘッダに書き込まれており、カラオケ演奏スタート時にＣＰＵ１０によって読み出される。ＣＰＵ１０はジャンルデータに基づいてどの背景映像を再生するかを決定し、その背景映像を指定する映像選択データをＬＤチェンジャ２４に対して出力する。ＬＤチェンジャ２４には、５枚（１２０シーン）程度のレーザディスクが内蔵されており約１２０シーンの背景映像を再生することができる。映像選択データによってこのなかから１つの背景映像が選択され、映像データとして出力される。文字パターン，映像データは表示制御部２５に入力される。表示制御部２５ではこれらのデータをスーパーインポーズで合成してモニタ２６に表示する。
【００１６】
次に、図２を参照して同カラオケ装置で用いられる楽曲データの構成について説明する。同図（Ａ）は楽曲データの全体構成を示す図である。この図では、ハーモニーデータを記録したハーモニートラックを持たない楽曲データの例を示している。また、同図（Ｂ）は、各トラックの構成例を示す図である。
【００１７】
同図（Ａ）において、楽曲データは、ヘッダ，楽音トラック，ガイドメロディトラック，歌詞トラック，音声トラック，効果トラックおよび音声データ部からなっている。
【００１８】
ヘッダは、この楽曲データに関する種々のデータが書き込まれる部分であり、曲名，ジャンル，発売日，曲の演奏時間（長さ），ハーモニーパートトラックの有無などのデータが書き込まれている。ＣＰＵ１０は、カラオケ演奏のスタート時に、この楽曲データをＨＤＤ１７から実行データ記憶エリア１２ａに読み出すが、このときヘッダを読み取ってハーモニートラックの有無を判断する。ハーモニートラックを有する楽曲データの場合は読み出しのみを行い、ハーモニートラックを持たない楽曲データの場合は読み出しに並行して楽音トラック，ガイドメロディトラックにおける各１２半音名（Ｃ〜Ｂ）の出現度数（音高分布）を集計する。読み出し終了ののち、この集計結果に基づいてこの曲の調を割り出す。また、ＣＰＵ１０は、このヘッダに含まれるジャンルデータに基づいてモニタ２６に表示する背景映像を決定し、ＬＤチェンジャ２４に対してその映像のチャプタナンバを送信する。背景映像の決定方式は、冬をテーマにした演歌の場合には雪国の映像を選択し、ポップスの場合には外国の映像を選択するなどである。
【００１９】
各トラックは、同図（Ｂ）に示すように複数のイベントデータと各イベントデータ間の時間間隔を示すデュレーションデータΔｔからなるシーケンスデータで構成されている。各トラックのイベントデータはカラオケ演奏中にシーケンスプログラムに基づきＣＰＵ１０によって読み出される。シーケンスプログラムは、所定のテンポクロックでΔｔをカウントし、Δｔのカウントを終了したときこのデュレーションデータΔｔに続くイベントデータを読み出して所定の処理部へ出力するプログラムである。
【００２０】
楽音トラックは、複数音色の楽音を発音するため、複数パートのトラックを含んでいる。パートはピアノやフルートなどの音高の定まった楽音を発音するノーマル属性のパートと、音高の定まらないリズム音を発音するためのリズム属性のパートに分類される。各楽音の音符の長さは、当該音のノートオンイベントデータからノートオフイベントデータまでのデュレーションデータΔｔの合計で表される。また、ガイドメロディトラックには、このカラオケ曲の歌唱旋律であるガイドメロディのシーケンスデータが書き込まれている。このデータはＣＰＵ１０から音声処理用ＤＳＰ３０に入力される。音声処理用ＤＳＰ３０はこのデータに基づいて歌唱音声信号から波形要素データを切り出す。
【００２１】
以下に説明する歌詞トラック，音声トラック，効果トラックのデータは、楽音データではないが、インプリメンテーションの統一をとり、作業工程を容易にするためこのトラックもＭＩＤＩデータ形式で記述されている。データ種類は、システム・エクスクルーシブ・メッセージである。
【００２２】
歌詞トラックは、モニタ２６上に歌詞を表示するためのシーケンスデータを記憶したトラックである。歌詞トラックのデータ記述において、通常は１行の歌詞を１つの歌詞表示データとして扱っている。歌詞表示データは１行の歌詞の文字データ（文字コードおよびその文字の表示座標）、この歌詞の表示時間（通常は３０秒前後）、および、ワイプシーケンスデータからなっている。ワイプシーケンスデータとは、曲の進行に合わせて歌詞の表示色を変更してゆくためのシーケンスデータであり、表示色を変更するタイミング（この歌詞が表示されてからの時間）と変更位置（座標）が１行分の長さにわたって順次記録されているデータである。
【００２３】
音声トラックは、音声データ部に記憶されている音声データｎ（ｎ＝１，２，３，‥‥）の発生タイミングなどを指定するシーケンストラックである。音声データ部には、音源装置１８で合成しにくいバックコーラスやハーモニー歌唱などの人声が記憶されている。音声トラックには、音声指定データと、音声指定データの読み出し間隔、すなわち、音声データを音声データ処理部１９に出力して音声信号形成するタイミングを指定するデュレーションデータΔｔが書き込まれている。音声指定データは、音声データ番号，音程データおよび音量データからなっている。音声データ番号は、音声データ部に記録されている各音声データの識別番号ｎである。音程データ，音量データは、形成すべき音声データの音程や音量を指示するデータである。すなわち、言葉を伴わない「アー」や「ワワワワッ」などのバックコーラスは、音程や音量を変化させれば何度も利用できるため、基本的な音程，音量で１つ記憶しておき、このデータに基づいて音程や音量をシフトして繰り返し使用する。音声データ処理部１９は音量データに基づいて出力レベルを設定し、音程データに基づいて音声データの読出間隔を変えることによって音声信号の音程を設定する。
【００２４】
効果トラックには、効果用ＤＳＰ２０を制御するためのＤＳＰコントロールデータが書き込まれている。効果用ＤＳＰ２０は音源装置１８，音声データ処理部１９，音声処理用ＤＳＰ３０から入力される信号に対してリバーブなどの残響系の効果を付与する。ＤＳＰコントロールデータは、このような効果の種類を指定するデータおよびその変化量データなどからなっている。
【００２５】
図３および図４を参照してこのカラオケ装置の調検出動作を説明する。ＣＰＵ１０は、ハーモニートラックを持たない楽曲データをＨＤＤ１７からＲＡＭ１２の実行データ記憶エリア１２ａに読み出すとき、読出動作に並行して以下の処理を行う。４分音符以上の長さの音符を抽出する。音符の長さはノートオンイベントデータからノートオフイベントデータまでの時間的間隔で判断することができる。これよりも短い音符を抽出しない訳は、短い音符は調に無関係な経過的な音符が多いからである。抽出された音符の音高（ノートナンバ）のオクターブ情報を捨象して１２音名（Ｃ〜Ｂ）に変換して、１小節毎にその出現度数を図３の出現度数テーブルに記録する。この例では、最初の６小節はハ長調であり、７小節以後はイ短調に転調しているものとする。楽曲データの読出終了後、すなわち、全ての４分音符以上の音符の音高を出現度数テーブルに記録したのち、４小節を１フレーム、すなわち、第１小節〜第４小節のフレームをフレーム１，第２小節〜第５小節のフレームをフレーム２，第３小節〜第６小節のフレームをフレーム３，……として各フレーム毎に調を検出する。まず、フレーム内の１２音名の出現度数を集計する。集計された度数分布の例を図４（Ａ）に示す。そしてこの集計結果と同図（Ｂ）の長調判定スケールおよび同図（Ｃ）の短調判定スケールとを比較して最も一致する点を探す。同図（Ａ）の度数分布の例はハ長調の例であるため、長調判定スケールの原点Ｃの位置に当てたとき最も一致している。したがって、この場合ハ長調と判断される。また、図３の例の場合、第７小節で転調しているため、第６小節から第７小節に跨がるフレームは、異なる調が混ざって集計されていることになる。このためこのようなフレームの集計結果は、長調判定スケールおよび短調判定スケールをどの音名から適用しても一致度が低くなり、このことに基づいて転調を判断することができる。すなわち、ある調に対する一致度が高いフレームから全調の一致度が低いフレームを経過して他の調に対する一致度が高いフレームが現れたとき、この全調の一致度が低いフレームの区間に転調点があると判断することができる。
【００２６】
図５は、調判定動作を示すフローチャートである。歌唱者によって選曲されたカラオケ曲の楽曲データをＨＤＤ１７から実行データ記憶エリア１２ａに読み出す（ｓ１）。この読み出しと並行して４分音符以上の長さの音符を抽出し（ｓ２）、該音符の音名な出現度数テーブルに書き込んでゆく（ｓ３）。この書き込みは図３に示すように小節毎に分けて行われる。楽曲データの読み出しが終了するまで上記動作を継続する（ｓ４）。
【００２７】
楽曲データの読み出しが終了すると、フレーム１から順に以下の処理を行う。まず、フレーム内の度数データを読み出し（ｓ５）、度数分布リスト（図４（Ａ）参照）を作成する（ｓ６）。この度数分布リストを図４（Ｂ），（Ｃ）の長調判定スケール，短調判定スケールと比較する（ｓ７）。すなわち、長調判定スケールの主音（ド）をＣの位置に合わせて分布リストの形状と比較する。次に、長調判定スケールの主音（ド）をＣ♯の位置に合わせて分布リストの形状と比較する。以下、この比較を主音がＤ，……，Ｂの１２半音の位置にそれぞれ合わせて行う。さらに、短調判定スケールについても主音（ラ）をＣ〜Ｂの１２半音の位置にそれぞれ合わせて分布リストの形状と比較する。この比較の結果、一致度が最も高い調にこのフレームの調を決定する（ｓ８）。決定された調とその一致度のポイントを、出現度数テーブルに対応して各小節毎に設けられている調レジスタに記憶する（ｓ９）。以上の動作を全フレーム（曲全体）について終了するまで繰り返し行う（ｓ１０）。上記処理が終了したのち、曲の途中で調の切り換えがあったか否かを判断し（ｓ１１）、調の切り換えがあった場合には、一致度のポイントの変化に基づいて転調点を正確に決定する（ｓ１２）。これにより、異なる調を跨ぐフレームで調を判定することによる不正確さを解消することができる。
【００２８】
図６は、カラオケ演奏に並行して行われるハーモニーデータ生成動作を示すフローチャートである。カラオケ演奏がスタートすると、楽音データや効果トラックなどのカラオケ演奏用データを読み出して（ｓ２０）、音源装置１８や効果用ＤＳＰ２０などの対応する動作部これを送信する（ｓ２１）。次に、ガイドメロディデータをガイドメロディトラックから読み出すとともに（ｓ２２）、このガイドメロディ（歌唱旋律）に対するハーモニーの度数を決定する（ｓ２３）。すなわち、ハーモニーをメロディの３度上，５度上，３度下，５度下またはその他の音程にするかを決定する。この決定は、和音，メロディの進行や対位法などに基づいて決定される。そして、調レジスタからこの小節の調を読み出し（ｓ２４）、ｓ２３で決定されたハーモニーの度数および読み出された調に基づいてハーモニーのシフト半音数を決定する。このシフト半音数は、ハーモニーをガイドメロディからノートナンバにしてどれだけ上下させるかを指示する数値である。ガイドメロディデータに含まれるノートナンバデータを上記シフト半音数だけ増減してハーモニーデータを生成し（ｓ２６）、これをガイドメロディデータとともに音声処理用ＤＳＰ３０に出力する（ｓ２７）。この動作を曲が終了するまで繰り返し実行する（ｓ２８）。
【００２９】
図７は前記音声処理用ＤＳＰ３０の動作を説明する図である。音声処理用ＤＳＰ３０は、入力された歌唱音声信号に対するハーモニー音声信号を形成する。この処理動作は内蔵されているマイクロプログラムに基づいて実行されるが、このマイクロプログラムをブロック化するとこの図のように表すことができる。
【００３０】
マイク２７から入力されアンプ２８で増幅されＡ／Ｄコンバータ２９でディジタル信号に変換された歌唱音声信号は、この音声処理用ＤＳＰ３０の周期検出部４０，ピーク検出部４１，音素検出部４２，平均音量検出部４３および乗算器４５に入力される。
【００３１】
周期検出部４０は入力された歌唱音声信号の波形に基づきその周期Ｔを検出する（図８（Ａ）参照）。また、周期検出部４０は、ＣＰＵ１０からガイドメロディデータを入力している。ガイドメロディデータは、ガイドメロディの周波数を表すデータである。子音部や音の変わり目などで歌唱音声信号の音程が不定になったとき、周期検出部４０はこのガイドメロディデータが指示する周波数から得た周期情報を出力する。周期検出部４０は検出した周期情報をピーク検出部４１および窓関数発生部４４に出力する。
【００３２】
ピーク検出部４１は入力された歌唱音声信号の１つの周期内におけるローカルピークを検出する（図８（Ａ）参照）。周期検出部４０から入力される周期情報によって１周期の間隔が決定される。ピーク検出部４１は検出したピークタイミング情報を窓関数発生部４４に出力する。
【００３３】
音素検出部４２は、入力された歌唱音声信号のレベルの切れ目や周波数成分の変化によって音素の切れ目を検出する。ここで音素とは発音を個別の子音と母音に分割した区間をいうものとする。図８（Ｂ）において、歌詞「あかしやの」は、それぞれ「あ」「か」「し」「や」「の」の５個の音節からなっており、これらの音節は「ａ」「ｋ」「ａ」「ｓｈ」「ｉ」「ｙ」「ａ」「ｎ」「ｏ」の９個の音素に分割することができる。各音節間にはレベルが低下する切れ目があり、子音がホワイトノイズ的な非周期波形であるのに対し、母音が周期波形であることなどに基づいて音素の分割を行う。音素検出部４０は音素の切れ目を検出すると、切れ目である旨を表示する情報を窓関数発生部４４に出力する。
【００３４】
平均音量検出部４３は入力された歌唱音声信号の振幅レベルを平滑して平均音量を検出する。平均音量検出部４３は検出した平均音量情報を音量制御部５０に出力する。
【００３５】
窓関数発生部４４は図８（Ｃ）に示すような窓関数を出力する。この窓関数は乗算器４５に出力される。乗算器４５には上述したように歌唱音声信号が入力されているため、歌唱音声信号がこの窓関数の部分のみ切り取られることになる（図８（Ｃ）参照）。窓関数としては、開始から終了まで微分的に連続な関数を使用することが望ましい。微分的に連続な関数を使用すると、歌唱音声信号の一部（１周期）のみを切り出しても、切り出しの境界でノイズを発生することがない。このため、このＤＳＰ３０では、ｓｉｎ2 （ωｔ／２）（ｔ＝０〜Ｔ：Ｔは歌唱音声信号の１周期）を使用している。この式からも明らかなように、窓関数の長さは歌唱音声信号の１周期である。１周期の長さは周期検出部４０から入力される周期情報によって与えられる。また、窓関数発生部４４は、数十ｍｓ〜１００ｍｓの適当な間隔で繰り返し窓関数を発生する。このようにある程度時間をあけて窓関数を発生するのは、同じ波形要素データをある程度継続しないと、その波形要素データの音色が聴取者に認識されないからである。一方、音素検出部４２から音素の切れ目を表示する情報が入力されたときには必ず窓関数を発生して新たな音素の波形要素データの切り出しを行う。これは、音素が切り換わると音色が全く変わるため、これに追従するためである。また、窓関数の開始タイミングは、ピーク検出部４１から入力されたピークが窓関数の中央に来るように、ピークと次のピークの中間点すなわち最もレベルの低い点となるように制御される。上記のような窓関数で切り出された波形要素データは、歌唱音声信号の音色すなわちフォルマント（倍音成分）をほぼそのまま保存したものとなる。
【００３６】
窓関数発生部４４は、窓関数を発生すると同時に、窓関数を発生する旨およびその長さに関する情報を書込制御部４７に出力する。書込制御部４７は、この情報に対応して窓関数の開始から終了までの間、サンプリングクロック（４４．１ｋＨｚ）に同期して歩進する書込アドレスをメモリ４６に入力する。この書込アドレスの入力により、乗算器４５で切り出された波形要素データはメモリ４６に記憶される。
【００３７】
以上の構成により、メモリ４６には、そのときの歌唱音声信号の１周期分の波形要素データが記憶される。この波形要素データを任意の周期で繰り返し読み出すことにより、その任意の周期の基本周波数を有し、波形要素データすなわち歌唱音声信号の音色（倍音構成）を備えた音声信号を合成することができる。そこで、この波形要素データを歌唱音声信号から３度，５度など協和する周波数関係にあるハーモニーデータが指示する周波数の周期で繰り返し読み出すことにより、その周波数で且つ歌唱音声信号と同じ音色のハーモニー音声信号を形成することができる。
【００３８】
メモリ４６の読出制御は読出制御部４８が行う。読出制御部４８にはＣＰＵ１０からハーモニーデータが入力されている。このハーモニーデータは、楽音データのハーモニートラックから読み出されたイベントデータである。読出制御部４８はこのハーモニーデータの周波数でメモリ４６を繰り返しアクセスする。すなわち、１秒間にハーモニーデータの周波数回だけ波形要素データを繰り返して読み出す。このハーモニーがガイドメロディよりも周波数が低い場合には、ハーモニー音声信号は、図９（Ａ）に示すように波形要素データがデータ長Ｔよりも長いＴ１の間隔をおいて配列された波形となる。このハーモニーがガイドメロディよりも周波数が高い場合には、ハーモニー音声信号は、図９（Ｂ）に示すように波形要素データがデータ長Ｔよりも短いＴ２の間隔で互いに重なりあって配列された波形となる。これにより、ハーモニー音声信号の基本周波数は１／Ｔ１および１／Ｔ２となるが各波形要素データ中の倍音成分はそのまま保存されているため、歌唱音声信号と同様のフォルマントが形成される。また、窓関数が微分的に連続であるためノイズが発生することはない。
【００３９】
上記のようにメモリ４６から波形要素データを繰り返し読み出すことによって形成されたハーモニー音声信号は切換器４９を経て乗算器５１に入力される。乗算器５１は音量制御部５０から音量制御データが入力される。音量制御部５０は前記平均音量検出部４３から歌唱音声信号の平均音量情報を入力しており、この平均音量情報に基づいて音量制御データを発生する。音量制御データは、たとえば平均音量情報の８０パーセントの値に設定される。乗算器５１で音量制御をされたハーモニー音声信号は効果用ＤＳＰ２０に出力される。なお、切換器４９はフレーズの切れ目などで強制的に出力を０にするとき使用される。
【００４０】
音声処理用ＤＳＰ３０の以上のような動作により、歌唱者の歌唱音声信号の音色をそのまま保存したハーモニー音声信号を形成することができるとともに、歌唱音声信号の周期（周波数）を検出できない場合でも、ハーモニー音声信号を支障なく形成することができる。すなわち、通常の歌唱者の歌唱であれば、歌唱音声信号の周波数とガイドメロディデータで与えられる周波数とはそれほど差がないと考えられるため、その周期で波形要素データを切り出して、所定の周波数でこれを再合成することにより、ほぼ歌唱者の音色を維持したハーモニー音声信号を形成することができる。
【００４１】
この実施形態では、調を判定する単位のフレームを４小節としているが、フレームの大きさはこれに限定されない。また、長調判定スケール，短調判定スケールと１２音名の出現度数分布との一致度に基づいて調を判定するようにしているが、出現度数分布に基づく調判定方法はこれに限定されない。
【００４２】
【発明の効果】
以上のようにこの発明によれば、ハーモニーデータが無くても旋律データや伴奏データを用いてハーモニーデータを生成することができる。また、この発明によれば、既存の（ハーモニーパートのない）楽曲データでカラオケ演奏をする場合でも、ハーモニーパートを生成してハーモニー音声信号を形成・発音することが可能になる。
【図面の簡単な説明】
【図１】この発明の実施形態であるカラオケ装置のブロック図
【図２】同カラオケ装置に用いられる楽曲データの構成を示す図
【図３】同カラオケ装置における調検出の方式を説明する図
【図４】同カラオケ装置における調検出の方式を説明する図
【図５】同カラオケ装置の調検出動作を示すフローチャート
【図６】同カラオケ装置の楽曲データ読出動作を示すフローチャート
【図７】同カラオケ装置の音声処理用ＤＳＰの機能構成を示す図
【図８】同音声処理用ＤＳＰの波形切出動作を説明する図
【図９】同音声処理用ＤＳＰの音声変換動作を説明する図
【符号の説明】
１…ＣＰＵ、１２…ＲＡＭ、１７…ＨＤＤ、３０…音声処理用ＤＳＰ
【図１】
0003718919.tif 000002
【図２】
0003718919.tif 000003
【図３】
0003718919.tif 000004
【図４】
0003718919.tif 000005
【図５】
0003718919.tif 000006
【図６】
0003718919.tif 000007
【図７】
0003718919.tif 000008
【図８】
0003718919.tif 000009
【図９】
0003718919.tif 000010