Closed4
【AWS】Polly(Text To Speech)で音声合成を試す(AWS CLIからのリクエストで合成する)
はじめに
- 音声合成を行うまでの手順を、メモしながら確認進める。
公式ドキュメント
デモページ
今回試す環境
OS・ツールなど | バージョン | 備考 |
---|---|---|
MacOS | Ventura( 13.2.1 ) | - |
iTerm2(zsh) | Build 3.4.20 | ※デフォルトのターミナルでも可 |
AWS CLIのインストール
※既にインストールされているかどうかは、以下コマンドで確認可能
ターミナル
# 「aws not found」と出たら、未インストールの状態
which aws
ドキュメントに従って、AWS CLIをインストール&セットアップする
-
今回は「GUI Installer」でのインストールとし、ドキュメント記載の以下からpkgファイルをDLした
※大きく「GUI Installer」、「Command Line Installer」の2パターンのインストール方法がある模様。
https://awscli.amazonaws.com/AWSCLIV2.pkg -
pkgファイルDL後、ダブルクリックで開いて指示に従ってインストールを進める
-
以下コマンドでインストールを確認する
ターミナル
# インストール場所の確認
which aws
# バージョンの確認
aws --version
AWS CLI を設定する
以下を参考に、AWS CLIの認証情報の設定を進めた
- IAMユーザーを作成する
- アクセスキーを取得する
2-1. AWS Management Console にサインイン後、IAM コンソールを表示
2-2. ナビゲーションペインから [ユーザー] を選択 > 作成済みのユーザー名を選択
2-3. ユーザーのページで、[セキュリティ認証情報] を選択 > [アクセスキーの作成] を選択
2-4. [コマンドラインインターフェイス (CLI)] を選択
2-5. オプションのタグを入力して [次へ] を選択
2-6. [.csv ファイルをダウンロード] を選択し、IAM ユーザーのアクセスキーとシークレットアクセスキーを含む .csv ファイルを保存し、[完了] を選択する
- AWS CLI を設定する
今回は、手順2でDLしたCSVファイルからアクセスキーのインポートを行うこととした。
CSVファイルからアクセスキーのインポートを行うパターン(設定情報がDefault以外に反映されたため却下)
3-1. CSVファイルに対して、以下の列を追加
※そのままインポートしようとしたところ以下エラーが発生したため、「User Name」列を追加した。
Expected header "User Name" not found
CSVファイル
User Name,Access key ID,Secret access key
IAMユーザー名, アクセスキーの値,シークレットアクセスキーの値
3-2. CSVファイルをインポート
ターミナル
aws configure import --csv file://DLしたCSVファイル名.csv
3-3. 認証情報の確認
ターミナル
cat ~/.aws/credentials
# 出力例
[IAMユーザー名]
aws_access_key_id = 設定したアクセスキー
aws_secret_access_key = 設定したシークレットアクセスキー
3-1. 「aws configure」コマンドを利用し、認証情報を設定する
ターミナル
aws configure
AWS Access Key ID [None]: 手順2で取得したアクセスキー
AWS Secret Access Key [None]: "手順2で取得したシークレットアクセスキー"
Default region name [None]: 利用するリージョンコード(東京リージョンの例:ap-northeast-1)
Default output format [None]: json
3-2. 「aws configure list」コマンドで、設定した認証情報を確認
ターミナル
aws configure list
# 出力例
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key *******************X shared-credentials-file
secret_key *******************A shared-credentials-file
region ap-northeast-1 config-file ~/.aws/config
- AWS CLIのセットアップ状況を確認する
以下のコマンドを実行し、コマンドのオプション情報が表示されたら、問題なく設定が完了している状態
ターミナル
aws help
ターミナル
aws polly help
Amazon Pollyによる音声合成を試す
ドキュメントのサンプルによる音声合成
公式ドキュメントのコマンドを実行して音声合成をすると、コマンド実行したディレクトリ上にMP3ファイルが生成される。
ターミナル
aws polly synthesize-speech \
--output-format mp3 \
--voice-id Joanna \
--text 'Hello, my name is Joanna. I learned about the W3C on 10/3 of last year.' \
hello.mp3
# レスポンス出力例
{
"ContentType": "audio/mpeg",
"RequestCharacters": "71"
}
日本語の音声合成方法
VoiceIDを日本語対応のIDに変更し、音声合成を行う
ターミナル
aws polly synthesize-speech \
--engine neural \
--output-format mp3 \
--voice-id Kazuha \
--text 'はじめましてこんにちは。わたしは日本の音声合成システムです' \
hello-japan.mp3
# レスポンス出力例
{
"ContentType": "audio/mpeg",
"RequestCharacters": "29"
}
音声合成に関するドキュメントメモ
このスクラップは2023/10/01にクローズされました