powershell WinRT SpeechSynthesizerを使った音声合成のサンプル

PowerShell

WinRT SpeechSynthesizer を使った音声合成のサンプル

実行すると、Textに設定したサンプルの音声が流れます。

・WinRT(System.Runtime.WindowsRuntimeの必要ライブラリ)読込は、classのコンストラクタで読み込むコーディングではうまく動かなかったため、Githubのソースコードを参考にスクリプトを起動した直後(Try{~)}に読み込むようにした。

・WinRTでは必須のAwaitは、Githubのソースをそのまま流用。

・参考Githubに含まれていたClampだが、Powershellから使えない(バグ?)なので、個別に処理を作成し実装した。

・[Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions]を外だしできるように設計している。[Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions]を使えば、パラメータを変更し様々な合成音声を楽しめる。実装例は以下の部分

$Options.AudioPitch = $PSSpeechSynthesizer.Clamp([double]2.0, [double]0.0, [double]2.0)

サンプルコード

参考URL

WinRTで音声合成 – Qiita

PowerShellでSpeechSynthesizerを使う – Qiita

SpeechSynthesizer クラス (Windows.Media.SpeechSynthesis) – Windows UWP applications | Microsoft Learn

TTS using powershell (github.com)

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました