2021年5月30日(日)
先に作り込んだAsteriskのモーニングコールは快適に稼働していますが、ネットからダウンロードした「日本語音声(gsm)」の中には適切な応答音声が見当たらない。
そこで、自分の好みの音声ガイダンスを作ることにした。
と言っても、自分の声をコンバートして聴いてもつまらない。というか、聞くに堪えない。
ネットで「テキスト読み上げ mp3」などと検索してみると、日本語テキストを読み上げてmp3に変換してダウンロードできるサービスが見つかった。
しかも、男声、女声の数パターンの音質が用意されている。
Asteriskの音声ガイダンスは gsm 形式がメインなのだが、mp3でもできないことは無い。
と言うことで、mp3音源でモーニングコールの音声応答を extensions.conf に設定してみた。
「ご予約の時間になりました。」
「〇月〇日〇曜日 XX時XX分」
「です。」
というガイダンスの後、音楽が流れる仕掛けなのだが、mp3音源だと MP3Player の前後の間が開き過ぎる気がする。いわゆる「間延び」して聞こえるのだ。
; モーニングコールガイダンス
exten => 997,1,Answer()
same => n,Wait(1)
same => n,MP3Player(/var/lib/asterisk/mp3/goyoyakunojikan.mp3) ;ご予約の時間になりました。
same => n,Set(FutureTime=$[${EPOCH} + 5]) ;音声案内で時間のずれを5秒間考慮
same => n,SayUnixTime(${FutureTime},Japan,bdAR) ; 〇月〇日〇曜日 XX時XX分
same => n,MP3Player(/home/share/asterisk-conf/morningcallvoice/desu.mp3) ;です。
same => n,MP3Player(/var/lib/asterisk/mp3/music.mp3) ;音楽を流す
same => n,Wait(1)
same => n,Hangup()
そこでさらに「mp3 gsm 変換」などで検索したところ、いろいろな入力を希望のフォーマットに変換してダウンロードしてくれるサービスサイトが見つかった。
早速、先に作成したテキスト読み上げの “mp3” 音源を “gsm” に変換してサーバにインストールして “extensions.conf” のスクリプトを変更。
; モーニングコールガイダンス
exten => 997,1,Answer()
same => n,Wait(1)
same => n,Playback(goyoyakunojikan) ;ご予約の時間になりました。
same => n,Set(FutureTime=$[${EPOCH} + 5]) ;音声案内で時間のずれを5秒間考慮
same => n,SayUnixTime(${FutureTime},Japan,bdAR) ; 〇月〇日〇曜日 XX時XX分
same => n,Playback(desu) ;です。
same => n,MP3Player(/var/lib/asterisk/mp3/music.mp3) ;音楽を流す
same => n,Wait(1)
same => n,Hangup()
これで、音声案内のつなぎも間が取れて聞き易くなった。
作成した音声と、 SayUnixTime の「 〇月〇日〇曜日 XX時XX分 」の音声のトーンが少し変わるところは、ご愛敬と気にしないことに。
音楽は別のシェルスクリプトで、日替わりの音楽をランダムに選択して気分を変えている。