(57)【要約】      （修正有）【課題】マイクロホンに入力された歌唱音の音程がはずれた場合でも、音程を自動的に修正してスピーカから出すことを提供する。【解決手段】標準SMF（標準MIDIファイル）フォーマットから変換後の周波数を得て、音声分析合成により歌唱音声の声の高さを変換する。誤推定の多い音声認識やピッチ推定を行なわないため、実時間であっても頑健な処理が可能である。また標準SMFフォーマットを使用するため、すでに普及しているMIDIカラオケからの拡張が容易である。【選択図】図１
2010160289.tif 000002
【特許請求の範囲】
【請求項１】
MIDI（登録商標）ファイルからボーカルパートの周波数を抽出するボーカルパート抽出部と、入力音声の周波数を前記周波数に変換して出力する音声分析合成部と、MIDIファイルに記述された伴奏音の出力と前記音声分析合成部の音声入出力を同期して実行するメインブロック部を有する、音程修正カラオケシステムの実現方法。
【請求項２】
音声分析合成部においてLPC分析合成手段を用いる、請求項１記載の音程修正カラオケシステムの実現方法。
【請求項３】
音声分析合成部で用いられるLPC分析合成手段において、駆動音源をオールパルフィルタによって生成する、請求項２の音程修正カラオケシステムの実現方法。
【請求項４】
駆動音源をオールパスフィルタによって生成する際に、位相項パラメータの値を調整することにより、合成音声の声質を変換する、請求項３の音程修正カラオケシステムの実現方法。
【請求項５】
音声分析合成部において、MIDIボーカルパートに記載された周波数に微細な摂動を与えて合成することにより、ヴィブラートや自然な立ち上がりを実現する、請求項１または２または３または４の音程修正カラオケシステムの実現方法。
【請求項６】
音声分析合成部において、MIDIボーカルパートに記載された周波数に微細な摂動を与えて合成することにより、ヴィブラートや自然な立ち上がりを実現する、請求項１または２または３または４または５の音程修正カラオケシステムの実現方法。
【請求項７】
音声分析合成部において、入力音声から得られた音の大きさに微細な摂動を与えて合成することにより、トレモロや自然な立ち上がりを実現する、請求項１または２または３または４または５または６の音程修正カラオケシステムの実現方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラオケシステムにおいて歌唱するとき、マイクロホンから入力された歌唱音声の音程がはずれていても、その音程を正しく修正してスピーカから出力する装置に関する。特にMIDIカラオケシステムに関する。本発明では、「正しい音程」をMIDIファイルから取得し、マイクロホンから入力された歌唱音声を、音声分析合成手法を用いて「正しい音程」に変更する。
【背景技術】
【０００２】
カラオケは日本のみならず世界中で愛される娯楽となっており、親睦の手段としてもよく利用されている。
【０００３】
一方、近年MIDI配信型のカラオケシステムが普及している。MIDIファイルには、いわば“楽譜情報”が記録されており、受信側のカラオケシステムが有する各種音源をこの“楽譜情報”に従って再生することにより、伴奏を演奏している。
【０００４】
MIDIファイルには、実際には演奏しない情報を記録しておくこともできる。例えばボーカルパートの旋律を利用したいが演奏はしたくない場合、ボーカルパートのボリュームをゼロにして記録しておけばよい。
【０００５】
例えば、このような記録の利用方法として、歌唱の採点システムが可能である。MIDIファイルに記録されているボーカルパートの旋律と歌唱音の音程との差を計算すれば、正しい音程で歌唱が行なわれているかどうかを評価することができる。
【０００６】
また、歌唱音声の音程を自動的に修正する装置が提案されている。特許文献１では、歌唱音声を音声認識して音素に分解し、予め記録されている音素の種類、基準音程、基準音素長を比較し、異なる場合は、分解された音素の音程や長さを修正したもの、もしくは予め記憶されている音素の音程や長さを修正したものを再生することにより、歌唱音声の修正を行なっている。
【０００７】
【特許文献１】特願平５−３４７２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
カラオケシステムは公私を問わず広く普及しているが、すべての人が上手に歌えるわけではなく、いわゆる音痴と呼ばれる人たちは付き合いでカラオケに行かなければならないことを苦痛に感じる場合がある。
【０００９】
そこで、マイクロホンに入力された歌唱音の音程がはずれた場合でも、音程を自動的に修正してスピーカから出すことができれば、誰でもカラオケを楽しむことができる。
【００１０】
このようなシステムを実現する上で非常に重要な要素として、処理の実時間性と頑健性が挙げられる。特にカラオケでの歌唱という、理想的な音声発話から遠い発話においても、頑健に動作する必要がある。このような制約条件に対して、特許文献１のシステムで必須項目となっている音声認識による音素分解やピッチ推定は実時間での精度に問題があり、これらを使用しないで実現することが望まれる。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は現時点では誤推定の多い音声認識やピッチ推定を行なわず、携帯電話の圧縮等で実績がある音声分析合成手法を用いて歌唱音声の音程を変更する。また、変換後の声の高さは、広く普及しているMIDI標準フォーマットで記述されたボーカルパートから取得する。
【発明の効果】
【００１２】
本発明では、歌唱音声の音声認識やピッチ推定を行なわないで声の高さの変換を行なうため、誤推定による誤動作を回避できる。さらに、標準SMF（登録商標）（標準MIDIファイル）フォーマットから変換後の周波数を得ることができるため、一般に普及しているMIDIカラオケシステムからの拡張として容易に実現できる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明を説明するための実施の形態について説明を行うが、以下の説明だけに限定されるものではなく、本発明の範囲内で適宜変更若しくは公知の技術を追加することができる。
【００１４】
（実施の形態）
図１は、Java（登録商標）言語により記述され、PC上に実装された場合のシステム構成である。システムは大きく３つの部分に分けられる。
【００１５】
メインブロック部１１では、Javaソフトミキサから音声入出力とMIDI再生用のラインを確保する。入力インタフェース２１を通じてユーザから歌唱する曲の指定を受けると、伴奏が記録されたMIDI情報をボーカルパート抽出部１２へ送る。
【００１６】
ボーカルパート抽出部１２では、メインブロック部１１から受け取ったMIDI情報からボーカルパートのみの情報を取り出し、ボーカルパートの周波数を伴奏開始時からの時間関数として求め、メインブロック部１１へ返す。
【００１７】
メインブロック部１１では、ボーカルパート抽出部１２から受け取ったボーカルパートの周波数を音声分析合成部１３へ渡す。取得した入出力ラインをオープンにして歌唱音声の入出力を開始すると同時に、MIDI情報に従って伴奏音の出力を開始する。伴奏音はミキサー２３へ送られ、スピーカ２４から出力される。
【００１８】
音声分析合成部１３では、マイクロホン２２から入力された歌唱音声をフレーム単位で分析する。分析した結果、LPC係数、有声／無声の判定、音声のパワーを得る。有声の判定の場合、駆動音源生成部では、先に得られている「その時刻の正しい音程」を生成する周期でパルス状駆動音源を生成する。無声判定の場合は駆動音源としてノイズ源を生成する。駆動音源の大きさは、分析してえられた音声のパワーとする。
【００１９】
LPC係数と駆動音源、入力時のパワーから音声を合成し、出力する。変換歌唱音声はミキサー２３へ送られ、スピーカ２４から出力される。
【００２０】
メインブロック部１１において伴奏音の出力が終了したら、伴奏音出力ライン、並びに音声分析合成部１３の音声入出力ラインをクローズし、すべてのプロセスを終了する。
【００２１】
次にボーカルパート抽出部１２を詳細に説明する。ボーカルパート抽出部１２では、SMFの構造に基づき、ボーカルパートの情報を抽出する。SMFとはStandard Midi Fileの略で、チャンクと呼ばれるデータの塊で構成される。SMFは大きく分けてヘッダーチャンクとトラックチャンクの２種類に分かれる。SMFは基本的に、１つのヘッダーチャンクと複数のトラックチャンクで構成される。
【００２２】
ヘッダーチャンクは、チャンクタイプ、データ長、SMFフォーマット、トラック数、時間単位の５つで構成され、ファイルの先頭１４バイトに記述される。時間単位は２バイトで、４分音符が何チック（時間の最小単位）かを設定する。
【００２３】
トラックチャンクは、チャンクタイプ、データ長、演奏データの３つで構成される。演奏データはトラックイベントと呼ばれ、MIDIイベント、SysExイベント、メタイベントがある。トラックイベントはすべて“デルタタイム＋トラックイベント”の形で格納される。MIDIイベントはMIDIの演奏情報にあたるイベントで、ノートオン（楽器の音を鳴らす）、ノートオフ（楽器の音を止める）などがある。メタイベントは調／拍子、テンポ、著作権情報など演奏に影響しない情報に相当する。
【００２４】
本システムは、歌唱音声を正しい音程に変換して出力するため、マイクロホンから取得された音声が本来どの高さの音であるべきかを逐次知る必要がある。正しい音程は、MIDIのボーカルパートから取得される。ボーカルパートを取得するには、まずMIDIファイルを読み込み、ヘッダーチャンク内の時間単位を取得する。次にトラックチャンク内のメタイベントとして記されているテンポを取得し、ノートオンからノートオフの間、音が鳴っていない間のノートナンバー(音の高さ)とデルタタイムを取得する。そして、デルタタイムをマイクロ秒に、ノートナンバーを周波数に変換する。デルタタイムは『どの音がどのくらいの時間鳴っている』という情報にすぎないため、演奏開始からの累積時間に変換する。このようにして、演奏開始からの経過時間の関数として、正しい音程を得ることができる。
【００２５】
本システムでは、あらかじめボーカルパートが記述されているトラック番号が定められているものとする。現在実装されているシステムでは、ボーカルパートはトラック１に記述されているものとしているが、他のトラックであっても構わない。
【００２６】
次に音声分析合成部１３を詳細に説明する。音声分析合成部１３では、LPC音声分析合成が行なわれる。この手法については、ディジタル・サウンド処理入門、青木直史著、CQ出版社第４章に詳細に説明されている。
【００２７】
マイクロホンで収音した歌唱音声は一定区間バッファリングされる。バッファリングされた区間をフレームと呼び、以後、歌唱音声はフレームごとに処理される。バッファリングはフレーム区間の半分の時間ごとに更新される。つまり、フレーム長の半分の時間ずつ、二つのフレーム間でデータの重複が存在することになる。
【００２８】
図２は、一般的なLPC分析法を説明したものである。フレームに分割された音声には、プリエンファシスと呼ばれる高域周波数の強調が施される。
【００２９】
次に、フレーム長の長さの窓関数が掛けられる。
【００３０】
次に、LPC分析が行なわれる。LPC分析は、おおまかにいえば、音声信号から声道の音響特性と声帯の音響特性を分離する処理である。声道の音響特性は、音声の音韻情報を、声帯の音響特性は声の高さや大きさ、声質を情報として有する。LPC分析の結果、声道の音響特性はLPC係数として、声帯の音響特性は残差信号として得られる。入力された音声が有声音の場合、残差信号はパルス状の周期信号となる。この周期が声の高さを決定している。
【００３１】
次に、残差信号から、有声／無声判定を行なう。この判定には、残差信号のゼロ交差数を求めて判断する方法や、残差信号の自己相関係数を求めて判断する方法などがある。
【００３２】
また、残差信号の平均パワーを求め、音声の大きさを計算する。
【００３３】
図３は、本発明における、音声合成手法を説明したものである。LPC分析合成法では、LPC分析によって得られたLPC係数で構成されるフィルタの駆動音源として残差信号を用いることにより元の音声を復元できる。これをLPC合成という。本発明では、LPC合成時に残差信号をそのまま用いるのではなく、残差信号の代わりとなる新たな駆動音源をもちいてLPC合成を行なう。
【００３４】
駆動音源の生成方法として、オールパスフィルタの位相制御法を用いる。オールパスフィルタの位相制御によって駆動音源を生成する方法については非特許文献１に、または特許文献２において紹介されている方式を用いる。
【非特許文献１】Hideki Kawahara, Ikuyo Masuda-Katsuse and Alain de Cheveigne: ``Restructuting speech representations using STRAIGHT-TEMPO: Possible role of a repetitive structure in sounds,'' IJCAI-CASA workshop on Auditory Scene Analysis, Nagoya, 1997.
【特許文献２】特開平10-097287
【００３５】
オールパスフィルタを用いた駆動音源生成手法では、位相特性を制御することで、周波数特性を一定にしたまま、エネルギーの時間的な分布を制御することにより、周期的な信号（有声音）や非周期的な信号（無声音）を生成できる。残差信号の有声／無声判定の結果、有声判定であった場合、メインブロック部１１から取得したボーカルパートの周波数から、ボーカルパートの正しい音程を与える周期でエネルギーの集中点と設定することにより、正しい音程の駆動音源を生成できる。
【００３６】
オールパスフィルタを用いた駆動音源生成手法では、周期的な信号であっても、非周期成分を含んだ信号を生成することができるため、単純なパルス列を駆動音源とするよりも自然音声に近い音質で合成音声を生成できるという特徴がある。
【００３７】
また、非周期成分の割合を調整することで、済んだ声質からハスキーな声質まで生成できるので、声質の調整も可能である。
【００３８】
上記のように各フレームで生成された駆動音源に対してディエンファシスを行ない、LPC分析によって得られたLPC係数から生成される合成フィルタを駆動することで、正しい音程の歌唱音声を生成する。
【００３９】
最後にフレーム間の連結処理を行い、音声分析合成部１３から出力する。
【００４０】
なお、駆動音源を生成する際に、ボーカルパート抽出部１２で抽出された周波数に摂動を加えることにより、自然な揺らぎやヴィヴラートを付与することができる。また、音声分析合成部１３において、LPC合成を行なう際に、駆動音源の大きさに摂動を加えることにより、自然な揺らぎやトレモロを付与することができる。
【産業上の利用可能性】
【００４１】
MIDIカラオケシステムにおいて利用が可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明のブロック構成を示す図である。
【図２】一般的なLPC音声分析処理を示す図である。
【図３】本発明のLPC音声合成処理を示す図である。
【図１】
2010160289.tif 000003
【図２】
2010160289.tif 000004
【図３】
2010160289.tif 000005