まずは動画をご覧ください.音声なので、動画で見る以外にないです。
●VOICE Synthesisの使い方備忘録
①System Speechは、VisualStudio2019でないとインストールできません。
インストールは、NUGET管理ウィンドウから、System Speechと検索して、一番上にでてくるので
それをプロジェクトへインストールします。
②Windows Formアプリです。
using System.Speech;
using System.Speech.Synthesis;
で後は、
//Speech 生成
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Speak(“ピッチ” + pitch.ToString() + “ど”); //この行で読み上げ実行します。
コードは、GISTにおいてあります。
https://gist.github.com/dj1711572002/45308691b3bf304f25c39d2f9a238978
文字を音声変換するText To Speechについてはこちらの記事が最初です。
③機能
TextBox1に日本語を入力してボタン3を押すと文字を読み上げてくれます。
IMUの出力を2データ 整数,整数 CRELF でUSBシリアルもしくはBlueTooth SPPでPCへ送ります。
マイコン側からの送信周期は2-3秒に一回がいいです。
コンボボックスでCOMポート番号を選んで、接続ボタンを押すと、受信データをRichTextBox1に表示しながら
音声読み上げします。読み上げ時間間隔は4秒とゆっくりですので、IMUもゆっくりと4秒に一回姿勢を変えます。
●苦労した点
①話している時間が長いので、データをその間データを送り付けるとバッファにデータがたまってしまって
センサの動作とリアルタイム同期しなくなるので、マイコン側の周期も3秒、PC側は4秒周期まで落としてます。
②話す速度は、synth.Rate = 4;//話す速度 Max 10で設定できますが、-10から10まで設定できますが。
まともに聞き取れる範囲は、3~8までの範囲で、本プログラムはrate 4とゆっくり発言させてます。
③IMUの動作をとらえて、そのタイミングで発声させるトライをしたのですが、どうやっても話す時間が3-4秒かかるので、マイコン側の入力周期をゆっくりする以外になかったです。
●以後
本プログラムの目的はスキー滑走中に状態を知らせる役目なので、スキー滑走のどのタイミングで
どういうデータを話すかは、STA24を開発しながら決めていきます。