(57)【要約】【課題】  入力音声信号のピッチを検出することが困難な区間においても、ユーザに不自然なノイズ感を生じさせることの少ないハーモニー音声信号を生成する。【解決手段】  入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて入力音高（音名に対応した音高）を特定する一方で、ピッチを検出できない場合には直前に保持されたピッチに基づいて入力音高を特定する。直前に保持されたピッチに基づいて入力音高を特定することによって、ピッチシフトする元の音高を明確にすると共にピッチシフト量を算出することができるようになる。こうすると、特別なデータを用意せずとも、入力音声信号のピッチを検出できない区間について、相前後する母音区間におけるピッチとの不連続性が小さくまた音色の連続性を保持してなり、ユーザに不自然なノイズ感を生じさせることの少ないハーモニー音声信号を生成することができるようになる。【選択図】        図３
2011197564.tif 000002
【特許請求の範囲】
【請求項１】
入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成する電子音楽装置であって、
音声信号を入力する入力手段と、
前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する入力音高特定手段と、
前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定するハーモニー音高決定手段と、
前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出するシフト量算出手段と、
前記算出した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する楽音生成手段と
を具えてなり、
前記入力音高特定手段は、前記入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて前記入力音声信号の音高を特定する一方で、前記入力音声信号のピッチを検出できない場合には直前に保持された前記ピッチに基づいて前記入力音声信号の音高を特定することを特徴とする電子音楽装置。
【請求項２】
入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成する電子音楽装置であって、
音声信号を入力する入力手段と、
前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する入力音高特定手段と、
前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定するハーモニー音高決定手段と、
前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出するシフト量算出手段と、
前記算出した１乃至複数のピッチシフト量を保持するシフト量保持手段と、
前記保持した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する楽音生成手段と
を具えてなり、
前記楽音生成手段は、前記入力音声信号のピッチを検出できなかった区間におけるハーモニー音声信号を生成する際に、ピッチを検出できた直前の区間の前記保持した１乃至複数のピッチシフト量に基づいてピッチシフトすることを特徴とする電子音楽装置。
【請求項３】
入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成するコンピュータで実行可能なプログラムであって、前記プログラムは
コンピュータに、
音声信号を入力する手順と、
前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する手順であって、前記手順は、前記入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて前記入力音声信号の音高を特定する一方で、前記入力音声信号のピッチを検出できない場合には直前に保持された前記ピッチに基づいて前記入力音声信号の音高を特定するものと、
前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定する手順と、
前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出する手順と、
前記算出した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する手順と
を実行させるプログラム。
【請求項４】
入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成するコンピュータで実行可能なプログラムであって、前記プログラムは
コンピュータに、
音声信号を入力する手順と、
前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する手順と、
前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定する手順と、
前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出する手順と、
前記算出した１乃至複数のピッチシフト量を保持する手順と、
前記保持した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する手順であって、前記手順は、前記入力音声信号のピッチを検出できなかった区間におけるハーモニー音声信号を生成する際に、ピッチを検出できた直前の区間の前記保持した１乃至複数のピッチシフト量に基づいてピッチシフトするものと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された音声信号をピッチシフトすることにより１乃至複数のハーモニー音声信号を生成する電子音楽装置及びプログラムに関する。特に、入力音声信号のピッチを検出することが困難なピッチ非検出区間においても、ユーザに不自然なノイズ感を生じさせることの少ない１乃至複数のハーモニー音声信号を生成する技術に関する。
【背景技術】
【０００２】
従来から、マイクロフォン等を介してユーザにより入力された楽器演奏音又は音声等の入力音声信号に基づき、前記入力音声信号とは例えば３度や５度などの所定の音程分だけ上下に音高が離れた１乃至複数のハーモニー音声信号を自動的に生成し、これを前記入力音声信号と共に出力する電子音楽装置及びプログラムが知られている。従来知られた装置は、入力音声信号を周波数解析して得られる周波数情報（ピッチ）に基づき所定区間（又は所定期間）毎に基本周波数つまりは音楽の音名のいずれかに対応する音高を特定し、該特定した入力音声信号の音高に応じて決定される所定のピッチシフト量に従って入力音声信号（より具体的には、前記特定した音高に対応した窓関数により切り出され記憶される１周期分の波形要素データ）をピッチシフトすることにより、所定音高（ここでは、音楽の音名のいずれかに対応する音高）の１乃至複数のハーモニー音声信号を別途独立した付加音として生成するようになっている。
【０００３】
ところで、例えば入力音声信号が音程感のある非周期波形からなる子音区間から周期波形からなる母音区間へと遷移するときなどの、入力音声信号を倍音構造が明確な母音として検出することができない母音非検出区間（前記子音区間）では、入力音声信号のピッチを正しく（明確に）検出することができないことから音高（音名のいずれかに対応する音高）を特定することは困難である。こうした入力音声信号の音高を特定できなければ、上記したような入力音声信号をピッチシフトすることによるハーモニー音声信号の生成を行うことができないので、入力音声信号のピッチを正しく（明確に）検出することが困難な母音非検出区間（ピッチ非検出区間とも呼ぶ）については、ハーモニー音声信号として入力音声信号をピッチシフトすることなくそのまま出力するしかなかった。
【０００４】
しかし、前記母音非検出区間においてハーモニー音声信号として入力音声信号をそのままピッチシフトすることなく出力すると、非周期波形である子音であっても音程感を有する子音の場合には、相前後する母音区間との間でピッチの不連続がどうしても生じてしまいまた音色も不連続となることから（後述する図４（ｄ）参照）、結果として前記母音非検出区間におけるハーモニー音声信号は不自然なノイズとしてユーザに知覚されてしまうことになり都合が悪い。そこで、下記に示す特許文献１には、別途用意した歌唱者が歌うべき旋律のシーケンスデータを利用して前記母音非検出区間におけるハーモニー音声信号の音高を決定することによって、上記の不都合を解決するようにした装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第3173310号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、上記特許文献１に記載された従来の装置においては、入力音声信号のピッチを検出することが困難な母音非検出区間のハーモニー音声信号を生成するためにシーケンスデータのような特別なデータを必要とすることから、こうした特別なデータを予め用意しておく必要がある。しかし、マイクロフォン等を介して歌唱者（ユーザ）が入力しうる音声信号は多種多様であって、それら全てに関して前記特別なデータを予め用意しておくことは非現実的であるし、また例え全てに関して前記特別なデータを予め用意できるとしてもそれらを作成し記憶するには膨大な労力と記憶容量が必要とされコストがかかってしまい都合が悪い、という問題点がある。
【０００７】
本発明は上述の点に鑑みてなされたもので、シーケンスデータのような特別なデータを用意せずとも、入力音声信号のピッチ検出が困難なピッチ非検出区間（具体的には上記したような母音非検出区間である子音区間）についても、ユーザに不自然なノイズ感を生じさせることの少ないハーモニー音声信号を生成することのできるようにした電子音楽装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１に係る電子音楽装置は、入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成する電子音楽装置であって、音声信号を入力する入力手段と、前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する入力音高特定手段と、前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定するハーモニー音高決定手段と、前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出するシフト量算出手段と、前記算出した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する楽音生成手段とを具えてなり、前記入力音高特定手段は、前記入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて前記入力音声信号の音高を特定する一方で、前記入力音声信号のピッチを検出できない場合には直前に保持された前記ピッチに基づいて前記入力音声信号の音高を特定することを特徴とする。
【０００９】
この発明によると、入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて前記入力音声信号の音高（音名に対応した音高のいずれか）を特定する一方で、入力音声信号のピッチを検出できない場合には直前に保持された前記ピッチに基づいて前記入力音声信号の音高を特定する。すなわち、ハーモニー音声信号は入力音声信号をピッチシフトすることにより生成されることから、その際に用いられるピッチシフト量を算出するためには入力音声信号の音高（音名に対応した音高のいずれか）が必要となる。そうであるならば、入力音声信号のピッチを検出できないと前記音高が特定できずにピッチシフト量を算出することができないしまたピッチシフトする際に元の音高もわからないので、ハーモニー音声信号を生成することができない。そこで、入力音声信号のピッチを検出できない場合には直前に保持されたピッチに基づいて入力音声信号の音高を特定することによって、ピッチシフトする元の音高を明確にすると共にピッチシフト量を算出することのできるようにしている。このようにすると、特別なデータを別途用意せずとも、入力音声信号のピッチを検出できない区間について、入力音声信号をそのまま出力することなく、相前後する母音区間との間におけるピッチの不連続性をできる限り小さくまた音色の連続性を保持することができ、従ってユーザに不自然なノイズ感を生じさせることの少ないハーモニー音声信号を生成することができるようになる。
【００１０】
本発明の請求項２に係る電子音楽装置は、入力音声信号の音高変動に追従して音高が制御される１乃至複数のハーモニー音声信号を生成する電子音楽装置であって、音声信号を入力する入力手段と、前記入力された音声信号を分析してピッチを検出することに伴い、当該入力音声信号の所定区間毎に音名に対応した音高のいずれかを特定する入力音高特定手段と、前記特定した音高に従って１乃至複数のハーモニー音声の音高を決定するハーモニー音高決定手段と、前記特定した音高と前記決定した１乃至複数のハーモニー音声の音高とに基づき、１乃至複数のピッチシフト量を算出するシフト量算出手段と、前記算出した１乃至複数のピッチシフト量を保持するシフト量保持手段と、前記保持した１乃至複数のピッチシフト量に基づいて前記所定区間毎に前記入力音声信号のピッチシフトをそれぞれ行い、前記決定した１乃至複数の音高に制御された１乃至複数のハーモニー音声信号を生成する楽音生成手段とを具えてなり、前記楽音生成手段は、前記入力音声信号のピッチを検出できなかった区間におけるハーモニー音声信号を生成する際に、ピッチを検出できた直前の区間の前記保持した１乃至複数のピッチシフト量に基づいてピッチシフトすることを特徴とする。これによっても、入力音声信号のピッチを検出できない区間のハーモニー音声信号を生成するために特別なデータを別途用意せずとも、ユーザに不自然なノイズ感を生じさせることの少ない１乃至複数のハーモニー音声信号を生成することができる。さらに、この場合には、母音非検出区間（子音区間）のハーモニー音声信号を生成するためにわざわざピッチシフト量を算出する必要がなく、処理の負担を軽減できて有利である。
【００１１】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１２】
この発明によれば、検出されたピッチあるいは算出されたピッチシフト量を保持し、これに基づき入力音声信号のピッチを検出できなかった区間における１乃至複数のハーモニー音声信号を生成するようにした。これにより、従来のように特別なデータを用意せずとも、相前後する母音区間におけるピッチとの不連続性が小さくまた音色の連続性を保持してなり、ユーザに不自然なノイズ感を生じさせることの少ない１乃至複数のハーモニー音声信号を生成することができるようになる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】この発明に係る電子音楽装置の全体構成の一実施例を示したハード構成ブロック図である。
【図２】ハーモニーテーブルのデータ構成の一実施例を示す概念図である。
【図３】ハーモニー音生成処理の一実施例を示すフローチャートである。
【図４】ハーモニー音生成処理を説明するための具体例を示す概念図である。
【図５】ハーモニー音生成処理の別の実施例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１５】
図１は、この発明に係る電子音楽装置の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示す電子音楽装置は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この電子音楽装置全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、検出回路４，５、表示回路６、音源・効果回路７、Ａ／Ｄ変換回路８、記憶装置９、通信インタフェース（Ｉ／Ｆ）１０がそれぞれ接続されている。
【００１６】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラムや例えば図２に示したハーモニーテーブル（音高決定テーブル）などの各種データ等を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、テンポラリメモリなどとして利用される。
【００１７】
演奏操作子４Ａは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子４Ａ（鍵盤等）はユーザ自身の手弾きによるマニュアル演奏のために使用することができるのは勿論のこと、またこの実施例においてはユーザ自身が和音（コード）を手弾きすることによって、ハーモニー音声信号を生成する際に参照される「ハーモニーテーブル」（後述の図２参照）を特定するコード情報を入力することができるようになっている。検出回路４は、演奏操作子４Ａの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。
【００１８】
設定操作子（スイッチ等）５Ａは、例えば入力音声信号に基づくハーモニー音声信号の自動生成開始／停止を指示するハーモニー自動生成開始／停止ボタンや、信号制御に関する各種パラメータを設定する設定スイッチなどであってよい。勿論、設定操作子５Ａは上記した以外にも音高、音色、効果等を選択・設定・制御するための数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ６Ａに表示されたポインタなどを操作するマウス等の各種操作子を含んでいてもよい。検出回路５は、上記設定操作子５Ａの操作状態を検出し、その操作状態に応じたスイッチ情報等をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。
【００１９】
表示回路６は、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに、ユーザがマイクロフォン８Ａ等を介して音声信号を入力する際に参照することが可能な楽譜や歌詞など、上記設定操作子（スイッチ等）５Ａにより設定された各種パラメータの設定内容、あるいは予め記憶されている各種データの一覧やＣＰＵ１の制御状態などといった各種情報を表示する。
【００２０】
音源・効果回路７は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられる、例えばマイクロフォン８Ａを介して入力された入力音声信号、前記入力音声信号に基づき生成したハーモニー音声信号などを発生する。音源・効果回路７から発生されたこれらの信号は、アンプやスピーカなどを含むサウンドシステム７Ａから発音される。また、音源・効果回路７は入力音声信号やハーモニー音声信号などを発生する際に、例えばジェンダー（男性声、女性声といった声質のタイプおよび深さ）、ビブラート（深さと周期の変化率、ビブラート開始までの遅延時間）、トレモロ、音量、パン（定位）、デチューン、リバーブ（残響）などの各種効果を付与することができるようになっていてもよい。なお、音源・効果回路７とサウンドシステム７Ａの構成には、従来のいかなる構成を用いてもよい。例えば、音源・効果回路７はＦＭ、ＰＣＭ、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、専用のハードウェアで構成してもよいし、ＣＰＵ１あるいはＤＳＰ（Digital Signal Processor）によるソフトウェア処理で構成してもよい。
【００２１】
マイクロフォン８Ａは、例えばユーザが発した音声やユーザ自らが演奏した楽器の演奏音などの音声信号を入力するための信号入力機器である。Ａ／Ｄ変換回路８は、マイクロフォン８Ａから入力された入力音声信号をディジタル変換する。ディジタル変換された入力音声信号は、前記音源・効果回路７に入力される。なお、音声信号を入力するための信号入力機器はマイクロフォン８Ａに限らず、例えば予め記憶済みの音声信号を再生して供給する再生機器であってもよい。
【００２２】
記憶装置９は、予め用意されたハーモニーテーブル（図２参照）やＣＰＵ１が実行する各種制御プログラムなどの各種情報を記憶する。あるいは、入力された入力音声信号や生成されたハーモニー音声信号などを記憶できるようにしてもよい。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置９（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。また、記憶装置９はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００２３】
通信インタフェース（Ｉ／Ｆ）１０は、当該装置と図示しない外部機器との間で制御プログラムや各種データなどの各種情報を送受信するためのインタフェースである。この通信インタフェース１０は、例えばMIDIインタフェース，ＬＡＮ，インターネット，電話回線等であってよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００２４】
なお、上述した実施例において、演奏操作子４Ａは鍵盤楽器の形態に限らず、弦楽器や管楽器あるいは打楽器等どのようなタイプの形態でもよい。また、電子音楽装置は演奏操作子４Ａやディスプレイ６Ａあるいは音源・効果回路７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信インタフェース１０を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。
なお、本発明に係る電子音楽装置は、カラオケ装置、電子楽器、パーソナルコンピュータ、携帯電話等の携帯通信端末、あるいはゲーム装置など、どのような形態の装置・機器であってもよい。携帯通信端末の場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００２５】
図１に示した電子音楽装置は、マイクロフォン８Ａを介して入力された入力音声信号を周波数解析してピッチを検出し（最終的には音楽の音名のいずれかに対応する特定の音高に特定する）、該特定した音高と鍵盤等から入力されたコード情報とを元にして別途新たに１乃至複数の目標音高（同様に音楽の音名のいずれかに対応する特定の音高である）を決定し、該決定した目標音高のハーモニー音声信号を自動的に生成するハーモニー音生成機能（又はハーモニー付加機能）を有する。
【００２６】
ここで、前記目標音高は、入力音声信号を周波数解析して得られた音楽の音名のいずれかに対応する特定の音高と鍵盤等から入力されたコード情報とに基づき、予め用意された図２に示すハーモニーテーブル（音高決定テーブル）に従って１２音音階の階名（音名）のいずれかに決定されるようになっている。図２は、ハーモニーテーブルのデータ構成を示す概念図である。ただし、ここではコード情報として「Ｃメジャー」が指定された場合に参照されるテーブルであって、３系列のハーモニー音声信号をそれぞれ同時に生成する際に参照するものを例に示している。
【００２７】
ハーモニーテーブルはコード毎に１テーブルずつ複数のテーブルが予め記憶されており、前記コード情報に従って対応する１テーブルが特定されるようになっている。図２から理解できるように、ハーモニーテーブルは入力音声信号を周波数解析して得られた音楽の音名のいずれかに対応する特定の音高（入力音高）毎に、１乃至複数のハーモニー系列の目標音高を定義する。ただし、この図２では、入力音高について音名「Ｃ,Ｄ,Ｅ,Ｆ,Ｇ,Ａ,Ｂ」で表記してあり、♯（シャープ）又は♭（フラット）のついた入力音高については記載を省略している。また、３つのハーモニー系列それぞれの目標音高についても同様に音名で表記している。
【００２８】
前記目標音高の音名表記に関し、例えば目標音高「Ｇ」は入力音高と同じオクターブ領域の「Ｇ」音であることを示し、目標音高「Ｃ＋」は入力音高から１つ上のオクターブ領域の「Ｃ」音であることを示し、目標音高「Ｅ−」は入力音高から１つ下のオクターブ領域の「Ｅ」音であることを示す。したがって、図示の例では、例えば入力音高が「Ｅ３」である場合には第１系列のハーモニー音声信号の目標音高として「Ｃ４」、第２系列のハーモニー音声信号の目標音高として「Ｇ３」、第３系列のハーモニー音声信号の目標音高として「Ｇ２」にそれぞれ決定されることになる。なお、図２においては目標音高の括弧内に、入力音高と各目標音高との差分であるピッチシフト量（単位：セント）を便宜的に示している。また、この実施例ではオクターブ領域を「Ｃ」と「Ｂ」との間で区切るものを例に示している。
【００２９】
次に、上記したハーモニー音生成機能を実現する「ハーモニー音生成処理」について、図３及び図４を用いて説明する。図３は、「ハーモニー音生成処理」の一実施例を示すフローチャートである。当該処理は、例えばハーモニー自動生成開始／停止ボタンの操作に従いハーモニー音の自動生成の開始が指示されることに応じて開始され、ハーモニー音の自動生成の停止が指示されるまで繰り返し実行される。図４はハーモニー音生成処理を説明するための具体例を示す概念図であり、この図４を適宜に参照しながら上記処理について説明する。
【００３０】
ステップＳ１は、ディジタル化された入力音声信号を解析して所定区間毎（例えば数ms〜数十ms毎）にピッチを検出する。すなわち、マイクロフォン８Ａ等を介して入力される入力音声信号をＡ／Ｄ変換回路８によりディジタル化し、該ディジタル化された入力音声信号を「周波数検出」処理により周波数信号に変換する。この「周波数検出」処理は、例えば音声分析の分野で周知の技術であるゼロクロス法などの公知のどのような技術を用いてもよいことから、ここでの説明を省略する。
【００３１】
ステップＳ２は、入力音声信号のピッチを検出することができたか否かを判定する。入力音声信号のピッチ検出ができた場合には（ステップＳ２のＹＥＳ）、検出したピッチを保持する（ステップＳ３）。すなわち、検出したピッチを保持するためにＲＡＭ３などに予め用意されているピッチ保持用の記憶領域を随時に更新する。また、この際には前記検出したピッチに対応した窓関数により切り出される１周期分の波形要素データを記憶する記憶領域を、新たに切り出された前記波形要素データによって更新する処理が行われる。
【００３２】
一方、入力音声信号のピッチ検出ができない場合には（ステップＳ２のＮＯ）、直前に検出されて保持されたピッチをそのまま保持する（ステップＳ９）。すなわち、前記ピッチ保持用の記憶領域の更新を行わない。また、この際には前記波形要素データの更新も行われず、直前に記憶された１周期分の波形要素データがそのまま保持される。なお、このステップＳ９の処理は実質的にステップＳ３のピッチ保持の処理つまりは検出したピッチによる前記ピッチ保持用の記憶領域の更新を実行しなければ達成される処理であることから、省略してもよい。
【００３３】
ステップＳ４は、前記保持したピッチを音高（ノート）単位にクオンタイズすることにより入力音声信号の音高を特定する（検出する）。すなわち、前記周波数信号を「平坦化（クオンタイズ）」処理することによって、周波数信号の変化を平坦化（又は平滑化とも呼ばれる）する。該平坦化された周波数信号は「階名検出」処理により、所定時間毎に例えば１２音音階の階名（音名）のいずれかに離散化される。具体的には、平坦化された周波数信号が半音（１００セント）単位で定められた複数の音楽の音名「Ｃ,Ｄ,Ｅ,Ｆ,Ｇ,Ａ,Ｂ」及びこれらに♯（シャープ）あるいは♭（フラット）がついた音名のいずれかに対応する音高に丸められる。このようにして、入力された入力音声信号を音楽の音名に対応する音高のいずれかに特定する。
【００３４】
ここで、図４（ａ）は、音名「Ｅ」の音高を基準に上下に小さなピッチ揺れ（半音以下であり、数〜数十セント程度）を有する第１の母音区間から、図中において時刻ｔ１〜ｔ２で示すピッチを明確に検出することが困難であるが音程感のある子音区間（母音非検出区間）を介して、音名「Ｇ」の音高を基準に上下に小さなピッチ揺れ（同じく数〜数十セント程度）を有する第２の母音区間へと遷移する一連の入力音声信号である。例えば、歌詞が「いか」であるような場合には、第１の母音区間に該当するのは音節「い」の音素「ｉ」であり、子音区間に該当するのは音節「か」の音素「ｋ」であり、第２の母音区間に該当するのは音節「か」の音素「ａ」である。
【００３５】
このような入力音声信号の場合、図４（ｂ）に示すように、ピッチ検出可能な第１の母音区間については保持したピッチに従って音名「Ｅ」の音高に特定することができ、第２の母音区間については音名「Ｇ」の音高にそれぞれ特定することができる。しかし、時刻ｔ１〜ｔ２で示す子音区間においては短時間にピッチが大きくかつイレギュラーに変動しており明確にピッチを検出することができないために、音高（音名のいずれかに対応する音高）を特定することができない。そこで、本発明においては、直前に検出されて保持される第１の母音区間において最後に検出されたピッチ（図４（ａ）に示す保持ピッチ）に従って子音区間の音高を特定するようにしたことから（上記ステップＳ９参照）、この例では子音区間の音高として仮定的に音名「Ｅ」の音高に特定することができる（図４（ｂ）では仮定音高と記載）。
【００３６】
ステップＳ５は、例えばユーザが鍵盤等を操作して入力したコード情報を取得する。ステップＳ６は、前記取得したコード情報と前記求めた入力音声信号の音高とに基づいて、ＲＯＭ２又は記憶装置８に記憶されている該当するハーモニーテーブルを参照して１乃至複数のハーモニー音声信号の音高（目標音高）を決定する。例えば入力されたコード情報が「Ｃメジャー」であり図２に示したハーモニーテーブルに従えば、図４に示す第１の母音区間における目標音高は「Ｃ＋」，「Ｇ」,「Ｇ−」であり、第２の母音区間における目標音高は「Ｅ＋」，「Ｃ＋」,「Ｃ」となる。また、この実施例において子音区間における目標音高は上記したように子音区間の音高として仮定的に音名「Ｅ」の音高に特定されることから、前記第１の母音区間における目標音高「Ｃ＋」，「Ｇ」,「Ｇ−」と同じになる。
【００３７】
ステップＳ７は、前記ステップＳ６で決定した１乃至複数の目標音高と前記ステップＳ１で検出した入力音声信号のピッチとを比較して差分を求め、該求めた差分に従って１乃至複数のピッチシフト量を求める。ステップＳ８は、前記求めた１乃至複数のピッチシフト量に基づいて入力音声信号（詳しくは前記記憶済みの１周期の波形要素データ）をピッチシフトすることによって、前記目標音高の１乃至複数系列のハーモニー音声信号を生成する。
【００３８】
図４（ｃ）に、上記ステップＳ７の処理に従って求められるそれぞれの区間におけるピッチシフト量を実線で示す。ただし、子音区間においては比較のために、従来のハーモニー音声信号として入力音声信号をピッチシフトすることなくそのまま出力する場合、つまりは全てのハーモニー系列のピッチシフト量を一旦「０」とする場合を太線で示した。この図４（ｃ）から理解できるように、上記のようにして目標音高が「Ｃ＋」，「Ｇ」，「Ｇ−」に決定した第１の母音区間についてはピッチシフト量が「+800」，「+300」，「-900」となり、目標音高が「Ｅ＋」，「Ｃ＋」,「Ｃ」に決定した第２の母音区間はピッチシフト量が「+900」，「+500」，「-700」になる。そして、従来であれば、全てのハーモニー系列のピッチシフト量が一旦「０」とされる第１の母音区間から第２の母音区間に遷移する子音区間（ピッチ非検出区間）については、子音区間の直前の入力音声信号に対するピッチシフト量「+800」，「+300」，「-900」が実質的に維持されており、従来と比較して第１の母音区間及び第２の母音区間とのピッチシフト量の不連続さが緩和されていることが理解できる。
【００３９】
このように、本発明においてはピッチを明確に検出することが困難な子音区間であっても、目標音高を実現するためのピッチシフト量を全てのハーモニー系列について一旦「０」とすることなく、各ハーモニー系列毎にそれぞれ母音区間と同様にピッチシフト量を求める（設定する）ことができる。これに従って、それぞれの区間において入力音声信号（前記記憶した波形要素データ）に対してピッチシフトを行うことにより、図４（ｄ）に示すような３系列からなるハーモニー音声信号をそれぞれ生成することができる。
【００４０】
この図４（ｄ）から理解できるように、第１のハーモニー系列において、従来では「Ｃ＋」，「Ｅ」，「Ｅ＋」の順に信号が遷移していたが、本実施例では「Ｃ＋」，「Ｃ＋」，「Ｅ＋」の順に信号が遷移するようになっている。第２のハーモニー系列において、従来では「Ｇ」，「Ｅ」，「Ｃ＋」の順に信号が遷移していたが、本実施例では「Ｇ」，「Ｇ」，「Ｃ＋」の順に信号が遷移するようになっている。すなわち、第１及び第２のハーモニー系列においては従来に比べて本実施例の方が、第１の母音区間から子音区間に遷移する時刻ｔ１及び子音区間から第２の母音区間に遷移する時刻ｔ２の双方におけるハーモニー音声信号のピッチの不連続が小さくなっている。
【００４１】
一方、第３のハーモニー系列において、従来では「Ｇ−」，「Ｅ」，「Ｃ」の順に信号が遷移していたが、本実施例では「Ｇ−」，「Ｇ−」，「Ｃ」の順に信号が遷移するようになっている。すなわち、この第３のハーモニー系列では、従来に比べて本実施例の方が子音区間から第２の母音区間に遷移する時刻ｔ２でのピッチ不連続が大きくなってしまっていることが理解できる。しかし、従来では時刻ｔ１に生じていたピッチの不連続が解消されて時刻ｔ２のみでピッチ不連続が生ずること、従来では子音区間においては単なる入力音声であったものが明確に音程感を持ったハーモニー音の一部として捉えられることなどの点から、時刻ｔ２において本実施例ではピッチ不連続は増加したもののその影響に比べて上記利点の方が大きい。
【００４２】
以上のように、本発明においては、入力音声信号のピッチを検出できた場合には該検出したピッチを保持すると共に該ピッチに基づいて前記入力音声信号の音高（音名に対応した音高のいずれか）を特定する一方で、入力音声信号のピッチを検出できない場合には直前に保持された前記ピッチに基づいて前記入力音声信号の音高を特定するようにした。すなわち、ハーモニー音声信号は入力音声信号をピッチシフトすることにより生成されることから、その際に用いられるピッチシフト量を算出するためには入力音声信号の音高（音名に対応した音高のいずれか）が必要である。そこで、入力音声信号のピッチを検出できない場合には直前に保持されたピッチに基づいて入力音声信号の音高を特定することによって、ピッチシフトする元の音高を明確にすると共にピッチシフト量を算出するようにしている。このようにすると、入力音声信号のピッチを検出できない区間について、入力音声信号をそのまま出力することなく、相前後する母音区間との間におけるピッチの不連続性をできる限り小さくまた音色の連続性を保持することができる。つまり、特別なデータを別途用意せずとも、ユーザに不自然なノイズ感を生じさせることの少ない１乃至複数のハーモニー音声信号を生成することが簡単にできるようになる。
なお、上述した処理ではピッチ非検出区間においてコードが任意に変更されたとしても、該変更に対応した音高のハーモニー音声信号を生成することができ有利である。
【００４３】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、ハーモニー音生成機能を実現する「ハーモニー音生成処理」は上述した実施例のものに限らない。図５は、ハーモニー音生成処理の別の実施例を示すフローチャートである。
【００４４】
ステップＳ１１は、ディジタル化された入力音声信号を解析してピッチを検出する。ステップＳ１２は、ピッチ検出ができたか否かを判定する。ピッチ検出ができないと判定した場合には（ステップＳ１２のＮＯ）、ステップＳ１８の処理へジャンプする。他方、ピッチ検出ができたと判定した場合には（ステップＳ１２のＹＥＳ）、検出したピッチを音高（ノート）単位にクオンタイズすることにより入力音声信号の音高を求める（ステップＳ１３）。ステップＳ１４は、コード情報を取得する。ステップＳ１５は、前記取得したコード情報と前記求めた入力音声信号の音高とに基づいて、ＲＯＭ２又は記憶装置８に記憶されている該当するハーモニーテーブルを参照して１乃至複数のハーモニー音声信号の音高（目標音高）を求める。
【００４５】
ステップＳ１６は、前記ステップＳ１５で求めた１乃至複数の目標音高と前記ステップＳ１１で検出した入力音声信号のピッチとを比較して差分を求め、該求めた差分に従って１乃至複数のピッチシフト量を求める。ステップＳ１７は、前記求めた１乃至複数のピッチシフト量を保持する。ステップＳ１８は、前記保持した最新の１乃至複数のピッチシフト量に基づいて入力音声信号をピッチシフトすることによって、前記目標音高の１乃至複数のハーモニー系列のハーモニー音声信号を生成する。ただし、前記入力音声信号のピッチを検出できなかった区間においては、ピッチを検出できた直前の区間の入力音声信号をピッチシフトすることによって当該区間における１乃至複数のハーモニー系列のハーモニー音声信号を生成する。
【００４６】
このようにすると、上述した実施例（図３参照）と同様に、従来と比較して第１の母音区間及び第２の母音区間のピッチシフト量の不連続さが緩和されることとなり、子音区間においても１乃至複数系列のハーモニー音声信号を得ることができるようになる。この実施例においては、特に子音区間の直前の入力音声信号に対するピッチシフト量を維持するようにしたので、わざわざ保持したピッチと目標音高との差分を計算してピッチシフト量を求めなくてよいことから、その分の処理の負担を軽減できて有利である。
【００４７】
なお、ハーモニー音声信号を生成するために入力されるコード情報は、上述したように本装置上あるいは本装置に接続された鍵盤などの演奏操作子からユーザ操作に応じて入力された入力情報から検出されたものでもよいし、あるいは和音名を順次入力する形式で得られるものであってもよい。あるいは、自動演奏データ内に曲の進行に従って和音名データを含んだものを再生してコード情報を取得するようにしてもよい。
なお、上述した実施例では、ハーモニー音声信号の音高をコード情報（より詳しくはハーモニーテーブル）を元にして決定するものを示したがこれに限らず、コード情報を元にすることなくハーモニー音声信号の音高を決定する公知の他の方法であってもよい。例えば、入力音声信号の音高に対して予め決めてある所定の音程分離れた音高（例えば３度上など）にハーモニー音声信号の音高を決定する方法を採用するなどしてもよい。
【００４８】
なお、上述した実施例においては、入力音声信号に対して３系列のハーモニー音声信号を同時に生成するものを示したがこれに限らず、３系列以上あるいは３系列以下のハーモニー音声信号を同時に生成するものであってもよい。
なお、上記のようにして入力された音声信号のピッチ検出結果をそのまま用いてハーモニー音声信号の音高を決定するものに限らず、入力音声信号のピッチ検出結果を例えば１オクターブや３半音等の所定ピッチだけ上下するなど音高変換したものを用いてハーモニー音声信号の音高を決定するようにしてもよい。
なお、上述した実施例においてはハーモニー音声信号を生成するための元となる入力音声信号はマイクロフォン８Ａを介して入力された音声を例に説明したが、例えばマイクロフォン８Ａを介して入力される楽器演奏音などであってもよい。楽器演奏音の場合、付加音は伴奏音であってよい。
【符号の説明】
【００４９】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４，５…検出回路、４Ａ…演奏操作子、５Ａ…設定操作子、６…表示回路、６Ａ…ディスプレイ、７…音源・効果回路、７Ａ…サウンドシステム、８…Ａ／Ｄ変換回路、８Ａ…マイクロフォン、９…記憶装置、１０…通信インタフェース、１Ｄ…データ及びアドレスバス
【図１】
2011197564.tif 000003
【図２】
2011197564.tif 000004
【図３】
2011197564.tif 000005
【図４】
2011197564.tif 000006
【図５】
2011197564.tif 000007