top of page

FileMakerからVOICEVOXで音声合成する 1/2

更新日:5月20日


こんにちは。ティーマネジメントの田中です。

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


bottom of page