JP3834804B2 - Musical sound synthesizer and method - Google Patents
Musical sound synthesizer and method Download PDFInfo
- Publication number
- JP3834804B2 JP3834804B2 JP05990697A JP5990697A JP3834804B2 JP 3834804 B2 JP3834804 B2 JP 3834804B2 JP 05990697 A JP05990697 A JP 05990697A JP 5990697 A JP5990697 A JP 5990697A JP 3834804 B2 JP3834804 B2 JP 3834804B2
- Authority
- JP
- Japan
- Prior art keywords
- phoneme
- time
- formant
- articulation
- information
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/455—Gensound singing voices, i.e. generation of human voices for musical applications, vocal singing sounds or intelligible words at a desired pitch or with desired vocal effects, e.g. by phoneme synthesis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/481—Formant synthesis, i.e. simulating the human speech production mechanism by exciting formant resonators, e.g. mimicking vocal tract filtering as in LPC synthesis vocoders, wherein musical instruments may be used as excitation signal to the time-varying filter estimated from a singer's speech
Description
【0001】
【発明の属する技術分野】
この発明は、所望のフォルマントにしたがう自然な楽音を合成する楽音合成装置および方法に関する。
【0002】
【従来の技術】
従来より、人が発する音声には所定のフォルマントが存在し、これにより音声が特徴づけられていることが知られている。一方、楽音合成装置で音声を合成して所望の音高で出力することにより歌を唄わせる試みがなされている。
【0003】
【発明が解決しようとする課題】
このように楽音合成装置で歌唱させる場合、より自然な合成音を得ることが求められている。特に、音高(ピッチ)を含む各種の演奏情報が変化した場合でも、それらの演奏情報に適応して自然な歌声を合成できるようにすることが求められている。
【0004】
この発明は、フォルマント合成音源を用いて歌唱させる場合に、より自然な合成音を得ることができ、特にピッチを含む各種の演奏情報の変化に適応した自然な歌声を合成することが可能な楽音合成装置および方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
この目的を達成するため、請求項1に係る発明は、唄わせる歌詞の音素を表す歌詞情報と少なくともピッチ情報を含む演奏情報とを入力する入力手段と、音素を指定する情報とピッチを指定する情報と当該音素の発音開始からの経過時間とを引数として与えると、それらに対応したフォルマントパラメータが出力される音素データベースと、上記音素データベースを参照して、上記入力手段により入力した歌詞情報およびピッチ情報と当該歌詞情報が示す音素の発音開始からの経過時間とに対応するフォルマントパラメータを求める手段と、求めたフォルマントパラメータに応じたフォルマントを有する音声を、上記ピッチ情報に応じたピッチで、合成出力するフォルマント合成音源とを備えた楽音合成装置において、前後の音素の組み合わせ毎に、前の音素から後の音素に移行する際の補間時間である調音結合時間を記憶した調音結合データベースと、新たな音素の発音が指示された場合には、現在発音中の音素があるか否かを検出し、あったときには、当該発音中の音素から新たな音素へ移行する際に用いる調音結合時間を、前記調音結合データベースから取り出す手段と、前記調音結合時間をかけて前記発音中の音素のフォルマントパラメータから新たな音素のフォルマントパラメータへと移行するように、補間して求めたフォルマントパラメータを順次前記フォルマント合成音源に出力する補間手段とを備えたことを特徴とする。
【0006】
請求項2に係る発明は、請求項1において、前記補間手段は、前記取り出した調音結合時間と前記新たな音素のデュレーションタイムとを比較し、前記調音結合時間が前記デュレーションタイムよりも長い場合は、前記調音結合時間を前記デュレーションタイムに一致させるものであることを特徴とする。
【0007】
請求項3に係る発明は、唄わせる歌詞の音素を表す歌詞情報と少なくともピッチ情報を含む演奏情報とを入力する入力ステップと、音素を指定する情報とピッチを指定する情報と当該音素の発音開始からの経過時間とを引数として与えると、それらに対応したフォルマントパラメータが出力される音素データベースを用いて、上記入力手段により入力した歌詞情報およびピッチ情報と当該歌詞情報が示す音素の発音開始からの経過時間とに対応するフォルマントパラメータを求めるステップと、求めたフォルマントパラメータに応じたフォルマントを有する音声を、上記ピッチ情報に応じたピッチで、合成出力するステップとを備えた楽音合成方法において、前後の音素の組み合わせ毎に、前の音素から後の音素に移行する際の補間時間である調音結合時間を記憶した調音結合データベースを設けるとともに、新たな音素の発音が指示された場合には、現在発音中の音素があるか否かを検出し、あったときには、当該発音中の音素から新たな音素へ移行する際に用いる調音結合時間を、前記調音結合データベースから取り出すステップと、前記調音結合時間をかけて前記発音中の音素のフォルマントパラメータから新たな音素のフォルマントパラメータへと移行するように、補間して求めたフォルマントパラメータを順次前記フォルマント合成音源に出力する補間ステップとを備えたことを特徴とする。
請求項4に係る発明は、請求項3に記載の発明において、前記補間ステップは、前記取り出した調音結合時間と前記新たな音素のデュレーションタイムとを比較し、前記調音結合時間が前記デュレーションタイムよりも長い場合は、前記調音結合時間を前記デュレーションタイムに一致させるステップとをさらに備えたことを特徴とする。
【0009】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【0010】
図1は、この発明に係る楽音合成装置(歌唱シンセサイザ)のシステム構成を示す。この楽音合成装置は、中央処理装置(CPU)101、MIDI(Musical Instrument Digital Interface)インタフェース102、データメモリデバイス104、ワーキングメモリ106、プログラムメモリ107、設定操作子109、ディスプレイ111、ネットワークインターフェース112、フォルマント合成音源115、サウンドシステム116、およびシステム共通バス117を備えている。101,104,106〜109,111,112,115の各部は、システム共通バス117に接続されている。サウンドシステム116をシステム共通バス117に接続してCPU101から制御できるようにしてもよい。
【0011】
CPU101は、この楽音合成装置全体の動作を制御する。CPU101は、MIDIインタフェース102を介して、外部のMIDI機器群103との間でMIDI方式メッセージを送受信する機能を有する。データメモリデバイス104は、各種のデータを記憶する記憶装置であり、具体的には、半導体メモリ、フロッピーディスク装置(FDD)、ハードディスク装置(HDD)、光磁気(MO)ディスク装置、およびICメモリカード装置などのローカルデータ記憶装置105である。特に、データメモリデバイス104は、MIDIデータで演奏データや歌詞データなどを格納している。ローカルデータ記憶装置105としては、上記に例示したもののほかにも、様々な形態のメディアを利用する装置が使用できる。
【0012】
ワーキングメモリ106は、CPU101が動作する際にワーク領域として使用するRAM(ランダムアクセスメモリ)であり、各種のレジスタ、フラグ、およびバッファなどに使用する。プログラムメモリ107は、CPU101が実行する制御プログラムや各種定数データなどを格納したROM(リードオンリメモリ)である。設定操作子109は、ユーザが操作する各種スイッチなどの操作子であり、例えば通常のパーソナルコンピュータで用いられているマウス110やキーボードなどでよい。ディスプレイ111は、各種の情報を表示するために使用する表示装置である。
【0013】
ネットワークインターフェース112は、電話回線などの公衆回線やイーサネット(Ethernet)などのローカルエリアネットワーク(LAN)に接続するためのインターフェースである。いわゆるパソコン通信やインターネットなどに接続するためのインターフェースでもよい。このネットワークインターフェース112を介して、各種のネットワーク113に接続することにより、外部のサーバやホストコンピュータから(具体的には、それらに接続されたリモートデータ記憶装置114などから)各種のプログラムやデータをダウンロードすることができる。
【0014】
フォルマント合成音源115は、CPU101からの指示(フォルマントパラメータなど)に応じて、指定されたフォルマントの音声を指定された音高で生成出力する。フォルマント合成音源115から出力された音声信号は、サウンドシステム116により放音される。
【0015】
この楽音合成装置では、データメモリ104から読み出したMIDI形式の歌詞データ(唄わせる歌詞を指定するデータ)および演奏データ(音高などの演奏情報を指定するデータ)や、MIDIインターフェース102を介してMIDI機器103から入力した歌詞データおよび演奏データにしたがって、歌唱発音を行なうことができる。歌詞データおよび演奏データは、別に接続した演奏操作子(例えば鍵盤など)108から入力したMIDIデータを用いてもよいし、ネットワークインターフェース112を介して外部のネットワーク113から入力したMIDIデータを用いてもよい。この場合、入力したデータをリアルタイムに処理して歌唱させてもよいし、一旦、データメモリデバイス104(ローカルデータ記憶装置105)に格納した後、それを読み出して処理することにより歌唱させてもよい。歌詞データと演奏データとを別の系列から入力するようにしてもよい。例えば、データメモリデバイス104にあらかじめ格納されている歌詞データの歌詞を、演奏操作子108からリアルタイムに入力する演奏データの音高で、歌唱させるようにすることもできる。以上のように、歌詞データと演奏データはどのような方式で用意してもよい。
【0016】
このような歌唱発音は、CPU101の制御のもとで行なわれる。すなわち、CPU101は、上述のように各種の方式で用意された歌詞データと演奏データを入力し、後述の図4〜図9で説明するような処理でフォルマント合成音源115に発音指示を出し、これにより歌唱させる。この際CPU101が実行する制御プログラムはROMであるプログラムメモリ107に格納されているものであるが、プログラムメモリ107をROMの代わりにRAMで構成し、ローカルデータ記憶装置105に制御プログラムを格納しておき、該制御プログラムを必要に応じてRAMであるプログラムメモリ107にロードして実行するようにしてもよい。このようにすれば、制御プログラムの追加やバージョンアップなどが容易に行なえる。特に、CD−ROMなどの着脱可能な記録媒体に記憶されている本発明に係る制御プログラムや各種データをHDDなどのローカルデータ記憶装置105にインストールして使用するようにすれば、制御プログラムやデータの新規インストールやバージョンアップなどが容易に行なえる。また、CPU101が実行する制御プログラムは、ネットワークインターフェース112を介してネットワーク経由でダウンロードしたものでもよい。その際、ネットワークからダウンロードした制御プログラムを一旦ローカルデータ記憶装置105に格納し必要に応じてRAM構成のプログラムメモリ107にロードして実行するようにしてもよいし、ネットワークからダウンロードした制御プログラムを直接RAM構成のプログラムメモリ107にロードして実行するようにしてもよい。
【0017】
このような楽音合成装置は、各種の形態で実現可能である。例えば、シンセサイザ、音源モジュールなどの電子楽器に適用してもよいし、いわゆるマルチメディアパソコンに適用してもよい。汎用のパーソナルコンピュータに音源ボードを装着し、外部の鍵盤などのMIDI機器から演奏情報(MIDI入力)を入力するMIDIインターフェースを装着して、必要なソフトウエアを実行することで実現することもできる。
【0018】
図2は、本発明に係る図1の楽音合成装置で歌唱させる場合の処理概要を示す図である。演奏データ201や歌詞データ202は、上述したような各種の方式でMIDIデータでCPU101に入力する。演奏データ201は、音高(ピッチ)情報やベロシティ情報などを含むノートオンとノートオフである。歌詞データ202は、演奏データ201で指定した音符で発音すべき歌詞(音素データ)を示す。歌詞データ202は、MIDIのシステムエクスクルーシブなどの形式で作成する。例えば、「さいた」という歌詞(音素で表わすと「saita」)を順次C3,E3,G3の音高で唄わせる場合、演奏データ201と歌詞データ202は、例えば以下のようなシーケンス(1)でCPU101に入力させる。・s<20>a<00>
・C3のノートオン
・C3のノートオフ
・i<00>
・E3のノートオン ………(1)
・E3のノートオフ
・t<02>a<00>
・G3のノートオン
・G3のノートオフ
【0019】
なお、ここではノートオンメッセージの前にその音符で発音すべき歌詞データを送るようにしている。s,a,i,tはそれぞれ音素を示し、音素に続く<>内の数値はその音素のデュレーションタイム(持続時間)を示す。ただし、<00>は次の音素のノートオンが来るまでその音素を持続させて発音することを示す。歌詞データs<20>a<00>とi<00>とt<02>a<00>とは、それぞれ、所定のシステムエクスクルーシブのスタートを表すコードとエンドを表すコードに挟まれたデータであり、歌詞データであることが分かるようになっている。以下では、s<20>a<00>のような1ノート中で発音する歌詞のシーケンスをフォーンシーケンス(phoneSEQ)と呼び、歌詞データバッファ210をフォーンシーケンスバッファ(phoneSEQバッファ)と呼ぶものとする。
【0020】
このようなシーケンス(1)を受信したCPU101は、以下のように動作する。まず始めに、フォーンシーケンスs<20>a<00>を受信すると、そのフォーンシーケンスをフォーンシーケンスバッファ210に記憶しておく。フォーンシーケンスバッファ210は、ワーキングメモリ106内に用意してあるバッファである。次に、「C3のノートオン」を受信すると、CPU101は、フォーンシーケンスバッファ210を参照して発音させる歌詞s<20>a<00>を知り、その歌詞を指定音高「C3」で発生するようにフォルマントパラメータを算出してフォルマント合成音源115に送出する。フォルマントパラメータは、所定時間(ここでは5msec)ごとに送出する。これにより、歌詞s<20>a<00>の音高「C3」での発音が行なわれる。
【0021】
次に「C3のノートオフ」を受信するが、直前にa<00>が指定されているので、次のノートオンまで「a」を持続させるため、CPU101は受信した「C3のノートオフ」を無視する。次に発音すべきフォーンシーケンスi<00>を受信するとそのフォーンシーケンスをフォーンシーケンスバッファ210に記憶し、「E3のノートオン」を受信すると、CPU101は、フォーンシーケンスバッファ210を参照して発音させる歌詞i<00>を知り、その歌詞を指定音高「E3」で発生するようにフォルマントパラメータを算出してフォルマント合成音源115に送出する。以下、「ta」の発音も同様の処理により行なう。
【0022】
フォルマントパラメータは、時系列データであり、CPU101から所定の時間間隔でフォルマント合成音源115に転送する。所定の時間間隔とは、通常、人の音声の特徴を出して発音するには、例えば数msec間隔程度の低レートでよい。この実施の形態では5msecごととした。この時間間隔で逐次フォルマントを時間的に変化させることにより、人の音声の特徴を出して歌を唄わせる。フォルマントパラメータとしては、例えば、有声音/無声音の別、フォルマント中心周波数、フォルマントレベル、およびフォルマントバンド幅(周波数軸上でのフォルマントの形状を規定するパラメータ)などがある。
【0023】
CPU101は、入力したフォーンシーケンス202と演奏データ201に基づいてフォルマントパラメータを算出するが、その際、音素データベースと調音結合データベースを参照する。音素データベースと調音結合データベースは、あらかじめローカルデータ記憶装置105に用意されており、それをワーキングメモリ106にロードして使用するものとする。何種類かの発音声質(個人差、男声、女声など)で歌唱させることができるように、声質ごとに各種用意した音素データベースと調音結合データベースを選択して用いることができるようにしてもよい。
【0024】
図3は、音素データベースの参照方式の概念図である。301は音素データベースを示す。音素データベース301は、各音素ごとのフォルマントパラメータを集めたものである。302−1,302−2,302−3,…,302−N(Nは音素の数)は、それぞれ、一つの音素のフォルマントパラメータを集めたものを示す。一つの音素のフォルマントパラメータの集まり(例えば302−1)とは、当該音素の発音開始からの経過時間とその時点のピッチとを入力すると対応するフォルマントパラメータが一意に出力されるようなデータベースである。したがって、音素データベース301は、音素を特定する音素ナンバ、ピッチ、およびその音素の発音開始からの経過時間を入力し、該入力データに応じたフォルマントパラメータを出力するデータベースである。その形態はどのようなものでもよい。例えば、テーブルの形態でもよいし、入力データの範囲を所定のセグメントに分けて各セグメントごとにフォルマントパラメータを保持しておき入力データに応じた補間処理を行なって出力するようなものでもよい。また、連続データあるいは数式データの形態でもよい。
【0025】
なお、図3では音素データベース301のフォルマントパラメータとしてフォルマント周波数およびフォルマントレベルのグラフ305,306のみを例示したが、フォルマントパラメータというときは、フォルマント周波数およびフォルマントレベルに限らず、フォルマントバンド幅などの他のフォルマントパラメータを含んでいてもよい。また図3では、時間軸方向の次元は省略し、音素ナンバと矢印307のように入力するピッチに応じてフォルマント周波数およびフォルマントレベルが定まる様子を示した。
【0026】
CPU101が音素データベースを参照する際に使用するピッチは、303に示すように、ノートオンで指定される基本的なピッチデータにピッチベンドデータおよびその他のピッチ生成データを加算した値である。歌声のフォルマント(特にフォルマント周波数)は、ピッチに応じて音素ごとに異なる変化をする。本実施の形態では、ピッチに応じたフォルマントパラメータを出力するように音素データベースを構成しているので、ピッチに応じたフォルマントの変化を合成音声でシミュレートでき、自然な歌声を合成することが可能である。なお、304に示すように、ベロシティデータ、ボリュームデータ、およびその他レベル生成データを加算した値を、ピッチデータに反映させても良い。ベロシティ、ボリューム、およびその他レベルデータは、ピッチを変化させる場合があるので、そのピッチの変化をフォルマントパラメータに反映させるということである。特に、CPU101の処理速度が速ければ、フォルマントパラメータを音源115に出力するタイミングの都度、その時点のピッチを反映させてフォルマントパラメータを算出するとよい。
【0027】
図4は、この楽音合成装置の電源がオンされたときにCPU101が実行するメインプログラムの手順を示す。まずステップ401で、各種の初期設定を行なう。特に、後述する発音フラグHFLAGは0に初期設定する。次にステップ402で各種のイベントを待つ。イベントが発生したときは、発生したイベントをステップ403で判別し、それぞれに応じた処理404〜406を実行し、再びステップ402に戻る。ステップ404は、MIDIメッセージを受信したときに実行されるMIDI受信処理である。ステップ405は,MIDI受信バッファ中のデータを処理するためのMIDIデータ処理である。このMIDIデータ処理は、他のイベントが発生せずタスクが空いているとき繰り返し実行される。その他、各種のイベントが発生したときには発生したイベントに応じた処理(ステップ406)を行なう。
【0028】
図5は、図4のステップ404のMIDI受信処理の手順を示す。MIDI受信処理では、ステップ501で、受信したMIDIメッセージをMIDI受信バッファ(ワーキングメモリ106内に確保されている)へ書き込み、リターンする。
【0029】
図6は、図4のステップ405のMIDIデータ処理の手順を示す。まず、ステップ601で、MIDI受信バッファより1バイトを取り込む。次にステップ602で、取り込んだ1バイトデータがステータスバイト(最上位ビットが1)であるか否か判別する。ステータスバイトであるときは、ステップ604で、ステータスバイト以降のデータバイトを取り込み、ステータスバイトとともに所定のバッファに記憶し、ステップ605に進む。ステップ602でステータスバイトでないときは、ステップ603でその他の処理を行なった後、リターンする。なお、ステータスバイトを取り込んだ時点でMIDI受信バッファに以降に続くデータバイトが受信されているとは限らないので、ステップ603でステータスバイトに引き続くデータバイトを順次取り込み、1メッセージ分が取り込まれた時点でステップ604に進むようにしてもよい。ステップ604の時点では、一つのMIDIメッセージが所定のバッファに取り込まれていることになる。
【0030】
ステップ605では、受信したMIDIメッセージの各ステータスごとに処理を分岐する。ノートオンであるときは、図7のノートオン処理に進む。ノートオフであるときは、図8のノートオフ処理に進む。システムエクスクルーシブであるときは、ステップ607に進み、当該MIDIメッセージがフォーンシーケンスのメッセージであるか否かを判別する。フォーンシーケンスであるときは、ステップ608で、当該フォーンシーケンスをフォーンシーケンスバッファへ書き込み、リターンする。ステップ607でフォーンシーケンスでないときは、ステップ609で他のシステムエクスクルーシブの処理を行なった後、リターンする。ステップ605で当該MIDIメッセージがその他のメッセージであるときは、ステップ606で、各ステータスに応じた処理を行なった後、リターンする。特に、受信したMIDIメッセージが歌唱終了情報(演奏データの最後には曲の終了を示す歌唱終了情報が入力するものとする)であったときは、ステップ606に進み、その時点で発音されているすべての音を消音して曲を終了する。
【0031】
図7を参照して、ノートオンのMIDIメッセージを受信したときの処理を説明する。まずステップ701で、フォーンシーケンスのタイムカウンタtime_counterおよびフォーンカウンタphone_counterを0に初期化する。タイムカウンタtime_counterはタイマ割込(5msecごと)がおきるごとにインクリメントされるカウンタであり、そのカウンタ値は各音素の発音開始時からの経過時間を5msec単位で表したものとなる。タイムカウンタtime_counterは、音素が切り替わるごとに0にリセットされる。フォーンカウンタphone_counterは、1ノート中(すなわち、1ノートで発音する1フォーンシーケンス中)における音素の順番を示すカウンタである。ノートが切り替わるごと、すなわちフォーンシーケンスが切り替わるごとに、0にリセットされ、1フォーンシーケンス中では音素が切り替わるごとにインクリメントされる。0から始まるので、1フォーンシーケンス中の最初の音素はphone_counter=0、次の音素はphone_counter=1、…、というようになる。
【0032】
次に、ステップ702で、フォーンシーケンス中に呼気情報があるか否かを判別する。呼気情報とは、ある音素と次の音素とを区切って発音したい場合にフォーンシーケンス中に入れる情報である。呼気情報を入れる場合はフォーンシーケンス中の最後に入れるものとし、その場合、フォーンシーケンスの最後の音素の発音の後、その音素の発音が一旦停止し、次のフォーンシーケンスの発音が開始するようになる。ステップ702で呼気情報があるときは、呼気フラグf_kokiに1をセットし、ステップ705に進む。呼気情報がないときは、フラグf_kokiを0にリセットして、ステップ705に進む。
【0033】
ステップ705では、フォーンシーケンスバッファ中のフォーンカウンタphone_counterで示される位置の音素ナンバとデュレーションタイム(duration time)を抽出する。いまはノートオン直後であってphone_counter=0であるので、フォーンシーケンスバッファ中の最初の音素が抽出されることになる。次にステップ706で、抽出した音素ナンバとピッチデータより、図3で説明したように音素データベースを参照して、フォルマント周波数、フォルマントレベル、およびフォルマントバンド幅などのフォルマントパラメータを引き出す。ここで用いるピッチデータは、図3の303で説明したように、ノートオンで指定された基本的なピッチデータにピッチベンドデータやその他のピッチ生成データを反映して求めたピッチである。なお、音素データベースは入力した音素ナンバとピッチと発音開始からの経過時間に対応するフォルマントパラメータを出力するデータベースであるところ、ステップ706では音素ナンバとピッチのみを指定しているので、ここで引き出されるフォルマントパラメータは時系列データ(形態はテーブルや数式などの任意の形態でよいが、経過時間を入力するとフォルマントパラメータが一意に出力されるような情報)になる。後述するステップ710,905では、ステップ706で引き出されたフォルマントパラメータに、現タイムカウンタtime_counter値を入力して、その時点でのフォルマントパラメータを求めることになる。
【0034】
次にステップ707で、前後の音素関係により調音結合データベースを参照し調音結合カーブと調音結合時間を取り出す。調音結合データベースは、ある音素から次の音素に滑らかに移行するために参照するデータベースである。前の音素と次の音素を特定すると調音結合データベースから調音結合カーブと調音結合時間を取り出すことができる。そして、その調音結合カーブに沿って前の音素のフォルマントパラメータから次の音素のフォルマントパラメータへと補間して求めたフォルマントパラメータを順次音源に送出することで、前の音素から次の音素への自然な移行が実現できる。このような処理を調音結合と呼ぶ。調音結合時間は、前の音素から次の音素へと補間を行ないつつ移行する時間である。ステップ707では、いまノートオンで発音しようとしている音素の前に発音中の音素があるかを確認し、前の音素があれば、その音素からいまノートオンで発音しようとしている音素へ移行する際に用いる調音結合カーブと調音結合時間を調音結合データベースから取り出す処理を行なうものである。
【0035】
次にステップ708では、ステップ707で取り出した調音結合時間とステップ705で抽出した音素のデュレーションタイムとの大小関係を判別する。調音結合時間がデュレーションタイムより大きいときは、その調音結合時間だけの時間を使って調音結合を行なうと、いまノートオンで発音しようとしている音素のデュレーションタイムを越えてしまうので、発音のタイミングがずれてしまい不都合である。そこでステップ709で、調音結合時間をデュレーションタイムに一致させ、ステップ710に進む。ステップ708で調音結合時間がデュレーションタイムより大きくないときは、そのままステップ710に進む。
【0036】
ステップ710では、先にステップ706で引き出したフォルマントパラメータを参照して現タイムカウンタtime_counterの値(ここではノートオン直後であるのでタイムカウンタtime_counterの値は0である)におけるフォルマントパラメータを取得し、さらにステップ707で調音結合カーブと調音結合時間が取り出されていたときは、取得したフォルマントパラメータと前の音素(現在発音中)のフォルマントパラメータを用いて、上記調音結合カーブと調音結合時間にしたがう調音結合処理を行ない、フォルマントパラメータを算出する。なお、ステップ707で調音結合カーブと調音結合時間が取り出されていなかったとき(前に発音中の音素なし)は、調音結合処理は行なう必要がない。次に、ステップ711で、算出したフォルマントデータとピッチを音源115へ書き込む。これにより、発音すべき音素の最初のフォルマントパラメータが音源115に転送され、発音が開始される。なおこれ以後は、後述する図9のタイマ処理で5msecごとにフォルマントパラメータを音源115に送って発音を続ける。次にステップ712で、発音フラグHFLAGに1をセットして、リターンする。発音フラグHFLAGは、1のとき歌唱発音が行なわれていることを示し、0のとき行なわれていないことを示す。
【0037】
次に図8を参照して、ノートオフのMIDIメッセージを受信したときの処理を説明する。まずステップ801で、いま発音中のフォーンシーケンスの音素のデュレーションタイムを参照し、該デュレーションタイムが<00>であって、かつ当該音素の後にさらに発音すべき音素があるか否かを判別する。そうであるとき(例えばデュレーションが<00>で伸ばして発音する音素の後を子音で終えたりするとき)は、その音素を発音するためにステップ802に進む。ステップ801で、いま発音中の音素のデュレーションタイムが<00>でないとき、またはデュレーションタイムは<00>だがその次に発音すべき音素がないときは、ステップ808に進む。
【0038】
ステップ802では、フォーンシーケンス中のいま発音しているデュレーションタイムが<00>である音素の次の音素の位置にフォーンカウンタphone_counterを合わせる。さらにタイムカウンタtime_counterを0にリセットする。次にステップ803で、フォーンシーケンスバッファ中のフォーンカウンタphone_counterで示される位置の音素ナンバとデュレーションタイムを抽出する。いまはフォーンカウンタphone_counterが、最後に発音すべき音素に位置づけられておりその音素が抽出される。
【0039】
次のステップ804,805,806,807は、それぞれ、図7で説明したステップ706,707,710,711と同じ処理である。これらのステップ804〜807により、発音すべき音素の最初のフォルマントパラメータが音源115に転送され、発音が開始される。なおこれ以後は、後述する図9のタイマ処理で5msecごとにフォルマントパラメータを音源115に送って発音を続ける。以上のステップ804〜807により発音開始する音素は、デュレーションタイムが<00>で伸ばして発音した音素の次に発音される音素であるので、次にノートオンが受信されるまでの時間で発音されるものである。もし、ステップ804〜807により発音開始する音素のデュレーションタイムが長く、当該音素の発音中に次のノートオンが受信された場合は、図7で説明したように当該音素から次のノートオンの音素へと調音結合されて次の音素に強制的に移行することになる。
【0040】
ステップ801でいま発音中の音素のデュレーションタイムが<00>でないとき、またはデュレーションタイムは<00>だがその次に発音すべき音素がないときは、ステップ808で、呼気フラグf_kokiが1であるか否かを判別する。呼気フラグf_kokiが1であるときは、ステップ809でキーオフ処理を行なって現在発音している音素を発音停止し、さらに発音フラグHFLAGを0にリセットして、リターンする。ステップ808で呼気フラグf_kokiが1でないときは、そのままリターンする。結果として、呼気フラグf_kokiが1でないときは、現在発音中の音素の発音は持続することになる。
【0041】
図9は、タイマ割込により5msecごとに実行されるタイマ処理の処理手順を示す。タイマ処理では、まずステップ901で、発音フラグHFLAGが1であるか否かを判別する。HFLAGが1でないときは、現在発音中でないからそのままリターンする。HFLAGが1のときは、ステップ902で、いま発音している音素のデュレーションタイムが<00>か否か判別する。デュレーションタイムが<00>のときは、現在発音中の音素の発音を継続するため、ステップ904に進む。デュレーションタイムが<00>でないときは、ステップ903で、タイムカウンタtime_counterの値が当該デュレーションタイム以下であるか否かを判別する。タイムカウンタtime_counterの値がデュレーションタイム以下のときは、現在発音している音素の発音をさらに継続するということであるから、ステップ904に進む。ステップ904ではタイムカウンタtime_counterをインクリメントし、現タイムカウンタtime_counter値におけるフォルマントパラメータを算出出力すべくステップ905に進む。
【0042】
ステップ903でタイムカウンタtime_counterの値がデュレーションタイムを越えたときは、いま発音中の音素については当該デュレーションタイムだけ発音を終えたということだから、フォーンシーケンス中の次の音素の発音に移行するため、ステップ907に進む。ステップ907では、フォーンシーケンス中に次の音素があるか否か判別する。次の音素がないときは、ステップ912で発音フラグHFLAGを0にリセットしてリターンする。次の音素があるときは、その発音をするため、まずステップ908で、フォーンカウンタphone_counterをインクリメントし、タイムカウンタtime_counterを0にリセットする。そして、ステップ909で、フォーンシーケンス中のフォーンカウンタphone_counterで示される位置(次に発音すべき音素)の音素ナンバとデュレーションタイムを抽出する。
【0043】
次のステップ910,911,905,906は、それぞれ、図7で説明したステップ706,707,710,711と同じ処理である。これらのステップにより、発音すべき音素のフォルマントパラメータが音源115に転送される。なお、ステップ905では、先に音素データベースから引き出してあるフォルマントパラメータを参照して現タイムカウンタtime_counterの値におけるフォルマントパラメータを取得し、さらに先に調音結合データベースから取り出してある調音結合カーブと調音結合時間にしたがう調音結合処理を行なって、フォルマントパラメータを算出する。この「音素データベースから引き出してあるフォルマントパラメータ」とは、具体的には、ノートオンで発音開始した音素の場合はステップ706で引き出したもの、ノートオフ時にデュレーション<00>の後に存在した音素の場合はステップ804で引き出したもの、フォーンシーケンス中のデュレーションが<00>でない音素の次の音素の場合はステップ910で引き出したものである。同様に、ステップ905での調音結合に用いる調音結合カーブと調音結合時間は、具体的には、ノートオンで発音開始した音素の場合はステップ707で取り出したもの、ノートオフ時にデュレーション<00>の後に存在した音素の場合はステップ805で取り出したもの、フォーンシーケンス中のデュレーションが<00>でない音素の次の音素の場合はステップ911で取り出したものである。
【0044】
次に、上述の図4〜図9の処理がどのように実行されるかの概要を、具体的な例で説明する。ここでは、「saita」をC3,E3,G3で発音する場合の下記シーケンス(1)の順でイベントが発生したとする。
・s<20>a<00>
・C3のノートオン
・C3のノートオフ
・i<00>
・E3のノートオン ………(1)
・E3のノートオフ
・t<02>a<00>
・G3のノートオン
・G3のノートオフ
【0045】
これらの各MIDIメッセージは、それぞれ、ステップ402→403→404→図5の501の手順で処理され、MIDI受信バッファに書き込まれる。また、書き込まれた各MIDIメッセージは、空いた時間に図6のMIDIデータ処理のステップ605以降でMIDIメッセージの種類ごとに処理される。以下では、上記各MIDIメッセージが、ステップ605以降どのように処理されるかを説明する。
【0046】
まず、最初に受信したフォーンシーケンスs<20>a<0>は、ステップ605→607→608の処理で、フォーンシーケンスバッファに書き込まれる。次の「C3のノートオン」は、ステップ605から図7のノートオン処理に進み処理される。ノートオン処理では、ステップ701→702→704→705と進み、フォーンシーケンスバッファから最初に発音すべき音素「s」を示す音素ナンバとそのデュレーションタイム<20>を抽出する。そして、ステップ706で音素データベースを参照し、音素「s」の音素ナンバとピッチ「C3」に対応するフォルマントパラメータ群を引き出す。ここで引き出すフォルマントパラメータ群は、音素「s」の発音開始時からの経過時間(5msecごと)に応じて変化する時系列データのフォルマントパラメータ群(その形態は任意)である。次のステップ707では調音結合データベースを参照するが、いま発音しようとしている音素「s」の前に発音している音素はないから、ステップ707,708では何も処理せず、ステップ710に進んで、現タイムカウンタtime_counter値(ノートオン直後なのでtime_counter=0)におけるフォルマントパラメータを、先にステップ706で引き出したフォルマントパラメータ群から求める。求めたフォルマントパラメータを、ピッチデータおよびキーオン信号とともに、ステップ711で音源115に送出し、これにより音素「s」で音高「C3」の楽音を発音開始させる。ステップ712で発音フラグHFLAG=1とし、ノートオン処理を終える。
【0047】
これ以降は、5msecごとに図9のタイマ処理が実行され、s<20>の発音が継続される。タイマ処理では、始めはステップ901→902→903→904と進んでタイムカウンタtime_counterをインクリメントし、さらにステップ905で、現タイムカウンタtime_counter値におけるフォルマントパラメータを、先にステップ706で引き出したフォルマントパラメータ群から求める。ステップ906で、求めたフォルマントパラメータを音源に送出して、リターンするこのステップ901→902→903→904→905→906→リターンの流れを5msecごとに繰り返し、タイムカウンタtime_counter=20に至ると、ステップ903から907に進み、次の音素a<00>に移行すべくステップ908に進む。そして、ステップ909で、フォーンシーケンスバッファから次に発音すべき音素「a」を示す音素ナンバとそのデュレーションタイム<00>を抽出する。ステップ910では音素データベースを参照し、音素「a」の音素ナンバとピッチ「C3」に対応するフォルマントパラメータ群を引き出す。ここで引き出すフォルマントパラメータ群は、音素「a」の発音開始時からの経過時間(5msecごと)に応じて変化する時系列データのフォルマントパラメータ群である。次のステップ911では調音結合データベースを参照し、前の音素「s」から今回の音素「a」に移行する際に用いる調音結合カーブおよび調音結合時間を取り出す。そして、ステップ905で、現タイムカウンタtime_counter値におけるフォルマントパラメータを、先にステップ910で引き出したフォルマントパラメータ群と、ステップ911で取り出した調音結合カーブおよび調音結合時間から、求める。求めたフォルマントパラメータを、ピッチデータおよびキーオン信号とともに、ステップ906で音源115に送出し、これにより音素「s」から「a」に自然に移行しながら音高「C3」の楽音の発音を開始する。音素「a」のデュレーションタイムは<00>であるので、これ以降5msecごとのタイマ処理では、ステップ902→904→905→906と進み、音素「a」の発音が継続する。
【0048】
次の「C3のノートオフ」は、ステップ605から図8のノートオフ処理に進み処理される。現在発音中の音素「a」のデュレーションタイムは<00>であるが、その後に音素はないので、ステップ801から808に進む。また、呼気情報も設定されていないので、f_koki=0であるから、そのままリターンする。したがって、音素「a」の発音は継続して実行される。
【0049】
次のフォーンシーケンス「i<00>」は、ステップ605→607→608の処理で、フォーンシーケンスバッファに書き込まれる。次の「E3のノートオン」は、ステップ605から図7のノートオン処理に進み処理される。ノートオン処理では、ステップ701→702→704→705と進み、フォーンシーケンスバッファから最初の音素「i」を示す音素ナンバとそのデュレーションタイム<00>を抽出する。そして、ステップ706で音素データベースを参照し、音素「i」の音素ナンバとピッチ「E3」に対応するフォルマントパラメータ群を引き出す。ここで引き出すフォルマントパラメータ群は、音素「i」の発音開始時からの経過時間(5msecごと)に応じて変化する時系列データのフォルマントパラメータ群(その形態は任意)である。次のステップ707では調音結合データベースを参照し、前の音素「a」(現在発音中)から今回の音素「i」に移行する際に用いる調音結合カーブおよび調音結合時間を取り出す。ステップ708の判別では、「i」のデュレーションタイムが<00>であり「a」から「i」に移行するときの調音結合時間よりデュレーションタイムが長いと言えるので、ステップ710に進む。ステップ710では、現タイムカウンタtime_counter値におけるフォルマントパラメータを、先にステップ706で引き出したフォルマントパラメータ群と、ステップ707で取り出した調音結合カーブおよび調音結合時間から、求める。求めたフォルマントパラメータを、ピッチデータおよびキーオン信号とともに、ステップ711で音源115に送出し、これにより音素「a」から「i」に自然に移行しながら音高「E3」の楽音を発音開始する。ステップ712で発音フラグHFLAG=1とし、ノートオン処理を終える。
【0050】
以下同様にして、「E3のノートオフ」から「G3のノートオフ」までの各メッセージを処理する。
【0051】
なお、上記発明の実施の形態において、フォルマント合成音源115は、全体または部分的にかかわらず、ハードウェアまたはソフトウェアのどちらによって実現しても、また組み合わせて実現してもよい。また、上記発明の実施の形態では、母音と子音とを別の音素と区別した音素ごとの情報で音素データベースを持っているが、50音(「sa」、「si」など)のそれぞれの音を音素とした音素ごとの情報で持ってもよい。音素データベースと調音結合データベースとを合わせた形態としてもよい。
【0052】
上記実施の形態では、例として5msecごとにフォルマントパラメータを変化させるシステムとしたが、フォルマントあるいはスペクトル特性の変化の大きいところは速く、変化の緩いところは遅いレートで、フォルマントパラメータの変化を制御するようにしてもよい。
【0053】
【発明の効果】
以上説明したように、この発明によれば、音素データベースに格納するフォルマントパラメータを、ピッチの変化に対応したフォルマントパラメータの変化を反映したものにしているので、入力したピッチに応じたフォルマントで歌唱発音を行なうことができる。したがって、ピッチがダイナミックに変化した場合でも、そのピッチの変化に応じたフォルマントで自然な合成音を得ることができる。ピッチだけでなく、他の演奏情報をも加味してフォルマントパラメータを得るようにすれば、それらの演奏情報に適応した自然な音声を合成することができる。
【図面の簡単な説明】
【図1】 この発明に係る楽音合成装置のシステム構成図
【図2】 図1の楽音合成装置で歌唱させる場合の処理概要を示す図
【図3】 音素データベースの参照方式の概念図
【図4】 メインプログラムの手順を示すフローチャート図
【図5】 MIDI受信処理の手順を示すフローチャート図
【図6】 MIDIデータ処理の手順を示すフローチャート図
【図7】 ノートオン処理の手順を示すフローチャート図
【図8】 ノートオフ処理の手順を示すフローチャート図
【図9】 タイマ処理の手順を示すフローチャート図
【符号の説明】
101…中央処理装置(CPU)、102…MIDIインタフェース、103…MIDI機器群、104…データメモリデバイス、105…ローカルデータ記憶装置、106…ワーキングメモリ、107…プログラムメモリ、108…演奏操作子、109…設定操作子、111…ディスプレイ、112…ネットワークインターフェース、115…フォルマント合成音源、116…サウンドシステム、117…システム共通バス、201…演奏データ、202…歌詞データ、210…歌詞データバッファ(フォーンシーケンスバッファ)、301…音素データベース。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a musical sound synthesizer and method for synthesizing natural musical sounds according to a desired formant.
[0002]
[Prior art]
Conventionally, it is known that a predetermined formant exists in a voice uttered by a person, and the voice is characterized by this. On the other hand, an attempt has been made to sing a song by synthesizing a voice with a musical tone synthesizer and outputting it at a desired pitch.
[0003]
[Problems to be solved by the invention]
Thus, when singing with a musical sound synthesizer, it is required to obtain a more natural synthesized sound. In particular, even when various performance information including pitch (pitch) changes, it is required to synthesize a natural singing voice by adapting to the performance information.
[0004]
The present invention can obtain a more natural synthesized sound when singing using a formant synthetic sound source, and can synthesize a natural singing voice particularly adapted to changes in various performance information including pitch. It is an object to provide a synthesis apparatus and method.
[0005]
[Means for Solving the Problems]
In order to achieve this object, according to claim 1 invention Input means for inputting lyric information representing the phoneme of the lyric and the performance information including at least pitch information, information specifying the phoneme, information specifying the pitch, and elapsed time from the start of pronunciation of the phoneme When given as an argument, a phoneme database in which formant parameters corresponding to them are output, and referring to the phoneme database, the lyric information and pitch information input by the input means and the pronunciation of the phoneme indicated by the lyric information Means for obtaining a formant parameter corresponding to the elapsed time, and a formant synthesized sound source for synthesizing and outputting speech having a formant corresponding to the obtained formant parameter at a pitch corresponding to the pitch information; In the musical tone synthesizer equipped with, the articulation combination database that stores the articulation combination time, which is the interpolation time when shifting from the previous phoneme to the subsequent phoneme, and the pronunciation of a new phoneme are indicated for each combination of front and rear phonemes If so, it is detected whether or not there is a phoneme currently sounding, and if there is, the articulation coupling time used when shifting from the current phoneme to a new phoneme is extracted from the articulation coupling database. And interpolating means for sequentially outputting formant parameters obtained by interpolation to the formant synthesized sound source so as to shift from the formant parameter of the phoneme being generated to the new formant parameter of the phoneme over the articulation coupling time. When It is provided with.
[0006]
The invention according to
[0007]
According to claim 3 invention Input step for inputting lyrics information representing a phoneme of the lyric to be uttered and performance information including at least pitch information, information for specifying a phoneme, information for specifying a pitch, and an elapsed time from the start of pronunciation of the phoneme. When given as an argument, it corresponds to the lyric information and pitch information input by the input means and the elapsed time from the start of pronunciation of the phoneme indicated by the lyric information, using a phoneme database in which formant parameters corresponding to them are output. A step of obtaining a formant parameter, and a step of synthesizing and outputting a voice having a formant corresponding to the obtained formant parameter at a pitch corresponding to the pitch information. A tone synthesis database that stores the tone combination time, which is the interpolation time when transitioning from the previous phoneme to the next phoneme, is provided for each combination of front and back phonemes, and new phoneme pronunciation Is detected, it is detected whether or not there is a phoneme currently sounding, and if there is, the articulation combination time used when shifting from the phoneme being pronounced to a new phoneme is used as the articulation combination database. And the formant parameters obtained by interpolation are sequentially output to the formant synthesized sound source so as to shift from the formant parameter of the phoneme being generated to the formant parameter of the new phoneme over the articulation coupling time. Interpolation step and It is provided with.
The invention according to claim 4 is the invention according to
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0010]
FIG. 1 shows a system configuration of a musical tone synthesizer (singing synthesizer) according to the present invention. This musical tone synthesizer includes a central processing unit (CPU) 101, a MIDI (Musical Instrument Digital Interface)
[0011]
The
[0012]
The
[0013]
The
[0014]
The formant
[0015]
In this musical tone synthesizer, MIDI-formatted lyric data (data that specifies the lyrics to be replayed) and performance data (data that specifies performance information such as pitches) read from the
[0016]
Such singing pronunciation is performed under the control of the
[0017]
Such a musical tone synthesizer can be realized in various forms. For example, the present invention may be applied to an electronic musical instrument such as a synthesizer or a sound module, or may be applied to a so-called multimedia personal computer. It can also be realized by mounting a sound source board on a general-purpose personal computer, mounting a MIDI interface for inputting performance information (MIDI input) from a MIDI device such as an external keyboard, and executing necessary software.
[0018]
FIG. 2 is a diagram showing an outline of processing when singing by the musical tone synthesizer of FIG. 1 according to the present invention. The
・ C3 note-on
・ C3 note-off
・ I <00>
・ E3 note-on (1)
・ E3 note-off
・ T <02> a <00>
・ G3 note-on
・ G3 note-off
[0019]
Here, the lyric data to be pronounced by the note is sent before the note-on message. Each of s, a, i, and t represents a phoneme, and a numerical value in <> following the phoneme represents a duration time (duration) of the phoneme. However, <00> indicates that the phoneme is continuously generated until note-on of the next phoneme comes. The lyrics data s <20> a <00>, i <00>, and t <02> a <00> are data sandwiched between a code indicating the start and end of a predetermined system exclusive, respectively. , It is understood that it is lyrics data. In the following, a lyric sequence such as s <20> a <00> that is pronounced in one note is referred to as a phone sequence (phoneSEQ), and the
[0020]
The
[0021]
Next, “C3 note-off” is received. Since a <00> is specified immediately before, “a” is maintained until the next note-on, so the
[0022]
The formant parameter is time-series data, and is transferred from the
[0023]
The
[0024]
FIG. 3 is a conceptual diagram of a phoneme database reference method.
[0025]
In FIG. 3, only the formant frequency and
[0026]
The pitch used when the
[0027]
FIG. 4 shows the procedure of the main program executed by the
[0028]
FIG. 5 shows the procedure of the MIDI reception process in
[0029]
FIG. 6 shows the procedure of MIDI data processing in
[0030]
In
[0031]
With reference to FIG. 7, a process when a note-on MIDI message is received will be described. First, at
[0032]
Next, in
[0033]
In
[0034]
Next, in
[0035]
Next, in
[0036]
In
[0037]
Next, processing when a note-off MIDI message is received will be described with reference to FIG. First, in
[0038]
In
[0039]
The
[0040]
If the duration time of the currently sounding phoneme is not <00> in
[0041]
FIG. 9 shows a processing procedure of timer processing executed every 5 msec by timer interruption. In the timer process, first, in
[0042]
When the value of the time counter time_counter exceeds the duration time in
[0043]
The
[0044]
Next, an outline of how the processes of FIGS. 4 to 9 described above are executed will be described with a specific example. Here, it is assumed that events occur in the order of the following sequence (1) when “saita” is pronounced by C3, E3, and G3.
・ S <20> a <00>
・ C3 note-on
・ C3 note-off
・ I <00>
・ E3 note-on (1)
・ E3 note-off
・ T <02> a <00>
・ G3 note-on
・ G3 note-off
[0045]
Each of these MIDI messages is processed in the order of
[0046]
First, the phone sequence s <20> a <0> received first is written into the phone sequence buffer in the process of
[0047]
Thereafter, the timer process of FIG. 9 is executed every 5 msec, and the sound generation of s <20> is continued. In the timer process, the process proceeds to step 901 → 902 → 903 → 904 to increment the time counter time_counter. In
[0048]
The next “C3 note-off” proceeds from the
[0049]
The next phone sequence “i <00>” is written to the phone sequence buffer in the process of
[0050]
Similarly, each message from “E3 note-off” to “G3 note-off” is processed.
[0051]
In the embodiment of the present invention, the formant synthesized
[0052]
In the above embodiment, the formant parameter is changed every 5 msec as an example. However, the change of the formant parameter is controlled at a fast rate when the change of the formant or the spectrum characteristic is large and at a slow rate when the change is slow. It may be.
[0053]
【The invention's effect】
As described above, according to the present invention, the formant parameter stored in the phoneme database reflects the change in formant parameter corresponding to the change in pitch. Can be performed. Therefore, even when the pitch changes dynamically, a natural synthesized sound with a formant corresponding to the change in pitch can be obtained. If formant parameters are obtained in consideration of not only the pitch but also other performance information, natural speech adapted to the performance information can be synthesized.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram of a musical tone synthesizer according to the present invention.
FIG. 2 is a diagram showing an outline of processing when singing with the musical tone synthesizer of FIG. 1;
Fig. 3 Conceptual diagram of phoneme database reference method
FIG. 4 is a flowchart showing the procedure of the main program.
FIG. 5 is a flowchart showing a procedure of a MIDI reception process.
FIG. 6 is a flowchart showing the procedure of MIDI data processing.
FIG. 7 is a flowchart showing a procedure of note-on processing.
FIG. 8 is a flowchart showing a procedure of note-off processing.
FIG. 9 is a flowchart showing a procedure of timer processing.
[Explanation of symbols]
DESCRIPTION OF
Claims (4)
音素を指定する情報とピッチを指定する情報と当該音素の発音開始からの経過時間とを引数として与えると、それらに対応したフォルマントパラメータが出力される音素データベースと、
上記音素データベースを参照して、上記入力手段により入力した歌詞情報およびピッチ情報と当該歌詞情報が示す音素の発音開始からの経過時間とに対応するフォルマントパラメータを求める手段と、
求めたフォルマントパラメータに応じたフォルマントを有する音声を、上記ピッチ情報に応じたピッチで、合成出力するフォルマント合成音源と
を備えた楽音合成装置において、
前後の音素の組み合わせ毎に、前の音素から後の音素に移行する際の補間時間である調音結合時間を記憶した調音結合データベースと、
新たな音素の発音が指示された場合には、現在発音中の音素があるか否かを検出し、あったときには、当該発音中の音素から新たな音素へ移行する際に用いる調音結合時間を、前記調音結合データベースから取り出す手段と、
前記調音結合時間をかけて前記発音中の音素のフォルマントパラメータから新たな音素のフォルマントパラメータへと移行するように、補間して求めたフォルマントパラメータを順次前記フォルマント合成音源に出力する補間手段と
をさらに備えたことを特徴とする楽音合成装置。Input means for inputting lyric information representing the phoneme of the lyrical lyrics and performance information including at least pitch information;
When the information specifying the phoneme, the information specifying the pitch, and the elapsed time from the start of pronunciation of the phoneme are given as arguments, a phoneme database in which formant parameters corresponding to them are output,
Means for obtaining formant parameters corresponding to the lyric information and pitch information input by the input means and the elapsed time from the start of pronunciation of the phoneme indicated by the lyric information with reference to the phoneme database;
In a musical sound synthesizer equipped with a formant synthesis sound source that synthesizes and outputs speech having a formant corresponding to the obtained formant parameter at a pitch corresponding to the pitch information.
For each combination of front and back phonemes, an articulation combination database that stores articulation combination time, which is an interpolation time when shifting from the previous phoneme to the subsequent phoneme,
When a new phoneme pronunciation is instructed, it is detected whether or not there is a phoneme currently being pronounced, and if there is, the articulation coupling time used when shifting from the current phoneme to a new phoneme is determined. Retrieving from the articulation combination database;
Interpolating means for sequentially outputting formant parameters obtained by interpolation to the formant synthetic sound source so as to shift from the formant parameter of the phoneme being generated to the new formant parameter of the phoneme over the articulation coupling time; and A musical sound synthesizer characterized by comprising.
前記補間手段は、前記取り出した調音結合時間と前記新たな音素のデュレーションタイムとを比較し、前記調音結合時間が前記デュレーションタイムよりも長い場合は、前記調音結合時間を前記デュレーションタイムに一致させるものであることを特徴とする楽音合成装置。In the musical tone synthesizer according to claim 1,
The interpolation means compares the extracted articulation combination time with the duration time of the new phoneme, and if the articulation connection time is longer than the duration time, the articulation connection time is made to coincide with the duration time. A musical sound synthesizer characterized by
音素を指定する情報とピッチを指定する情報と当該音素の発音開始からの経過時間とを引数として与えると、それらに対応したフォルマントパラメータが出力される音素データベースを用いて、上記入力手段により入力した歌詞情報およびピッチ情報と当該歌詞情報が示す音素の発音開始からの経過時間とに対応するフォルマントパラメータを求めるステップと、
求めたフォルマントパラメータに応じたフォルマントを有する音声を、上記ピッチ情報に応じたピッチで、合成出力するステップとを備えた楽音合成方法において、
前後の音素の組み合わせ毎に、前の音素から後の音素に移行する際の補間時間である調音結合時間を記憶した調音結合データベースを設けるとともに、
新たな音素の発音が指示された場合には、現在発音中の音素があるか否かを検出し、あったときには、当該発音中の音素から新たな音素へ移行する際に用いる調音結合時間を、前記調音結合データベースから取り出すステップと、
前記調音結合時間をかけて前記発音中の音素のフォルマントパラメータから新たな音素のフォルマントパラメータへと移行するように、補間して求めたフォルマントパラメータを順次前記フォルマント合成音源に出力する補間ステップと
をさらに備えたことを特徴とする楽音合成方法。An input step for inputting lyric information representing the phoneme of the lyric and the performance information including at least the pitch information;
When the information specifying the phoneme, the information specifying the pitch, and the elapsed time from the start of pronunciation of the phoneme are given as arguments, the phoneme database that outputs the formant parameters corresponding to them is used to input the information by the input means. Obtaining formant parameters corresponding to the lyrics information and pitch information and the elapsed time from the start of pronunciation of the phoneme indicated by the lyrics information;
A method for synthesizing a musical sound comprising a step of synthesizing and outputting a voice having a formant corresponding to the obtained formant parameter at a pitch corresponding to the pitch information;
For each combination of front and rear phonemes, an articulation combination database is provided that stores the articulation combination time, which is the interpolation time when shifting from the previous phoneme to the subsequent phoneme,
When a new phoneme pronunciation is instructed, it is detected whether or not there is a phoneme currently being pronounced, and if there is, the articulation coupling time used when shifting from the current phoneme to a new phoneme is determined. Retrieving from the articulation combination database;
An interpolation step of sequentially outputting the formant parameters obtained by interpolation to the formant synthesized sound source so as to shift from the formant parameter of the phoneme being generated to the new formant parameter of the phoneme over the articulation combination time; and A method for synthesizing a musical sound characterized by comprising the above.
前記補間ステップは、前記取り出した調音結合時間と前記新たな音素のデュレーションタイムとを比較し、前記調音結合時間が前記デュレーションタイムよりも長い場合は、前記調音結合時間を前記デュレーションタイムに一致させるものであることを特徴とする楽音合成方法。In the musical tone synthesis method according to claim 3,
In the interpolation step, the extracted articulation combination time is compared with the duration time of the new phoneme, and when the articulation connection time is longer than the duration time, the articulation connection time is made to coincide with the duration time. A musical sound synthesis method characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05990697A JP3834804B2 (en) | 1997-02-27 | 1997-02-27 | Musical sound synthesizer and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05990697A JP3834804B2 (en) | 1997-02-27 | 1997-02-27 | Musical sound synthesizer and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240264A JPH10240264A (en) | 1998-09-11 |
JP3834804B2 true JP3834804B2 (en) | 2006-10-18 |
Family
ID=13126644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05990697A Expired - Fee Related JP3834804B2 (en) | 1997-02-27 | 1997-02-27 | Musical sound synthesizer and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3834804B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4757971B2 (en) * | 1999-10-21 | 2011-08-24 | ヤマハ株式会社 | Harmony sound adding device |
JP3838039B2 (en) | 2001-03-09 | 2006-10-25 | ヤマハ株式会社 | Speech synthesizer |
US7251601B2 (en) | 2001-03-26 | 2007-07-31 | Kabushiki Kaisha Toshiba | Speech synthesis method and speech synthesizer |
JP4153220B2 (en) | 2002-02-28 | 2008-09-24 | ヤマハ株式会社 | SINGLE SYNTHESIS DEVICE, SINGE SYNTHESIS METHOD, AND SINGE SYNTHESIS PROGRAM |
JP6184296B2 (en) * | 2013-10-31 | 2017-08-23 | 株式会社第一興商 | Karaoke guide vocal generating apparatus and guide vocal generating method |
JP6569712B2 (en) | 2017-09-27 | 2019-09-04 | カシオ計算機株式会社 | Electronic musical instrument, musical sound generation method and program for electronic musical instrument |
JP7468495B2 (en) * | 2021-03-18 | 2024-04-16 | カシオ計算機株式会社 | Information processing device, electronic musical instrument, information processing system, information processing method, and program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS598838B2 (en) * | 1978-12-07 | 1984-02-27 | ヤマハ株式会社 | An electronic musical instrument that generates human voice sounds |
JP2745865B2 (en) * | 1990-12-15 | 1998-04-28 | ヤマハ株式会社 | Music synthesizer |
JP2800465B2 (en) * | 1991-05-27 | 1998-09-21 | ヤマハ株式会社 | Electronic musical instrument |
JP3573768B2 (en) * | 1993-07-29 | 2004-10-06 | ヤマハ株式会社 | Automatic performance device |
JP3329635B2 (en) * | 1995-03-06 | 2002-09-30 | ローランド株式会社 | Effect device |
JP3239706B2 (en) * | 1995-08-03 | 2001-12-17 | ヤマハ株式会社 | Singing voice synthesizer |
-
1997
- 1997-02-27 JP JP05990697A patent/JP3834804B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10240264A (en) | 1998-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7249022B2 (en) | Singing voice-synthesizing method and apparatus and storage medium | |
US11468870B2 (en) | Electronic musical instrument, electronic musical instrument control method, and storage medium | |
US5747715A (en) | Electronic musical apparatus using vocalized sounds to sing a song automatically | |
US5703311A (en) | Electronic musical apparatus for synthesizing vocal sounds using format sound synthesis techniques | |
JP4735544B2 (en) | Apparatus and program for singing synthesis | |
Cano et al. | Voice Morphing System for Impersonating in Karaoke Applications. | |
US11417312B2 (en) | Keyboard instrument and method performed by computer of keyboard instrument | |
US7718885B2 (en) | Expressive music synthesizer with control sequence look ahead capability | |
JP3834804B2 (en) | Musical sound synthesizer and method | |
JP4561636B2 (en) | Musical sound synthesizer and program | |
Berndtsson | The KTH rule system for singing synthesis | |
JP3518253B2 (en) | Data editing device | |
CN112992110A (en) | Audio processing method, device, computing equipment and medium | |
JP2010169889A (en) | Voice synthesis device and program | |
JP3409644B2 (en) | Data editing device and medium recording data editing program | |
JP7276292B2 (en) | Electronic musical instrument, electronic musical instrument control method, and program | |
JP2003036082A (en) | Pitch converting apparatus | |
JP3173310B2 (en) | Harmony generator | |
JPH1031496A (en) | Musical sound generating device | |
JP2008058796A (en) | Playing style deciding device and program | |
JP2004061753A (en) | Method and device for synthesizing singing voice | |
JP4305022B2 (en) | Data creation device, program, and tone synthesis device | |
JP3132721B2 (en) | Music synthesizer | |
JPH0962297A (en) | Parameter producing device of formant sound source | |
Janer et al. | Morphing techniques for enhanced scat singing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060616 |
|
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: 20060703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060716 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100804 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100804 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110804 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120804 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130804 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |