歴史的な音声合成ソフト「XKL」で遊ぶ(3) ~時変パラメータ編~
XKLで遊ぶ記事の第3弾。時間に応じて合成パラメータを変化させてみます。
d: パラメータを時間変化させる
コマンドメニューの「d CHANGE synthesis parameter time function」をダブルクリックすると、パラメータを時間変化させる画面になります。
ここでは パラメータ F0 (基本周波数, 声の高さに相当する) を時間変化させてみます。
グラフが開きます。続いて時刻を入力します。ここでは 100 ms の位置の値を設定することにします。
続いて、パラメータの値を入力します。ここでは 100 ms 地点を 100.0 Hz にしたいので 1000 を入力します。
このあとは、時刻と値を交互に入力していきます。たとえばこんな感じ。
入力したパラメータ設定はグラフにも反映されていきます。入力した値が直線で結ばれていくイメージです。
音声合成するとこんな感じ。声の高さを時間変化させることができました。
これと同様に、他のパラメータ(フォルマントなど)も時間変化させることができます。
v: 時間変化させたパラメータを見る
現在の時間変化パラメータを確認するには「v PRINT (screen) varied parameters」を選びます。
チャレンジ: 音声 /ba/ を合成する
/ba/ の具体的なパラメータ設定は、上智大学・荒井研究室のサイトのページを参考にしました。
F2開始周波数と調音位置 その2 (F2-onset frequency and place of articulation Part 2)
このページの元になった論文は以下から閲覧できます。
論文では、以下のようにパラメータを変化させることで、/ba/ や /da/ の音声が作成されています。
![]() |
[Tomaru and Arai, 2016] の Fig.1 より引用 |
この図を参考に、XKLへ入力するパラメータ設定をまとめてみます。
まずはデフォルトパラメータから。これらを「c」コマンド(デフォルトパラメータの変更)で設定していきます。
- DU (duration) = 330
- UI (update interval) = 1
- SR (sampling rate) = 11025
- NF (number of formants) = 5
- OQ (open quotient) = 80
- TL (spectral tilt) = 8
- AV = 0
- F0 = 1250
- F1 = 790
- B1 = 60
- F2 = 1190
- B2 = 105
- F3 = 2640
- B3 = 150
- F4 = 3700
- B4 = 200
- F5 = 4800
- B5 = 1000
続いて、時変パラメータです。これらを「d」コマンド(時変パラメータの変更)で入力します。
- AV
- 0 (ms) : 0
- 95 (ms) : 0
- 100 (ms) : 60
- 230 (ms) : 60
- 330 (ms) : 0
- F0
- 0 (ms) : 1250
- 100 (ms) : 1250
- 150 (ms) : 1300
- 200 (ms) : 1350
- 300 (ms) : 1300
- 330 (ms) : 1250
- F1
- 0 (ms) : 385
- 100 (ms) : 385
- 122 (ms) : 790
- 330 (ms) : 790
- F2
- 0 (ms) : 885
- 100 (ms) : 885
- 122 (ms) : 1190
- 330 (ms) : 1190
これらの設定をXKLにポチポチと入力したら、最後に「s」コマンドで合成します。
荒井研究室のサイトとそっくりな /ba/ の音声が生成できました。以下で試聴できます。
以上がXKLでの音声合成操作です。あとはこの応用で、さまざまな音声が合成できることになります。
もっと多様な音声を作るために、パラメータの意味を把握したくなります。次回は合成エンジンのしくみとパラメータについて見ていきます。
(4) ~仕組み編~ に続きます。
コメント
コメントを投稿