Alexa スキルに独自の声:自作の音声を再生する
Alexa スキルは Alexa の声か Amazon Polly の声で話します。クイズの司会、物語の語り手、ゲームのキャラクター、ブランドの声には物足りませんが、SSML には答えがあります。audio タグなら、応答の途中で自分の MP3 を再生できます。
無料の SuperClonica エンジンは、標準ボイス、学習させた自分の声、キャラクターの声で、そのファイルをオフラインで作ります。このガイドでは、Amazon のファイル要件、Python から直接要件どおりの MP3 を作る方法、Alexa 自身の声と組み合わせる方法を紹介します。
Alexa で自作音声が動くしくみ
スコアや名前のように変わる部分は Alexa 自身の声に読ませ、変わらない部分には自作のファイルを流しましょう。
- SSML の audio タグは、応答の中で HTTPS の URL から MP3 を再生します。
- Amazon の要件は MPEG バージョン2の MP3、48 kbps、サンプリングレート16000、22050、24000 Hz のいずれかです。
- 1回の応答の音声は合計240秒まで(リプロンプトは90秒まで)、ファイルは5つまでです。
- SuperClonica は31言語を話します。中国語にはまだ対応していません。
声を無料で聞く
どの声のページでも、スキルのセリフを30〜100文字で入力し、言語を選んで生成ボタンを押します。数秒で、司会、語り手、キャラクターに合うかが分かります。アカウントは不要です。
Alexa 向けの MP3 を作る
ファイルは短く、目的をしぼって。あいさつ、問題、効果音など。短いファイルは読み込みが速く、使い回しもしやすくなります。
- エンジンをインストール:python -m pip install superclonica-cpu。
- セリフを音声化して、そのまま Amazon の形式で書き出し:tts = Superclonica(); audio, rate = tts.synthesize("おかえりなさい!クイズを始めましょう。", "F1", "ja"); sf.write("welcome.mp3", resample_poly(audio, 24000, rate), 24000, format="MP3", bitrate_mode="CONSTANT", compression_level=0.75)。
- エンジンと一緒に入る soundfile 0.14 と libsndfile 1.2 なら、compression_level 0.75 で 24 kHz・固定 48 kbps の MPEG-2 になります。
- アップロード前に、ffprobe か file コマンドで1つずつ確認しましょう。
ホストして再生する
ファイルは有効で信頼された証明書のある HTTPS に置きます(S3 バケットなど)。自己署名証明書は使えません。ファイルへのリクエストは認証されないので、顧客ごとの情報や機密を含めてはいけません。応答では、ASK SDK の speak() に渡す SSML 文字列に、ファイルの URL を指定した audio タグを、Alexa の言葉の前や後に入れます。
認定を通る声
Amazon は認定前にすべてのスキルを審査します。権利を持っている声を使いましょう。モデルの標準ボイス10種(M1〜M5、F1〜F5)、同意を得た話者の録音から SuperClonica のスタジオで学習させた自分の声、あるいはエクスチェンジで依頼した声です。カタログのファンメイドのキャラクターの声は個人のプロジェクト向けで、公開するスキル向けではありません。実在の人をまねた声も使わないでください。