喋る半導体検査プログラムを作りたい
BGAの端子を1本1本検査する際に、ピンにプローブを当てながらオシロを見たり、テスターを見たりするのは効率が悪いので、プログラムに喋らせることができないかと考えています。
音声合成はVisual C#(というか.NET)にもともとあるようで、簡単に使えることがわかりました。
やりかたはすごく簡単でした。
まず、
using System.Speech.Synthesis;
をします。
このままだとSystem.Speech.Synthesisが見つからないというエラーが出るので、System.Speechの参照の追加を行います。
ソリューションエクスプローラで、参照→参照の追加→アセンブリを行い、System.Speechを追加します。
ソリューションエクスプローラにSystem.Speechが出てくればOKです。
C#のプログラムは、
SpeechSynthesizer speech;
speech = new SpeechSynthesizer();
speech.SetOutputToDefaultAudioDevice();
speech.Speak("A1 3.2ボルト");
speech.Speak("A2 0.03ボルト");
speech.Speak("A3 3.2ボルト");
とします。
これでSpeak関数の中身で書いたとおりに喋ってくれます。
どんな声が使えるかというと、speech.GetInstalledVoiceで調べられるのですが、戻りの型がよくわからいので、
Object var = speech.GetInstalledVoice();
とやってデバッガでウォッチしていみます。
調べてみると、
Microsoft Zira Desktop
と
Microsoft Haruka Desktop
という2つの音声がインストールされているようです。
話者は
speech.SelectVoice("Microsoft Haruka Desktop");
または
speech.SelectVoice("Microsoft Zira Desktop");
で切り替えられます。
デフォルトはHarukaのようです。萌え系的な要素はまったくありません。
Harukaは数字などを日本語で読み上げてくれますがZiraは英語で読むようです。
ちょっとぎこちないですが、無料でVisual Studioの機能だけで使えるので、超おすすめです。
| 固定リンク
コメント