こんにちは。ティーマネジメントの田中です。
FileMakerカスタムAppから、読み上げ音声を流せないかと考えていたところ、
VOICEVOXソフトウェアとの連携をすることでできないかと思いつき、色々と試していました。
今回は、FileMakerから音声合成を行い、その音声を再生する方法について解説していきたいと思います。
VOICEVOX
高品質かつ、無料で利用できる音声合成ソフトウェアです。
HTTPサーバになっており、アプリを起動している状態でREST-APIでリクエストを送信することで、
音声ファイルを作成することが出来ます。
利用規約を守り、提供者様に感謝しつつ使用させて頂きます。
インストールはこちら⇒https://voicevox.hiroshiba.jp/
REST-API
VOICEVOXをインストール、起動したコンピュータのブラウザから、
へアクセスすることで、APIドキュメントを参照することができます。
こちらが閲覧できれば、準備はOKです。
curlからVOICEVOXを呼び出す
APIドキュメントのクエリ作成の「audio_query」項目を確認します。
「text」には作成したい音声のテキストを入力します。
「speaker」にはVOICEVOXのspeakerIDを指定します。
今回はID=3にしています。
Executeを押すと、指定した内容で、呼び出しのためのcurlを作成してくれます。
上記のサンプルを、FileMakerで読み取ることができる形に変更して、実行していきます。
FileMakerとcurl
FileMakerよりcurlを実行する場合には
「URLから挿入」スクリプトステップを使用します。
URLから挿入 ヘルプ
サポートされているcURLオプション ヘルプ
しかしながら、ヘルプだけ見てもなかなか実装は難しいのではないかと思います。
サンプルのucrlをそのままオプションに指定しても、FileMakerでは実行できない場合が多いです。
スクリプトステップ「URLから挿入」で指定されている形に直していきたいと思います。
FileMaker「URLから挿入」
クエリ作成で、先ほど作成したものが下記になります。
curl
curl -X 'POST' \
'http://localhost:50021/audio_query?text=%E3%83%86%E3%82%B9%E3%83%88%E3%81%A7%E3%81%99&speaker=3' \
-H 'accept: application/json' \
-d ''
Request URL
http://localhost:50021/audio_query?text=%E3%83%86%E3%82%B9%E3%83%88%E3%81%A7%E3%81%99&speaker=3
curlをFileMakerで使用する形に変形します。
-X POST -H ”accept: application/json”
http://~~~の部分はURLで指定するので省略します。
必要なオプション以外は省略します。
FileMakerのスクリプトステップを設定します。
ターゲット ⇒リクエスト結果を格納するフィールド、もしくは変数を指定します。
URLを指定 ⇒リクエストURLを指定します。
cURLオプションの指定 ⇒整形したcurlを指定します。
VOICEVOXが立ち上がっている状態で、このスクリプトを実行します。
ターゲットで変数、「$query」を指定したため、結果はこの変数に格納されます。
実行した結果
クエリが作成できました。
こちらはJSON形式となっています。
このクエリを用いて、音声合成を行っていきます。
次回に続きます。 次の記事へ (2024/5/20追記) → FileMakerからVOICEVOXで音声合成する 2/2
Comments