JP4135615B2 - 楽音比較装置および楽音比較プログラム - Google Patents

楽音比較装置および楽音比較プログラム Download PDF

Info

Publication number
JP4135615B2
JP4135615B2 JP2003365554A JP2003365554A JP4135615B2 JP 4135615 B2 JP4135615 B2 JP 4135615B2 JP 2003365554 A JP2003365554 A JP 2003365554A JP 2003365554 A JP2003365554 A JP 2003365554A JP 4135615 B2 JP4135615 B2 JP 4135615B2
Authority
JP
Japan
Prior art keywords
pitch
counter
musical
data
musical sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003365554A
Other languages
English (en)
Other versions
JP2005128372A (ja
Inventor
純一 南高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003365554A priority Critical patent/JP4135615B2/ja
Publication of JP2005128372A publication Critical patent/JP2005128372A/ja
Application granted granted Critical
Publication of JP4135615B2 publication Critical patent/JP4135615B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Description

本発明は、ユーザ入力にかかる音声信号と、本来発するべき楽音の音高とを比較する装置に関する。
ピッチ抽出技術により、ユーザの歌唱のピッチを抽出し、実際に発音すべき楽音との相違を比較する装置が提案されている。
たとえば、特許文献1には、歌唱音声信号に基づく音声データと、演奏データとを比較し、表示装置の画面上に表示された歌詞や楽譜に、音程外れなどを表示できるような演奏曲再生装置が開示されている。
特開2000−29473号公報
たとえば、上記特許文献1に記載された装置においては、音程外れやテンポ外れなどの不一致が生じた箇所の位置を求めているが、不一致を判断するタイミングにより、ユーザ歌唱にかかるピッチと実際の音高とが外れているか否かの判断結果が異なり、その結果、正確な判断ができないという問題点があった。たとえば、わずかな時間だけでも本来発声すべき音高から逸脱した場合にも、音程の不一致であると判断してしまうと、ユーザの歌唱にわずかなミスがあった場合にもその部分が間違っていると判断されてしまう。
本発明は、入力された音声と、実際に発するべき楽音の音高との一致、不一致を正確に判断することができる装置を提供することを目的とする。
本発明の目的は、ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段と、前記判定手段による判定結果を表示装置に表示する表示制御手段とを備えたことを特徴とする楽音比較装置により達成される。
本発明の目的は、ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段と、前記判定手段による判定結果を表示装置に表示する表示制御手段とを備え、前記再生手段が、消音タイミングに前記楽音を消音させるのに応答して、前記判定手段が起動することを特徴とする楽音比較装置により達成される。
さらに別の好ましい実施態様においては、前記比較手段が、フレームごとにピッチと音高が比較された回数をカウントする第5のカウンタを備え、前記判定手段が、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第5のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する。前記閾値を、設定された難易度に応じて変化させても良い。
本発明の目的は、ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段であって、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定手段と、前記判定手段による判定結果を表示装置に表示する表示制御手段とを備えたことを特徴とする楽音比較装置により達成される。なお、前記閾値を、設定された難易度に応じて変化させても良い。
本発明の目的は、ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段であって、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定手段と、前記判定手段による判定結果を表示装置に表示する表示制御手段とを備え、前記再生手段が、消音タイミングに前記楽音を消音させるのに応答して、前記判定手段が起動することを特徴とする楽音比較装置により達成される。なお、前記閾値を、設定された難易度に応じて変化させても良い。
本発明によれば、入力された音声と、実際に発するべき楽音の音高との一致、不一致を正確に判断することができる装置を提供することが可能となる。
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の第1の実施の形態にかかる歌唱ガイド装置のハードウェア構成を示すブロックダイヤグラムである。図1に示すように、歌唱ガイド装置10は、CPU12、歌唱をガイドするための種々のプログラムや演奏する楽曲の楽曲データを記憶したROM14、歌唱者の歌唱にしたがったデータを一時的に記憶し、また、プログラムを実行する際のワークエリアとして用いられるRAM16、キーボードやマウスなどの入力装置16、CRT表示装置やLCDからなる表示装置18、外部機器から楽曲データを受理し、或いは、外部機器に楽曲データを出力するMIDI(Musical Instrument Digital Interface)インタフェース(I/F)20、および、マイク22を経て伝達された音声信号をディジタル信号に変換するAD変換器(ADC)24を有している。
図2は、CPU12およびその周辺部材の機能ブロックダイヤグラムである。図2に示すように、CPU12は、楽曲データを受理して、受理した楽曲データに基づいて楽曲を再生する再生制御部30と、ADC26からのディジタル信号に基づいて、歌唱者の音声のピッチを抽出するピッチ抽出部32と、再生される楽曲の音高と抽出されたピッチとを比較する比較判定部34と、再生される楽曲の楽譜表示を制御する楽譜表示制御部36と,表示すべき楽譜のスクロールを制御するスクロール表示制御部38とを有している。
楽曲データは、歌唱ガイド装置10のROM14に記憶され、或いは、外部機器から、MIDI I/F22を介して、再生制御部30に与えられる。図3は、楽曲データのデータ構成を示す図である。図3に示すように、楽曲データは、再生時に発音される楽音ごとに、Note[0],Note[1],・・・Note[n]に示すようなデータ群を有する。各楽音に相当するデータ群(たとえば、Note[0])には、当該楽音の発音開始ティック、すなわち、楽音の発音を開始するタイミングまでのクロック数を示すITime、発音した楽音を伸ばす時間に相当するゲートタイムを示すIGate、発音すべき楽音の音高(ノート番号)を示すPit、発音すべき楽音のベロシティを示すVel、当該楽音と音声のディジタル信号に基づき抽出されたピッチとの比較結果をそれぞれ示すiMatchCnt、iUpCnt、iDownCnt、および、sMatch、並びに、次の楽音のノート番号を示すノートポインタiNpが含まれる。
第1のピッチ比較結果iMatchCntは、ピッチの一致回数を示し、第2のピッチ比較結果iUpCntは、歌唱の音高が楽音の音高より高い、つまり、上ずっていた回数を示し、その一方、第3のピッチ比較結果iDownCntは、歌唱の音高が楽音の音高より低い、つまり、いわゆるフラットした回数を示す。また、第4の比較結果Smatchは、ピッチの最終的な比較結果を示す。Smatchの値として、たとえば、ピッチが一致したことを示す「○(マル)」に対応する値、或いは、ピッチが不一致であることを示す「×(バツ)」に対応する値をとることができる。
本実施の形態では、楽音ごとに、上述したデータ群のうち、ITime、IGate、Pit、VelおよびiNPが予め用意される。また、ピッチ比較結果は、後述する比較判定処理により必要な値が格納される。
図4は、本実施の形態にかかる歌唱ガイド装置にて実行される処理のメインフローチャートである。図4に示すように、歌唱ガイド装置10は、電源がオンされると、まず、処理に使用される変数を初期化する(ステップ401)とともに、楽曲データに基づいて、楽譜を表示する(ステップ402)。
図5は、処理に使用される変数を示す図である。本実施の形態においては、再生制御のために用いられるパラメータ(図5(a)参照)と、ピッチ抽出のために用いられるパラメータ(図5(b)参照)とがある。再生制御用パラメータには、4分音符の分解能を示すiResolution、拍子の分子の部分を示すlBeat、分母の部分を示すlBeatDenomi、テンポ値(BPM)を示すlBPM、1小節の秒数を示すdoTimeOfMeas、楽譜表示の際に、発音すべきタイミングから先行させて表示させる楽譜のフレーム数を示すIOffsetX、再生時の現在時間を示すINowTime、再生開始時間を示すIBaseTime、再生時の現在再生位置をティックにて示すINowTick、先行させて表示する際の先行時間を示すIOffset、いまどのノートを再生しているかを示す再生用ノートポインタnp、既に発音が終わったノートのうち、どのノートまでを残して表示するかを示す表示用ノートポインタnd、および、先行して表示すべきノートを示す先行表示用ノートポインタnaが含まれる。さらに、再生制御用パラメータには、発音すべき楽曲データNote[N]、発音すべき楽曲でデータのバッファであるOnBuf[N]、および、再生、音声入力の状態変数であるiPlay、iWaveが含まれる。これらパラメータについては、再生処理に関連してより詳細に説明する。
また、図5(b)に示すように、ピッチ抽出用パラメータには、FFT実行のための変数(複素数)であるcmData[N]、スペクトルパワーを示すdoData[N]、サンプリング周波数を示すdoFS、フレームサイズを示すiFrameSize、抽出するピッチの最低音のノート番号を示すiLowerNN、抽出するピッチの最高音のノート番号を示すiUpperNN、抽出されたピッチの整数部を示すiBNoteN、抽出されたピッチの小数部を示すiBNoteD、および、採点結果を示すiJudgeが含まれる。
ステップ401およびステップ402の後、歌唱ガイド装置10は、ユーザによる入力装置18の入力を待つ(ステップ403)。より具体的には、ここでは、再生開始或いは停止指示のための、キー或いはマウスによる入力を待機する。入力装置18の入力が、開始指示であった場合には(ステップ404でイエス(Yes))、歌唱ガイド装置10は、再生ルーチンを起動するとともに(ステップ405)、音声入力ルーチンも起動する(ステップ406)。その一方、終了指示であった場合には(ステップ407でイエス(Yes))、再生ルーチンおよび音声入力ルーチンを停止させる(ステップ408、409)。
図6は、歌唱ガイド装置10の再生制御部30にて実行される再生ルーチンを示すフローチャートである。この再生ルーチンは、メインフローのステップ405において起動され、メインルーチンと平行して動作する。
再生ルーチンにおいては、まず、再生制御用パラメータ中、ノートポインタnp、ndおよびnaが初期化される(ステップ601)。次いで、スクロール表示のための初期化が行われるとともに(ステップ602)、再生開始時間IBaseTimeに、現在時刻が与えられる(ステップ603)。
次いで、状態変数iPlayが「0(ゼロ)」であるかどうかが判断される(ステップ604)。この状態変数iPlayは、再生中に「1」、再生終了時に「0」がセットされるため、ステップ604でイエス(Yes)と判断された場合には、採点処理が実行される(ステップ605)。
その一方、ステップ604でノー(No)と判断された場合には、再生時の現在時間INowTimeに現在時刻が与えられる(ステップ606)。次いで、再生制御部30は、時間変数を更新する(ステップ607)。ここでは、以下の式を用いて、現在再生位置のティックを示すINowTickが更新される。
INowTick=(INowTime−IBaseTime)
*iResolution*IBPM/60
つまり、再生開始時からの経過時刻が、曲の先頭からどの位置(ティック)に相当するのかを、テンポの変数(IBPM)と、4分音符のティックの定義(iResolution)とから算出される。なお、IBPMは、1分間の拍数(Beat Per Minute)であるため、60で除算している。
次いで、再生制御部30は、算出されたINowTickを参照して、キーオフすべきタイミングであれば、後述するノートオフ処理(ステップ608)において、所定のノート(Note[i])の楽曲データの楽音をノートオフするとともに、キーオンすべきタイミングであれば、後述するノートオン処理(ステップ609)において、所定のノートの楽曲データを発音させる。また、再生制御部30は、現在時刻に対応するINowTick、楽曲データ、および、各ノートの発音開始タイミングを比較して、表示すべきノート等を判定した上で(スクロール表示処理:ステップ610)、楽譜をスクロール表示させる(楽譜表示処理:ステップ611)。スクロール表示処理の詳細についても後述する。再生制御部30は、停止指示がなされるまで、ステップ606〜611の処理を繰り返し実行する。
次に、図7を参照して、音声入力ルーチンについて説明する。この再生ルーチンは、メインフローのステップ406において起動され、所定間隔で、たとえば、RAM16の処理の領域に、ADC26を介してディジタル信号がセットされた状態で、メインルーチンと平行して動作する。図7に示すように、CPU12は、入力された音声データを、複素数のFFT演算用変数にコピーして、RAM16に一時的に記憶する(ステップ701)。次いで、変数に対して、ハニング窓などの窓関数が乗算される(ステップ702)。次いで、FFTが実行される(ステップ703)。その結果は、実数部と虚数部とに現れるので、そのパワー、つまり、それぞれの二乗和の平方根が求められる(ステップ704)。マイクで音声を入力する場合に、低周波ノイズや広域ノイズが混入する場合があるため、周波数領域となったデータに対してフィルタリングが施される(ステップ705)。これは、単に掛け算を行うことにより実現できる。次いで、後述する基本周波数同定処理(ステップ706)、比較判定処理(ステップ707)、および、ピッチ表示処理(ステップ708)が実行される。
図8は、基本周波数同定処理をより詳細に示すフローチャートである。この処理においては、パワースペクトルにより基本周波数を同定する。一般的に歌声には、基本周波数に対して倍音が存在する性質を利用して、本実施の形態では、倍音を含む声のスペクトル構造とのマッチングを行うことにより、基本周波数を同定する。また、マッチングのピッチ範囲を超えの一般的な範囲から制限することで、より高速に周波数同定が実現できる。まず、マッチング評価値変数dpVMaxが初期化されるとともに、同定される音高に対応するノート番号変数iBNoteNが初期化される(ステップ801)。次に、ノート番号の変数iが、抽出するピッチ音最低音に相当するノート番号iLowerNNにセットされる(ステップ802)。ステップ804以降の処理が、ノート番号「i」が、抽出するピッチ音最高音「iUpperNN」に達するまで繰り返される(ステップ803参照)。
CPU12は、ノート番号より細かいピッチのための変数kを初期化する(ステップ804)。当該変数kが所定の最大数kMAXに至るまで以下の処理が繰り返される(ステップ805参照)。
CPU12は、倍音カウンタjを初期化するとともに、あるピッチにおける評価値変数dPitValを初期化する(ステップ806)。さらに、倍音の上限値JMAXに至るまで(ステップ807)、CPU12は、検査対象の周波数を求め(ステップ808)、対象の周波数がどのパワースペクトルであるかを特定し、そのインデクスを算出し(ステップ809)、評価値としてパワースペクトルを加算し(ステップ810)、倍音カウンタjをインクリメントする(ステップ811)。より詳細に、ステップ808において、ノート番号から周波数を求めるので、基準ピッチをA4=440Hzに設定し、A4のノート番号=69とする。具体的には、
dFr=440*power(2,(i−69)+k/KMAX)/12)*j
と求められる。
また、ステップ809において、インデックスiNは、
iN=(dFr*iFrameSize/doFs)
で求めることができる。
さらに、ステップ810において、評価値dPitValは、
dPitCal+doData[iN]*(J−MAX−J)/JMAX
となる。
倍音カウンタjが倍音の上限値JMAXに達すると(ステップ807でイエス(Yes))、対象となる周波数についての評価値dPitValを、それまでの最大値dPVMaxと比較して、大きいほうを最大値dPVMaxとして記憶する(ステップ812、813)。また、ステップ813においては、ノート番号変数IBNoteNとして、ノート番号iがセットされ、かつ、ノート番号より細かいピッチのステップをあらわす変数iBNoteDに、k*100/KMAXがセットされる。つまり、最大値をあらわしたピッチが、整数部IBNoteNおよび小数部IBNoteDにより特定される。このような処理の後、変数kがインクリメントされる。
次に、図9を参照して、比較判定処理(図7のステップ707)をより詳細に説明する。この処理では、基本周波数同定処理によって抽出されたピッチを、現在発音中のノート番号と比較して、一致、不一致(大小)を調べる。
まず、発音中のノートのポインタpが初期化される(ステップ901)。CPU12は、ポインタpが所定数を超えるまで(ステップ902)、以下の処理を実行する。
CPU12は、発音中のデータについて(ステップ903でイエス(Yes))、抽出されたピッチiBNoteNが発音中バッファOnBuf[p]のピッチPitchと等しい場合には(ステップ904でイエス(Yes))、楽曲データ中、Note[OnBuf[p].iNp]のピッチ比較結果のうち一致回数を表すiMatchCntをインクリメントする(ステップ905)。
また、CPU12は、発音中バッファOnBuf[p]のピッチPitchが、抽出されたピッチiBNoteNより大きい場合には(ステップ906でイエス(Yes))、楽曲データ中、Note[OnBuf[p].iNp]のピッチ比較結果のうちうわずった回数を表すiUpCntをインクリメントする(ステップ907)。
或いは、CPU12は、発音中バッファOnBuf[p]のピッチPitchが、抽出されたピッチiBNoteNより小さい場合には(ステップ908でイエス(Yes))、楽曲データ中、Note[OnBuf[p].iNp]のピッチ比較結果のうちフラットした回数を表すiDownCntをインクリメントする(ステップ909)。その後、ノートのポインタpをインクリメントして(ステップ910)、ステップ902に戻る。このようにして、楽曲データ(図3参照)の楽音(Note[i])ごとに、ピッチの比較結果を得ることができる。
次に、メインフロー(図6)におけるステップ605、608、609、610などについて以下に説明する。図10は、ノートオン処理を示すフローチャートである。ノートオンは、現在時刻で発音すべき楽音があった場合に、その音高の楽音を発生させる。また、発音中バッファにデータをセットし、ノートオフ処理時に簡単に処理が実行できるよう準備をしておく。CPU12は、ノートポインタpを初期化し(ステップ1001)、全てのノート(楽音)について、ステップ1003以降の処理を実行する。楽音データ中、Note[p]の発音開始ティックITimeが、現在時刻INowTickを過ぎていれば(ステップ1003でイエス(Yes))、CPU12はノートオンイベントをMIDI OUTする(ステップ1004)。次いで、CPU12は、発音中のデータ記憶用のバッファOnBufのポインタqを初期化し(ステップ1005)、OnBuf[q]が空きであれば(ステップ1006でイエス(Yes))、ノートオフをMIDI OUTするためのデータを作成する(ステップ1007)。より詳細には、ステップ1007において、OnBuf[q]において、ITimeとして、楽音データNote[p]のITimeとIGateとの和をセットし、IGateに「1」をセットし、Pitに、Note[p]のPitをセットし、Statに、Note[p]のStatをセットし、かつ、Velに「0」をセットする。
また、CPU12は、OnBuf「q」において、ピッチ比較結果のカウンタをそれぞれ「0」に初期化するとともに、ピッチ比較結果SMatchに無効値「−1」を収容するとともに、ノートポインタiNPに「p」を与える(ステップ1008)。その後、ノートのポインタpをインクリメントして(ステップ1010)、ステップ1002に戻る。これに対して、ステップ1006でノー(No)の場合には、パラメータqをインクリメントして、OnBuf[q]の空きを探す(ステップ1009)。
次に、図11を参照して、ノートオフ処理についてより詳細に説明する。ノートオフ処理においては、経過時間に伴い、消音すべき楽音を消音するとともに、比較判定処理(図9)により取得されたカウンタ値にしたがって、正しく歌えたか否かの判定を行う。CPU12は、ノートポインタpを初期化し(ステップ1101)、すべての発音中バッファOnBuf[p]について以下の処理を実行する。
CPU12は、発音中のデータであって、かつ、現在時刻が消音時間を越えたかどうかを判断する(ステップ1103)。ステップ1103でイエス(Yes)の場合には、ノートオフイベントをMIDI OUTする(ステップ1104)。次いで、発音中バッファOnBuf[p]の元となった楽音データNote[OnBuf[p].iNP]中のiMatchCnt、iUpCntおよびiDownCntを基づいて、ピッチ比較結果であるsMatchに、正しかった場合「CORRECT」(ステップ1105、1106)、上ずっていた場合「UPPIT」(ステップ1107、1108)、下がっていた(フラットしていた場合)「DOWNPIT」(ステップ1109、1110)をセットする。このような処理の後、ノートポインタpがインクリメントされる(ステップ1111)。
図12は、採点処理(図6のステップ605)をより詳細に示すフローチャートである。採点処理は、再生した楽曲において、ピッチ比較結果で正しいと判断された、つまり、「CORRECT」と判断された楽音の数をカウントする。より詳細には、CPU12は、ノートポインタpを初期化するとともに、カウンタiOKCntを初期化し(ステップ1201)、ポインタpが楽曲の最後を指すまで以下の処理を実行する(ステップ1201)。
CPU12は、楽曲データNote[p]のピッチ比較結果SMatchが「CORRECT」であれば、カウンタiOKCntをインクリメントする処理を繰り返す(ステップ1203〜1205)。最終的に、得点iJudgeは、100*iOKCnt/pとして算出される(ステップ1206)。これは正しく歌えた割合をパーセンテージで表したものである。
次に、画像表示に関する処理について説明する。図13は、スクロール表示初期化処理(図6のステップ602)をより詳細に示すフローチャートである。本実施の形態では、楽曲データに基づく楽譜のスクロール表示において、楽曲の演奏タイミングに先行して表示を開始し、音符と抽出されたピッチとを重ねあわせて表示できるようになっている。また、楽曲データに基づく楽譜は左方向にスクロールし、現在再生されている箇所の画面中の画像位置は一定となる。また、楽曲の再生は楽曲の時間単位であるティック(Tick)に基づいて表示されるが、入力音声のピッチは、切り出されたフレーム単位となる。そこで、1小節が、何フレーム分に相当するかを計算し、先行表示するX軸上の距離を算出しておく必要がある。
図13に示すように、CPU12は、1小節に相当するTick数を算出する(ステップ1301)。より具体的には、
IOffset=iResolution*IBeat*4
/IBeatDenomi
となる。
次いで、CPU12は、1小節の実時間を算出する(ステップ1302)。より具体的には、
doTimeOfMeas=(60*IBeat*4
/IBeatDenomi)/IBPM
となる。ここに、1BPM(Beat Per Minutes)は、テンポ値(すなわち、4分音符の1分間の個数)である。したがって、「60」を掛けることで、単位を秒にしている。
また、1小節が、何フレームに対応するかが次に算出される(ステップステップ1303)。より具体的には、
IOffsetX=doTimeOfMeas*doFs
/iFrameSize
から求めることができる。
次に、スクロール表示処理(図6のステップ610)についてより詳細に説明する。スクロール表示においては、現在時刻に対応するティックであるINowTickと、楽曲データ、各楽音(ノート)の発音開始タイミングを考慮して表示の是非を判定する。ステップ1401〜1403は、先行表示のためのループであり、ステップ1404〜1406は、演奏すべきタイミングにおける表示のためのループである。
前半のループでは、CPU12は、先行表示用のノートポインタnaについて、現在の演奏タイミングより後に演奏される楽音データNote[na]のITimeと、スクロール表示初期化(図13)にて算出されたIOffsetとの和が、INowTickより小さい限り(ステップ1401でイエス(Yes))、当該楽音を表示する(ステップ1402、1403)。また、後半のループでは、CPU12は、表示用のノートポインタndについて、Note[nd]のITimeが、INowTickより小さい限り(ステップ1404でノー(No))、当該楽音を表示する(ステップ1405、1406)。このようにして、表示すべき楽音を表示させることができる。なお、Y方向(縦方向)の表示位置は、当該Note[naまたはnd]中のPitに基づいて決定される。
次に、ピッチ表示処理(図7のステップ708)について、図15を参照して、より詳細に説明する。ピッチ表示処理においては、ピッチを表示するタイミングで画面全体を全体をスクロールし、基本周波数同定処理(図8参照)において抽出されたピッチに基づいて、楽音を示す音符の位置、或いは、そのY方向(縦方向)の上下に、ユーザの音声にかかるピッチを示す印を付加する。
まず、CPU12は、画面の矩形領域をコピーすることで、画面全体を左にスクロールさせる(ステップ1501)。次いで、CPU12は、表示画面の幅をwとして、また、その高さをhとしてセットする(ステップ1502)。
CPU12は、印を表示すべきx座標を算出する(ステップ1503)。ここでは、幅の所定割合の位置(本実施の形態では2/3の位置)をx座標として決定している。また、CPU12は、印を表示すべきy座標を算出する(ステップ1504)。ここでは、表示画面の高さの最上部をピッチの最大値(iUpperNN)に対応させ、最下部をピッチの最小値(iLowerNN)に対応させている。その後、算出されたx座標およびy座標で特定される位置に、所定の印が描画される(ステップ1505)。
図16は、表示画像の例を示す図である。この例では、表示画面において、ピッチ表示の領域(符号1601)を設け、そこに、楽譜の本来の音高に対応する印(たとえば、符号1602)参照およびユーザの音声から抽出されたピッチを示す印(符号1603参照)が表示されている。なお、ここで、ピッチ表示領域1601の最上部は抽出するピッチの最高音(ピッチ=75;E♭5)であり、最下部は抽出するピッチの最低音(ピッチ
56:A♭3)となっている。また、画面のX方向2/3の位置が演奏タイミングであり、さらに、その前方(X方向左側)に先行表示タイミングが設けられる。
このように、本実施の形態においては、ユーザが楽曲を再生させつつ、マイクを通して歌を歌うと、表示画面において、楽音の音高の印とともに自分の歌った音声のピッチを示す印を見ることができる。本実施の形態によれば、楽曲データに基づく音高と、自分が歌った歌唱のピッチの変化とがグラフィカルに表示されるため、歌唱における得意な箇所や苦手な箇所が直感的にわかり、歌のトレーニングを効果的に進めることができる。また、ユーザは楽譜を持たなくても、画面を参照することで、遊び感覚で歌唱のトレーニングを進めることが可能となる。
本発明は、上記実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、前記実施の形態においては、図15に示すように、音の長さを反映せず等間隔で楽曲の音高を示す印が表示されているがこれに限定されるものではなく、楽曲を構成するノートの音の長さに比例させた間隔で、音高を示す印を表示させてもよい。
また、抽出されたピッチを示す印を不連続な点として表した(図15の符号1603参照)。しかしながら、これに限定されず、隣接する印を結ぶことで連続した変化を表してもよい。
また、本実施の形態では楽曲データ中の現在位置の座標を固定させて表示しているがこれに限定されるものではなく、現在位置がX方向右側に移動するように構成してもよい。この場合には、現在位置のX座標を表すポインタが、表示領域中の右端に進んだときに画面全体を書き換えればよい。
また、ノートオフ処理(図11)およびピッチ表示処理(図15参照)を組み合わせて処理してもよい。図17は、ノートオフ処理とピッチ表示処理とが組み合わされたフローチャートである。ここで、ステップ1701〜1710は図11の処理と同様である。その後、判定対象となる楽音のゲートタイムIGateの実時間が求められる(ステップ1711)。次いで、求められた実時間のフレームが特定される(ステップ1712)。その後、表示領域中の表示すべきx座標が算出され(ステップ1713)、算出されたx座標および音高に対応するy座標の位置に、抽出されたピッチを示す印が付加される(ステップ1714)。その後、ノートポインタpがインクリメントされ(ステップ1715)、ステップ1702に戻る。
さらに、前記実施の形態の表示(図15参照)に加え、ピッチ比較結果を表示するように構成してもよい。たとえば、図18の例では、ユーザの歌唱のピッチが、実際の音高より高い場合(符号1801)、低い場合(符号1802)、或いは、正しい場合(符号1803)のそれぞれについて、特有の符号を付与してもよい。無論、この符号は、矢印などに限定されず、丸印、バツ印であってもよいし、より漫画化した印(たとえば、風船の絵/風船が割れている絵、笑顔/泣き顔)であってもよい。
次に、本発明の第2の実施の形態について説明する。第2の実施の形態では、対象者、つまり、歌唱するユーザの属性(子供、大人女性、大人男性)の指定に基づいて、それぞれ音域変数を設定することにより、より正確なピッチ抽出を可能としている。また、ユーザが発するべき音高をガイド音として出すことにより、歌のトレーニングをより効果的に行うことができ、或いは、ガイド音を出さないこと、つまりミューとすることにより、楽譜の譜読みのトレーニングを行うことも可能となっている。
さらに、難易度を指定して、歌唱するユーザに応じて、難易度にしたがった判定を実現している。たとえば、初心者や子供には、比較的やさしく、熟練者や大人には厳しい判定を提示することが可能となる。
第2の実施の形態におけるハードウェア構成、機能ブロックダイヤグラム、メインフロー等は、先に説明した第1の実施の形態のものと同様であるため、ここでは、追加された処理フローのみを説明する。
図19は、対象者指定処理を示すフローチャートである。ユーザは、あらかじめ入力装置を操作して、ユーザ属性として、「子供」、「大人女性」或いは「大人男性」のいずれかを指定しておく。これに応答して、CPU12は、ユーザ属性iVRangeとしてRAM16に記憶しておく。対象者指定処理において、CPU12は、抽出するピッチの最低音iLowerNNおよび最高音iUpperNNの初期値を、それぞれ設定する(ステップ1901)。
CPU12は、指定されたユーザ属性を参照して、以下のように、最低音および最高音を設定する(ステップ1902〜ステップ1906)。
子供:最低音=58、最高音=79
大人女性:最低音=55、最高音=79
大人男性:最低音=43、最高音=67
ユーザによるユーザ属性の指定がない場合には、初期値が維持される。
このように、ユーザ属性により、最低音および最高音の範囲を決めることにより、より正確でかつ高速なピッチ抽出が可能となる。
次に、第2の実施の形態にかかるガイド音の発音について説明する。図20は第2の実施の形態にかかるノートオン処理を示すフローチャートである。この処理は、図10のノートオン処理に、部分的に処理ステップが加えられたものであり、ステップ2001〜2003は、図10のステップ1001〜1003に対応し、ステップ2007〜2013は、図10のステップ1004〜1010に対応する。したがって、以下に加えられた処理ステップのみについて説明する。また、ユーザは、あらかじめ入力装置を操作して、ガイド音の出力の有無を指定しておく。これに応答して、CPU12は、ガイド音出力の有無を示す変数iGuideNoteの値(「1」:ガイド音あり、「0」:ガイド音なし)をRAM16に記憶しておく。
CPU12は、楽音データ中のNote[p]を発音すべきタイミングである場合(ステップ2003でイエス(Yes))、当該Note[p]のベロシティVelを最低値「1」に設定しておく(ステップ2004)。次いで、iGuideNoteの値を調べ、その値が「1」、つまり、ガイド音を出力すべき場合には(ステップ2005でイエス(Yes))、Note[p]のベロシティVelを所定の値GVELに設定する(ステップ2006)。これにより、ガイド音なしの指定の場合、ユーザが歌うべき音が出力されず(つまりミュートされ)、その一方、ガイド音ありの指定の場合、ユーザが歌うべき音が所定の音量で出力される。
次に、第2の実施の形態にかかる比較判定処理について、図21を参照して説明する。この比較判定処理は、第1の実施の形態にかかる比較判定処理(図9)に、ユーザが入力した音声の入力波形のレベルが所定値に達しなかったときに、これをカウントするように構成され、そのための処理ステップが付加されている。図21において、ステップ2101〜2103は、図9のステップ901〜903に対応し、ステップ2107〜2113は、図9のステップ904〜910に対応する。したがって付加された処理ステップについてのみ説明する。
CPU12は、楽音データNote[]中のピッチ比較結果として、カウンタiAllCntおよびiNoInputCntを設けている。発音中のデータであるとき(ステップ2103でイエス(Yes))、CPU12は、Note[OnBuf[p].iNp]のカウンタiAllCntをインクリメントする(ステップ2105)。また、入力なし、つまり、ユーザ入力にかかる音声の波形のレベルが所定値に達していない場合には(ステップ2106でイエス(Yes))、Note[OnBuf[p].iNp]のカウンタiNoInputCntをインクリメントする。これにより、楽音ごとに入力の総数(iAllCnt中の最終的なカウンタ値)と、音声入力がなかったときの総数(iNoInputCntの最終的なカウンタ値)とを知ることができる。
次に、第2の実施の形態にかかるノートオフ処理について、図21を参照して説明する。ここでは、ユーザ入力により設定され、或いは、前述したユーザ属性に応じて設定された難易度iDffに対応する閾値を利用して、難易度に応じた正率判定が可能となる。
CPU12は、発音中バッファOnBuf[p]中、ピッチ比較結果iMatchCnt、iUpCnt、iDownCntおよびiNoInputCntのうち最大のものを見つける(ステップ2203)。iMatchCnt以外が最大であった場合(ステップ2204でノー(No))、発音中の楽音に対応する楽音データNote[OnBuf[p].iNp]の判定結果sMatchとして、iUpCnt、iDownCnt、iNoInputCntのうち、最大の値をとったものに対応する結果(UPPIT、DOWNPIT、NGの何れか)が記憶される(ステップ2205)。
ステップ2206でイエス(Yes)と判断された場合、全ての判定回数iAllCntにおいて、正しく歌えた回数iMatchCntの割合rが求められる(ステップ2206)。次いで、CPU12は、難易度iDiffに応じて設定された閾値iCRate[iDiff]と上記rとを比較し、rが大きい場合には(ステップ2207でイエス(Yes))、判定結果sMatchとして正解(CORRECT)を記憶し(ステップ2208)、それ以外の場合には、sMatchとしてNGを記憶する(ステップ2209)。これにより、難易度にしたがって、正解(CORRECT)となる程度を変化させることが可能となる。したがって、難易度を設定しておくことで、初心者から上級者まで種々のレベルのトレーニングを実現することが可能となる。
また、第2の実施の形態において、図23に示すように、楽譜上にピッチ比較判定の結果を表示するように構成しても良い。ここでは、歌えなかった音符には「バツ印」を、上ずった部分の音符には上向きの矢印を、下がった(フラットした)部分の音符には下向きの矢印を付している。また、正しく歌えた音符には「丸印」を付している。このような表示にすることで、ユーザの苦手或いは得意な場所が、楽譜上速やかにわかるので、独習にも好適であり、また、生徒と教師とがいっしょにレッスンする場合にも適切な指導のための資料とすることができる。
なお、前記第1の実施の形態および第2の実施の形態においては、ユーザの歌唱をガイドする装置に本発明を適用したが、入力される音声は声に限定されず、楽器から発せられマイクにより取得されるものであっても良い。また、電子ギターのように当初から電気信号が出力される場合であっても本発明を適用できることはいうまでもない。
図1は、本発明の第1の実施の形態にかかる歌唱ガイド装置のハードウェア構成を示すブロックダイヤグラムである。 図2は、CPUおよびその周辺部材の機能ブロックダイヤグラムである。 図3は、本実施の形態にかかる楽曲データを説明する図である。 図4は、本実施の形態にかかる歌唱ガイド装置のメインフローを示すフローチャートである。 図5は、本実施の形態において使用される制御用の変数を説明するための図である。 図6は、本実施の形態にかかる再生ルーチンを示すフローチャートである。 図7は、本実施の形態にかかる音声入力ルーチンを示すフローチャートである。 図8は、本実施の形態にかかる周波数同定処理を示すフローチャートである。 図9は、本実施の形態にかかる比較判定処理を示すフローチャートである。 図10は、本実施の形態にかかるノートオン処理を示すフローチャートである。 図11は、本実施の形態にかかるノートオフ処理を示すフローチャートである。 図12は、本実施の形態にかかる採点処理を示すフローチャートである。 図13は、本実施の形態にかかるスクロール表示初期化処理を示すフローチャートである。 図14は、本実施の形態にかかるスクロール表示処理を示すフローチャートである。 図15は、本実施の形態にかかるピッチ表示処理を示すフローチャートである。 図16は、本実施の形態において表示装置の画面上に表示された画像例を示す図である。 図17は、本実施の形態にかかるノートオフ処理の他の例を示すフローチャートである。 図18は、本実施の形態において表示装置の画面上に表示された画像例を示す図である。 図19は、第2の実施の形態にかかる対象者指定処理を示すフローチャートである。 図20は、第2の実施の形態にかかるノートオン処理を示すフローチャートである。 図21は、第2の実施の形態にかかる比較判定処理を示すフローチャートである。 図12は、第2の実施の形態にかかるノートオフ処理を示すフローチャートである。 図23は、本実施の形態において表示装置の画面上に表示された画像例を示す図である。
符号の説明
10 歌唱ガイド装置
12 CPU
14 ROM
16 RAM
18 入力装置
20 表示装置
22 MIDI I/F
24 ADC
30 再生制御部
32 ピッチ抽出部
34 比較判定部
36 楽譜表示制御部
38 スクロール表示制御部

