採点機能を有するカラオケ装置
【課題】精度の高い採点が可能なカラオケ装置を実現する。
【解決手段】音高ピッチ情報の取得に悪影響を及ぼす所定の楽器音が発音されていない期間を特定し、特定した期間に取得した音高ピッチ情報に基いて、歌唱者のピッチ周波数を決定する。決定されたピッチ周波数に対応するフィルタを用いて入力された音声をフィルタ処理し、フィルタ処理された入力音声信号を採点する。
【解決手段】音高ピッチ情報の取得に悪影響を及ぼす所定の楽器音が発音されていない期間を特定し、特定した期間に取得した音高ピッチ情報に基いて、歌唱者のピッチ周波数を決定する。決定されたピッチ周波数に対応するフィルタを用いて入力された音声をフィルタ処理し、フィルタ処理された入力音声信号を採点する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、精度の高い採点が可能な採点機能を有するカラオケ装置に関する。
【背景技術】
【0002】
従来、採点機能を有するカラオケ装置が広く知られている。マイクなどから入力されたカラオケ演奏中の歌唱者の音声を分析し、分析によって得られた特徴量を所定の手法で評価し、数値化して、その数値を採点結果として歌唱者に報知するものである。また、採点処理に用いられる特徴量としては、歌唱音声の音高を抽出した音高ピッチの周波数を特徴量とする情報(音高ピッチ情報)が一般的である。下記特許文献1においては、デュエット曲に対し、男女のパート毎に採点するものが開示されている。また、下記特許文献2においては、男女音声の周波数特性の違いを利用して入力音声の性別を判別するものが開示されている。
【特許文献1】特開平11−282478号公報
【特許文献2】特開2001−56699号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、カラオケ演奏中の入力歌唱音声を分析(採点)する場合、高精度の採点結果を得るためには、入力歌唱音声以外の音響信号を除去することが望ましい。しかしながら、歌唱者のマイクには、歌唱者の歌唱音声のみならず、楽音再生装置から出力されるカラオケ演奏中の楽曲音も一部入力されることになる。
【0004】
そのため、従来、周波数帯域フィルタなどを利用したフィルタ処理によって上記楽曲音を除去する試みが行われているが、この場合、歌唱者の入力歌唱音声は除去せずに、楽曲音のみを除去するためのフィルタ処理を施す場合、入力歌唱音声には影響を及ぼさないようなフィルタ処理を行うよう留意する必要がある。
【0005】
このとき、男声と女声とでは歌唱音声の周波数帯域が異なる(一般的に、男声を発する男性の音声は、女声を発する女性の音声よりも低い周波数帯域である。)ため、男声と女声に対して同じフィルタ処理を施すことは、高精度の分析結果を得る観点からは好ましくない。
【0006】
この点について、ドラム音、女性、男声それぞれの周波数分布について図を用いて説明する。以下説明する図においては、横軸は対数周波数であり、縦軸はデシベルである。図1〜図3は、ドラム音の周波数分布の例を示すものである。ドラム音は、ドン、ドンという打音である。図1では、70Hz付近に第1のピークがある。図2では、60Hz付近に第1のピークがある。図3では、80Hz付近にピークがある。これらの図によれば、一般的に、ドラム音は、100Hz以下の帯域に、第1のピークが存在することがわかる。
【0007】
図4〜図6は、女声の周波数分布の例を示すものである。図4では、300Hz付近に第1のピークがある。図5では、400Hz付近に第1のピークがある。図6では、500Hz付近に第1のピークがある。
【0008】
図7、図8は、男声の周波数分布の例を示すものである。図7では、80Hz付近に第1のピークがある。図8では、100〜200Hzの間に第1のピークがある。
【0009】
これらの図によれば、女声の周波数帯域と男声の周波数帯域とで大きな差があることがわかる。また、低い声の男声の第1のピークは、ドラム音の第1のピークに近いことがわかる。
【0010】
これらの図が示すとおり、男声に合わせてフィルタ(例えば、ローカットフィルタ)を設定し、そのフィルタをそのまま用いて女声に対しフィルタ処理した場合、ドラム音の帯域が除去できないため、女声の音高ピッチ情報の取得に悪影響を及ぼすことになる。また、女声に合わせてフィルタを設定し、そのフィルタをそのまま男声に対しをフィルタ処理した場合、男声自体にもフィルタ処理が施されてしまい、男声の音高ピッチ情報の取得に悪影響を及ぼす。
【0011】
また、男声/女声でフィルタを切り替える場合、入力音声が男声であるか女声であるかを判別する必要がある。カラオケ演奏時に歌唱者に性別を選択させることもできるが、このような選択動作は歌唱者に負担を課すことになる。また、男声/女声の判別を装置が自動的に行う場合は、例えばセキュリティシステムに用いられるような精度の高い判別が必要となる。一般的に、精度の高い音声認識技術を、ワンチップCPU等を用いたカラオケ用採点装置で実行した場合は、認識処理に時間がかかるため、娯楽として用いられるカラオケ装置に採用しがたい面がある。
【0012】
そこで、本発明は、上記問題点を解消し、歌唱者に何らの負担を課すことなく、楽曲演奏中に男声/女声を正確に、かつ、容易に判別し、男声女声別に適正なフィルタ処理を行うことによって、精度の高い採点処理ができるカラオケ用採点装置の実現を目的とする。
【0013】
上記目的を達成するため、請求項1に係る発明は、歌唱者音声入力手段、楽曲再生手段、制御手段、記憶手段、採点手段を備えたカラオケ歌唱用採点装置において、 上記記憶手段には、ピッチ周波数と周波数帯域フィルタとが関連付けられた関連データと、歌唱者音程情報、楽器音情報、及び、楽曲演奏進行情報とを含んだ楽曲データとが記憶されており、上記制御手段は、前記楽曲データに基く楽曲の演奏中に、上記楽器音情報及び楽曲演奏進行情報に基いて、設定された所定の楽器音が発音されていないかどうかを判断し、前記楽器音が発音されていない期間において上記歌唱者音声入力手段に入力された入力音声から歌唱者のピッチ周波数を特定し、特定されたピッチ周波数及び上記関連データに基いて、周波数帯域フィルタを特定し、特定した周波数帯域フィルタによって上記入力音声をフィルタ処理し、採点手段は、上記歌唱者音程情報を用いて前記フィルタ処理された後の入力音声を採点することを特徴とする。
【0014】
請求項2に係る発明は、請求項1の採点機能を有するカラオケ装置において、蓄積手段をさらに有し、上記発音されていない期間において取得した上記入力音声の音高ピッチ情報は、上記蓄積手段に記憶され、所定時間分の音高ピッチ情報が蓄積されると平均処理によって上記歌唱者のピッチ周波数を特定することを特徴とする。
【0015】
請求項3に係る発明は、請求項1または2の採点機能を有するカラオケ装置において、上記楽曲データには、上記所定の楽器音を特定可能にする情報が付されており、上記制御手段は、上記情報に基いて上記所定の楽器音を設定することを特徴とする。
【0016】
請求項4に係る発明は、請求項1または2の採点機能を有するカラオケ装置において、上記所定の楽器音が予め定められていることを特徴とする。
【0017】
請求項5に係る発明は、請求項1〜4いずれかの採点機能を有するカラオケ装置において、上記楽曲は、MIDIデータを含む楽曲データに基いて演奏され、上記制御手段は、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を、上記所定の楽器音が発音されていないと判断することを特徴とする。
【0018】
請求項6に係る発明は、請求項4の採点機能を有するカラオケ装置において、上記制御手段は、上記楽曲の演奏開始後所定の時間内に上記一時メモリに所定時間分のピッチが蓄積されなかった場合に、所定の情報を利用者に報知することを特徴とする。
【発明の効果】
【0019】
請求項1に係る発明によれば、所定の楽器音が発音されていない期間において入力された入力音声に基いて歌唱者のピッチ周波数を特定し、その結果に基いてフィルタを設定し、設定したフィルタを用いてフィルタ処理を行った音声に基いて採点を行うので、音高ピッチ情報の抽出に悪影響を及ぼす楽器を所定の楽器音として設定することにより、精度の高い採点処理を実現することができる。
【0020】
請求項2に係る発明によれば、さらに、所定時間分の音高ピッチ情報を利用して、歌唱者のピッチ周波数を特定するので、特定したピッチ周波数の精度を高めることができる。
【0021】
請求項3に係る発明によれば、さらに、上記所定の楽器音を特定可能にする情報が楽曲データに付されているから、楽曲ごとに、音高ピッチ情報の取得に悪影響を及ぼす楽器音を特定することが可能となるため、音高ピッチ情報の取得のための適切な区間を決定することできる。
【0022】
請求項4に係る発明によれば、さらに、上記所定の楽器音が予め定められているから、既存の楽曲データを利用して精度の高い採点処理を行うことができる。
【0023】
請求項5に係る発明によれば、さらに、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を上記所定の楽器音が発音されていない期間と判断するので、上記所定の楽器音を発音させるための命令が出力されたタイミングを利用した簡易な処理で上記所定の楽器音が発音されていない期間を決定することができる。
【0024】
請求項6に係る発明によれば、さらに、楽曲の演奏開始後所定の時間内に所定時間分のピッチが蓄積できなかった場合にその旨を報知するので、男声/女声判別が正しく行われたか否かを演奏中の早い段階で歌唱者に報知することができる。
【発明を実施するための最良の形態】
【0025】
[第1実施形態]
本発明の第1実施形態に係るカラオケ装置について、図面を参照しつつ詳細に説明する。
【0026】
図9は、カラオケ装置における制御装置の内部構成、及び、その周辺機器を示すブロック図である。
【0027】
制御装置10は、通信回線を介してホストコンピュータ(図示せず)に接続されており、通信回線を介して楽曲データを通信I/F15を介して受信する。受信されたカラオケ曲データは、記憶装置12に記憶される。
【0028】
ここで、楽曲データには、楽曲の再生用データに加えて、カラオケ曲のタイトルデータ、カラオケ曲に対応する映像データ等が含まれることもある。
【0029】
コントローラ11は、制御装置10全体の制御を行う。また、種々のプログラムを実行する。
記憶装置12は、楽曲データ等を記憶する。また、記憶装置12は、動的記憶媒体(HDD等)で構成される。また、必要に応じて静的記憶媒体で構成してもよい。
【0030】
操作パネル13は、操作者が選曲番号等の各種情報を入力するために用いられる。また、リモコン13aを介して各種の情報を入力してもよい。
【0031】
RAM14は、種々の制御に必要な情報が記憶される一時記憶メモリである。RAM14は、マルチスレッドプロセスにおいては、共有メモリとして機能する。なお、本発明における共有メモリとしての使用方法については、後述する。
【0032】
通信I/F15は、図示しないホストコンピュータとの通信を、通信回線を介して行う。ここで、通信回線は、有線無線を問わない。
【0033】
採点回路16は、マイク17より入力された音声の採点を行う。また、本実施形態においては、採点の対象となる音声は、後述するフィルタ処理が施されている。なお、図9においては、マイクの数は2つであるが、マイクの数はいくつでもよい。なお、図9においては、コントローラ11と採点回路16を別個の構成として図示しているが、コントローラ11が、フィルタ処理及び採点処理を行ってもよい。また、フィルタ処理を別の回路が行ってもよい。
【0034】
音源18は、アンプ19に接続されている。楽曲データは、音源18を介して音声信号に変換され、アンプ19で増幅された後、スピーカ20によって音声出力される。なお、本実施形態においては、音源18は、MIDI音源である。また、アンプ19は、マイク17より入力された音声についても増幅する。
【0035】
映像制御回路21は、モニタ22に接続されている。記憶装置12または通信回線より取得した映像データと、楽曲データに含まれた歌詞情報とを、映像制御回路21を介して楽曲のカラオケ再生時の背景映像と歌詞として、モニタ22に表示する。また、映像データが、符号化されている場合は、復号処理を映像制御回路21で行ってもよい。
【0036】
なお、上述した内部構成は、本発明の説明に必要なものを主に記載したものであり、上述した構成以外にも、種々の回路や要素が含まれることはもちろんである。
【0037】
なお、本実施形態におけるカラオケ装置の外観は、本発明において何ら限定されるものではない。また、本発明においては、上述したカラオケ装置の内部構成として示した一部の要素を、外部に備えてよい。一部の構成要素の機能を、ネットワークに接続されたサーバで実現することも可能である。
【0038】
本実施形態で用いる楽曲データは、楽器音情報、楽曲演奏進行情報、歌唱者音程情報等を有するものである。代表的なものとしてMIDIデータを挙げることができるが、本発明は、MIDIデータに限定されるものではなく、本発明を実施可能な限度においてその他のデータであってもよい。また、MIDIデータにおいては、チャネル番号によって楽器音が指定され、楽器音の発音のオン/オフは、例えば、ノートオン/ノートオフ信号で制御される。また、歌唱者音程情報は、ボーカルトラックのノートナンバを用いることができる。
【0039】
図10は、共有メモリの内部構成を示す図である。この図が示すとおり、共有メモリには、所定の楽器音(楽器トラック)におけるノートオン信号が出力された時刻が記憶される領域と、ボーカルトラックのノートナンバが記憶される領域とからなる。なお、図10は、所定の楽器音としてドラム音源を指定した場合の共有メモリの内容を示している。
【0040】
次に、本実施形態におけるカラオケ装置の処理の流れについて図を参照しつつ説明する。図11は、本実施形態におけるカラオケ装置の採点用プロセスのフローチャートであり、図12は、本実施形態におけるカラオケ装置の演奏用プロセスのフローチャートである。ここで、採点用プロセスと演奏用プロセスとは、マルチスレッドとして処理される。すなわち、上記両プロセスは、並列で処理される。マルチスレッド処理については公知であるので説明を省略する。
【0041】
上記両プロセスは、実行中に共有メモリにアクセスすることによって、両プロセス間で情報のやり取りが可能となっている。
【0042】
[採点用プロセス]
まず、採点用プロセスについて図11を参照にしつつ説明する。楽曲の再生がスタートすると、採点用プロセスは実行開始される。
S1において、取得ピッチ保持エリアを初期化する。取得ピッチ保持エリアは、RAM14内に形成される。
【0043】
S2において、ローカットフィルタをオフにする。なお、本実施形態においては、フィルタとしてローカットフィルタを用いる例を説明するが、バンドパスフィルタ等を用いても本発明は実現可能であることはもちろんである。また、フィルタをデジタルフィルタで構成してもよいし、アナログフィルタで構成してもよい。
【0044】
S3において、取得ピッチ保持エリア内に音高ピッチ情報がFULLになったか否かを判断する。取得ピッチ保持エリアに記憶する音高ピッチ情報の量は適宜設定可能であり、入力音声のピッチ周波数を正確に算出できる量とする。音高情報ピッチ情報がFULLになっていないと判断した場合は(S3:NO)、S4に進む。
【0045】
S4において、楽曲の演奏が終了したか否かを判別する。演奏が終了したと判断された場合(S4:YES)は、S11に進む。演奏が終了していないと判断された場合(S4:NO)は、S5に進む。
【0046】
S5において、演奏開始から一定時間が経過したか否かを判断する。一定時間が経過したと判断した場合は(S5:YES)、S11に進む。この一定時間は、適宜設定可能である。一定時間が経過したとの判断は、音高ピッチ情報が所定時間内に所定量取得できなかったと判断したことを意味する。
【0047】
S11において、楽曲の演奏を終了し、採点ができなかった旨をモニタ22に表示する。また、S5及びS11における処理は、必要に応じ省略してもよい。
【0048】
S5において、演奏開始から一定時間が経過していない場合は(S5:NO)は、S6に進む。
S6において、音高ピッチ情報が取得できたか否かを判断する。音高ピッチ情報が取得できないと判断した場合は(S6:NO)、S3に戻る。音高ピッチ情報が取得できたと判断した場合は(S6:YES)、S7に進む。なお、音高ピッチ情報の取得の手法については、公知の種々の技術を採用することができる。
【0049】
S7において、S6で取得した音高ピッチ情報の取得タイミングにおける入力音量が所定以上であるか否かを判断する。入力音量が所定以上でない場合は(S7:NO)、当該タイミングにおいてマイク17により音声が入力されていなかったと判断してS3に戻る。入力音量が所定以上である場合は(S7:YES)、S8に進む。
【0050】
S8においては、現在時刻を取得する。この現在時刻は、S6で取得した音高ピッチ情報を取得した時刻を表すものである。その後、S9に進み、S8で取得した時刻と、共有メモリに記憶されている時刻との時間差を算出する。S8で取得した時刻が、共有メモリに記憶されている時刻を基点として所定時間以上経過していない場合(S9:YES)は、S3に戻る。所定時間以上経過している場合は(S9:NO)は、S10に進む。なお、共有メモリに書き込まれている時刻は、後述する演奏用プロセスにおいて書き込まれた所定の楽器音(本実施形態においてはドラム音源)のノートオン信号が出力された時刻である。
【0051】
S9における処理について具体的に説明する。S9では、ドラム音源が発音されてからの所定時間は、マイク17に入力された音声にドラム音が含まれていると判断し、当該所定時間内に取得した音高ピッチ情報は、ピッチ算出には用いない。通常の音源は、ノートオン信号によって発音した後は、ノートオフ信号を受信するまで発音が続く。しかしながら、ドラムやパーカッション音源は、ノートオン信号を受信すると同時に発音し、ノートオフ信号の有無に関わらず音色の最後まで達したときに消音される。そのため、上記所定の楽器音として、ドラム音源を指定している場合は、ノートオン信号が出力されてから消音されるまでの時間を所定の時間として管理しておき、上記ノートオン信号が出力されてから上記所定の時間を発音されている区間として判断できるのである。すなわち、ノートオフ信号が出力されたか否かを判断する必要がない。
【0052】
S10においては、S6で取得した音高ピッチ情報を取得ピッチ保持エリアに書き込む。そして、S3に戻る。
【0053】
S3において、取得ピッチ保持エリアがFULLになっていると判断した場合は(S3:YES)は、S12に進む。
S12において、取得ピッチ保持エリア内の全データの平均値を算出し、平均ピッチ情報を入力音声のピッチ周波数として取得する。その後、S13に進む。
【0054】
S13において、算出したピッチ周波数が、所定ピッチ以下であるか否かを判別する。ピッチ周波数が所定ピッチ以下である場合(S13:YES)は、マイク17に入力された音声は男声であると判断して、S14に進む。
S14において、ローカットフィルタを男声用に設定する。
【0055】
ピッチ周波数が所定ピッチ量以下ではない場合(S13:NO)は、マイク17に入力された音声は女声であると判断して、S15に進む。
S15において、ローカットフィルタを女声用に設定する。
【0056】
なお、S13〜S15の処理においては、マイク17に入力された音声のピッチ情報を2つのピッチ周波数(男声・女声)に分類し、それぞれのピッチ周波数に対してフィルタを設定したが、ピッチ周波数を3つ以上に分類して、それぞれの周波数に対しフィルタを設定してもよい。また、周波数と設定されるフィルタとの関係は、予めデータテーブルとして有してもよいし、プログラム上で処理(すなわち、IF/THEN処理)してもよい。また、男声と判断した場合は、フィルタ処理をしないように構成してもよい。
【0057】
S16において、採点値を初期化する。なお、本実施形態においては、減点法によって処理を行うため、初期値として例えば1000点を設定できるが、加点法や、その他周知の採点値設定法を適宜適用可能であることはいうまでもない。なお、その場合は、初期値は1000点ではなく異なる値となることはいうまでもない。また、減点法以外の採点手法を採用する場合は、以下に説明するS22の処理が異なる点はいうまでもない。
【0058】
S17において、楽曲の演奏が終了したか否かを判断する。楽曲の演奏が終了したと場合は(S17:YES)、S18に進み、採点結果をモニタ22に表示する。なお、楽曲の演奏中においても、適宜採点結果(途中結果)を表示するよう構成してもよい。楽曲の演奏が終了していない場合は(S17:NO)、S19に進む。
【0059】
S19において、音高ピッチ情報を取得できたか否かを判断する。音高ピッチ情報が取得できなかった場合は(S19:NO)、S17に戻る。音高ピッチ情報が取得できたと判断した場合は(S19:YES)、S20に進む。
【0060】
S20において、S19で取得した音高ピッチ情報の取得タイミングにおける入力音量が所定以上であるか否かを判断する。入力音量が所定以上でない場合は(S20:NO)、当該タイミングにおいてマイク17により音声が入力されていなかったと判断してS17に戻る。入力音量が所定以上である場合は(S20:YES)、S21に進む。
【0061】
S21において、S19で取得した音高ピッチ情報と、共有メモリに記憶されているMIDIデータにおけるボーカルトラックのノートナンバとの差分を算出する。本実施形態においては、MIDIデータにおけるボーカルトラックのノートナンバを採点の基準としている。また、MIDIデータにおけるボーカルトラックは、歌唱時において、ガイドメロディとしても利用される。共有メモリへの書き込みについては、演奏用プロセスにおいて詳細に説明する。その後、S22に進む。
【0062】
S22において、現在の採点値からS21で求めた差分の絶対値を減算する。ここで、マイクから入力された音高ピッチ情報が共有メモリに記憶されているノートナンバが示すピッチ情報と同じであれば、マイク17から入力された音声信号の音高ピッチ情報は正しいものなので、減算されないことになる。
【0063】
なお、S21及びS22における採点手法においては、歌唱音声がガイドメロディに対して時間方向にずれている場合にも採点値に影響を及ぼす。そこで、所定時間分のガイドメロディ(ボーカルトラック)のノートナンバー(ピッチ情報)を共有メモリに記憶しておき、入力音声における音高ピッチ情報とDPマッチング等を利用して採点処理を行うことにより、時間方向のずれが採点値に影響を及ぼすことを低減できる。
【0064】
[演奏用プロセス]
次に、演奏用プロセスについて図12を参照しつつ説明する。楽曲の再生がスタートすると、演奏用プロセスは実行開始される。演奏用プロセスでは、楽曲データであるMIDIデータが有する複数のトラックのうち、ドラムトラック及びボーカルトラックが処理対象となる。そのため、楽曲データに含まれる複数のトラックから、ドラムトラック及びボーカルトラックを特定する必要がある。
【0065】
S31において、取得したトラックのデータがドラムトラックであるか否かを判断する。なお、本実施形態においては、ドラムトラックを音高ピッチ情報の取得に影響を及ぼす所定の楽器音としている。ドラムトラックでない場合は(S31:NO)、他のトラックを処理の対象とするため、当該トラックに対しては処理を行なわず、S35に進む。
【0066】
ドラムトラックである場合は(S31:YES)、S32に進む。
S32において、S31で取得したデータにノートオン情報が存在するか否かを判断する。ノートオン指示情報が含まれていない場合は(S32:NO)、ドラム音源の発音開始タイミングではないと判断してS35に進む。
ノートオン指示情報が含まれている場合は(S32:YES)、ドラム音源の発音開始タイミングであると判断し、S33に進む。
【0067】
S33において、現在時刻を取得する。この現在時刻は、ドラム音源の発音開始時刻を意味するものである。なお、この現在時刻としては、システム起動からの時間を利用することができるが、その他の時刻情報でもよい。その後、S34に進む。
【0068】
S34において、S33で取得した現在時刻を時刻設定用共有メモリにセットする。この時刻設定用共有メモリの内容は、S33で現在時刻が取得される度に更新されるものである。
【0069】
S35において、取得したトラックのデータがボーカルトラックであるか否かを判断する。ボーカルトラックでない場合は(S35:NO)は、他のトラックを処理の対象とするため、当該トラックに対しては処理を行わずS40に進む。
【0070】
ボーカルトラックである場合は(S35:YES)は、S35で取得したデータにノートオン指示情報が存在するか否かを判断する。ノートオン指示情報が含まれていない場合は(S36:NO)、ボーカル発声開始タイミングではないと判断してS38に進む。ノートオン情報が含まれている場合は(S36:YES)、ボーカル発声開始タイミングであると判断して、S37に進む。
【0071】
S37において、ノートナンバをノートナンバ用共有メモリにセットする。この内容は、採点用プロセスにおいて、採点の基準として用いられる。
【0072】
S38において、S35で取得したデータにノートオフ指示情報が存在するか否かを判断する。ノートオフ指示情報が含まれていない場合は(S38:NO)、S40に進む。ノートオフ指示情報が含まれている場合は(S38:YES)、S39に進む。
S39において、ノートナンバ用共有メモリをクリアする。これにより、ボーカル発声期間のみ、ノートナンバ用共有メモリに情報が記憶されることになる。
【0073】
S40において、MIDIデータを音源に送出する。これにより、楽音データに基いて演奏が制御されることになる。
【0074】
上記処理においては、ドラムトラック及びボーカルトラックに対する処理の後にMIDIデータを音源に送出するよう構成したが、先にMIDIデータを音源に送出し、その後ドラムトラック及びボーカルトラックに対する処理を行うよう構成してもよい。
【0075】
なお、採点用プロセス及び演奏用プロセスとして説明した上記フローチャートは単なる一例であり、上記処理と同等の結果を得ることできる処理であれば、他のフローチャートによって処理を実現してもよい。
【0076】
次に、上述した採点用プロセス及び演奏用プロセス実行時における、音高ピッチ情報が取得される様子を、図を用いて説明する。
図13は、ドラムトラックのノートオン、ノートオフのタイミング、システム起動からの時間、取得したピッチ情報の関係を示す。なお、横軸は時間軸である。
【0077】
図13においては、ドラム音源の発音開始から、20msをピッチ無視時間として、図11のS5における一定時間として設定しているが、この時間間隔は適宜設定可能である。システム時間80010(単位であるmsは省略する。以下同じ。)の時点でドラム音源がノートオンされたので、80010から80030までに取得された音高ピッチ情報は破棄される。そのため、ピッチ情報1は、取得ピッチ保持エリアに記憶されることなく破棄される。
【0078】
また、ピッチ情報2、3は、80030以降に取得され、また、次のドラム音源の発音開始前であるので、取得ピッチ保持エリアに書き込まれることになる。以下同様にして、ピッチ情報4、8は破棄され、ピッチ情報5〜7、9〜11は取得ピッチ保持エリアに書き込まれる。なお、図13においては、ドラムトラックのノートオフ指示情報は、上述したとおり利用していない。取得ピッチ保持エリアに所定時間分のピッチ情報が蓄積されると、ピッチ周波数が算出されることになる。
【0079】
上述したとおり、本実施形態においては、演奏開始後、ドラム音源が演奏されていない期間で取得した音高ピッチ情報に基いて男声/女声を判断し、判断した性別に応じたフィルタを設定し、設定されたフィルタを用いて入力音声をフィルタ処理し、フィルタ処理された音声を採点対象とするので、精度の高い採点を行うことができる。また、楽曲の演奏開始が所定時間内に所定量の音高ピッチ情報が取得できなかった場合は、その旨演奏の早い段階で報知することができる。
【0080】
なお、上記処理においては、共有メモリを利用してメモリ内のボーカルトラックの情報を随時変更していたが、共有メモリを用いることなく処理することもできる。すなわち、採点用プロセスにおいて、直接楽曲データに含まれるボーカルトラックのノートナンバをアクセスするよう構成してもよい。
【0081】
[第2実施形態]
第1実施形態においては、男声/女声の判断を行い、フィルタが決定されるまでにマイク17に入力された音声は採点処理の対象としなかったが、この期間の音声信号をバッファ等に蓄えておき、フィルタ決定後にこれら入力音声をフィルタ処理して採点結果に反映させることもできる。
【0082】
図14は、バッファに上記期間の入力音声を記憶しておき、フィルタ決定後に用いる処理(以下、「一時記憶用プロセス」という。)のフローチャートを示すものである。
【0083】
一時記憶用プロセスは、採点用プロセス及び演奏用プロセスと並列して処理される。一時記憶用プロセスは、楽曲の開始がスタートすると実行開始される。
【0084】
S51において、楽曲の演奏が終了したか否かを判断する。楽曲の演奏が終了した場合は(S51:YES)、一時記憶用プロセスを終了する。楽曲の演奏が終了していない場合は(S51:NO)、S52に進む。
【0085】
S52において、採点用プロセスにおいてフィルタが設定されたか否かを判断する。フィルタが設定された場合は(S54:YES)、S54に進む。フィルタが設定されていない場合は(S54:NO)、S53に進む。
【0086】
S53において、マイク17に入力された音声信号を、バッファに書き込む。S51〜S53の処理を繰り返すことにより、採点用プロセスにおいてフィルタが設定されるまでの入力音声は、バッファに書き込まれることになる。
【0087】
S54において、バッファに記憶した入力音声信号を順次読み出す。その後、S55に進む。
S55において、読み出した入力音声信号に対し採点用プロセスにおいて設定されたフィルタを利用してフィルタ処理を行う。その後、S56に進む。
【0088】
S56において、フィルタ処理された音声信号に対し、採点処理を行う。この採点処理自体は、採点用プロセスで行われるものと同じであるので説明を省略する。
なお、S54〜S56の処理は、互いに並列に行ってもよい。すなわち、バッファから読み出した音声をフィルタ処理している最中に、次の入力音声をバッファから読み出してもよい。
【0089】
S57において、本プロセスで算出した採点値を、採点用プロセスにおける採点結果に反映させる。なお、反映させるタイミングは適宜設定可能である。
【0090】
上述した本実施形態においては、フィルタが設定されるまでにマイク17に入力された音声についても採点結果に反映されることができる。なお、上記フローチャートは単なる一例であり、上記処理と同等の結果を得ることできる処理であれば、他のフローチャートによって処理を実現してもよい。
【0091】
[所定の楽器音の設定において]
上述した第1及び第2実施形態においては、ドラム音源を所定の楽器音としていた。所定の楽器音の設定方法としては、図15に示すように、楽曲データに所定の楽器音を示すための情報を含ませてもよい。このような構成を採れば、楽曲データ作成時に、楽曲データ作成者側で、予め楽曲ごとに音高ピッチ情報取得に悪影響を及ぼす楽器音を特定することができるので、前記楽曲データを用いたカラオケ用採点装置は、歌唱者に何らの負担を課すことなく、楽曲演奏中の楽器音種類と時間的流れとに応じて、男声/女声を正確に、かつ、容易に判別できるようになり、男声女声別に適正なフィルタ処理を行えるので、楽曲ごとに精度の高い採点ができる。なお、図15に示す楽曲データのデータ構造は単なる一例である。
【0092】
例えば、図15の楽曲データに含まれる除外トラック指定情報を参照することにより、音高ピッチ情報取得に悪影響を及ぼす楽器音(設定する楽器音)のトラックを特定することが可能となる。
【0093】
ここで、除外トラックとは、どの楽器音が音高ピッチ情報取得に悪影響を及ぼすかを特定するものである。除外トラックにドラムトラックが指定されていれば、図12(S31,S32)で示した処理と同様の処理が可能となる。また、例えば、除外トラックにトラックNo.10が設定されていれば、トラックNo.10のノートオンタイミングからピッチ無視時間(例えば、20mS)内に取得されたピッチ情報は破棄される。この場合、トラックNo.10に指定されている楽器音を、音高ピッチ情報取得に悪影響を及ぼす楽器音(設定する楽器音)として特定することになる。
【0094】
また、MIDIにおけるプログラム・チェンジコマンドを利用することにより、任意の楽器音のトラックを上記所定の楽器音のトラックとして指定することもできる。ドラム音源を上記所定の楽器音としている場合に、任意の楽器音トラックのMIDIデータ中に、ドラム音源に切り替えるためのプログラム・チェンジコマンドが挿入されていると、そのプログラム・チェンジコマンド実行後においては、その任意の楽器音のトラックは、ドラムトラックとして機能することになる。これにより、除外トラック指定情報によって上記所定の楽器音を直接指定しなくても、MIDIコマンドによって上記所定の楽器音を特定することができる。
【0095】
また、カラオケ装置において予め所定の楽器音を決定しておいてもよい。この場合は、既存の楽曲データを何ら加工することなく、本発明を実現できる。この場合、楽曲によっては、音高ピッチ情報が正しく取得できないことも想定されるが、上述した採点用プロセスにおいては、楽曲の演奏開始後所定時間内に所定時間分の音高ピッチ情報が取得できなかった旨を報知するので、利用者は、演奏中に採点が正しく行われなかったことを把握することができる。
【0096】
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。また、上述した処理を実行するためのカラオケ装置における採点方法としても本発明は実現可能である。さらに、当該カラオケ装置における採点方法をコンピュータで実行させるためのプログラム、及び、そのプログラムが記録された記録媒体としても本発明は実現可能である。
【図面の簡単な説明】
【0097】
【図1】ドラム音源の周波数分布の一例を示した図である。
【図2】ドラム音源の周波数分布の一例を示した図である。
【図3】ドラム音源の周波数分布の一例を示した図である。
【図4】女声の周波数分布の一例を示した図である。
【図5】女声の周波数分布の一例を示した図である。
【図6】女声の周波数分布の一例を示した図である。
【図7】男声の周波数分布の一例を示した図である。
【図8】男声の周波数分布の一例を示した図である。
【図9】本発明の実施形態に係る採点機能を有するカラオケ装置の制御装置の内部構成及びその周辺要素を示した図である。
【図10】本発明の実施形態に係るカラオケ用装置の共有メモリの内部構造を示した図である。
【図11】本発明の実施形態に係る採点用プロセスのフローチャートである。
【図12】本発明の実施形態に係る演奏用プロセスのフローチャートである。
【図13】本発明における、ドラム音源の発音タイミング、システム起動からの時間、取得された音高ピッチ情報を示したタイミング図である。
【図14】本発明の第2実施形態に係る一時記憶用プロセスのフローチャートである。
【図15】本発明における楽曲データの構成の一例を示した図である。
【符号の説明】
【0098】
10 制御装置
11 コントローラ
12 記憶装置
13 操作パネル
13a リモコン
14 RAM
15 通信I/F
16 採点回路
17 マイク
18 音源
19 アンプ
20 スピーカ
21 映像制御回路
22 モニタ
【技術分野】
【0001】
本発明は、精度の高い採点が可能な採点機能を有するカラオケ装置に関する。
【背景技術】
【0002】
従来、採点機能を有するカラオケ装置が広く知られている。マイクなどから入力されたカラオケ演奏中の歌唱者の音声を分析し、分析によって得られた特徴量を所定の手法で評価し、数値化して、その数値を採点結果として歌唱者に報知するものである。また、採点処理に用いられる特徴量としては、歌唱音声の音高を抽出した音高ピッチの周波数を特徴量とする情報(音高ピッチ情報)が一般的である。下記特許文献1においては、デュエット曲に対し、男女のパート毎に採点するものが開示されている。また、下記特許文献2においては、男女音声の周波数特性の違いを利用して入力音声の性別を判別するものが開示されている。
【特許文献1】特開平11−282478号公報
【特許文献2】特開2001−56699号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、カラオケ演奏中の入力歌唱音声を分析(採点)する場合、高精度の採点結果を得るためには、入力歌唱音声以外の音響信号を除去することが望ましい。しかしながら、歌唱者のマイクには、歌唱者の歌唱音声のみならず、楽音再生装置から出力されるカラオケ演奏中の楽曲音も一部入力されることになる。
【0004】
そのため、従来、周波数帯域フィルタなどを利用したフィルタ処理によって上記楽曲音を除去する試みが行われているが、この場合、歌唱者の入力歌唱音声は除去せずに、楽曲音のみを除去するためのフィルタ処理を施す場合、入力歌唱音声には影響を及ぼさないようなフィルタ処理を行うよう留意する必要がある。
【0005】
このとき、男声と女声とでは歌唱音声の周波数帯域が異なる(一般的に、男声を発する男性の音声は、女声を発する女性の音声よりも低い周波数帯域である。)ため、男声と女声に対して同じフィルタ処理を施すことは、高精度の分析結果を得る観点からは好ましくない。
【0006】
この点について、ドラム音、女性、男声それぞれの周波数分布について図を用いて説明する。以下説明する図においては、横軸は対数周波数であり、縦軸はデシベルである。図1〜図3は、ドラム音の周波数分布の例を示すものである。ドラム音は、ドン、ドンという打音である。図1では、70Hz付近に第1のピークがある。図2では、60Hz付近に第1のピークがある。図3では、80Hz付近にピークがある。これらの図によれば、一般的に、ドラム音は、100Hz以下の帯域に、第1のピークが存在することがわかる。
【0007】
図4〜図6は、女声の周波数分布の例を示すものである。図4では、300Hz付近に第1のピークがある。図5では、400Hz付近に第1のピークがある。図6では、500Hz付近に第1のピークがある。
【0008】
図7、図8は、男声の周波数分布の例を示すものである。図7では、80Hz付近に第1のピークがある。図8では、100〜200Hzの間に第1のピークがある。
【0009】
これらの図によれば、女声の周波数帯域と男声の周波数帯域とで大きな差があることがわかる。また、低い声の男声の第1のピークは、ドラム音の第1のピークに近いことがわかる。
【0010】
これらの図が示すとおり、男声に合わせてフィルタ(例えば、ローカットフィルタ)を設定し、そのフィルタをそのまま用いて女声に対しフィルタ処理した場合、ドラム音の帯域が除去できないため、女声の音高ピッチ情報の取得に悪影響を及ぼすことになる。また、女声に合わせてフィルタを設定し、そのフィルタをそのまま男声に対しをフィルタ処理した場合、男声自体にもフィルタ処理が施されてしまい、男声の音高ピッチ情報の取得に悪影響を及ぼす。
【0011】
また、男声/女声でフィルタを切り替える場合、入力音声が男声であるか女声であるかを判別する必要がある。カラオケ演奏時に歌唱者に性別を選択させることもできるが、このような選択動作は歌唱者に負担を課すことになる。また、男声/女声の判別を装置が自動的に行う場合は、例えばセキュリティシステムに用いられるような精度の高い判別が必要となる。一般的に、精度の高い音声認識技術を、ワンチップCPU等を用いたカラオケ用採点装置で実行した場合は、認識処理に時間がかかるため、娯楽として用いられるカラオケ装置に採用しがたい面がある。
【0012】
そこで、本発明は、上記問題点を解消し、歌唱者に何らの負担を課すことなく、楽曲演奏中に男声/女声を正確に、かつ、容易に判別し、男声女声別に適正なフィルタ処理を行うことによって、精度の高い採点処理ができるカラオケ用採点装置の実現を目的とする。
【0013】
上記目的を達成するため、請求項1に係る発明は、歌唱者音声入力手段、楽曲再生手段、制御手段、記憶手段、採点手段を備えたカラオケ歌唱用採点装置において、 上記記憶手段には、ピッチ周波数と周波数帯域フィルタとが関連付けられた関連データと、歌唱者音程情報、楽器音情報、及び、楽曲演奏進行情報とを含んだ楽曲データとが記憶されており、上記制御手段は、前記楽曲データに基く楽曲の演奏中に、上記楽器音情報及び楽曲演奏進行情報に基いて、設定された所定の楽器音が発音されていないかどうかを判断し、前記楽器音が発音されていない期間において上記歌唱者音声入力手段に入力された入力音声から歌唱者のピッチ周波数を特定し、特定されたピッチ周波数及び上記関連データに基いて、周波数帯域フィルタを特定し、特定した周波数帯域フィルタによって上記入力音声をフィルタ処理し、採点手段は、上記歌唱者音程情報を用いて前記フィルタ処理された後の入力音声を採点することを特徴とする。
【0014】
請求項2に係る発明は、請求項1の採点機能を有するカラオケ装置において、蓄積手段をさらに有し、上記発音されていない期間において取得した上記入力音声の音高ピッチ情報は、上記蓄積手段に記憶され、所定時間分の音高ピッチ情報が蓄積されると平均処理によって上記歌唱者のピッチ周波数を特定することを特徴とする。
【0015】
請求項3に係る発明は、請求項1または2の採点機能を有するカラオケ装置において、上記楽曲データには、上記所定の楽器音を特定可能にする情報が付されており、上記制御手段は、上記情報に基いて上記所定の楽器音を設定することを特徴とする。
【0016】
請求項4に係る発明は、請求項1または2の採点機能を有するカラオケ装置において、上記所定の楽器音が予め定められていることを特徴とする。
【0017】
請求項5に係る発明は、請求項1〜4いずれかの採点機能を有するカラオケ装置において、上記楽曲は、MIDIデータを含む楽曲データに基いて演奏され、上記制御手段は、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を、上記所定の楽器音が発音されていないと判断することを特徴とする。
【0018】
請求項6に係る発明は、請求項4の採点機能を有するカラオケ装置において、上記制御手段は、上記楽曲の演奏開始後所定の時間内に上記一時メモリに所定時間分のピッチが蓄積されなかった場合に、所定の情報を利用者に報知することを特徴とする。
【発明の効果】
【0019】
請求項1に係る発明によれば、所定の楽器音が発音されていない期間において入力された入力音声に基いて歌唱者のピッチ周波数を特定し、その結果に基いてフィルタを設定し、設定したフィルタを用いてフィルタ処理を行った音声に基いて採点を行うので、音高ピッチ情報の抽出に悪影響を及ぼす楽器を所定の楽器音として設定することにより、精度の高い採点処理を実現することができる。
【0020】
請求項2に係る発明によれば、さらに、所定時間分の音高ピッチ情報を利用して、歌唱者のピッチ周波数を特定するので、特定したピッチ周波数の精度を高めることができる。
【0021】
請求項3に係る発明によれば、さらに、上記所定の楽器音を特定可能にする情報が楽曲データに付されているから、楽曲ごとに、音高ピッチ情報の取得に悪影響を及ぼす楽器音を特定することが可能となるため、音高ピッチ情報の取得のための適切な区間を決定することできる。
【0022】
請求項4に係る発明によれば、さらに、上記所定の楽器音が予め定められているから、既存の楽曲データを利用して精度の高い採点処理を行うことができる。
【0023】
請求項5に係る発明によれば、さらに、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を上記所定の楽器音が発音されていない期間と判断するので、上記所定の楽器音を発音させるための命令が出力されたタイミングを利用した簡易な処理で上記所定の楽器音が発音されていない期間を決定することができる。
【0024】
請求項6に係る発明によれば、さらに、楽曲の演奏開始後所定の時間内に所定時間分のピッチが蓄積できなかった場合にその旨を報知するので、男声/女声判別が正しく行われたか否かを演奏中の早い段階で歌唱者に報知することができる。
【発明を実施するための最良の形態】
【0025】
[第1実施形態]
本発明の第1実施形態に係るカラオケ装置について、図面を参照しつつ詳細に説明する。
【0026】
図9は、カラオケ装置における制御装置の内部構成、及び、その周辺機器を示すブロック図である。
【0027】
制御装置10は、通信回線を介してホストコンピュータ(図示せず)に接続されており、通信回線を介して楽曲データを通信I/F15を介して受信する。受信されたカラオケ曲データは、記憶装置12に記憶される。
【0028】
ここで、楽曲データには、楽曲の再生用データに加えて、カラオケ曲のタイトルデータ、カラオケ曲に対応する映像データ等が含まれることもある。
【0029】
コントローラ11は、制御装置10全体の制御を行う。また、種々のプログラムを実行する。
記憶装置12は、楽曲データ等を記憶する。また、記憶装置12は、動的記憶媒体(HDD等)で構成される。また、必要に応じて静的記憶媒体で構成してもよい。
【0030】
操作パネル13は、操作者が選曲番号等の各種情報を入力するために用いられる。また、リモコン13aを介して各種の情報を入力してもよい。
【0031】
RAM14は、種々の制御に必要な情報が記憶される一時記憶メモリである。RAM14は、マルチスレッドプロセスにおいては、共有メモリとして機能する。なお、本発明における共有メモリとしての使用方法については、後述する。
【0032】
通信I/F15は、図示しないホストコンピュータとの通信を、通信回線を介して行う。ここで、通信回線は、有線無線を問わない。
【0033】
採点回路16は、マイク17より入力された音声の採点を行う。また、本実施形態においては、採点の対象となる音声は、後述するフィルタ処理が施されている。なお、図9においては、マイクの数は2つであるが、マイクの数はいくつでもよい。なお、図9においては、コントローラ11と採点回路16を別個の構成として図示しているが、コントローラ11が、フィルタ処理及び採点処理を行ってもよい。また、フィルタ処理を別の回路が行ってもよい。
【0034】
音源18は、アンプ19に接続されている。楽曲データは、音源18を介して音声信号に変換され、アンプ19で増幅された後、スピーカ20によって音声出力される。なお、本実施形態においては、音源18は、MIDI音源である。また、アンプ19は、マイク17より入力された音声についても増幅する。
【0035】
映像制御回路21は、モニタ22に接続されている。記憶装置12または通信回線より取得した映像データと、楽曲データに含まれた歌詞情報とを、映像制御回路21を介して楽曲のカラオケ再生時の背景映像と歌詞として、モニタ22に表示する。また、映像データが、符号化されている場合は、復号処理を映像制御回路21で行ってもよい。
【0036】
なお、上述した内部構成は、本発明の説明に必要なものを主に記載したものであり、上述した構成以外にも、種々の回路や要素が含まれることはもちろんである。
【0037】
なお、本実施形態におけるカラオケ装置の外観は、本発明において何ら限定されるものではない。また、本発明においては、上述したカラオケ装置の内部構成として示した一部の要素を、外部に備えてよい。一部の構成要素の機能を、ネットワークに接続されたサーバで実現することも可能である。
【0038】
本実施形態で用いる楽曲データは、楽器音情報、楽曲演奏進行情報、歌唱者音程情報等を有するものである。代表的なものとしてMIDIデータを挙げることができるが、本発明は、MIDIデータに限定されるものではなく、本発明を実施可能な限度においてその他のデータであってもよい。また、MIDIデータにおいては、チャネル番号によって楽器音が指定され、楽器音の発音のオン/オフは、例えば、ノートオン/ノートオフ信号で制御される。また、歌唱者音程情報は、ボーカルトラックのノートナンバを用いることができる。
【0039】
図10は、共有メモリの内部構成を示す図である。この図が示すとおり、共有メモリには、所定の楽器音(楽器トラック)におけるノートオン信号が出力された時刻が記憶される領域と、ボーカルトラックのノートナンバが記憶される領域とからなる。なお、図10は、所定の楽器音としてドラム音源を指定した場合の共有メモリの内容を示している。
【0040】
次に、本実施形態におけるカラオケ装置の処理の流れについて図を参照しつつ説明する。図11は、本実施形態におけるカラオケ装置の採点用プロセスのフローチャートであり、図12は、本実施形態におけるカラオケ装置の演奏用プロセスのフローチャートである。ここで、採点用プロセスと演奏用プロセスとは、マルチスレッドとして処理される。すなわち、上記両プロセスは、並列で処理される。マルチスレッド処理については公知であるので説明を省略する。
【0041】
上記両プロセスは、実行中に共有メモリにアクセスすることによって、両プロセス間で情報のやり取りが可能となっている。
【0042】
[採点用プロセス]
まず、採点用プロセスについて図11を参照にしつつ説明する。楽曲の再生がスタートすると、採点用プロセスは実行開始される。
S1において、取得ピッチ保持エリアを初期化する。取得ピッチ保持エリアは、RAM14内に形成される。
【0043】
S2において、ローカットフィルタをオフにする。なお、本実施形態においては、フィルタとしてローカットフィルタを用いる例を説明するが、バンドパスフィルタ等を用いても本発明は実現可能であることはもちろんである。また、フィルタをデジタルフィルタで構成してもよいし、アナログフィルタで構成してもよい。
【0044】
S3において、取得ピッチ保持エリア内に音高ピッチ情報がFULLになったか否かを判断する。取得ピッチ保持エリアに記憶する音高ピッチ情報の量は適宜設定可能であり、入力音声のピッチ周波数を正確に算出できる量とする。音高情報ピッチ情報がFULLになっていないと判断した場合は(S3:NO)、S4に進む。
【0045】
S4において、楽曲の演奏が終了したか否かを判別する。演奏が終了したと判断された場合(S4:YES)は、S11に進む。演奏が終了していないと判断された場合(S4:NO)は、S5に進む。
【0046】
S5において、演奏開始から一定時間が経過したか否かを判断する。一定時間が経過したと判断した場合は(S5:YES)、S11に進む。この一定時間は、適宜設定可能である。一定時間が経過したとの判断は、音高ピッチ情報が所定時間内に所定量取得できなかったと判断したことを意味する。
【0047】
S11において、楽曲の演奏を終了し、採点ができなかった旨をモニタ22に表示する。また、S5及びS11における処理は、必要に応じ省略してもよい。
【0048】
S5において、演奏開始から一定時間が経過していない場合は(S5:NO)は、S6に進む。
S6において、音高ピッチ情報が取得できたか否かを判断する。音高ピッチ情報が取得できないと判断した場合は(S6:NO)、S3に戻る。音高ピッチ情報が取得できたと判断した場合は(S6:YES)、S7に進む。なお、音高ピッチ情報の取得の手法については、公知の種々の技術を採用することができる。
【0049】
S7において、S6で取得した音高ピッチ情報の取得タイミングにおける入力音量が所定以上であるか否かを判断する。入力音量が所定以上でない場合は(S7:NO)、当該タイミングにおいてマイク17により音声が入力されていなかったと判断してS3に戻る。入力音量が所定以上である場合は(S7:YES)、S8に進む。
【0050】
S8においては、現在時刻を取得する。この現在時刻は、S6で取得した音高ピッチ情報を取得した時刻を表すものである。その後、S9に進み、S8で取得した時刻と、共有メモリに記憶されている時刻との時間差を算出する。S8で取得した時刻が、共有メモリに記憶されている時刻を基点として所定時間以上経過していない場合(S9:YES)は、S3に戻る。所定時間以上経過している場合は(S9:NO)は、S10に進む。なお、共有メモリに書き込まれている時刻は、後述する演奏用プロセスにおいて書き込まれた所定の楽器音(本実施形態においてはドラム音源)のノートオン信号が出力された時刻である。
【0051】
S9における処理について具体的に説明する。S9では、ドラム音源が発音されてからの所定時間は、マイク17に入力された音声にドラム音が含まれていると判断し、当該所定時間内に取得した音高ピッチ情報は、ピッチ算出には用いない。通常の音源は、ノートオン信号によって発音した後は、ノートオフ信号を受信するまで発音が続く。しかしながら、ドラムやパーカッション音源は、ノートオン信号を受信すると同時に発音し、ノートオフ信号の有無に関わらず音色の最後まで達したときに消音される。そのため、上記所定の楽器音として、ドラム音源を指定している場合は、ノートオン信号が出力されてから消音されるまでの時間を所定の時間として管理しておき、上記ノートオン信号が出力されてから上記所定の時間を発音されている区間として判断できるのである。すなわち、ノートオフ信号が出力されたか否かを判断する必要がない。
【0052】
S10においては、S6で取得した音高ピッチ情報を取得ピッチ保持エリアに書き込む。そして、S3に戻る。
【0053】
S3において、取得ピッチ保持エリアがFULLになっていると判断した場合は(S3:YES)は、S12に進む。
S12において、取得ピッチ保持エリア内の全データの平均値を算出し、平均ピッチ情報を入力音声のピッチ周波数として取得する。その後、S13に進む。
【0054】
S13において、算出したピッチ周波数が、所定ピッチ以下であるか否かを判別する。ピッチ周波数が所定ピッチ以下である場合(S13:YES)は、マイク17に入力された音声は男声であると判断して、S14に進む。
S14において、ローカットフィルタを男声用に設定する。
【0055】
ピッチ周波数が所定ピッチ量以下ではない場合(S13:NO)は、マイク17に入力された音声は女声であると判断して、S15に進む。
S15において、ローカットフィルタを女声用に設定する。
【0056】
なお、S13〜S15の処理においては、マイク17に入力された音声のピッチ情報を2つのピッチ周波数(男声・女声)に分類し、それぞれのピッチ周波数に対してフィルタを設定したが、ピッチ周波数を3つ以上に分類して、それぞれの周波数に対しフィルタを設定してもよい。また、周波数と設定されるフィルタとの関係は、予めデータテーブルとして有してもよいし、プログラム上で処理(すなわち、IF/THEN処理)してもよい。また、男声と判断した場合は、フィルタ処理をしないように構成してもよい。
【0057】
S16において、採点値を初期化する。なお、本実施形態においては、減点法によって処理を行うため、初期値として例えば1000点を設定できるが、加点法や、その他周知の採点値設定法を適宜適用可能であることはいうまでもない。なお、その場合は、初期値は1000点ではなく異なる値となることはいうまでもない。また、減点法以外の採点手法を採用する場合は、以下に説明するS22の処理が異なる点はいうまでもない。
【0058】
S17において、楽曲の演奏が終了したか否かを判断する。楽曲の演奏が終了したと場合は(S17:YES)、S18に進み、採点結果をモニタ22に表示する。なお、楽曲の演奏中においても、適宜採点結果(途中結果)を表示するよう構成してもよい。楽曲の演奏が終了していない場合は(S17:NO)、S19に進む。
【0059】
S19において、音高ピッチ情報を取得できたか否かを判断する。音高ピッチ情報が取得できなかった場合は(S19:NO)、S17に戻る。音高ピッチ情報が取得できたと判断した場合は(S19:YES)、S20に進む。
【0060】
S20において、S19で取得した音高ピッチ情報の取得タイミングにおける入力音量が所定以上であるか否かを判断する。入力音量が所定以上でない場合は(S20:NO)、当該タイミングにおいてマイク17により音声が入力されていなかったと判断してS17に戻る。入力音量が所定以上である場合は(S20:YES)、S21に進む。
【0061】
S21において、S19で取得した音高ピッチ情報と、共有メモリに記憶されているMIDIデータにおけるボーカルトラックのノートナンバとの差分を算出する。本実施形態においては、MIDIデータにおけるボーカルトラックのノートナンバを採点の基準としている。また、MIDIデータにおけるボーカルトラックは、歌唱時において、ガイドメロディとしても利用される。共有メモリへの書き込みについては、演奏用プロセスにおいて詳細に説明する。その後、S22に進む。
【0062】
S22において、現在の採点値からS21で求めた差分の絶対値を減算する。ここで、マイクから入力された音高ピッチ情報が共有メモリに記憶されているノートナンバが示すピッチ情報と同じであれば、マイク17から入力された音声信号の音高ピッチ情報は正しいものなので、減算されないことになる。
【0063】
なお、S21及びS22における採点手法においては、歌唱音声がガイドメロディに対して時間方向にずれている場合にも採点値に影響を及ぼす。そこで、所定時間分のガイドメロディ(ボーカルトラック)のノートナンバー(ピッチ情報)を共有メモリに記憶しておき、入力音声における音高ピッチ情報とDPマッチング等を利用して採点処理を行うことにより、時間方向のずれが採点値に影響を及ぼすことを低減できる。
【0064】
[演奏用プロセス]
次に、演奏用プロセスについて図12を参照しつつ説明する。楽曲の再生がスタートすると、演奏用プロセスは実行開始される。演奏用プロセスでは、楽曲データであるMIDIデータが有する複数のトラックのうち、ドラムトラック及びボーカルトラックが処理対象となる。そのため、楽曲データに含まれる複数のトラックから、ドラムトラック及びボーカルトラックを特定する必要がある。
【0065】
S31において、取得したトラックのデータがドラムトラックであるか否かを判断する。なお、本実施形態においては、ドラムトラックを音高ピッチ情報の取得に影響を及ぼす所定の楽器音としている。ドラムトラックでない場合は(S31:NO)、他のトラックを処理の対象とするため、当該トラックに対しては処理を行なわず、S35に進む。
【0066】
ドラムトラックである場合は(S31:YES)、S32に進む。
S32において、S31で取得したデータにノートオン情報が存在するか否かを判断する。ノートオン指示情報が含まれていない場合は(S32:NO)、ドラム音源の発音開始タイミングではないと判断してS35に進む。
ノートオン指示情報が含まれている場合は(S32:YES)、ドラム音源の発音開始タイミングであると判断し、S33に進む。
【0067】
S33において、現在時刻を取得する。この現在時刻は、ドラム音源の発音開始時刻を意味するものである。なお、この現在時刻としては、システム起動からの時間を利用することができるが、その他の時刻情報でもよい。その後、S34に進む。
【0068】
S34において、S33で取得した現在時刻を時刻設定用共有メモリにセットする。この時刻設定用共有メモリの内容は、S33で現在時刻が取得される度に更新されるものである。
【0069】
S35において、取得したトラックのデータがボーカルトラックであるか否かを判断する。ボーカルトラックでない場合は(S35:NO)は、他のトラックを処理の対象とするため、当該トラックに対しては処理を行わずS40に進む。
【0070】
ボーカルトラックである場合は(S35:YES)は、S35で取得したデータにノートオン指示情報が存在するか否かを判断する。ノートオン指示情報が含まれていない場合は(S36:NO)、ボーカル発声開始タイミングではないと判断してS38に進む。ノートオン情報が含まれている場合は(S36:YES)、ボーカル発声開始タイミングであると判断して、S37に進む。
【0071】
S37において、ノートナンバをノートナンバ用共有メモリにセットする。この内容は、採点用プロセスにおいて、採点の基準として用いられる。
【0072】
S38において、S35で取得したデータにノートオフ指示情報が存在するか否かを判断する。ノートオフ指示情報が含まれていない場合は(S38:NO)、S40に進む。ノートオフ指示情報が含まれている場合は(S38:YES)、S39に進む。
S39において、ノートナンバ用共有メモリをクリアする。これにより、ボーカル発声期間のみ、ノートナンバ用共有メモリに情報が記憶されることになる。
【0073】
S40において、MIDIデータを音源に送出する。これにより、楽音データに基いて演奏が制御されることになる。
【0074】
上記処理においては、ドラムトラック及びボーカルトラックに対する処理の後にMIDIデータを音源に送出するよう構成したが、先にMIDIデータを音源に送出し、その後ドラムトラック及びボーカルトラックに対する処理を行うよう構成してもよい。
【0075】
なお、採点用プロセス及び演奏用プロセスとして説明した上記フローチャートは単なる一例であり、上記処理と同等の結果を得ることできる処理であれば、他のフローチャートによって処理を実現してもよい。
【0076】
次に、上述した採点用プロセス及び演奏用プロセス実行時における、音高ピッチ情報が取得される様子を、図を用いて説明する。
図13は、ドラムトラックのノートオン、ノートオフのタイミング、システム起動からの時間、取得したピッチ情報の関係を示す。なお、横軸は時間軸である。
【0077】
図13においては、ドラム音源の発音開始から、20msをピッチ無視時間として、図11のS5における一定時間として設定しているが、この時間間隔は適宜設定可能である。システム時間80010(単位であるmsは省略する。以下同じ。)の時点でドラム音源がノートオンされたので、80010から80030までに取得された音高ピッチ情報は破棄される。そのため、ピッチ情報1は、取得ピッチ保持エリアに記憶されることなく破棄される。
【0078】
また、ピッチ情報2、3は、80030以降に取得され、また、次のドラム音源の発音開始前であるので、取得ピッチ保持エリアに書き込まれることになる。以下同様にして、ピッチ情報4、8は破棄され、ピッチ情報5〜7、9〜11は取得ピッチ保持エリアに書き込まれる。なお、図13においては、ドラムトラックのノートオフ指示情報は、上述したとおり利用していない。取得ピッチ保持エリアに所定時間分のピッチ情報が蓄積されると、ピッチ周波数が算出されることになる。
【0079】
上述したとおり、本実施形態においては、演奏開始後、ドラム音源が演奏されていない期間で取得した音高ピッチ情報に基いて男声/女声を判断し、判断した性別に応じたフィルタを設定し、設定されたフィルタを用いて入力音声をフィルタ処理し、フィルタ処理された音声を採点対象とするので、精度の高い採点を行うことができる。また、楽曲の演奏開始が所定時間内に所定量の音高ピッチ情報が取得できなかった場合は、その旨演奏の早い段階で報知することができる。
【0080】
なお、上記処理においては、共有メモリを利用してメモリ内のボーカルトラックの情報を随時変更していたが、共有メモリを用いることなく処理することもできる。すなわち、採点用プロセスにおいて、直接楽曲データに含まれるボーカルトラックのノートナンバをアクセスするよう構成してもよい。
【0081】
[第2実施形態]
第1実施形態においては、男声/女声の判断を行い、フィルタが決定されるまでにマイク17に入力された音声は採点処理の対象としなかったが、この期間の音声信号をバッファ等に蓄えておき、フィルタ決定後にこれら入力音声をフィルタ処理して採点結果に反映させることもできる。
【0082】
図14は、バッファに上記期間の入力音声を記憶しておき、フィルタ決定後に用いる処理(以下、「一時記憶用プロセス」という。)のフローチャートを示すものである。
【0083】
一時記憶用プロセスは、採点用プロセス及び演奏用プロセスと並列して処理される。一時記憶用プロセスは、楽曲の開始がスタートすると実行開始される。
【0084】
S51において、楽曲の演奏が終了したか否かを判断する。楽曲の演奏が終了した場合は(S51:YES)、一時記憶用プロセスを終了する。楽曲の演奏が終了していない場合は(S51:NO)、S52に進む。
【0085】
S52において、採点用プロセスにおいてフィルタが設定されたか否かを判断する。フィルタが設定された場合は(S54:YES)、S54に進む。フィルタが設定されていない場合は(S54:NO)、S53に進む。
【0086】
S53において、マイク17に入力された音声信号を、バッファに書き込む。S51〜S53の処理を繰り返すことにより、採点用プロセスにおいてフィルタが設定されるまでの入力音声は、バッファに書き込まれることになる。
【0087】
S54において、バッファに記憶した入力音声信号を順次読み出す。その後、S55に進む。
S55において、読み出した入力音声信号に対し採点用プロセスにおいて設定されたフィルタを利用してフィルタ処理を行う。その後、S56に進む。
【0088】
S56において、フィルタ処理された音声信号に対し、採点処理を行う。この採点処理自体は、採点用プロセスで行われるものと同じであるので説明を省略する。
なお、S54〜S56の処理は、互いに並列に行ってもよい。すなわち、バッファから読み出した音声をフィルタ処理している最中に、次の入力音声をバッファから読み出してもよい。
【0089】
S57において、本プロセスで算出した採点値を、採点用プロセスにおける採点結果に反映させる。なお、反映させるタイミングは適宜設定可能である。
【0090】
上述した本実施形態においては、フィルタが設定されるまでにマイク17に入力された音声についても採点結果に反映されることができる。なお、上記フローチャートは単なる一例であり、上記処理と同等の結果を得ることできる処理であれば、他のフローチャートによって処理を実現してもよい。
【0091】
[所定の楽器音の設定において]
上述した第1及び第2実施形態においては、ドラム音源を所定の楽器音としていた。所定の楽器音の設定方法としては、図15に示すように、楽曲データに所定の楽器音を示すための情報を含ませてもよい。このような構成を採れば、楽曲データ作成時に、楽曲データ作成者側で、予め楽曲ごとに音高ピッチ情報取得に悪影響を及ぼす楽器音を特定することができるので、前記楽曲データを用いたカラオケ用採点装置は、歌唱者に何らの負担を課すことなく、楽曲演奏中の楽器音種類と時間的流れとに応じて、男声/女声を正確に、かつ、容易に判別できるようになり、男声女声別に適正なフィルタ処理を行えるので、楽曲ごとに精度の高い採点ができる。なお、図15に示す楽曲データのデータ構造は単なる一例である。
【0092】
例えば、図15の楽曲データに含まれる除外トラック指定情報を参照することにより、音高ピッチ情報取得に悪影響を及ぼす楽器音(設定する楽器音)のトラックを特定することが可能となる。
【0093】
ここで、除外トラックとは、どの楽器音が音高ピッチ情報取得に悪影響を及ぼすかを特定するものである。除外トラックにドラムトラックが指定されていれば、図12(S31,S32)で示した処理と同様の処理が可能となる。また、例えば、除外トラックにトラックNo.10が設定されていれば、トラックNo.10のノートオンタイミングからピッチ無視時間(例えば、20mS)内に取得されたピッチ情報は破棄される。この場合、トラックNo.10に指定されている楽器音を、音高ピッチ情報取得に悪影響を及ぼす楽器音(設定する楽器音)として特定することになる。
【0094】
また、MIDIにおけるプログラム・チェンジコマンドを利用することにより、任意の楽器音のトラックを上記所定の楽器音のトラックとして指定することもできる。ドラム音源を上記所定の楽器音としている場合に、任意の楽器音トラックのMIDIデータ中に、ドラム音源に切り替えるためのプログラム・チェンジコマンドが挿入されていると、そのプログラム・チェンジコマンド実行後においては、その任意の楽器音のトラックは、ドラムトラックとして機能することになる。これにより、除外トラック指定情報によって上記所定の楽器音を直接指定しなくても、MIDIコマンドによって上記所定の楽器音を特定することができる。
【0095】
また、カラオケ装置において予め所定の楽器音を決定しておいてもよい。この場合は、既存の楽曲データを何ら加工することなく、本発明を実現できる。この場合、楽曲によっては、音高ピッチ情報が正しく取得できないことも想定されるが、上述した採点用プロセスにおいては、楽曲の演奏開始後所定時間内に所定時間分の音高ピッチ情報が取得できなかった旨を報知するので、利用者は、演奏中に採点が正しく行われなかったことを把握することができる。
【0096】
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。また、上述した処理を実行するためのカラオケ装置における採点方法としても本発明は実現可能である。さらに、当該カラオケ装置における採点方法をコンピュータで実行させるためのプログラム、及び、そのプログラムが記録された記録媒体としても本発明は実現可能である。
【図面の簡単な説明】
【0097】
【図1】ドラム音源の周波数分布の一例を示した図である。
【図2】ドラム音源の周波数分布の一例を示した図である。
【図3】ドラム音源の周波数分布の一例を示した図である。
【図4】女声の周波数分布の一例を示した図である。
【図5】女声の周波数分布の一例を示した図である。
【図6】女声の周波数分布の一例を示した図である。
【図7】男声の周波数分布の一例を示した図である。
【図8】男声の周波数分布の一例を示した図である。
【図9】本発明の実施形態に係る採点機能を有するカラオケ装置の制御装置の内部構成及びその周辺要素を示した図である。
【図10】本発明の実施形態に係るカラオケ用装置の共有メモリの内部構造を示した図である。
【図11】本発明の実施形態に係る採点用プロセスのフローチャートである。
【図12】本発明の実施形態に係る演奏用プロセスのフローチャートである。
【図13】本発明における、ドラム音源の発音タイミング、システム起動からの時間、取得された音高ピッチ情報を示したタイミング図である。
【図14】本発明の第2実施形態に係る一時記憶用プロセスのフローチャートである。
【図15】本発明における楽曲データの構成の一例を示した図である。
【符号の説明】
【0098】
10 制御装置
11 コントローラ
12 記憶装置
13 操作パネル
13a リモコン
14 RAM
15 通信I/F
16 採点回路
17 マイク
18 音源
19 アンプ
20 スピーカ
21 映像制御回路
22 モニタ
【特許請求の範囲】
【請求項1】
歌唱者音声入力手段、楽曲再生手段、制御手段、記憶手段、採点手段を備えた採点機能を有するカラオケ装置において、
上記記憶手段には、
ピッチ周波数と周波数帯域フィルタとが関連付けられた関連データと、歌唱者音程情報、楽器音情報、及び、楽曲演奏進行情報とを含んだ楽曲データとが記憶されており、
上記制御手段は、前記楽曲データに基く楽曲の演奏中に、
上記楽器音情報及び楽曲演奏進行情報に基いて、設定された所定の楽器音が発音されていないかどうかを判断し、
上記楽器音が発音されていない期間において上記歌唱者音声入力手段に入力された入力音声から歌唱者のピッチ周波数を特定し、
特定されたピッチ周波数及び上記関連データに基いて、周波数帯域フィルタを特定し、
特定した周波数帯域フィルタによって上記入力音声をフィルタ処理し、
上記採点手段は、上記歌唱者音程情報を用いて前記フィルタ処理された後の入力音声を採点する、
ことを特徴とする採点機能を有するカラオケ装置。
【請求項2】
蓄積手段をさらに有し、
上記発音されていない期間において取得した上記入力音声の音高ピッチ情報は、上記蓄積手段に記憶され、
所定時間分の音高ピッチ情報が蓄積されると平均処理によって上記歌唱者のピッチ周波数を特定する、
ことを特徴とする請求項1の採点機能を有するカラオケ装置。
【請求項3】
上記楽曲データには、上記所定の楽器音を特定可能にする情報が付されており、
上記制御手段は、上記情報に基いて上記所定の楽器音を設定する、
ことを特徴とする請求項1または2の採点機能を有するカラオケ装置。
【請求項4】
上記所定の楽器音が予め定められている、
ことを特徴とする請求項1または2の採点機能を有するカラオケ装置。
【請求項5】
上記楽曲は、MIDIデータを含む楽曲データに基いて演奏され、
上記制御手段は、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を、上記所定の楽器音が発音されていない期間と判断する、
ことを特徴とする請求項1〜4いずれかの採点機能を有するカラオケ装置。
【請求項6】
上記制御手段は、上記楽曲の演奏開始後所定の時間内に上記一時メモリに所定時間分のピッチが蓄積されなかった場合に、所定の情報を利用者に報知する、
ことを特徴とする請求項4の採点機能を有するカラオケ装置。
【請求項1】
歌唱者音声入力手段、楽曲再生手段、制御手段、記憶手段、採点手段を備えた採点機能を有するカラオケ装置において、
上記記憶手段には、
ピッチ周波数と周波数帯域フィルタとが関連付けられた関連データと、歌唱者音程情報、楽器音情報、及び、楽曲演奏進行情報とを含んだ楽曲データとが記憶されており、
上記制御手段は、前記楽曲データに基く楽曲の演奏中に、
上記楽器音情報及び楽曲演奏進行情報に基いて、設定された所定の楽器音が発音されていないかどうかを判断し、
上記楽器音が発音されていない期間において上記歌唱者音声入力手段に入力された入力音声から歌唱者のピッチ周波数を特定し、
特定されたピッチ周波数及び上記関連データに基いて、周波数帯域フィルタを特定し、
特定した周波数帯域フィルタによって上記入力音声をフィルタ処理し、
上記採点手段は、上記歌唱者音程情報を用いて前記フィルタ処理された後の入力音声を採点する、
ことを特徴とする採点機能を有するカラオケ装置。
【請求項2】
蓄積手段をさらに有し、
上記発音されていない期間において取得した上記入力音声の音高ピッチ情報は、上記蓄積手段に記憶され、
所定時間分の音高ピッチ情報が蓄積されると平均処理によって上記歌唱者のピッチ周波数を特定する、
ことを特徴とする請求項1の採点機能を有するカラオケ装置。
【請求項3】
上記楽曲データには、上記所定の楽器音を特定可能にする情報が付されており、
上記制御手段は、上記情報に基いて上記所定の楽器音を設定する、
ことを特徴とする請求項1または2の採点機能を有するカラオケ装置。
【請求項4】
上記所定の楽器音が予め定められている、
ことを特徴とする請求項1または2の採点機能を有するカラオケ装置。
【請求項5】
上記楽曲は、MIDIデータを含む楽曲データに基いて演奏され、
上記制御手段は、上記所定の楽器音を発音させるための命令が出力されてから一定の時間を、上記所定の楽器音が発音されていない期間と判断する、
ことを特徴とする請求項1〜4いずれかの採点機能を有するカラオケ装置。
【請求項6】
上記制御手段は、上記楽曲の演奏開始後所定の時間内に上記一時メモリに所定時間分のピッチが蓄積されなかった場合に、所定の情報を利用者に報知する、
ことを特徴とする請求項4の採点機能を有するカラオケ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−36878(P2009−36878A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−199557(P2007−199557)
【出願日】平成19年7月31日(2007.7.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願日】平成19年7月31日(2007.7.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]