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