Skip to content

takao-t/asterisk-sound-ja

Repository files navigation

Asteriskの音声をGoogle GCP API TTSで生成します。
翻訳は割と雑ですんで修正して。また発話も全部はチェックしていませんので、おかしなところがあるかもしれません。

自分で生成するにはGoogle GCPの契約とAPIの設定、クレデンシャルが必要になりますので、よろしくやってください。
soxとgcloudパッケージが要ります。

めんどくさいことをしたくない人は .tgzを展開して使ってください。

音声を修正する場合、音声のマスターファイルをCSVで用意します。UTF-8で用意してください。

CSVは
連番,ファイル名,テキスト
の、形式ですが配布しているものが使えます。

スクリプト内で書いてありますが、ファイル名はcore-sound-ja.csvです。
配布しているCSVでは一部の音声(dictateとdirectory、demo-など使わなそうなもの)は日本語化していません。

スクリプト ./csv2json.sh を実行して各音声の.jsonファイルを生成します。この.jsonを使ってGoogle API TTSで音声を生成します。個別の音声を修正したい場合には.jsonファイルを修正することで対応できます。
声種を変えたいなどの場合にはtemplate.jsonを編集してください。このファイルを元にして全ての.jsonを生成しますので、template.jsonを編集することで声を統一することができます。

google_auth.shを修正し、自分のクレデンシャルを設定します。APIを使って音声を生成するのはgoogle_tts2.shです。一旦、SLIN16で生成し、後でsoxを使ってモノラル8KHzの.wavに変換し、Asteriskの音声ファイルとします。

このディレクトリでmakeを実行すると、音声の生成・変換を行います(1つずつ変換するのでそこそこ時間がかかります)。Asteriskをインストールしているマシン上でならばmake installを実行すると音声ファイルを所定の場所にコピーします。別なマシンに音声を移動したい場合には make tgz を実行すれば tgzファイルをつくることができます。

なお、日本語音声ファイルは ja/の下につくられます。

=====
*独自音声を追加する方法
Asteriskの基本音声に含まれない独自音声を追加する場合には以下のように行います。

CSVに以下の例のようなエントリを追加します。

654,local/my-voice,これは独自音声です。

CSVの記述方法通りに、通番,ファイル名,内容 を記述します。この例ではlocal/ディレクトリ下(ja/local)に配置します。配布している一式にはlocal/用のMakefileは入っています。
local/のまま使う場合にはextenでPlayback(local/my-voice)のようにすると再生できます。

2024/02/19 スペルミスを修正
2024/08/05 Asterisk 18とAsterisk 20のcore-sounds.txtを比較したところ差はないようなのでAsterisk 20でもそのまま使えるはずです。
2024/10/30 Asterisk 20とAsterisk 22のcore-sounds.txtを比較したところ差はないようなのでAsterisk 22でもそのまま使えるはずです。

About

Asteriskの音声(トーキー)の日本語化

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published