想定読者
本記事の想定読者は、Auth0の通話認証を利用されていて、
カスタム設定まで実施されていない方、
もしくは今からAuth0 の通話認証を設定される方向けの記事になります。
背景
Auth0は、Twilioを用いた通話認証をボタンぽちぽちレベルで設定することができます。
※通話認証 音声通話で認証コードを読み上げる方式
しかし実際に利用してみると、日本語ユーザには音声が聞き取りづらく、
そのまま運用に乗せるのは難しいと感じました。
少し工夫することで運用に乗せることが出来たので、日本語の音声を聞き取りやすくした方法を共有したいと思います。
概要
工夫した点は下記の2つです。
①Liquid を利用した数字の読み上げ内容の上書き
②Twilio API を利用した合成音声の精度アップ
数字の読み上げ内容の上書き
標準の状態では、数字を読み上げる際に、「4」を「シ」、7を「シチ」と読み上げられたり、
独特の間があったりして、少し聞き取りづらい状態です。
数字の読み上げ方を上書きすることで、簡単に聞き取りやすい設定に変更することが出来ます。
{% if message_type == "voice" %}
{% assign voice_code = code | replace:'1','イチ、' | replace:'2','ニィ、' | replace:'3','サン、' | replace:'4','ヨン、' | replace:'5','ゴォ、' | replace:'6','ロク、' | replace:'7','ナナ、' | replace:'8','ハチ、' | replace:'9','キュウ、' | replace:'0','ゼロ、' %}
6桁の認証コードを、2回読み上げます。
{{voice_code}}、です。
{{voice_code}}、です。
{% else %}
下記の二要素認証用のワンタイム・コードをログイン画面で入力してください。
二要素認証コード:{{code}}
{% endif %}
合成音声の精度アップ
Custom 設定からTwilio API の設定を追加することで、
より音声の精度アップをすることが出来ます。
設定方法については、こちらの記載の通りです。
音声を設定するところを、下記の通り「Polly.Mizuki」にすることで
標準の音声から精度があがりました。
const sayInCall = `<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="Polly.Mizuki" language="ja-JP">${text}</Say>
</Response>`;
最後に
今回はAuth0 通話認証利用者向けとかなりニッチな記事になりましたが、
実際利用するにあたって痒いところに手が届くような情報になっていれば嬉しいです。