説明

ピッチ制御プログラム

【課題】音声信号や楽音信号等のオーディオ信号のピッチを適切に変更することができるピッチ制御装置およびピッチ制御プログラムを提供すること。
【解決手段】抽出されたピッチは、ブロック毎に時間経過に対応してピッチ波形6bとしてフラッシュメモリ6に記憶する(S1)。
次に、ピッチ波形6bのピッチが所定の変化幅以内である安定区間を抽出する(S2)。この安定区間抽出処理の詳細は、図5を参照して後述する。次に、抽出した各安定区間毎に、その安定区間のセンターピッチを抽出する(S3)。次に、以上のようにして抽出された安定区間について、ピッチを変更するピッチ変更処理を行う(S4)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声信号や楽音信号等のピッチを制御するピッチ制御プログラムに関する。
【背景技術】
【0002】
従来、ピッチ変換装置としては、種々のものが提案されている。例えば特許第3329635号公報(特許文献1)には、入力されたオーディオ信号をメモリに記憶するとともに、そのオーディオ信号のピッチ(周期)を検出し、その検出された周期に対応する区間をメモリから切り出して、新たに指定されたピッチに応じた周期でその切り出した区間を合成することによりピッチを変換して再生する効果装置が開示されている。
【特許文献1】特許第3329635号公報(図10等)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1に記載されている効果装置では、切り出されたオーディオ信号を、新たに指定された目標ピッチに応じた周期で合成するように構成されているため、変換された音声は一定のピッチで発生され、あたかもロボットが発声しているかのような音声になっていた。特に、カラオケなどで効果装置として用いられるコーラス付加装置の場合は、付加されるコーラスのピッチが一定となるため、不自然で違和感があるという問題点があった。
【0004】
特に歌唱された音声や楽器音の場合は、音符や歌詞に対応した区間を一つのまとまりとし、その区間毎にピッチを制御することが行われないため、不自然なピッチ変換が行なわれていた。
【0005】
本発明は、上記問題点を解決するためになされたもので、音声信号や楽音信号等のオーディオ信号のピッチを適切に変更することができるピッチ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、本発明の請求項1記載のピッチ制御プログラムは、オーディオ信号のピッチを時間経過に従って記憶するピッチ記憶手段と、そのピッチ記憶手段により記憶されたピッチを変更するピッチ変更手段と、そのピッチ変更手段により変更されたピッチに前記オーディオ信号のピッチを変換するピッチ変換手段とを備えたピッチ制御装置において実行されるものであって、前記ピッチ変更手段は、前記ピッチ記憶手段に記憶された区間のうち連続する区間のピッチ変化が所定の範囲内に収まっているか否かを判定することによりピッチの安定区間を抽出する安定区間抽出ステップと、その安定区間抽出ステップにより抽出された安定区間のピッチを変更するピッチ変更ステップとを備えている。
【0007】
請求項2記載のピッチ制御プログラムは、請求項1記載のピッチ制御プログラムにおいて、前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のピッチを一律に所定値だけ変更するものである。
【0008】
請求項3記載のピッチ制御プログラムは、請求項2記載のピッチ制御プログラムにおいて、前記安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、そのセンターピッチ抽出ステップにより抽出されたセンターピッチを、そのセンターピッチに対応する基準ピッチに対して変更する場合の、センターピッチの値と基準ピッチの値との差に対するセンターピッチの変更する値の割合であるセンターピッチ変更率を設定するセンターピッチ変更率設定ステップを備え、前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のセンターピッチを前記センターピッチ変更率設定ステップにより設定されたセンターピッチ変更率に応じて変更するものである。
【0009】
請求項4載のピッチ制御プログラムは、請求項3記載のピッチ制御プログラムにおいて、前記センターピッチ変更率設定ステップは、前記安定区間抽出ステップにより抽出された安定区間の長さに応じてセンターピッチ変更率を設定するものである。
【0010】
請求項5記載のピッチ制御プログラムは、請求項1から4のいずれかに記載のピッチ制御プログラムにおいて、前記安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、前記ピッチ変更ステップは、前記センターピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する変化幅変更ステップを備えている。
【0011】
請求項6記載のピッチ制御プログラムは、請求項5記載のピッチ制御プログラムにおいて、前記センターピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する場合の元の変化幅に対する変更後の変化幅の割合であるピッチ変化幅変更率を設定するピッチ変化幅変更率設定ステップを備え、前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のセンターピッチを中心とする変化幅を前記ピッチ変化幅変更率設定ステップにより設定されたピッチ変化幅変更率に応じて変更するものである。
【0012】
請求項7記載のピッチ制御プログラムは、請求項6記載のピッチ制御プログラムにおいて、前記ピッチ変化幅変更率設定ステップは、前記安定区間抽出ステップにより抽出された安定区間の長さに応じてピッチ変化幅変更率を設定するものである。
【0013】
請求項8記載のピッチ制御プログラムは、請求項1から3および5また6のいずれかに記載のピッチ制御プログラムにおいて、前記安定区間抽出ステップにより抽出された安定区間の長さが所定の長さより長いか否かを判定する判定ステップを備え、前記ピッチ変更ステップは、前記判定ステップにより安定区間の長さが所定の長さより長い安定区間についてのみピッチを変更するものである。
【0014】
請求項9記載のピッチ制御プログラムは、請求項1から8のいずれかに記載のピッチ制御プログラムにおいて、前記ピッチ制御装置は、表示手段を備え、前記ピッチ記憶手段に記憶されたピッチを時間経過に従って表示するピッチ波形表示ステップと、前記安定区間抽出ステップにより抽出された安定区間を前記表示手段に表示する安定区間表示ステップとを備えている。
【発明の効果】
【0015】
請求項1記載のピッチ制御プログラムによれば、ピッチ記憶手段に記憶された区間のうち連続する区間のピッチ変化が所定の範囲内に収まっているか否かを判定することによりピッチの安定区間を抽出する安定区間抽出ステップと、その安定区間抽出ステップにより抽出された安定区間のピッチを変更するピッチ変更ステップとを備えているので、歌唱や楽器などの演奏において、音高が大きく変化していない区間、すなわち、一つの歌詞や音符に対応してほぼ一定の音高で演奏されていると考えられる個々の区間をそれぞれ一つの制御対象として扱うことができ、適切な音声のピッチを変換することができるという効果がある。
【0016】
請求項2記載のピッチ制御プログラムによれば、請求項1記載のピッチ制御プログラムの奏する効果に加え、ピッチ変更ステップは、安定区間抽出ステップにより抽出された安定区間のピッチを一律に所定値だけ変更するものであるので、歌唱や楽器などの演奏において、歌詞や音符に対応する区間を抽出して、その区間に応じた適切なピッチに変更することができるという効果がある。また、安定区間内のピッチのゆらぎやビブラートを保存したままピッチを変更することができるという効果もある。
【0017】
請求項3記載のピッチ制御プログラムによれば、請求項2記載のピッチ制御プログラムの奏する効果に加え、安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、そのセンターピッチ抽出ステップにより抽出されたセンターピッチを、そのセンターピッチに対応する基準ピッチに対して変更する場合の、センターピッチの値と基準ピッチの値との差に対するセンターピッチの変更する値の割合であるピッチ変更率を設定するセンターピッチ変更率設定ステップを備え、ピッチ変更ステップ段は、安定区間抽出ステップまたは安定区間抽出ステップにより抽出された安定区間のセンターピッチをセンターピッチ変更率設定ステップにより設定されたピッチ変更率に応じて変更するものであるので、基準ピッチに合致させたり基準ピッチとの差異の所定の割合に変更することなどの設定を行うことができるという効果がある。
【0018】
請求項4記載のピッチ制御プログラムによれば、請求項3記載のピッチ制御プログラムの奏する効果に加え、センターピッチ変更率設定ステップは、安定区間抽出ステップにより抽出された安定区間の長さに応じてセンターピッチ変更率を設定するものであるので、安定区間が短い区間は、ピッチ変更率を小さくし、安定区間が長い区間は、ピッチ変更率を大きくするなどの変更を行うことができるという効果がある。安定区間が長い区間は、音高が正しくなければ目立つので、所望のピッチに近づけるべくピッチ変更率を大きくし、安定区間が短い区間は、音高が正しくなくてもそれほど目立たないので、ピッチ変更率を小さくする方が、より自然である場合が多い。
【0019】
請求項5記載のピッチ制御プログラムによれば、請求項1から4のいずれかに記載のピッチ制御プログラムの奏する効果に加え、安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、ピッチ変更ステップは、センターピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する変化幅変更ステップを備えているので、ビブラートなどのようにピッチが変化するオーディオ信号の変化幅を変更することができるという効果がある。また、センターピッチを中心とする変化幅を変更できるので、ピッチの揺らぎやビブラートの深さをセンターピッチの変更とは独立して設定変更することができる。
【0020】
請求項6記載のピッチ制御プログラムによれば、請求項5記載のピッチ制御プログラムの奏する効果に加え、センタピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する場合のピッチ変化幅変更率を設定するピッチ変化幅変更率設定ステップを備え、ピッチ変更ステップは、安定区間抽出ステップにより抽出された安定区間のセンターピッチを中心とする変化幅をピッチ変化幅変更率設定ステップにより設定されたピッチ変化幅変更率に応じて変更するものであるので、元の変化幅の大きさに応じた変化幅の変更を行うことができるという効果がある。
【0021】
請求項7記載のピッチ制御プログラムによれば、請求項6記載のピッチ制御プログラムの奏する効果に加え、ピッチ変化幅変更率設定ステップは、安定区間抽出ステップにより抽出された安定区間の長さに応じてピッチ変化幅変更率を設定するものであるので、安定区間が短い区間は、ピッチ変化幅変更率を小さくし、安定区間が長い区間は、ピッチ変更率を大きくするなどの変更を行うことができるという効果がある。安定区間が長い区間は、ピッチ変化幅が適切でなければ目立つので、所望のピッチ変化幅に近づけるべくピッチ変化幅変更率を大きくし、安定区間が短い区間は、ピッチ変化幅が適切でなくても目立たず、ピッチ変化幅を変更しない方が、より自然である場合が多い。
【0022】
請求項8記載のピッチ制御プログラムによれば、請求項1から3および5また6のいずれかに記載のピッチ制御プログラムの奏する効果に加え、安定区間抽出ステップにより抽出された安定区間長さが所定の長さより長いか否かを判定する判定ステップを備え、ピッチ変更ステップは、判定ステップにより安定区間の長さが所定の長さより長い安定区間についてのみピッチを変更するものであるので、安定区間の長さが所定の長さより長い安定区間についてのみピッチの変更が行われ、安定区間の長さが所定の長さより短い安定区間については、ピッチの変更が行われない。安定区間が長い区間は、音高が正しくなければ目立つのでピッチの変更を行うが、安定区間が短い区間は、音高が正しくなくてもそれほど目立たず、ピッチを変更しない方が、より自然である場合が多い。よって、より適切なピッチの変更を行うことができるという効果がある。
【0023】
請求項9記載のピッチ制御プログラムによれば、請求項1から8のいずれかに記載のピッチ制御プログラムの奏する効果に加え、ピッチ制御装置は、表示手段を備え、ピッチ記憶手段に記憶されたピッチを時間経過に従って表示するピッチ波形表示ステップと、安定区間抽出ステップにより抽出された安定区間を前記表示手段に表示する安定区間表示ステップとを備えているので、ピッチ波形に対応して安定区間が表示されることによりピッチを変更する区間が明示され、ピッチの変更の指示を行う場合の操作性が向上するという効果がある。
【発明を実施するための最良の形態】
【0024】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の一実施形態であるピッチ制御装置1の電気的構成を示したブロック図である。
【0025】
ピッチ制御装置1は、CPU2と、ROM3と、RAM4と、表示器5と、フラッシュメモリ6と、キーボード7と、マウス8と、音源9とにより構成されている。
【0026】
CPU2は演算装置であり、ROM3は、CPU2により実行される各種の制御プログラムやその制御プログラムを実行する際に参照される固定値データが記憶されている。制御プログラムの一つとしてピッチ制御プログラム3aが記憶されている。
【0027】
RAM4は、CPU2が、ROM3に記憶されている制御プログラムの実行に当たって各種のデータ等を一時的に記憶するワーキングエリアなどを有する書き換え可能なメモリである。
【0028】
表示器5は、LCD等により構成される表示器であって、時間の経過に従って変化するピッチの値を示すピッチ波形などが表示されるとともに、ピッチ制御装置1に指令を与えるためのアイコンやカーソルなどが表示される。
【0029】
フラッシュメモリ6は、ピッチ制御装置1に備えられたスロットに着脱自在に装着される書き換え可能で不揮発なメモリであり、楽音波形6aや、楽音のピッチなどの特性の時間経過に応じた変化を示す制御波形6bを記憶するものである。
【0030】
キーボード7は、アルファベットや数字や記号などに対応する複数のキーを有し、文字や記号を入力することができるものである。
【0031】
マウス8は、机の上などの平面上で移動すると、横方向と縦方向の移動量が検出されるとともに、1または2のスイッチを有する操作子で、近年パーソナルコンピュータなどでよく使用されるものである。
【0032】
音源9は、フラッシュメモリ6に記憶されて供給されるオーディオ波形6aを読み出すことにより楽音を発生するとともに、フラッシュメモリ6に記憶されるピッチ波形6bに基づいて、発生される楽音の音高を制御するピッチ変換手段を備えているものである。
【0033】
このオーディオ波形6aは、歌唱や楽器演奏などをマイクロフォンで入力し、所定のサンプリング周波数(例えば、48kHz)でサンプリングし、量子化されてデジタル信号化されて記憶されるものである。ピッチ波形6bは、このオーディオ波形6aのピッチを所定の時間間隔で検出し、時間経過に従って記憶するものである。このピッチ波形6bは、ピッチ制御プログラム3aを実行することにより、オーディオ波形6aのピッチが所定の時間間隔で検出され、時間経過に従って記憶され、次にそのピッチが変更される。
【0034】
再生の指示が行われた場合は、音源9により、変更されたピッチ波形6bが参照されて、オーディオ波形6aのピッチが変換されて出力される。
【0035】
次に、図2を参照して、表示器5に表示される表示画面について説明する。図2は、ピッチ制御装置1の表示器5に表示される画面図である。表示器5の表示画面は、中央に、ピッチ波形を表示するピッチ波形表示画面5aと、その波形表示画面5aの右側には、画像を上下にスクロールする上下スクロールバー5bと、画像を左右にスクロールする左右スクロールバー5cと、ピッチ波形6bを変更するパラメータをユーザが任意に設定するボックス5d〜5fが表示されている。
【0036】
ピッチ波形表示画面5aには、ピッチの値を音名C,C#などで示す横線が表示され、横軸を時間、縦軸をピッチの値としてピッチ波形が表示される。C,C#などの横線は、半音階の音名に対応するピッチを示すものである。
【0037】
上下スクロールバー5b、左右スクロールバー5cには、その両端に矢印が表示され、この矢印をマウス8でクリックする、あるいは、スクロールバーの中に表示されている長方形のアイコンをマウス8でドラッグすることにより画像をスクロールさせることができる。
【0038】
ボックス5d〜5fは、パラメータの値を表示する部分と、パラメータの値を増加または減少させることを指示するアイコンが表示され、これらのアイコンにマウス8を操作してカーソルを合わせ、クリックまたは長押しすることによりパラメータの値を変更することができる。これらのアイコンを使用せずに、パラメータの値にカーソルを合わせ、キーボード7を用いて直接、値を入力してもよい。
【0039】
歌唱や楽器演奏などのオーディオ信号のピッチを変更する場合には、正しくないピッチを正しいピッチに変更する場合や、わざと正しいピッチからずれたピッチに変更する場合や、ビブラートのように中心となるピッチからの変化幅を大きくしたり、逆に小さくしたりする場合がある。このピッチ制御装置1では、これらのピッチ変更処理を行う場合、ピッチが所定の変化幅以内である区間を安定区間とし、この安定区間を変更対象としてピッチの変更を行うものである。安定区間のピッチの中心となるピッチをセンターピッチと称す。このセンターピッチは、安定区間のピッチの平均値としてもよいし、安定区間のピッチの最大値と最小値との平均値などとしてもよい。図2において、抽出された安定区間とそのセンターピッチを両側に矢先を有する実線(CP1,CP2)により示す。
【0040】
ボックス5dは、安定区間のピッチを一律に所定値だけ変更する場合の、基準とする基準ピッチと現在のセンターピッチとの差に対して、どの割合でピッチを変更するかを設定するセンターピッチ変更率k1を設定するものである。なお、この実施形態では、基準ピッチは、センターピッチに最も近い半音階を基準ピッチとするものとする。具体的には、ROM3に半音階の各音階に対応するピッチが低い方から順に記憶され、検出されたセンターピッチとの音高差(絶対値)が最も小さい半音階を基準ピッチとする。
【0041】
このセンターピッチ変更率を100%に設定した場合は、センターピッチが基準ピッチと合致するようにピッチが変更され、0%の場合には、ピッチが全く変更されない(図3(a)参照)。
【0042】
基準ピッチをTP、センターピッチをCPとすると、ピッチの変更量は、
(TP−CP)×k1
として表される。
【0043】
ボックス5eは、安定区間のセンターピッチを中心とするピッチの変化幅を変更する場合の、元のピッチの変化幅に対する変更後の変化幅の割合であるピッチ変化幅変更率k2を設定するものである。このピッチ変化幅変更率k2を0%に設定した場合は、変化幅は変更されず、50%に設定した場合は、変化幅は、半分に変更され、−100%に設定した場合は、変化幅が2倍に変更される(図3(b)参照)。
【0044】
したがって、ピッチ変化幅変更率k2によるピッチの変更量は、安定区間内の時刻tにおけるピッチをf(t)とすると、
(CP−f(t))×k2
として表される。
【0045】
ボックス5fは、安定区間の長さに応じて、センターピッチ変更率k1およびピッチ変化幅変更率k2が変化するセンスの値Sを設定するものである。安定区間の長さが長い区間については、音高が正しくなければ目立つので、所望のピッチに近づけるべくピッチ変更率k1を大きくし、安定区間が短い区間は、音高が正しくなくてもそれほど目立たないので、ピッチ変更率k1を小さくする方が、より自然である場合が多い。また、安定区間の長さが長い区間では、ピッチ変化幅が適切でなければ目立つので、所望のピッチ変化幅に近づけるべくピッチ変化幅変更率k2を大きくし、安定区間が短い区間は、ピッチ変化幅が適切でなくても目立たないので、ピッチ変化幅変更率k2を小さくする方が、より自然である場合が多い。
【0046】
従って、安定区間の長さに応じて、センターピッチ変更率k1およびピッチ変化幅変更率k2の値を変える。具体的には、安定区間の長さが第1の長さ(Limit1)より短い場合は、係数k3の値を0とし、安定区間の長さが第2の長さ(Limit2)より長い場合は、係数k3の値を1とし、安定区間の長さが第1の長さ(Limit1)より長く、第2の長さ(Limit2)より短い場合は、安定区間の長さをSLとすると、
k3=(SL−Limit1)/(Limit2−Limit1)
とする。なお、Limit1、Limit2、SLの単位は、時間(例えば、msec)でもよいし、サンプル数でもよい。なお、簡易的に、k3=SL/Limit2としてもよい。
【0047】
センスの値Sは、Limit1およびLimit2の値の組み合わせを指定するもので、例えば、0から100までの101通りのLimit1の値ととLimit2の値との組み合わせのテーブルをROM3に記憶しているものとする。このようにして、センターピッチ変更率k1、ピッチ変化幅変更率k2およびセンスの値Sが設定されると、安定区間内の時刻tにおけるピッチをf(t)とし、変更されたピッチをF(t)すると、
F(t)=f(t)+(TP−CP)×k1×k3+(CP−f(t))×k2×k3
(演算式1)
として演算により求めることができる。
【0048】
なお、安定区間のみのピッチを変更すると、変更を行わない非安定区間との間に不連続なピッチの移行部が生じるので、滑らかにつながるような処理を行うことが望ましい。具体的には、安定区間より少し長い区間について、上記演算式1により、演算を行い、非安定区間と重なる区間については、クロスフェードを行ってもよいし、安定区間についてだけ、演算を行い、変更されたピッチ波形をローパスフィルタに通してもよい。
【0049】
図3は、元のピッチ波形と変更後のピッチ波形とを示す波形図であり、図3(a)は、
安定区間内の変化幅を変えずに一律に変更する場合を示す図である。図3(a)において、破線で示す基準ピッチは、例えば半音階のうち最も近い音階のピッチであり、この基準ピッチに、実線で示す元のピッチ波形のセンターピッチが合致するように変更すれば、正しいピッチとなるものである。ボックス5dにより設定されるセンターピッチ変更率k1を100%に設定すると、元のピッチ波形のセンターピッチが基準ピッチに合致するように変更される。図3(a)では、変更後のピッチ波形を二点鎖線で示し、センターピッチ変更率k1を略60%とした場合を示している。なお、センターピッチ変更率k1を100%より大きく設定すると、センターピッチを基準ピッチを越えた過剰な値に変更することができる。
【0050】
図3(b)は、安定区間のセンターピッチを変えずに変化幅を変更する場合を示す図である。元のピッチ波形を実線で示し、センターピッチとそのセンターピッチを中心とするピッチの変化幅が示されている。ボックス5eにより設定されるピッチ変化幅変更率k2により、変化幅が変更され、ピッチ変化幅変更率k2を50%とした場合の変更されたピッチ波形を一点鎖線で示し、ピッチ変化幅変更率k2を−100%とした場合の変更されたピッチ波形を二点鎖線で示す。なお、ピッチ変化幅変更率k2を100%より大きく設定するとビブラートの極性を反転したピッチ波形に変更することができる。
【0051】
次に、図4〜6を参照してCPU2が実行する処理について説明する。図4は、ピッチを変更する処理の概略を示すフローチャートである。まず、フラッシュメモリ6に、オーディオ波形6aが記憶され、ピッチ波形6bが形成されていない場合は、オーディオ波形6aが記憶されているメモリの先頭アドレスから順次波形の振幅値を読み込み、ピッチを抽出する。オーディオ波形6aには、子音などのピッチを有さない区間や、無音の区間が存在し、これらの区間ではピッチを抽出することはできないので、ピッチを検出できる区間(ブロック)についてのみ、ピッチを抽出する。したがって、複数のブロック毎に、ピッチが抽出される。このようにして抽出されたピッチは、ブロック毎に時間経過に対応してピッチ波形6bとしてフラッシュメモリ6に記憶する(S1)。
【0052】
次に、ピッチ波形6bを表示器5の波形表示画面5aに表示する(S2)。次にピッチ波形6bのピッチが所定の変化幅以内である安定区間を抽出する(S3)。この安定区間抽出処理の詳細は、図5を参照して後述する。次に、抽出した各安定区間毎に、その安定区間のセンターピッチを抽出する(S4)。次に、以上のようにして抽出された安定区間
とセンターピッチとを両側に矢先を有する実線で波形表示画面5aに表示する(S5)。 次に、各安定区間について、ピッチを変更するピッチ変更処理を行う(S6)。抽出された安定区間は、図2に例示するように、センターピッチとその区間を示すように表示され、ピッチ変更処理を行う安定区間をマウスでクリックして特定し、その特定された安定区間についてピッチ変更処理が行われるものとする。なお、特定された安定区間は、そのセンターピッチを示す実線を表示する色などを変えて使用者が認識しやすいようにするのが良い。ピッチ変更処理については、図6を参照して後述する。
【0053】
次に、図5を参照して、安定区間抽出処理について説明する。図5は、一つのブロック内の安定区間を抽出する安定区間抽出処理を示すフローチャートである。まず、安定区間を決定するためのピッチの変化幅dPitchを設定する(S11)。このピッチの変化幅dPitchは、ユーザが任意に値を設定してもよいし、予め所定の値としてもよい。演歌のように抑揚が大きい場合には、変化幅dPitchを比較的大きな値とするのがよい。
【0054】
次に、ピッチ波形6bが記憶されているブロックの最初の時刻をt1、その時刻t1におけるピッチをf(t1)とし、変数TopPをf(t1)とする(S12)。次に、時刻t1の次の時刻をt2,その時刻t2におけるピッチをf(t2)とし、変数EndPをf(t2)とする(S13)。
【0055】
次に、EndPとTopPとの差の絶対値が、dPitchより小さいか否かを判断する(S14)。EndPとTopPとの差の絶対値が、dPitchより小さい場合は(S14:Yes)、時刻t2におけるピッチが変化幅の範囲内であるので、t2を次の時刻進め(S15)、S13の処理へ戻る。
【0056】
EndPとTopPとの差の絶対値が、dPitchより小さくない場合は(S14:No)、時刻t2におけるピッチが変化幅の範囲には入らないので、次に、t2からt1を引くことにより時間長を算出し、その時間長が安定区間の最小時間であるtminより長いか否かを判断する(S16)。tminは、ピッチが安定しているとする安定区間の最小時間であって、この時間より短い場合は、ピッチの変化が小さくても安定区間とはしないものである。
【0057】
t2からt1を引いた時間長が安定区間の最小時間であるtminより長い場合は(S16:Yes)、時刻t1から時刻(t2−1)の区間を安定区間とし、RAM4に安定区間(例えば、安定区間の開始時刻と安定区間長さ)を記憶する(S17)。t2からt1を引いた時間長が安定区間の最小時間であるtminより長くない場合は(S16:No)、時刻t1から時刻(t2−1)を安定区間とはせずに、ブロックの最終ピッチの処理を終了したか否かを判断する(S18)。
【0058】
ブロックの最終ピッチの処理を終了した場合は(S18:Yes)この安定区間抽出処理を終了する。他のブロックについても変更する必要がある場合には、同様の処理を行う。 ブロックの最終ピッチの処理をまだ終了していない場合は(S18:No)、時刻t1を時刻t2とし、EndPをTopPとして(S19)S13の処理へ戻る。
【0059】
以上のようにして各ブロック毎に安定区間を抽出する。このようにして抽出した各安定区間については、安定区間内のピッチを平均することによりセンターピッチを取得し、各安定区間に対応してRAM4に記憶する。
【0060】
次に、図6を参照してピッチ変更処理について説明する。図6は、ピッチ変更処理を示すフローチャートである。なお、ピッチ変更処理が起動された直後は、センターピッチ変更率k1およびピッチ変化幅変更率k2は、0%に設定され、センスの値Sは、所定の値(例えば平均的なLimit1の値とLimit2の値との組み合わせの値)に設定されているものとする。
【0061】
このピッチ変更処理では、まず、表示器5に表示されているボックス5dに示すセンターピッチ変更率k1が変更されたか否かを判断する(S31)。センターピッチ変更率k1が変更された場合は(S31:Yes)、変更されたセンターピッチ変更率k1をRAM4に記憶する(S32)。
【0062】
センターピッチ変更率k1が変更されない場合は(S31:No)、または、S32の処理の次に、表示器5に表示されているボックス5eに示すピッチ変化幅変更率k2が変更されたか否かを判断する(S33)。ピッチ変化幅変更率k2が変更された場合は(S33:Yes)、変更されたピッチ変化幅変更率k2をRAM4に記憶する(S34)。
【0063】
ピッチ変化幅変更率k2が変更されない場合は(S33:No)、または、S34の処理の次に、表示器5に表示されているボックス5fに示すセンスの値Sが変更されたか否かを判断する(S35)。センスの値Sが変更された場合は(S35:Yes)、変更されたセンスの値Sに基づいてROM3に記憶されたテーブルを参照し、Limit1およびLimit2の値を求め、安定区間の長さSLとから係数k3を求め、RAM4に記憶する(S36)。
【0064】
センスの値Sが変更されない場合は(S35:No)、または、S36の処理の次に、センターピッチ変更率k1、ピッチ変化幅変更率k2、センスの値Sのいずれかが変更されたか否かを判断する(S37)。センターピッチ変更率k1、ピッチ変化幅変更率k2、センスの値Sのいずれかが変更された場合は(S37:Yes)、RAM4に設定されているセンターピッチ変更率k1、ピッチ変化幅変更率k2、係数k3の値に基づいて各安定区間のピッチを変更する(S38)。安定区間の時刻tにおけるピッチの値は、上述の通り演算式1を用いてより求めることができる。このようにして変更されたピッチの値に基づいてピッチ波形表示画面5aに表示されたピッチ波形を変更するとともに、変更されたパラメータに対応するボックス5d〜5fの値を変更する(S39)。
【0065】
センターピッチ変更率k1、ピッチ変化幅変更率k2、センスの値Sのいずれかが変更されない場合(S37:No)、または、S39の処理の次に、このピッチ変更処理の終了が指示されたか否かを判断する(S40)。ピッチ変更処理の終了は、図示しない終了を指示するアイコンをマウス8によりクリックすることなどにより行われる。ピッチ変更処理の終了が指示された場合は(S40:Yes)、このピッチ変更処理を終了し、ピッチ変更処理の終了が指示されない場合は(S40:No)、S31の処理へ戻る。
【0066】
以上のようにして、ピッチ波形6bが変更され、図示しない再生を指示するアイコンなどにより再生の指示が行われた場合は、音源9により、変更されたピッチ波形6bが参照されて、オーディオ波形6aのピッチが変換されて出力される。
【0067】
以上、上記実施形態によれば、ピッチの値が所定の変化幅以内である安定区間を抽出し、その安定区間のピッチを一律に所定値だけ変更したり、安定区間のセンターピッチを中心とする変化幅を変更することができる。したがって、歌唱や楽器演奏のようなオーディオ信号において、音符などに対応する単位でピッチを変更できるので、適切な変更を容易に行うことができる。また、安定区間の長さに応じて、変更する割合を変えることができるので、より自然なピッチの変更を行うことができる。
【0068】
なお、請求項1記載の安定区間抽出ステップは、図4に記載のフローチャートのS3の処理が該当し、請求項1記載のピッチ変更ステップは、図4に記載のフローチャートのS6の処理が該当する。また、請求項2記載の変化幅設定ステップは、図5に記載のフローチャートのS11が該当する。また、請求項4記載のセンターピッチ変更率設定ステップは、図6に記載のフローチャートのS32の処理が該当し、請求項6記載のセンターピッチ抽出ステップは、図4に記載のフローチャートのS4の処理が該当する。また、請求項7記載のピッチ変化幅変更率設定ステップは、図6に記載のS34の処理が該当する。また、請求項9記載のピッチ波形表示ステップは、図4に記載のフローチャートのS2の処理が該当し、安定区間表示ステップは、図4に記載のフローチャートのS5の処理が該当する。
【0069】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0070】
例えば、上記実施形態では、安定区間をピッチが所定の変化幅以内である区間としたが、ピッチだけではなく音量や音色、歌唱の場合には歌詞が変化したか否かを検出して、安定区間を抽出するようにしてもよい。
【0071】
また、上記実施形態では、センターピッチ変更率k1、ピッチ変化幅変更率k2、センスの値Sを、安定区間毎に設定するものとしたが、複数の安定区間、あるいは全ての安定区間について共通に設定するようにしてもよい。
【0072】
また、上記実施形態では、センスの値Sにより、Limit1の値とLimit2の値との組み合わせを選択するものとしたが、Limit1の値とLimit2の値とをそれぞれ独立して任意に設定するようにしてもよい。
【0073】
また、上記実施形態では、抽出された安定区間のピッチを一律に変更する場合と、センターピッチを中心とする変化幅を変更する場合とについて説明したが、この安定区間を別途記録したビブラート波形で置き換えるようにしてもよい。
【0074】
また、上記実施形態では、センターピッチ変更率k1、ピッチ変化幅変更率k2、センスの値Sを任意に設定するものとしたが、音楽のジャンルや、音楽の特徴(例えば、ロボットボイス)などに応じてこれらのパラメータをプリセットとして予め設定し、いずれかのプリセットを選択するようにしてもよい。
【0075】
また、上記実施形態では、基準ピッチは、センターピッチに最も近い半音階の音高であるとしたが、変更しようとする安定区間のセンターピッチに対して、任意に音高を設定してもよい。その場合に、音階上の音高であってもよいし、音階には依存しない絶対値により設定するようにしてもよい。
【0076】
また、上記実施形態では、抽出された安定区間の長さがLimit1より短い場合は、ピッチを変更せず、Limit1より長くLimit2より短い場合は、安定区間の長さに応じた変更を行い、Limit2より長い場合は、一定の変更を行うものとしたが、Limit1=Limit2として、安定区間の長さがLimit1の値より短い場合は、ピッチを変更せず、安定区間の長さがLimit1の値より長い場合は、ピッチを変更するようにしてもよい。
【図面の簡単な説明】
【0077】
【図1】本発明の実施形態におけるピッチ制御装置の電気的構成を示すブロック図である。
【図2】ピッチ制御装置の表示器に表示される画面図である。
【図3】元のピッチ波形と変更後のピッチ波形とを示す波形図であり、(a)は、安定区間のピッチを一律に変更する場合を示す図であり、(b)は、安定区間の変化幅を変更する場合を示す図である。
【図4】ピッチを変更する処理の概略を示すフローチャートである。
【図5】安定区間抽出処理を示すフローチャートである。
【図6】ピッチ変更処理を示すフローチャートである。
【符号の説明】
【0078】
1 ピッチ制御装置
2 CPU
3 ROM
3a ピッチ制御プログラム
6 フラッシュメモリ
6b ピッチ波形
9 音源(ピッチ変換手段)

