(57)【特許請求の範囲】
【請求項１】
マイクから入力された音声信号を取得するステップと、
予め記憶手段に格納された音楽の音階を示す周波数（以下、「音楽音階周波数」と呼ぶ。）のデータを前記記憶手段から取得するステップと、
前記記憶手段から取得した前記データが示す前記音楽音階周波数の成分を、取得した前記マイクからの前記音声信号から抽出するステップと、
前記マイクからの前記音声信号から抽出された前記音楽音階周波数の前記成分を評価するステップと、を含む音階認識方法。
【請求項２】
前記音楽音階周波数の成分を抽出する前記ステップは、
前記マイクからの前記音声信号を一定時間間隔Ｃでサンプリングして得られたディジタルデータＤ、前記記憶手段から取得した前記音楽音階周波数の前記データ、正弦関数、及び、余弦関数に基づき、前記マイクからの前記音声信号から、前記音楽音階周波数の前記成分を抽出する、請求項１記載の音階認識方法。
【請求項３】
前記音楽音階周波数の成分を抽出する前記ステップは、
前記音楽音階周波数および時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記音楽音階周波数に対応する角速度である）を導出するステップ、
前記ディジタルデータＤに基づいて数１を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出するステップ、
前記ディジタルデータＤに基づいて数２を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出するステップ、
数３を演算して、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分を表す周波数パワースペクトル実効値Ａを算出するステップ、及び
数４を演算して前記時間ｔを更新するステップ、を含む請求項２記載の音階認識方法。
【数１】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【数２】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【数３】
Ａ←√（Ａｓ２＋Ａｃ２）
【数４】
ｔ←ｔ＋Ｃ
【請求項４】
前記音楽音階周波数の成分を抽出する前記ステップは、
前記音楽音階周波数および時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記前記音楽音階周波数に対応する角速度である）を導出するステップ、
前記ディジタルデータＤに基づいて数５を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出するステップ、
前記ディジタルデータＤに基づいて数６を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出するステップ、
数７を演算して、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分を表す周波数パワースペクトル実効値Ａを算出するステップ、及び
数８を演算して前記時間ｔを更新するステップ、を含む請求項２記載の音階認識方法。
【数５】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【数６】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【数７】
Ａ←Ａｓ２＋Ａｃ２
【数８】
ｔ←ｔ＋Ｃ
【請求項５】
前記音楽音階周波数の成分を抽出する前記ステップは、
前記マイクからの前記音声信号の振幅レベルに応じて前記数値Ａを補正するステップをさらに含む請求項３又は４記載の音階認識方法。
【請求項６】
前記音楽音階周波数の成分を抽出する前記ステップは、同じ時間の周波数として処理されるべき複数の周波数を、同じ時間の前記音楽音階周波数として処理して、それら音楽音階周波数ごとに、前記音声信号に含まれる前記音楽音階周波数の成分を抽出する、請求項１から５のいずれかに記載の音階認識方法。
【請求項７】
前記記憶手段に格納された前記音楽音階周波数を示す前記データは、模範となる旋律の音階を示すデータであり、
前記音楽音階周波数の成分を抽出する前記ステップは、前記記憶手段から前記旋律の前記音階を示す前記データを読み出し、読み出した前記データが示す前記音階の周波数である前記音楽音階周波数、その音楽音階周波数より高い音階の周波数、及び、その音楽音階周波数より低い音階の周波数を、同じ時間の音楽音階周波数として処理して、それら音楽音階周波数ごとに、前記音声信号に含まれる前記音楽音階周波数の成分を抽出する、請求項１から５のいずれかに記載の音階認識方法。
【請求項８】
前記音楽音階周波数を示す前記データは、複数の音楽フレーズごとに用意され、
前記音楽音階周波数の成分を抽出する前記ステップは、前記音楽フレーズごとに、前記記憶手段から取得した前記データが示す前記音楽音階周波数の成分を、取得した前記マイクからの前記音声信号から抽出し、
前記音楽音階周波数の前記成分を評価する前記ステップは、前記音楽フレーズごとに、前記マイクからの前記音声信号から抽出された前記音楽音階周波数の前記成分を評価し、前記マイクからの前記音声信号と一致する前記音楽フレーズを決定し、
前記音階認識方法は、
前記マイクからの前記音声信号と一致する前記音楽フレーズに基づいて処理を実行するステップをさらに含む請求項１から５のいずれかに記載の音階認識方法。
【請求項９】
音楽の音階を示す周波数（以下、「音楽音階周波数」と呼ぶ。）のデータを予め格納する記憶手段、
マイクから入力される音声信号を取得する第１取得手段、
前記音楽音階周波数の前記データを前記記憶手段から取得する第２取得手段、
前記記憶手段から取得した前記データが示す前記音楽音階周波数の成分を、前記マイクからの前記音声信号から抽出する演算手段、及び
前記マイクからの前記音声信号から抽出された前記音楽音階周波数の前記成分を評価する評価手段と、を備える音階認識装置。
【請求項１０】
前記第１取得手段は、前記マイクから入力される前記音声信号を一定時間間隔ＣでサンプリングしてディジタルデータＤに変換するアナログ／ディジタル変換手段を含み、
前記演算手段は、前記ディジタルデータＤ、前記記憶手段から取得した前記音楽音階周波数の前記データ、正弦関数、及び、余弦関数に基づき、前記マイクからの前記音声信号から、前記音楽音階周波数の前記成分を抽出する、請求項９記載の音階認識装置。
【請求項１１】
前記演算手段は、
前記音楽音階周波数および時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記音楽音階周波数に対応する角速度である）を導出する導出手段、
前記ディジタルデータＤに基づいて数９を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出する第１演算手段、
前記ディジタルデータＤに基づいて数１０を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出する第２演算手段、
数１１を演算して、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分を表す周波数パワースペクトル実効値Ａを算出する第３演算手段、及び
数１２を演算して前記時間ｔを更新する更新手段、を含む請求項１０記載の音階認識装置。
【数９】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【数１０】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【数１１】
Ａ←√（Ａｓ２＋Ａｃ２）
【数１２】
ｔ←ｔ＋Ｃ
【請求項１２】
前記演算手段は、
前記音楽音階周波数および時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記音楽音階周波数に対応する角速度である）を導出する導出手段、
前記ディジタルデータＤに基づいて数１３を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出する第１演算手段、
前記ディジタルデータＤに基づいて数１４を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出する第２演算手段、
数１５を演算して、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分を表す周波数パワースペクトル実効値Ａを算出する第３演算手段、及び
数１６を演算して前記時間ｔを更新する更新手段、を含む請求項１０記載の音階認識装置。
【数１３】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【数１４】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【数１５】
Ａ←Ａｓ２＋Ａｃ２
【数１６】
ｔ←ｔ＋Ｃ
【請求項１３】
前記演算手段は、
前記マイクからの前記音声信号の振幅レベルに応じて前記数値Ａを補正する補正手段をさらに含む、請求項１１又は１２記載の音階認識装置。
【請求項１４】
前記演算手段は、同じ時間の周波数として処理されるべき複数の周波数を、同じ時間の前記音楽音階周波数として処理して、それら音楽音階周波数ごとに、前記音声信号に含まれる前記音楽音階周波数の成分を抽出する、請求項９から１３のいずれかに記載の音階認識装置。
【請求項１５】
楽譜データに基づいて、前記音楽としてのカラオケのＢＧＭを再生する再生手段をさらに備え、
前記記憶手段に格納された前記音楽音階周波数を示す前記データは、前記楽譜データに同期して歌唱の模範となる旋律の音階を示すデータであり、
前記音階認識装置は、
前記評価手段による評価の結果を出力する出力手段をさらに備える請求項９から１３のいずれかに記載の音階認識装置。
【請求項１６】
前記記憶手段に格納された前記音楽音階周波数を示す前記データは、模範となる旋律の音階を示すデータであり、
前記演算手段は、前記記憶手段から前記旋律の前記音階を示す前記データを読み出し、読み出した前記データが示す前記音階の周波数である前記音楽音階周波数、その音楽音階周波数より高い音階の周波数、及び、その音楽音階周波数より低い音階の周波数を、同じ時間の音楽音階周波数として処理して、それら音楽音階周波数ごとに、前記音声信号に含まれる前記音楽音階周波数の成分を抽出する、請求項９から１３のいずれかに記載の音階認識装置。
【請求項１７】
楽譜データに基づいて、前記音楽としてのカラオケのＢＧＭを再生する再生手段をさらに備え、
前記旋律の前記音階を示す前記データは、前記楽譜データに同期して歌唱の模範となる旋律の音階を示すデータであり、
前記音階認識装置は、
前記評価手段による評価の結果を出力する出力手段をさらに備える請求項１６記載の音階認識装置。
【請求項１８】
前記音楽音階周波数を示すデータは、複数の音楽フレーズごとに用意され、
前記演算手段は、前記音楽フレーズごとに、前記記憶手段から取得した前記データが示す前記音楽音階周波数の成分を、前記マイクからの前記音声信号から抽出し、
前記評価手段は、前記音楽フレーズごとに、前記マイクからの前記音声信号から抽出された前記音楽音階周波数の前記成分を評価し、前記マイクからの前記音声信号と一致する前記音楽フレーズを決定する、請求項９から１３のいずれかに記載の音階認識装置。
【請求項１９】
前記各音楽フレーズの前記音楽音階周波数を示す前記データは、対応する前記音楽フレーズを構成する音符の音階を示すデータであり、
前記演算手段は、前記音楽フレーズごとに、かつ、前記音楽フレーズを構成する前記音符ごとに、前記記憶手段から読み出した前記データが示す前記音符の音階の周波数である前記音楽音階周波数の成分を、前記マイクからの前記音声信号から抽出し、
前記評価手段は、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分を所定の閾値と比較して、前記音楽フレーズの全音符について、前記マイクからの前記音声信号に含まれる前記音楽音階周波数の前記成分が前記所定の閾値より大きいときに、前記マイクからの前記音声信号が当該音楽フレーズと一致すると判断する、請求項１８記載の音階認識装置。
【請求項２０】
前記音階認識装置は、
前記マイクからの前記音声信号と一致する前記フレーズに基づいて処理を実行する第１実行手段をさらに備える請求項１８又は１９記載の音階認識装置。
【請求項２１】
前記第１実行手段は、前記マイクからの前記音声信号と一致する前記音楽フレーズに対応付けられたコードを送信するコード送信手段を含む、請求項２０記載の音階認識装置。
【請求項２２】
前記第１実行手段は、
前記コード送信手段によって送信された前記コードを受信するコード受信手段、および
前記コード受信手段によって受信された前記コードに基づいて処理を実行する第２実行手段をさらに含む請求項２１に記載の音階認識装置。
【請求項２３】
前記第２実行手段は、発光素子、および前記発光素子を所定のパターンで点滅させる発光素子点滅手段を含む、請求項２２記載の音階認識装置。
【請求項２４】
前記第２実行手段は、スピーカ、および前記スピーカから所定の音声パターンを出力させる音声出力手段を含む、請求項２２又は２３記載の音階認識装置。
【請求項２５】
前記マイクから入力される前記音声信号は、テレビ番組に含まれ、家庭用テレビ受像機から出力される音声信号である、請求項１８から２４のいずれかに記載の音階認識装置。
【請求項２６】
前記マイクから入力される前記音声信号は、記録媒体に格納され、前記記憶媒体の再生装置から出力される音声信号である、請求項１８から２４のいずれかに記載の音階認識装置。
【請求項２７】
請求項１から８のいずれか一に記載の音階認識方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、音階認識方法および装置に関し、特にたとえば、入力された音声信号と所定の楽音との比較を行うための音階認識方法および装置に関する。
【０００２】
【従来の技術】
従来のこの種の音階認識装置では、入力された音声信号に対して高速フーリエ変換（ＦＦＴ）を用いた周波数成分の測定を行い、その測定結果に基づいて音声信号の音階認識を行っていた。
【０００３】
【発明が解決しようとする課題】
しかし、リアルタイムで音声信号に含まれる周波数成分をすべて解析するには高速でフーリエ変換を行わなければならず、高い処理能力を持つマイクロプロセサやＤＳＰ（digital signal processor）が必要であった。
【０００４】
それゆえに、この発明の主たる目的は、処理能力の低いマイクロプロセサであってもリアルタイムで音階認識できる、音階認識方法および装置を提供することである。
【０００５】
【課題を解決するための手段】
この発明にしたがった第１の音階認識方法は、（ａ）入力されるアナログ音声信号を一定時間間隔ＣでサンプリングしてディジタルデータＤに変換するステップ、（ｂ）観測周波数ｆおよび時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記周波数ｆに対応する角速度である）を導出するステップ、（ｃ）数１７を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出するステップ、（ｄ）数１８を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出するステップ、（ｅ）数１９を演算して周波数パワースペクトル実効値Ａを算出するステップ、（ｆ）数値Ａに基づいてアナログ音声信号中に含まれる周波数ｆの成分を評価するステップ、そして（ｇ）数２０を演算して時間ｔを更新するステップを含む、音階認識方法である。
【０００６】
【数１７】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【０００７】
【数１８】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【０００８】
【数１９】
0004771323.tif 000002
【０００９】
【数２０】
ｔ←ｔ＋Ｃ
この発明にしたがった第２の音階認識方法は、（ａ）入力されるアナログ音声信号を一定時間間隔ＣでサンプリングしてディジタルデータＤに変換するステップ、（ｂ）観測周波数ｆおよび時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記周波数ｆに対応する角速度である）を導出するステップ、（ｃ）数２１を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出するステップ、（ｄ）数２２を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出するステップ、（ｅ）数２３を演算して周波数パワースペクトル実効値Ａを算出するステップ、（ｆ）数値Ａに基づいてアナログ音声信号中に含まれる周波数ｆの成分を評価するステップ、そして（ｇ）数２４を演算して時間ｔを更新するステップを含む、音階認識方法である。
【００１０】
【数２１】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【００１１】
【数２２】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【００１２】
【数２３】
Ａ←Ａｓ2＋Ａｃ2
【００１３】
【数２４】
ｔ←ｔ＋Ｃ
この発明にしたがった第１の音階認識装置は、入力されるアナログ音声信号を一定時間間隔ＣでサンプリングしてディジタルデータＤに変換するアナログ／ディジタル変換手段、観測周波数ｆおよび時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記周波数ｆに対応する角速度である）を導出する導出手段、数２５を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出する第１演算手段、数２６を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出する第２演算手段、数２７を演算して周波数パワースペクトル実効値Ａを算出する第３演算手段、数値Ａに基づいてアナログ音声信号中に含まれる周波数ｆの成分を評価する評価手段、および数２８を演算して時間ｔを更新する更新手段を含む、音階認識装置である。
【００１４】
【数２５】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【００１５】
【数２６】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【００１６】
【数２７】
0004771323.tif 000003
【００１７】
【数２８】
ｔ←ｔ＋Ｃ
この発明にしたがった第２の音階認識装置は、入力されるアナログ音声信号を一定時間間隔ＣでサンプリングしてディジタルデータＤに変換するアナログ／ディジタル変換手段、観測周波数ｆおよび時間ｔよりｓｉｎωｔおよびｃｏｓωｔ（ωは前記周波数ｆに対応する角速度である）を導出する導出手段、数２９を演算してフーリエ正弦級数の係数を求めるための累積値Ａｓを算出する第１演算手段、数３０を演算してフーリエ余弦級数の係数を求めるための累積値Ａｃを算出する第２演算手段、数３１を演算して周波数パワースペクトル実効値Ａを算出する第３演算手段、数値Ａに基づいてアナログ音声信号中に含まれる周波数ｆの成分を評価する評価手段、および数３２を演算して時間ｔを更新する更新手段を含む、音階認識装置である。
【００１８】
【数２９】
Ａｓ←Ａｓ＋Ｄ・ｓｉｎωｔ
【００１９】
【数３０】
Ａｃ←Ａｃ＋Ｄ・ｃｏｓωｔ
【００２０】
【数３１】
Ａ←Ａｓ2＋Ａｃ2
【００２１】
【数３２】
ｔ←ｔ＋Ｃ
この発明にしたがった第３の音階認識装置は、請求項１ないし４のいずれかに記載の音階認識方法を用いる音階認識装置であって、楽譜データに基づいてカラオケのＢＧＭを再生するＢＧＭ再生手段、楽譜データおよび楽譜データに同期して含まれ歌唱の模範となる旋律の音階データを格納する楽譜データ記憶手段、楽譜データ記憶手段から時間ｔにおける音階データを読み出す読み出し手段、読み出し手段によって読み出された音階データの周波数を観測周波数ｆに設定する設定手段、請求項１ないし４のいずれかに記載の音階認識方法を用いて音階認識を行う音階認識手段、および前記評価手段による評価の結果を出力する出力手段を備える、音階認識装置である。
【００２２】
この発明にしたがった第４の音階認識装置は、請求項４記載の音階認識方法を用いる音階認識装置であって、楽譜データに基づいてカラオケのＢＧＭを再生するＢＧＭ再生手段、楽譜データおよび楽譜データに同期して含まれ歌唱の模範となる旋律の音階データを格納する楽譜データ記憶手段、楽譜データ記憶手段から時間ｔにおける音階データを読み出す読み出し手段、読み出し手段によって読み出された音階データの周波数を観測周波数ｆ0に設定し、読み出し手段によって読み出された音階データより１オクターブ下の音階の周波数を観測周波数ｆ1に設定し、読み出し手段によって読み出された音階データより１オクターブ上の音階の周波数を観測周波数ｆ2に設定する設定手段、請求項４記載の音階認識方法を用いて音階認識を行う音階認識手段、および評価手段による評価結果を出力する出力手段を備える、音階認識装置である。
【００２３】
この発明にしたがった第５の音階認識装置は、請求項１ないし４のいずれかに記載の音階認識方法を用いる音階認識装置であって、請求項１ないし４のいずれかに記載の音階認識方法を用いて、アナログ音声信号の音階認識を逐次行う音階認識手段、音階認識手段によって認識された音階の変化を所定の音楽フレーズと比較する比較手段、および比較手段の比較の結果音階認識手段によって認識された音階の変化が所定の音楽フレーズと一致したときに、当該音楽フレーズに対応付けられた所定の動作を行う第１動作手段を備える、音階認識装置である。
【００２４】
この発明にしたがった第６の音階認識装置は、請求項１ないし４のいずれかに記載の音階認識方法を用いる音階認識装置であって、音楽フレーズの各音符の音階データを格納する音符データ記憶手段、音符データ記憶手段に含まれる音符データのうちの１つを指し示すポインタ、音符データ記憶手段からポインタの指し示す音符の音階データを読み出す音符データ読み出し手段、音符データ読み出し手段によって読み出された音階データの周波数を観測周波数ｆに設定する設定手段、請求項１ないし４のいずれかに記載の音階認識方法を用いて、アナログ音声信号の音階認識を逐次行う音階認識手段、アナログ音声信号に含まれる周波数ｆの周波数成分の程度を所定の閾値と比較する比較手段、比較手段の比較の結果、アナログ音声信号に含まれる周波数ｆの周波数成分の程度が所定の閾値より大きいときにポインタをインクリメントし、アナログ音声信号に含まれる周波数ｆの周波数成分の程度が閾値以下であるときに前記ポインタで音楽フレーズの先頭の音符の音階データを指し示すポインタ操作手段、およびポインタの値が音楽フレーズの末尾の音符の音階データの位置を越えたときに、当該音楽フレーズに対応付けられた所定の動作を行う第１動作手段を備える、音階認識装置である。
【００２５】
【作用】
この第１の発明においては、入力されたアナログ音声信号がアナログ／ディジタル変換器によって変換されたディジタルデータをＤ，認識する楽音の周波数（音階）をｆ，現在の時間をｔとしたとき、周波数ｆとディジタルデータＤとから音声信号のフーリエ正弦級数の係数を求めるための累積値Ａｓの算出，周波数ｆとディジタルデータＤとから音声信号のフーリエ余弦級数の係数を求めるための累積値Ａｃの算出，および累積値Ａｓと累積値Ａｃとから音声信号の周波数パワースペクトル実効値Ａの算出を行う。そして数値Ａに基づいてアナログ音声信号中に観測周波数ｆの成分がどの程度含まれているかを評価する。
【００２６】
好ましい実施例では、数値Ａは入力されたアナログ音声信号の振幅のレベルに応じて補正された後に評価される。
【００２７】
さらに好ましい実施例では、複数の観測周波数（ｆ0，ｆ1，…，ｆN-1：Ｎは同時に観測する周波数の個数）が存在し、アナログ音声信号中にそれぞれの観測周波数の成分がどの程度含まれているかを評価する。
【００２８】
この第２の発明においては、カラオケのＢＧＭに合わせて歌唱される歌声が歌唱の模範となる旋律に基づいて音階認識されることによって、歌声と模範の旋律との一致の程度が評価される。
【００２９】
つまり、楽譜データに基づいてＢＧＭが再生され、ＢＧＭに合わせた歌声が入力される。楽譜データには歌唱の模範となる旋律の音階データが楽譜データに同期して含まれている。時間ｔのＢＧＭが再生されているときに、楽譜データから時間ｔにおける音階データが読み出される。
【００３０】
そして、読み出された音階データの周波数ｆに基づいて時間ｔにおける歌声が音階認識され、歌声に含まれる周波数ｆの成分の程度、つまり歌声と旋律との一致の程度が評価される。音階データが楽譜データと同期しているので、カラオケのＢＧＭの再生ピッチが変更されても正しく音階認識を行うことができる。
【００３１】
この第３の発明においては、カラオケでは模範の旋律よりも１オクターブ低い音階や１オクターブ高い音階で歌唱される場合があるので、ＢＧＭに合わせて歌唱される音声を、歌唱の模範となる旋律，歌唱の模範の旋律よりも１オクターブ低い旋律および歌唱の模範の旋律よりも１オクターブ高い旋律に基づいて音階認識する。音階認識には請求項１ないし４のいずれかに記載の音階認識方法を採用する。
【００３２】
この第４の発明においては、アナログ音声信号の音階認識を連続して行い、アナログ音声信号が所定の音楽フレーズと一致するかどうかを判断し、一致したときに当該音楽フレーズに予め対応付けられた所定の動作を行う。音階認識には請求項１ないし４のいずれかに記載の音階認識方法を採用する。
【００３３】
この発明の好ましい実施例では、アナログ音声信号に音楽フレーズの音符一音一音が含まれるかどうかを判断し、音階認識の結果第１音が含まれると判断すると、つぎに第２音が含まれるかどうかを判断する。途中の音符の音がアナログ音声信号に含まれないと判断すると、再び第１音がアナログ音声信号に含まれるかどうか音階認識を行う。そして、Ｎ個の音符を含む音楽フレーズにおいて、アナログ音声信号に第Ｎ音が含まれると判断すると、アナログ音声信号が当該音楽フレーズに一致すると判断する。
【００３４】
なお、アナログ音声信号を音楽フレーズの第Ｎ音で音階認識するときには、第Ｎ音の音符の長さの間だけ、アナログ音声信号と第Ｎ音との音階の認識を行う。
【００３５】
この発明のさらに好ましい実施例では、アナログ音声信号が所定の音楽フレーズに一致するときには、赤外発光素子を点滅させることなどによって当該音楽フレーズに予め対応付けられたコードを送信する。
【００３６】
そして、送信されたコードを受信した装置は、ＬＥＤなどの発光素子をコードに予め対応付けられたパターンで点滅させたり、コードに予め対応付けられた内容の音声信号をスピーカから出力させたりする。
【００３７】
【発明の効果】
この発明によれば、入力が期待される特定の周波数成分（音階）と入力音声とを比較するという軽い処理によって入力音声の音階認識を行う。
【００３８】
したがって、処理能力の低いマイクロプロセサを用いて、リアルタイムで音階認識を行う装置が実現できる。
【００３９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００４０】
【実施例】
［実施例１］
図１を参照して、この実施例の音階認識装置としてのマイク一体型カラオケ装置１０は、上部が卵形で下部が円筒形の筐体１２を含み、この筐体１２の卵型部上端にマイク１４が取り付けられている。
【００４１】
筐体１２の上部すなわち卵型部には、電源スイッチ１６およびリセットスイッチ１８が設けられる。電源スイッチ１６は電源をオン／オフするためのスイッチであり、リセットスイッチ１８は、選択した曲番号を含むすべてをリセットするためのものである。
【００４２】
さらに、筐体１２の卵形部には、２桁の７セグメントＬＥＤからなるディスプレイ２０が設けられるとともに、そのディスプレイ２０を挟む左側にテンポ制御キー２２および２４が縦に整列して設けられ、ディスプレイ２０を挟む右側にＢＧＭボリューム制御キー２６および２８が縦に整列して設けられる。ディスプレイ２０は、ユーザが選択した曲番号を表示するために利用される。テンポ制御キー２２および２４は、カラオケすなわちＢＧＭの再生速度（テンポ）を速くしまたは遅くするためのキーである。ＢＧＭボリューム制御キー２６および２８は、カラオケすなわちＢＧＭの再生音量（ボリューム）を大きくしまたは小さくするためのキーである。
【００４３】
筐体１２の卵形部の中央やや下部には曲選択／ピッチ制御キー３０および３２が設けられる。この曲選択／ピッチ制御キー３０および３２は、曲番号をインクリメントしまたはディクリメントするために利用されるとともに、ユーザの音程に合わせてカラオケのピッチ周波数すなわち音程をたとえば１度ずつ上下させるために利用される。
【００４４】
曲選択／ピッチ制御キー３０および３２の左側でかつテンポ制御キー２２および２４の下方の筐体１２の卵形部には、エコーモード選択キー３４が設けられる。このエコーモード選択キー３４は、エコーモードにおいてエコー時間（遅延時間）を選択的に設定するために利用される。この実施例では、エコーモード１，エコーモード２およびエコーモード３を設定することができ、それぞれ、エコー時間が「小」，「中」および「大」として設定される。
【００４５】
曲選択／ピッチ制御キー３０および３２の右側でかつＢＧＭボリューム制御キー２６および２８の下方の筐体１２の卵形部には、ボイスエフェクトモード選択キー３６が設けられる。このボイスエフェクトモード選択キー３６は、この実施例では、ボイスエフェクトモード１，ボイスエフェクトモード２およびボイスエフェクトモード３を設定できる。ボイスエフェクトモード１は、入力音声の周波数に対し出力音声の周波数が高くなるように音声を加工するモードであり、ボイスエフェクトモード２は、入力音声の周波数に対して出力音声の周波数が低くなるように音声を加工するモードである。さらに、ボイスエフェクトモード３は、上下に連続的にかつ繰り返し出力音声の周波数が変化（スイープ）するように音声を加工するモードである。
【００４６】
ディスプレイ２０と曲選択／ピッチ制御キー３０および３２との間には、キャンセルキー３８が設けられる。このキャンセルキー３８は、テンポ制御キー２２および２４で設定したテンポ，ボリューム制御キー２６および２８で設定したＢＧＭボリューム，曲選択／ピッチ制御キー３０および３２で設定した曲番号およびピッチ，エコーモード選択キー３４で設定したエコーモード，またはボイスエフェクトモード選択キー３６で設定したボイスエフェクトモードをキャンセルするためのキーである。このキャンセルキー３８は、演奏中の曲を中断するためにも用いられる。
【００４７】
曲選択／ピッチ制御キー３０および３２の下方には、決定キー３９が設けられる。この決定キー３９は、テンポ制御キー２２および２４で設定したテンポ，ボリューム制御キー２６および２８で設定したＢＧＭボリューム，曲選択／ピッチ制御キー３０および３２で設定した曲番号およびピッチ，エコーモード選択キー３４で設定したエコーモード，またはボイスエフェクトモード選択キー３６で設定したボイスエフェクトモードを決定し有効化するためのキーである。
【００４８】
筐体１２の下部すなわち円筒部下端からＡＶコード４０が出され、そのＡＶコード４０には２つの音声出力端子４２Ｌおよび４２Ｒと、１つの映像出力端子４４とが含まれる。音声出力端子４２Ｌおよび４２Ｒならびに映像出力端子４４は、家庭用テレビ（図示せず）のＡＶ端子に接続される。したがって、この実施例のマイク一体型カラオケ装置１０の映像および音声は、家庭用テレビで出力される。ただし、家庭用テレビの音声回路を利用しない場合には、音声出力端子４２Ｌおよび４２Ｒは、たとえばステレオアンプなどの他のオーディオ機器に接続される。
【００４９】
筐体１２の裏面には、図１（Ｂ）で示すように、カートリッジコネクタ４６が設けられ、そのカートリッジコネクタ４６には、メモリカートリッジ４８が着脱自在に装着される。このメモリカートリッジ４８を交換することによって、カラオケやその映像を変更することができる。
【００５０】
なお、実施例のマイク一体型カラオケ装置１０は、電池駆動のものであり、そのために、図１（Ｂ）に示すように、筐体１２の下部円筒部に電池ボックス５０が設置されている。
【００５１】
図２を参照して、実施例のマイク一体型カラオケ装置１０は、筐体１２の内部に収納されたプロセサ５２を含む。このプロセサ５２としては、任意の種類のプロセサを利用できるが、この実施例では、本件出願人が開発しかつ既に特許出願している高速プロセサ（商品名「ＸａｖｉＸ」）を用いる。この高速プロセサは、たとえば特開平１０−３０７７９０号公報［Ｇ０６Ｆ  １３／３６，１５／７８］およびこれに対応するアメリカ特許第０９／０１９，２７７号に詳細に開示されている。
【００５２】
プロセサ５２は、図示しないが、ＣＰＵ，グラフィックプロセサ，サウンドプロセサおよびＤＭＡプロセサなどの各種プロセサを含むとともに、アナログ音声信号を取り込むときに用いられるＡ／Ｄ変換器やキー操作信号や赤外線信号のような入力信号を受けかつ出力信号を外部機器に与える入出力制御回路を含む。ＣＰＵは、入力信号に応じて必要な演算を実行し、その結果を他のグラフィックプロセサやサウンドプロセサなどに与える。したがって、グラフィックプロセサやサウンドプロセサはその演算結果に応じた画像処理や音声処理を実行する。
【００５３】
このプロセサ５２にはシステムバス５４が接続されていて、このシステムバス５４には、プロセサ５２とともに筐体１２の内部に収納されている基板（図示せず）に設けられている内蔵ＲＯＭ５６およびメモリカートリッジ４８に含まれる外部ＲＯＭ５８が結合される。したがって、プロセサ５２は、システムバス５４を通してこれらのＲＯＭ５６および５８にアクセスでき、そこから映像データや音楽データ（楽器演奏用の楽譜データ）などを取り出すことができる。
【００５４】
なお、図２に示すように、マイク１４からの音声信号は、アンプ６０を通してプロセサ５２のアナログ入力に与えられる。プロセサ５２のサウンドプロセサ部（図示せず）で処理された結果であるアナログ音声信号は、ミキサ６２およびアンプ６６を介して、図１に示すオーディオ（音声）出力端子４２（４２Ｌ，４２Ｒ）に出力される。なお、サウンドプロセサ部には複数のサウンドチャネルが形成されている。また、プロセサ５２のグラフィックプロセサ（図示せず）で処理された結果であるアナログ映像信号は図１に示すビデオ（映像）出力端子４４に出力される。
【００５５】
また、図１に示すディスプレイ２０には、プロセサ５２の出力ポートから表示データが与えられるとともに、図１に示すすべてのスイッチまたはキー（ここでは参照番号２１で包括的に示す）はプロセサ５２の入力ポートに接続される。
【００５６】
この実施例のマイク一体型カラオケ装置１０では、入力された歌声（音声信号）を楽譜データに含まれる音階データに基づいて認識し、認識の結果に基づいて採点を行う。そして、採点の結果得られた得点をリアルタイムで家庭用テレビに表示する。ここで、楽譜データとはカラオケ（ＢＧＭ）を演奏するためのデータであり、音階データとは歌詞の旋律の音階を表すデータであり楽譜データに同期している。楽譜データと音階データとが同期しているため、楽譜データの再生のテンポが変更されると、音階認識のテンポも同様に変更される。
【００５７】
以下に、図３〜図５を用いてマイク一体型カラオケ装置１０のプロセサ５２の動作を説明する。なお、図３に示すルーチンは常に実行されるルーチンであり、図４および図５に示すルーチンは、タイマ割り込みの発生によって定期的に実行されるルーチンである。
【００５８】
電源スイッチ１６がオンにされるとまず、ステップＳ１において装置の初期化処理を行う。そして、ステップＳ３においてマイク一体型カラオケ装置１０が接続されている家庭用テレビの表示画面の更新を行う。最初のステップＳ３では、マイク一体型カラオケ装置１０のタイトル画面等が表示される。
【００５９】
ステップＳ５においてはキー操作が行われたかどうかを判断する。キー操作が行われたと判断すると、ステップＳ７では行われたキー操作に応じてマイク一体型カラオケ装置１０のステートを変更する。
【００６０】
ステップＳ７で行われたステート変更の結果、ステートが曲選択である場合、つまり曲選択キー３０および３２が操作された場合には、ステップＳ９で曲選択ステートであると判断され、ステップＳ１１において曲選択の処理が行われる。
【００６１】
ステートが曲演奏および採点の場合、つまり曲選択の後で決定キー３９が操作された場合には、ステップＳ１３で演奏および採点ステートであると判断され、まず、ステップＳ１５で演奏処理が行われる。そして、ステップＳ１７およびステップＳ１９において採点処理が行われ、ステップＳ２１では採点結果を家庭用テレビに表示するための処理が行われる。ステップＳ１７およびステップＳ１９におけるＡ［０］，Ａ［１］およびＡ［２］はタイマ割り込みルーチンで算出される値であるため、ステップＳ１７およびステップＳ１９の説明はタイマ割り込みルーチンの説明の後に行う。
【００６２】
ステートが最終得点表示ステートである場合、ステップＳ２３で最終得点表示ステートであると判断され、ステップＳ２５およびステップＳ２７において最終的な採点処理が行われる。そして、ステップＳ２９では最終得点を家庭用テレビに表示するための処理が行われる。なお、カラオケの演奏が終了したときに最終得点表示ステートとなる。ステップＳ２５およびステップＳ２７におけるＡ［０］，Ａ［１］およびＡ［２］はタイマ割り込みルーチンで算出される値であるため、ステップＳ２５およびステップＳ２７の説明はタイマ割り込みルーチンの説明の後に行う。
【００６３】
ステートは曲選択ステート，演奏および採点ステート，最終得点表示ステートの他に、テンポ変更ステート，再生音量変更ステートなども存在するが本発明の主部ではないので説明を省略する。
【００６４】
各ステートでの処理を終了すると、ステップＳ２１でビデオ同期割り込みが発生したかどうかを判断する。そして、ビデオ同期割り込みが発生したと判断すると、ステップＳ３に戻って同様の処理を行う。
【００６５】
タイマ割り込みの発生によって実行されるルーチンは、図４に示すように、まず、ステップＳ３１で入力された音声信号のＡ／Ｄ変換を行う。そしてステップＳ３３ではディジタル変換された音声信号の音階認識処理を行う。このステップＳ３３での音階認識処理は図５に示すフロー図にしたがって実行される。
【００６６】
図５を参照して、まず、ステップＳ４１ではワークエリアＤに音声データの振幅を代入する。なお、以下において記号ＤによってワークエリアＤに格納されている値を表す。以下、他のワークエリアについても同じである。つぎに、ステップＳ４３においてカウンタｘに「０」を代入する。そして、ステップＳ４５においてカウンタｘの値が３であるかどうかを判断する。なお、以下において記号ｘによってカウンタｘの値を表す。以下、他のカウンタについても同じである。
【００６７】
カウンタｘの値が３でないと判断すると、ステップＳ４７において、現在の時間ｔを取得する。この時間ｔは演奏開始（楽譜データのロード開始）からの時間である。そして、ステップＳ４９においては、楽譜データに含まれる音階データから、時間ｔにおける楽音の音階、つまり音の高さである周波数を取得して、ワークエリアｆ［ｘ］に格納する。ここで、周波数ｆ［０］は楽譜データから得られる楽音のそのままの周波数を表し、周波数ｆ［１］は楽譜データから得られる楽音の周波数ｆ［０］より１オクターブ下の周波数を表し、周波数ｆ［２］は楽譜データから得られる楽音の周波数ｆ［０］より１オクターブ上の周波数を表す。歌い手によっては、１オクターブ下や１オクターブ上の音階で曲を歌うことが考えられるので、３種類の音階（周波数）を用いて採点が行われる。
【００６８】
ステップＳ５１では、時間ｔと周波数ｆ［ｘ］とからsinωtとcosωtとを算出する。sinωtとcosωtとは、予め用意したテーブルを参照して求めるようにしてもよい。ここで、ωは周波数ｆ［ｘ］に対応する角速度である。
【００６９】
ステップＳ５３では、ワークエリアとしての配列Ａｓ［ｘ］に数３３を代入し、
【００７０】
【数３３】
Ａｓ［ｘ］＋Ｄ・ｓｉｎωｔ
ステップＳ５５ではワークエリアとしての配列Ａｃ［ｘ］に数３４を代入する。
【００７１】
【数３４】
Ａｃ［ｘ］＋Ｄ・ｃｏｓωｔ
なお、配列Ａｓ［ｘ］および配列Ａｃ［ｘ］は、カラオケの演奏開始の時点ですべての要素に「０」を代入することによって初期化されている。また、図３に示されるステップＳ１９において、得点の評価後に初期化される。
【００７２】
そして、ステップＳ５７では、ワークエリアとしての配列Ａ［ｘ］に数３５を代入する。
【００７３】
【数３５】
0004771323.tif 000004
【００７４】
ここで、Ａ［ｘ］は、入力された音声信号（歌声）の周波数（高さもしくは音階）と、周波数（音階）ｆ［ｘ］との一致の度合いを示し、値が大きいほど一致の度合いが大きい。なお、以下において、音（歌声もしくは楽音）の「高さ」，「音階」および「周波数」は同義語として使用する。なお、Ａ［ｘ］を用いた音声信号と周波数ｆ［ｘ］との一致の度合いの評価をリニア（直線的）とせずに対数的重み付けによって行う場合は、ステップＳ５７では配列Ａ［ｘ］に数３５ではなく数３６を代入するようにするとよい。
【００７５】
【数３６】
Ａｓ［ｘ］2＋Ａｃ［ｘ］2
そして、ステップＳ５９ではカウンタｘをインクリメントしてステップＳ４５に戻り、カウンタｘが「３」になるまで、つまり１オクターブ下の音階と１オクターブ上の音階との処理が終了するまで上述の処理を繰り返す。カウンタｘが「３」になると図５に示すサブルーチンを終了して図４のルーチンに戻る。
【００７６】
そして、ステップＳ３５では出力音声信号に所定のエコー処理を施し、ステップＳ３７ではＢＧＭ（楽譜データ）の再生処理を行う。このようにして、タイマ割り込みのルーチンが終了する。なお、エコー処理には入力された音声の出力が含まれる。
【００７７】
ここで、図３に戻って採点処理について説明する。演奏中（歌唱中）のリアルタイムの採点処理では、ステップＳ１７で、Ａ［０］，Ａ［１］およびＡ［２］の各々の値を音声信号の入力レベルの総和で補正し、ステップＳ１９では、補正されたＡ［０］，Ａ［１］およびＡ［２］の各々の値に基づいて現在の得点を決定する。得点決定の方法としては、Ａ［０］，Ａ［１］およびＡ［２］のうち最も値の大きいＡ［ｘ］を決定し、決定されたＡ［ｘ］の値と満点だったときのＡ［ｘ］の値との割合に基づいて得点を決定する方法や、Ａ［０］，Ａ［１］およびＡ［２］にそれぞれに重み付けをし、それらの総和から得点を決定する方法などが考えられる。
【００７８】
演奏終了（歌唱終了）後の採点処理でも同様に、ステップＳ２５において、Ａ［０］，Ａ［１］およびＡ［２］の各々の値を音声信号の入力レベルの総和で補正し、ステップＳ２７では、補正されたＡ［０］，Ａ［１］およびＡ［２］の各々の値に基づいて現在の得点を決定する。
【００７９】
以上説明したように、この実施例のマイク一体型カラオケ装置１０では、従来のように入力音声にＦＦＴを施して音階認識を行うのではなく、入力が期待される特定の周波数成分（音階）と入力音声とを比較することによって音階認識を行う。したがって、必要とされる処理が非常に軽いので処理能力の低いマイクロプロセサを用いてリアルタイムで音階認識を行う装置が実現可能であり、また、必要とされるメモリの量も極めて少なくて済む。
［実施例２］
図６を参照して、この実施例の音階認識装置としての玩具１００は、コード送信装置１０２とコード受信装置１１２とを含んでいる。
【００８０】
コード送信装置１０２は、球体状の上部筐体１０２ａと箱型の下部筐体１０２ｂとを含み、上部筐体１０２ａの上端にマイク１０４が取り付けられている。上部筐体１０２ａの中心よりやや上端側には、表面円周を４等分する位置に赤外発光ダイオード１０６が４つ設けられている。なお、図面には３つの赤外発光ダイオード１０６のみが記載されている。
【００８１】
コード送信装置１０２は、具体的には図７に示すように構成されている。マイク１０４がＡＧＣ１４２およびＡ／Ｄコンバータ１４４を介してＣＰＵ１４０に接続される。また、赤外発光ダイオード１０６が入出力インタフェース１４６を介してＣＰＵ１４０に接続される。さらに、ＣＰＵ１４０はＲＡＭ１４８およびＲＯＭ１５０と接続され、ＲＡＭ１４８およびＲＯＭ１５０とのデータの授受が可能になっている。なお、ＣＰＵ１４０，ＡＧＣ１４２，Ａ／Ｄコンバータ１４４，入出力インタフェース１４６およびＲＡＭ１４８としては、上述のＸａｖｉＸを適用するとよい。
【００８２】
図６を参照して、コード受信装置１１２は、棒状の中間部１１２ａと中間部１１２ａの両端に設けられた略算盤の玉状の端部１１２ｂを含んでいる。それぞれの端部１１２ｂの端側にはＬＥＤ１２０が設けられている。また、中間部１１２ａの中央付近にはキースイッチ１１６が設けられており、さらにキースイッチ１１６より一方の端部１１２ｂ側には赤外線受光モジュール１１４が設けられ、キースイッチ１１６より他方の端部１１２ｂ側にはスピーカ１１８が設けられている。
【００８３】
コード受信装置１１２は、具体的には図８に示すように構成されている。赤外線受光モジュール１１４，ＬＥＤ１２０およびキースイッチ１１６が入出力インタフェース１６２を介してＣＰＵ１６０に接続される。また、スピーカ１１８が音声処理回路１６８を介してＣＰＵ１６０に接続される。さらに、ＲＯＭ１６４およびＲＡＭ１６６がＣＰＵ１６０に接続され、ＲＯＭ１６４およびＲＡＭ１６６とのデータの授受が可能になっている。なお、ＣＰＵ１６０，入出力インタフェース１６２，ＲＯＭ１６４，ＲＡＭ１６６および音声処理回路１６８にはワンチップ化されたＭＣＵ（micro controller unit）を用いるとよい。
【００８４】
図６を参照して、この実施例の玩具１００では、家庭用テレビ１３０のスピーカ１３２から出力されるテレビ番組の音声の音階をコード送信装置１０２が認識し、認識された音声が、予め用意された複数のフレーズのどれに一致するか判断する。そして、一致したフレーズに対応するコードを赤外発光ダイオード１０６を明滅させることによって送信する。コード受信装置１１２においては赤外線受光モジュール１１４がコード送信装置１０２から送信された赤外線コードを受信し、受信したコードに基づいてＬＥＤ１２０の点滅およびスピーカ１１８からの音声の出力を行う。なお、スピーカ１３２から出力される音声はテレビ番組の音声に限らない。たとえば、ビデオデッキ１３６を家庭用テレビ１３０のＡＶ端子にケーブル１３４を用いて接続する。そして、ビデオデッキ１３６でビデオソフトを再生し、ビデオソフトに記録されている音声をスピーカ１３２から出力するようにしてもよい。
【００８５】
以下に、図９〜図１１を用いてコード送信装置１０２のＣＰＵ１４０の動作を説明し、図１２を用いてコード受信装置１１２のＣＰＵ１６０の動作を説明する。
【００８６】
まず、図９のステップＳ７１において、ポインタ［０］，［１］，…，［Ｎ−１］の初期化を行う。この実施例では予めＮ個のフレーズが用意されていてポインタ［０］，［１］，…，［Ｎ−１］のそれぞれはＮ個のフレーズを指し示すポインタである。そして、ポインタ［０］，［１］，…，［Ｎ−１］が初期化されると、各ポインタは各フレーズの先頭の楽音（音符）を指し示す。そして、ポインタがインクリメントされると、フレーズ内の次の楽音を指し示す。
【００８７】
ステップＳ７３では、ワークエリアＡｓ［０］，Ａｓ［１］，…，Ａｓ［Ｎ−１］に「０」を代入して初期化し、ステップＳ７４では、ワークエリアＡｃ［０］，Ａｃ［１］，…，Ａｃ［Ｎ−１］に「０」を代入して初期化する。ワークエリアＡｓ［０］，Ａｓ［１］，…，Ａｓ［Ｎ−１］はフーリエ正弦級数の係数を求めるための累積値を格納するワークエリアであり、Ａｓ［０］は第１フレーズの当該楽音の認識に関する値を格納し、Ａｓ［Ｎ−１］は第Ｎフレーズの当該楽音の認識に関する値を格納する。同様に、ワークエリアＡｃ［０］，Ａｃ［１］，…，Ａｃ［Ｎ−１］はフーリエ余弦級数の係数を求めるための累積値を格納するワークエリアであり、Ａｃ［０］は第１フレーズの当該楽音の認識に関する値を格納し、Ａｃ［Ｎ−１］は第Ｎフレーズの当該楽音の認識に関する値を格納する。ステップＳ７５では、カウンタｘに「０」を代入して初期化する。
【００８８】
ステップＳ７７では、ポインタ［ｘ］が指し示すデータを取得する。このとき取得されるデータは、ポインタ［ｘ］が指し示す楽音の周波数データと楽音の時間（長さ）データである。なお、ｘ＝０の場合、現在ポインタ［ｘ］は第１フレーズのいずれかの楽音を指し示している。ステップＳ７９では、取得した周波数データをワークエリアｆ［ｘ］に代入し、取得した時間データをワークエリアＴ［ｘ］に代入する。
【００８９】
そして、ステップＳ８３では音階認識処理を行う。この音階認識処理は図１１に示すフロー図にしたがって実行される。まず、ステップＳ１１１において、家庭用テレビ１３０のスピーカ１３２から出力された音声信号（Ａ／Ｄ変換された音声データ）の振幅をワークエリアＤに代入する。
【００９０】
つぎに、ステップＳ１１３において現在の時間ｔを取得し、ステップＳ１１５において、時間ｔおよび周波数ｆ［ｘ］からsinωtおよびcosωtを求める。ωは周波数ｆ［ｘ］に対応する角速度である。なお、sinωtおよびcosωtは予め用意されたテーブルを参照して求めるようにしてもよい。
【００９１】
ステップＳ１１７では、Ａｓ［ｘ］に数３７を代入し、
【００９２】
【数３７】
Ａｓ［ｘ］＋Ｄ・ｓｉｎωｔ
ステップＳ１１９ではＡｃ［ｘ］に数３８を代入する。
【００９３】
【数３８】
Ａｃ［ｘ］＋Ｄ・ｃｏｓωｔ
そして、ステップＳ１２１ではＡ［ｘ］に数３９を代入する。
【００９４】
【数３９】
0004771323.tif 000005
【００９５】
ここで、Ａ［ｘ］は、入力された音声信号（歌声）の高さと周波数ｆ［ｘ］との一致の度合いを示し、値が大きいほど一致の度合いが大きい。なお、Ａ［ｘ］を用いた音声信号と周波数ｆ［ｘ］との一致の度合いの評価をリニア（直線的）とせずに対数的重み付けによって行う場合は、ステップＳ１２１ではＡ［ｘ］に数３９ではなく数４０を代入するようにするとよい。
【００９６】
【数４０】
Ａｓ［ｘ］2＋Ａｃ［ｘ］2
ステップＳ８３（図９）の音階認識処理が終了すると、ステップＳ８５でＴ［ｘ］から所定の時間Ｃを減算する。なお、時間Ｃは入力音声のＡ／Ｄ変換処理の時間間隔に等しい時間である。そして、ステップＳ８７ではＴ［ｘ］が負であるかどうか、つまり、楽音（音符）の長さだけの時間が経過したかどうかを判断する。そして、時間Ｔ［ｘ］が経過していないと判断すると、ステップＳ１０５に進んでカウンタｘをインクリメントする。つまり、当該フレーズの当該楽音の認識を留保して次のフレーズの楽音の認識を行う。
【００９７】
ステップＳ８７において時間Ｔ［ｘ］が経過したと判断すると、図１０のステップＳ８８でＡ［ｘ］の値を入力音声の振幅レベルに応じて補正する。そして、ステップＳ８９でＡ［ｘ］が或る閾値よりも大きいかどうかを判断する。Ａ［ｘ］の値が閾値以下であると判断すると、ステップＳ１０１に進んでポインタ［ｘ］の初期化を行う。つまり、当該フレーズには一致しないということで、当該フレーズのポインタを先頭の楽音に返す。そして、ステップＳ１０３でＡｓ［ｘ］に「０」を代入して初期化を行い、ステップＳ１０４でＡｃ［ｘ］に「０」を代入して初期化する。さらに、ステップＳ１０５でカウンタｘをインクリメントして、次のフレーズの処理に進む。
【００９８】
ステップＳ８９においてＡ［ｘ］が閾値よりも大きいと判断すると、ステップＳ９１においてポインタ［ｘ］をインクリメントして、当該フレーズの当該楽音の次を指し示し、ステップＳ９３でポインタ［ｘ］が指し示すデータを取得する。各フレーズの最後にはエンドコードが設けられており、ステップＳ９５では、ポインタ［ｘ］が指し示すデータがこのエンドコードであるかどうかを判断する。エンドコードである場合には、入力された音声信号が当該フレーズに一致したということであり、ステップＳ９７で当該フレーズに対応するコードを特定する。そして、ステップＳ９９では赤外発光ダイオード１２０を点滅させて当該フレーズに対応するコードを送信する。そして、ステップＳ１０１ではポインタ［ｘ］の初期化を行う。さらに、ステップＳ１０３でＡｓ［ｘ］に「０」を代入して初期化し、ステップＳ１０４でＡｃ［ｘ］に「０」を代入して初期化する。さらに、ステップＳ１０５ではカウンタｘをインクリメントして次のフレーズの処理に進む。
【００９９】
ステップＳ９５においてエンドコードでないと判断する場合は、入力音声が途中の当該楽音までは当該フレーズに一致しているということであり、当該フレーズの最後まで一致しているかどうかはまだ不明なため、ステップＳ１０３以下に進んで次のフレーズの処理を行う。ステップＳ１０３では、Ａｓ［ｘ］に「０」を代入して初期化を行いステップＳ１０４では、Ａｃ［ｘ］に「０」を代入して初期化を行う。さらに、ステップＳ１０５ではカウンタｘをインクリメントする。そして、ステップＳ１０７ではカウンタｘの値がＮであるかどうか、つまり第Ｎフレーズに含まれる楽音の確認が終わったかどうかを判断する。カウンタｘの値がＮでないと判断すると、第ｘ＋１フレーズに含まれる楽音の確認のためにステップＳ７７に戻る。
【０１００】
ステップＳ１０７で、カウンタｘの値がＮであると判断すると、ステップＳ１０９で規定の時間だけ待機し、その後でステップＳ７５に戻る。ステップＳ７５ではカウンタｘの値を「０」にして初期化を行う。つまり、再び第１フレーズに含まれる楽音の認識処理を行う。
【０１０１】
このように、コード送信装置１０２のＣＰＵ１４０は、入力された音声信号が予め用意されたＮ個のフレーズのどれに一致するか確認する。このとき、音声信号に含まれる１つ１つの音の音階が予め定められたＮ個のフレーズに含まれる１つ１つ楽音のどれと同じであるかを確認する。この処理は、第１フレーズの第１楽音の確認，第２フレーズの第１楽音の確認，…，第Ｎフレーズの第１楽音の確認，第１フレーズの第２楽音の確認，第２フレーズの第２楽音の確認という順序で行われる。そして、入力された音声信号が或るフレーズに一致すると、そのフレーズに対応したコードを赤外線信号として送信する。
【０１０２】
つぎに、図１２を参照して、コード受信装置１１２のＣＰＵ１６０の動作を説明する。コード送信装置１０２から赤外線信号としてコードが送信されると、ステップＳ１３１において、コードの入力があったと判断し、ステップＳ１３７でコードを受信する。
【０１０３】
ステップＳ１３９ではカウンタｙに「０」を代入して初期化する。そして、ステップＳ１４１では、受信したコードがコード［ｙ］と一致するかどうかを判断する。フレーズの数Ｎと同じだけのＮ個のコード［ｙ］が用意されており、受信したコードがどのコード［ｙ］と一致するかを判断する。受信コードとコード［ｙ］とが一致すると判断すると、ステップＳ１４３において、コード［ｙ］に対応する音声をスピーカ１１８から出力するとともに、ＬＥＤ１２０をコード［ｙ］に対応するリズムで点滅させる。
【０１０４】
受信コードとコード［ｙ］とが一致しないと判断すると、ステップＳ１４５でカウンタｙをインクリメントし、ステップＳ１４７でカウンタｙの値がＮであるかどうかを判断する。カウンタｙの値がＮでないと判断すると、ステップＳ１４１に戻って再び受信コードが次のコード［ｙ］に一致するかどうかを判断する。一方、ステップＳ１４７でカウンタｙの値がＮであると判断すると、受信コードに一致するコード［ｙ］が存在しないとしてステップＳ１３１に戻る。
【０１０５】
また、ユーザによってキースイッチ１１６が押し下げられると、ステップＳ１３３において、キー入力があったと判断し、ステップＳ１３５でキー入力に対応する音声をスピーカ１１８から出力するとともにキー入力に対応するリズムでＬＥＤ１２０を点滅させる。
【０１０６】
このように、家庭用テレビ１３０のスピーカ１３２から出力されるフレーズをコード送信装置１０２で認識し、認識したフレーズに対応するコードを送信する。送信されたコードをコード受信装置１１２が受信し、受信したコードに対応する音をスピーカ１１８から出力するとともに、受信したコードに対応するリズムでＬＥＤ１２０を点滅させる。したがって、家庭用テレビ１３０のスピーカ１３２から出力されるフレーズにしたがって、コード受信装置から音が出力され、ＬＥＤが点滅する。
【０１０７】
従来、光センサを備え、テレビ画面全体が特定の周期で明滅された際に、効果音の再生やＬＥＤの点滅などの動作を行う装置が存在した。しかし、このような装置では、明滅するテレビ画面が光過敏症などの症状をもつ視聴者に健康上の問題を与えるという恐れがあったが、この実施例の玩具１００ではそのような心配がない。
【０１０８】
以上説明したように、この実施例の玩具１００では、従来のように入力音声にＦＦＴを施して主要周波数成分を特定して音階認識を行うのではなく、入力が期待される特定の周波数成分（音階）と入力音声とを比較することによって音階認識を行う。したがって、必要とされる処理が非常に軽く、必要とされるメモリの量も極めて少なくて済む。そのため、処理能力の低いマイクロプロセサを用いてリアルタイムで音階認識を行う装置の実現が可能である。
【図面の簡単な説明】
【図１】この発明の一実施例の全体構成を示す図解図であり、図１（Ａ）が正面を示し、図１（Ｂ）が裏面を示す。
【図２】図１の実施例の内部構成の一例を示すブロック図である。
【図３】図１の実施例の動作の一部を説明するフロー図である。
【図４】図１の実施例の動作の一部を説明するフロー図である。
【図５】図１の実施例の動作の一部を説明するフロー図である。
【図６】この発明のその他の一実施例の全体構成を示す図解図である。
【図７】図６の実施例の一部内部構成の一例を示すブロック図である。
【図８】図６の実施例の一部内部構成の一例を示すブロック図である。
【図９】図６の実施例の動作の一部を説明するフロー図である。
【図１０】図６の実施例の動作の一部を説明するフロー図である。
【図１１】図６の実施例の動作の一部を説明するフロー図である。
【図１２】図６の実施例の動作の一部を説明するフロー図である。
【符号の説明】
１０  …カラオケ装置
５２  …プロセサ
１００  …玩具
１０２  …コード送信装置
１１２  …コード受信装置
１４０  …ＣＰＵ
１６０  …ＣＰＵ
【図１】
0004771323.tif 000006
【図２】
0004771323.tif 000007
【図３】
0004771323.tif 000008
【図４】
0004771323.tif 000009
【図５】
0004771323.tif 000010
【図６】
0004771323.tif 000011
【図７】
0004771323.tif 000012
【図８】
0004771323.tif 000013
【図９】
0004771323.tif 000014
【図１０】
0004771323.tif 000015
【図１１】
0004771323.tif 000016
【図１２】
0004771323.tif 000017