Claims (12)

  1. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、
    前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段と、
    前記判定手段による判定結果を表示装置に表示する表示制御手段とを備えたことを特徴とする楽音比較装置。
  2. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、
    前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段と、
    前記判定手段による判定結果を表示装置に表示する表示制御手段とを備え、
    前記再生手段が、消音タイミングに前記楽音を消音させるのに応答して、前記判定手段が起動することを特徴とする楽音比較装置。
  3. 前記比較手段が、フレームごとにピッチと音高が比較された回数をカウントする第5のカウンタを備え、
    前記判定手段が、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第5のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定することを特徴とする請求項またはに記載の楽音比較装置。
  4. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、
    前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段であって、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定手段と、
    前記判定手段による判定結果を表示装置に表示する表示制御手段とを備えたことを特徴とする楽音比較装置。
  5. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力する楽音比較装置であって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出手段と、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生手段と、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較手段であって、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較手段と、
    前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定手段であって、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定手段と、
    前記判定手段による判定結果を表示装置に表示する表示制御手段とを備え、
    前記再生手段が、消音タイミングに前記楽音を消音させるのに応答して、前記判定手段が起動することを特徴とする楽音比較装置。
  6. 前記閾値が、設定された難易度に応じて変化することを特徴とする請求項3乃至請求項5の何れか一項に記載の楽音比較装置。
  7. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力するためにコンピュータを動作させる、当該コンピュータにより読み出し可能な楽音比較プログラムであって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出ステップと、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生ステップと、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較ステップであって、当該比較ステップにおいて、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較ステップと、
    前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定ステップと、
    前記判定ステップによる判定結果を表示装置に表示する表示制御ステップとを、前記コンピュータに実行させることを特徴とする楽音比較プログラム。
  8. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力するためにコンピュータを動作させる、当該コンピュータにより読み出し可能な楽音比較プログラムであって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出ステップと、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生ステップと、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較ステップであって、当該比較ステップにおいて、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、音高より低いことを示す第3のカウンタ、および、前記音声信号のレベルが所定の値に達していない場合に、入力がなかったことを示す第4のカウンタのいずれかの、カウント値をカウントアップする比較ステップと、
    前記消音タイミングが経過後、前記第1ないし第4のカウンタの前記カウンタ値を参照し、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定ステップと、
    前記判定ステップによる判定結果を表示装置に表示する表示制御ステップとを、前記コンピュータに実行させ、
    前記再生ステップにおいて消音タイミングに前記楽音を消音させるのに応答して、前記判定ステップを起動することを特徴とする楽音比較プログラム。
  9. 前記比較ステップにおいて、フレームごとにピッチと音高が比較された回数を、第5のカウンタでカウントアップするステップを前記コンピュータに実行させ、かつ、
    前記判定ステップにおいて、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第5のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求めるステップと、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定するステップとを、前記コンピュータに実行させることを特徴とする請求項またはに記載の楽音比較プログラム。
  10. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力するためにコンピュータを動作させる、当該コンピュータにより読み出し可能な楽音比較プログラムであって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出ステップと、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生ステップと、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較ステップであって、当該比較ステップにおいて、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較ステップと、
    前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定ステップであって、当該判定ステップにおいて、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求めるステップと、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定ステップと、
    前記判定ステップによる判定結果を表示装置に表示する表示制御ステップとを、前記コンピュータに実行させることを特徴とする楽音比較プログラム。
  11. ユーザ入力にかかる音声信号から抽出されたピッチと、本来発するべき楽音の音高とを比較して、比較結果を出力するためにコンピュータを動作させる、当該コンピュータにより読み出し可能な楽音比較プログラムであって、
    前記ユーザ入力にかかる音声信号をディジタル化した音声データに基づいて、所定のフレームごとのピッチを抽出するピッチ抽出ステップと、
    再生すべき楽曲データの発音タイミングに、当該楽音データに基づく音高の楽音を発生させるとともに、当該楽曲データの消音タイミングに、当該楽曲を消音させる再生ステップと、
    前記発音タイミングから前記消音タイミングに至るまで、前記フレームごとに抽出されたピッチと、前記楽音データに基づく音高とを比較して、フレームごとの比較結果を、当該楽音データに関連付けて累算する比較ステップであって、当該比較ステップにおいて、前記フレームごとに、抽出されたピッチが、楽音データに基づく音高と一致することを示す第1のカウンタ、音高より高いことを示す第2のカウンタ、および、音高より低いことを示す第3のカウンタ、フレームごとにピッチと音高が比較された回数をカウントする第4のカウンタのいずれかの、カウント値をカウントアップする比較ステップと、
    前記消音タイミングが経過後、前記比較結果に基づき、前記音声データから抽出されたピッチの正確さを判定する判定ステップであって、当該判定ステップにおいて、前記第1のカウンタのカウンタ値が他のカウンタのカウンタ値よりも大きかったときに、前記第1のカウンタのカウンタ値/第4のカウンタのカウンタ値に基づいて、前記ピッチと音高とが一致した割合を求め、前記割合が、所定の閾値より大きい場合に、当該音高について、正確であったと判定する判定ステップと、
    前記判定ステップによる判定結果を表示装置に表示する表示制御ステップとを、前記コンピュータに実行させ、
    前記再生ステップにおいて消音タイミングに前記楽音を消音させるのに応答して、前記判定ステップが起動することを特徴とする楽音比較プログラム。
  12. 前記閾値が、設定された難易度に応じて変化することを特徴とする請求項9乃至請求項11の何れか一項に記載の楽音比較プログラム。