【特許請求の範囲】
【請求項1】
オーディオ信号のピッチを時間経過に従って記憶するピッチ記憶手段と、そのピッチ記憶手段により記憶されたピッチを変更するピッチ変更手段と、そのピッチ変更手段により変更されたピッチに前記オーディオ信号のピッチを変換するピッチ変換手段とを備えたピッチ制御装置において実行されるピッチ制御プログラムにおいて、
前記ピッチ変更手段は、
前記ピッチ記憶手段に記憶された区間のうち連続する区間のピッチ変化が所定の範囲内に収まっているか否かを判定することによりピッチの安定区間を抽出する安定区間抽出ステップと、
その安定区間抽出ステップにより抽出された安定区間のピッチを変更するピッチ変更ステップとを備えていることを特徴とするピッチ制御プログラム。
【請求項2】
前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のピッチを一律に所定値だけ変更するものであることを特徴とする請求項1記載のピッチ制御プログラム。
【請求項3】
前記安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、
そのセンターピッチ抽出ステップにより抽出されたセンターピッチを、そのセンターピッチに対応する基準ピッチに対して変更する場合の、センターピッチの値と基準ピッチの値との差に対するセンターピッチの変更する値の割合であるセンターピッチ変更率を設定するセンターピッチ変更率設定ステップを備え、
前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のセンターピッチを前記センターピッチ変更率設定ステップにより設定されたセンターピッチ変更率に応じて変更するものであることを特徴とする請求項2記載のピッチ制御プログラム。
【請求項4】
前記センターピッチ変更率設定ステップは、前記安定区間抽出ステップにより抽出された安定区間の長さに応じてセンターピッチ変更率を設定するものであることを特徴とする請求項3記載のピッチ制御プログラム。
【請求項5】
前記安定区間抽出ステップにより抽出された安定区間内のピッチ変化の中心となるセンターピッチ抽出ステップを備え、
前記ピッチ変更ステップは、前記センターピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する変化幅変更ステップを備えていることを特徴とする請求項1から4のいずれかに記載のピッチ制御プログラム。
【請求項6】
前記センターピッチ抽出ステップにより抽出されたセンターピッチを中心とするピッチの変化幅を変更する場合の元の変化幅に対する変更後の変化幅の割合であるピッチ変化幅変更率を設定するピッチ変化幅変更率設定ステップを備え、
前記ピッチ変更ステップは、前記安定区間抽出ステップにより抽出された安定区間のセンターピッチを中心とする変化幅を前記ピッチ変化幅変更率設定ステップにより設定されたピッチ変化幅変更率に応じて変更するものであることを特徴とする請求項5記載のピッチ制御プログラム。
【請求項7】
前記ピッチ変化幅変更率設定ステップは、前記安定区間抽出ステップにより抽出された安定区間の長さに応じてピッチ変化幅変更率を設定するものであることを特徴とする請求項6記載のピッチ制御プログラム。
【請求項8】
前記安定区間抽出ステップにより抽出された安定区間の長さが所定の長さより長いか否かを判定する判定ステップを備え、
前記ピッチ変更ステップは、前記判定ステップにより安定区間の長さが所定の長さより長い安定区間についてのみピッチを変更するものであることを特徴とする請求項1から3および5また6のいずれかに記載のピッチ制御プログラム。
【請求項9】
前記ピッチ制御装置は、表示手段を備え、
前記ピッチ記憶手段に記憶されたピッチを時間経過に従って表示するピッチ波形表示ステップと、
前記安定区間抽出ステップにより抽出された安定区間を前記表示手段に表示する安定区間表示ステップとを備えていることを特徴とする請求項1から8のいずれかに記載のピッチ制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate