2017-07-06

Asterisk 用の音声ファイルの作成

【追記】

現在は googletts で extensions.conf 内に音声化する文字列を記述できるようになっていますので、本記事は方法の一つとしてとらえてください。

 

Asteriskの音声ファイル


Asteriskの音声ファイルは、/var/lib/asterisk/sounds/ja フォルダーの中に収められています。

また、このフォルダー内に、core-sounds-ja.txt というテキストファイルがあり、これには、収録されている音声ファイルのファイル名と内容を記述したリストが書かれています。

Playbackアプリケーションで再生させる音声を、この中から選ぶことができます。
Playbackアプリケーションに記述の際は、例えば「ただいま電話にでることができません」だと、vm-nobodyavail.wav というファイルがありますので、

  exten => 999,n,Playback(vm-nobodyavail)

のように、拡張子は付けないで記述します。ファイルの形式(コーデック形式)が複数ある場合は、Asteriskは適切なコーデックのファイルを選んでくれます。

しかしながら、適切に使える音声ファイル自体がない場合は自作することになります。

ファイルの自作は、自分の音声をマイクで吹き込んで、これを μlaw 形式で Asteriskの音声フォルダーに入れておけば使えます。

別のやり方、これがいまから記述する方法です。
Macでの事例ですから、Windowsでは別のソフトウェアを使う必要があるかも知れません。

テキストで記述された文章を、kyokoさんという女性が代読して、.aiff 形式ファイルにしてくれる、SpeakLine というソフトウェアがあります。



左下の、「Start Reading」で上のボックスに書かれた文章を読み上げてくれます。
右側の名前のリストが、文章を読み上げる「ヒト」です。日本語の場合は、Kyokoさんになります。
右上の「Preferences」をクリックすると、読み上げるスピードと音量を変えることができます。

合成音声ですから、多少の(?)感はありますが、十分に使えます。

間(無音声の時間)を調整するのは、spwave という別のソフトウェアを使います。
このソフトウェアは、ビットレートやサンプリング周波数などを変換して、目的の形式にしてくれるソフトウェアです。

SpeakLine の結果がよければ、メニューの「Export」→「... as Audio File」で任意のフォルダーに書き出します。形式は .aiff 一択です。

次に、spwave を開き、さきほど保存した .aiff 形式のファイルを開きます。



間を調整するには、赤いカーソルラインを、間をとりたいところに設定して、右クリックで無音挿入時間を設定します。

これを Asteriskの音声ファイルで保存するには、メニューから「ファイル」→「名前を付けて保存」をクリックします。



下の「ファイルの種類」の選択ボックスから、



「AIFC ITU-T G.711 mu-law」を選択し、任意のファイル名を付け、拡張子として「.ulaw」として、任意のフォルダーに保存します。ビットレートも、サンプリング周波数も G.711.μ に合わせてくれます。

あとは、このファイルを smb などで Asteriskサーバーの、冒頭に記載のフォルダーに放り込めば使えるようになります。

ファイル名が既存のものとダブらないようにしてください(例えば、頭に myfile- とかを付加するなど)。


0 件のコメント: