歴史的な音声合成ソフト「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/) の音声を作ります。


/ba/ の具体的なパラメータ設定は、上智大学・荒井研究室のサイトのページを参考にしました。

F2開始周波数と調音位置 その2 (F2-onset frequency and place of articulation Part 2)


このページの元になった論文は以下から閲覧できます。

K. Tomaru and T. Arai: "Role of labeling mediation in speech perception: Evidence from a voiced stop continuum perceived in different surrounding sound contexts" (2016)


論文では、以下のようにパラメータを変化させることで、/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) ~仕組み編~ に続きます。

コメント

このブログの人気の投稿

基本波形の生成

(1)C言語で音声合成もどき ~WAVファイルを生成する~

(2)C言語で音声合成もどき ~母音の生成~