WinRT SpeechSynthesizer を使った音声合成のサンプル
実行すると、Textに設定したサンプルの音声が流れます。
・WinRT(System.Runtime.WindowsRuntimeの必要ライブラリ)読込は、classのコンストラクタで読み込むコーディングではうまく動かなかったため、Githubのソースコードを参考にスクリプトを起動した直後(Try{~)}に読み込むようにした。
・WinRTでは必須のAwaitは、Githubのソースをそのまま流用。
・参考Githubに含まれていたClampだが、Powershellから使えない(バグ?)なので、個別に処理を作成し実装した。
・[Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions]を外だしできるように設計している。[Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions]を使えば、パラメータを変更し様々な合成音声を楽しめる。実装例は以下の部分
1 |
$Options.AudioPitch = $PSSpeechSynthesizer.Clamp([double]2.0, [double]0.0, [double]2.0) |
サンプルコード
参考URL
PowerShellでSpeechSynthesizerを使う – Qiita
SpeechSynthesizer クラス (Windows.Media.SpeechSynthesis) – Windows UWP applications | Microsoft Learn
コメント