JP2003365554A 2003-10-27 2003-10-27 楽音比較装置および楽音比較プログラム Expired - Fee Related JP4135615B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003365554A JP4135615B2 (ja) 2003-10-27 2003-10-27 楽音比較装置および楽音比較プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003365554A JP4135615B2 (ja) 2003-10-27 2003-10-27 楽音比較装置および楽音比較プログラム

Publications (2)

Publication Number Publication Date
JP2005128372A JP2005128372A (ja) 2005-05-19
JP4135615B2 true JP4135615B2 (ja) 2008-08-20

Family

ID=34644182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003365554A Expired - Fee Related JP4135615B2 (ja) 2003-10-27 2003-10-27 楽音比較装置および楽音比較プログラム

Country Status (1)

Country Link
JP (1) JP4135615B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8773838B2 (en) 2000-05-18 2014-07-08 Sharp Kabushiki Kaisha Sterilization method, ion generating device, ion generating apparatus, and air conditioning apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4520952B2 (ja) * 2006-02-14 2010-08-11 セイコーインスツル株式会社 音楽練習支援機器
JP4124247B2 (ja) 2006-07-05 2008-07-23 ヤマハ株式会社 楽曲練習支援装置、制御方法及びプログラム
JP2008145564A (ja) * 2006-12-07 2008-06-26 Casio Comput Co Ltd 自動編曲装置および自動編曲プログラム
JP4862772B2 (ja) * 2007-07-31 2012-01-25 ブラザー工業株式会社 採点機能を有するカラオケ装置
CN114902329B (zh) * 2019-11-07 2026-01-06 Ask工业有限公司 用于在车厢中输出音频信号的装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8773838B2 (en) 2000-05-18 2014-07-08 Sharp Kabushiki Kaisha Sterilization method, ion generating device, ion generating apparatus, and air conditioning apparatus

