Amazon Pollyのダイナミックレンジ圧縮を試してみる

はじめに

2017年9月7日に、以下のアップデートの案内がありました。

今回はこのアップデートについて、実際にやってみたいと思います。なお、以下にオーディオ用語についての説明がありますが、僕自身はオーディオの専門家ではないので、認識違いなどがあればぜひご指摘ください。

Dynamic Range Compression (DRC)とは

オーディオ用語で言うところのダイナミックレンジ圧縮です。ダイナミックレンジとは、音量の大小差の幅を良います。

Untitled_Polly-DRC_-_Cacoo

一般的なダイナミックレンジ圧縮は以下の手順にて行われます。

Untitled_Polly-DRC_-_Cacoo 2

  1. ダイナミックレンジの中の大きな音声信号を圧縮する。
  2. ダイナミックレンジの中の小さな音声信号を底上げする。
  3. するとダイナミックレンジの中の真ん中の音声信号の音量が増加する。

今回のアップデートでは、SSMLタグの一つとしてDRCが増えました。Amazon Pollyのドキュメント(SSML Tags in Amazon Polly)で書かれている、Amazon Pollyにおけるダイナミックレンジ圧縮の手順は以下の通りです。

  1. ダイナミックレンジの中の真ん中で一番大きな音を探す。
  2. その音の前後のサウンドの音量(Gain)を上げる。

真ん中の音の音量が上がることで、ノイズに負けることなく、音声が聞き取りやすくなります。

やってみた

drcタグ単体

drcタグは以下のように記載します。drcは大文字小文字を区別するので注意。

<speak>これはサンプルです。<amazon:effect name="drc">ダイナミックレンジ圧縮</amazon:effect>を行います。</speak>

やった結果。確かにdrcタグを付けたところは音量が強く聞こえます。

prosody volumeタグとdrcタグの組み合わせ

prosody volumeタグは、真ん中の音量を上げるのではなく、全体の音量を上げます。prosody volumeタグの中でdrcタグを使うことが出来ます。

<speak>これはサンプルです。<prosody volume="x-loud">prosodyタグを加えます。<amazon:effect name="drc">ダイナミックレンジ圧縮</amazon:effect>を行います。</prosody></speak>

「これはサンプルです。」が普通。「prosodyタグを加えます。」が、prosody volumeでx-loudに設定した箇所。そして「ダイナミックレンジ圧縮」がダイナミックレンジ圧縮をした箇所です。確かにx-loudで音量が上がり、更にダイナミックレンジ圧縮が行われていることが分かります。

さいごに

drcタグを使うことで、ノイズに負け無い強調をコントロールすることが出来ます。