発声をWAVファイルにして保存する
ときどき、ちょっとした実験をしていて、短い音声ファイルが欲しくなることもある。しかし、簡単に録音できるからといって、自分の声を聞くのはなにか妙に恥ずかしい。そういうときには、Speech APIで喋らせた声を音声ファイルにすれば簡単に音声ファイルを作ることができる。
まずは、音声ファイルを保存できるフォルダーを用意する。適当なフォルダーでよい。ここでは、「C:\temp」フォルダーに「output.wav」という音声ファイルを保存することにする。そこに音声ファイルを保存するのが以下のリストのコマンドだ。なお、すでに存在するファイルを上書きしようとするとエラーになるので、存在しないファイル名を「フルパス」で指定する。
$x=New-Object -ComObject SAPI.SpVoice
$vs=New-Object -ComObject SAPI.SpFileStream
$vs.Open("c:\temp\output.wav",3)
$x.AudioOutputStream=$vs
$x.Speak("裏に塀ができたんだってねぇ")
$vs.Close()
音声ファイルは、メディアプレーヤーなどで再生が可能だが、コマンドラインからなら、
start "c:\temp\output.wav"
で再生が可能だ。
Windowsには、Speech APIのほかにも.NET frameworkのSystem.Speechなど、いろいろとあるのだが、SAPIを使うのに比べると一手間かかってしまう。なので、スクリプトからすぐに使うには、この方法が一番楽。他の言語でもCOMコンポーネントを扱えるなら同様のことは簡単にできる。発声を普通のテキストで指定できるので、複数のサウンドを使い分けて鳴らすのと比べても簡単だ。

この連載の記事
-
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う - この連載の一覧へ