楽曲データ修正装置
【課題】カラオケ装置にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術の提供。
【解決手段】カラオケ装置10では、取得楽曲データを構成し、かつハーモニー伴奏楽器音に対応する楽譜トラックの中から、少なくとも1つの対象楽譜トラックを特定する(S140)。この各対象楽譜トラックに対するシフト量kiを導出する(S150)と共に、各シフト量kiに従って、対象音域に重なる楽音が低減するように、当該楽譜トラックに規定された楽音の音高をオクターブ単位でシフトして楽曲データを修正する(S160)。ただし、対象楽譜トラックとは、当該楽譜トラックに規定されている全ての楽音の音高についての度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して特定楽音の度数の総計が占める割合が、規定割合以上となる楽譜トラックである。
【解決手段】カラオケ装置10では、取得楽曲データを構成し、かつハーモニー伴奏楽器音に対応する楽譜トラックの中から、少なくとも1つの対象楽譜トラックを特定する(S140)。この各対象楽譜トラックに対するシフト量kiを導出する(S150)と共に、各シフト量kiに従って、対象音域に重なる楽音が低減するように、当該楽譜トラックに規定された楽音の音高をオクターブ単位でシフトして楽曲データを修正する(S160)。ただし、対象楽譜トラックとは、当該楽譜トラックに規定されている全ての楽音の音高についての度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して特定楽音の度数の総計が占める割合が、規定割合以上となる楽譜トラックである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽曲データを修正する楽曲データ修正装置に関する。
【背景技術】
【0002】
従来、楽曲の伴奏を演奏し、その演奏された伴奏にあわせて、当該楽曲を利用者が歌唱するカラオケ装置が知られている(例えば、特許文献1参照)。
この種のカラオケ装置で演奏される一般的な楽曲には、当該カラオケ装置の利用者が歌唱する区間であって、歌詞が割り当てられた歌唱区間と、利用者が歌唱しない区間であって、歌詞が割り当てられていない非歌唱区間とが設けられている。
【0003】
そして、特許文献1に記載のカラオケ装置では、演奏中の楽曲において、歌唱区間に対しては、伴奏音全体の音量が低下するように制御し、非歌唱区間に対しては、伴奏音全体の音量が増加するように制御している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平07−13579号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されたカラオケ装置では、歌唱区間について、伴奏音全体の音量が低下するように制御しているため、当該楽曲においてリズムを刻む楽器の音量が低下し、当該カラオケ装置の利用者は演奏中の楽曲におけるリズムを取りにくくなるという問題があった。
【0006】
つまり、特許文献1に記載されたカラオケ装置では、演奏中の楽曲が歌いにくくなるという問題があった。
そこで、本発明は、カラオケ装置にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた本発明は、楽曲データ修正装置に関する。
本発明の楽曲データ修正装置では、楽曲データ取得手段が、少なくとも1種類の楽器の音を出力可能なカラオケ装置にて演奏される楽曲を表す楽曲データを取得する。ただし、楽曲データは、該楽曲にて歌唱されるべき旋律を表す少なくとも一つのメロディラインの演奏を担当する各楽器の音であるメロディ楽器音、該メロディラインに対する少なくとも一つの副次的な旋律の演奏を担当する各楽器の音であるハーモニー伴奏楽器音、及び該楽曲のリズムを刻む楽器の音であるリズム楽器音について、それぞれ、個々の楽音の音高、及び演奏開始タイミングが規定された楽譜トラックを有している。
【0008】
そして、本発明の楽曲データ生成装置において、対象音域特定手段が、少なくとも楽曲データ取得手段で取得した楽曲データに基づいて、メロディ楽器音に対応する楽譜トラックに規定された楽音の最低音高から最高音高までの音高範囲であるメロディ音域を含むように規定された音域最低値から音域最高値までの音域である対象音域を特定すると、対象楽音特定手段が、ハーモニー伴奏楽器音に対応する各楽譜トラックに規定された楽音の中で、音高が、対象音域特定手段で特定された対象音域内である特定楽音を特定し、その特定した特定楽音を少なくとも含む楽音である対象楽音を特定する。
【0009】
さらに、データ修正手段が、対象音域との重なりが低減するように、対象楽音特定手段で特定された対象楽音の音高をオクターブ単位で変更することで、楽曲データ取得手段で取得した楽曲データを修正した修正楽曲データを生成する。
【0010】
本発明で言うハーモニー伴奏楽器音とは、副次的な旋律の演奏を担当する各楽器(以下、ハーモニー伴奏楽器とする)の音であり、例えば、リズム楽器(例えば、ドラムやシンバル)の音とは異なり、人の声と同じような周波数のスペクトル構造を有した音を出力する各楽器の音である。このハーモニー伴奏楽器として、例えば、ギターなどの撥弦楽器や、バイオリンなどの擦弦楽器、ピアノなどの打弦楽器、クラリネットなどの管楽器などが該当する。さらに、副次的な旋律とは、メロディラインとは異なる旋律であっても良いし、メロディラインの和音に相当する旋律であっても良い。
【0011】
以上説明したように、本発明の楽曲データ修正装置にて生成される修正楽曲データでは、音高がメロディ音域内である楽音がハーモニー伴奏楽器音であれば、当該ハーモニー伴奏楽器音の音高がメロディ音域外となるように、当該楽曲データを生成したときに規定された音高(即ち、初期値)から変更されている。一方、メロディ楽器音及びリズム楽器音は、当該楽曲データを生成したときに規定された状態に維持される。
【0012】
したがって、このような修正楽曲データに基づいてカラオケ装置にて演奏された楽曲は、ハーモニー伴奏楽器音の音高がメロディ音域内となることを低減でき、メロディラインを構成する楽音が明瞭となる。この結果、当該カラオケ装置の利用者にとって、メロディラインが聞き取りやすくなる。
【0013】
さらに、本発明の楽曲データ修正装置においては、リズム楽器音に対応する各楽譜トラックにおける楽音は、楽曲データを生成したときの楽音に維持される。このため、本発明の楽曲データ修正装置にて生成された修正楽曲データに基づく楽曲をカラオケ装置で演奏すれば、当該楽曲のリズムは、カラオケ装置の利用者にとって、とりやすい状態に維持される。
【0014】
また、本発明のカラオケ装置では、対象楽音の音高の変更を、オクターブ単位で実行している。人は、通常、同一の音名であればオクターブ(音階)が異なっても、同じ音として認識することが知られている。よって、当該カラオケ装置で修正された楽曲データであれば、当該カラオケ装置の利用者にとって、修正後の対象楽音を、修正前の対象楽音と同じ音として認識可能な状態に維持できる。さらには、修正楽曲データに基づく楽曲において、修正後の対象楽音が、当該楽曲のメロディラインを構成する楽音と不協和音となることを防止できる。
【0015】
これらの結果、本発明の楽曲データ修正装置によれば、カラオケ装置にて演奏される楽曲を歌いやすくすることができる。換言すれば、本発明の楽曲データ修正装置によれば、カラオケ装置にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供できる。
【0016】
さらに、本発明における対象楽音特定手段は、ハーモニー伴奏楽器音に対応する個々の楽譜トラックに規定された全楽音のうち、特定楽音の占める割合が予め規定された規定割合以上である楽譜トラックそれぞれを表す対象楽譜トラックを特定し、その特定した対象楽譜トラックに規定された全ての楽音を、対象楽音としても良い(請求項2)。
【0017】
つまり、本発明において、対象楽音の音高の変更は、楽譜トラック単位で実行しても良い。このような楽曲データ修正装置によれば、楽譜トラック単位で音高を変更することができ、簡易な方法で対象楽音の音高の変更、ひいては、修正楽曲データの生成を実現できる。
【0018】
また、本発明におけるデータ修正手段は、修正楽曲データにおける対象楽譜トラックに規定された全楽音のうち、特定楽音が占める割合が、予め規定された特定割合以下となるまで繰り返し、修正楽曲データを生成しても良い(請求項3)。
【0019】
このような楽曲データ修正装置によれば、修正楽曲データにおいて、対象音域内に音高が含まれるハーモニー伴奏楽器音をより確実に低減できる。
そして、本発明におけるデータ修正手段は、対象楽譜トラックに規定された楽音の音域の代表値である対象代表値が、対象音域における音域の代表値である音域代表値よりも高ければ、当該対象楽音の音高が修正前よりも高くなるように変更し、対象代表値が音域代表値よりも低ければ、当該対象楽音の音高が修正前よりも低くなるように変更しても良い(請求項4)。
【0020】
このような楽曲データ修正装置によれば、対象楽音の音高を変更する際の変更量を、必要最小限とすることができる。
なお、ここで言う音域の代表値とは、音域を代表する値であり、例えば、音域の中心値(重心)でも良いし、音域の下限値でも良いし、音域の上限値でも良い。
【0021】
ところで、本発明の楽曲データ修正装置では、楽曲データ取得手段で取得した楽曲データ、及びデータ修正手段で修正された修正楽曲データのうちの少なくとも一方に基づいて、楽曲演奏手段が、該楽曲データ及び該修正楽曲データのうちの少なくとも一方に対応する楽曲である特定楽曲を演奏し、音声データ取得手段が、楽曲演奏手段での特定楽曲の演奏中に入力される音声の波形を表す音声波形データを取得する。そして、少なくとも、音声データ取得手段で取得した音声波形データに基づいて、音高特定手段が、特定楽曲に規定された少なくとも1つの時間長である単位時間における音声の音高を表す歌唱音高を特定し、音高差分導出手段が、音高特定手段で特定された歌唱音高と、メロディ楽器音に対応する楽譜トラックに規定され、かつ該単位時間に対応する楽音の音高との差分である音高差分を導出しても良い。この場合、本発明における対象音域特定手段は、音高差分導出手段で導出した音高差分に基づいて、音域最低値及び音域最高値を規定しても良い(請求項5)。
【0022】
このような本発明の楽曲データ修正装置によれば、音域最低値及び音域最高値を、音高差分(即ち、歌唱音高と楽音の音高とのズレ)に応じて規定することができる。
なお、本発明の楽曲データ修正装置においては、メロディラインとして、各々が異なる少なくとも二以上の旋律のそれぞれである歌唱旋律を含み、メロディ楽器音に対応する楽譜トラックが、歌唱旋律のそれぞれに対応して少なくとも二つ規定されていても良い。
【0023】
この場合、本発明における音声データ取得手段は、各歌唱旋律に対して歌唱した音声の波形を表す音声データを、それぞれ、音声波形データとして取得し、音高特定手段は、音声データのそれぞれに基づいて、各音声の音高を表す音声音高を、歌唱音高として特定しても良い。さらに、本発明における音高差分導出手段は、音声音高のそれぞれと、該音声音高に対応する歌唱旋律の楽譜トラックに規定され、かつ該音声音高における単位時間に対応する楽音それぞれの音高との差分それぞれを表す中間差分を導出し、その導出された中間差分の中で、絶対値が最大である中間差分を音高差分として導出しても良い(請求項6)。
【0024】
本発明で言う歌唱旋律とは、歌唱されるべき旋律の各々であり、例えば、楽曲がデュエット曲であれば、該デュエット曲を構成する複数のパートの各々が歌唱すべき旋律である。また、歌唱旋律は、特定楽曲にコーラスが含まれている場合、そのコーラスとして歌唱すべき旋律を含むものである。
【0025】
このような楽曲データ修正装置によれば、複数人が特定楽曲を歌唱した場合に、特定楽曲のメロディラインを構成する楽音の音高を、より正確に歌唱できない歌唱者が発した声の音高に応じて、音域最低値及び音域最高値を規定することができる。
【0026】
なお、本発明の楽曲データ修正装置においては、音域最低値として、最低音高よりも低い音高が、音域最高値として、最高音高よりも高い音高が、予め規定されていても良い。この場合、本発明における対象音域特定手段は、音域最低値が、音高差分の大きさに比例してより低い音高となるように、新たな音域最低値を規定し、音域最高値が、音高差分の大きさに比例してより高い音高となるように、新たな音域最高値を規定しても良い(請求項7)。
【0027】
このような対象音域特定手段によれば、音高差分の大きさに比例して対象音域を拡大することができる。このため、利用者自身の声域と、対象音域とが重複する可能性を向上させることができ、修正楽曲データに基づく特定楽曲において、利用者自身の声域に音高が含まれる対象楽音を低減できる。
【0028】
また、音域最低値として、最低音高よりも低い音高が、音域最高値として、最高音高よりも高い音高が、予め規定されている場合、本発明における対象音域特定手段は、音域最低値から音高差分シフトした音高を、新たな音域最低値として規定し、音域最高値から音高差分シフトした音高を、新たな音域最高値として規定しても良い(請求項8)。
【0029】
このような対象音域特定手段によれば、音高差分に応じて対象音域をシフトすることができる。このため、利用者自身の声域と、対象音域とが重複する可能性を向上させることができる。
【0030】
これらの楽曲データ修正装置にて生成された修正楽曲データに基づく演奏に応じて歌唱した利用者は、利用者自身が歌唱した声をより聞き取りやすくなり、楽曲データに対応する楽曲が歌いやすくなる。
【図面の簡単な説明】
【0031】
【図1】本発明が適用された楽曲データ修正装置の概略構成を示すブロック図である。
【図2】楽譜トラックの概要を示す図である。
【図3】第一実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図4】MIDIアレンジ処理においてメロディ音域、及び対象楽譜トラックを特定する手法を示す図である。
【図5】第一実施形態におけるシフト量導出処理の処理手順を示すフローチャートである。
【図6】第一実施形態において、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係、及び修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【図7】第一実施形態において、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係、及び修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【図8】第二実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図9】第二実施形態におけるMIDIアレンジ処理において、対象音域を特定する手法を説明する図である。
【図10】第二実施形態におけるMIDIアレンジ処理において、対象音域を特定する手法を説明する図である。
【図11】第二実施形態におけるシフト量導出処理の処理手順を示すフローチャートである。
【図12】第二実施形態において、取得楽曲データにおける対象音域と対象トラック音域との関係、及び修正楽曲データにおける対象音域と対象トラック音域との関係を示す図である。
【図13】第三実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図14】第三実施形態におけるメロディ音域とコーラス音域と対象音域との関係を示す図である。
【発明を実施するための形態】
【0032】
以下に本発明の実施形態を図面と共に説明する。
[第一実施形態]
本発明が適用された楽曲データ修正装置は、カラオケ装置にて演奏される楽曲を表す楽曲データを修正する装置である。以下、楽曲データ修正装置にて修正した楽曲データを修正楽曲データと称す。
【0033】
なお、実施形態における楽曲データ修正装置は、図1に示すカラオケ装置10の一つの機能として実現されている。このカラオケ装置10は、楽曲データや修正楽曲データに基づいて、それらデータに対応する楽曲を演奏する装置である。
【0034】
この楽曲データ(ここでは、修正楽曲データも含む)によって表わされる楽曲とは、作曲者が作曲した楽曲を、カラオケの用途のために編曲した楽曲である。この楽曲は、通常、当該楽曲にて歌唱されるべき旋律を表すメロディラインと、そのメロディラインに対する副次的な旋律を表す少なくとも一つの伴奏メロディと、当該楽曲のリズムを表すリズム旋律とを有する。
【0035】
なお、本実施形態におけるメロディラインには、当該カラオケ装置10の利用者が歌唱すべき少なくとも1つの旋律(以下、歌唱旋律とする)として、主たる歌唱旋律(いわゆるガイドメロディ)を含む。ここで言う伴奏メロディとは、メロディラインとは異なる旋律でも良いし、メロディラインの和音に相当する旋律でも良い。
〈カラオケ装置について〉
図1に示すように、カラオケ装置10は、通信部11と、入力受付部12と、表示部13と、音声入力部14,15と、音声出力部16と、音源モジュール17と、記憶部18と、制御部20とを備えている。
【0036】
このうち、通信部11は、カラオケ装置10をネットワーク(例えば、専用回線やWAN)に接続し、その接続されたネットワークを介して外部と通信を行うものである。
入力受付部12は、外部からの操作に従って情報や指令の入力を受け付ける入力機器(例えば、リモートコントローラ)である。表示部13は、画像を表示する表示装置(例えば、液晶ディスプレイやCRT等)である。また、音声入力部14、15は、それぞれ、音声を電気信号に変換して制御部20に入力する装置(いわゆるマイクロホン)である。音声出力部16は、制御部20からの電気信号を音声に変換して出力する装置(いわゆるスピーカ)である。
【0037】
さらに、音源モジュール17は、楽曲データに基づいて、予め規定された種類の楽器の音(以下、楽器音とする)を出力する装置である。本実施形態においては、音源モジュール17は、周知のMIDI(Musical Instrument Digital Interface)音源によって構成されている。そして、音源モジュール17にて出力される楽器音は、鍵盤楽器(例えば、ピアノやパイプオルガンなど)の楽器音、弦楽器(例えば、バイオリンやビオラ、ギター、ベース、琴など)の楽器音、打楽器(例えば、ドラムやシンバル、ティンパニー、木琴、ビブラフォンなど)の楽器音、及び管楽器(例えば、クラリネットやトランペット、フルート、尺八など)の楽器音などである。
【0038】
次に、楽曲データは、楽曲を区別するデータである識別データと、当該楽曲の歌詞を表す歌詞データと、当該楽曲にて用いられる楽器各々についての楽譜を表す楽譜トラックとを少なくとも有し、周知のMIDI規格によって表されている。
【0039】
楽譜トラックとしては、メロディラインに対応するデータと、伴奏メロディに対応するデータと、リズム旋律に対応するデータとが予め生成されている。つまり、楽譜トラックには、メロディラインの演奏を担当する各楽器(以下、メロディ楽器とする)に対応する楽譜トラック、伴奏メロディの演奏を担当する各楽器(以下、伴奏メロディ楽器とする)に対応する楽譜トラック、リズム旋律の演奏を担当する各楽器(以下、リズム楽器とする)に対応する楽譜トラックが存在する。
【0040】
なお、実施形態においては、メロディ楽器として、例えば、ビブラフォンが規定され、リズム楽器として、例えば、ドラムやシンバルなどが規定されている。また、実施形態における伴奏メロディ楽器には、当該伴奏メロディ楽器の楽器音における周波数のスペクトル構造が人の声と同様のスペクトル構造(即ち、倍音構造)となる楽器(以下、ハーモニー伴奏楽器とする)が含まれる。このハーモニー伴奏楽器には、例えば、バイオリンやビオラ、ギター、ベース(いわゆるベースギター)などが含まれる。
【0041】
各楽譜トラックには、楽器の種類に応じてインデックス番号が割り振られており、このインデックス番号によって、各楽譜トラックに対応する楽器の種類をカラオケ装置10が特定可能となる。
【0042】
ところで、各楽譜トラックに規定される内容には、個々の楽音(即ち、楽器音)の音符長、個々の楽音の音高(いわゆるノートナンバー)、個々の楽音の強さ(いわゆるアタック、ベロシティ、ディケイなど)がある。
【0043】
ただし、楽譜トラックでの音符長は、当該楽音(楽器音)の出力を開始する、当該楽曲の演奏開始からの時刻を表す演奏開始タイミング(いわゆるノートオンタイミング)と、当該楽音の出力を終了する、当該楽曲の演奏開始からの時刻を表す終了タイミング(いわゆるノートオフタイミング)とによって規定されている。
【0044】
つまり、各楽譜トラックは、図2に示すように、時間の進行に沿った楽音それぞれについて、ノートナンバー、ノートオンタイミング、及びノートオフタイミングが規定されることによって、当該楽曲を演奏する各楽器の楽譜を表している。
【0045】
また、記憶部18は、記憶内容を読み書き可能に構成された不揮発性の記憶装置(例えば、ハードディスク装置)である。この記憶部18には、処理プログラムや、通信部11を介して取得された楽曲データが少なくとも格納される。
【0046】
制御部20は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納するROM21と、処理プログラムやデータを一時的に格納するRAM22と、ROM21やRAM22に記憶された処理プログラムに従って各処理(各種演算)を実行するCPU23とを少なくとも有した周知のコンピュータを中心に構成されている。なお、実施形態において、制御部20は、音声入力部15の各々、即ち、音声入力部15を介して入力される電気信号の各々を識別可能に構成されている。
【0047】
なお、本実施形態における処理プログラムとして、入力受付部12を介して指定された楽曲(以下、対象楽曲とする)に対応する楽曲データを、カラオケ装置10の利用者が歌唱しやすい楽曲に対応する楽曲データとなるように修正する(即ち、修正楽曲データを生成する)MIDIアレンジ処理の処理手順を表した処理プログラムが予め用意されている。
〈MIDIアレンジ処理について〉
次に、制御部20が実行するMIDIアレンジ処理について説明する。
【0048】
ここで、図3は、MIDIアレンジ処理の処理手順を示すフローチャートである。
このMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0049】
このMIDIアレンジ処理は、起動されると、図3に示すように、まず、対象楽曲に対応する楽曲データを取得する(S110)。続いて、S110にて取得した楽曲データ(以下、取得楽曲データと称す)に基づいて、対象楽曲におけるメロディ音域を特定する(S120)。
【0050】
具体的には、取得楽曲データのメロディ楽器に対応する楽譜トラックから、当該楽譜トラックに規定されているガイドメロディを構成する全ての楽音の音高についての度数分布(即ち、ヒストグラム)を求める。図4(A)に示すように、その求めた度数分布において、度数が予め規定された音高閾値thf以上となる音高(ノートナンバー)の中で、最も低い音高を最低音高mpminとして特定する。さらに、度数分布において、度数が音高閾値thf以上となる音高(ノートナンバー)の中で、最も高い音高を最高音高mpmaxとして特定する。それら特定された最低音高mpminから最高音高mpmaxまでの音高範囲(ノートナンバーの範囲)を、メロディ音域として特定する。
【0051】
さらに、S120で特定したメロディ音域を包括する音高の範囲を表す対象音域を特定する(S130)。
具体的には、音高が最低音高mpminよりも予め規定された音高α分低い音高を、音域最低値spminとして、音高が最高音高mpmaxよりも予め規定された音高α分高い音高を、音域最高値spmaxとして特定する。そして、それらの特定した音域最低値spminから音域最高値spmaxまでの音高範囲(ノートナンバーの範囲)を、対象音域として特定する。なお、音高αは、例えば、聴覚フィルタの半分の幅に対応する音高とすれば良い。
【0052】
続いて、本MIDIアレンジ処理にて修正を加える対象とする楽譜トラック(以下、対象楽譜トラックとする)を特定する(S140)。
実施形態においては、ハーモニー伴奏楽器に対応する全ての楽譜トラックの中で、予め規定した規定条件を満たす楽譜トラックを、それぞれ、対象楽譜トラックとして特定する。実施形態における規定条件とは、ハーモニー伴奏楽器に対応する1つの楽譜トラックに規定されている全ての楽音のうち、音高が対象音域内に含まれる楽音(以下、特定楽音とする)の割合が予め規定された規定割合以上であることである。
【0053】
より具体的に本実施形態のS140では、取得楽曲データを構成する楽譜トラックの中で、ハーモニー伴奏楽器に対応する楽譜トラックの各々を特定する。そして、図4(B)に示すように、その特定したハーモニー伴奏楽器に対応する楽譜トラックのそれぞれについて、当該楽譜トラックに規定されている全ての楽音の音高についての度数分布(即ち、ヒストグラム)を求める。その求めた度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して全特定楽音の度数の総計が占める割合(即ち、図4(B)においてハッチングを施した部分の面積)が、規定割合以上であれば、当該ハーモニー楽器に対応する楽譜トラックを、対象楽譜トラックとする。なお、対象楽譜トラックに規定されている全ての楽音が、それぞれ、本発明における対象楽音に相当する。
【0054】
ただし、実施形態においては、ベースギターに対応する楽譜トラックを、ハーモニー楽器に対応する楽譜トラックとして取り扱わないこととする。つまり、実施形態においては、ベースギターに対応する楽譜トラックは、対象楽譜トラックから除外する。
【0055】
本実施形態のMIDIアレンジ処理では、続いて、各対象楽譜トラックに規定された全ての楽音の音高(即ち、対象楽音)の変更量を表すシフト量kiを、対象楽譜トラック毎に導出するシフト量導出処理を実行する(S150)。ただし、シフト量kiの値は、オクターブ単位で表されている。また、記号iは、対象楽譜トラックを識別する番号を表す識別インデックスである。
〈シフト量導出処理について〉
次に、MIDIアレンジ処理のS150にて実行されるシフト量導出処理について説明する。
【0056】
ここで、図5は、シフト量導出処理の処理手順を示したフローチャートである。
この図5に示すように、シフト量導出処理が起動されると、まず、対象音域の代表値(以下、音域代表値とする)spcを導出する(S210)。この音域代表値spcは、具体的には、下記(1)式に従って導出される。
【0057】
【数1】
【0058】
続いて、識別インデックスiを初期値(i=1)に設定する(S220)。そして、設定された識別インデックスiに対応する対象楽譜トラックに規定されている全ての楽音についての情報(音高(即ち、ノートナンバー)や演奏開始タイミングなど)を取得する(S230)。
【0059】
さらに、S230にて取得した情報に基づいて、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高範囲の代表値(以下、対象代表値とする)hpcを導出する(S240)。この対象代表値hpcは、具体的には、下記(2)式に従って導出される。ただし、(2)式中のhpminは、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高の中で、最も低い音高(以下、対象最低音高とする)であり、hpmaxは、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高の中で、最も高い音高(以下、対象最高音高とする)である。
【0060】
【数2】
【0061】
そして、音域代表値spcと対象代表値hpcとの差分である代表値差分dfcを導出する(S250)。この代表値差分dfcは、具体的には、下記(3)式に従って導出される。
【0062】
【数3】
【0063】
続いて、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiの値を初期値(ここでは、「1」)に設定する(S260)。そして、代表値差分dfcが「0」以上であるか否かを判定し(S270)、その判定の結果、代表値差分dfcが「0」以上であれば(S270:YES)、対象楽音の音高が高くなるように、シフト量kiの符号を「+(正)」に設定する(S280)。一方、代表値差分dfcが「0」未満、即ち、負の値であれば(S270:NO)、対象楽音の音高が低くなるように、シフト量kiの符号を「−(負)」に設定する(S290)。
【0064】
続いて、S300では、識別インデックスiに対応する対象楽譜トラックにおける全ての楽音を、そのS300に移行した時点で設定されているシフト量kiの符号に沿って、S300に移行した時点で設定されているシフト量kiの値シフトした当該全ての楽音(以下、仮想楽音と称す)の音高についての度数分布(即ち、ヒストグラム、以下、シフト音高度数分布とする)を求める。そして、S300で求めたシフト音高度数分布に従って、音高が対象音域内である楽音(即ち、特定楽音)を特定する(S310)。
【0065】
さらに、識別インデックスiに対応する対象楽譜トラックにおける全ての仮想楽音の中で、音高が対象音域内である仮想楽音が占める割合(以下、対象割合とする)が、予め規定された特定割合β以上であるか否かを判定する(S320)。そのS320での判定の結果、対象割合が特定割合β以上であれば(S320:YES)、シフト量kiの値を1つ増加する(ki=ki+1,S330)。ただし、S330では、シフト量kiの値のみを増加し、シフト量kiの符号は規定しない。その後、S270へと戻り、S330で規定した新たなシフト量kiの値に従って、S270〜S320のステップを繰り返す。
【0066】
一方、S320での判定の結果、対象割合が特定割合β未満であれば(S320:NO)、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiを記憶部18に記憶する(S340)。このS340では、具体的には、S340に移行した時点で設定されているシフト量kiの値及びシフト量kiの符号の両方を、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiとして決定し、記憶部18に記憶する。
【0067】
つまり、シフト量導出処理では、シフト音高度数分布において、対象割合が特定割合β未満となるまで、S270〜S320のステップを繰り返し、シフト量kiを導出する。そして、対象割合が特定割合β未満となると、その時点でのシフト量kiの値及びシフト量kiの符号の両方を、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiとして決定する。
【0068】
さらに、シフト量導出処理では、対象楽譜トラックの識別インデックスiを、1つ増加する(i=i+1)(S350)。続いて、対象楽譜トラックの識別インデックスiが、先のS140にて特定された全ての対象楽譜トラックの数よりも大きいか否かを判定する(S360)。このS360では、S360に移行した時点で設定されている識別インデックスiが、全ての対象楽譜トラックの数を表す最大識別インデックスimax以下あれば(S360:NO)、対象楽譜トラックの識別インデックスiが、全ての対象楽譜トラックの数よりも小さい、即ち、全ての対象楽譜トラックに対してシフト量kiの導出が完了していないものとして、S230へと戻る。そのS230以降のステップでは、S350にて設定した新たな識別インデックスiに従って、S230からS360のステップを繰り返す。
【0069】
一方、S360に移行した時点で設定されている識別インデックスiが、最大識別インデックスimaxよりも大きければ(S360:YES)、全ての対象楽譜トラックに対してシフト量kiの導出が完了したものとして、本シフト量導出処理を終了して、MIDIアレンジ処理のS160へと移行する。
【0070】
ここで、MIDIアレンジ処理(即ち、図3)へと説明を戻す。
シフト量導出処理の後に移行するMIDIアレンジ処理のS160では、対象楽譜トラックそれぞれに対し、シフト量導出処理で導出されたシフト量kiに基づいて、対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する。
【0071】
具体的に本実施形態のS160では、対象楽譜トラック(識別インデックスi)に規定された個々の楽音(即ち、対象楽音)の音高(即ち、予め規定されたノートナンバー)に、{[(シフト量kiの符号)(シフト量kiの値)]×12}によって表される値(ノートナンバー)を加算する。
【0072】
このS160を実行することで、各対象楽譜トラックに規定された個々の楽音の音高を、シフト量kiの符号(即ち、シフトする方向)に沿って、シフト量kiの値シフトした取得楽曲データが、修正楽曲データとして生成される。
【0073】
ここで、図6(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図6(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。また、図7(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図7(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【0074】
具体的に、図6(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、対象代表値hpcが音域代表値spcよりも高く、対象楽譜トラックの音域が対象音域に重なる音域が6半音未満である場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「+1」として導出され、本実施形態のS160では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音の音高(即ち、対象額音)を1.0オクターブ高くする。この結果、図6(B)に示すように、音高が変更された後の対象代表値hpc'、即ち、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて1オクターブ高くなる。
【0075】
また、図7(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、対象代表値hpcが音域代表値spcよりも低く、対象楽譜トラックの音域が対象音域に重なる音域が、6半音以上12半音未満である場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「−2」として導出され、本実施形態のS160では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を2.0オクターブ低くする。この結果、図7(B)に示すように、音高が変更された後の対象代表値hpc'、即ち、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて2オクターブ低くなる。
【0076】
換言すれば、本実施形態のS150及びS160では、対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を、対象音域内に含まれる当該音高が低減するように、シフト量kiに従ってオクターブ単位で変更(シフト)している。
【0077】
続いて、S160にて生成された修正楽曲データを出力する(S170)。このS170における修正楽曲データの出力とは、S160にて生成した修正楽曲データを記憶部18に格納することでも良いし、通信部11を介してネットワークに接続された外部機器に出力することでも良い。また、S170における修正楽曲データの出力とは、S160にて生成した修正楽曲データに対応する楽曲を演奏して、演奏音を音声出力部16から放音して、歌詞データに基づく歌詞を表示部13に表示することでも良い。
【0078】
その後、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
以上説明したように、カラオケ装置10では、取得楽曲データを構成する楽譜トラックの中で、ハーモニー伴奏楽器音に対応する楽譜トラックを特定し、その特定した楽譜トラックのそれぞれが規定条件を満たすか否かを判定する。この判定の結果、規定条件を満たす楽譜トラック(即ち、対象楽譜トラック)については、対象音域に重なる楽音が低減するように、当該楽譜トラックに規定された楽音の音高を、オクターブ単位でシフトして楽曲データを修正する。ただし、規定条件とは、楽譜トラックに規定されている全ての楽音の音高についての度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して特定楽音の度数の総計が占める割合が、規定割合以上となることである。
【0079】
なお、カラオケ装置10にて生成される修正楽曲データは、メロディ楽器音やリズム楽器音に対応する楽譜トラックについては、当該楽曲データを生成したときに規定された状態に維持される。
[第一実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によって生成される修正楽曲データは、音高がメロディ音域内に含まれるハーモニー伴奏楽器音を低減できる。
【0080】
よって、この修正楽曲データをカラオケ装置10で演奏すれば、対象楽曲におけるメロディライン、即ち、ガイドメロディを構成する楽音が明瞭となり、カラオケ装置10の利用者にとって、ガイドメロディが聞き取りやすくなる。
【0081】
しかも、本実施形態のMIDIアレンジ処理では、対象楽音の音高の変更を、オクターブ単位で実行している。人は、通常、同一の音名であればオクターブ(音階)が異なっても、同じ音として認識することが知られている。よって、当該カラオケ装置10で生成した修正楽曲データであれば、当該カラオケ装置10の利用者にとって、修正後の対象楽音を、修正前の対象楽音と同じ音として認識可能な状態に維持できる。
【0082】
また、本実施形態のMIDIアレンジ処理を実行することで生成される修正楽曲データにおいては、リズム楽器音に対応する各楽譜トラックにおける楽音が、楽曲データを生成したときの楽音、即ち、初期値に維持される。このような修正楽曲データに基づく楽曲をカラオケ装置10で演奏すれば、当該楽曲のリズムは、カラオケ装置10の利用者にとって、とりやすい状態に維持される。
【0083】
さらに、本実施形態のMIDIアレンジ処理では、対象楽音の音高の変更をオクターブ単位で実行するため、修正楽曲データに基づく楽曲において、修正後の対象楽音が、当該楽曲のメロディラインを構成する楽音と不協和音となることを抑制できる。
【0084】
これらの結果、カラオケ装置10によれば、当該カラオケ装置10にて演奏される楽曲を歌いやすくすることができる。換言すれば、カラオケ装置10によれば、カラオケ装置10にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供できる。
[第一実施形態と特許請求の範囲との対応関係]
上記第一実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0085】
上記第一実施形態のMIDIアレンジ処理におけるS110が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS120及びS130が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS140が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS150及びS160が、本発明のデータ修正手段に相当する。
[第二実施形態]
次に、本発明の第二実施形態について説明する。
【0086】
第二実施形態におけるカラオケ装置10は、第一実施形態におけるカラオケ装置10とは、制御部20が実行するMIDIアレンジ処理の処理内容が異なるのみである。このため、第二実施形態のカラオケ装置10では、第一実施形態のカラオケ装置10と同一の構成には、同様の符号を付して説明を省略し、第一実施形態のカラオケ装置10とは異なるMIDIアレンジ処理を中心に説明する。
【0087】
本実施形態におけるMIDIアレンジ処理は、対象楽曲に対応する楽曲データに基づいて、対象楽曲を演奏すると共に、その対象楽曲の演奏中に、カラオケ装置10の利用者が歌唱しやすい楽曲となるように当該楽曲データを修正する(即ち、修正楽曲データを生成する)処理である。
〈MIDIアレンジ処理について〉
次に、本実施形態におけるMIDIアレンジ処理について説明する。
【0088】
ここで、図8は、本実施形態におけるMIDIアレンジ処理の処理手順を示したフローチャートである。
本実施形態におけるMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0089】
このMIDIアレンジ処理は、起動されると、図8に示すように、まず、対象楽曲に対応する楽曲データを取得する(S410)。続いて、S410にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、対象楽曲におけるメロディ音域を特定する(S420)。このS420にてメロディ音域を特定する方法は、第一実施形態のMIDIアレンジ処理におけるS120と同様であるため、ここでの詳しい説明は省略する。
【0090】
そして、楽曲データに基づいて、対象楽曲が演奏されるように、再生演奏処理を制御部20に実行させる再生指令を出力する(S430)。この再生指令によって実行される再生演奏処理は、少なくとも楽曲データ(ここでは、取得楽曲データ、及び後述するS500にて生成される修正楽曲データのうちの一方)を読み込み、その読み込んだ楽曲データに対応する楽曲(以下、特定楽曲とする)の演奏を実行し、演奏音を音声出力部16から放音すると共に、歌詞データに基づく歌詞を表示部13に表示する周知の処理である。ただし、本実施形態における再生演奏処理では、楽曲データを、対象楽曲の時間軸に沿って予め規定された単位区間毎に読み込み、特定楽曲の演奏を単位区間毎に実行可能とされている。
【0091】
この単位区間とは、ガイドメロディを形成する各楽音の時間長に相当する区間であることが好ましい。ただし、単位区間は、これに限るものではなく、予め規定された数の小節に相当する時間長でも良いし、予め規定されたフレーズ(例えば、AメロやBメロ、サビ)に相当する時間長でも良い。
【0092】
続いて、音声入力部14または音声入力部15を介して順次入力される音の波形を表す歌声波形データを取得する(S440)。カラオケ装置10において、再生演奏処理の実行中、即ち、特定楽曲の演奏中に、音声入力部14または音声入力部15を介して入力される音は、通常、カラオケ装置10の利用者が発した歌声である。
【0093】
さらに、カラオケ装置10の利用者が、ガイドメロディを構成する個々の楽音に対して発した歌声の周波数(以下、歌声音高と称す)vf0を、S440で取得した歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って推定する(S450)。
【0094】
具体的に本実施形態のS450では、S440にて歌声波形データを取得すると、その取得した歌声波形データに基づいて、歌声の周波数(以下、瞬時音高周波数vf0tと称す)を単位時間毎に特定する。そして、その単位時間毎に特定した瞬時音高周波数vf0tを、ガイドメロディを形成する楽音の各々に対応する区間(本実施形態では、単位区間)毎に平均化及び平滑化することで、当該区間に対する歌声音高vf0を導出する。ただし、単位時間は、単位区間よりも短い時間長であり、例えば、ガイドメロディを形成する楽音の中で演奏時間が最も短い楽音の演奏時間長よりも短い時間長である。なお、瞬時音高周波数vf0tを特定する方法としては、時間軸上の自己相関を用いる方法や、周波数スペクトルの自己相関を用いる方法など、周知の手法を用いれば良いため、ここでの詳しい説明は省略する。
【0095】
続いて、S450で導出された歌声音高vf0と、当該歌声音高vf0に対応する楽音の音高n0との音高差(以下、音高差分と称す)DNを導出する(S460)。
本実施形態のS460では、具体的に、S450にて導出した瞬時音高周波数vf0tを、下記(4)式に代入して、瞬時音高差dntを導出する。ただし、添え字tは、1つの単位区間に含まれる単位時間(t=1〜m)を表し、n0tは、当該単位区間における楽音の各単位時間での音高を表す。
【0096】
そして、瞬時音高差dntに従って、下記(5)式により、単位区間での音高差分DNを導出する。なお、(5)式におけるmは、単位時間の数を表し、(5)式におけるroundは、入力値を整数に近似して返答する関数である。
【0097】
【数4】
【0098】
すなわち、(4)式及び(5)式は、歌声音高vf0と、該歌声音高vf0に対応し、かつガイドメロディを形成する楽音の音高n0(ノートナンバー)との差分を、代入された歌声音高vf0を音高(ノートナンバー)に変換した上で求める式である。
【0099】
続いて、S460で導出した音高差分DNと、取得楽曲データとに基づいて、対象音域を特定する(S470)。
具体的に本実施形態のS470では、第一実施形態における対象音域と同様、最低音高mpminよりも予め規定された音高α分低い音高を、音域最低値spminとして、最高音高mpmaxよりも予め規定された音高α分高い音高を、音域最高値spmaxとして特定する。そして、その特定した音域最低値spminから音域最高値spmaxまでの音高範囲(以下、基準範囲とする)を音高差分DNに基づいて補正した音高範囲を、対象音域として特定する。
【0100】
本実施形態において、音高差分DNに基づく補正とは、音高差分DNに基づいて基準範囲を拡大することでも良いし、音高差分DNに基づいて基準範囲をシフトさせることでも良い。
【0101】
前者の場合、(6)式に基づいて、新たな音域最低値spmin'を導出し、(7)式に基づいて、新たな音域最高値spmax'を導出する。その上で、音域最低値spmin'から音域最高値spmax'までの音域(ノートナンバーの範囲)を対象音域として特定する。ただし、(6)式、及び(7)式におけるKは、予め規定された「1」以上の定数である。また、(6)式、及び(7)式におけるroundは、入力値を整数に近似して返答する関数である。
【0102】
|DN|(DNの絶対値)は、通常、1以上の値である。なお、本実施形態においては、|DN|が0(ゼロ)である場合には、spmin'、及びspmax'の導出を禁止しても良い。
【0103】
【数5】
【0104】
すなわち、この方法では、図9(A)に示す基準範囲が音高差分DNに比例して拡大され、図9(B)に示す対象音域が特定される。
一方、音高差分DNに基づく補正のうち、後者の方法の場合、(8)式に基づいて、新たな音域最低値spmin'を導出し、(9)式に基づいて、新たな音域最高値spmax'を導出する。ただし、本実施形態においては、(8)式で導出される音域最低値spmin'が最低音高mpminより高い音高である場合、最低音高mpminを音域最低値spmin'とし、(9)式で導出される音域最高値spmax'が最高音高mpmaxよりも低い音高である場合、最高音高mpmaxを音域最高値spmax'とする。
【0105】
【数6】
【0106】
そして、音域最低値spmin'から音域最高値spmax'までの音域(ノートナンバーの範囲)を対象音域として特定する。
すなわち、この方法では、図10(A)に示す基準範囲を音高差分DNシフトすることで、図10(B)に示す対象音域が特定される。
【0107】
続いて、対象楽譜トラックを特定する(S480)。このS480にて対象楽譜トラックを特定する方法は、第一実施形態のMIDIアレンジ処理におけるS140と同様であるため、ここでの詳しい説明は省略する。
【0108】
さらに、S480にて特定した各対象楽譜トラックについてのシフト量kiを導出するシフト量導出処理を実行する(S490)。本実施形態におけるシフト量導出処理は、第一実施形態におけるシフト量導出処理とは、処理内容が、以下の点で異なるものの、略同様の内容であるため、異なる点のみ説明し、処理の詳細な内容については、説明を省略する。
【0109】
具体的には、図11に示すように、本実施形態におけるシフト量導出処理は、第一実施形態におけるシフト量導出処理の処理内容から、S210での音域代表値spcの導出、S240での対象代表値hpcの導出、S250での代表値差分dfcの導出が省略されている。さらに、第一実施形態のシフト量導出処理におけるS270では、代表値差分dfcが「0」以上であるか否かを判定していたが、本実施形態のシフト量導出処理におけるS270においては、音高差分DNが「0」以上であるか否かを判定する。すなわち、本実施形態のシフト量導出処理におけるS270では、第一実施形態のシフト量導出処理におけるS270の説明及び図5に記載された「代表値差分dfc」を、「音高差分DN」に読み替える。そして、本実施形態のシフト量導出処理では、音高差分DNが「0」未満であれば(S270:NO)、シフト量kiの符号を「+(正)」に設定し(S280)、音高差分DNが「0」以上であれば(S270:YES)、シフト量kiの符号を「−(負)」に設定する(S290)。
【0110】
ここで説明をMIDIアレンジ処理(図8)へと戻し、本実施形態のMIDIアレンジ処理のS500では、対象楽譜トラックそれぞれに対し、シフト量導出処理で導出されたシフト量kiに基づいて、対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する。このS500において、対象楽音の音高を変更する方法は、第一実施形態のMIDIアレンジ処理におけるS160と同様であるため、ここでの詳しい説明は省略する。
【0111】
ここで、図12(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図12(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【0112】
図12(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、音高差分DNが「0」よりも大きい場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「−2」となると、本実施形態のS500では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を2.0オクターブ低くする。この結果、図12(B)に示すように、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて2オクターブ低くなる。
【0113】
換言すれば、本実施形態のS490及びS500では、各対象楽譜トラックに規定された個々の楽音の音高を、シフト量kiの符号(即ち、シフトする方向)に沿って、シフト量kiの値シフトすることで修正した取得楽曲データを、修正楽曲データとして生成する。
【0114】
続いて、取得楽曲データに規定された全ての楽音について演奏が完了したか否かを判定する(S510)。このS510での判定の結果、全ての楽音について、演奏が完了していなければ(S510:NO)、S440へと戻る。ただし、再生演奏処理では、現サイクルにて読み込んだ単位区間の次の単位区間について楽曲データを読み込み、特定楽曲を演奏する。このとき読み込まれる楽曲データは、S500にて生成された修正楽曲データであり、その修正楽曲データが有する規定条件を満たすハーモニー伴奏楽器音は、先のS500にて音高がシフトされたものである。
【0115】
一方、S510での判定の結果、全ての楽音について演奏が完了していれば(S510:YES)、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
[第二実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によれば、取得楽曲データに基づく楽曲の演奏中に、当該楽曲を修正することができる。
【0116】
このため、本実施形態のカラオケ装置10によれば、当該カラオケ装置10の利用者にとって歌いにくい楽曲を、その楽曲を歌唱している際に、歌唱しやすい楽曲へと変更できる。
【0117】
また、本実施形態のMIDIアレンジ処理によれば、音域最低値spmin'及び音域最高値spmax'を、音高差分(即ち、歌唱音高と楽音の音高とのズレ)に応じて規定することができる。
【0118】
この結果、カラオケ装置10の利用者自身が発生する声の音高範囲と、対象音域とが重複する可能性を向上させることができ、特定楽曲において、音高が利用者自身の声域に含まれる対象楽音を低減できる。
[第二実施形態と特許請求の範囲との対応関係]
上記第二実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0119】
上記第二実施形態のMIDIアレンジ処理におけるS410が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS420及びS470が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS480が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS490及びS500が、本発明のデータ修正手段に相当する。
【0120】
上記第二実施形態のMIDIアレンジ処理におけるS430が、本発明の楽曲演奏手段に相当し、MIDIアレンジ処理におけるS440が、本発明の音声データ取得手段に相当する。さらに、MIDIアレンジ処理におけるS450が、本発明の音高特定手段に相当し、MIDIアレンジ処理におけるS460が、本発明の音高差分導出手段に相当する。
[第三実施形態]
次に、本発明の第三実施形態について説明する。
【0121】
第三実施形態におけるカラオケ装置10は、第二実施形態におけるカラオケ装置10とは、主として、制御部20が実行するMIDIアレンジ処理の処理内容が異なる。このため、本実施形態では、第一実施形態及び第二実施形態のカラオケ装置10と同一の構成には、同様の符号を付して説明を省略し、第一実施形態及び第二実施形態のカラオケ装置10とは異なる点を中心に説明する。
【0122】
まず、本実施形態におけるメロディラインには、歌唱旋律として、主たる歌唱旋律(いわゆるガイドメロディ)と、主たる歌唱旋律とは異なる少なくとも1つの歌唱旋律(以下、コーラス旋律と称す)とを含む。このコーラス旋律には、例えば、楽曲にコーラスパートが含まれていれば、そのコーラスパートとして歌唱される、主たる歌唱旋律に対する補助的な歌唱旋律(いわゆるバックグラウンドボーカル)を少なくとも1つ含む。また、コーラス旋律には、例えば、楽曲がデュエット曲であれば、各々のパートについての歌唱旋律を含む。
【0123】
そして、本実施形態では、メロディ楽器に対応する楽譜トラックとして、ガイドメロディの演奏を担当するメロディ楽器に対応する楽譜トラックと、各コーラス旋律を担当するメロディ楽器に対応する楽譜トラックとが含まれている。
〈MIDIアレンジ処理について〉
次に、本実施形態におけるMIDIアレンジ処理について説明する。
【0124】
ここで、図13は、本実施形態におけるMIDIアレンジ処理の処理手順を示したフローチャートである。
本実施形態におけるMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0125】
このMIDIアレンジ処理は、起動されると、図13に示すように、まず、対象楽曲に対応する楽曲データを取得する(S610)。続いて、S610にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、ガイドメロディを形成する楽音の音高範囲(以下、ガイメロ音域とする)を、メロディ音域として特定する(S620)。さらに、S610にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、コーラス旋律を形成する楽音の音高範囲(以下、コーラス音域とする)を、メロディ音域として特定する(S630)。
【0126】
これらS620、S630にてメロディ音域を特定する方法は、第一実施形態のMIDIアレンジ処理におけるS120と同様であるため、ここでの詳しい説明は省略する。
そして、楽曲データに基づいて、対象楽曲が演奏されるように、再生演奏処理を制御部20に実行させる再生指令を出力する(S640)。この再生指令によって実行される再生演奏処理は、少なくとも楽曲データ(ここでは、取得楽曲データ、及び後述するS730で生成される修正楽曲データのうちの一方)を読み込み、その読み込んだ楽曲データに対応する特定楽曲の演奏を実行し、演奏音を音声出力部16から放音すると共に、歌詞データに基づく歌詞を表示部13に表示する周知の処理である。ただし、本実施形態における再生演奏処理では、楽曲データを、対象楽曲の時間軸に沿って予め規定された単位区間毎に読み込み、特定楽曲の演奏を単位区間毎に実行可能とされている。
【0127】
続いて、音声入力部14を介して順次入力される音の波形を表す第一音声データを、当該カラオケ装置10の利用者の一人がガイドメロディを歌唱することで生じた歌声波形データ(以下、第一歌声波形データと称す)として取得する(S650)。音声入力部15を介して順次入力される音の波形を表す第二音声データを、当該カラオケ装置10の利用者の一人がコーラス旋律を歌唱することで生じた歌声波形データ(以下、第二歌声波形データと称す)として取得する(S660)。
【0128】
さらに、カラオケ装置10の利用者の一人が、ガイドメロディを構成する個々の楽音に対して発した歌声の周波数(以下、第一歌声音高と称す)vf01を、S650で取得した第一歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って順次推定する(S670)。カラオケ装置10の利用者の一人が、コーラス旋律を構成する個々の楽音に対して発した歌声の周波数(以下、第二歌声音高と称す)vf02を、S660で取得した第二歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って順次推定する(S680)。
【0129】
これらS670で第一歌声音高vf01を推定する手法及びS680で第二歌声音高vf02を推定する手法は、第二実施形態のMIDIアレンジ処理におけるS450と同様の手法であるため、ここでの詳しい説明は省略する。
【0130】
続いて、S670で推定した第一歌声音高vf01、及びS680で推定した第二歌声音高vf02に基づいて、音高差分DNを導出する(S690)。
具体的に本実施形態のS690では、S670で推定された第一歌声音高vf01と、当該第一歌声音高vf01に対応する楽音、即ち、ガイドメロディを形成し、当該単位区間に相当する楽音の音高n01との音高差(以下、第一中間差分と称す)DNmを導出する。これと共に、S680で推定された第二歌声音高vf02と、当該第二歌声音高vf02に対応する楽音、即ち、コーラス旋律を形成し、当該単位区間に相当する楽音の音高n02との音高差(以下、第二中間差分と称す)DNcを導出する。
【0131】
そして、本実施形態のS690では、第一中間差分DNmの絶対値と、第二中間差分DNcの絶対値とのうち、値が大きいものを、音高差分DNとして導出する。
ただし、本実施形態において、第一中間差分DNmを導出する方法及び第二中間差分DNcを導出する方法のそれぞれは、第二実施形態のMIDIアレンジ処理におけるS460で音高差分DNを導出する方法と同様であるため、ここでの詳しい説明は省略する。
【0132】
さらに、S690で導出した音高差分DNと、取得楽曲データとに基づいて、対象音域を特定する(S700)。
ここで、図14は、本実施形態において、対象音域を特定する手法を示した説明図である。
【0133】
具体的に本実施形態のS700では、まず、S620で推定したガイメロ音域において、最も低い音高である最低音高mp1minと、最も高い音高である最高音高mp1maxとを特定する。さらに、S630で推定したコーラス音域において、最も低い音高である最低音高mp2minと、最も高い音高である最高音高mp2maxとを特定する。
【0134】
そして、これら最低音高mp1minと最低音高mp2minとのうち、低い音高を最低音高mpminとし、最高音高mp1maxと最高音高mp2maxとのうち、高い音高を最高音高mpmaxとし、最低音高mpminから最高音高mpmaxまでの音高範囲を、基準範囲として特定する。その特定した基準範囲を、音高差分DNに基づいて補正した音高範囲を対象音域として特定する。
【0135】
本実施形態において、音高差分DNに基づく補正とは、音高差分DNに基づいて基準範囲を拡大することでも良いし、音高差分DNに基づいて基準範囲をシフトさせることでも良い。これらの手法は、第二実施形態における「音高差分DNに基づく補正」と同様であるため、ここでの説明は省略する。
【0136】
つまり、本実施形態において特定される対象音域は、ガイメロ音域とコーラス音域とを包括した音高範囲となる。
続いて、対象楽譜トラックを全て特定する(S710)。この対象楽譜トラックを特定する方法は、第二実施形態のMIDIアレンジ処理におけるS480、及び第一実施形態のMIDIアレンジ処理におけるS140と同様であるため、ここでの詳しい説明は省略する。
【0137】
さらに、S710にて特定した各対象楽譜トラックについてのシフト量kiを導出するシフト量導出処理を実行する(S720)。本実施形態におけるシフト量導出処理の処理内容は、第二実施形態におけるシフト量導出処理の処理内容と同様であるため、ここでの詳しい説明は省略する。
【0138】
そして、対象楽譜トラックそれぞれに対してシフト量導出処理で導出されたシフト量kiに基づいて、当該対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する(S730)。この対象楽音の音高を変更する方法は、第二実施形態のMIDIアレンジ処理におけるS500、及び第一実施形態のMIDIアレンジ処理におけるS160と同様であるため、ここでの詳しい説明は省略する。
【0139】
続いて、取得楽曲データに規定された全ての楽音について演奏が完了したか否かを判定する(S740)。
このS740での判定の結果、全ての楽音について、演奏が完了していなければ(S740:NO)、S650へと戻る。ただし、再生演奏処理では、現サイクルにて読み込んだ単位区間の次の単位区間について楽曲データを読み込み、特定楽曲を演奏する。このとき読み込まれる楽曲データは、S730にて生成された修正楽曲データであり、その修正楽曲データが有する規定条件を満たすハーモニー伴奏楽器音は、先のS730にて音高がシフトされたものである。
【0140】
一方、S740での判定の結果、全ての楽音について演奏が完了していれば(S740:YES)、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
[第三実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によれば、複数人が特定楽曲を歌唱した場合に、特定楽曲のメロディラインを構成する楽音の音高を、より正確に歌唱できない歌唱者が発した声の音高に応じて、音域最低値及び音域最高値を規定することができる。
【0141】
この結果、本実施形態のカラオケ装置10によれば、特定楽曲をより歌唱しやすい楽曲とすることができる。
[第三実施形態と特許請求の範囲との対応関係]
上記第三実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0142】
上記第三実施形態のMIDIアレンジ処理におけるS610が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS620,S630及びS700が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS710が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS720及びS730が、本発明のデータ修正手段に相当する。
【0143】
上記第三実施形態のMIDIアレンジ処理におけるS640が、本発明の楽曲演奏手段に相当し、MIDIアレンジ処理におけるS650,S660が、本発明の音声データ取得手段に相当する。さらに、MIDIアレンジ処理におけるS670,S680が、本発明の音高特定手段に相当し、MIDIアレンジ処理におけるS690が、本発明の音高差分導出手段に相当する。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0144】
上記第一実施形態のシフト量導出処理では、音域代表値spc及び対象代表値hpcとして、それぞれ、メロディ音域の中心,対象音域の中心を求めたが、音域代表値spc及び対象代表値hpcは、これに限るものではなく、例えば、それぞれの音域の下限値でも良いし、各音域の上限値でも良い。
【0145】
また、上記第一実施形態のカラオケ装置10及び第二実施形態のカラオケ装置10には、音声入力部14及び音声入力部15の両方が設けられていたが、上記第一実施形態のカラオケ装置10及び第二実施形態のカラオケ装置10に設けられる音声入力部は、これに限るものではなく、音声入力部14,15のうちのいずれか一方のみが設けられていても良い。さらに、上記実施形態(ここでは、第一〜第三実施形態の全て)のカラオケ装置10においては、音声入力部14または音声入力部15が、3つ以上設けられていても良い。
【0146】
上記第三実施形態のMIDIアレンジ処理においては、第一中間差分DNmと第二中間差分DNcとのうちの絶対値が大きなものを、音高差分DNとして導出していたが、第三実施形態におけるMIDIアレンジ処理において、音高差分DNを導出する方法は、これに限るものではなく、第一中間差分DNmと第二中間差分DNcとのそれぞれを、音高差分DNとして導出しても良い。
【0147】
さらに、上記第三実施形態のMIDIアレンジ処理においては、音高差分DNに基づいて、シフト量kiの符号(即ち、シフトさせる方向)を決定していたが、シフト量kiの符号を決定する方法は、これに限るものではなく、例えば、第一中間差分DNmに基づいて決定しても良いし、第二中間差分DNcに基づいて決定しても良い。
【0148】
そして、上記第三実施形態のMIDIアレンジ処理においては、ガイメロ音域及びコーラス音域の両音域を包含するように、1つの対象音域を特定していたが、対象音域は、ガイメロ音域及びコーラス音域のそれぞれに対して特定しても良い。つまり、第三実施形態のMIDIアレンジ処理では、対象音域を、2つ以上特定しても良い。
【0149】
なお、上記実施形態(ここでは、第一実施形態から第三実施形態の全て)のシフト量導出処理では、S320において、対象割合が特定割合β以上であるか否かを判定していたが、S320において判定する内容は、音高が対象音域内である仮想楽音の数が、予め規定された閾値以上であるか否かを判定しても良い。つまり、対象楽譜トラックについて、当該楽譜トラックに規定された楽音の音高を、対象音域に重なる音が低減するように、シフト量kiの値、及びシフト量kiの符号を決定可能であれば、シフト量導出処理のS320での判定する内容は、どのようなものでも良い。
【符号の説明】
【0150】
10…カラオケ装置 11…通信部 12…入力受付部 13…表示部 14,15…音声入力部 16…音声出力部 17…音源モジュール 18…記憶部 20…制御部 21…ROM 22…RAM 23…CPU
【技術分野】
【0001】
本発明は、楽曲データを修正する楽曲データ修正装置に関する。
【背景技術】
【0002】
従来、楽曲の伴奏を演奏し、その演奏された伴奏にあわせて、当該楽曲を利用者が歌唱するカラオケ装置が知られている(例えば、特許文献1参照)。
この種のカラオケ装置で演奏される一般的な楽曲には、当該カラオケ装置の利用者が歌唱する区間であって、歌詞が割り当てられた歌唱区間と、利用者が歌唱しない区間であって、歌詞が割り当てられていない非歌唱区間とが設けられている。
【0003】
そして、特許文献1に記載のカラオケ装置では、演奏中の楽曲において、歌唱区間に対しては、伴奏音全体の音量が低下するように制御し、非歌唱区間に対しては、伴奏音全体の音量が増加するように制御している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平07−13579号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されたカラオケ装置では、歌唱区間について、伴奏音全体の音量が低下するように制御しているため、当該楽曲においてリズムを刻む楽器の音量が低下し、当該カラオケ装置の利用者は演奏中の楽曲におけるリズムを取りにくくなるという問題があった。
【0006】
つまり、特許文献1に記載されたカラオケ装置では、演奏中の楽曲が歌いにくくなるという問題があった。
そこで、本発明は、カラオケ装置にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた本発明は、楽曲データ修正装置に関する。
本発明の楽曲データ修正装置では、楽曲データ取得手段が、少なくとも1種類の楽器の音を出力可能なカラオケ装置にて演奏される楽曲を表す楽曲データを取得する。ただし、楽曲データは、該楽曲にて歌唱されるべき旋律を表す少なくとも一つのメロディラインの演奏を担当する各楽器の音であるメロディ楽器音、該メロディラインに対する少なくとも一つの副次的な旋律の演奏を担当する各楽器の音であるハーモニー伴奏楽器音、及び該楽曲のリズムを刻む楽器の音であるリズム楽器音について、それぞれ、個々の楽音の音高、及び演奏開始タイミングが規定された楽譜トラックを有している。
【0008】
そして、本発明の楽曲データ生成装置において、対象音域特定手段が、少なくとも楽曲データ取得手段で取得した楽曲データに基づいて、メロディ楽器音に対応する楽譜トラックに規定された楽音の最低音高から最高音高までの音高範囲であるメロディ音域を含むように規定された音域最低値から音域最高値までの音域である対象音域を特定すると、対象楽音特定手段が、ハーモニー伴奏楽器音に対応する各楽譜トラックに規定された楽音の中で、音高が、対象音域特定手段で特定された対象音域内である特定楽音を特定し、その特定した特定楽音を少なくとも含む楽音である対象楽音を特定する。
【0009】
さらに、データ修正手段が、対象音域との重なりが低減するように、対象楽音特定手段で特定された対象楽音の音高をオクターブ単位で変更することで、楽曲データ取得手段で取得した楽曲データを修正した修正楽曲データを生成する。
【0010】
本発明で言うハーモニー伴奏楽器音とは、副次的な旋律の演奏を担当する各楽器(以下、ハーモニー伴奏楽器とする)の音であり、例えば、リズム楽器(例えば、ドラムやシンバル)の音とは異なり、人の声と同じような周波数のスペクトル構造を有した音を出力する各楽器の音である。このハーモニー伴奏楽器として、例えば、ギターなどの撥弦楽器や、バイオリンなどの擦弦楽器、ピアノなどの打弦楽器、クラリネットなどの管楽器などが該当する。さらに、副次的な旋律とは、メロディラインとは異なる旋律であっても良いし、メロディラインの和音に相当する旋律であっても良い。
【0011】
以上説明したように、本発明の楽曲データ修正装置にて生成される修正楽曲データでは、音高がメロディ音域内である楽音がハーモニー伴奏楽器音であれば、当該ハーモニー伴奏楽器音の音高がメロディ音域外となるように、当該楽曲データを生成したときに規定された音高(即ち、初期値)から変更されている。一方、メロディ楽器音及びリズム楽器音は、当該楽曲データを生成したときに規定された状態に維持される。
【0012】
したがって、このような修正楽曲データに基づいてカラオケ装置にて演奏された楽曲は、ハーモニー伴奏楽器音の音高がメロディ音域内となることを低減でき、メロディラインを構成する楽音が明瞭となる。この結果、当該カラオケ装置の利用者にとって、メロディラインが聞き取りやすくなる。
【0013】
さらに、本発明の楽曲データ修正装置においては、リズム楽器音に対応する各楽譜トラックにおける楽音は、楽曲データを生成したときの楽音に維持される。このため、本発明の楽曲データ修正装置にて生成された修正楽曲データに基づく楽曲をカラオケ装置で演奏すれば、当該楽曲のリズムは、カラオケ装置の利用者にとって、とりやすい状態に維持される。
【0014】
また、本発明のカラオケ装置では、対象楽音の音高の変更を、オクターブ単位で実行している。人は、通常、同一の音名であればオクターブ(音階)が異なっても、同じ音として認識することが知られている。よって、当該カラオケ装置で修正された楽曲データであれば、当該カラオケ装置の利用者にとって、修正後の対象楽音を、修正前の対象楽音と同じ音として認識可能な状態に維持できる。さらには、修正楽曲データに基づく楽曲において、修正後の対象楽音が、当該楽曲のメロディラインを構成する楽音と不協和音となることを防止できる。
【0015】
これらの結果、本発明の楽曲データ修正装置によれば、カラオケ装置にて演奏される楽曲を歌いやすくすることができる。換言すれば、本発明の楽曲データ修正装置によれば、カラオケ装置にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供できる。
【0016】
さらに、本発明における対象楽音特定手段は、ハーモニー伴奏楽器音に対応する個々の楽譜トラックに規定された全楽音のうち、特定楽音の占める割合が予め規定された規定割合以上である楽譜トラックそれぞれを表す対象楽譜トラックを特定し、その特定した対象楽譜トラックに規定された全ての楽音を、対象楽音としても良い(請求項2)。
【0017】
つまり、本発明において、対象楽音の音高の変更は、楽譜トラック単位で実行しても良い。このような楽曲データ修正装置によれば、楽譜トラック単位で音高を変更することができ、簡易な方法で対象楽音の音高の変更、ひいては、修正楽曲データの生成を実現できる。
【0018】
また、本発明におけるデータ修正手段は、修正楽曲データにおける対象楽譜トラックに規定された全楽音のうち、特定楽音が占める割合が、予め規定された特定割合以下となるまで繰り返し、修正楽曲データを生成しても良い(請求項3)。
【0019】
このような楽曲データ修正装置によれば、修正楽曲データにおいて、対象音域内に音高が含まれるハーモニー伴奏楽器音をより確実に低減できる。
そして、本発明におけるデータ修正手段は、対象楽譜トラックに規定された楽音の音域の代表値である対象代表値が、対象音域における音域の代表値である音域代表値よりも高ければ、当該対象楽音の音高が修正前よりも高くなるように変更し、対象代表値が音域代表値よりも低ければ、当該対象楽音の音高が修正前よりも低くなるように変更しても良い(請求項4)。
【0020】
このような楽曲データ修正装置によれば、対象楽音の音高を変更する際の変更量を、必要最小限とすることができる。
なお、ここで言う音域の代表値とは、音域を代表する値であり、例えば、音域の中心値(重心)でも良いし、音域の下限値でも良いし、音域の上限値でも良い。
【0021】
ところで、本発明の楽曲データ修正装置では、楽曲データ取得手段で取得した楽曲データ、及びデータ修正手段で修正された修正楽曲データのうちの少なくとも一方に基づいて、楽曲演奏手段が、該楽曲データ及び該修正楽曲データのうちの少なくとも一方に対応する楽曲である特定楽曲を演奏し、音声データ取得手段が、楽曲演奏手段での特定楽曲の演奏中に入力される音声の波形を表す音声波形データを取得する。そして、少なくとも、音声データ取得手段で取得した音声波形データに基づいて、音高特定手段が、特定楽曲に規定された少なくとも1つの時間長である単位時間における音声の音高を表す歌唱音高を特定し、音高差分導出手段が、音高特定手段で特定された歌唱音高と、メロディ楽器音に対応する楽譜トラックに規定され、かつ該単位時間に対応する楽音の音高との差分である音高差分を導出しても良い。この場合、本発明における対象音域特定手段は、音高差分導出手段で導出した音高差分に基づいて、音域最低値及び音域最高値を規定しても良い(請求項5)。
【0022】
このような本発明の楽曲データ修正装置によれば、音域最低値及び音域最高値を、音高差分(即ち、歌唱音高と楽音の音高とのズレ)に応じて規定することができる。
なお、本発明の楽曲データ修正装置においては、メロディラインとして、各々が異なる少なくとも二以上の旋律のそれぞれである歌唱旋律を含み、メロディ楽器音に対応する楽譜トラックが、歌唱旋律のそれぞれに対応して少なくとも二つ規定されていても良い。
【0023】
この場合、本発明における音声データ取得手段は、各歌唱旋律に対して歌唱した音声の波形を表す音声データを、それぞれ、音声波形データとして取得し、音高特定手段は、音声データのそれぞれに基づいて、各音声の音高を表す音声音高を、歌唱音高として特定しても良い。さらに、本発明における音高差分導出手段は、音声音高のそれぞれと、該音声音高に対応する歌唱旋律の楽譜トラックに規定され、かつ該音声音高における単位時間に対応する楽音それぞれの音高との差分それぞれを表す中間差分を導出し、その導出された中間差分の中で、絶対値が最大である中間差分を音高差分として導出しても良い(請求項6)。
【0024】
本発明で言う歌唱旋律とは、歌唱されるべき旋律の各々であり、例えば、楽曲がデュエット曲であれば、該デュエット曲を構成する複数のパートの各々が歌唱すべき旋律である。また、歌唱旋律は、特定楽曲にコーラスが含まれている場合、そのコーラスとして歌唱すべき旋律を含むものである。
【0025】
このような楽曲データ修正装置によれば、複数人が特定楽曲を歌唱した場合に、特定楽曲のメロディラインを構成する楽音の音高を、より正確に歌唱できない歌唱者が発した声の音高に応じて、音域最低値及び音域最高値を規定することができる。
【0026】
なお、本発明の楽曲データ修正装置においては、音域最低値として、最低音高よりも低い音高が、音域最高値として、最高音高よりも高い音高が、予め規定されていても良い。この場合、本発明における対象音域特定手段は、音域最低値が、音高差分の大きさに比例してより低い音高となるように、新たな音域最低値を規定し、音域最高値が、音高差分の大きさに比例してより高い音高となるように、新たな音域最高値を規定しても良い(請求項7)。
【0027】
このような対象音域特定手段によれば、音高差分の大きさに比例して対象音域を拡大することができる。このため、利用者自身の声域と、対象音域とが重複する可能性を向上させることができ、修正楽曲データに基づく特定楽曲において、利用者自身の声域に音高が含まれる対象楽音を低減できる。
【0028】
また、音域最低値として、最低音高よりも低い音高が、音域最高値として、最高音高よりも高い音高が、予め規定されている場合、本発明における対象音域特定手段は、音域最低値から音高差分シフトした音高を、新たな音域最低値として規定し、音域最高値から音高差分シフトした音高を、新たな音域最高値として規定しても良い(請求項8)。
【0029】
このような対象音域特定手段によれば、音高差分に応じて対象音域をシフトすることができる。このため、利用者自身の声域と、対象音域とが重複する可能性を向上させることができる。
【0030】
これらの楽曲データ修正装置にて生成された修正楽曲データに基づく演奏に応じて歌唱した利用者は、利用者自身が歌唱した声をより聞き取りやすくなり、楽曲データに対応する楽曲が歌いやすくなる。
【図面の簡単な説明】
【0031】
【図1】本発明が適用された楽曲データ修正装置の概略構成を示すブロック図である。
【図2】楽譜トラックの概要を示す図である。
【図3】第一実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図4】MIDIアレンジ処理においてメロディ音域、及び対象楽譜トラックを特定する手法を示す図である。
【図5】第一実施形態におけるシフト量導出処理の処理手順を示すフローチャートである。
【図6】第一実施形態において、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係、及び修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【図7】第一実施形態において、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係、及び修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【図8】第二実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図9】第二実施形態におけるMIDIアレンジ処理において、対象音域を特定する手法を説明する図である。
【図10】第二実施形態におけるMIDIアレンジ処理において、対象音域を特定する手法を説明する図である。
【図11】第二実施形態におけるシフト量導出処理の処理手順を示すフローチャートである。
【図12】第二実施形態において、取得楽曲データにおける対象音域と対象トラック音域との関係、及び修正楽曲データにおける対象音域と対象トラック音域との関係を示す図である。
【図13】第三実施形態におけるMIDIアレンジ処理の処理手順を示すフローチャートである。
【図14】第三実施形態におけるメロディ音域とコーラス音域と対象音域との関係を示す図である。
【発明を実施するための形態】
【0032】
以下に本発明の実施形態を図面と共に説明する。
[第一実施形態]
本発明が適用された楽曲データ修正装置は、カラオケ装置にて演奏される楽曲を表す楽曲データを修正する装置である。以下、楽曲データ修正装置にて修正した楽曲データを修正楽曲データと称す。
【0033】
なお、実施形態における楽曲データ修正装置は、図1に示すカラオケ装置10の一つの機能として実現されている。このカラオケ装置10は、楽曲データや修正楽曲データに基づいて、それらデータに対応する楽曲を演奏する装置である。
【0034】
この楽曲データ(ここでは、修正楽曲データも含む)によって表わされる楽曲とは、作曲者が作曲した楽曲を、カラオケの用途のために編曲した楽曲である。この楽曲は、通常、当該楽曲にて歌唱されるべき旋律を表すメロディラインと、そのメロディラインに対する副次的な旋律を表す少なくとも一つの伴奏メロディと、当該楽曲のリズムを表すリズム旋律とを有する。
【0035】
なお、本実施形態におけるメロディラインには、当該カラオケ装置10の利用者が歌唱すべき少なくとも1つの旋律(以下、歌唱旋律とする)として、主たる歌唱旋律(いわゆるガイドメロディ)を含む。ここで言う伴奏メロディとは、メロディラインとは異なる旋律でも良いし、メロディラインの和音に相当する旋律でも良い。
〈カラオケ装置について〉
図1に示すように、カラオケ装置10は、通信部11と、入力受付部12と、表示部13と、音声入力部14,15と、音声出力部16と、音源モジュール17と、記憶部18と、制御部20とを備えている。
【0036】
このうち、通信部11は、カラオケ装置10をネットワーク(例えば、専用回線やWAN)に接続し、その接続されたネットワークを介して外部と通信を行うものである。
入力受付部12は、外部からの操作に従って情報や指令の入力を受け付ける入力機器(例えば、リモートコントローラ)である。表示部13は、画像を表示する表示装置(例えば、液晶ディスプレイやCRT等)である。また、音声入力部14、15は、それぞれ、音声を電気信号に変換して制御部20に入力する装置(いわゆるマイクロホン)である。音声出力部16は、制御部20からの電気信号を音声に変換して出力する装置(いわゆるスピーカ)である。
【0037】
さらに、音源モジュール17は、楽曲データに基づいて、予め規定された種類の楽器の音(以下、楽器音とする)を出力する装置である。本実施形態においては、音源モジュール17は、周知のMIDI(Musical Instrument Digital Interface)音源によって構成されている。そして、音源モジュール17にて出力される楽器音は、鍵盤楽器(例えば、ピアノやパイプオルガンなど)の楽器音、弦楽器(例えば、バイオリンやビオラ、ギター、ベース、琴など)の楽器音、打楽器(例えば、ドラムやシンバル、ティンパニー、木琴、ビブラフォンなど)の楽器音、及び管楽器(例えば、クラリネットやトランペット、フルート、尺八など)の楽器音などである。
【0038】
次に、楽曲データは、楽曲を区別するデータである識別データと、当該楽曲の歌詞を表す歌詞データと、当該楽曲にて用いられる楽器各々についての楽譜を表す楽譜トラックとを少なくとも有し、周知のMIDI規格によって表されている。
【0039】
楽譜トラックとしては、メロディラインに対応するデータと、伴奏メロディに対応するデータと、リズム旋律に対応するデータとが予め生成されている。つまり、楽譜トラックには、メロディラインの演奏を担当する各楽器(以下、メロディ楽器とする)に対応する楽譜トラック、伴奏メロディの演奏を担当する各楽器(以下、伴奏メロディ楽器とする)に対応する楽譜トラック、リズム旋律の演奏を担当する各楽器(以下、リズム楽器とする)に対応する楽譜トラックが存在する。
【0040】
なお、実施形態においては、メロディ楽器として、例えば、ビブラフォンが規定され、リズム楽器として、例えば、ドラムやシンバルなどが規定されている。また、実施形態における伴奏メロディ楽器には、当該伴奏メロディ楽器の楽器音における周波数のスペクトル構造が人の声と同様のスペクトル構造(即ち、倍音構造)となる楽器(以下、ハーモニー伴奏楽器とする)が含まれる。このハーモニー伴奏楽器には、例えば、バイオリンやビオラ、ギター、ベース(いわゆるベースギター)などが含まれる。
【0041】
各楽譜トラックには、楽器の種類に応じてインデックス番号が割り振られており、このインデックス番号によって、各楽譜トラックに対応する楽器の種類をカラオケ装置10が特定可能となる。
【0042】
ところで、各楽譜トラックに規定される内容には、個々の楽音(即ち、楽器音)の音符長、個々の楽音の音高(いわゆるノートナンバー)、個々の楽音の強さ(いわゆるアタック、ベロシティ、ディケイなど)がある。
【0043】
ただし、楽譜トラックでの音符長は、当該楽音(楽器音)の出力を開始する、当該楽曲の演奏開始からの時刻を表す演奏開始タイミング(いわゆるノートオンタイミング)と、当該楽音の出力を終了する、当該楽曲の演奏開始からの時刻を表す終了タイミング(いわゆるノートオフタイミング)とによって規定されている。
【0044】
つまり、各楽譜トラックは、図2に示すように、時間の進行に沿った楽音それぞれについて、ノートナンバー、ノートオンタイミング、及びノートオフタイミングが規定されることによって、当該楽曲を演奏する各楽器の楽譜を表している。
【0045】
また、記憶部18は、記憶内容を読み書き可能に構成された不揮発性の記憶装置(例えば、ハードディスク装置)である。この記憶部18には、処理プログラムや、通信部11を介して取得された楽曲データが少なくとも格納される。
【0046】
制御部20は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納するROM21と、処理プログラムやデータを一時的に格納するRAM22と、ROM21やRAM22に記憶された処理プログラムに従って各処理(各種演算)を実行するCPU23とを少なくとも有した周知のコンピュータを中心に構成されている。なお、実施形態において、制御部20は、音声入力部15の各々、即ち、音声入力部15を介して入力される電気信号の各々を識別可能に構成されている。
【0047】
なお、本実施形態における処理プログラムとして、入力受付部12を介して指定された楽曲(以下、対象楽曲とする)に対応する楽曲データを、カラオケ装置10の利用者が歌唱しやすい楽曲に対応する楽曲データとなるように修正する(即ち、修正楽曲データを生成する)MIDIアレンジ処理の処理手順を表した処理プログラムが予め用意されている。
〈MIDIアレンジ処理について〉
次に、制御部20が実行するMIDIアレンジ処理について説明する。
【0048】
ここで、図3は、MIDIアレンジ処理の処理手順を示すフローチャートである。
このMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0049】
このMIDIアレンジ処理は、起動されると、図3に示すように、まず、対象楽曲に対応する楽曲データを取得する(S110)。続いて、S110にて取得した楽曲データ(以下、取得楽曲データと称す)に基づいて、対象楽曲におけるメロディ音域を特定する(S120)。
【0050】
具体的には、取得楽曲データのメロディ楽器に対応する楽譜トラックから、当該楽譜トラックに規定されているガイドメロディを構成する全ての楽音の音高についての度数分布(即ち、ヒストグラム)を求める。図4(A)に示すように、その求めた度数分布において、度数が予め規定された音高閾値thf以上となる音高(ノートナンバー)の中で、最も低い音高を最低音高mpminとして特定する。さらに、度数分布において、度数が音高閾値thf以上となる音高(ノートナンバー)の中で、最も高い音高を最高音高mpmaxとして特定する。それら特定された最低音高mpminから最高音高mpmaxまでの音高範囲(ノートナンバーの範囲)を、メロディ音域として特定する。
【0051】
さらに、S120で特定したメロディ音域を包括する音高の範囲を表す対象音域を特定する(S130)。
具体的には、音高が最低音高mpminよりも予め規定された音高α分低い音高を、音域最低値spminとして、音高が最高音高mpmaxよりも予め規定された音高α分高い音高を、音域最高値spmaxとして特定する。そして、それらの特定した音域最低値spminから音域最高値spmaxまでの音高範囲(ノートナンバーの範囲)を、対象音域として特定する。なお、音高αは、例えば、聴覚フィルタの半分の幅に対応する音高とすれば良い。
【0052】
続いて、本MIDIアレンジ処理にて修正を加える対象とする楽譜トラック(以下、対象楽譜トラックとする)を特定する(S140)。
実施形態においては、ハーモニー伴奏楽器に対応する全ての楽譜トラックの中で、予め規定した規定条件を満たす楽譜トラックを、それぞれ、対象楽譜トラックとして特定する。実施形態における規定条件とは、ハーモニー伴奏楽器に対応する1つの楽譜トラックに規定されている全ての楽音のうち、音高が対象音域内に含まれる楽音(以下、特定楽音とする)の割合が予め規定された規定割合以上であることである。
【0053】
より具体的に本実施形態のS140では、取得楽曲データを構成する楽譜トラックの中で、ハーモニー伴奏楽器に対応する楽譜トラックの各々を特定する。そして、図4(B)に示すように、その特定したハーモニー伴奏楽器に対応する楽譜トラックのそれぞれについて、当該楽譜トラックに規定されている全ての楽音の音高についての度数分布(即ち、ヒストグラム)を求める。その求めた度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して全特定楽音の度数の総計が占める割合(即ち、図4(B)においてハッチングを施した部分の面積)が、規定割合以上であれば、当該ハーモニー楽器に対応する楽譜トラックを、対象楽譜トラックとする。なお、対象楽譜トラックに規定されている全ての楽音が、それぞれ、本発明における対象楽音に相当する。
【0054】
ただし、実施形態においては、ベースギターに対応する楽譜トラックを、ハーモニー楽器に対応する楽譜トラックとして取り扱わないこととする。つまり、実施形態においては、ベースギターに対応する楽譜トラックは、対象楽譜トラックから除外する。
【0055】
本実施形態のMIDIアレンジ処理では、続いて、各対象楽譜トラックに規定された全ての楽音の音高(即ち、対象楽音)の変更量を表すシフト量kiを、対象楽譜トラック毎に導出するシフト量導出処理を実行する(S150)。ただし、シフト量kiの値は、オクターブ単位で表されている。また、記号iは、対象楽譜トラックを識別する番号を表す識別インデックスである。
〈シフト量導出処理について〉
次に、MIDIアレンジ処理のS150にて実行されるシフト量導出処理について説明する。
【0056】
ここで、図5は、シフト量導出処理の処理手順を示したフローチャートである。
この図5に示すように、シフト量導出処理が起動されると、まず、対象音域の代表値(以下、音域代表値とする)spcを導出する(S210)。この音域代表値spcは、具体的には、下記(1)式に従って導出される。
【0057】
【数1】
【0058】
続いて、識別インデックスiを初期値(i=1)に設定する(S220)。そして、設定された識別インデックスiに対応する対象楽譜トラックに規定されている全ての楽音についての情報(音高(即ち、ノートナンバー)や演奏開始タイミングなど)を取得する(S230)。
【0059】
さらに、S230にて取得した情報に基づいて、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高範囲の代表値(以下、対象代表値とする)hpcを導出する(S240)。この対象代表値hpcは、具体的には、下記(2)式に従って導出される。ただし、(2)式中のhpminは、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高の中で、最も低い音高(以下、対象最低音高とする)であり、hpmaxは、識別インデックスiに対応する対象楽譜トラックに規定された楽音の音高の中で、最も高い音高(以下、対象最高音高とする)である。
【0060】
【数2】
【0061】
そして、音域代表値spcと対象代表値hpcとの差分である代表値差分dfcを導出する(S250)。この代表値差分dfcは、具体的には、下記(3)式に従って導出される。
【0062】
【数3】
【0063】
続いて、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiの値を初期値(ここでは、「1」)に設定する(S260)。そして、代表値差分dfcが「0」以上であるか否かを判定し(S270)、その判定の結果、代表値差分dfcが「0」以上であれば(S270:YES)、対象楽音の音高が高くなるように、シフト量kiの符号を「+(正)」に設定する(S280)。一方、代表値差分dfcが「0」未満、即ち、負の値であれば(S270:NO)、対象楽音の音高が低くなるように、シフト量kiの符号を「−(負)」に設定する(S290)。
【0064】
続いて、S300では、識別インデックスiに対応する対象楽譜トラックにおける全ての楽音を、そのS300に移行した時点で設定されているシフト量kiの符号に沿って、S300に移行した時点で設定されているシフト量kiの値シフトした当該全ての楽音(以下、仮想楽音と称す)の音高についての度数分布(即ち、ヒストグラム、以下、シフト音高度数分布とする)を求める。そして、S300で求めたシフト音高度数分布に従って、音高が対象音域内である楽音(即ち、特定楽音)を特定する(S310)。
【0065】
さらに、識別インデックスiに対応する対象楽譜トラックにおける全ての仮想楽音の中で、音高が対象音域内である仮想楽音が占める割合(以下、対象割合とする)が、予め規定された特定割合β以上であるか否かを判定する(S320)。そのS320での判定の結果、対象割合が特定割合β以上であれば(S320:YES)、シフト量kiの値を1つ増加する(ki=ki+1,S330)。ただし、S330では、シフト量kiの値のみを増加し、シフト量kiの符号は規定しない。その後、S270へと戻り、S330で規定した新たなシフト量kiの値に従って、S270〜S320のステップを繰り返す。
【0066】
一方、S320での判定の結果、対象割合が特定割合β未満であれば(S320:NO)、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiを記憶部18に記憶する(S340)。このS340では、具体的には、S340に移行した時点で設定されているシフト量kiの値及びシフト量kiの符号の両方を、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiとして決定し、記憶部18に記憶する。
【0067】
つまり、シフト量導出処理では、シフト音高度数分布において、対象割合が特定割合β未満となるまで、S270〜S320のステップを繰り返し、シフト量kiを導出する。そして、対象割合が特定割合β未満となると、その時点でのシフト量kiの値及びシフト量kiの符号の両方を、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiとして決定する。
【0068】
さらに、シフト量導出処理では、対象楽譜トラックの識別インデックスiを、1つ増加する(i=i+1)(S350)。続いて、対象楽譜トラックの識別インデックスiが、先のS140にて特定された全ての対象楽譜トラックの数よりも大きいか否かを判定する(S360)。このS360では、S360に移行した時点で設定されている識別インデックスiが、全ての対象楽譜トラックの数を表す最大識別インデックスimax以下あれば(S360:NO)、対象楽譜トラックの識別インデックスiが、全ての対象楽譜トラックの数よりも小さい、即ち、全ての対象楽譜トラックに対してシフト量kiの導出が完了していないものとして、S230へと戻る。そのS230以降のステップでは、S350にて設定した新たな識別インデックスiに従って、S230からS360のステップを繰り返す。
【0069】
一方、S360に移行した時点で設定されている識別インデックスiが、最大識別インデックスimaxよりも大きければ(S360:YES)、全ての対象楽譜トラックに対してシフト量kiの導出が完了したものとして、本シフト量導出処理を終了して、MIDIアレンジ処理のS160へと移行する。
【0070】
ここで、MIDIアレンジ処理(即ち、図3)へと説明を戻す。
シフト量導出処理の後に移行するMIDIアレンジ処理のS160では、対象楽譜トラックそれぞれに対し、シフト量導出処理で導出されたシフト量kiに基づいて、対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する。
【0071】
具体的に本実施形態のS160では、対象楽譜トラック(識別インデックスi)に規定された個々の楽音(即ち、対象楽音)の音高(即ち、予め規定されたノートナンバー)に、{[(シフト量kiの符号)(シフト量kiの値)]×12}によって表される値(ノートナンバー)を加算する。
【0072】
このS160を実行することで、各対象楽譜トラックに規定された個々の楽音の音高を、シフト量kiの符号(即ち、シフトする方向)に沿って、シフト量kiの値シフトした取得楽曲データが、修正楽曲データとして生成される。
【0073】
ここで、図6(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図6(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。また、図7(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図7(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【0074】
具体的に、図6(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、対象代表値hpcが音域代表値spcよりも高く、対象楽譜トラックの音域が対象音域に重なる音域が6半音未満である場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「+1」として導出され、本実施形態のS160では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音の音高(即ち、対象額音)を1.0オクターブ高くする。この結果、図6(B)に示すように、音高が変更された後の対象代表値hpc'、即ち、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて1オクターブ高くなる。
【0075】
また、図7(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、対象代表値hpcが音域代表値spcよりも低く、対象楽譜トラックの音域が対象音域に重なる音域が、6半音以上12半音未満である場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「−2」として導出され、本実施形態のS160では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を2.0オクターブ低くする。この結果、図7(B)に示すように、音高が変更された後の対象代表値hpc'、即ち、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて2オクターブ低くなる。
【0076】
換言すれば、本実施形態のS150及びS160では、対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を、対象音域内に含まれる当該音高が低減するように、シフト量kiに従ってオクターブ単位で変更(シフト)している。
【0077】
続いて、S160にて生成された修正楽曲データを出力する(S170)。このS170における修正楽曲データの出力とは、S160にて生成した修正楽曲データを記憶部18に格納することでも良いし、通信部11を介してネットワークに接続された外部機器に出力することでも良い。また、S170における修正楽曲データの出力とは、S160にて生成した修正楽曲データに対応する楽曲を演奏して、演奏音を音声出力部16から放音して、歌詞データに基づく歌詞を表示部13に表示することでも良い。
【0078】
その後、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
以上説明したように、カラオケ装置10では、取得楽曲データを構成する楽譜トラックの中で、ハーモニー伴奏楽器音に対応する楽譜トラックを特定し、その特定した楽譜トラックのそれぞれが規定条件を満たすか否かを判定する。この判定の結果、規定条件を満たす楽譜トラック(即ち、対象楽譜トラック)については、対象音域に重なる楽音が低減するように、当該楽譜トラックに規定された楽音の音高を、オクターブ単位でシフトして楽曲データを修正する。ただし、規定条件とは、楽譜トラックに規定されている全ての楽音の音高についての度数分布において、当該楽譜トラックに規定された全楽音の度数の総計に対して特定楽音の度数の総計が占める割合が、規定割合以上となることである。
【0079】
なお、カラオケ装置10にて生成される修正楽曲データは、メロディ楽器音やリズム楽器音に対応する楽譜トラックについては、当該楽曲データを生成したときに規定された状態に維持される。
[第一実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によって生成される修正楽曲データは、音高がメロディ音域内に含まれるハーモニー伴奏楽器音を低減できる。
【0080】
よって、この修正楽曲データをカラオケ装置10で演奏すれば、対象楽曲におけるメロディライン、即ち、ガイドメロディを構成する楽音が明瞭となり、カラオケ装置10の利用者にとって、ガイドメロディが聞き取りやすくなる。
【0081】
しかも、本実施形態のMIDIアレンジ処理では、対象楽音の音高の変更を、オクターブ単位で実行している。人は、通常、同一の音名であればオクターブ(音階)が異なっても、同じ音として認識することが知られている。よって、当該カラオケ装置10で生成した修正楽曲データであれば、当該カラオケ装置10の利用者にとって、修正後の対象楽音を、修正前の対象楽音と同じ音として認識可能な状態に維持できる。
【0082】
また、本実施形態のMIDIアレンジ処理を実行することで生成される修正楽曲データにおいては、リズム楽器音に対応する各楽譜トラックにおける楽音が、楽曲データを生成したときの楽音、即ち、初期値に維持される。このような修正楽曲データに基づく楽曲をカラオケ装置10で演奏すれば、当該楽曲のリズムは、カラオケ装置10の利用者にとって、とりやすい状態に維持される。
【0083】
さらに、本実施形態のMIDIアレンジ処理では、対象楽音の音高の変更をオクターブ単位で実行するため、修正楽曲データに基づく楽曲において、修正後の対象楽音が、当該楽曲のメロディラインを構成する楽音と不協和音となることを抑制できる。
【0084】
これらの結果、カラオケ装置10によれば、当該カラオケ装置10にて演奏される楽曲を歌いやすくすることができる。換言すれば、カラオケ装置10によれば、カラオケ装置10にて演奏される楽曲が歌いやすくなるように楽曲データを修正する技術を提供できる。
[第一実施形態と特許請求の範囲との対応関係]
上記第一実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0085】
上記第一実施形態のMIDIアレンジ処理におけるS110が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS120及びS130が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS140が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS150及びS160が、本発明のデータ修正手段に相当する。
[第二実施形態]
次に、本発明の第二実施形態について説明する。
【0086】
第二実施形態におけるカラオケ装置10は、第一実施形態におけるカラオケ装置10とは、制御部20が実行するMIDIアレンジ処理の処理内容が異なるのみである。このため、第二実施形態のカラオケ装置10では、第一実施形態のカラオケ装置10と同一の構成には、同様の符号を付して説明を省略し、第一実施形態のカラオケ装置10とは異なるMIDIアレンジ処理を中心に説明する。
【0087】
本実施形態におけるMIDIアレンジ処理は、対象楽曲に対応する楽曲データに基づいて、対象楽曲を演奏すると共に、その対象楽曲の演奏中に、カラオケ装置10の利用者が歌唱しやすい楽曲となるように当該楽曲データを修正する(即ち、修正楽曲データを生成する)処理である。
〈MIDIアレンジ処理について〉
次に、本実施形態におけるMIDIアレンジ処理について説明する。
【0088】
ここで、図8は、本実施形態におけるMIDIアレンジ処理の処理手順を示したフローチャートである。
本実施形態におけるMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0089】
このMIDIアレンジ処理は、起動されると、図8に示すように、まず、対象楽曲に対応する楽曲データを取得する(S410)。続いて、S410にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、対象楽曲におけるメロディ音域を特定する(S420)。このS420にてメロディ音域を特定する方法は、第一実施形態のMIDIアレンジ処理におけるS120と同様であるため、ここでの詳しい説明は省略する。
【0090】
そして、楽曲データに基づいて、対象楽曲が演奏されるように、再生演奏処理を制御部20に実行させる再生指令を出力する(S430)。この再生指令によって実行される再生演奏処理は、少なくとも楽曲データ(ここでは、取得楽曲データ、及び後述するS500にて生成される修正楽曲データのうちの一方)を読み込み、その読み込んだ楽曲データに対応する楽曲(以下、特定楽曲とする)の演奏を実行し、演奏音を音声出力部16から放音すると共に、歌詞データに基づく歌詞を表示部13に表示する周知の処理である。ただし、本実施形態における再生演奏処理では、楽曲データを、対象楽曲の時間軸に沿って予め規定された単位区間毎に読み込み、特定楽曲の演奏を単位区間毎に実行可能とされている。
【0091】
この単位区間とは、ガイドメロディを形成する各楽音の時間長に相当する区間であることが好ましい。ただし、単位区間は、これに限るものではなく、予め規定された数の小節に相当する時間長でも良いし、予め規定されたフレーズ(例えば、AメロやBメロ、サビ)に相当する時間長でも良い。
【0092】
続いて、音声入力部14または音声入力部15を介して順次入力される音の波形を表す歌声波形データを取得する(S440)。カラオケ装置10において、再生演奏処理の実行中、即ち、特定楽曲の演奏中に、音声入力部14または音声入力部15を介して入力される音は、通常、カラオケ装置10の利用者が発した歌声である。
【0093】
さらに、カラオケ装置10の利用者が、ガイドメロディを構成する個々の楽音に対して発した歌声の周波数(以下、歌声音高と称す)vf0を、S440で取得した歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って推定する(S450)。
【0094】
具体的に本実施形態のS450では、S440にて歌声波形データを取得すると、その取得した歌声波形データに基づいて、歌声の周波数(以下、瞬時音高周波数vf0tと称す)を単位時間毎に特定する。そして、その単位時間毎に特定した瞬時音高周波数vf0tを、ガイドメロディを形成する楽音の各々に対応する区間(本実施形態では、単位区間)毎に平均化及び平滑化することで、当該区間に対する歌声音高vf0を導出する。ただし、単位時間は、単位区間よりも短い時間長であり、例えば、ガイドメロディを形成する楽音の中で演奏時間が最も短い楽音の演奏時間長よりも短い時間長である。なお、瞬時音高周波数vf0tを特定する方法としては、時間軸上の自己相関を用いる方法や、周波数スペクトルの自己相関を用いる方法など、周知の手法を用いれば良いため、ここでの詳しい説明は省略する。
【0095】
続いて、S450で導出された歌声音高vf0と、当該歌声音高vf0に対応する楽音の音高n0との音高差(以下、音高差分と称す)DNを導出する(S460)。
本実施形態のS460では、具体的に、S450にて導出した瞬時音高周波数vf0tを、下記(4)式に代入して、瞬時音高差dntを導出する。ただし、添え字tは、1つの単位区間に含まれる単位時間(t=1〜m)を表し、n0tは、当該単位区間における楽音の各単位時間での音高を表す。
【0096】
そして、瞬時音高差dntに従って、下記(5)式により、単位区間での音高差分DNを導出する。なお、(5)式におけるmは、単位時間の数を表し、(5)式におけるroundは、入力値を整数に近似して返答する関数である。
【0097】
【数4】
【0098】
すなわち、(4)式及び(5)式は、歌声音高vf0と、該歌声音高vf0に対応し、かつガイドメロディを形成する楽音の音高n0(ノートナンバー)との差分を、代入された歌声音高vf0を音高(ノートナンバー)に変換した上で求める式である。
【0099】
続いて、S460で導出した音高差分DNと、取得楽曲データとに基づいて、対象音域を特定する(S470)。
具体的に本実施形態のS470では、第一実施形態における対象音域と同様、最低音高mpminよりも予め規定された音高α分低い音高を、音域最低値spminとして、最高音高mpmaxよりも予め規定された音高α分高い音高を、音域最高値spmaxとして特定する。そして、その特定した音域最低値spminから音域最高値spmaxまでの音高範囲(以下、基準範囲とする)を音高差分DNに基づいて補正した音高範囲を、対象音域として特定する。
【0100】
本実施形態において、音高差分DNに基づく補正とは、音高差分DNに基づいて基準範囲を拡大することでも良いし、音高差分DNに基づいて基準範囲をシフトさせることでも良い。
【0101】
前者の場合、(6)式に基づいて、新たな音域最低値spmin'を導出し、(7)式に基づいて、新たな音域最高値spmax'を導出する。その上で、音域最低値spmin'から音域最高値spmax'までの音域(ノートナンバーの範囲)を対象音域として特定する。ただし、(6)式、及び(7)式におけるKは、予め規定された「1」以上の定数である。また、(6)式、及び(7)式におけるroundは、入力値を整数に近似して返答する関数である。
【0102】
|DN|(DNの絶対値)は、通常、1以上の値である。なお、本実施形態においては、|DN|が0(ゼロ)である場合には、spmin'、及びspmax'の導出を禁止しても良い。
【0103】
【数5】
【0104】
すなわち、この方法では、図9(A)に示す基準範囲が音高差分DNに比例して拡大され、図9(B)に示す対象音域が特定される。
一方、音高差分DNに基づく補正のうち、後者の方法の場合、(8)式に基づいて、新たな音域最低値spmin'を導出し、(9)式に基づいて、新たな音域最高値spmax'を導出する。ただし、本実施形態においては、(8)式で導出される音域最低値spmin'が最低音高mpminより高い音高である場合、最低音高mpminを音域最低値spmin'とし、(9)式で導出される音域最高値spmax'が最高音高mpmaxよりも低い音高である場合、最高音高mpmaxを音域最高値spmax'とする。
【0105】
【数6】
【0106】
そして、音域最低値spmin'から音域最高値spmax'までの音域(ノートナンバーの範囲)を対象音域として特定する。
すなわち、この方法では、図10(A)に示す基準範囲を音高差分DNシフトすることで、図10(B)に示す対象音域が特定される。
【0107】
続いて、対象楽譜トラックを特定する(S480)。このS480にて対象楽譜トラックを特定する方法は、第一実施形態のMIDIアレンジ処理におけるS140と同様であるため、ここでの詳しい説明は省略する。
【0108】
さらに、S480にて特定した各対象楽譜トラックについてのシフト量kiを導出するシフト量導出処理を実行する(S490)。本実施形態におけるシフト量導出処理は、第一実施形態におけるシフト量導出処理とは、処理内容が、以下の点で異なるものの、略同様の内容であるため、異なる点のみ説明し、処理の詳細な内容については、説明を省略する。
【0109】
具体的には、図11に示すように、本実施形態におけるシフト量導出処理は、第一実施形態におけるシフト量導出処理の処理内容から、S210での音域代表値spcの導出、S240での対象代表値hpcの導出、S250での代表値差分dfcの導出が省略されている。さらに、第一実施形態のシフト量導出処理におけるS270では、代表値差分dfcが「0」以上であるか否かを判定していたが、本実施形態のシフト量導出処理におけるS270においては、音高差分DNが「0」以上であるか否かを判定する。すなわち、本実施形態のシフト量導出処理におけるS270では、第一実施形態のシフト量導出処理におけるS270の説明及び図5に記載された「代表値差分dfc」を、「音高差分DN」に読み替える。そして、本実施形態のシフト量導出処理では、音高差分DNが「0」未満であれば(S270:NO)、シフト量kiの符号を「+(正)」に設定し(S280)、音高差分DNが「0」以上であれば(S270:YES)、シフト量kiの符号を「−(負)」に設定する(S290)。
【0110】
ここで説明をMIDIアレンジ処理(図8)へと戻し、本実施形態のMIDIアレンジ処理のS500では、対象楽譜トラックそれぞれに対し、シフト量導出処理で導出されたシフト量kiに基づいて、対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する。このS500において、対象楽音の音高を変更する方法は、第一実施形態のMIDIアレンジ処理におけるS160と同様であるため、ここでの詳しい説明は省略する。
【0111】
ここで、図12(A)は、取得楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図であり、図12(B)は、修正楽曲データにおける対象音域と対象楽譜トラックの音域との関係を示す図である。
【0112】
図12(A)に示すように、識別インデックスiに対応する対象楽譜トラックについて、音高差分DNが「0」よりも大きい場合を想定する。このとき、識別インデックスiに対応する対象楽譜トラックについてのシフト量kiが「−2」となると、本実施形態のS500では、このシフト量kiに従って、識別インデックスiに対応する対象楽譜トラックに規定された全ての楽音(即ち、対象楽音)の音高を2.0オクターブ低くする。この結果、図12(B)に示すように、音高が変更された後の対象最高音高hpmax'から対象最低音高hpmin'までの音高の範囲は、対象音域に重なる音域が低減するように、変更前に比べて2オクターブ低くなる。
【0113】
換言すれば、本実施形態のS490及びS500では、各対象楽譜トラックに規定された個々の楽音の音高を、シフト量kiの符号(即ち、シフトする方向)に沿って、シフト量kiの値シフトすることで修正した取得楽曲データを、修正楽曲データとして生成する。
【0114】
続いて、取得楽曲データに規定された全ての楽音について演奏が完了したか否かを判定する(S510)。このS510での判定の結果、全ての楽音について、演奏が完了していなければ(S510:NO)、S440へと戻る。ただし、再生演奏処理では、現サイクルにて読み込んだ単位区間の次の単位区間について楽曲データを読み込み、特定楽曲を演奏する。このとき読み込まれる楽曲データは、S500にて生成された修正楽曲データであり、その修正楽曲データが有する規定条件を満たすハーモニー伴奏楽器音は、先のS500にて音高がシフトされたものである。
【0115】
一方、S510での判定の結果、全ての楽音について演奏が完了していれば(S510:YES)、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
[第二実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によれば、取得楽曲データに基づく楽曲の演奏中に、当該楽曲を修正することができる。
【0116】
このため、本実施形態のカラオケ装置10によれば、当該カラオケ装置10の利用者にとって歌いにくい楽曲を、その楽曲を歌唱している際に、歌唱しやすい楽曲へと変更できる。
【0117】
また、本実施形態のMIDIアレンジ処理によれば、音域最低値spmin'及び音域最高値spmax'を、音高差分(即ち、歌唱音高と楽音の音高とのズレ)に応じて規定することができる。
【0118】
この結果、カラオケ装置10の利用者自身が発生する声の音高範囲と、対象音域とが重複する可能性を向上させることができ、特定楽曲において、音高が利用者自身の声域に含まれる対象楽音を低減できる。
[第二実施形態と特許請求の範囲との対応関係]
上記第二実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0119】
上記第二実施形態のMIDIアレンジ処理におけるS410が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS420及びS470が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS480が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS490及びS500が、本発明のデータ修正手段に相当する。
【0120】
上記第二実施形態のMIDIアレンジ処理におけるS430が、本発明の楽曲演奏手段に相当し、MIDIアレンジ処理におけるS440が、本発明の音声データ取得手段に相当する。さらに、MIDIアレンジ処理におけるS450が、本発明の音高特定手段に相当し、MIDIアレンジ処理におけるS460が、本発明の音高差分導出手段に相当する。
[第三実施形態]
次に、本発明の第三実施形態について説明する。
【0121】
第三実施形態におけるカラオケ装置10は、第二実施形態におけるカラオケ装置10とは、主として、制御部20が実行するMIDIアレンジ処理の処理内容が異なる。このため、本実施形態では、第一実施形態及び第二実施形態のカラオケ装置10と同一の構成には、同様の符号を付して説明を省略し、第一実施形態及び第二実施形態のカラオケ装置10とは異なる点を中心に説明する。
【0122】
まず、本実施形態におけるメロディラインには、歌唱旋律として、主たる歌唱旋律(いわゆるガイドメロディ)と、主たる歌唱旋律とは異なる少なくとも1つの歌唱旋律(以下、コーラス旋律と称す)とを含む。このコーラス旋律には、例えば、楽曲にコーラスパートが含まれていれば、そのコーラスパートとして歌唱される、主たる歌唱旋律に対する補助的な歌唱旋律(いわゆるバックグラウンドボーカル)を少なくとも1つ含む。また、コーラス旋律には、例えば、楽曲がデュエット曲であれば、各々のパートについての歌唱旋律を含む。
【0123】
そして、本実施形態では、メロディ楽器に対応する楽譜トラックとして、ガイドメロディの演奏を担当するメロディ楽器に対応する楽譜トラックと、各コーラス旋律を担当するメロディ楽器に対応する楽譜トラックとが含まれている。
〈MIDIアレンジ処理について〉
次に、本実施形態におけるMIDIアレンジ処理について説明する。
【0124】
ここで、図13は、本実施形態におけるMIDIアレンジ処理の処理手順を示したフローチャートである。
本実施形態におけるMIDIアレンジ処理は、入力受付部12を介して起動指令が入力されると、実行が開始されるものである。
【0125】
このMIDIアレンジ処理は、起動されると、図13に示すように、まず、対象楽曲に対応する楽曲データを取得する(S610)。続いて、S610にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、ガイドメロディを形成する楽音の音高範囲(以下、ガイメロ音域とする)を、メロディ音域として特定する(S620)。さらに、S610にて取得した楽曲データ(即ち、取得楽曲データ)に基づいて、コーラス旋律を形成する楽音の音高範囲(以下、コーラス音域とする)を、メロディ音域として特定する(S630)。
【0126】
これらS620、S630にてメロディ音域を特定する方法は、第一実施形態のMIDIアレンジ処理におけるS120と同様であるため、ここでの詳しい説明は省略する。
そして、楽曲データに基づいて、対象楽曲が演奏されるように、再生演奏処理を制御部20に実行させる再生指令を出力する(S640)。この再生指令によって実行される再生演奏処理は、少なくとも楽曲データ(ここでは、取得楽曲データ、及び後述するS730で生成される修正楽曲データのうちの一方)を読み込み、その読み込んだ楽曲データに対応する特定楽曲の演奏を実行し、演奏音を音声出力部16から放音すると共に、歌詞データに基づく歌詞を表示部13に表示する周知の処理である。ただし、本実施形態における再生演奏処理では、楽曲データを、対象楽曲の時間軸に沿って予め規定された単位区間毎に読み込み、特定楽曲の演奏を単位区間毎に実行可能とされている。
【0127】
続いて、音声入力部14を介して順次入力される音の波形を表す第一音声データを、当該カラオケ装置10の利用者の一人がガイドメロディを歌唱することで生じた歌声波形データ(以下、第一歌声波形データと称す)として取得する(S650)。音声入力部15を介して順次入力される音の波形を表す第二音声データを、当該カラオケ装置10の利用者の一人がコーラス旋律を歌唱することで生じた歌声波形データ(以下、第二歌声波形データと称す)として取得する(S660)。
【0128】
さらに、カラオケ装置10の利用者の一人が、ガイドメロディを構成する個々の楽音に対して発した歌声の周波数(以下、第一歌声音高と称す)vf01を、S650で取得した第一歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って順次推定する(S670)。カラオケ装置10の利用者の一人が、コーラス旋律を構成する個々の楽音に対して発した歌声の周波数(以下、第二歌声音高と称す)vf02を、S660で取得した第二歌声波形データ及び取得楽曲データに基づいて、時間軸に沿って順次推定する(S680)。
【0129】
これらS670で第一歌声音高vf01を推定する手法及びS680で第二歌声音高vf02を推定する手法は、第二実施形態のMIDIアレンジ処理におけるS450と同様の手法であるため、ここでの詳しい説明は省略する。
【0130】
続いて、S670で推定した第一歌声音高vf01、及びS680で推定した第二歌声音高vf02に基づいて、音高差分DNを導出する(S690)。
具体的に本実施形態のS690では、S670で推定された第一歌声音高vf01と、当該第一歌声音高vf01に対応する楽音、即ち、ガイドメロディを形成し、当該単位区間に相当する楽音の音高n01との音高差(以下、第一中間差分と称す)DNmを導出する。これと共に、S680で推定された第二歌声音高vf02と、当該第二歌声音高vf02に対応する楽音、即ち、コーラス旋律を形成し、当該単位区間に相当する楽音の音高n02との音高差(以下、第二中間差分と称す)DNcを導出する。
【0131】
そして、本実施形態のS690では、第一中間差分DNmの絶対値と、第二中間差分DNcの絶対値とのうち、値が大きいものを、音高差分DNとして導出する。
ただし、本実施形態において、第一中間差分DNmを導出する方法及び第二中間差分DNcを導出する方法のそれぞれは、第二実施形態のMIDIアレンジ処理におけるS460で音高差分DNを導出する方法と同様であるため、ここでの詳しい説明は省略する。
【0132】
さらに、S690で導出した音高差分DNと、取得楽曲データとに基づいて、対象音域を特定する(S700)。
ここで、図14は、本実施形態において、対象音域を特定する手法を示した説明図である。
【0133】
具体的に本実施形態のS700では、まず、S620で推定したガイメロ音域において、最も低い音高である最低音高mp1minと、最も高い音高である最高音高mp1maxとを特定する。さらに、S630で推定したコーラス音域において、最も低い音高である最低音高mp2minと、最も高い音高である最高音高mp2maxとを特定する。
【0134】
そして、これら最低音高mp1minと最低音高mp2minとのうち、低い音高を最低音高mpminとし、最高音高mp1maxと最高音高mp2maxとのうち、高い音高を最高音高mpmaxとし、最低音高mpminから最高音高mpmaxまでの音高範囲を、基準範囲として特定する。その特定した基準範囲を、音高差分DNに基づいて補正した音高範囲を対象音域として特定する。
【0135】
本実施形態において、音高差分DNに基づく補正とは、音高差分DNに基づいて基準範囲を拡大することでも良いし、音高差分DNに基づいて基準範囲をシフトさせることでも良い。これらの手法は、第二実施形態における「音高差分DNに基づく補正」と同様であるため、ここでの説明は省略する。
【0136】
つまり、本実施形態において特定される対象音域は、ガイメロ音域とコーラス音域とを包括した音高範囲となる。
続いて、対象楽譜トラックを全て特定する(S710)。この対象楽譜トラックを特定する方法は、第二実施形態のMIDIアレンジ処理におけるS480、及び第一実施形態のMIDIアレンジ処理におけるS140と同様であるため、ここでの詳しい説明は省略する。
【0137】
さらに、S710にて特定した各対象楽譜トラックについてのシフト量kiを導出するシフト量導出処理を実行する(S720)。本実施形態におけるシフト量導出処理の処理内容は、第二実施形態におけるシフト量導出処理の処理内容と同様であるため、ここでの詳しい説明は省略する。
【0138】
そして、対象楽譜トラックそれぞれに対してシフト量導出処理で導出されたシフト量kiに基づいて、当該対象楽譜トラックに規定された全楽音(即ち、対象楽音)の音高を変更する(S730)。この対象楽音の音高を変更する方法は、第二実施形態のMIDIアレンジ処理におけるS500、及び第一実施形態のMIDIアレンジ処理におけるS160と同様であるため、ここでの詳しい説明は省略する。
【0139】
続いて、取得楽曲データに規定された全ての楽音について演奏が完了したか否かを判定する(S740)。
このS740での判定の結果、全ての楽音について、演奏が完了していなければ(S740:NO)、S650へと戻る。ただし、再生演奏処理では、現サイクルにて読み込んだ単位区間の次の単位区間について楽曲データを読み込み、特定楽曲を演奏する。このとき読み込まれる楽曲データは、S730にて生成された修正楽曲データであり、その修正楽曲データが有する規定条件を満たすハーモニー伴奏楽器音は、先のS730にて音高がシフトされたものである。
【0140】
一方、S740での判定の結果、全ての楽音について演奏が完了していれば(S740:YES)、本MIDIアレンジ処理を終了し、次の起動指令が入力されるまで待機する。
[第三実施形態の効果]
以上説明したように、本実施形態のMIDIアレンジ処理によれば、複数人が特定楽曲を歌唱した場合に、特定楽曲のメロディラインを構成する楽音の音高を、より正確に歌唱できない歌唱者が発した声の音高に応じて、音域最低値及び音域最高値を規定することができる。
【0141】
この結果、本実施形態のカラオケ装置10によれば、特定楽曲をより歌唱しやすい楽曲とすることができる。
[第三実施形態と特許請求の範囲との対応関係]
上記第三実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【0142】
上記第三実施形態のMIDIアレンジ処理におけるS610が、本発明の楽曲データ取得手段に相当し、MIDIアレンジ処理におけるS620,S630及びS700が、本発明の対象音域特定手段に相当する。さらに、MIDIアレンジ処理におけるS710が、本発明の対象楽音特定手段に相当し、MIDIアレンジ処理におけるS720及びS730が、本発明のデータ修正手段に相当する。
【0143】
上記第三実施形態のMIDIアレンジ処理におけるS640が、本発明の楽曲演奏手段に相当し、MIDIアレンジ処理におけるS650,S660が、本発明の音声データ取得手段に相当する。さらに、MIDIアレンジ処理におけるS670,S680が、本発明の音高特定手段に相当し、MIDIアレンジ処理におけるS690が、本発明の音高差分導出手段に相当する。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【0144】
上記第一実施形態のシフト量導出処理では、音域代表値spc及び対象代表値hpcとして、それぞれ、メロディ音域の中心,対象音域の中心を求めたが、音域代表値spc及び対象代表値hpcは、これに限るものではなく、例えば、それぞれの音域の下限値でも良いし、各音域の上限値でも良い。
【0145】
また、上記第一実施形態のカラオケ装置10及び第二実施形態のカラオケ装置10には、音声入力部14及び音声入力部15の両方が設けられていたが、上記第一実施形態のカラオケ装置10及び第二実施形態のカラオケ装置10に設けられる音声入力部は、これに限るものではなく、音声入力部14,15のうちのいずれか一方のみが設けられていても良い。さらに、上記実施形態(ここでは、第一〜第三実施形態の全て)のカラオケ装置10においては、音声入力部14または音声入力部15が、3つ以上設けられていても良い。
【0146】
上記第三実施形態のMIDIアレンジ処理においては、第一中間差分DNmと第二中間差分DNcとのうちの絶対値が大きなものを、音高差分DNとして導出していたが、第三実施形態におけるMIDIアレンジ処理において、音高差分DNを導出する方法は、これに限るものではなく、第一中間差分DNmと第二中間差分DNcとのそれぞれを、音高差分DNとして導出しても良い。
【0147】
さらに、上記第三実施形態のMIDIアレンジ処理においては、音高差分DNに基づいて、シフト量kiの符号(即ち、シフトさせる方向)を決定していたが、シフト量kiの符号を決定する方法は、これに限るものではなく、例えば、第一中間差分DNmに基づいて決定しても良いし、第二中間差分DNcに基づいて決定しても良い。
【0148】
そして、上記第三実施形態のMIDIアレンジ処理においては、ガイメロ音域及びコーラス音域の両音域を包含するように、1つの対象音域を特定していたが、対象音域は、ガイメロ音域及びコーラス音域のそれぞれに対して特定しても良い。つまり、第三実施形態のMIDIアレンジ処理では、対象音域を、2つ以上特定しても良い。
【0149】
なお、上記実施形態(ここでは、第一実施形態から第三実施形態の全て)のシフト量導出処理では、S320において、対象割合が特定割合β以上であるか否かを判定していたが、S320において判定する内容は、音高が対象音域内である仮想楽音の数が、予め規定された閾値以上であるか否かを判定しても良い。つまり、対象楽譜トラックについて、当該楽譜トラックに規定された楽音の音高を、対象音域に重なる音が低減するように、シフト量kiの値、及びシフト量kiの符号を決定可能であれば、シフト量導出処理のS320での判定する内容は、どのようなものでも良い。
【符号の説明】
【0150】
10…カラオケ装置 11…通信部 12…入力受付部 13…表示部 14,15…音声入力部 16…音声出力部 17…音源モジュール 18…記憶部 20…制御部 21…ROM 22…RAM 23…CPU
【特許請求の範囲】
【請求項1】
少なくとも1種類の楽器の音を出力可能なカラオケ装置にて演奏される楽曲を表し、該楽曲にて歌唱されるべき旋律を表す少なくとも一つのメロディラインの演奏を担当する各楽器の音であるメロディ楽器音、該メロディラインに対する少なくとも一つの副次的な旋律の演奏を担当する各楽器の音であるハーモニー伴奏楽器音、及び該楽曲のリズムを刻む楽器の音であるリズム楽器音について、それぞれ、個々の楽音の音高、及び演奏開始タイミングが規定された楽譜トラックを有した楽曲データを取得する楽曲データ取得手段と、
少なくとも前記楽曲データ取得手段で取得した楽曲データに基づいて、前記メロディ楽器音に対応する楽譜トラックに規定された楽音の最低音高から最高音高までの音高範囲であるメロディ音域を含むように規定された音域最低値から音域最高値までの音域である対象音域を特定する対象音域特定手段と、
前記ハーモニー伴奏楽器音に対応する各楽譜トラックに規定された楽音の中で、音高が、前記対象音域特定手段で特定された対象音域内である特定楽音を特定し、その特定した特定楽音を少なくとも含む楽音である対象楽音を特定する対象楽音特定手段と、
前記対象音域との重なりが低減するように、前記対象楽音特定手段で特定された対象楽音の音高をオクターブ単位で変更することで、前記楽曲データ取得手段で取得した楽曲データを修正した修正楽曲データを生成するデータ修正手段と
を備えることを特徴とする楽曲データ修正装置。
【請求項2】
前記対象楽音特定手段は、
前記ハーモニー伴奏楽器音に対応する個々の楽譜トラックに規定された全楽音のうち、前記特定楽音の占める割合が予め規定された規定割合以上である楽譜トラックそれぞれを表す対象楽譜トラックを特定し、その特定した対象楽譜トラックに規定された全ての楽音を、前記対象楽音とすることを特徴とする請求項1に記載の楽曲データ修正装置。
【請求項3】
前記データ修正手段は、
前記修正楽曲データにおける対象楽譜トラックに規定された全楽音のうち、前記特定楽音が占める割合が、予め規定された特定割合以下となるまで繰り返し、前記修正楽曲データを生成することを特徴とする請求項2に記載の楽曲データ修正装置。
【請求項4】
前記データ修正手段は、
前記対象楽譜トラックに規定された楽音の音域の代表値である対象代表値が、前記対象音域における音域の代表値である音域代表値よりも高ければ、前記対象楽音の音高が修正前よりも高くなるように変更し、前記対象代表値が前記音域代表値よりも低ければ、前記対象楽音の音高が修正前よりも低くなるように変更することを特徴とする請求項2または請求項3に記載の楽曲データ修正装置。
【請求項5】
前記楽曲データ取得手段で取得した楽曲データ、及び前記データ修正手段で修正された修正楽曲データのうちの少なくとも一方に基づいて、該楽曲データ及び該修正楽曲データのうちの少なくとも一方に対応する楽曲である特定楽曲を演奏する楽曲演奏手段と、
前記楽曲演奏手段での特定楽曲の演奏中に入力される音声の波形を表す音声波形データを取得する音声データ取得手段と、
少なくとも、前記音声データ取得手段で取得した音声波形データに基づいて、前記特定楽曲に規定された少なくとも1つの時間長である単位時間における前記音声の音高を表す歌唱音高を特定する音高特定手段と、
前記音高特定手段で特定された歌唱音高と、前記メロディ楽器音に対応する楽譜トラックに規定され、かつ該単位時間に対応する楽音の音高との差分である音高差分を導出する音高差分導出手段と
を備え、
前記対象音域特定手段は、
前記音高差分導出手段で導出した音高差分に基づいて、前記音域最低値及び前記音域最高値を規定することを特徴とする請求項1に記載の楽曲データ修正装置。
【請求項6】
前記メロディラインとして、各々が異なる少なくとも二以上の旋律のそれぞれである歌唱旋律を含み、
前記メロディ楽器音に対応する楽譜トラックは、前記歌唱旋律のそれぞれに対応して少なくとも二つ規定されており、
前記音声データ取得手段は、
各歌唱旋律に対して歌唱した音声の波形を表す音声データを、それぞれ、前記音声波形データとして取得し、
前記音高特定手段は、
前記音声データのそれぞれに基づいて、各音声の音高を表す音声音高を、前記歌唱音高として特定し、
前記音高差分導出手段は、
前記音声音高のそれぞれと、該音声音高に対応する歌唱旋律の楽譜トラックに規定され、かつ該音声音高における単位時間に対応する楽音それぞれの音高との差分それぞれを表す中間差分を導出し、その導出された中間差分の中で、絶対値が最大である中間差分を前記音高差分として導出することを特徴とする請求項5に記載の楽曲データ修正装置。
【請求項7】
前記音域最低値として前記最低音高よりも低い音高が、前記音域最高値として前記最高音高よりも高い音高が、予め規定されており、
前記対象音域特定手段は、
前記音域最低値が、前記音高差分の大きさに比例してより低い音高となるように、新たな音域最低値を規定し、
前記音域最高値が、前記音高差分の大きさに比例してより高い音高となるように、新たな音域最高値を規定する
ことを特徴とする請求項5または請求項6に記載の楽曲データ修正装置。
【請求項8】
前記音域最低値として前記最低音高よりも低い音高が、前記音域最高値として前記最高音高よりも高い音高が、予め規定されており、
前記対象音域特定手段は、
前記音域最低値から前記音高差分シフトした音高を、新たな音域最低値として規定し、
前記音域最高値から前記音高差分シフトした音高を、新たな音域最高値として規定する
ことを特徴とする請求項5または請求項6に記載の楽曲データ修正装置。
【請求項1】
少なくとも1種類の楽器の音を出力可能なカラオケ装置にて演奏される楽曲を表し、該楽曲にて歌唱されるべき旋律を表す少なくとも一つのメロディラインの演奏を担当する各楽器の音であるメロディ楽器音、該メロディラインに対する少なくとも一つの副次的な旋律の演奏を担当する各楽器の音であるハーモニー伴奏楽器音、及び該楽曲のリズムを刻む楽器の音であるリズム楽器音について、それぞれ、個々の楽音の音高、及び演奏開始タイミングが規定された楽譜トラックを有した楽曲データを取得する楽曲データ取得手段と、
少なくとも前記楽曲データ取得手段で取得した楽曲データに基づいて、前記メロディ楽器音に対応する楽譜トラックに規定された楽音の最低音高から最高音高までの音高範囲であるメロディ音域を含むように規定された音域最低値から音域最高値までの音域である対象音域を特定する対象音域特定手段と、
前記ハーモニー伴奏楽器音に対応する各楽譜トラックに規定された楽音の中で、音高が、前記対象音域特定手段で特定された対象音域内である特定楽音を特定し、その特定した特定楽音を少なくとも含む楽音である対象楽音を特定する対象楽音特定手段と、
前記対象音域との重なりが低減するように、前記対象楽音特定手段で特定された対象楽音の音高をオクターブ単位で変更することで、前記楽曲データ取得手段で取得した楽曲データを修正した修正楽曲データを生成するデータ修正手段と
を備えることを特徴とする楽曲データ修正装置。
【請求項2】
前記対象楽音特定手段は、
前記ハーモニー伴奏楽器音に対応する個々の楽譜トラックに規定された全楽音のうち、前記特定楽音の占める割合が予め規定された規定割合以上である楽譜トラックそれぞれを表す対象楽譜トラックを特定し、その特定した対象楽譜トラックに規定された全ての楽音を、前記対象楽音とすることを特徴とする請求項1に記載の楽曲データ修正装置。
【請求項3】
前記データ修正手段は、
前記修正楽曲データにおける対象楽譜トラックに規定された全楽音のうち、前記特定楽音が占める割合が、予め規定された特定割合以下となるまで繰り返し、前記修正楽曲データを生成することを特徴とする請求項2に記載の楽曲データ修正装置。
【請求項4】
前記データ修正手段は、
前記対象楽譜トラックに規定された楽音の音域の代表値である対象代表値が、前記対象音域における音域の代表値である音域代表値よりも高ければ、前記対象楽音の音高が修正前よりも高くなるように変更し、前記対象代表値が前記音域代表値よりも低ければ、前記対象楽音の音高が修正前よりも低くなるように変更することを特徴とする請求項2または請求項3に記載の楽曲データ修正装置。
【請求項5】
前記楽曲データ取得手段で取得した楽曲データ、及び前記データ修正手段で修正された修正楽曲データのうちの少なくとも一方に基づいて、該楽曲データ及び該修正楽曲データのうちの少なくとも一方に対応する楽曲である特定楽曲を演奏する楽曲演奏手段と、
前記楽曲演奏手段での特定楽曲の演奏中に入力される音声の波形を表す音声波形データを取得する音声データ取得手段と、
少なくとも、前記音声データ取得手段で取得した音声波形データに基づいて、前記特定楽曲に規定された少なくとも1つの時間長である単位時間における前記音声の音高を表す歌唱音高を特定する音高特定手段と、
前記音高特定手段で特定された歌唱音高と、前記メロディ楽器音に対応する楽譜トラックに規定され、かつ該単位時間に対応する楽音の音高との差分である音高差分を導出する音高差分導出手段と
を備え、
前記対象音域特定手段は、
前記音高差分導出手段で導出した音高差分に基づいて、前記音域最低値及び前記音域最高値を規定することを特徴とする請求項1に記載の楽曲データ修正装置。
【請求項6】
前記メロディラインとして、各々が異なる少なくとも二以上の旋律のそれぞれである歌唱旋律を含み、
前記メロディ楽器音に対応する楽譜トラックは、前記歌唱旋律のそれぞれに対応して少なくとも二つ規定されており、
前記音声データ取得手段は、
各歌唱旋律に対して歌唱した音声の波形を表す音声データを、それぞれ、前記音声波形データとして取得し、
前記音高特定手段は、
前記音声データのそれぞれに基づいて、各音声の音高を表す音声音高を、前記歌唱音高として特定し、
前記音高差分導出手段は、
前記音声音高のそれぞれと、該音声音高に対応する歌唱旋律の楽譜トラックに規定され、かつ該音声音高における単位時間に対応する楽音それぞれの音高との差分それぞれを表す中間差分を導出し、その導出された中間差分の中で、絶対値が最大である中間差分を前記音高差分として導出することを特徴とする請求項5に記載の楽曲データ修正装置。
【請求項7】
前記音域最低値として前記最低音高よりも低い音高が、前記音域最高値として前記最高音高よりも高い音高が、予め規定されており、
前記対象音域特定手段は、
前記音域最低値が、前記音高差分の大きさに比例してより低い音高となるように、新たな音域最低値を規定し、
前記音域最高値が、前記音高差分の大きさに比例してより高い音高となるように、新たな音域最高値を規定する
ことを特徴とする請求項5または請求項6に記載の楽曲データ修正装置。
【請求項8】
前記音域最低値として前記最低音高よりも低い音高が、前記音域最高値として前記最高音高よりも高い音高が、予め規定されており、
前記対象音域特定手段は、
前記音域最低値から前記音高差分シフトした音高を、新たな音域最低値として規定し、
前記音域最高値から前記音高差分シフトした音高を、新たな音域最高値として規定する
ことを特徴とする請求項5または請求項6に記載の楽曲データ修正装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−194436(P2012−194436A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−59221(P2011−59221)
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]