JPH0546198A - 音声データ生成装置および音声合成装置 - Google Patents
音声データ生成装置および音声合成装置Info
- Publication number
- JPH0546198A JPH0546198A JP3199600A JP19960091A JPH0546198A JP H0546198 A JPH0546198 A JP H0546198A JP 3199600 A JP3199600 A JP 3199600A JP 19960091 A JP19960091 A JP 19960091A JP H0546198 A JPH0546198 A JP H0546198A
- Authority
- JP
- Japan
- Prior art keywords
- vowel
- consonant
- data
- waveform data
- envelope
- 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.)
- Pending
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【目的】 演奏されたキーの階名などを示す音声を発音
する場合、波形データの記憶容量を極力減らし、子音波
形と母音波形が接続された時点または母音区間が持続し
て発音される期間でノイズの発生を抑制することを目的
とする。 【構成】 音声データ生成時には、まず、エンベロープ
付加部106が、子音部切り出し部105で切り出され
た子音波形にリリースエンベロープを付加して子音波形
データを得る。一方、FFT演算部109及び倍音成分
抽出部110は、母音部切り出し部108で切り出され
た母音波形から、ピッチ周波数と各倍音周波数の振幅強
度を抽出し、これに基づき母音データ合成部111は、
上記各周波数に対応する複数の正弦波形を1ピッチ周期
分ずつ生成しそれらを加算合成することにより、1ピッ
チ周期分の母音波形データを得る。音声合成時には、例
えば押鍵された鍵に対応する音声の子音波形データが順
次発音されるのにつづき、1ピッチ周期分の母音波形デ
ータがアタックエンベロープが付加された上で繰り返し
発音される。
する場合、波形データの記憶容量を極力減らし、子音波
形と母音波形が接続された時点または母音区間が持続し
て発音される期間でノイズの発生を抑制することを目的
とする。 【構成】 音声データ生成時には、まず、エンベロープ
付加部106が、子音部切り出し部105で切り出され
た子音波形にリリースエンベロープを付加して子音波形
データを得る。一方、FFT演算部109及び倍音成分
抽出部110は、母音部切り出し部108で切り出され
た母音波形から、ピッチ周波数と各倍音周波数の振幅強
度を抽出し、これに基づき母音データ合成部111は、
上記各周波数に対応する複数の正弦波形を1ピッチ周期
分ずつ生成しそれらを加算合成することにより、1ピッ
チ周期分の母音波形データを得る。音声合成時には、例
えば押鍵された鍵に対応する音声の子音波形データが順
次発音されるのにつづき、1ピッチ周期分の母音波形デ
ータがアタックエンベロープが付加された上で繰り返し
発音される。
Description
【0001】
【産業上の利用分野】本発明は、演奏操作された音階に
対応する音声を発音することができる音声合成装置およ
び音声合成のための音声データを生成する音声データ生
成装置に関する。
対応する音声を発音することができる音声合成装置およ
び音声合成のための音声データを生成する音声データ生
成装置に関する。
【0002】
【従来の技術】従来より、例えば歌や器楽の学習時に、
階名を用いた「移動ド」、あるいは音名を用いた「固定
ド」などの読符法により、楽曲を歌うことがしばしば行
われる。このような場合に、その楽曲を鍵盤などで弾
き、押鍵された鍵に対応する階名、または音名が発音さ
れれば学習に極めて有用である。
階名を用いた「移動ド」、あるいは音名を用いた「固定
ド」などの読符法により、楽曲を歌うことがしばしば行
われる。このような場合に、その楽曲を鍵盤などで弾
き、押鍵された鍵に対応する階名、または音名が発音さ
れれば学習に極めて有用である。
【0003】以上のようなニーズに対応する技術とし
て、例えば、特開昭58−11986として、つぎのよ
うな内容のものが提案されている。すなわち、階名の
「ド」、「レ」、「ミ」、・・・などの音声の、予めメ
モリに記憶された子音波形データと母音波形データを順
次読み出して、例えば子音「d」の発音につづいて、母
音「o」を発音することによって、階名の「ド」を発音
する技術である。そして、音長によって、母音「オ」が
長く持続して発音する必要がある場合には、母音波形が
ループ処理によって繰り返し読み出され、「ドオー」と
発音される。
て、例えば、特開昭58−11986として、つぎのよ
うな内容のものが提案されている。すなわち、階名の
「ド」、「レ」、「ミ」、・・・などの音声の、予めメ
モリに記憶された子音波形データと母音波形データを順
次読み出して、例えば子音「d」の発音につづいて、母
音「o」を発音することによって、階名の「ド」を発音
する技術である。そして、音長によって、母音「オ」が
長く持続して発音する必要がある場合には、母音波形が
ループ処理によって繰り返し読み出され、「ドオー」と
発音される。
【0004】
【発明が解決しようとする課題】しかし、上述のように
母音波形がループ処理によって繰り返し読み出される場
合に、ループポイントの設定が不適切だと、母音が繰り
返し発音される毎に、ループポイントにおいてノイズが
発生し、また、子音波形と母音波形の接続部分に不連続
点などがあると、やはりノイズが発生する。
母音波形がループ処理によって繰り返し読み出される場
合に、ループポイントの設定が不適切だと、母音が繰り
返し発音される毎に、ループポイントにおいてノイズが
発生し、また、子音波形と母音波形の接続部分に不連続
点などがあると、やはりノイズが発生する。
【0005】本発明の課題は、メモリに記憶される波形
データの容量を極力減らし、上述のように子音波形と母
音波形が接続された時点あるいは母音区間が持続して発
音される期間でノイズが発生しないようにすることにあ
る。
データの容量を極力減らし、上述のように子音波形と母
音波形が接続された時点あるいは母音区間が持続して発
音される期間でノイズが発生しないようにすることにあ
る。
【0006】
【課題を解決するための手段】本発明は、音声データを
生成する音声データ生成装置として、以下の構成を有す
る。
生成する音声データ生成装置として、以下の構成を有す
る。
【0007】まず、入力音声波形データから子音波形デ
ータを切り出す子音部切り出し手段を有する。次に、子
音部切り出し手段で切り出された子音波形データにリリ
ースエンベロープを付加し、それを音声データの子音部
として出力するエンベロープ付加手段を有する。
ータを切り出す子音部切り出し手段を有する。次に、子
音部切り出し手段で切り出された子音波形データにリリ
ースエンベロープを付加し、それを音声データの子音部
として出力するエンベロープ付加手段を有する。
【0008】一方、入力音声波形データから母音波形デ
ータを切り出す母音部切り出し手段を有する。次に、母
音切り出し手段で切り出された母音波形データから、母
音波形データのピッチ周波数及びその各倍音周波数の各
成分の振幅強度をFFT(高速フーリエ変換)の演算な
どに基づいて抽出する周波数振幅強度抽出手段を有す
る。
ータを切り出す母音部切り出し手段を有する。次に、母
音切り出し手段で切り出された母音波形データから、母
音波形データのピッチ周波数及びその各倍音周波数の各
成分の振幅強度をFFT(高速フーリエ変換)の演算な
どに基づいて抽出する周波数振幅強度抽出手段を有す
る。
【0009】そして、上述したピッチ周波数及び各倍音
周波数をそれぞれ有し、それら各周波数に対応して周波
数振幅強度抽出手段により抽出された各振幅強度を有す
る複数の正弦波形をそれぞれ1ピッチ周期分ずつ生成
し、その生成された各正弦波形を位相を合せて加算合成
し、その結果得られる1ピッチ周期分の母音波形データ
を音声データの母音部として出力する母音データ合成手
段を有する。
周波数をそれぞれ有し、それら各周波数に対応して周波
数振幅強度抽出手段により抽出された各振幅強度を有す
る複数の正弦波形をそれぞれ1ピッチ周期分ずつ生成
し、その生成された各正弦波形を位相を合せて加算合成
し、その結果得られる1ピッチ周期分の母音波形データ
を音声データの母音部として出力する母音データ合成手
段を有する。
【0010】次に、上述の構成を有する音声データ生成
装置によって生成された音声データから音声を合成し発
音する音声合成装置として、以下の構成を有する。ま
ず、前述した音声データの子音部を記憶する子音部記憶
手段を有する。
装置によって生成された音声データから音声を合成し発
音する音声合成装置として、以下の構成を有する。ま
ず、前述した音声データの子音部を記憶する子音部記憶
手段を有する。
【0011】次に、前述した音声データの母音部を記憶
する母音部記憶手段を有する。続いて、外部操作可能な
操作子を有する。また、操作子の操作に対応して子音部
記憶手段に記憶された子音波形データを順次読み出して
発音する子音波形データ発音手段を有する。
する母音部記憶手段を有する。続いて、外部操作可能な
操作子を有する。また、操作子の操作に対応して子音部
記憶手段に記憶された子音波形データを順次読み出して
発音する子音波形データ発音手段を有する。
【0012】さらに、子音波形データ発音手段による子
音波形データの発音終了後、母音部記憶手段に記憶され
た1ピッチ周期分の母音波形データをアタックエンベロ
ープを付加した上で繰り返し読み出して発音する母音波
形データ発音手段を有する。なお、同手段は、子音波形
データ発音手段による子音波形データの発音動作にクロ
スフェードさせて、母音部記憶手段に記憶された1ピッ
チ周期分の母音波形データをアタックエンベロープを付
加した上で繰り返し読み出して発音するように構成され
てもよい。
音波形データの発音終了後、母音部記憶手段に記憶され
た1ピッチ周期分の母音波形データをアタックエンベロ
ープを付加した上で繰り返し読み出して発音する母音波
形データ発音手段を有する。なお、同手段は、子音波形
データ発音手段による子音波形データの発音動作にクロ
スフェードさせて、母音部記憶手段に記憶された1ピッ
チ周期分の母音波形データをアタックエンベロープを付
加した上で繰り返し読み出して発音するように構成され
てもよい。
【0013】その場合、前述した操作子は複数の鍵であ
り、合成され発音される音声に対応する音声データにお
ける母音波形データのピッチ周波数は、複数の鍵に割り
当てられている音階に対応する周波数に等しく、母音部
記憶手段は、複数の鍵に対応する複数の母音波形データ
を記憶し、母音波形データ発音手段は、押鍵された鍵に
対応する1ピッチ周期分の母音波形データを母音部記憶
手段から繰り返し読み出して発音するように構成でき
る。
り、合成され発音される音声に対応する音声データにお
ける母音波形データのピッチ周波数は、複数の鍵に割り
当てられている音階に対応する周波数に等しく、母音部
記憶手段は、複数の鍵に対応する複数の母音波形データ
を記憶し、母音波形データ発音手段は、押鍵された鍵に
対応する1ピッチ周期分の母音波形データを母音部記憶
手段から繰り返し読み出して発音するように構成でき
る。
【0014】
【作用】本発明では、まず、子音波形データが作成され
る場合に、子音波形データにリリース特性を有するエン
ベロープが付加されることにより、子音と母音の接続が
滑らかになり、子音波形と母音波形との接続部分におけ
るノイズの発生を抑制することができる。
る場合に、子音波形データにリリース特性を有するエン
ベロープが付加されることにより、子音と母音の接続が
滑らかになり、子音波形と母音波形との接続部分におけ
るノイズの発生を抑制することができる。
【0015】一方、音声データの大部分を占める母音部
分は、正確に1ピッチ周期分の母音波形データとして得
ることができ、母音波形データの記憶容量を大幅に縮小
させることができる。
分は、正確に1ピッチ周期分の母音波形データとして得
ることができ、母音波形データの記憶容量を大幅に縮小
させることができる。
【0016】また、1ピッチ周期の母音波形データは、
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことができる。
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことができる。
【0017】なお、リリースエンベロープが付加された
子音波形が減衰してゆくと同時に、アタックエンベロー
プが付加された母音波形が徐々に立ち上がっていくいわ
ゆるクロスフェード処理が行われることにより、子音と
母音のさらになめらかな接続が実現され、ノイズ感をよ
り減少させることができる。
子音波形が減衰してゆくと同時に、アタックエンベロー
プが付加された母音波形が徐々に立ち上がっていくいわ
ゆるクロスフェード処理が行われることにより、子音と
母音のさらになめらかな接続が実現され、ノイズ感をよ
り減少させることができる。
【0018】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。本実施例は、音声合成に必要な子
音波形データと母音波形データを生成する音声データ生
成部と、生成された音声データを用いて音声合成を行う
音声合成部の2つに分けられる。
つき詳細に説明する。本実施例は、音声合成に必要な子
音波形データと母音波形データを生成する音声データ生
成部と、生成された音声データを用いて音声合成を行う
音声合成部の2つに分けられる。
【0019】ここで、音声データ生成部は、通常は、メ
ーカの工場における電子楽器製造時に使用される装置と
して実現され、音声合成部は、ユーザに提供される電子
楽器の一部として実現される。なお、音声データ生成部
は、ユーザに提供される電子楽器内に実現され、ユーザ
が自由に音声データを作成できるような構成にしてもよ
い。音声データ生成部の実施例の説明 最初に、音声データ生成部の動作の概要を、図1のブロ
ック図を用いて説明する。
ーカの工場における電子楽器製造時に使用される装置と
して実現され、音声合成部は、ユーザに提供される電子
楽器の一部として実現される。なお、音声データ生成部
は、ユーザに提供される電子楽器内に実現され、ユーザ
が自由に音声データを作成できるような構成にしてもよ
い。音声データ生成部の実施例の説明 最初に、音声データ生成部の動作の概要を、図1のブロ
ック図を用いて説明する。
【0020】例えば、階名の「シ」の音声が発音される
と、その音声信号はマイクや増幅器などからなる音声検
出部101によって検出され、サンプリング部102で
標本化と量子化が行われてディジタル信号に変換され
る。なお、図2には、階名「シ」の音声波形の1例が示
されているが、*の区間が子音波形であり、そのあとに
続く波形が母音波形である。この音声信号は、磁気ディ
スク装置などに原データファイル104として一旦記憶
される。
と、その音声信号はマイクや増幅器などからなる音声検
出部101によって検出され、サンプリング部102で
標本化と量子化が行われてディジタル信号に変換され
る。なお、図2には、階名「シ」の音声波形の1例が示
されているが、*の区間が子音波形であり、そのあとに
続く波形が母音波形である。この音声信号は、磁気ディ
スク装置などに原データファイル104として一旦記憶
される。
【0021】つぎに、この音声信号の上記子音波形区間
は子音データとして、子音部切り出し部105で切り出
される。なお、この子音の切り出しの際に必要なパラメ
ータは、後述するようにパラメータ設定部103によっ
て設定される。
は子音データとして、子音部切り出し部105で切り出
される。なお、この子音の切り出しの際に必要なパラメ
ータは、後述するようにパラメータ設定部103によっ
て設定される。
【0022】そして、切り出された子音波形に対して、
エンベロープ付加部106により、その後半部にリリー
スエンベロープが付加される。このようにして処理され
た子音波形データは、子音部データファイル107とし
て記憶される。
エンベロープ付加部106により、その後半部にリリー
スエンベロープが付加される。このようにして処理され
た子音波形データは、子音部データファイル107とし
て記憶される。
【0023】子音波形データに上述したようなエンベロ
ープが付加されることにより、子音波形と母音波形との
接続部分におけるノイズの発生を抑制することができ
る。一方、母音部切り出し部108は、入力音声信号か
ら、上述の先頭区間の子音データにつづく母音波形部分
を切り出す。
ープが付加されることにより、子音波形と母音波形との
接続部分におけるノイズの発生を抑制することができ
る。一方、母音部切り出し部108は、入力音声信号か
ら、上述の先頭区間の子音データにつづく母音波形部分
を切り出す。
【0024】FFT演算部109は、上述の母音部切り
出し部108で切り出された母音波形部分に対してFF
T(高速フーリエ変換)の演算を実行し、母音波形の各
周波数の振幅強度を求める。
出し部108で切り出された母音波形部分に対してFF
T(高速フーリエ変換)の演算を実行し、母音波形の各
周波数の振幅強度を求める。
【0025】倍音成分比抽出部110は、FFT演算部
109で求まった母音波形の各周波数振幅成分から、ピ
ッチ周波数と各倍音周波数の振幅強度を抽出する。この
場合、入力音声信号のピッチ周波数は予めわかっている
ものとし、また、各倍音周波数はピッチ周波数に対して
整数倍の値となるように設定される。
109で求まった母音波形の各周波数振幅成分から、ピ
ッチ周波数と各倍音周波数の振幅強度を抽出する。この
場合、入力音声信号のピッチ周波数は予めわかっている
ものとし、また、各倍音周波数はピッチ周波数に対して
整数倍の値となるように設定される。
【0026】そして、母音データ合成部111は、上述
のピッチ周波数と各倍音周波数をそれぞれ有し、上述の
抽出された各振幅強度を有する複数の正弦波形をそれぞ
れ1ピッチ周期分ずつ生成し、これら各正弦波形を位相
を合せて加算合成する。
のピッチ周波数と各倍音周波数をそれぞれ有し、上述の
抽出された各振幅強度を有する複数の正弦波形をそれぞ
れ1ピッチ周期分ずつ生成し、これら各正弦波形を位相
を合せて加算合成する。
【0027】以上のようにして得られた母音の1ピッチ
周期分の波形データは、母音部データファイル110と
して記憶される。以上のように、本実施例では、音声デ
ータの大部分を占める母音部分を、正確に1ピッチ周期
分の母音波形データとして得ることができ、母音波形デ
ータの記憶容量を大幅に縮小させることができる。
周期分の波形データは、母音部データファイル110と
して記憶される。以上のように、本実施例では、音声デ
ータの大部分を占める母音部分を、正確に1ピッチ周期
分の母音波形データとして得ることができ、母音波形デ
ータの記憶容量を大幅に縮小させることができる。
【0028】また、1ピッチ周期の母音波形データは、
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことができる。
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことができる。
【0029】つぎに、上述の音声データ生成部の各動作
のうち、子音波形データの作成と、母音部波形データの
作成の各動作について説明する。 <子音波形の切り出し処理の説明>まず、子音波形の切
り出し処理がソフトウエア処理によって行われる場合の
動作について、図3の動作フローチャートを用いて説明
する。なお、この動作フローチャートは、図1の子音部
切り出し部105とエンベロープ付加部106が特には
図示しない制御プログラムを実行する動作として実現さ
れる。
のうち、子音波形データの作成と、母音部波形データの
作成の各動作について説明する。 <子音波形の切り出し処理の説明>まず、子音波形の切
り出し処理がソフトウエア処理によって行われる場合の
動作について、図3の動作フローチャートを用いて説明
する。なお、この動作フローチャートは、図1の子音部
切り出し部105とエンベロープ付加部106が特には
図示しない制御プログラムを実行する動作として実現さ
れる。
【0030】まず、磁気ディスク装置などに記憶されて
いる前述した原データファイル104がオープンされる
(ステップS301)。つぎに、子音切り出しに必要な
パラメータが、パラメータ設定部103(図1参照)か
ら子音部切り出し部105に入力される(ステップS3
02)。このパラメータは、図4に示されるように、子
音切り出し時間a、リリース開始時刻Tの2つである。
いる前述した原データファイル104がオープンされる
(ステップS301)。つぎに、子音切り出しに必要な
パラメータが、パラメータ設定部103(図1参照)か
ら子音部切り出し部105に入力される(ステップS3
02)。このパラメータは、図4に示されるように、子
音切り出し時間a、リリース開始時刻Tの2つである。
【0031】この子音切り出し時間aは、データの先頭
から何秒分のデータが切り出されるかを指定し、また、
リリース開始時刻Tは、子音データの先頭から何秒後
に、リリース・エンベロープがかけられるかを指定する
パラメータである。
から何秒分のデータが切り出されるかを指定し、また、
リリース開始時刻Tは、子音データの先頭から何秒後
に、リリース・エンベロープがかけられるかを指定する
パラメータである。
【0032】実際にリリース・エンベロープが子音波形
にかけられるリリース時間は、子音切り出し時間aか
ら、子音切り出し開始点を基準としたリリース開始時刻
Tを減算した時間(a−T)である。したがって、リリ
ース・エンベロープの減衰レートは、−1/(a−T)
として求められる。
にかけられるリリース時間は、子音切り出し時間aか
ら、子音切り出し開始点を基準としたリリース開始時刻
Tを減算した時間(a−T)である。したがって、リリ
ース・エンベロープの減衰レートは、−1/(a−T)
として求められる。
【0033】これらのパラメータは、音声の種類(階
名)によって異なるが、経験的に、子音切り出し時間が
80ミリセカンド程度、リリース開始時刻は30ミリセ
カンド前後が適当である。なお、ディスプレイ等に表示
させた音声波形データから上記各パラメータを指定する
ようにしてもよい。
名)によって異なるが、経験的に、子音切り出し時間が
80ミリセカンド程度、リリース開始時刻は30ミリセ
カンド前後が適当である。なお、ディスプレイ等に表示
させた音声波形データから上記各パラメータを指定する
ようにしてもよい。
【0034】つぎに、原データファイル104から1ワ
ード(1サンプル分)の音声データが読み込まれる(ス
テップS303)。つづいて、読み込まれたデータの総
数に対応する時間が、図4の子音切り出し開始点を基準
として、リリース開始時刻Tを超えたか否かが判定され
る(ステップS304)。判定がNOならばつぎのステ
ップS306に進む。もし、判定がYESならば読み込
まれたデータにリリース・エンベロープが乗算される
(ステップS305)。
ード(1サンプル分)の音声データが読み込まれる(ス
テップS303)。つづいて、読み込まれたデータの総
数に対応する時間が、図4の子音切り出し開始点を基準
として、リリース開始時刻Tを超えたか否かが判定され
る(ステップS304)。判定がNOならばつぎのステ
ップS306に進む。もし、判定がYESならば読み込
まれたデータにリリース・エンベロープが乗算される
(ステップS305)。
【0035】この後、得られた1ワードのデータが、フ
ァイルに書き込まれる(ステップS306)。このファ
イルが子音データファイル107(図1参照)となる。
つぎに、読み込まれたデータ数をカウントするカウンタ
がインクリメントされ(ステップS307)、このカウ
ンタの値が子音切り出し時間に相当するデータ数を超え
ているか否かが判定される(ステップS308)。判定
がNOならば、ステップS303に戻り、さらに音声デ
ータが1ワード読み込まれる。
ァイルに書き込まれる(ステップS306)。このファ
イルが子音データファイル107(図1参照)となる。
つぎに、読み込まれたデータ数をカウントするカウンタ
がインクリメントされ(ステップS307)、このカウ
ンタの値が子音切り出し時間に相当するデータ数を超え
ているか否かが判定される(ステップS308)。判定
がNOならば、ステップS303に戻り、さらに音声デ
ータが1ワード読み込まれる。
【0036】このようにして、ステップS308の判定
がYESになれば、子音波形の切り出し処理を終了す
る。 <母音波形データの作成処理の説明>つぎに、母音波形
データの作成がソフトウエア処理によって行われる場合
の動作について、図5、図6の動作フローチャートを用
いて説明する。なお、この動作フローチャートは、図1
の母音部切り出し部108、FFT演算部109、倍音
成分比抽出部110および母音データ合成部109が、
特には図示しない制御プログラムを実行する動作として
実現される。
がYESになれば、子音波形の切り出し処理を終了す
る。 <母音波形データの作成処理の説明>つぎに、母音波形
データの作成がソフトウエア処理によって行われる場合
の動作について、図5、図6の動作フローチャートを用
いて説明する。なお、この動作フローチャートは、図1
の母音部切り出し部108、FFT演算部109、倍音
成分比抽出部110および母音データ合成部109が、
特には図示しない制御プログラムを実行する動作として
実現される。
【0037】まず、前述した子音切り出し処理の場合と
同様に、原データとなる音声波形データのファイル10
4がオープンされる(ステップS501)。このファイ
ルの最初の部分は、子音波形であるから(図2参照)、
この部分は読み飛ばされる。具体的には、原データファ
イル104に対するファイルポインタが、母音波形デー
タの存在する箇所まで移動する(ステップS502)。
同様に、原データとなる音声波形データのファイル10
4がオープンされる(ステップS501)。このファイ
ルの最初の部分は、子音波形であるから(図2参照)、
この部分は読み飛ばされる。具体的には、原データファ
イル104に対するファイルポインタが、母音波形デー
タの存在する箇所まで移動する(ステップS502)。
【0038】つぎに、後述するFFT演算の実行に必要
な数の母音部の音声波形データの各サンプルが、配列バ
ッファDATAに読み込まれる(ステップS503)。
その後、作成されるべき1ピッチ周期分の母音波形のサ
ンプル数が、N=fs/faなる演算によって求められ
る(ステップS504)。ここで、fsは原データファ
イル104における音声データのサンプリング周波数、
faは作成されるべき母音波形のピッチ周波数である。
なお、これらのパラメータは、原データファイル104
の作成時に外部から指定される。
な数の母音部の音声波形データの各サンプルが、配列バ
ッファDATAに読み込まれる(ステップS503)。
その後、作成されるべき1ピッチ周期分の母音波形のサ
ンプル数が、N=fs/faなる演算によって求められ
る(ステップS504)。ここで、fsは原データファ
イル104における音声データのサンプリング周波数、
faは作成されるべき母音波形のピッチ周波数である。
なお、これらのパラメータは、原データファイル104
の作成時に外部から指定される。
【0039】つぎに、変数iが値0にクリアされた後
(ステップS505)、1ピッチ周期分すなわちNサン
プルの母音波形が格納される配列バッフアWAVE
[i]のすべての要素(0≦i≦N)が値0にクリアさ
れる(ステップS506〜S508)。
(ステップS505)、1ピッチ周期分すなわちNサン
プルの母音波形が格納される配列バッフアWAVE
[i]のすべての要素(0≦i≦N)が値0にクリアさ
れる(ステップS506〜S508)。
【0040】その後、配列バッフアDATAに格納され
ている母音波形データに対してFFT演算が実行され、
母音波形の各周波数の振幅強度が求められる(ステップ
S509)。求められた各周波数の振幅強度値は、特に
は図示しない配列バッファに格納される。
ている母音波形データに対してFFT演算が実行され、
母音波形の各周波数の振幅強度が求められる(ステップ
S509)。求められた各周波数の振幅強度値は、特に
は図示しない配列バッファに格納される。
【0041】つぎに、ピッチまたは倍音の次数を表す変
数kが値0にクリアされる(ステップS510)。ここ
で、k=0はピッチを表し、k=1、2、・・・はそれ
ぞれ第2倍音、第3倍音・・・を表す。
数kが値0にクリアされる(ステップS510)。ここ
で、k=0はピッチを表し、k=1、2、・・・はそれ
ぞれ第2倍音、第3倍音・・・を表す。
【0042】そして、kの値が0から10までインクリ
メントされながら(ステップS518、S519)、各
ピッチ周波数または倍音周波数の振幅強度が計算され
(ステップS511)、上記各ピッチ周波数または倍音
周波数をそれぞれ有し、上述の抽出された各振幅強度を
有する複数の正弦波形がそれぞれ1ピッチ周期分ずつ生
成され、これら各正弦波形が位相を合わせられて加算合
成される(ステップS513〜S517)。
メントされながら(ステップS518、S519)、各
ピッチ周波数または倍音周波数の振幅強度が計算され
(ステップS511)、上記各ピッチ周波数または倍音
周波数をそれぞれ有し、上述の抽出された各振幅強度を
有する複数の正弦波形がそれぞれ1ピッチ周期分ずつ生
成され、これら各正弦波形が位相を合わせられて加算合
成される(ステップS513〜S517)。
【0043】具体的には、まず、ステップS511で、
以下のような演算が実行される。すなわち、各ピッチ周
波数および倍音周波数は、(2π/N)・k〔ラジア
ン〕で表わされる。そこで、ステップS509でのFF
T演算によって求められた各周波数の振幅強度のうち、
周波数(2π/N)・kの近傍の周波数に対応する各振
幅強度に基づいて周波数(2π/N)・kの振幅強度c
k が演算される。
以下のような演算が実行される。すなわち、各ピッチ周
波数および倍音周波数は、(2π/N)・k〔ラジア
ン〕で表わされる。そこで、ステップS509でのFF
T演算によって求められた各周波数の振幅強度のうち、
周波数(2π/N)・kの近傍の周波数に対応する各振
幅強度に基づいて周波数(2π/N)・kの振幅強度c
k が演算される。
【0044】次に、各サンプルを示す変数iの値が0か
らNまでインクリメントされながら(ステップS51
2、S516、S517)、周波数(2π/N)・kを
有する正弦波の各サンプル値が変数h_dataの値と
して計算され(ステップS513)、このサンプル値h
_dataにステップS511で求まった振幅強度ck
が乗算され(ステップS514)、その新たなサンプル
値h_dataが現在のの配列バッファ値WAVE
[i]に累算される。このようにして、1つのピッチ周
波数または倍音周波数に対応する1ピッチ周期分すなわ
ちNサンプル分の正弦波形が計算され、配列バッファW
AVE[i]に累算される。
らNまでインクリメントされながら(ステップS51
2、S516、S517)、周波数(2π/N)・kを
有する正弦波の各サンプル値が変数h_dataの値と
して計算され(ステップS513)、このサンプル値h
_dataにステップS511で求まった振幅強度ck
が乗算され(ステップS514)、その新たなサンプル
値h_dataが現在のの配列バッファ値WAVE
[i]に累算される。このようにして、1つのピッチ周
波数または倍音周波数に対応する1ピッチ周期分すなわ
ちNサンプル分の正弦波形が計算され、配列バッファW
AVE[i]に累算される。
【0045】以上の動作が、kの値が0から10までイ
ンクリメントされながら実行されることにより(ステッ
プS518、S519)、ピッチ周波数成分および第2
倍音から第11倍音までの倍音成分が正弦波合成された
1ピッチ周期分の母音波形データが配列バッファWAV
E[i](0≦i≦N)として求まる。
ンクリメントされながら実行されることにより(ステッ
プS518、S519)、ピッチ周波数成分および第2
倍音から第11倍音までの倍音成分が正弦波合成された
1ピッチ周期分の母音波形データが配列バッファWAV
E[i](0≦i≦N)として求まる。
【0046】変数kの値が11に達したら(ステップS
519の判定がYES)、配列バッフアWAVE[i]
に累算されたN個の母音波形データが、1ピッチ周期分
の母音波形として、磁気ディスク装置などにセーブされ
る(ステップS520)。音声合成部の実施例の説明 以上のようにして、図1の音声データ生成部において子
音データファイル107および母音データファイル11
2として生成された音声データは、例えばメーカの工場
において電子楽器内のROMなどに記憶される。そし
て、ユーザによる電子楽器の演奏操作時に、演奏された
楽音とともに上記音声データが合成され発音される。 <電子鍵盤楽器における音声合成部の構成の説明>図7
は、本発明による音声合成部を電子鍵盤楽器に適用した
場合の1実施例の全体構成図である。なお、鍵盤操作に
従って楽音信号を発生する部分の構成は省略してある。
519の判定がYES)、配列バッフアWAVE[i]
に累算されたN個の母音波形データが、1ピッチ周期分
の母音波形として、磁気ディスク装置などにセーブされ
る(ステップS520)。音声合成部の実施例の説明 以上のようにして、図1の音声データ生成部において子
音データファイル107および母音データファイル11
2として生成された音声データは、例えばメーカの工場
において電子楽器内のROMなどに記憶される。そし
て、ユーザによる電子楽器の演奏操作時に、演奏された
楽音とともに上記音声データが合成され発音される。 <電子鍵盤楽器における音声合成部の構成の説明>図7
は、本発明による音声合成部を電子鍵盤楽器に適用した
場合の1実施例の全体構成図である。なお、鍵盤操作に
従って楽音信号を発生する部分の構成は省略してある。
【0047】図7において、まず、ROMである子音部
メモリ703及び母音部メモリ704には、例えばメー
カの工場において、図1の音声データ生成部において生
成された子音データファイル107および母音データフ
ァイル112の各データが記憶される。この場合、鍵盤
702の各鍵の階名または音名の内容が発音されるよう
な複数の子音波形と母音波形の組が記憶される。また、
それぞれの鍵に対応するピッチ周波数を有する複数の母
音波形が記憶される。
メモリ703及び母音部メモリ704には、例えばメー
カの工場において、図1の音声データ生成部において生
成された子音データファイル107および母音データフ
ァイル112の各データが記憶される。この場合、鍵盤
702の各鍵の階名または音名の内容が発音されるよう
な複数の子音波形と母音波形の組が記憶される。また、
それぞれの鍵に対応するピッチ周波数を有する複数の母
音波形が記憶される。
【0048】CPU701は、子音部メモリ703、母
音部メモリ704、および後述する各種データテーブル
が格納されたデータメモリ705、および作業用RAM
706などを用いて、鍵盤702において押鍵された鍵
に対応する階名または音名の内容を有する音声信号を合
成する。
音部メモリ704、および後述する各種データテーブル
が格納されたデータメモリ705、および作業用RAM
706などを用いて、鍵盤702において押鍵された鍵
に対応する階名または音名の内容を有する音声信号を合
成する。
【0049】この場合、fsカウンタ709は、発音処
理される音声信号のサンプリング周波数fsを有する各
サンプリング周期ごとに、CPU701のインタラプト
端子にインタラプト信号を供給する。
理される音声信号のサンプリング周波数fsを有する各
サンプリング周期ごとに、CPU701のインタラプト
端子にインタラプト信号を供給する。
【0050】CPU701において合成された音声信号
は、D/A変換器707でアナログ信号に変換された
後、発音回路708で発音される。 <音声合成処理の全体動作の説明>つぎに、図8は、電
子鍵盤楽器において行われる音声合成処理の全体的な動
作を表す動作フローチャートである。この動作フローチ
ャートは、図7のCPU701が、特には図示しないR
OMなどに記憶された制御プログラムを実行する動作と
して実現される。
は、D/A変換器707でアナログ信号に変換された
後、発音回路708で発音される。 <音声合成処理の全体動作の説明>つぎに、図8は、電
子鍵盤楽器において行われる音声合成処理の全体的な動
作を表す動作フローチャートである。この動作フローチ
ャートは、図7のCPU701が、特には図示しないR
OMなどに記憶された制御プログラムを実行する動作と
して実現される。
【0051】まず、電源投入後に、イニシャル処理とし
て、CPU701のI/Oポートや、作業用RAM70
6の初期化などが行なわれる(ステップS801)。そ
の後、鍵盤702の各鍵の状態が走査(スキャン)され
(ステップS802)、新たな鍵のオン操作またはオフ
操作があったか否かが判定される(ステップS80
3)。
て、CPU701のI/Oポートや、作業用RAM70
6の初期化などが行なわれる(ステップS801)。そ
の後、鍵盤702の各鍵の状態が走査(スキャン)され
(ステップS802)、新たな鍵のオン操作またはオフ
操作があったか否かが判定される(ステップS80
3)。
【0052】鍵の状態に変化があった場合は、それが新
たなオンであるのか、オフであるのかが判定される(ス
テップS804)。もし、新たなオンであれば、発音を
開始させるためアタック処理が行われ(ステップS80
5)、新たなオフであれば、発音を終了させるためのリ
リース処理が行われる(ステップS806)。
たなオンであるのか、オフであるのかが判定される(ス
テップS804)。もし、新たなオンであれば、発音を
開始させるためアタック処理が行われ(ステップS80
5)、新たなオフであれば、発音を終了させるためのリ
リース処理が行われる(ステップS806)。
【0053】アタック処理とリリース処理が行われた後
は、再びステップS802の鍵盤スキャン処理にジャン
プし、上述の処理が繰り返される。ここで、上述の繰り
返し処理中に、サンプリング周期毎にfsカウンタ70
9から割込みがかかり、その都度、インタラプト処理が
実行され(ステップS807)、このインタラプト処理
により生成された音声信号がD/A変換器707でD/
A変換され、発音回路708で発音される。 <音声合成処理の第1の実施例の説明>上述の構成によ
って実現される音声合成処理の第1の実施例について以
下に説明する。
は、再びステップS802の鍵盤スキャン処理にジャン
プし、上述の処理が繰り返される。ここで、上述の繰り
返し処理中に、サンプリング周期毎にfsカウンタ70
9から割込みがかかり、その都度、インタラプト処理が
実行され(ステップS807)、このインタラプト処理
により生成された音声信号がD/A変換器707でD/
A変換され、発音回路708で発音される。 <音声合成処理の第1の実施例の説明>上述の構成によ
って実現される音声合成処理の第1の実施例について以
下に説明する。
【0054】ここでは、音声の発音を開始するために必
要なパラメータが、データメモリ705(図7参照)内
の図10に示される波形データテーブルと図11に示さ
れるエンベロープデータテーブルから読み出され、CP
U701内の特には図示しないインタラプト処理用レジ
スタ群に図12に示されるようにセットされる。
要なパラメータが、データメモリ705(図7参照)内
の図10に示される波形データテーブルと図11に示さ
れるエンベロープデータテーブルから読み出され、CP
U701内の特には図示しないインタラプト処理用レジ
スタ群に図12に示されるようにセットされる。
【0055】つぎに、上記発音データテーブルとエンベ
ロープデータテーブルについて図10〜図12を用いて
説明する。まず図10の波形データテーブルにおいて、
子音スタートアドレスと子音エンドアドレスは、子音部
メモリ703(図7)に記憶されている子音波形データ
のスタートアドレスとエンドアドレスを指す。同様に、
母音部スタートアドレスと母音エンドアドレスは、母音
部メモリ704に記憶されている母音波形データのスタ
ートアドレスとエンドアドレスを指す。
ロープデータテーブルについて図10〜図12を用いて
説明する。まず図10の波形データテーブルにおいて、
子音スタートアドレスと子音エンドアドレスは、子音部
メモリ703(図7)に記憶されている子音波形データ
のスタートアドレスとエンドアドレスを指す。同様に、
母音部スタートアドレスと母音エンドアドレスは、母音
部メモリ704に記憶されている母音波形データのスタ
ートアドレスとエンドアドレスを指す。
【0056】エンベロープNO.は、複数のエンベロー
プデータにつけられた番号で、それぞれの波形に適した
エンベロープデータを選択するための指示データであ
る。以上のように、波形データテーブルは、5ワードで
1組のデータであって、鍵盤部702(図7参照)にお
ける鍵の数と同じ数のデータ組が設けられる。また、デ
ータメモリ705(図7)中におけるこのデータ群の先
頭のデータのアドレスを、データオフセットアドレスD
OFAと呼ぶ。
プデータにつけられた番号で、それぞれの波形に適した
エンベロープデータを選択するための指示データであ
る。以上のように、波形データテーブルは、5ワードで
1組のデータであって、鍵盤部702(図7参照)にお
ける鍵の数と同じ数のデータ組が設けられる。また、デ
ータメモリ705(図7)中におけるこのデータ群の先
頭のデータのアドレスを、データオフセットアドレスD
OFAと呼ぶ。
【0057】つぎに、図11のエンベロープデータテー
ブルは、エンベロープ処理に必要なパラメータが格納さ
れているテーブルである。これらのパラメータについ
て、図13を用いて説明する。
ブルは、エンベロープ処理に必要なパラメータが格納さ
れているテーブルである。これらのパラメータについ
て、図13を用いて説明する。
【0058】図13において、Δxは、インタラプトが
何回発生したら、エンベロープ値を変化させるかを示す
パラメータであり、Δyはエンベロープ値が変化すると
きの加算値である。
何回発生したら、エンベロープ値を変化させるかを示す
パラメータであり、Δyはエンベロープ値が変化すると
きの加算値である。
【0059】このとき、アタックエンベロープ、すなわ
ちエンベロープが増加するときはΔyは正の値で、リリ
ースエンベロープ、すなわちエンベロープが減少すると
きはΔyは負の値になる。
ちエンベロープが増加するときはΔyは正の値で、リリ
ースエンベロープ、すなわちエンベロープが減少すると
きはΔyは負の値になる。
【0060】例えばΔxが5である場合は、インタラプ
ト5回に1回の割合で、波形データに乗算されるエンベ
ロープ値はΔyづつ増やされる。したがって、エンベロ
ープ値は図13のように、階段状に変化する。
ト5回に1回の割合で、波形データに乗算されるエンベ
ロープ値はΔyづつ増やされる。したがって、エンベロ
ープ値は図13のように、階段状に変化する。
【0061】また、図11のエンベロープ目標値は、ア
タック時にエンベロープ値が最終的に到達すべき値で、
その最大値は1である。アタックΔx、アタックΔyは
アタックエンベロープにおけるΔx、Δyであり、同様
にリリースΔx、リリースΔyはリリースエンベロープ
におけるΔx、Δyである。なお、リリース時のエンベ
ロープ目標値は0であるため、その目標値は特には設け
られていない。
タック時にエンベロープ値が最終的に到達すべき値で、
その最大値は1である。アタックΔx、アタックΔyは
アタックエンベロープにおけるΔx、Δyであり、同様
にリリースΔx、リリースΔyはリリースエンベロープ
におけるΔx、Δyである。なお、リリース時のエンベ
ロープ目標値は0であるため、その目標値は特には設け
られていない。
【0062】以上のように、エンベロープデータテーブ
ルも、5ワードで1組のデータであって、鍵盤部702
(図7参照)における鍵の数と同じ数のデータ組が設け
られる。また、データメモリ705(図7)中における
このデータ群の先頭のデータのアドレスを、エンベロー
プデータオフセットアドレスEOFAと呼ぶ。
ルも、5ワードで1組のデータであって、鍵盤部702
(図7参照)における鍵の数と同じ数のデータ組が設け
られる。また、データメモリ705(図7)中における
このデータ群の先頭のデータのアドレスを、エンベロー
プデータオフセットアドレスEOFAと呼ぶ。
【0063】つぎに、図12は、CPU701内に設け
られる特には図示しないインタラプト処理用レジスタ群
の構成を示す図である。図12において、現在アドレス
レジスタPADRは現在読み出し中の波形データのアド
レスを示す。また、子音エンドアドレスレジスタCEA
DRは現在発音中の音声の子音データの子音部メモリ7
03(図7参照)における最終アドレスを示し、さら
に、母音スタートアドレスレジスタVSADRと、母音
エンドアドレスレジスタVEADRは、それぞれ現在発
音中の母音データの母音部メモリ704(図7参照)に
おける先頭アドレスと最終アドレスを示す。
られる特には図示しないインタラプト処理用レジスタ群
の構成を示す図である。図12において、現在アドレス
レジスタPADRは現在読み出し中の波形データのアド
レスを示す。また、子音エンドアドレスレジスタCEA
DRは現在発音中の音声の子音データの子音部メモリ7
03(図7参照)における最終アドレスを示し、さら
に、母音スタートアドレスレジスタVSADRと、母音
エンドアドレスレジスタVEADRは、それぞれ現在発
音中の母音データの母音部メモリ704(図7参照)に
おける先頭アドレスと最終アドレスを示す。
【0064】つぎに、子音/母音フラグレジスタVOR
Cは、現在、子音と母音のいずれが発音されているかを
示すフラグを記憶し、子音が発音中なら0、母音が発音
中なら1がセットされる。そして、この子音/母音フラ
グレジスタVORCの内容に応じて現在アドレスレジス
タPADRが参照するメモリが、図7の子音部メモリ7
03であるか母音部メモリ704であるかが選択され
る。
Cは、現在、子音と母音のいずれが発音されているかを
示すフラグを記憶し、子音が発音中なら0、母音が発音
中なら1がセットされる。そして、この子音/母音フラ
グレジスタVORCの内容に応じて現在アドレスレジス
タPADRが参照するメモリが、図7の子音部メモリ7
03であるか母音部メモリ704であるかが選択され
る。
【0065】現在エンベロープ値レジスタPENVは現
在のエンベロープ値、エンベロープ目標値レジスタEV
DESは、前述したようにエンベロープが最終的に到達
すべき値を記憶する。レジスタDLTXとDLTYは、
それぞれ前述したΔxとΔyを記憶する。エンベロープ
カウンタレジスタENVCは、インタラプト処理に入っ
た回数をカウントし、Δxと比較されてエンベロープ値
を更新するか否かを判断するために使用される。
在のエンベロープ値、エンベロープ目標値レジスタEV
DESは、前述したようにエンベロープが最終的に到達
すべき値を記憶する。レジスタDLTXとDLTYは、
それぞれ前述したΔxとΔyを記憶する。エンベロープ
カウンタレジスタENVCは、インタラプト処理に入っ
た回数をカウントし、Δxと比較されてエンベロープ値
を更新するか否かを判断するために使用される。
【0066】現在波形データレジスタPWAVEは、現
在D/A変換器707に出力されている波形データが格
納される。発音中フラグレジスタBSYFLGは、現在
音声が発音中であるか無音状態であるかを示すフラグを
記憶し、発音中であれば1、そうでなければ0がセット
される。
在D/A変換器707に出力されている波形データが格
納される。発音中フラグレジスタBSYFLGは、現在
音声が発音中であるか無音状態であるかを示すフラグを
記憶し、発音中であれば1、そうでなければ0がセット
される。
【0067】{アタック処理の第1の実施例の説明}つ
ぎに、音声合成処理の第1の実施例の一部である図8の
ステップS805のアタック処理の第1の実施例の動作
を、図9の動作フローチャートを用いて説明する。この
動作フローチャートは、図7のCPU701が特には図
示しないROMなどに記憶された制御プログラムを実行
する動作として実現される。
ぎに、音声合成処理の第1の実施例の一部である図8の
ステップS805のアタック処理の第1の実施例の動作
を、図9の動作フローチャートを用いて説明する。この
動作フローチャートは、図7のCPU701が特には図
示しないROMなどに記憶された制御プログラムを実行
する動作として実現される。
【0068】まず、発音中フラグレジスタBSYFLG
の状態が判定され(ステップS901)、現在発音中で
あればいままで発音されていた音声を急速に消音するハ
イリリース処理が行われ(ステップS902)、発音が
終了するのを待つ(ステップS903)。
の状態が判定され(ステップS901)、現在発音中で
あればいままで発音されていた音声を急速に消音するハ
イリリース処理が行われ(ステップS902)、発音が
終了するのを待つ(ステップS903)。
【0069】発音中フラグレジスタBSYFLGが0に
なり無音状態となったところで、汎用レジスタXに鍵ナ
ンバーが格納される(ステップS904)。鍵ナンバー
は鍵盤702(図7参照)において押鍵された鍵を示す
番号で、例えば音域がF3〜C6であれば、F3を0と
して0から32までの数となる。この鍵ナンバーは鍵盤
スキャン時(図8のステップS802参照)に記憶され
る。
なり無音状態となったところで、汎用レジスタXに鍵ナ
ンバーが格納される(ステップS904)。鍵ナンバー
は鍵盤702(図7参照)において押鍵された鍵を示す
番号で、例えば音域がF3〜C6であれば、F3を0と
して0から32までの数となる。この鍵ナンバーは鍵盤
スキャン時(図8のステップS802参照)に記憶され
る。
【0070】その後、データ・オフセットアドレスDO
FA、すなわち前述した図10の波形データテーブルの
先頭アドレスが、汎用レジスタYに記憶される(ステッ
プS905)。そして、前述したように波形データテー
ブルは5ワードで1組のデータを各鍵に対応して記憶す
るため、鍵ナンバーが5倍された値がデータ・オフセッ
トアドレスDOFAを格納する汎用レジスタYに加算さ
れて新たなYの値とされることにより、押鍵された鍵に
対応する目標とする波形データテーブルの先頭アドレス
が、汎用レジスタYに得られる(ステップS906、S
907)。
FA、すなわち前述した図10の波形データテーブルの
先頭アドレスが、汎用レジスタYに記憶される(ステッ
プS905)。そして、前述したように波形データテー
ブルは5ワードで1組のデータを各鍵に対応して記憶す
るため、鍵ナンバーが5倍された値がデータ・オフセッ
トアドレスDOFAを格納する汎用レジスタYに加算さ
れて新たなYの値とされることにより、押鍵された鍵に
対応する目標とする波形データテーブルの先頭アドレス
が、汎用レジスタYに得られる(ステップS906、S
907)。
【0071】つぎに、上記汎用レジスタYで示される波
形データテーブルのアドレスから図10の子音スタート
アドレスが読み出され、現在アドレスレジスタPADR
にセットされる(ステップS908)。これにより、押
鍵された鍵に対応する子音波形の先頭データが格納され
ている子音部メモリ703上のアドレスが設定される。
以下、汎用レジスタYの値がインクリメントされるたび
に図10の波形データテーブルのアドレスが更新され、
各アドレスから、子音エンドアドレス、母音スタートア
ドレス、母音エンドアドレスが、CPU701内の各レ
ジスタCEADR、VSADR、VEADRに順次読み
込まれる(S909〜S914)。
形データテーブルのアドレスから図10の子音スタート
アドレスが読み出され、現在アドレスレジスタPADR
にセットされる(ステップS908)。これにより、押
鍵された鍵に対応する子音波形の先頭データが格納され
ている子音部メモリ703上のアドレスが設定される。
以下、汎用レジスタYの値がインクリメントされるたび
に図10の波形データテーブルのアドレスが更新され、
各アドレスから、子音エンドアドレス、母音スタートア
ドレス、母音エンドアドレスが、CPU701内の各レ
ジスタCEADR、VSADR、VEADRに順次読み
込まれる(S909〜S914)。
【0072】さらに、Yがインクリメントされ(ステッ
プS915)、図10の波形データテーブル上のエンベ
ロープNO.が汎用レジスタXに読み出される(ステッ
プS916)。
プS915)、図10の波形データテーブル上のエンベ
ロープNO.が汎用レジスタXに読み出される(ステッ
プS916)。
【0073】つぎに、汎用レジスタYに、エンベロープ
データオフセットアドレスEOFAが格納される(ステ
ップS907)。前述の波形データテーブルと同様に、
エンベロープデータテーブルは5ワードで1組のデータ
を各鍵に対応して記憶するため、鍵ナンバーが5倍され
た値がエンベロープデータオフセットアドレスEOFA
を格納する汎用レジスタYに加算されて新たなYの値と
されることにより、押鍵された鍵に対応する目標とする
エンベロープデータテーブルの先頭アドレスが、汎用レ
ジスタYに得られる(ステップS918、S919)。
データオフセットアドレスEOFAが格納される(ステ
ップS907)。前述の波形データテーブルと同様に、
エンベロープデータテーブルは5ワードで1組のデータ
を各鍵に対応して記憶するため、鍵ナンバーが5倍され
た値がエンベロープデータオフセットアドレスEOFA
を格納する汎用レジスタYに加算されて新たなYの値と
されることにより、押鍵された鍵に対応する目標とする
エンベロープデータテーブルの先頭アドレスが、汎用レ
ジスタYに得られる(ステップS918、S919)。
【0074】母音波形の場合、エンベロープ値は発音開
始時は値0からスタートするので、現在エンベロープ値
レジスタPENVには値0がセットされる(ステップS
920)。つづいて、Yがインクリメントされる毎にエ
ンベロープ目標値がレジスタEVDESに、アタックΔ
x、アタックΔyがそれぞれレジスタDLTX、DLT
Yに順次セットされる(ステップS921〜S92
5)。
始時は値0からスタートするので、現在エンベロープ値
レジスタPENVには値0がセットされる(ステップS
920)。つづいて、Yがインクリメントされる毎にエ
ンベロープ目標値がレジスタEVDESに、アタックΔ
x、アタックΔyがそれぞれレジスタDLTX、DLT
Yに順次セットされる(ステップS921〜S92
5)。
【0075】さらに、Yがインクリメントされると(ス
テップS926)、Yの値はリリースΔxが格納された
アドレスを指している(図11参照)。このリリースΔ
xはレジスタRLADRに格納され(ステップS92
7)、後述するリリース処理で使用される。
テップS926)、Yの値はリリースΔxが格納された
アドレスを指している(図11参照)。このリリースΔ
xはレジスタRLADRに格納され(ステップS92
7)、後述するリリース処理で使用される。
【0076】この後、エンベロープカウンタレジスタE
NVC、現在波形データレジスタPWAVEがそれぞれ
値0に初期化され(ステップS928、S929)、発
音中フラグレジスタBSYFLGが値1にセットされて
発音が開始される(ステップS930)。
NVC、現在波形データレジスタPWAVEがそれぞれ
値0に初期化され(ステップS928、S929)、発
音中フラグレジスタBSYFLGが値1にセットされて
発音が開始される(ステップS930)。
【0077】以上で図8のステップS805のアタック
処理を終了する。 {インタラプト処理の第1の実施例の説明}つぎに、音
声合成処理の第1の実施例の一部であるインタラプト処
理の第1の実施例の動作について説明する。
処理を終了する。 {インタラプト処理の第1の実施例の説明}つぎに、音
声合成処理の第1の実施例の一部であるインタラプト処
理の第1の実施例の動作について説明する。
【0078】図7のCPU701において図8の動作フ
ローチャートが実行されている間に、サンプリング周期
毎にfsカウンタ709(図7参照)において割り込み
が発生する。fsカウンタ709からインタラプト信号
を受けたCPU701は、いままで行っていた処理を中
断し、処理中の作業内容に関するアドレスの記憶、必要
なレジスタのスタックへの退避などを行った後、図8の
ステップS807のインタラプト処理にジャンプする。
ローチャートが実行されている間に、サンプリング周期
毎にfsカウンタ709(図7参照)において割り込み
が発生する。fsカウンタ709からインタラプト信号
を受けたCPU701は、いままで行っていた処理を中
断し、処理中の作業内容に関するアドレスの記憶、必要
なレジスタのスタックへの退避などを行った後、図8の
ステップS807のインタラプト処理にジャンプする。
【0079】そして、このインタラプト処理により生成
された音声信号がD/A変換器707でD/A変換さ
れ、発音回路708で発音される。図8のステップS8
07のインタラプト処理の第1の実施例の動作を、図1
4、図15の動作フローチャートを用いて説明する。な
お、これらの動作フローチャートは、CPU701が特
には図示しないROMなどに記憶された制御プログラム
を実行する動作として実現される。
された音声信号がD/A変換器707でD/A変換さ
れ、発音回路708で発音される。図8のステップS8
07のインタラプト処理の第1の実施例の動作を、図1
4、図15の動作フローチャートを用いて説明する。な
お、これらの動作フローチャートは、CPU701が特
には図示しないROMなどに記憶された制御プログラム
を実行する動作として実現される。
【0080】図14のインタラプト処理に入ると、ま
ず、発音中フラグレジスタBSYFLGが判定される
(ステップS1401)。現在、音声を発音してよい状
態、すなわち、発音中フラグが1でなければ、パスAに
進み、D/A変換器707に振幅0のデータが出力さ
れ、無音状態が続けられる(図15のステップS140
2)。
ず、発音中フラグレジスタBSYFLGが判定される
(ステップS1401)。現在、音声を発音してよい状
態、すなわち、発音中フラグが1でなければ、パスAに
進み、D/A変換器707に振幅0のデータが出力さ
れ、無音状態が続けられる(図15のステップS140
2)。
【0081】発音中なら、現在波形データレジスタPW
AVEに、現在アドレスレジスタPADRが示す子音部
メモリ703または母音部メモリ704のいずれかのア
ドレスの波形データが読み込まれる(ステップS140
3)。このとき、子音/母音フラグレジスタVORCの
内容が0であるか1であるかによって、子音部メモリ7
03または母音部メモリ704のいずれかがアクセスさ
れる。
AVEに、現在アドレスレジスタPADRが示す子音部
メモリ703または母音部メモリ704のいずれかのア
ドレスの波形データが読み込まれる(ステップS140
3)。このとき、子音/母音フラグレジスタVORCの
内容が0であるか1であるかによって、子音部メモリ7
03または母音部メモリ704のいずれかがアクセスさ
れる。
【0082】つぎに、子音/母音フラグが0であるか否
かが判定され(ステップS1404)、子音が発音中で
あれば、パスBへ進む。このパスでは子音の発音処理が
行われる。子音波形データは、前述したように母音波形
と滑らかに接続されるように同データの後半部分にリリ
ースエンベロープがかけられた状態で、子音部メモリ7
03に記憶されている。したがって、子音の発音処理で
は、現在波形データレジスタPWAVEの内容である子
音波形データは、エンベロープ値は乗算されずに、その
まま図7のD/A変換器707に出力される(図15の
ステップS1405)。
かが判定され(ステップS1404)、子音が発音中で
あれば、パスBへ進む。このパスでは子音の発音処理が
行われる。子音波形データは、前述したように母音波形
と滑らかに接続されるように同データの後半部分にリリ
ースエンベロープがかけられた状態で、子音部メモリ7
03に記憶されている。したがって、子音の発音処理で
は、現在波形データレジスタPWAVEの内容である子
音波形データは、エンベロープ値は乗算されずに、その
まま図7のD/A変換器707に出力される(図15の
ステップS1405)。
【0083】この方式では、子音発音中にはハイリリー
スはかからないが、子音部分は、母音に比べて発音時間
が短いため、実際上差し支えない。つぎに、現在アドレ
スレジスタPADRの値が子音エンドアドレスレジスタ
CEADRが示す値に達したか否かが判定され(図15
のステップS1406)、達していれば子音の発音が終
了され、つぎの母音の発音のために、現在アドレスレジ
スタPADRに母音スタートアドレスVSADRがセッ
トされる(図15のステップS1407)。その後、子
音/母音フラグレジスタVORCに、母音発音中を示す
フラグ1がセットされる(図15のステップS140
8)。
スはかからないが、子音部分は、母音に比べて発音時間
が短いため、実際上差し支えない。つぎに、現在アドレ
スレジスタPADRの値が子音エンドアドレスレジスタ
CEADRが示す値に達したか否かが判定され(図15
のステップS1406)、達していれば子音の発音が終
了され、つぎの母音の発音のために、現在アドレスレジ
スタPADRに母音スタートアドレスVSADRがセッ
トされる(図15のステップS1407)。その後、子
音/母音フラグレジスタVORCに、母音発音中を示す
フラグ1がセットされる(図15のステップS140
8)。
【0084】また、図15のステップS1406におい
て、現在アドレスレジスタPADRの値が子音エンドア
ドレスCEADRが示す値に達していなければ、現在ア
ドレスレジスタPADRの値がインクリメントされ、イ
ンタラプト処理を終了して図8のメイン動作フローに戻
る。
て、現在アドレスレジスタPADRの値が子音エンドア
ドレスCEADRが示す値に達していなければ、現在ア
ドレスレジスタPADRの値がインクリメントされ、イ
ンタラプト処理を終了して図8のメイン動作フローに戻
る。
【0085】つぎに、図14のステップS1404にお
いて、現在、母音が発音中であると判定された場合は、
パスCに進み、母音の発音処理が実行される。まず、レ
ジスタDLTYが示す内容Δyが正であるか負であるか
が判定される(ステップS1410)。
いて、現在、母音が発音中であると判定された場合は、
パスCに進み、母音の発音処理が実行される。まず、レ
ジスタDLTYが示す内容Δyが正であるか負であるか
が判定される(ステップS1410)。
【0086】正であればアタックエンベロープ中の状
態、負であれば後述するリリース処理によってリリース
エンベロープ中の状態となっている。いずれの場合も、
現在エンベロープ値レジスタPENVの値が、エンベロ
ープ目標値レジスタEVDESの示す値を超えていない
か否かが判定される(ステップS1411、S141
2)。
態、負であれば後述するリリース処理によってリリース
エンベロープ中の状態となっている。いずれの場合も、
現在エンベロープ値レジスタPENVの値が、エンベロ
ープ目標値レジスタEVDESの示す値を超えていない
か否かが判定される(ステップS1411、S141
2)。
【0087】超えていなければパスDに進み、現在波形
データレジスタPWAVEに現在エンベロープ値レジス
タPENVの値が乗算される(ステップS1413)。
つぎに、エンベロープカウンタレジスタENVCの値が
レジスタDLTXが示す内容Δxに達しているか否かが
判定される(ステップS1414)。達している場合に
は、現在エンベロープ値レジスタPENVにレジスタD
LTYの内容であるエンベロープ変化分Δyが加算され
て現在エンベロープ値が更新され(ステップS141
5)、エンベロープカウンタレジスタENVCの内容が
クリアされる(ステップS1416)。また、達してい
なければ、現在エンベロープ値レジスタPENVはその
ままで、エンベロープカウンタレジスタENVの内容が
インクリメントされ(ステップS1417)、つぎのス
テップS1421へ進む。
データレジスタPWAVEに現在エンベロープ値レジス
タPENVの値が乗算される(ステップS1413)。
つぎに、エンベロープカウンタレジスタENVCの値が
レジスタDLTXが示す内容Δxに達しているか否かが
判定される(ステップS1414)。達している場合に
は、現在エンベロープ値レジスタPENVにレジスタD
LTYの内容であるエンベロープ変化分Δyが加算され
て現在エンベロープ値が更新され(ステップS141
5)、エンベロープカウンタレジスタENVCの内容が
クリアされる(ステップS1416)。また、達してい
なければ、現在エンベロープ値レジスタPENVはその
ままで、エンベロープカウンタレジスタENVの内容が
インクリメントされ(ステップS1417)、つぎのス
テップS1421へ進む。
【0088】一方、ステップS1411、S1412に
おいて、現在エンベロープ値レジスタPENVの値がエ
ンベロープ目標値レジスタEVDESの値に達していた
場合はパスEに進む。
おいて、現在エンベロープ値レジスタPENVの値がエ
ンベロープ目標値レジスタEVDESの値に達していた
場合はパスEに進む。
【0089】まず、エンベロープ目標値レジスタEVD
ESの値が0であるか否かが判定される(ステップS1
418)。EVDESの値が0でなければアタックエン
ベロープ中であり、ステップS1420へ進む。EVD
ESの値が0であれば、後述するリリース処理によって
リリースエンベロープ中の状態となった後にリリースエ
ンベロープが0に達したことになり、したがって発音終
了であるので、発音中フラグレジスタBSYFLGの内
容がリセットされる(ステップS1419)。これによ
り、次回のサンプリングタイミングにおけるインタラプ
ト処理からは無音状態に入る。
ESの値が0であるか否かが判定される(ステップS1
418)。EVDESの値が0でなければアタックエン
ベロープ中であり、ステップS1420へ進む。EVD
ESの値が0であれば、後述するリリース処理によって
リリースエンベロープ中の状態となった後にリリースエ
ンベロープが0に達したことになり、したがって発音終
了であるので、発音中フラグレジスタBSYFLGの内
容がリセットされる(ステップS1419)。これによ
り、次回のサンプリングタイミングにおけるインタラプ
ト処理からは無音状態に入る。
【0090】ステップS1420では、現在波形データ
レジスタPWAVEの内容にエンベロープ目標値レジス
タEVDESの値が乗算され、つづくステップS142
1において、D/A変換器707に現在波形データレジ
スタPWAVEの内容が出力される。
レジスタPWAVEの内容にエンベロープ目標値レジス
タEVDESの値が乗算され、つづくステップS142
1において、D/A変換器707に現在波形データレジ
スタPWAVEの内容が出力される。
【0091】その後、現在アドレスレジスタPADRの
値と母音エンドアドレスレジスタVEADRの値が比較
される(ステップS1422)。現在アドレスが母音エ
ンドアドレスに達した場合は、現在アドレスレジスタP
ADRにふたたび母音スタートアドレスレジスタVSA
DRの値がセットされ(ステップS1423)、これに
より母音波形のループ再生が実現される。一方、ステッ
プS1422において、現在アドレスが母音エンドアド
レスに達していない場合は、現在アドレスレジスタPA
DRの内容がインクリメントされ(ステップS142
4)、インタラプト処理を終了して図8のメイン動作フ
ローに戻る。
値と母音エンドアドレスレジスタVEADRの値が比較
される(ステップS1422)。現在アドレスが母音エ
ンドアドレスに達した場合は、現在アドレスレジスタP
ADRにふたたび母音スタートアドレスレジスタVSA
DRの値がセットされ(ステップS1423)、これに
より母音波形のループ再生が実現される。一方、ステッ
プS1422において、現在アドレスが母音エンドアド
レスに達していない場合は、現在アドレスレジスタPA
DRの内容がインクリメントされ(ステップS142
4)、インタラプト処理を終了して図8のメイン動作フ
ローに戻る。
【0092】図16に、上述したインタラプト処理に基
づいて合成された音声「シ」の波形を示す。図16から
わかるように、子音部にゆるやかなリリース特性が付加
されており、また、母音波形の立ち上がり部分にアタッ
クエンベロープが付加されている。これにより、子音と
母音の接続が滑らかになり、発音される音声において、
自然性を向上させることができる。
づいて合成された音声「シ」の波形を示す。図16から
わかるように、子音部にゆるやかなリリース特性が付加
されており、また、母音波形の立ち上がり部分にアタッ
クエンベロープが付加されている。これにより、子音と
母音の接続が滑らかになり、発音される音声において、
自然性を向上させることができる。
【0093】図17に、上述したインタラプト処理に基
づいて母音部分「イ」の1ピッチ周期の波形が繰り返し
再生されるときの波形を示す。前述した図1の音声デー
タ生成部の処理によって生成される1ピッチ周期の母音
波形データは、それぞれピッチ周波数と各倍音周波数を
有する1ピッチ周期分の各正弦波形が加算合成されるこ
とによって生成されるため、この1ピッチ周期の母音波
形データの両端の値は必ず0となり、かつ両者の微分係
数は連続となる。このため、図17からわかるように、
1ピッチ周期の母音波形データがループ処理される場合
に、母音スタートアドレスレジスタVSADRで示され
るアドレスの母音データと母音エンドアドレスレジスタ
VEADRで示されるアドレスの母音データとの接続部
分(ループポイント)におけるノイズの発生をなくすこ
とができる。
づいて母音部分「イ」の1ピッチ周期の波形が繰り返し
再生されるときの波形を示す。前述した図1の音声デー
タ生成部の処理によって生成される1ピッチ周期の母音
波形データは、それぞれピッチ周波数と各倍音周波数を
有する1ピッチ周期分の各正弦波形が加算合成されるこ
とによって生成されるため、この1ピッチ周期の母音波
形データの両端の値は必ず0となり、かつ両者の微分係
数は連続となる。このため、図17からわかるように、
1ピッチ周期の母音波形データがループ処理される場合
に、母音スタートアドレスレジスタVSADRで示され
るアドレスの母音データと母音エンドアドレスレジスタ
VEADRで示されるアドレスの母音データとの接続部
分(ループポイント)におけるノイズの発生をなくすこ
とができる。
【0094】{リリース処理の実施例の説明}つぎに、
音声合成処理の第1の実施例の一部であって、鍵がオフ
されたときに実行される図8のステップS806のリリ
ース処理の実施例について、図18の動作フローチャー
トを用いて説明する。この動作フローチャートは、図7
のCPU701が、特には図示しないROMなどに記憶
された制御プログラムを実行する動作として実現され
る。
音声合成処理の第1の実施例の一部であって、鍵がオフ
されたときに実行される図8のステップS806のリリ
ース処理の実施例について、図18の動作フローチャー
トを用いて説明する。この動作フローチャートは、図7
のCPU701が、特には図示しないROMなどに記憶
された制御プログラムを実行する動作として実現され
る。
【0095】リリース処理は、図12のエンベロープ目
標レジスタの値をセットし直すとともに、レジスタDL
TX、DLTYを、それぞれリリース用のΔx、Δyに
置き換える処理である。
標レジスタの値をセットし直すとともに、レジスタDL
TX、DLTYを、それぞれリリース用のΔx、Δyに
置き換える処理である。
【0096】ここで問題になるのは、上述の3つのレジ
スタがセットされている間に、前述したインタラプト処
理が実行されてしまうと、このときのエンベロープのた
めの各種データは不完全な状態となっており、かつ発音
中フラグレジスタBSYFLGも発音中を示すことがで
きるため、不適切なデータがD/A変換器707に出力
されてノイズとなる恐れがあることである。なお、前述
のアタック処理は、発音中フラグレジスタBSYFLG
が無音であることを示す値になってから実行されるた
め、上述のような問題は発生しない(図9のステップS
901〜S903参照)。
スタがセットされている間に、前述したインタラプト処
理が実行されてしまうと、このときのエンベロープのた
めの各種データは不完全な状態となっており、かつ発音
中フラグレジスタBSYFLGも発音中を示すことがで
きるため、不適切なデータがD/A変換器707に出力
されてノイズとなる恐れがあることである。なお、前述
のアタック処理は、発音中フラグレジスタBSYFLG
が無音であることを示す値になってから実行されるた
め、上述のような問題は発生しない(図9のステップS
901〜S903参照)。
【0097】上述のような問題に対処するため、図18
の動作フローチャートでは、まず、図7のfsカウンタ
709からのインタラプト信号がマスクされることによ
り、インタラプト処理が禁止される(ステップS180
1)。
の動作フローチャートでは、まず、図7のfsカウンタ
709からのインタラプト信号がマスクされることによ
り、インタラプト処理が禁止される(ステップS180
1)。
【0098】その後、エンベロープ目標値レジスタEV
DESに値0がセットされる(ステップS1802)。
また、前述した図9のアタック処理のステップS927
においてセットされたRLADRがリリースエンベロー
プのΔxのテーブルアドレスを示しているので(図11
参照)、この値がレジスタDLTXに読み込まれる(ス
テップS1803)。
DESに値0がセットされる(ステップS1802)。
また、前述した図9のアタック処理のステップS927
においてセットされたRLADRがリリースエンベロー
プのΔxのテーブルアドレスを示しているので(図11
参照)、この値がレジスタDLTXに読み込まれる(ス
テップS1803)。
【0099】つづいて,レジスタRLADRの内容がイ
ンクリメントされ(ステップS1804)、図11のリ
リースエンベロープのΔyの値がレジスタDLTYに読
み込まれる(ステップS1805)。
ンクリメントされ(ステップS1804)、図11のリ
リースエンベロープのΔyの値がレジスタDLTYに読
み込まれる(ステップS1805)。
【0100】このようにして、3つのレジスタがセット
された後、インタラプトのマスクが解除されて(ステッ
プS1806)、図8のステップS806のリリース処
理を終了する。
された後、インタラプトのマスクが解除されて(ステッ
プS1806)、図8のステップS806のリリース処
理を終了する。
【0101】このようなリリース処理の結果、母音波形
データが繰り返し合成されている状態で離鍵指示がなさ
れると、それ以降の図14のインタラプト処理におい
て、ステップS1410、S1412、S1413〜S
1417の処理が繰り返されることによって、現在エン
ベロープ値レジスタPENVの値がエンベロープ目標値
レジスタEVDESの値0に向って減少してゆき、発音
中の母音波形データに図19に示されるようなリリース
特性が付加される。
データが繰り返し合成されている状態で離鍵指示がなさ
れると、それ以降の図14のインタラプト処理におい
て、ステップS1410、S1412、S1413〜S
1417の処理が繰り返されることによって、現在エン
ベロープ値レジスタPENVの値がエンベロープ目標値
レジスタEVDESの値0に向って減少してゆき、発音
中の母音波形データに図19に示されるようなリリース
特性が付加される。
【0102】そして、ステップS1412において、現
在エンベロープ値レジスタPENVの値がエンベロープ
目標値レジスタEVDESの値0を下回ると、ステップ
S1418の判定がYESとなった後、ステップS14
19において発音中フラグレジスタBSYFLGの内容
が値0にクリアされ、音声の発音が停止される。 <音声合成処理の第2の実施例の説明>前述した音声合
成処理の第1実施例では、子音波形を母音波形と滑らか
に接続するために、リリースエンベロープが付加された
子音波形の発音終了につづいて、アタックエンベロープ
が付加された母音波形の発音が行われた。
在エンベロープ値レジスタPENVの値がエンベロープ
目標値レジスタEVDESの値0を下回ると、ステップ
S1418の判定がYESとなった後、ステップS14
19において発音中フラグレジスタBSYFLGの内容
が値0にクリアされ、音声の発音が停止される。 <音声合成処理の第2の実施例の説明>前述した音声合
成処理の第1実施例では、子音波形を母音波形と滑らか
に接続するために、リリースエンベロープが付加された
子音波形の発音終了につづいて、アタックエンベロープ
が付加された母音波形の発音が行われた。
【0103】これに対して、以下に説明する音声合成処
理の第2実施例では、子音波形と母音波形の接続をより
確実にするために、リリースエンベロープが付加された
子音波形に対してアタックエンベロープが付加された母
音波形がクロスフェードさせられることが特徴である。
理の第2実施例では、子音波形と母音波形の接続をより
確実にするために、リリースエンベロープが付加された
子音波形に対してアタックエンベロープが付加された母
音波形がクロスフェードさせられることが特徴である。
【0104】そのために、図7のデータメモリ705上
に設けられる図20で示される波形データテーブルに
は、図10の第1の実施例の場合に比べて、母音波形の
アタックが開始される時点に対応する子音波形上(子音
部メモリ703上)のアドレスである母音スタート子音
アドレスが追加されている。その結果、波形データテー
ブル上の各鍵に対応するデータの1組は、第1の実施例
に比べて1ワード増え、6ワードで構成される。
に設けられる図20で示される波形データテーブルに
は、図10の第1の実施例の場合に比べて、母音波形の
アタックが開始される時点に対応する子音波形上(子音
部メモリ703上)のアドレスである母音スタート子音
アドレスが追加されている。その結果、波形データテー
ブル上の各鍵に対応するデータの1組は、第1の実施例
に比べて1ワード増え、6ワードで構成される。
【0105】つぎに、図21は、CPU701内に設け
られる特には図示しないインタラプト処理用レジスタ群
の構成を示す図である。ここでは図12の第1の実施例
の場合に比べ、上述した母音スタート子音アドレスを格
納するレジスタVSCADRの他に、図12の現在アド
レスレジスタPADRの代わりに子音アドレスレジスタ
CADRと母音アドレスレジスタVADRが、また図1
2の現在波形データレジスタPWAVEの代わりに子音
波形データレジスタCWAVEと母音波形データレジス
タVWAVEが新たに設けられている。
られる特には図示しないインタラプト処理用レジスタ群
の構成を示す図である。ここでは図12の第1の実施例
の場合に比べ、上述した母音スタート子音アドレスを格
納するレジスタVSCADRの他に、図12の現在アド
レスレジスタPADRの代わりに子音アドレスレジスタ
CADRと母音アドレスレジスタVADRが、また図1
2の現在波形データレジスタPWAVEの代わりに子音
波形データレジスタCWAVEと母音波形データレジス
タVWAVEが新たに設けられている。
【0106】なお、図21で“*”を付したレジスタは
図12の場合と同様である。但し、子音/母音フラグレ
ジスタVORCには、第1の実施例の場合と異なり、子
音のみ発音中ならば値0、母音のみ発音中なら値2がセ
ットされる。なお、フラグ値が1の状態は用いられな
い。
図12の場合と同様である。但し、子音/母音フラグレ
ジスタVORCには、第1の実施例の場合と異なり、子
音のみ発音中ならば値0、母音のみ発音中なら値2がセ
ットされる。なお、フラグ値が1の状態は用いられな
い。
【0107】つぎに、エンベロープデータテーブルとし
ては、図11の第1の実施例の場合と同じものが用いら
れる。 {アタック処理の第2の実施例の説明}つぎに、音声合
成処理の第2の実施例の一部である図8のステップS8
05のアタック処理の第2の実施例の動作を、図22の
動作フローチャートを用いて説明する。この動作フロー
チャートは、第1の実施例における図9の動作フローチ
ャートに対応する。
ては、図11の第1の実施例の場合と同じものが用いら
れる。 {アタック処理の第2の実施例の説明}つぎに、音声合
成処理の第2の実施例の一部である図8のステップS8
05のアタック処理の第2の実施例の動作を、図22の
動作フローチャートを用いて説明する。この動作フロー
チャートは、第1の実施例における図9の動作フローチ
ャートに対応する。
【0108】まず、ステップS2201〜S2205
は、図9のステップS901〜S905と同じである。
つぎに、波形データは前述のように6ワードで1組であ
るので、鍵ナンバーが6倍された値がデータ・オフセッ
トアドレスDOFAを格納する汎用レジスタYに加算さ
れて新たなYの値とされることにより、押鍵された鍵に
対応する目標とする波形データテーブルの先頭アドレス
が、汎用レジスタYに得られる(ステップS2206、
S2207)。
は、図9のステップS901〜S905と同じである。
つぎに、波形データは前述のように6ワードで1組であ
るので、鍵ナンバーが6倍された値がデータ・オフセッ
トアドレスDOFAを格納する汎用レジスタYに加算さ
れて新たなYの値とされることにより、押鍵された鍵に
対応する目標とする波形データテーブルの先頭アドレス
が、汎用レジスタYに得られる(ステップS2206、
S2207)。
【0109】つぎに、上記汎用レジスタYで示される波
形データテーブルのアドレスから図20の子音スタート
アドレスが読み出され、子音アドレスレジスタCADR
にセットされる(ステップS2208)。これにより、
押鍵された鍵に対応する子音波形の先頭データが格納さ
れている子音部メモリ703上のアドレスが設定され
る。以下、汎用レジスタYの値がインクリメントされる
たびに図20の波形データテーブルのアドレスが更新さ
れ、各アドレスから、子音エンドアドレス、母音スター
ト子音アドレス、母音スタートアドレス、母音エンドア
ドレスが、CPU701内の各レジスタCEADR、V
SCADR、VADR、VEADRに順次読み込まれる
(S2209〜S2216)。
形データテーブルのアドレスから図20の子音スタート
アドレスが読み出され、子音アドレスレジスタCADR
にセットされる(ステップS2208)。これにより、
押鍵された鍵に対応する子音波形の先頭データが格納さ
れている子音部メモリ703上のアドレスが設定され
る。以下、汎用レジスタYの値がインクリメントされる
たびに図20の波形データテーブルのアドレスが更新さ
れ、各アドレスから、子音エンドアドレス、母音スター
ト子音アドレス、母音スタートアドレス、母音エンドア
ドレスが、CPU701内の各レジスタCEADR、V
SCADR、VADR、VEADRに順次読み込まれる
(S2209〜S2216)。
【0110】この後、ステップS2217〜S2229
は前述の図9のステップS915〜S927と同様であ
る。その後、子音波形データレジスタCWAVE、母音
波形データレジスタVWAVE、エンベロープカウンタ
レジスタENVCがそれぞれ値0に初期化され(ステッ
プS2230、S2231、S2232)、発音中フラ
グレジスタBSYFLGが値1にセットされて発音が開
始される(ステップS2233)。
は前述の図9のステップS915〜S927と同様であ
る。その後、子音波形データレジスタCWAVE、母音
波形データレジスタVWAVE、エンベロープカウンタ
レジスタENVCがそれぞれ値0に初期化され(ステッ
プS2230、S2231、S2232)、発音中フラ
グレジスタBSYFLGが値1にセットされて発音が開
始される(ステップS2233)。
【0111】以上で図8のステップS805のアタック
処理を終了する。 {インタラプト処理の第2の実施例の説明}つぎに、音
声合成処理の第2の実施例の一部である図8のステップ
S807のインタラプト処理の第2の実施例の動作につ
いて、図23〜図25の動作フローチャートを用いて説
明する。これらの動作フローチャートは、図14、図1
5の第1の実施例の動作フローチャートに対応する。
処理を終了する。 {インタラプト処理の第2の実施例の説明}つぎに、音
声合成処理の第2の実施例の一部である図8のステップ
S807のインタラプト処理の第2の実施例の動作につ
いて、図23〜図25の動作フローチャートを用いて説
明する。これらの動作フローチャートは、図14、図1
5の第1の実施例の動作フローチャートに対応する。
【0112】図23のインタラプト処理に入ると、ま
ず、発音中フラグレジスタBSYFLGが判定される
(ステップS2301)。現在、音声を発音してよい状
態、すなわち、発音中フラグが1でなければ、パスAに
進み、D/A変換器707に振幅0のデータが出力さ
れ、無音状態が続けられる(ステップS2302)。
ず、発音中フラグレジスタBSYFLGが判定される
(ステップS2301)。現在、音声を発音してよい状
態、すなわち、発音中フラグが1でなければ、パスAに
進み、D/A変換器707に振幅0のデータが出力さ
れ、無音状態が続けられる(ステップS2302)。
【0113】発音中なら、さらに子音/母音フラグレジ
スタVORCの内容が判定され(ステップS230
3)、VORC=2で母音のみ発音中であると判定され
たならパスBへ進み、母音の発音処理のみが実行され
る。この処理は後述する。
スタVORCの内容が判定され(ステップS230
3)、VORC=2で母音のみ発音中であると判定され
たならパスBへ進み、母音の発音処理のみが実行され
る。この処理は後述する。
【0114】また、VORC=0で子音が発音中であれ
ばパスCへ進む。このパスでは子音の発音処理が実行さ
れる。まず、子音部メモリ703(図7参照)上の子音
アドレスレジスタCADRが示すアドレスから子音波形
データが読み出され、子音波形データレジスタCWAV
Eに格納される(ステップS2304)。
ばパスCへ進む。このパスでは子音の発音処理が実行さ
れる。まず、子音部メモリ703(図7参照)上の子音
アドレスレジスタCADRが示すアドレスから子音波形
データが読み出され、子音波形データレジスタCWAV
Eに格納される(ステップS2304)。
【0115】つぎに、子音アドレスレジスタCADRの
値が母音スタート子音アドレスレジスタVSCADRの
示す値に達しているか否かが判定される(ステップS2
305)。
値が母音スタート子音アドレスレジスタVSCADRの
示す値に達しているか否かが判定される(ステップS2
305)。
【0116】子音アドレスが母音スタート子音アドレス
に達していないと判定されれば、子音のみの発音処理が
実行される。すなわち、子音波形データレジスタCWA
VEの内容である子音波形データは、第1の実施例の場
合と同様にエンベロープ値は乗算されずに、そのまま図
7のD/A変換器707に出力される(ステップS23
06)。その後、子音アドレスレジスタCADRの内容
がインクリメントされ(ステップS2307)、インタ
ラプト処理を終了して図8のメイン動作フローに戻る。
に達していないと判定されれば、子音のみの発音処理が
実行される。すなわち、子音波形データレジスタCWA
VEの内容である子音波形データは、第1の実施例の場
合と同様にエンベロープ値は乗算されずに、そのまま図
7のD/A変換器707に出力される(ステップS23
06)。その後、子音アドレスレジスタCADRの内容
がインクリメントされ(ステップS2307)、インタ
ラプト処理を終了して図8のメイン動作フローに戻る。
【0117】一方、ステップS2305で、子音アドレ
スが母音スタート子音アドレスに達したと判定された
ら、子音と母音の両方の発音処理が実行される。これ以
降の処理がいわゆるクロスフェード処理である。
スが母音スタート子音アドレスに達したと判定された
ら、子音と母音の両方の発音処理が実行される。これ以
降の処理がいわゆるクロスフェード処理である。
【0118】まず、子音アドレスレジスタCADRの値
が子音エンドアドレスレジスタCEADRが示す値に達
したか否かが判定される(ステップS2308)。子音
アドレスが子音エンドアドレスに達したと判定されれ
ば、子音/母音フラグレジスタVORCが、母音のみ発
音中を示す値2にセットされ(ステップS2309)、
子音波形データレジスタCWAVEの内容がクリアされ
る(ステップS2310)。この処理は、後述するよう
に母音波形データがD/A変換器707に出力される
際、母音波形データに子音波形データが加算されてから
出力されるので、子音の発音終了後は子音波形データを
0にする処理である。
が子音エンドアドレスレジスタCEADRが示す値に達
したか否かが判定される(ステップS2308)。子音
アドレスが子音エンドアドレスに達したと判定されれ
ば、子音/母音フラグレジスタVORCが、母音のみ発
音中を示す値2にセットされ(ステップS2309)、
子音波形データレジスタCWAVEの内容がクリアされ
る(ステップS2310)。この処理は、後述するよう
に母音波形データがD/A変換器707に出力される
際、母音波形データに子音波形データが加算されてから
出力されるので、子音の発音終了後は子音波形データを
0にする処理である。
【0119】また、ステップS2308で、子音アドレ
スが子音エンドアドレスに達していないと判定されれ
ば、子音アドレスレジスタCADRの値がインクリメン
トされ(ステップS2311)、つぎの母音発音処理に
進む。
スが子音エンドアドレスに達していないと判定されれ
ば、子音アドレスレジスタCADRの値がインクリメン
トされ(ステップS2311)、つぎの母音発音処理に
進む。
【0120】まず、母音部メモリ704上の母音アドレ
スレジスタVADRによって示されるアドレスの母音波
形データが、母音波形データレジスタVWAVEに読み
込まれる(ステップS2312)。
スレジスタVADRによって示されるアドレスの母音波
形データが、母音波形データレジスタVWAVEに読み
込まれる(ステップS2312)。
【0121】つぎに、レジスタDLTYが示す内容Δy
が正であるか負であるかが判定される(ステップS23
13、以下図24参照)。正であればアタックエンベロ
ープ中の状態、負であれば後述するリリース処理によっ
てリリースエンベロープ中の状態となっている。いずれ
の場合も、現在エンベロープ値レジスタPENVの値
が、エンベロープ目標値レジスタEVDESの示す値を
超えていないか否かが判定される(ステップS231
4、S2315)。
が正であるか負であるかが判定される(ステップS23
13、以下図24参照)。正であればアタックエンベロ
ープ中の状態、負であれば後述するリリース処理によっ
てリリースエンベロープ中の状態となっている。いずれ
の場合も、現在エンベロープ値レジスタPENVの値
が、エンベロープ目標値レジスタEVDESの示す値を
超えていないか否かが判定される(ステップS231
4、S2315)。
【0122】超えていなければパスDに進み、母音波形
データレジスタVWAVEに現在エンベロープ値レジス
タPENVの値が乗算される(ステップS2316)。
つぎに、エンベロープカウンタレジスタENVCの値が
レジスタDLTXが示す内容Δxに達しているか否かが
判定される(ステップS2317)。達している場合に
は、現在エンベロープ値レジスタPENVにレジスタD
LTYの内容であるエンベロープ変化分Δyが加算され
て現在エンベロープ値が更新され(ステップS231
8)、エンベロープカウンタレジスタENVCの内容が
クリアされる(ステップS2319)。また、達してい
なければ、現在エンベロープ値レジスタPENVはその
ままで、エンベロープカウンタレジスタENVの内容が
インクリメントされ(ステップS2320)、つぎのス
テップS2324(図25)へ進む。
データレジスタVWAVEに現在エンベロープ値レジス
タPENVの値が乗算される(ステップS2316)。
つぎに、エンベロープカウンタレジスタENVCの値が
レジスタDLTXが示す内容Δxに達しているか否かが
判定される(ステップS2317)。達している場合に
は、現在エンベロープ値レジスタPENVにレジスタD
LTYの内容であるエンベロープ変化分Δyが加算され
て現在エンベロープ値が更新され(ステップS231
8)、エンベロープカウンタレジスタENVCの内容が
クリアされる(ステップS2319)。また、達してい
なければ、現在エンベロープ値レジスタPENVはその
ままで、エンベロープカウンタレジスタENVの内容が
インクリメントされ(ステップS2320)、つぎのス
テップS2324(図25)へ進む。
【0123】一方、ステップS2314、S2315に
おいて、現在エンベロープ値レジスタPENVの値がエ
ンベロープ目標値レジスタEVDESの値に達していた
場合はパスEに進む。
おいて、現在エンベロープ値レジスタPENVの値がエ
ンベロープ目標値レジスタEVDESの値に達していた
場合はパスEに進む。
【0124】まず、エンベロープ目標値レジスタEVD
ESの値が0であるか否かが判定される(ステップS2
321)。EVDESの値が0でなければアタックエン
ベロープ中であり、ステップS2323へ進む。EVD
ESの値が0であれば、第1の実施例の場合(図14の
ステップS1419)と同様、リリース処理によってリ
リースエンベロープ中の状態となった後にリリースエン
ベロープが0に達したことになり、したがって発音終了
であるので、発音中フラグレジスタBSYFLGの内容
がリセットされる(ステップS2322)。これによ
り、次回のサンプリングタイミングにおけるインタラプ
ト処理からは無音状態に入る。
ESの値が0であるか否かが判定される(ステップS2
321)。EVDESの値が0でなければアタックエン
ベロープ中であり、ステップS2323へ進む。EVD
ESの値が0であれば、第1の実施例の場合(図14の
ステップS1419)と同様、リリース処理によってリ
リースエンベロープ中の状態となった後にリリースエン
ベロープが0に達したことになり、したがって発音終了
であるので、発音中フラグレジスタBSYFLGの内容
がリセットされる(ステップS2322)。これによ
り、次回のサンプリングタイミングにおけるインタラプ
ト処理からは無音状態に入る。
【0125】ステップS2323では、母音波形データ
レジスタVWAVEの内容にエンベロープ目標値レジス
タEVDESの値が乗算され、つづくステップS232
4(図25)で母音波形データレジスタVWAVEに子
音波形データレジスタCWAVEの内容が加算され、そ
の加算結果がD/A変換器707に出力される(ステッ
プ2325)。
レジスタVWAVEの内容にエンベロープ目標値レジス
タEVDESの値が乗算され、つづくステップS232
4(図25)で母音波形データレジスタVWAVEに子
音波形データレジスタCWAVEの内容が加算され、そ
の加算結果がD/A変換器707に出力される(ステッ
プ2325)。
【0126】その後、母音アドレスレジスタVADRの
値と母音エンドアドレスレジスタVEADRの値が比較
される(ステップS2326)。母音アドレスが母音エ
ンドアドレスに達した場合は、母音アドレスレジスタV
ADRにふたたび母音スタートアドレスレジスタVSA
DRの値がセットされ(ステップS2327)、これに
より母音波形のループ再生が実現される。
値と母音エンドアドレスレジスタVEADRの値が比較
される(ステップS2326)。母音アドレスが母音エ
ンドアドレスに達した場合は、母音アドレスレジスタV
ADRにふたたび母音スタートアドレスレジスタVSA
DRの値がセットされ(ステップS2327)、これに
より母音波形のループ再生が実現される。
【0127】一方、ステップS2326において、母音
アドレスが母音エンドアドレスに達していない場合は、
母音アドレスレジスタVADRの内容がインクリメント
され(ステップS2328)、インタラプト処理を終了
して図8のメイン動作フローに戻る。
アドレスが母音エンドアドレスに達していない場合は、
母音アドレスレジスタVADRの内容がインクリメント
され(ステップS2328)、インタラプト処理を終了
して図8のメイン動作フローに戻る。
【0128】以上説明した音声合成処理の第2実施例に
よって、リリースエンベロープが付加された子音波形が
減衰してゆくと同時に、アタックエンベロープが付加さ
れた母音波形が徐々に立ち上がっていくいわゆるクロス
フェード動作を実現することができ、これにより、子音
と母音のよりなめらかな接続が実現され、ノイズ感を減
少させることができる。
よって、リリースエンベロープが付加された子音波形が
減衰してゆくと同時に、アタックエンベロープが付加さ
れた母音波形が徐々に立ち上がっていくいわゆるクロス
フェード動作を実現することができ、これにより、子音
と母音のよりなめらかな接続が実現され、ノイズ感を減
少させることができる。
【0129】
【発明の効果】本発明によれば、まず、子音波形データ
が作成される場合に、子音波形データにリリース特性を
有するエンベロープが付加されることにより、子音と母
音の接続が滑らかになり、子音波形と母音波形との接続
部分におけるノイズの発生を抑制することが可能とな
る。
が作成される場合に、子音波形データにリリース特性を
有するエンベロープが付加されることにより、子音と母
音の接続が滑らかになり、子音波形と母音波形との接続
部分におけるノイズの発生を抑制することが可能とな
る。
【0130】一方、音声データの大部分を占める母音部
分は、正確に1ピッチ周期分の母音波形データとして得
ることができ、母音波形データの記憶容量を大幅に縮小
させることが可能となる。
分は、正確に1ピッチ周期分の母音波形データとして得
ることができ、母音波形データの記憶容量を大幅に縮小
させることが可能となる。
【0131】また、1ピッチ周期の母音波形データは、
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことが可能となる。
それぞれピッチ周波数と各倍音周波数を有する1ピッチ
周期分の各正弦波形が加算合成されることによって生成
されるため、この1ピッチ周期の母音波形データの両端
の値は必ず0となり、かつ両者の微分係数は連続となる
ため、音声合成時に上記母音波形データがループ処理さ
れる場合に、ループポイント(波形の接続部)における
ノイズの発生をなくすことが可能となる。
【0132】なお、リリースエンベロープが付加された
子音波形が減衰してゆくと同時に、アタックエンベロー
プが付加された母音波形が徐々に立ち上がっていくいわ
ゆるクロスフェード処理が行われることにより、子音と
母音のさらになめらかな接続が実現され、ノイズ感をよ
り減少させることが可能となる。
子音波形が減衰してゆくと同時に、アタックエンベロー
プが付加された母音波形が徐々に立ち上がっていくいわ
ゆるクロスフェード処理が行われることにより、子音と
母音のさらになめらかな接続が実現され、ノイズ感をよ
り減少させることが可能となる。
【図1】本発明による音声データ生成部の全体構成図で
ある。
ある。
【図2】音声「シ」の波形図である。
【図3】子音波形の切り出し処理の動作フローチャート
である。
である。
【図4】子音波形の切り出し処理に関するパラメータを
示す図である。
示す図である。
【図5】母音波形データの生成処理の動作フローチャー
ト(その1)である。
ト(その1)である。
【図6】母音波形データの生成処理の動作フローチャー
ト(その2)である。
ト(その2)である。
【図7】音声合成部の1実施例の全体構成図である。
【図8】音声合成処理の全体的な動作を示す動作フロー
チャートである。
チャートである。
【図9】アタック処理の第1の実施例の動作フローチャ
ートである。
ートである。
【図10】波形データテーブルの第1の実施例の内容を
示す図である。
示す図である。
【図11】エンベロープデータテーブルの内容を示す図
である。
である。
【図12】CPU内のインタラプト処理用レジスタ群の
第1の実施例の内容を示す図である。
第1の実施例の内容を示す図である。
【図13】エンベロープデータテーブルのパラメータΔ
x、Δyを示す図である。
x、Δyを示す図である。
【図14】インタラプト処理の第1の実施例の動作フロ
ーチャート(その1)である。
ーチャート(その1)である。
【図15】インタラプト処理の第1の実施例の動作フロ
ーチャート(その2)である。
ーチャート(その2)である。
【図16】音声合成された音声「シ」の波形図である。
【図17】音声合成された母音「イ」の波形図である。
【図18】リリース処理の動作フローチャートである。
【図19】音声合成された音声波形のモデル図である。
【図20】波形データテーブルの第2の実施例の内容を
示す図である。
示す図である。
【図21】CPU内のインタラプト処理用レジスタ群の
第2の実施例の内容を示す図である。
第2の実施例の内容を示す図である。
【図22】アタック処理の第2の実施例の動作フローチ
ャートである。
ャートである。
【図23】インタラプト処理の第2の実施例の動作フロ
ーチャート(その1)である。
ーチャート(その1)である。
【図24】インタラプト処理の第2の実施例の動作フロ
ーチャート(その2)である。
ーチャート(その2)である。
【図25】インタラプト処理の第2の実施例の動作フロ
ーチャート(その3)である。
ーチャート(その3)である。
101 音声検出部 102 サンプリング部 103 パラメータ設定部 104 原データファイル 105 子音部切り出し部 106 エンベロープ付加部 107 子音データファイル 108 母音部切り出し部 109 FFT演算部 110 倍音成分比抽出部110 109 母音データ合成部 110 母音データファイル 701 CPU 702 鍵盤 703 子音部メモリ 704 母音部メモリ 705 データメモリ 706 作業用RAM 707 D/A変換器 708 発音回路 709 fsカウンタ
Claims (4)
- 【請求項1】 入力音声波形データから子音波形データ
を切り出す子音部切り出し手段と、 該子音部切り出し手段で切り出された子音波形データに
リリースエンベロープを付加し、該リリースエンベロー
プが付加された子音波形データを前記音声データの子音
部として出力するエンベロープ付加手段と、 前記入力音声波形データから母音波形データを切り出す
母音部切り出し手段と、 該母音切り出し手段で切り出された母音波形データか
ら、該母音波形データのピッチ周波数及びその各倍音周
波数の各成分の振幅強度を抽出する周波数振幅強度抽出
手段と、 前記ピッチ周波数及び各倍音周波数をそれぞれ有し、該
各周波数に対応して前記周波数振幅強度抽出手段により
抽出された前記各振幅強度を有する複数の正弦波形をそ
れぞれ1ピッチ周期分ずつ生成し、該生成された各正弦
波形を位相を合せて加算合成し、その結果得られる1ピ
ッチ周期分の母音波形データを前記音声データの母音部
として出力する母音データ合成手段と、 を有することを特徴とする音声データ生成装置。 - 【請求項2】 請求項1に記載の音声データ生成装置に
よって生成された音声データの子音部を記憶する子音部
記憶手段と、 前記音声データの母音部を記憶する母音部記憶手段と、 外部操作可能な操作子と、 前記操作子の操作に対応して前記子音部記憶手段に記憶
された子音波形データを順次読み出して発音する子音波
形データ発音手段と、 該子音波形データ発音手段による前記子音波形データの
発音終了後、前記母音部記憶手段に記憶された1ピッチ
周期分の母音波形データをアタックエンベロープを付加
した上で繰り返し読み出して発音する母音波形データ発
音手段と、 を有することを特徴とする音声合成装置。 - 【請求項3】 請求項1に記載の音声データ生成装置に
よって生成された音声データの子音部を記憶する子音部
記憶手段と、 前記音声データの母音部を記憶する母音部記憶手段と、 外部操作可能な操作子と、 前記操作子の操作に対応して前記子音部記憶手段に記憶
された子音波形データを順次読み出して発音する子音波
形データ発音手段と、 該子音波形データ発音手段による前記子音波形データの
発音動作にクロスフェードさせて、前記母音部記憶手段
に記憶された1ピッチ周期分の母音波形データをアタッ
クエンベロープを付加した上で繰り返し読み出して発音
する母音波形データ発音手段と、 を有することを特徴とする音声合成装置。 - 【請求項4】 前記操作子は複数の鍵であり、前記合成
され発音される音声に対応する音声データにおける前記
母音波形データのピッチ周波数は、前記複数の鍵に割り
当てられている音階に対応する周波数に等しく、 前記母音部記憶手段は、前記複数の鍵に対応する複数の
母音波形データを記憶し、 前記母音波形データ発音手段は、押鍵された前記鍵に対
応する1ピッチ周期分の母音波形データを前記母音部記
憶手段から繰り返し読み出して発音する、 ことを特徴とする請求項2又は3の何れか1項に記載の
音声合成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3199600A JPH0546198A (ja) | 1991-08-08 | 1991-08-08 | 音声データ生成装置および音声合成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3199600A JPH0546198A (ja) | 1991-08-08 | 1991-08-08 | 音声データ生成装置および音声合成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0546198A true JPH0546198A (ja) | 1993-02-26 |
Family
ID=16410553
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3199600A Pending JPH0546198A (ja) | 1991-08-08 | 1991-08-08 | 音声データ生成装置および音声合成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0546198A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7366661B2 (en) | 2000-12-14 | 2008-04-29 | Sony Corporation | Information extracting device |
-
1991
- 1991-08-08 JP JP3199600A patent/JPH0546198A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7366661B2 (en) | 2000-12-14 | 2008-04-29 | Sony Corporation | Information extracting device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113874932B (zh) | 电子乐器、电子乐器的控制方法及存储介质 | |
| JPH031200A (ja) | 規則型音声合成装置 | |
| JP2002202789A (ja) | テキスト音声合成装置およびプログラム記録媒体 | |
| JP6056394B2 (ja) | 音声処理装置 | |
| JPH0566774A (ja) | 音声データ生成装置および音声合成装置 | |
| JP2006030609A (ja) | 音声合成データ生成装置、音声合成装置、音声合成データ生成プログラム及び音声合成プログラム | |
| JPH0546198A (ja) | 音声データ生成装置および音声合成装置 | |
| JPH06337876A (ja) | 文章読み上げ装置 | |
| JPH08335096A (ja) | テキスト音声合成装置 | |
| JPS5855986A (ja) | 電子楽器 | |
| JPH1031496A (ja) | 楽音発生装置 | |
| JPH0895588A (ja) | 音声合成装置 | |
| JP3022270B2 (ja) | フォルマント音源のパラメータ生成装置 | |
| JP4668371B2 (ja) | 音信号発生装置 | |
| JP2008058379A (ja) | 音声合成システム及びフィルタ装置 | |
| JP2536896B2 (ja) | 音声合成装置 | |
| JP3292218B2 (ja) | 音声メッセージ作成装置 | |
| Kyritsi et al. | A score-to-singing voice synthesis system for the greek language | |
| JP2001236086A (ja) | テキスト音声合成出力機能を有するゲーム装置 | |
| WO2023140151A1 (ja) | 情報処理装置、電子楽器、電子楽器システム、方法及びプログラム | |
| JPH1078776A (ja) | コーラス効果付与装置 | |
| JPH0756589A (ja) | 音声合成方法 | |
| JPH0452479B2 (ja) | ||
| JPS63262696A (ja) | 日本語文・音声変換装置 | |
| JPS60144799A (ja) | 自動通訳装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010313 |