奈良教育大学学術リポジトリNEAR
音声応答式CAIシステムの開発? 音声合成装置の 改良
著者 六田 嘉明
雑誌名 奈良教育大学教育工学センター研究報告
巻 7
ページ 1‑10
発行年 1984‑03‑16
その他のタイトル Development of a Micro‑Computer Assisted
Instruction System with an Electronic Speech
Synthesizer: II Improvment of the Synthesizer
URL http://hdl.handle.net/10105/4592
音声応答式CAIシステムの開発Ⅱ 音声合成装置の改良
六 田 嘉 明(技術教室)
Development of a Micro‑Computer Assisted Instruction System with an Electronic Speech Synthesizer: II
Improvment of the Synthesizer by
YOSHIAKI Muda (Department of Technologyj Abstract
On the basis of the voice‑wave‑segment‑edition method of speech synthesis reported earlier, a new synthesizer has been developed. This transforms an input text into speech with pitch and stress accents and duration specified by the input for each phoneme. Pitch control giving pitch accent is made by changing the time interval with which digital (wave form) data are output onto a D/A converter. The volume control giving stress accent is made by changing the control voltage for an electronic attenuator placed between the LPF and the amplifier.
The control voltage is given by the CPU through a parallel output port. Duration of each phoneme is also controlled by the timer interrupt, where a phoneme is elongated essentially by prolonging the vowel part of the phoneme. Pseudo‑natural speech has been obtained by this method.
Key words: Speech synthesis, CAI.
I 研究目的
マイクロコンビュ‑タ‑を用いたCAIシステムに音声を付加する試みは、いくつか報告され ている。卜3)しかし、テープレコーダーに音声を録音しておき、これを再生する方式では、テー プの早送り巻もどしに時間がかかり、スムーズな進行は望めない。そこで、前報4)では、マイク ロプロセッサを用いた音声合成装置を試作し、 CA Iに取入れた。音声合成を用いると、任意の 音声を瞬時に得ることができるため、学習者の反応に応じた指示・説明を与える事ができるよう になった。また、音韻了解度も十分高いものが得られた。しかし、次のような課題も残されてい た。
(1)一昔一昔に区切った棒読みであり、イントネーションやアクセントのない発声である0
六 円 嘉 明
(21一昔ごとに文字コードを受信して発声し、発声終了後、終了合図を返えすという方式で、
ホストコンピューターと信号の授受を行っていた.このため、ホストコンピューター側は、本機 に文章を発声させるために、文字列の最大4字先までの先読みによる発声文字コードの決定、コ ードの送信、終了合図持ちという動作に専念しなければならず、文章発声と並行して他の動作を 行う事ができなかった。
そこで、今回は、上記の二点を改良した合成装置を試作する事にした。まず、 (1)については、
発音にイントネーションやアクセントを付ける事ができるように、音高、音量、音長を一昔ごと に変化できるように改めることにした。これによって、より自然言語に近い合成音声が得られる ものと期待される。 (2)については、文章や音高・音量・音長データを一括して入力できるように した。従って、ホストコンピューターは、本機に上記のデータを「プリント」した後、直ちに次 の動作に移ることができ、その動作と音声発声が並列に進行する形となる。従って、例えば、ブ ラウン管上の絵の動きと音声とが同時に起こるような応用も可能となってくる。
さらに、上記2点以外に、第3点として、ホストコンピューターと本機との接続方法を、前回 のシリアル・ポート(RS232C規格)から、パラレル・ポート(セントロニクス規格)に変更す ることにした。すなわち、本機は、ホストコンピューターのプリンター・ポートに接続される。
この利点は、ホスト側からは、 BASICのLPRINT文によって、本機にデ‑タ‑を送る事がで きる事である。また、プリンタ‑・ポートはいかなるマイクロコンピューターにも必ず設置され ているので、本機は直ちにこれらのマイクロコンピューターに接続して使用することができるこ とになる。
Ⅱ 装置構成
本装置は、図1に示す如く、 8ビットCPU (Z80)を中心にして、ホストコンビュ‑夕‑か らデ‑夕を受けとるためのパラレル入力ポ‑ト(セントロニクス規格)、入力データ(テキス
ト、音高、音量、音長データ)を一時格納しておくためのバッファー・メモリー(4KB) 、合 成プログラムを格納した読出専用メモリー(6KB) 、音声出力用のパラレル・ホ‑ト、 D/A
本機のブロック・ダイヤグラム
2
音声応答式CA Iシステムの開発Ⅱ 音声合成装置の改良
コンバーター、低域炉波器(LPF)、電子式 アッテネ一夕‑、音声増幅器、スピーカー、
アッテネ一夕‑へ減衰量を入力するための音 量制御回路、および、ピッチや音長を制御す るためのタイマー/カウンター用LSI等か
ら構成されている。 (写真1参照)
装置構成上、前回と異る点は、 (1)パラレル 入力ポートの設置、(2)バッファー・メモリー (4KB)の設置、 (3)音量制御回路の設置の 三点である。
パラレル入力ポートは、セントロニクス規 写真1 音声合成ボード 格に準じるように設計した。入力データをラ
ッチするための8ビットのフリップ・フロップと、ホストコンピューターとのHandShakeを行 うための1ビットのフリップ・フロップによって構成されている。
バッファー・メモリーは、 16KビットのStatic RAM2個で構成した 4096バイトのうちの、
256バイトは、システム(制御プログラム)用の作業領域とし、残りを、文字列、音高、音量、
昔長データ用に4等分して用いている。したがって、一度に入力できる文字数は最大959字であ る。これは、 1分間に96字の速さで発声して約10分間分に相当する容量である0
次に、本機の音量制御回路を図2に示す。また、図3に、アッテネ一夕ーAM829Sの制御入 力電圧Vc と、オ‑ディオ信号の減衰量(V。 /Vi )の関係を示す。 V,c。ntを1‑4 〔Ⅴ〕の範 囲で変化させる事により、減衰量は‑80 〔dB〕からo 〔dB〕まで変化する。そこで、図2にお
‑12V
D/A変換 電流電圧変換 電子ポリウム 増幅器 スピーカー
図2 音量制御回路
六 田 嘉 明
けるラッチ郡(74LS75×2)に、0から127 までの‑バイト・データ(音量データ)を書 込むと、このデータはD/Aコンバータ(MC 1408)によって0から5 〔Ⅴ〕までのアナロ グ電圧に変換され、アッテネ一夕ー(AM829 S)の制御入力端子に入力される。ラッチ部 は、次に新しいデータ‑が書込まれるまで音 量データーを保持しつづけるので、一昔発声 の直前に、制御プログラムによって、このポ ートに音量データ‑を書込むことによって、
一昔毎に発声音量を変化させることができる。
すなわち、合成音声にStress Accentを与え ることができる。
音声発生の機構及び合成アルゴリズムにつ いては、第I報4)及び文献5)に述べたので、
ここでは省略する。
Ⅲ 制御プログラム
音声合成装置のR OMに格納した制御プロ グラムのゼネラル・フローチャートを図4に 示す。
一昔発声ルーチンは、ほとんど前回のもの と同じであり、基本的には、 ROMに格納さ れている音声波形素片をマイクロコンピュー ターのプログラムによってメモリーから順次 取出し、適当な処理4,5)を施した後、 D/A コンバータへ出力することによって合成音声 を得ている。
この波形合成5,6)による合成法において、
音高、音量、音長の変化を導入する今回の試 みについて、次に述べる。
3. 1 音 量
一昔ごとに音量を大きくしたり小さくした りすることによって、 Stress Accent をつけ ることができる。
音量の加減は、前節でも述べた如く、LPF と増幅器との間に挿入したアッテネ一夕‑へ
0 0 0 0
2 一 r I D c O I L T ニ H
t 田 P ) ' A / ' A B 2 f c ォ 月 だ 世 辞 t J Y
Vo/v,‑vl(c。nt). R(c。nl)
′
「 l
蝣 I/ T .= 25 C V cc = 8 、15V iu = iokn 0dB = 14 dB G 一 irL f= l!li Vi= 100m V
5 V,,,..,, 12 16 20n,…=
制御入力屯ff. V,,…,, (V) 訓i抑止杭 R,,..,i HI
図3 Electronic Attenuater AM829Sの制御 入力電圧Vc。nt と信号減衰量の特性 (National AN829Sデータ‑・シートより)
図4 制御プログラムのゼネラル・フローチャート
音声応答式CA Iシステムの開発Ⅱ 音声合成装置の改良
の制御入力電圧Vc。nt を変化させる事によって行うことにした V。。ntの値(0‑5 〔Ⅴ〕)は、
音量出力ポート(図2のラッチ回路)に出力される音量データ(0‑127)に比例するように、
D /A変換後の電流‑電圧変換回路の定数を設定しておく。制御プログラムは、入力バッファー から音量デ‑タ‑を読出し、これを音量ポートに出力した後、一昔発声ルーチンに入る。これに よって、その昔が利用者が指定した音量で発声されることになる。例えば、 「朝」という言葉を 発声させる場合、 /ア/を/サ/よりも強く発声させるとすると、利用者は、 /ア/サ/の音量を、例 えば、 68、 64のように指定する。このとき、制御プログラムは、/ア/の発声前に68を、 /サ/の発 声前に64を、それぞれ、音量ポートに出力する。これで、 /ア/にStress Accentが付いた発声が 得られる。
3. 2 音 高
アクセントには、 Stress Accentの他に、Pitch Accentがある。後者は、音の高さを上げること によるアクセントである。通常、日本語では後者の方が重要な役割を演じているとされている。
ピッチの変化は、音声波形データ‑をD /A変換器へ順次出力する際の時間間隔を変えること によって行う事にした。
/ア/という一昔をある高さで発声させる場合を例にとって説明すると次のようになる。原音声 /ア/の基本ピッチ周波数は110 〔fiz〕である。これを104〔Hz〕のサンプリングレートでサンプリ ングしているので、 /ア/の一周期分の波形は91個のディジタル・データの並びによって表わされ ている。そこで、この91個のデータ‑を、サンプリング時と同じ10"4 〔秒〕の時間間隔でD/A コンパ‑クーに出力すれば、元と同じ高さの音声/ア/が得られるOまた、時間間隔をicr4 〔秒〕
よりも短くすれば、ピッチは110 〔Hz〕よりも高くなり、逆に10"4〔秒〕より長くすれば、ピッ チは低くなる。この方式によって、 ‑種類の基本波形から、異る昔高の合成音声が得られること になる。
データ‑を出力する時間間隔のみが変化しているので、出力された音声波形は、時間軸にそっ て伸縮したものになっているo したがって、この方式では、原音声のピッチから1オクターブ以 上、上げた場合には、元々男声であった声が、中性的な音声になるという欠点が認められる。し かし、原音声に近いピッチの範囲では、音韻性も十分良好な音声が得られた。
上記の出力時間間隔の発生は、カウンター・タイマー(Z80CTC)に時間定数を設定してお き(カウンター・モード) 、カウントアウト時にCPUに対して割込みを発生させる事によって 行&m
本機では、 Z80CTCのCH‑0をこの為に用いた。 CH‑0のトリガ入力端子には1.2288 MHzのパルスを入力しているので、 10 4〔秒〕の時間間隔を得るには、カウンターの初期値
Npを10"" ÷ (1/ 1.2288×1(T6) ‑ 122.E ‑ゴ123に設定すれば良い。このとき得られる音声の 基本ピッチ周波数fpは、 110 〔Hz〕であるので、 「椴に初期値Npのときのfpの値は、
/p ‑nox 122.88/Np 〔Hz〕
となる。一方、次に述べる24昔平均律では、 110 〔Hz〕を基音とした場合 n音上の周波数は、
/‑110× )tf/24 〔Hz〕
六 円 嘉 明
で与えられるから、上の二式から、 nとNpの関係が定まる。このようにして定めたNpの値を、
図4のフローチャートに示す如く、一昔発声ルーチンに入る前に、 CTC‑CHOに設定しておく 事により、各音毎に指定された音程で発生することができる。
なお、この方式で得られる音域は、カウンターに設定し得る値の範囲(0‑255)によって制 限されるので、本機の音域は、 55〔Hz〕の「ラ」から、 220 〔Hz〕の「ラ」までの2オクターブ である。
なお、本ルーチンでは、使用者によって各音毎に音程を音名(ド、レ、ミ‑‑う によって指定 してもらい、これをその昔高で発声させることにした。ただし、楽音は、 1オクターブを12音に 分割した12音平均率であるが、話し言葉においては、楽音の半音よりもさらに小さい(微妙な) 音程が必要になるのではないかと考えられたので、 1、オクターブを24昔の平均律に分割した音程 でイントネーション(音高)を記述することにした。その表記法は、ド、レ、ミ の後に十、 ‑、 ♯、 bをっ け、♯、bは半音、+‑は半音の半音上げること、または、下げることを意味することにした0
3. 3 音 長
本機では、歌を歌わせることも考慮して、音長(リズム)も指定できるようにした。
昔長指定を可能にするためには、 (1)音声をなんらかの方法で長く引伸ばすこと、 (2)それを指定 された時間長で切断することの二つが必要になってくる。
後者については、タイマー(Z80CTCのタイマー・モード)による割込みを用い、発声を強 制的に中断するという方式を用いた。この中断による波形の不連続性が合成音声の品質に与える 影響が心配されたが、図6(b)の波形例にも見られる通り、実際にはほとんど問題にならなかった。
その理由は、波形データが大振幅を持つ確率は、 10%程度であること、及び、 4KHzの遮断周 波数をもつ低域折渡器によって急な変化が丸められることによるものと考えられる。
なお、音長が短い場合にも、タイマー割込みが発生した時点で合成を打切る事にした。その場 合、母音部が十分発声されないまゝ、打切りになる事も生じるが、元々、そのように短い音は、
実際の発音でも母音部は短かいので、上記の方法で十分であると考えた。
また、指定された音長の全期間にわたって発生を行ったのでは、次に来る昔と重なって聞こえ るために、音韻了解度が著しく悪くなる。そこで、全音長の80%の期間発声を行い、残りの20%
は休止(無音)することにした。ただし、休止時間の最大値は200 〔ms〕 、最小値は25〔ms 〕 とした。
次に、 (1)の一つの音声(例えば/カ/)をなんらかの方法で長く引伸ばす方法として、ここでは、
子音部は、従来と同じにアルゴリズムで発声させ(ただし、音量・音程の指定は有効) 、それに 続く母音部を引きのばす事とした。母音郡を引きのばす方法としては,基本的には従来の母音部 合成アルゴリズムをタイマー割込みによって終了するまで反復するという方法を用いた。
先ず、タイプIの母音部合成アルゴリズムSIにおいては、従来は、5)
si ‑ {V2(np)}3{V2Op‑nf)}3{V2(サp+ォf)/昔、与)
によって合成していたが、昔長指定がある場合には次式のようにした0音声応答式CA Iシステムの開発Ⅱ 音声合成装置の改良
si'‑{{V2Up)}3{V20‑ォf)}3{V2(ォp+ォf)}3}∞
ここで( )∞は( )内を無限回反復することを意味する。 SI'とSIの相異点は、 SIにおける
終端処理酎V2(ip +ni)/音、わを{V2(fip‑t‑fif)}3に置換して、伸(np )}3からtV2
(rep+rif)};までをタイマー割込みによる終了時点まで反復するという点である。ここで、
{ V2(サp) }3は、 n。個(Tip ‑91)のサンプルから成る」司期波形V2を3回反復出力する事を 意味し、 {V2Up±サf)};は、サンプル数をnf個(Bf‑2)だけ増加又は減少したものを3 回反復出力する事を意味する。また、 {V2Up +nf )/音、わは、波形V‑2(rap十nf)の振幅 を昔倍して1回出力し、 ‡倍してもう一回出力する事を意味するo
次に、補間付母音合成アルゴリズム5) (有声子音等の母音部合成に用いている)
sm‑(V,、Vz/111音訳与星OoO}
に対しては、音長指定がある場合次のようにした。
sm'‑{V,、V2/lll号音音与星000 }・{{V2Op)}3{V2(np‑ォf)}3{V2("p十
nt)}3}∞
すなわち、補間付母音合成アルゴリズムを実行した後、 V2をもとにした、上記S了の母音部に ジャンプする。これは‑補間付母音部合成法が、波形Vlから波形V2へと徐々に移り変わる合成 法であって、 V2に移り変わった後は、 V2を一周期波形とする通常の母音合成法で合成できるも のと考えたからである。実際、補間が必要な部分は、子音部の終りから母音部の始めの数周期分 だけであって、それ以後は、純粋な母音波形で表わされる事は容易に推測される。この方法で、
うまく母音部を引伸すことができた。
:: : 二一一、 II,J・11'11 ト‑‑'‑' i‑:;' 'j
本プログラムにおける第4番目の改良点は、パラレル入力ポートから、文章、音高、音量、音 長データ‑を一括入力し、入力後は、このデータを解読して文革を読み上げるように改めた点であるo
データ‑の入力形式は、図5に示すoなお、音高、音量、音長データ‑は、省略してもよいoそ の場合には、標準値がセットされる。
( u O ハ U ( U n U n U O ハ U
∧ U ( U
o ‑ ' C N o o ' t t o t D r
^ o o o )
1
1
l
一
l
BASIC を用いた発声プロ
グ ラ ム の 応じ i H W u l u
LPRINT "カサ̀.;
LPRINT CHRS(&HEA)+ "V64 64";
LPRINT CHRS(&HEA)+ "P03ト02ラ韓.I LTRINT CHRS(&HEA)+ "TIOOL16 1
6 ド .
ma s
童程ン音音テ
M M M E E E
D n R R
・ ,
∩ )
4 (0=弱 1 27=強) ラ(下がる)
音長の指定
REM
LPRINT "オ八ヨウコ サ、イマス'. ;
LPRINT CHRS(&HEA)+ "V66 67 66 66 65 64 64 63 62 56";
LPRINT CHRS(&HEA)+ 、'Pソシーシーシーシ‑シーシーシBラ8.‑ ;
LPRINT CHRS(&HEA)+ "TIOOL16 8 8 12 8 8 10 8 10 10"
図5 本機を駆動するためのホストコンピューター側のプログラム例 (CHRS (&汀EA)はグラフィック文字"◆''に相当する。)
六 田 嘉 明
入力された文章の読上げに際しては、基本的にはバッファーの先頭から終了コード(0 DH) が来るまで、一文字づつ取出して発声するという動作を繰返えせば良いわけであるが(もちろん 音量、音高、音長の指定を考慮して発声する) 、萄昔や半萄昔、拙者、促音、長音、及びこれら の組合せの場合には、一文字づっ取出して発声するわけには行かない。例えば、 「ギャッという 声がした」という文章を発声する場合、これを一文字づつ敢出して発声すると、 「キ ダクテン
ヤ ツ トイウ‑・‑」となってしまうO これは、 「ギャッ」は、 4字で一つの音を表わしてい るからである。このような場合を考慮して、文章発生ルーチンでは、文字列を最大4字先まで先 読みしてから、発声すべき音を決定し、そのコードを、一昔発生ルーチンに渡している。
Ⅳ 結果と検討
4. 1 イントネーション、抑揚、リズムについて
市販のマイクロコンピューターのプリンターポ‑トに本機を接続し、図5の如きプログラムを 入れて、発声させた結果、上記の指定が正常に動作することが碓められたO次に、これをテープ レコーダーで録音し、その波形をA/D変換してマイクロコンピューターに入力し、ドットプリ ンターに出力した結果が図6である。同図には、比較のために、本学学生にしゃべってもらった 発音の波形も示されている。 /カ/の母音部のピッチに比べて、 /サ/の母音郡のピッチがいく分 のびている事、 /カ/の母音部の終りから/サ/の子音部の始めまでのつながり方も、合成音声波形 が自然音声の波形をかなりよく再現している事がわかる。母音部の終りから、次の音の子音部の 始めまでの部分は、 「わたり」と呼ばれ、音声合成上むずかしい問題とされているが、上の例で みるかぎり、今回の合成方式は、かなり良い結果を出していると言えよう。
Ⅴ 結 言
すでに報告した音素片編集接続型音声合成方式を基礎にして、文章の一括入力、各音毎の青苗、
音量、音長が変化できる音声合成装置を製作した。その結果、波形合成の方式においても、従来 の一昔づっに区切った棒読みではなく、イントネーション、抑揚、リズムをともなった音声が合 成可能である事が示された。
本研究には、州香久人君、出口幸二君、石井洋一君の協力を得た。記して謝意を表わす。
8
六 田 嘉 明
参考文献
1)戸田、前川、村上:vTRとマイクロコンピューターを用いたCAIシステム、信学技報Vol.* 、 No.257 (1981) ET80‑11、 pp.13‑16.
2) SEIKOMAPファミリーCAIシステムについて. CAI、 Vol.3、Na2‑ 、 pp.42‑45 (1983).
3)六田、日比野:中学校技術教育における増幅回路のCA I学習、日本産業技術教育学会誌. Vol.25、
No.3 (1983) 、 pp.73‑77.
4)六田:音声応答式マイクロコンピューター援用教育システムの開発、奈良教育大学教育工学センター 研究報告. No.6 (1983) 、 pp. 7‑16.
5)六田、州番:マイクロコンピューターによる音声合成の一方式. Proceedings of 3rd Internatio‑
nal Microcomputer Application Conferrence (Tokyo,1982) 、 pp. 119 ‑128.
6)上田、藤方、江尻: t7イクロコンピューターによる素片波形接続形音声合成方式とその応用、信学論 (D) 、 J63‑D、 No.11、 pp.931‑938 (昭55‑ll).