Windows使うなら、これだけで全部完結させられるよねということで。
色々あるけど、System.Speechあたりが簡単そう。
if ($Args.Length -eq 0) { exit } Add-Type -AssemblyName System.Speech $s = New-Object System.Speech.Synthesis.SpeechSynthesizer $s.Speak($Args[0]) $s.Dispose()
これを適当な名前…say.ps1みたいな名前のファイルに保存しておいて、タスクスケジューラでPowerShell say.ps1 タブレット持ったかー?
などと登録すると喋ってくれるようになります。
ただ、タスクスケジューラに登録する場合PowerShellだと画面が表示されてしまい、抑制する方法がわからなかったのでWScriptの方がいいかも。
var args = WScript.Arguments; if (args.Count() == 1) { WScript.CreateObject("SAPI.SpVoice").Speak(args.Item(0)); }
しかし、当たり前だけど機械音声ぽさが強く、WindowsでやるならVOICEROID使いたくなってくるなぁ。しかしこれだけのために(きっとすぐ飽きる)買うのもな…。