Also Published As

Publication number Publication date
JP2005128372A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
JP4353018B2 (ja) 楽器演奏教習装置及びそのプログラム
KR100949872B1 (ko) 악곡 연습 지원 장치, 악곡 연습 지원 장치의 제어 방법, 악곡 연습 지원 장치를 제어하는 제어 방법을 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
JP4399961B2 (ja) 楽譜画面表示装置及び演奏装置
JP5286793B2 (ja) 採点装置及びプログラム
US20040123726A1 (en) Performance evaluation apparatus and a performance evaluation program
JP2012532340A (ja) 音楽教育システム
JP4212446B2 (ja) カラオケ装置
JP4135615B2 (ja) 楽音比較装置および楽音比較プログラム
JP2008026622A (ja) 評価装置
JP4116849B2 (ja) 動作評価装置、カラオケ装置およびプログラム
JP6701864B2 (ja) 音評価装置および音評価方法
JP4222919B2 (ja) カラオケ装置
JPH11338483A (ja) カラオケ練習システムおよび記憶媒体
JP2009092871A (ja) 採点装置及びプログラム
JP3290945B2 (ja) 歌唱採点装置
JP2006276693A (ja) 歌唱評価表示装置およびプログラム
JP2002351477A (ja) 歌唱特訓機能付きカラオケ装置
JP2008225115A (ja) カラオケ装置、歌唱評価方法およびプログラム
JP5050606B2 (ja) 能力評価システムおよび能力評価プログラム
JP2007156330A (ja) 相性判断機能付きカラオケ装置
JP2005107332A (ja) カラオケ装置
JP5416396B2 (ja) 歌唱評価装置およびプログラム
JP4108850B2 (ja) 歌唱による標準的なカロリー消費量を試算する方法およびカラオケ装置
JP4159961B2 (ja) カラオケ装置
JP5186793B2 (ja) カラオケ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080526

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees