音声合成のメカニズム

特設コーナ:音声信号処理の世界
連 載
ダウンロード・サービスあり
DSP ブロック& FPU 内蔵 Cortex-M4 ボード×マイクでチャレンジ
実験で入門!
プログラム全公開
音声合成のメカニズム
第
5 回 ディジタル・フィルタによる共振器で
リアルな母音を合成する
USB2.0ケーブル
今回やること:フーリ
エ級数より処理が軽い
ディジタル・フィルタ
を使えば,3個の共振器
を作れるので,それっ
ぽい母音を表せる
パソコン
声道
音声波
声門
時間
声帯
声帯
T0
声帯波
時間
T0 :基本周期
図 1 今回やること…処理が軽いディジタル・フィルタによる共
振器を使ってそれっぽい母音を合成する
前回(第 4 回,2014 年 2 月号)は,母音の発声のしく
みを説明しました(図 1).母音の発声に重要な役割を
しているのが,声帯波と,声道の共振だということを
示しました.このことを使って,合成声帯波を一つの
共振器に入力した場合に,その出力の波形を求めるた
めに,フーリエ級数展開を使いました.
しかし,この方法には,いろいろと問題があります.
フーリエ級数展開の計算には,三角関数の計算が必要に
なるため,計算量が増えてしまうという問題です.さら
に,前回の方法では,声帯波の基本周期を,標本化間隔
の整数倍以外に設定することは,非常に困難です.
そこで,今回は共振の出力波形を計算するのに,軽
めの計算で済む,ディジタル・フィルタで作った共振
器を使って,二つのプログラムを作ります.
実験概要
実 験 装 置 の 様 子 を 図 2 に 示 し ま す.STM32F4
Discovery マイコン・ボードのほかに,母音の種類を
切り替えるスイッチ,基本周波数を変える可変抵抗
器,リコンストラクション・フィルタとして使うロー
パス・フィルタを組み立てたブレッドボードです.
138
三上 直樹
ローパス・
フィルタ※
※:前回Appendix1で
説明したもの
STM32F4
Discovery
パソコンで行う処理
統合開発環境EWARMに
よるプログラムの作成と
デバッグ
オシロスコープ/
スピーカへ
3V
ロータリDIPスイッ
チ:合成する
母音の種類の入力用
可変抵抗器:
基本周波数の設定用
STM32F4 DISCOVERYで行う処理
合成する母音の種類をロータリDIPスイッチから読み取る
基本周波数を決めるためA-Dコンバータで可変抵抗器の電圧を
読み取る
ディジタル・フィルタで作った共振器を利用して合成母音信号を
発生する
D-Aコンバータより合成母音信号を出力する
図 2 実験の構成
実験 2 の場合を示す.接続は図 13 を参照
● 実験 1…ディジタル・フィルタによる共振器を
試す
一つ目は,一つの共振器に合成声帯波を入力したとき
の出力波形を求めるプログラムです.これは前回作った
プログラムで,フーリエ級数で計算していた部分を,ディ
ジタル・フィルタを使った共振器(以降,ディジタル共振
器)にしたものです.合成母音の種類は変えません.
▶実験結果
図 3 に,このプログラムを実行したときの波形を示
します.
上の波形は,合成声帯波で,前回と同じものです.
下の波形は,合成声帯波を一つのディジタル共振器に
入力した場合の出力波形です.
出力の波形は,前回のものと多少は異なっていま
す.しかし,音を聴いてみると,前回と同じほとんど
同じ音色で聞こえることが確認できます.
● 実験2…3個のディジタル共振器を使ってそれっ
ぽい合成母音を作る
二つ目の実験では,3 個のディジタル共振器を縦続
第 1 回 三角関数で音声信号「あ」を作る(2013 年 11 月号)
第 2 回 はじめてのオンチップ・フーリエ変換(2013 年 12 月号)
2014 年 4 月号