JP3567587B2 - Tone generator - Google Patents
Tone generator Download PDFInfo
- Publication number
- JP3567587B2 JP3567587B2 JP03301396A JP3301396A JP3567587B2 JP 3567587 B2 JP3567587 B2 JP 3567587B2 JP 03301396 A JP03301396 A JP 03301396A JP 3301396 A JP3301396 A JP 3301396A JP 3567587 B2 JP3567587 B2 JP 3567587B2
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- frame
- percoll
- voice
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、音声合成する装置に関し、特に、自然な歌声を発生することができる楽音発生装置に関する。
【0002】
【従来の技術】
従来より、音声分析して抽出した特徴パラメータに基づき人声音を合成する手法として、チャネルボコーダや、線形予測、PARCOR(パーコール)と呼ばれる技術が知られている。これら音声合成技術は、分析した音声を如何に少ない情報量に変換するか、つまり音声を分析して特徴パラメータの形に変換して言葉の意味内容に関係の無い冗長成分を除いて情報量を圧縮することに着目したものであって、高音質で音声合成したり、合成した人声音を楽音形成に応用することを考えたものではなかった。
そうした中にあって、チャネルボコーダは構成が単純でリアルタイムの分析合成に向いているため、フィルタバンクにより抽出される音声のパワースペクトル包絡に基づき楽音合成する楽音発生装置に適用されていた。しかしながら、チャネルボコーダでは、フィルタバンクを構成するバンドパスフィルタ段数の限界や、子音を合成できない等の問題により高音質の音声合成が叶わず、やがて淘汰されて行った。
【0003】
【発明が解決しようとする課題】
一方、従来の波形メモリ読み出し方式による楽音発生装置では、サンプリングした人声音を波形メモリに記憶しておき、これをサンプリング時のピッチで読み出し再生すれば、最も単純な形で高品位な人声音を発生させることが可能になるものの、サンプリング時のピッチとは異なるピッチで読み出し再生しようとすると、人声音のフォルマント周波数が変換ピッチ量に応じて変化してしまう為、自然な歌声を発生することができないという問題がある。
そこで、本発明は、音声合成された人声音を自然な歌声として楽音形成することができる楽音発生装置を提供することを目的としている。
【0004】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、時系列に標本化された音声信号を分析フレーム毎に分析して特徴パラメータを抽出する音声分析手段と、この音声分析手段が抽出した特徴パラメータと、オンおよびオフのいずれかの状態をとるストップフラグを、分析フレーム毎に記憶するパラメータ記憶手段と、演奏情報に応じた前記パラメータ記憶手段からの特徴パラメータの読み出しを前記ストップフラグがオン状態である分析フレームで一時停止するとともに、次の演奏情報の発生に応じて一時停止の分析フレームから特徴パラメータの読み出しを再開する一方、当該演奏情報に対応した励振信号を発生する楽音制御手段と、前記パラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する音声合成手段とを具備することを特徴としている。
【0005】
上記請求項1に従属する請求項2に記載の発明によれば、パラメータ記憶手段に記憶された分析フレーム毎のストップフラグの内、指定された分析フレームのストップフラグの状態を変更するフラグ変更手段をさらに具備することを特徴とする。
【0006】
請求項1に従属する請求項3に記載の発明では、パラメータ記憶手段に記憶された分析フレーム毎の特徴パラメータの内、指定された分析フレームの特徴パラメータを削除するパラメータ削除手段をさらに具備することを特徴とする。
【0007】
本発明では、音声分析手段が時系列に標本化された音声信号を分析して特徴パラメータを抽出し、これをパラメータ記憶手段に記憶しておき、楽音制御手段が演奏情報に応じて前記パラメータ記憶手段から特徴パラメータを読み出す一方、当該演奏情報に対応した励振信号を発生すると、音声合成手段がパラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する。これにより、音声合成された人声音を自然な歌声として楽音形成することが可能となる。
【0008】
【発明の実施の形態】
本発明による楽音発生装置は、電子楽器の他、人声音で音声案内する装置などに適用され得る。以下では、本発明の実施の形態である電子楽器を実施例として図面を参照して説明する。
A.実施例の概略
図1は、本発明の一実施例による電子楽器の概略構成を示す機能ブロック図である。この電子楽器は、周知のパーコール(PARCOR)ボコーダの原理に基づきサンプリングした音声を分析して特徴パラメータ(後述する)を抽出し、抽出した特徴パラメータに応じて音声合成するものである。音声合成の際には、励振信号(後述する)を演奏データに応じて制御することによって、音声合成される人声音を自然な歌声として楽音形成するようになっている。以下、こうした実施例の概略について説明する。
【0009】
図1において、1はA/D変換器であり、マイクロフォンおよびプリアンプを介して電気信号に変換された音声信号を所定のサンプリング周波数Fsで標本化してなる離散的な音声データxi(i=1〜N:サンプリング数)を出力する。2はパーコール(PARCOR)分析系である。パーコール分析系2では、サンプリングされた音声データxi間の線形予測誤差の自己相関を逐次算出してパーコール係数K1〜Knおよび残差波パワーAfを発生する。
残差波は、分析窓中の音声データが無声音/有声音のいずれであるかを表わすものであって、無声音である時にはホワイトノイズとなり、一方、有声音である時にはピッチ周期を形成するパルス列となる。なお、残差波パワーAfとはそれらを分析窓にわたって積分したものである。
【0010】
3は特徴パラメータ記憶部であり、パーコール分析系2から出力されるパーコール係数K1〜Knおよび残差波パワーAfを分析フレーム毎に順次記憶する。ここで言う分析フレームとは、後述する窓関数にて規定される音声分析期間に相当する。4は演奏データに応じて特徴パラメータ記憶部3に記憶されるパーコール係数K1〜Knおよび残差波パワーAfの読み出しを制御したり、後述する励振部5に励振信号の発生を指示する制御部である。
励振部5は、演奏データに対応したピッチで複数の波形信号を発生する波形発生器5−1と、これら波形発生器5−1からそれぞれ出力される波形信号を加算して信号OSCを出力する加算器5−2と、ホワイトノイズWNを発生するホワイトノイズ発生器5−3とから構成され、制御部4の指示に応じて信号OSCあるいはホワイトノイズWNを後述のパーコール合成系6の端子IN1,IN2に供給する。すなわち、パーコール合成系6が有声音を合成する時には信号OSCを端子IN1へ供給し、一方、無声音を合成する時にはホワイトノイズWNを端子IN2へ供給する。
【0011】
ところで、パーコール合成では、有声音に対してパルス波形を励振波形とするが、上記波形発生器5−1では、これに限定される必要はなく、様々な波形形状の信号を発生させることで合成音の音色の幅を広げることが可能になる。特に、三角波や異なるパルス幅を持った波形等、倍音成分を多く含んだものが効果的であり、例えば、ノートオンに対してディチューンを施した複数の波形信号を同時発生させることで、後述のパーコール合成系6ではコーラスのような音声合成が実現可能になる。
パーコール合成系6は、上述したパーコール分析系2とは逆の過程で音声を合成するものであり、制御部4の指示に応じて特徴パラメータ記憶部3から読み出されるパーコール係数K1〜Knおよび残差波パワーAfと、励振部5から与えられる励振信号とにより音声データxiを合成する。7はD/A変換器であり、パーコール合成系6から出力される音声データxiをアナログ信号に変換して合成音声信号を出力する。
【0012】
B.要部構成
次に、上述したパーコール分析系2、特徴パラメータ記憶部3およびパーコール合成系6の各構成について図2〜図5を参照して説明する。
(1)パーコール分析系2の構成
図2はパーコール分析系2の構成を示すブロック図である。この図において、2aは入力される信号を少なくとも1サンプリング周期遅延して出力する遅延回路である。なお、この遅延回路2aは、1サンプル遅延に限定されず、系のサンプリング周波数Fsが30KHzを越える時には、2サンプル遅延が適当である。2bはサンプル(音声データ)xi(N個)に対して窓関数W(n)を乗算して重み付けをした後に、自己相関値を算出する相関器である。
【0013】
相関器2bにおいて重み付けされる窓関数W(n)としては、次式に示すハニング窓関数が用いられている。
【0014】
【数1】
【0015】
このハニング窓関数W(n)は、図3に図示するように、約30ms幅の分析フレームを持ち、20msのフレーム周期で分析を進めるようになっている。また、相関器2bでは、次式に示す自己相関関数に基づきパーコール係数K1〜Knが算出される。なお、この関数ではパーコール係数K1〜Knがサンプルの振幅の影響を受けないよう正規化している。また、パーコール係数K1〜Knは、完全に相関がある時には「1」、相関が無い時には「0」、完全に逆位相の関係にある時には「−1」となる。
【0016】
【数2】
【0017】
2cは1サンプル遅延された音声データにパーコール係数K1を乗算して出力する係数乗算器であり、2dは現サンプリングされた音声データにパーコール係数K1を乗算して出力する係数乗算器である。2eは現サンプリングされた音声データから係数乗算器2cの出力を減算する減算器、2fは1サンプル遅延された音声データに係数乗算器2dの出力を減算する減算器である。
以上の構成要素2a〜2fは、格子型フィルタ2−1を構成し、これがn段縦続接続された格子型フィルタ2−1〜2−nによって、サンプル(音声データ)xi間の線形予測誤差の相関を表わすパーコール係数K1〜Knを発生するパーコール分析系2が形成されている。
なお、最終段の格子型フィルタ2−nから出力される残差波は、積分回路2gに供給され、分析窓にわたって積分してなる残差波パワーAfを発生する。
【0018】
(2)特徴パラメータ記憶部3の構成
パーコール分析系2から出力されるパーコール係数K1〜Knおよび残差波パワーAfは、制御部4の指示に基づき、特徴パラメータ記憶部3に逐次フレーム記憶される。
ここで、図4を参照して特徴パラメータ記憶部3におけるフレーム記憶態様について説明しておく。本実施例の場合、分析されたパーコール係数K1〜Knおよび残差波パワーAfは、前述した分析フレーム毎にマトリクス状に記憶される。ここで、特徴的な点は、特徴パラメータの最上位ビットMSBにストップビットSTBを設けたことにある。
【0019】
日本語の場合、母音部分ではパーコール係数K1〜Knが殆ど変化しないのに対し、子音部分では倍音の変化が大きい為、これに対応してパーコール係数K1〜Knの変化も大きい。そこで、母音部分では、図4に図示するように、上記ストップビットSTBにストップフラグ「1」を立て、前後の似通った特徴パラメータを持つ分析フレームを削除することによって大幅にデータ量を削減し得るようになっている。また、このようにすることで演奏データに応じた歌声を合成することが可能になる。
つまり、演奏データとしてノートオンが与えられた時、ストップフラグが「1」となっているフレーム迄、順次特徴パラメータを読み出してパーコール合成系6に入力し、ストップフラグが「1」となっているフレームが読み出し対象となった時点でフレームの更新読み出しを一時停止する。そして、次のノートオンが発生した時に、再びストップフラグが立っているフレームまで順次特徴パラメータを読み出してパーコール合成系6に与えて音声合成させる。
【0020】
(3)パーコール合成系6の構成
次に、特徴パラメータ記憶部3から読み出されるパーコール係数K1〜Knおよび残差波パワーAfに基づき音声合成するパーコール合成系6の構成について図5を参照して説明する。図5において、6aはパーコール係数K1を所定の定数(約0.2〜0.3)に対して大小比較することによって有声音あるいは無声音のいずれかを判断し、その結果に応じた信号W1,W2を発生する比較器である。
すなわち、この比較器6aは、合成すべき特徴パラメータが「有声音」である時には、信号W1を正規化レベル「1」として出力し、信号W2を「0」とする。一方、これとは逆に合成すべき特徴パラメータが「無声音」である時には、信号W2を正規化レベル「1」として出力し、信号W1を「0」とする。
【0021】
6b,6cはそれぞれ係数乗算器であり、係数乗算器6bは端子IN1に供給される信号OSCに対して信号W1を乗算して出力し、係数乗算器6cは端子IN2に供給されるホワイトノイズWNに対して信号W2を乗算して出力する。6dは上記係数乗算器6b,6cの各出力を加算して出力する加算器である。
したがって、この加算器6dでは、有声音を合成する時に信号OSCを出力し、無声音を合成する時にホワイトノイズWNを励振源として発生することになる。
なお、上述した比較器6aにあっては、有声音・無声音に応じて励振波形を信号OSCあるいはホワイトノイズWNに切換えるよう信号W1,W2を発生するようにしたが、これに限らず、有声音・無声音に応じて信号W1,W2をクロスフェードさせるようにしても良い。その場合、有声音から無声音への変化、あるいは無声音から有声音への変化がより自然なものとなる。
【0022】
6eは係数乗算器であり、上記加算器6dの出力に残差パワーAfを乗算して出力する。6−1〜6−nは、それぞれパーコール係数K1〜Knに基づき前述したパーコール分析過程の逆過程で音声合成する格子型フィルターである。これら縦続接続される格子型フィルターは、遅延回路6f、係数乗算器6g,6h、加算器6iおよび減算器6jから構成される。
遅延回路6fは、パーコール分析系2と同じサンプリング遅延とすれば、分析した音声信号と同じフォルマントとなる。したがって、音声合成時の特殊効果として故意にフォルマントを異ならせるには、分析時とは異なるサンプリング遅延量とすれば良い。
【0023】
C.具体的構成
次に、本実施例による電子楽器の具体的構成について図6を参照して説明する。なお、この図において、図1に示す各部と共通する要素には同一の番号を付し、その説明を省略する。
図6において、10は楽器各部を制御すると共に、上述したパーコール分析系2および制御部4の機能を担うCPUであり、その動作については後述する。11はCPU10にロードされる各種の制御プログラムや制御データが記憶されるROMである。12はCPU10のワークエリアとして各種レジスタあるいはフラグデータが一時記憶されるRAMである。また、このRAM12は、上述の特徴パラメータ記憶部3として用いられるものであり、その所定記憶エリアには分析されたパーコール係数K1〜Knおよび残差波パワーAfが分析フレーム毎に配列状(図4参照)に記憶される。
【0024】
13は各種操作スイッチが配設され、各スイッチ操作に応じた操作信号を発生する操作パネルである。この操作パネル13には、音声サンプリングする際に操作されるサンプリングスイッチSS、サンプリング開始時に操作されるスタートスイッチSTS、サンプリングした音声データを編集加工する際に操作されるエディットスイッチESや、パーコール分析する際に操作される分析スイッチASが配設されている。
また、エディットに関するスイッチ類としては、分析フレームをインクリメントさせるスイッチINC、分析フレームをデクリメントさせるスイッチDEC、分析フレームをデリートするスイッチDEL、分析フレームをセットするスイッチSPSおよびリセットするスイッチSRSがある。なお、これらスイッチの意図するところについは追って説明する。
【0025】
14はLCD表示パネルやLCD駆動回路等から構成される表示部であり、バスを介してCPU10から供給される表示制御信号に応じて、例えば、サンプリングした音声データを時系列にLCD表示する。15は前述したパーコール合成系6の処理をシミュレートするディジタルシグナルプロセッサ(以下、DSPと記す)である。このDSP15は、演奏データに応じてCPU10の制御の下に、RAM12から転送されて来るパーコール係数K1〜Knおよび残差波パワーAfに基づき音声合成する。
DSP15にて合成された音声データは、次段のD/A変換器7を介してアナログの音声信号に変換され、図示されていないサウンドシステムにてノイズ除去等のフィルタリングが施された後、スピーカより自然な歌声として放音される。
【0026】
D.実施例の動作
次に、上記構成による実施例の動作について図7〜図16を参照して説明して行く。以下では、最初に全体動作としてメインルーチンの処理を説明した後、このメインルーチンにおいてコールされる各種ルーチンや割込みルーチンの処理内容について順次述べる。
(1)メインルーチンの動作
まず、本実施例による電子楽器に電源が投入されると、CPU10がROM11より所定の制御プログラムを読み出して自身にロードした後、図7に示すメインルーチンを実行してステップSA1に処理を進め、各種レジスタをゼロリセットしたり、初期値セットする等のイニシャライズを行う。
すなわち、ステップSA1では、プログラムカウンタ値がセットされる3種のレジスタi,j,kをそれぞれゼロリセットする一方、レジスタflame_end,win_end,ana_step,k_endおよびflameにそれぞれ初期値をセットする。
【0027】
ここで、レジスタflame_endは、分析フレーム(窓)の数が格納されるレジスタであり、この例では「30」フレームが初期セットされる。レジスタwin_endは、1フレームを構成するサンプリング数が格納されるレジスタであり、この例では「1440」がセットされる。
また、レジスタana_stepは、分析するフレーム間のサンプリング数が格納されるレジスタであり、この例では「960」がセットされる。レジスタk_endは、分析するパーコール係数の次数が格納され、この例では「20」がセットされる。レジスタflameは、現在処理中にあるフレーム番号が格納されるレジスタであり、この場合、ゼロリセットされる。
【0028】
こうして初期化がなされると、CPU10は次のステップSA2に処理を進め、操作パネル13に配設される各種スイッチの内、サンプリングスイッチSSがオン操作されているか否かを判断する。ここで、演奏に先立って音声サンプリングする時には、スイッチSSがオン操作されるので、判断結果が「YES」となり、ステップSA3に進み、後述するサンプリング処理ルーチンを実行する。
一方、サンプリングスイッチSSがオン操作されない時には、判断結果が「NO」となり、次のステップSA4へ処理を進める。
ステップSA4では、操作パネル13に配設される各種スイッチの内、エディットスイッチESがオン操作されているか否かを判断する。ここで、スイッチESがオン操作された時には、判断結果が「YES」となり、ステップSA5に進み、後述するエディット処理ルーチンを実行し、オン操作されない時には、判断結果が「NO」となり、ステップSA6へ処理を進める。
【0029】
ステップSA6では、分析スイッチASがオン操作されたかどうかを判断する。ここで、サンプリングした音声データに対してパーコール分析を施すべくスイッチASをオン操作した時には、判断結果が「YES」となり、ステップSA7に進み、後述する分析処理ルーチンを実行する。これに対し、当該スイッチASがオン操作されない時には、判断結果が「NO」となり、ステップSA8へ処理を進める。
なお、上述したステップSA3,SA5およびSA7を介して実行される”サンプリング処理ルーチン”、”エディット処理ルーチン”および”分析処理ルーチン”が完了した場合も、ステップSA8に処理を進め、後述する演奏処理ルーチンを実行する。そして、この後、CPU10は再びステップSA2に処理を戻し、以後、上述した過程を繰り返す。
【0030】
このように、メインルーチンでは、初期化後に発生するスイッチイベントに応じて”サンプリング処理ルーチン”、”エディット処理ルーチン”および”分析処理ルーチン”を実行し、これら処理に基づき得られる特徴パラメータ(パーコール係数および残差波パワー)に従ってなされるパーコール音声合成を演奏データに応じて制御する演奏処理が行われるようになっている。
通常、最初に”サンプリング処理ルーチン”により音声信号をサンプリングしておき、次に”分析処理ルーチン”により各分析フレーム毎の特徴パラメータ(パーコール係数および残差波パワー)を抽出する。続いて、必要に応じてこの抽出した特徴パラメータを”エディット処理ルーチン”により編集し、演奏処理ルーチンにて音声合成されるべき歌声を調整するというプロセスを辿る。以下、こうしたプロセスに沿って各ルーチンの動作について説明して行く。
【0031】
(2)タイマ割込み処理ルーチンの動作
CPU10では、分析フレームを更新させるべく一定周期毎にタイマ割込み処理を実行しており、例えば、20msec毎に割込みマスクを解除して図8に示すタイマ割込み処理ルーチンを実行してステップSB1に処理を進め、レジスタtimeにタイマフラグ「1」をセットする。
なお、このレジスタtimeにセットされるタイマフラグは、分析フレームが更新された後にゼロリセットされる。
【0032】
(3)サンプリング処理ルーチンの動作
音声信号をサンプリングする為、操作パネル13に配設されるサンプリングスイッチSSがオン操作されると、上述したステップSA3を介してサンプリング処理ルーチンが実行され、CPU10は図9に示すステップSC1に処理を進める。
ステップSC1では、サンプリング開始を指示するスタートスイッチSTSがオン操作される迄待機状態となり、当該スイッチSTSがオンされると、判断結果が「YES」となり、次のステップSC2に進み、レジスタiをゼロリセットする。
【0033】
次いで、ステップSC3に進むと、レジスタiの値が、flame_end×ana_stepに達したか、つまり、規定数分のサプリングが完了したかどうかを判断する。ここで、完了していない時には、判断結果が「NO」となり、次のステップSC4に処理を進める。ステップSC4では、レジスタiの値に対応させてサンプリングした音声データxiをRAM12に格納する。この後、再びステップSC3に処理を戻し、規定数分の音声データxiをサプリングする迄、ステップSC3,SC4を繰り返す。そして、サンプリングが完了した時点で上記ステップSC3の判断結果が「YES」となり、本ルーチンを終了してメインルーチンへ復帰する。
【0034】
(4)分析処理ルーチンの動作
以上のようにして、サンプリング処理によりRAM12にサンプリングした音声データxiが格納された場合、操作者はこれら音声データxiにパーコール分析を施して特徴パラメータ(パーコール係数および残差波パワー)を抽出すべく操作パネル13上の分析スイッチをオン操作する。
すると、CPU10は前述したメインルーチン(図7参照)のステップSA7を介して図10に示す分析処理ルーチンを実行し、ステップSD1に処理を進める。
【0035】
ステップSD1では、レジスタiの値が、レジスタflame_endに格納される最終フレーム値に達したか、つまり、パーコール分析が完了したかどうかを判断する。分析が完了した時には、判断結果が「YES」となって本ルーチンを終了するが、そうでない場合には、判断結果が「NO」となり、次のステップSD2に処理を進める。
ステップSD2では、レジスタjの値が、レジスタwin_endの値に達したか否かを判断する。ここで、1フレーム分の音声データxiについてパーコール分析が済んでいない場合には、判断結果が「NO」となり、次のステップSD3に進む。
【0036】
ステップSD3では、レジスタi,レジスタana_stepおよびレジスタjの値に応じて順次RAM12から読み出される音声データxiに対して前述したハニング窓関数W(n)を乗算し、これを窓掛けされた分析データとしてレジスタwave1[j]にストアする。そして、1フレーム分の音声データxiに対して窓掛けが完了すると、上記ステップSD2の判断結果が「YES」となり、次のステップSD4に処理を進める。
ステップSD4では、レジスタj,Zを一旦、それぞれゼロリセットし、続く、ステップSD5では、上記ステップSD3において窓掛けされた分析データを1フレーム分にわたって自乗和を求めたか否かを判断する。1フレーム分の分析データについて自乗和を算出し終えていない時には、判断結果が「NO」となり、ステップSD6に進み、レジスタwave1[j]に格納される分析データを自乗して累算して行く。
【0037】
そして、自乗和を算出し終えた時に、上記ステップSD5の判断結果が「YES」となり、次のステップSD7に処理を進め、レジスタjの値をゼロリセットする。
次いで、CPU10は、図11に示すステップSD8に処理を進め、レジスタjの値がレジスタwin_endの値に達したかどうか、つまり、1フレーム中の最終データに達したか否かを判断する。ここで、最終データに達していない時には、判断結果が「NO」となり、次のステップSD9に進む。ステップSD9では、レジスタjの値に対応してレジスタwave1に格納されている分析データを逐次レジスタwave2へストアする。
【0038】
こうして、レジスタwave1の値をレジスタwave2にコピーし終えると、ステップSD8の判断結果が「YES」となり、次のステップSD10に処理を進める。ステップSD10では、レジスタjおよびレジスタkをゼロリセットする。
続いて、ステップSD11に進むと、CPU10は、自己相関値であるパーコール係数K1〜Knがストアされるレジスタk[flame][0]〜k[flame][k_end]と、残差波パワーAfがストアされるレジスタaf[flame]とをゼロリセットする。
なお、レジスタk[flame][0]〜k[flame][k_end]とは、レジスタflameの値とレジスタk_endの値とで要素が定まる2次元配列要素となっている。
【0039】
次に、ステップSD12では、レジスタkの値がレジスタk_endの値に達したかどうか、つまり、1フレーム分の特徴パラメータを抽出し終えたか否かを判断する。ここで、特徴パラメータの抽出が完了したならば、次のフレームについて分析を進めるべく判断結果を「YES」とし、その処理を上述のステップSD1(図10参照)に戻す。
一方、特徴パラメータの抽出が完了していないと、判断結果が「NO」となり、この場合、レジスタkの値に応じてステップSD13〜SD17を実行して1フレーム中における分析データ間の線形予測誤差の相関係数(パーコール係数)を逐次抽出するパーコール分析を行い、抽出したパーコール係数をレジスタk[flame][0]〜k[flame][k_end]に順次ストアする。
そして、相関係数(パーコール係数)を算出する過程が完了すると、ステップSD16の判断結果が「YES」となり、ステップSD18に処理を進めて残差波パワー算出処理ルーチン(後述する)を実行した後、ステップSD12に処理を戻す。
【0040】
(5)残差波パワー算出処理ルーチンの動作
上述したステップSD18を介して残差波パワー算出処理ルーチンが実行されると、CPU10は、図12に示すステップSE1に処理を進め、レジスタjおよびレジスタaf[flame]をゼロリセットする。次いで、ステップSE2に進むと、現在の処理が1フレーム中の最終データに達したか否かを判断する。ここで、最終データに達していない時には、判断結果が「NO」となり、次のステップSE3に進む。ステップSE3では、レジスタwave1[j]の値を自乗して累算してなる残差波パワーafを算出してレジスタaf[flame]にストアする。
【0041】
そして、分析フレーム当りの残差波パワーafが算出されると、上記ステップSE2の判断結果が「YES」となり、次のステップSE4に処理を進める。ステップSE4に進むと、CPU10は算出した残差波パワーafが所定値より大であるか否かを判断する。
この所定値とは、パーコール分析された音声が「有声音」あるいは「無声音」のいずれに対応するものであるかを判別する為の閾値である。ここで、残差波パワーafが所定値より大の時はパーコール分析された音声が「有声音」であると見做して本ルーチンを終了するが、所定値より小の時には判断結果が「NO」となり、この場合、ステップSE5に進み、残差波パワーafを「0」にセットする。
【0042】
(6)エディット処理ルーチンの動作
分析処理ルーチンおよび残差波パワー算出処理ルーチンによりRAM12に格納された特徴パラメータ(パーコール係数および残差波パワー)を編集する場合、つまり、母音部分の特徴パラメータに対してその最上位ビットにストップビットSTBを付与したり、特徴パラメータの変化が少ない分析フレームを削除する等のデータ加工を施す時には、操作パネル13に配設される各種スイッチの内、エディットスイッチESがオン操作される。
当該スイッチESがオン操作されると、CPU10は前述したメインルーチンのステップSA5を介して図13に示すエディット処理ルーチンを実行する。エディット処理ルーチンでは、発生するスイッチイベントに応じて対応する処理を行うようになっており、以下、各スイッチ操作毎の動作について述べる。
【0043】
▲1▼フレームインクリメントスイッチINCが操作された時の動作
エディット対象とする分析フレームを進める場合、フレームインクリメントスイッチINCが操作される。当該スイッチINCがオン操作されると、ステップSF1の判断結果が「YES」となり、ステップSF2に処理を進める。ステップSF2では、レジスタflameの値を1インクリメントして歩進させ、続くステップSF3では、更新されたレジスタflameの値に応じて対応するフレームの特徴パラメータ(パーコール係数および残差波パワー)をRAM12から読み出す。この後、読み出した特徴パラメータをディスプレイ上に数値表示あるいはグラフ表示させ、上記ステップSF1へ処理を戻す。
【0044】
▲2▼フレームデクリメントスイッチDECが操作された時の動作
エディット対象とする分析フレームを後退させる場合、フレームデクリメントスイッチDECが操作される。当該スイッチDECがオン操作された時には、ステップSF1を介してステップSF4に進み、ここでの判断結果が「YES」となってステップSF5に処理を進める。
ステップSF5では、レジスタflameの値を1デクリメントして上記ステップSF3に進み、更新されたレジスタflameの値に応じて対応するフレームの特徴パラメータ(パーコール係数および残差波パワー)をRAM12から読み出す。この場合も読み出した特徴パラメータをディスプレイ上に数値表示あるいはグラフ表示させ、上記ステップSF1へ処理を戻す。
【0045】
▲3▼フレームデリートスイッチDELが操作された時の動作
変化の少ない分析フレームを削除してデータ量を削減するには、フレームデリートスイッチDELが操作される。当該スイッチDELがオン操作されると、上述のステップSF1,SF4を介してステップSF6に進み、ここでの判断結果が「YES」となってステップSF7に処理を進める。
そして、ステップSF7では、レジスタflameの値をレジスタiにストアし、続く、ステップSF8では、レジスタiの値が最終フレームであるか否かを判断する。ここで、最終フレームであれば、最終フレームの特徴パラメータを削除してステップSF1に処理を戻す。
一方、最終フレームでなければ、判断結果が「NO」となり、ステップSF9に処理を進め、レジスタiの値に対応する分析フレームを削除すると共に、これ以降のフレーム番号を1インクリメントする。
【0046】
▲4▼ストップセットスイッチSETが操作された時の動作
パーコール係数K1〜Knの変化が少ない母音部分に対応する分析フレームを見つけた時には、特徴パラメータの最上位ビットMSBに設けられるストップビットSTBにストップフラグを立てるべくストップセットスイッチSETをオン操作する。
このスイッチSETがオン操作されると、CPU10はそのスイッチイベントに基づき図14に示すステップSF10の判断結果が「YES」となり、ステップSF11に処理を進める。ステップSF11では、レジスタaf[flame]に格納される残差波パワーafの最上位ビットMSBにストップフラグ「1」をセットする。
【0047】
▲5▼ストップリセットスイッチRESETが操作された時の動作
一方、上記ストップセットスイッチSETの操作に応じて付与されたストップフラグをリセットする際には、ストップリセットスイッチRESETが操作される。当該スイッチRESETがオン操作されると、ステップSF12の判断結果が「YES」となり、次のステップSF13に処理を進め、レジスタaf[flame]の最上位ビットMSBのストップフラグをゼロリセットする。
▲6▼イグジットスイッチEXITが操作された時の動作
エディット処理を終了すべくイグジットスイッチEXITがオン操作されると、ステップSF14の判断結果が「YES」となり、本ルーチンを完了してその処理をメインルーチンへ復帰させる。
【0048】
(7)演奏処理ルーチンの動作
前述したメインルーチンのステップSA8(図7参照)を介して図15〜図16に示す演奏処理ルーチンが起動されると、CPU10は先ずステップSG1に処理を進め、レジスタaf[flame]に格納される残差波パワーafを読み出し、その最上位ビットMSBに格納されるストップビットが「0」であるか否かを判断する。
ここで、ストップビットが「0」であると、判断結果が「YES」となり、次のステップSG2に処理を進める。ステップSG2では、レジスタtimeの値が「1」、すなわち、特徴パラメータをDSP15(図6参照)へ転送するタイミング下にあるかどうかを判断する。
【0049】
前述したタイマー割込み処理ルーチンの動作によって、レジスタtimeの値が「1」にセットされているとする。そうすると、特徴パラメータをDSP15へ転送するタイミング下にあるから、判断結果が「YES」となり、ステップSG3に処理を進める。
ステップSG3では、レジスタaf[flame]から読み出した残差波パワーafと、レジスタk[flame][0]〜k[flame][k_end−1]から読み出したパーコール係数K1〜KnをそれぞれDSP15に転送する。そして、特徴パラメータの転送が完了したならば、レジスタflameを1インクリメントして歩進する一方、レジスタtimeをゼロリセットした後、パーコール係数K1の値に応じて入力ボリュームをDSP15に指示する。この後、CPU10は後述するステップSG7へ処理を進める。
なお、上記ステップSG2において、レジスタtimeの値が「0」の時には、特徴パラメータをDSP15へ転送するタイミングでないので、この場合も後述するステップSG7へ処理を進める。
【0050】
一方、ストップフラグが「1」の場合には、上記ステップSG1の判断結果が「NO」となり、ステップSG4に処理を進める。ステップSG4では、ノートオン指示が来たか否かを判断する。ここで、ノートオンとなった時には、判断結果が「YES」となり、次のステップSG5に進む。
ステップSG5では、特徴パラメータをDSP15(図6参照)へ転送するタイミング下にあるかどうかを判断する。転送タイミングでない時には、判断結果が「NO」となり、後述のステップSG7に進む。
これに対し、転送タイミング下にあると、判断結果が「YES」となり、ステップSG6に進む。
【0051】
ステップSG6に進むと、CPU10は、レジスタaf[flame]から読み出した残差波パワーafと、レジスタk[flame][0]〜k[flame][k_end−1]から読み出したパーコール係数K1〜KnをそれぞれDSP15に転送する。そして、転送完了後に、レジスタflameを1インクリメントして歩進すると共に、レジスタtimeをゼロリセットする。さらに、パーコール係数K1の値に応じて入力ボリュームをDSP15に指示し、ノートオンフラグをゼロリセットする。この後、CPU10は後述するステップSG7へ処理を進める。
【0052】
次いで、図16に示すステップSG7では、最終フレームに達したか否かを判断する。ここで、最終フレームに達している時には、判断結果が「YES」となり、次のステップSG8に進み、レジスタflameの値をゼロリセットし、その後、ステップSG9へ処理を進める。一方、最終フレームに達していない時には、何も処理せずにステップSG9へ進む。
ステップSG9に進むと、CPU10は演奏イベントが発生したかどうかを判断する。ここで、演奏イベントが無い時には、判断結果が「NO」となり、一旦、本ルーチンを完了してメインルーチンに復帰する。
【0053】
一方、演奏イベントが発生した時には、判断結果が「YES」となり、次のステップSG10に処理を進める。ステップSG10では、そのイベントがノートオンであるか否かを判断する。ノートオンであれば、判断結果が「YES」となり、ステップSG11に進み、励振部5(図6参照)をオン制御する。すなわち、現分析フレームのパーコール係数が「有声音」に対応するものである時には、励振部5から演奏データに対応したピッチの複数の波形信号を加算してなる信号OSCを生成させ、これをパーコール合成系6(すなわち、DSP15)の端子IN1へ供給するよう指示する。あるいは、現分析フレームのパーコール係数が「無声音」に対応するものである時には、励振部5からホワイトノイズWNを出力させ、これをパーコール合成系6(DSP15)の端子IN2へ供給するよう指示する。そして、この後にCPU10は、ステップSG12に進み、ノートオンフラグnoteonを「1」にセットして本ルーチンを完了する。
これに対し、発生したイベントがノートオンでない場合には、上記ステップSG10の判断結果が「NO」となり、ステップSG13に進み、励振部5に対して信号OSCあるいはホワイトノイズWNの出力をオフするよう指示する。
【0054】
このように、演奏処理ルーチンでは、演奏データとしてノートオンが与えられた時、ストップフラグが「1」となっているフレーム迄、順次特徴パラメータを読み出してDSP15に入力し、ストップフラグが「1」となっているフレームが読み出し対象となった時点でフレームの更新読み出しを一時停止する。そして、次のノートオンが発生した時に、再びストップフラグが立っているフレームまで順次特徴パラメータを読み出してDSP15に与えて音声合成させる。
なお、DSP15では、CPU10の指示に応じてRAM12から転送されるパーコール係数K1〜Knおよび残差波パワーAfと、励振部5から与えられる励振信号とに基づきパーコール合成する。これにより、音声合成される人声音が自然な歌声として楽音形成される訳である。
【0055】
以上説明したように、本実施例では、サンプリングした音声をパーコール分析して特徴パラメータを抽出し、抽出した特徴パラメータを演奏データに応じてパーコール合成するから、音声合成される人声音を自然な歌声として楽音形成することが可能となっている。
また、本実施例では、特徴パラメータの最上位ビットMSBにストップビットSTBを設けておき、特徴パラメータの変化が少ない母音部分では、当該ストップビットにSTBにストップフラグ「1」を立て、前後の似通った特徴パラメータを持つ分析フレームを削除することによって大幅にデータ量を削減し得るようになっている。また、このようにすることで演奏データに応じた歌声が合成し易くなっている。
【0056】
E.変形例
次に、本発明による楽音発生装置100を用いて音声合成される人声音を楽音として形成する変形例について説明する。
図17は、パーコール分析に用いる音声信号を外部音源101から供給する形態である。この場合、MIDI信号(演奏データ)を発生するMIDI楽器102から外部音源101と本発明による楽音発生装置100とに同一のMIDI信号を供給してボコーダ処理(パーコール分析・合成)を行う。この際、楽音発生装置100に入力される音声信号は、母音入力として用いられる。装置100内部には、子音用のノイズ音源を具備し、パーコール係数に応じて母音入力および子音入力を重み付けする態様となる。
【0057】
また、図18に示す形態の場合、MIDI楽器から出力されるMIDI信号を楽音発生装置100が受け、受けたMIDI信号をさらにマルチティンバー駆動可能な外部音源101に供給する。外部音源101は、マルチティンバーで音声信号を発生し、その中には母音用ティンバー、子音用ティンバーを設定する。装置100では、これら各ティンバー(音色)の音量レベルをパーコール係数で重み付けした後にパーコール合成する。これにより、母音、子音の発音が実現する。
【0058】
なお、上述した実施例では、ノートオンに応じて音声合成すべき分析フレームを更新しているが、これに限定されず、例えば、ノートオフやベロシティに応じて分析フレームを更新して逐次パーコール合成する態様としても良い。
【0059】
【発明の効果】
本発明によれば、音声分析手段が時系列に標本化された音声信号を分析して特徴パラメータを抽出し、これをパラメータ記憶手段に記憶しておき、楽音制御手段が演奏情報に応じて前記パラメータ記憶手段から特徴パラメータを読み出す一方、当該演奏情報に対応した励振信号を発生すると、音声合成手段がパラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成するので、音声合成された人声音を自然な歌声として楽音形成することができる。
【図面の簡単な説明】
【図1】本発明による一実施例の概略構成を示すブロック図である。
【図2】同実施例におけるパーコール分析系2の構成を示すブロック図である。
【図3】同実施例における分析フレームを説明するための図である。
【図4】同実施例における特徴パラメータ記憶3の特徴パラメータ記憶形態を説明するための図である。
【図5】同実施例におけるパーコール合成系6の構成を示すブロック図である。
【図6】同実施例の具体的構成を示すブロック図である。
【図7】同実施例におけるメインルーチンの動作を示すフローチャートである。
【図8】同実施例におけるタイマ割り込み処理ルーチンの動作を示すフローチャートである。
【図9】同実施例におけるサンプリング処理ルーチンの動作を示すフローチャートである。
【図10】同実施例における分析処理ルーチンの動作を示すフローチャートである。
【図11】同実施例における分析処理ルーチンの動作を示すフローチャートである。
【図12】同実施例における残差波パワー算出処理ルーチンの動作を示すフローチャートである。
【図13】同実施例におけるエディット処理ルーチンの動作を示すフローチャートである。
【図14】同実施例におけるエディット処理ルーチンの動作を示すフローチャートである。
【図15】同実施例における演奏処理ルーチンの動作を示すフローチャートである。
【図16】同実施例における演奏処理ルーチンの動作を示すフローチャートである。
【図17】変形例を説明するための図である。
【図18】変形例を説明するための図である。
【符号の説明】
2 パーコール分析系(音声分析手段)
3 特徴パラメータ記憶部(パラメータ記憶手段)
4 制御部(楽音制御手段)
5 励振部(楽音制御手段)
6 パーコール合成系(音声合成手段)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an apparatus for synthesizing voice, and more particularly, to a tone generator capable of generating a natural singing voice.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, as a technique for synthesizing a human voice based on feature parameters extracted by voice analysis, techniques called channel vocoder, linear prediction, and PARCOR (Percoll) have been known. These speech synthesis techniques convert the analyzed speech into a small amount of information, that is, analyze the speech and convert it to the form of characteristic parameters to remove the information amount excluding redundant components that are not related to the meaning of words. It focuses on compression and does not consider synthesizing speech with high sound quality or applying the synthesized human voice to musical tone formation.
Under such circumstances, the channel vocoder has a simple structure and is suitable for real-time analysis and synthesis. Therefore, the channel vocoder has been applied to a tone generator which synthesizes a tone based on the power spectrum envelope of speech extracted by a filter bank. However, in the channel vocoder, high-quality sound synthesis was not achieved due to the limitation of the number of band-pass filter stages constituting the filter bank and the inability to synthesize consonants.
[0003]
[Problems to be solved by the invention]
On the other hand, in a tone generator using a conventional waveform memory reading method, sampled human voices are stored in a waveform memory, and read out and reproduced at the pitch at the time of sampling, the simplest form of high-quality human voices can be obtained. Although it can be generated, if you try to read and play it at a pitch different from the pitch at the time of sampling, a natural singing voice may be generated because the formant frequency of human voice changes according to the amount of conversion pitch There is a problem that can not be.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a musical sound generator capable of forming a human voice synthesized with speech as a natural singing voice.
[0004]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, an audio signal sampled in time series isFor each analysis frameSpeech analysis means for analyzing and extracting feature parameters, and feature parameters extracted by the speech analysis meansAnd a stop flag that takes either the on or off state for each analysis frame.Parameter storage means to store, according to performance informationWasFrom the parameter storage meansReading of the characteristic parameters is paused in the analysis frame in which the stop flag is ON, and the reading of the characteristic parameters is resumed from the analysis frame of the pause in response to the generation of the next performance information.On the other hand, it is characterized by comprising a tone control means for generating an excitation signal corresponding to the performance information, and a voice synthesis means for performing voice synthesis in accordance with the characteristic parameter read from the parameter storage means and the excitation signal. .
[0005]
According to the invention described in
[0006]
Claim 1In the invention according to
[0007]
According to the present invention, the voice analysis means analyzes the voice signal sampled in time series to extract characteristic parameters and stores them in the parameter storage means, and the tone control means stores the parameter in accordance with performance information. While reading the characteristic parameters from the means and generating an excitation signal corresponding to the performance information, the voice synthesizing means synthesizes voice according to the characteristic parameters read from the parameter storage means and the excitation signal. As a result, it is possible to form a musical sound as a natural singing voice using the synthesized voice.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
The musical sound generating device according to the present invention can be applied to an electronic musical instrument as well as a device for providing voice guidance using human voices. Hereinafter, an electronic musical instrument according to an embodiment of the present invention will be described as an example with reference to the drawings.
A. Overview of Examples
FIG. 1 is a functional block diagram showing a schematic configuration of an electronic musical instrument according to one embodiment of the present invention. This electronic musical instrument analyzes a sampled sound based on the well-known principle of a PARCOR vocoder, extracts a characteristic parameter (described later), and synthesizes a sound in accordance with the extracted characteristic parameter. At the time of speech synthesis, the excitation signal (described later) is controlled in accordance with the performance data, so that the human voice to be speech-synthesized is formed as a natural singing tone. Hereinafter, an outline of such an embodiment will be described.
[0009]
In FIG. 1,
The residual wave indicates whether the voice data in the analysis window is unvoiced or voiced. When the voice is unvoiced, it becomes white noise. On the other hand, when it is voiced, a pulse train forming a pitch period is generated. Become. The residual wave power Af is obtained by integrating them over the analysis window.
[0010]
The
[0011]
By the way, in the Percoll synthesis, a pulse waveform is used as an excitation waveform for a voiced sound. However, the waveform generator 5-1 is not limited to this, and is synthesized by generating signals having various waveform shapes. It becomes possible to expand the range of the tone of the sound. In particular, a waveform containing many overtone components, such as a triangular wave or a waveform having a different pulse width, is effective. For example, by simultaneously generating a plurality of waveform signals detuned for note-on, the following will be described. Chorus in Percoll Synthesis System 6ofSuch speech synthesis can be realized.
The Percoll synthesizing
[0012]
B. Main configuration
Next, each configuration of the above-mentioned
(1) Configuration of
FIG. 2 is a block diagram showing the configuration of the
[0013]
As the window function W (n) weighted in the
[0014]
(Equation 1)
[0015]
As shown in FIG. 3, the Hanning window function W (n) has an analysis frame having a width of about 30 ms, and performs analysis at a frame period of 20 ms. In the
[0016]
(Equation 2)
[0017]
2c is a coefficient multiplier for multiplying the audio data delayed by one sample by the Percoll coefficient K1 and outputting the result, and 2d is a coefficient multiplier for multiplying the currently sampled audio data by the Percoll coefficient K1 and outputting the result. 2e is a subtractor for subtracting the output of the
The above components 2a to 2f constitute a lattice filter 2-1. The lattice filters 2-1 to 2-n, which are cascade-connected in n stages, form a linear prediction error between samples (audio data) xi. A
The residual wave output from the lattice filter 2-n at the final stage is supplied to an integrating
[0018]
(2) Configuration of the feature
The Percoll coefficients K1 to Kn and the residual wave power Af output from the
Here, the frame storage mode in the feature
[0019]
In the case of Japanese, the Percoll coefficients K1 to Kn hardly change in the vowel part, whereas the harmonic changes in the consonant part are large, so that the Percoll coefficients K1 to Kn change accordingly. Therefore, in the vowel part, as shown in FIG. 4, the stop bit STB is set to a stop flag “1”, and the data frame can be significantly reduced by deleting the analysis frames having similar characteristic parameters before and after. It has become. In addition, it becomes possible to synthesize a singing voice according to the performance data.
That is, when the note-on is given as the performance data, the feature parameters are sequentially read out and input to the
[0020]
(3) Configuration of
Next, the configuration of a
That is, when the feature parameter to be synthesized is “voiced sound”, the comparator 6a outputs the signal W1 as the normalized level “1” and sets the signal W2 to “0”. On the other hand, when the characteristic parameter to be synthesized is “unvoiced sound”, the signal W2 is output as the normalized level “1”, and the signal W1 is set to “0”.
[0021]
Therefore, the
In the above-described comparator 6a, the signals W1 and W2 are generated so as to switch the excitation waveform to the signal OSC or the white noise WN in accordance with the voiced sound or the unvoiced sound. The signals W1 and W2 may be cross-fade according to the unvoiced sound. In that case, the change from voiced sound to unvoiced sound or the change from unvoiced sound to voiced sound becomes more natural.
[0022]
A
If the
[0023]
C. Specific configuration
Next, a specific configuration of the electronic musical instrument according to the present embodiment will be described with reference to FIG. In this figure, the same elements as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof will be omitted.
In FIG. 6,
[0024]
Switches for editing include a switch INC for incrementing the analysis frame, a switch DEC for decrementing the analysis frame, a switch DEL for deleting the analysis frame, a switch SPS for setting the analysis frame, and a switch SRS for resetting the analysis frame. The purpose of these switches will be described later.
[0025]
A display unit 14 includes an LCD display panel, an LCD drive circuit, and the like, and displays, for example, sampled audio data in a time series on the LCD according to a display control signal supplied from the
The audio data synthesized by the DSP 15 is converted into an analog audio signal via the D /
[0026]
D. Operation of the embodiment
Next, the operation of the embodiment having the above configuration will be described with reference to FIGS. Hereinafter, the processing of the main routine will be described first as an overall operation, and then the processing contents of various routines and interrupt routines called in this main routine will be described in order.
(1) Main routine operation
First, when the power is turned on to the electronic musical instrument according to the present embodiment, the
That is, in step SA1, the three types of registers i, j, and k in which the program counter values are set are reset to zero, respectively, while the initial values are set in the registers frame_end, win_end, ana_step, k_end, and frame.
[0027]
Here, the register frame_end is a register in which the number of analysis frames (windows) is stored. In this example, “30” frames are initially set. The register win_end is a register in which the number of samplings constituting one frame is stored. In this example, “1440” is set.
The register ana_step is a register in which the number of samplings between frames to be analyzed is stored. In this example, “960” is set. The register k_end stores the order of the Percoll coefficient to be analyzed. In this example, “20” is set. The register frame is a register in which the number of the frame currently being processed is stored. In this case, the register is reset to zero.
[0028]
After the initialization, the
On the other hand, when the sampling switch SS is not turned on, the determination result is “NO”, and the process proceeds to the next Step SA4.
At step SA4, it is determined whether or not the edit switch ES among the various switches arranged on the
[0029]
In step SA6, it is determined whether or not the analysis switch AS has been turned on. Here, when the switch AS is turned on to perform Percoll analysis on the sampled audio data, the determination result is “YES”, and the process proceeds to Step SA7 to execute an analysis processing routine described later. On the other hand, when the switch AS is not turned on, the determination result is “NO”, and the process proceeds to Step SA8.
When the "sampling process routine", "edit process routine" and "analysis process routine" executed through steps SA3, SA5 and SA7 described above are completed, the process proceeds to step SA8, and the performance process described later is performed. Execute the routine. Then, after that, the
[0030]
As described above, in the main routine, the “sampling processing routine”, the “edit processing routine”, and the “analysis processing routine” are executed in response to the switch event generated after the initialization, and the characteristic parameters (Percoll coefficient) obtained based on these processing are executed. And the residual wave power) is controlled in accordance with the performance data.
Normally, the audio signal is first sampled by a "sampling processing routine", and then the feature parameters (Percoll coefficient and residual wave power) for each analysis frame are extracted by an "analysis processing routine". Subsequently, if necessary, the extracted characteristic parameters are edited by the "edit processing routine", and the process of adjusting the singing voice to be synthesized in the performance processing routine is followed. Hereinafter, the operation of each routine will be described according to such a process.
[0031]
(2) Operation of timer interrupt processing routine
The
The timer flag set in the register time is reset to zero after the analysis frame is updated.
[0032]
(3) Operation of sampling processing routine
When the sampling switch SS provided on the
In step SC1, the standby state is set until the start switch STS for instructing the start of sampling is turned on. When the switch STS is turned on, the determination result is "YES", The process proceeds to the next step SC2, and the register i is reset to zero.
[0033]
Next, in step SC3, it is determined whether the value of the register i has reached frame_end × ana_step, that is, whether the specified number of samplings have been completed. Here, if not completed, the determination result is “NO”, and the process proceeds to the next Step SC4. In step SC4, the audio data xi sampled in correspondence with the value of the register i is stored in the
[0034]
(4) Operation of analysis processing routine
As described above, when the sampled audio data xi is stored in the
Then, the
[0035]
In step SD1, it is determined whether the value of the register i has reached the last frame value stored in the register frame_end, that is, whether or not the parcall analysis has been completed. When the analysis is completed, the determination result is "YES" and the routine ends, but otherwise, the determination result is "NO" and the process proceeds to the next step SD2.
In step SD2, it is determined whether or not the value of the register j has reached the value of the register win_end. Here, if the Parcall analysis has not been completed for the audio data xi for one frame, the determination result is “NO”, and the flow proceeds to the next Step SD3.
[0036]
In step SD3, the voice data xi sequentially read from the
In step SD4, the registers j and Z are temporarily reset to zero, respectively. In step SD5, it is determined whether or not the sum of squares of the analysis data windowed in step SD3 has been obtained for one frame. When the sum of squares has not been calculated for the analysis data for one frame, the determination result is “NO”, and the process proceeds to Step SD6 where the analysis data stored in the register wave1 [j] is squared and accumulated. .
[0037]
When the sum of squares has been calculated, the result of the determination in step SD5 becomes "YES", the process proceeds to the next step SD7, and the value of the register j is reset to zero.
Next, the
[0038]
When the value of the register wave1 has been copied to the register wave2 in this manner, the result of the determination in step SD8 becomes "YES", and the process proceeds to the next step SD10. At Step SD10, the registers j and k are reset to zero.
Subsequently, when the process proceeds to step SD11, the
Note that the registers k [frame] [0] to k [frame] [k_end] are two-dimensional array elements whose elements are determined by the value of the register frame and the value of the register k_end.
[0039]
Next, in step SD12, it is determined whether or not the value of the register k has reached the value of the register k_end, that is, whether or not the feature parameters for one frame have been extracted. Here, when the extraction of the characteristic parameters is completed, the determination result is set to “YES” to proceed with the analysis for the next frame, and the process returns to step SD1 (see FIG. 10).
On the other hand, if the extraction of the feature parameters is not completed, the determination result is “NO”. In this case, the steps SD13 to SD17 are executed according to the value of the register k to execute the linear prediction error between the analysis data in one frame. Is performed, and the extracted Percoll coefficients are sequentially stored in registers k [frame] [0] to k [frame] [k_end].
When the process of calculating the correlation coefficient (Percoll coefficient) is completed, the determination result in step SD16 becomes "YES", and the process proceeds to step SD18 to execute a residual wave power calculation processing routine (described later). Then, the process returns to step SD12.
[0040]
(5) Operation of residual wave power calculation processing routine
When the residual wave power calculation processing routine is executed through step SD18 described above, the
[0041]
When the residual wave power af per analysis frame is calculated, the result of the determination in step SE2 is “YES”, and the process proceeds to the next step SE4. In step SE4, the
The predetermined value is a threshold for determining whether the voice subjected to the percall analysis corresponds to “voiced sound” or “unvoiced sound”. Here, when the residual wave power af is larger than a predetermined value, the voice subjected to the percall analysis is regarded as "voiced sound" and the routine is terminated. "NO", in this case, the process proceeds to step SE5, and the residual wave power af is set to "0".
[0042]
(6) Operation of edit processing routine
When editing the characteristic parameters (Percoll coefficient and residual wave power) stored in the
When the switch ES is turned on, the
[0043]
(1) Operation when the frame increment switch INC is operated
To advance the analysis frame to be edited, the frame increment switch INC is operated. When the switch INC is turned on, the result of determination in step SF1 is "YES", and the process proceeds to step SF2. In step SF2, the value of the register "frame" is incremented by one and the value is incremented by one, and in the following step SF3, the characteristic parameters (Percoll coefficient and residual wave power) of the corresponding frame from the
[0044]
(2) Operation when the frame decrement switch DEC is operated
When retreating the analysis frame to be edited, the frame decrement switch DEC is operated. When the switch DEC is turned on, the process proceeds to step SF4 via step SF1, where the determination result is “YES” and the process proceeds to step SF5.
In step SF5, the value of the register frame is decremented by 1, and the process proceeds to step SF3. In step SF3, the characteristic parameters (Percoll coefficient and residual wave power) of the corresponding frame are read from the
[0045]
(3) Operation when the frame delete switch DEL is operated
In order to reduce the amount of data by deleting analysis frames with little change, the frame delete switch DEL is operated. When the switch DEL is turned on, the process proceeds to step SF6 via the above-described steps SF1 and SF4, where the determination result is “YES”, and the process proceeds to step SF7.
Then, in step SF7, the value of the register frame is stored in the register i, and in step SF8, it is determined whether or not the value of the register i is the last frame. Here, if it is the last frame, the feature parameters of the last frame are deleted, and the process returns to step SF1.
On the other hand, if it is not the last frame, the determination result is “NO”, the process proceeds to step SF9, the analysis frame corresponding to the value of the register i is deleted, and the subsequent frame numbers are incremented by one.
[0046]
(4) Operation when the stop set switch SET is operated
When an analysis frame corresponding to a vowel portion having a small change in the Percoll coefficients K1 to Kn is found, the stop set switch SET is turned on to set a stop flag in a stop bit STB provided in the most significant bit MSB of the characteristic parameter.
When the switch SET is turned on, the
[0047]
(5) Operation when the stop reset switch RESET is operated
On the other hand, when resetting the stop flag provided in response to the operation of the stop set switch SET, the stop reset switch RESET is operated. When the switch RESET is turned on, the result of the determination in step SF12 becomes "YES", the process proceeds to the next step SF13, and the stop flag of the most significant bit MSB of the register af [frame] is reset to zero.
(6) Operation when the exit switch EXIT is operated
When the exit switch EXIT is turned on to end the editing process, the result of the determination in step SF14 becomes "YES", the present routine is completed, and the process returns to the main routine.
[0048]
(7) Operation of performance processing routine
When the performance processing routine shown in FIGS. 15 and 16 is started via the above-described main routine step SA8 (see FIG. 7), the
Here, if the stop bit is "0", the determination result is "YES", and the process proceeds to the next step SG2. In step SG2, it is determined whether the value of the register time is "1", that is, whether it is under the timing to transfer the characteristic parameter to the DSP 15 (see FIG. 6).
[0049]
It is assumed that the value of the register time has been set to "1" by the operation of the timer interrupt processing routine described above. Then, since it is time to transfer the characteristic parameters to the DSP 15, the determination result is "YES" and the process proceeds to Step SG3.
In step SG3, the residual wave power af read from the register af [frame] and the registers k [frame] [0] to k [frame] [k_end-1] are transferred to the DSP 15 respectively. Then, when the transfer of the characteristic parameter is completed, the register frame is incremented by one and the step is advanced, while the register time is reset to zero, and the input volume is instructed to the DSP 15 according to the value of the Percoll coefficient K1. Thereafter, the
In step SG2, when the value of the register "time" is "0", it is not the timing to transfer the characteristic parameter to the DSP 15, so that the process proceeds to step SG7 described later in this case as well.
[0050]
On the other hand, if the stop flag is "1", the result of the determination at step SG1 is "NO", and the process proceeds to step SG4. In step SG4, it is determined whether or not a note-on instruction has been received. Here, when the note-on is made, the determination result is “YES”, and the routine proceeds to the next step SG5.
In step SG5, it is determined whether it is under the timing to transfer the characteristic parameter to the DSP 15 (see FIG. 6). If it is not the transfer timing, the determination result is “NO”, and the process proceeds to Step SG7 described below.
On the other hand, if it is the transfer timing, the determination result is “YES”, and the process proceeds to Step SG6.
[0051]
In step SG6, the
[0052]
Next, in step SG7 shown in FIG. 16, it is determined whether or not the last frame has been reached. Here, when the last frame has been reached, the determination result is “YES”, the process proceeds to the next step SG8, the value of the register “frame” is reset to zero, and then the process proceeds to step SG9. On the other hand, if the last frame has not been reached, the process proceeds to step SG9 without performing any processing.
When proceeding to step SG9, the
[0053]
On the other hand, when a performance event has occurred, the determination result is "YES", and the process proceeds to the next step SG10. In step SG10, it is determined whether or not the event is note-on. If it is note-on, the determination result is "YES", and the process proceeds to Step SG11 to turn on the excitation unit 5 (see FIG. 6). That is, when the Percall coefficient of the current analysis frame corresponds to "voiced sound", the
On the other hand, if the event that has occurred is not note-on, the result of the determination in step SG10 is "NO", and the flow advances to step SG13 to turn off the output of the signal OSC or the white noise WN to the
[0054]
As described above, in the performance processing routine, when note-on is given as performance data, the feature parameters are sequentially read out and input to the DSP 15 until the frame in which the stop flag is "1", and the stop flag is set to "1". When the frame set to becomes a reading target, the update reading of the frame is temporarily stopped. Then, when the next note-on occurs, the feature parameters are sequentially read out until the frame in which the stop flag is set again and given to the DSP 15 to synthesize the voice.
The DSP 15 performs Percoll synthesis based on the Percoll coefficients K1 to Kn and the residual wave power Af transferred from the
[0055]
As described above, in the present embodiment, the sampled voice is subjected to Percoll analysis to extract feature parameters, and the extracted feature parameters are percall-synthesized according to the performance data. It is possible to form a musical tone.
Further, in this embodiment, a stop bit STB is provided in the most significant bit MSB of the characteristic parameter, and in a vowel portion where the characteristic parameter does not change much, a stop flag “1” is set in the stop bit in the STB, and the front and rear similarity are set. The amount of data can be greatly reduced by deleting the analysis frame having the characteristic parameter. In addition, this makes it easy to synthesize a singing voice according to the performance data.
[0056]
E. FIG. Modified example
Next, a description will be given of a modification in which a human voice sound synthesized by using the musical
FIG. 17 shows a form in which the audio signal used for the Percoll analysis is supplied from the
[0057]
In the case of the embodiment shown in FIG. 18, the
[0058]
In the above-described embodiment, the analysis frame to be subjected to speech synthesis is updated according to the note-on. However, the present invention is not limited to this. For example, the analysis frame is updated according to the note-off or velocity to sequentially perform the percall synthesis. It is good also as an aspect which performs.
[0059]
【The invention's effect】
According to the present invention, the voice analysis means analyzes the voice signal sampled in time series to extract characteristic parameters, and stores them in the parameter storage means. When the characteristic parameter is read from the parameter storage means and an excitation signal corresponding to the performance information is generated, the voice synthesis means synthesizes the voice according to the characteristic parameter read from the parameter storage means and the excitation signal. A human voice can be formed as a natural singing tone.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of an embodiment according to the present invention.
FIG. 2 is a block diagram showing a configuration of a
FIG. 3 is a diagram for explaining an analysis frame in the embodiment.
FIG. 4 is a diagram for explaining a feature parameter storage mode of a
FIG. 5 is a block diagram showing a configuration of a
FIG. 6 is a block diagram showing a specific configuration of the embodiment.
FIG. 7 is a flowchart showing an operation of a main routine in the embodiment.
FIG. 8 is a flowchart showing an operation of a timer interrupt processing routine in the embodiment.
FIG. 9 is a flowchart showing an operation of a sampling processing routine in the embodiment.
FIG. 10 is a flowchart showing an operation of an analysis processing routine in the embodiment.
FIG. 11 is a flowchart showing an operation of an analysis processing routine in the embodiment.
FIG. 12 is a flowchart showing an operation of a residual wave power calculation processing routine in the embodiment.
FIG. 13 is a flowchart showing an operation of an edit processing routine in the embodiment.
FIG. 14 is a flowchart showing an operation of an edit processing routine in the embodiment.
FIG. 15 is a flowchart showing an operation of a performance processing routine in the embodiment.
FIG. 16 is a flowchart showing the operation of a performance processing routine in the embodiment.
FIG. 17 is a diagram illustrating a modification.
FIG. 18 is a diagram for explaining a modified example.
[Explanation of symbols]
2 Percoll analysis system (voice analysis means)
3 feature parameter storage unit (parameter storage means)
4 control section (musical sound control means)
5 Exciter (musical sound control means)
6 Percoll synthesis system (voice synthesis means)
Claims (3)
この音声分析手段が抽出した特徴パラメータと、オンおよびオフのいずれかの状態をとるストップフラグを、分析フレーム毎に記憶するパラメータ記憶手段と、
演奏情報に応じた前記パラメータ記憶手段からの特徴パラメータの読み出しを前記ストップフラグがオン状態である分析フレームで一時停止するとともに、次の演奏情報の発生に応じて一時停止の分析フレームから特徴パラメータの読み出しを再開する一方、当該演奏情報に対応した励振信号を発生する楽音制御手段と、
前記パラメータ記憶手段から読み出される特徴パラメータと前記励振信号とに応じて音声合成する音声合成手段と
を具備することを特徴とする楽音発生装置。Voice analysis means for analyzing a time-series sampled voice signal for each analysis frame and extracting feature parameters;
Parameter storage means for storing, for each analysis frame, a feature parameter extracted by the voice analysis means , and a stop flag in one of an on state and an off state ;
The reading of characteristic parameters from the parameter storage means according to the performance information is paused at the analysis frame in which the stop flag is on, and the characteristic parameters are read from the analysis frame of the pause at the next performance information generation. Music control means for generating an excitation signal corresponding to the performance information while resuming reading ,
A musical sound generating device comprising: a voice synthesizing unit that synthesizes voice according to a characteristic parameter read from the parameter storage unit and the excitation signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03301396A JP3567587B2 (en) | 1996-01-25 | 1996-01-25 | Tone generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03301396A JP3567587B2 (en) | 1996-01-25 | 1996-01-25 | Tone generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09204185A JPH09204185A (en) | 1997-08-05 |
JP3567587B2 true JP3567587B2 (en) | 2004-09-22 |
Family
ID=12374939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03301396A Expired - Fee Related JP3567587B2 (en) | 1996-01-25 | 1996-01-25 | Tone generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3567587B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006337450A (en) * | 2005-05-31 | 2006-12-14 | Casio Comput Co Ltd | Device and program for generation of musical sound |
JP2010002937A (en) * | 2009-10-07 | 2010-01-07 | Casio Comput Co Ltd | Speech analysis and synthesis device, speed analyzer, speech synthesizer, and program |
JP6569712B2 (en) * | 2017-09-27 | 2019-09-04 | カシオ計算機株式会社 | Electronic musical instrument, musical sound generation method and program for electronic musical instrument |
JP7544076B2 (en) * | 2022-01-19 | 2024-09-03 | カシオ計算機株式会社 | Information processing device, electronic musical instrument, electronic musical instrument system, method, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60100199A (en) * | 1983-11-04 | 1985-06-04 | ヤマハ株式会社 | Electronic musical instrument |
JP2745865B2 (en) * | 1990-12-15 | 1998-04-28 | ヤマハ株式会社 | Music synthesizer |
JP2800465B2 (en) * | 1991-05-27 | 1998-09-21 | ヤマハ株式会社 | Electronic musical instrument |
-
1996
- 1996-01-25 JP JP03301396A patent/JP3567587B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09204185A (en) | 1997-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3985814B2 (en) | Singing synthesis device | |
JP2763322B2 (en) | Audio processing method | |
JP3294604B2 (en) | Processor for speech synthesis by adding and superimposing waveforms | |
JP2921428B2 (en) | Karaoke equipment | |
US5682502A (en) | Syllable-beat-point synchronized rule-based speech synthesis from coded utterance-speed-independent phoneme combination parameters | |
Bonada et al. | Expressive singing synthesis based on unit selection for the singing synthesis challenge 2016 | |
CN111696498A (en) | Keyboard musical instrument and computer-implemented method of keyboard musical instrument | |
JP3567587B2 (en) | Tone generator | |
JP3518253B2 (en) | Data editing device | |
JP5360489B2 (en) | Phoneme code converter and speech synthesizer | |
JP3379348B2 (en) | Pitch converter | |
JP2740510B2 (en) | Text-to-speech synthesis method | |
JPH1031496A (en) | Musical sound generating device | |
JP3233036B2 (en) | Singing sound synthesizer | |
JP2536169B2 (en) | Rule-based speech synthesizer | |
JP2642617B2 (en) | Speech synthesizer | |
JP2866086B2 (en) | Residual driven speech synthesis method | |
JPH05224689A (en) | Speech synthesizing device | |
JP2004061753A (en) | Method and device for synthesizing singing voice | |
JP2956069B2 (en) | Data processing method of speech synthesizer | |
JP3173310B2 (en) | Harmony generator | |
JP3284634B2 (en) | Rule speech synthesizer | |
Siivola | A survey of methods for the synthesis of the singing voice | |
JPH01118200A (en) | Voice synthesization system | |
JP2548107B2 (en) | Speech synthesis method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040315 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |