無駄ロボット研究所
退職するので返事するのもロボットにお任せ ~豪胆! お返事ロボ の巻
2019年6月13日 06:55
『無駄ロボット研究所』ではRPA(Robotic Process Automation)ツール「UiPath Studio」を使って役に立たない、無駄なロボットを作っていきます。業務を効率化するという本来RPAで実現すべき目的とは真逆のロボットたちをお楽しみください。
毎日、毎日。毎回、毎回、もう返事をするのもめんどくさい――。そんな投げやりになる気持ちもわかります。上司への謝罪、同僚の無駄話など、どうでもいい会話は、もうロボットにまかせましょう。あなたの代わりに返事をしてくれますよ。
退職が決まったら
今回のロボットは、我ながら、非常に画期的だと感心しています。単に労力を省くだけでなく、心の負担まで軽くしてくれるロボットなんて、そうはありません。
しかし、やはり、実際に使うのは、退職が決まってからにすることを強くおすすめします。そうでないと、人間関係が壊れ、修復不可能になるかもしれません。
そんな諸刃の剣のようなロボットが、今回、作るお返事ロボです。
ファンクションキーに割り当てたメッセージをPCの音声合成機能を使って、あなたの変わりにしゃべってくれます。
本研究所で用意したのは、会社でよく使う。『了解しました』『すみません気をつけます』『それって意味ありますか?』という3つのメッセージです。
上司からの依頼があったとき、怒られたとき、どうでもよくなったとき、そんなときに使ってみましょう。
ワークフローのポイントをチェック
さて、このロボットは、作るのにちょっと工夫が必要です。以下のように、ワークフロー自体は、それほど複雑ではありませんが、音声合成は「UiPath Studio」が標準ではサポートしてない機能となるので、ちょっとファイルを加工する必要があります。
Main.xamlへの追記
テキストを音声としてしゃべらせるための音声合成エンジンは、Windows 10であれば標準でインストールされていますが、「UiPath Studio」から、このクラスの名前空間を扱うにはプロジェクトファイル(Main.xaml)に以下の4つの記述を追加する必要があります。
「UiPath Studio」でプロジェクトを新規作成後、一旦、「UiPath Studio」を閉じ、Main.xamlをテキストエディタなどで開いて、以下の4つを画像で示した場所に追記しましょう。
xmlns:sss="clr-namespace:System.Speech.Synthesis;assembly=System.Speech"
System.Speech.Recognition
System.Speech.Synthesis
System.Speech
[代入]でインスタンスを作成
さて、これでSpeechSynthesizerクラスを扱えるようになりました。[代入]を配置し、左辺に“speechSynth”、右辺に“New SpeechSynthesizer”と入力します。
もちろん、このままではエラーが発生するので、“speechSynth”の型を変更します。[変数]パネルの[変数の型]で[型の参照]を選択し、“speechSynth”を検索して設定します。先ほどMain.xamlに情報を追記したおかげで、この名前空間を扱えるようになったわけです。
[代入]でボリュームを設定
続いて、[代入]の左辺に“speechSynth.Volume”、右辺に“100”としてボリュームをSpeechSynthesizerのプロパティに設定します。ここではボリュームしか設定していませんが、このほか“SpeechSynth.Rate”で読み上げ速度も設定できます。
[並列]
ここから、キーボードの入力を待機する処理を記述します。ここでは、3つのメッセージをしゃべらせますが、このうちどれが実行されるかはユーザーの選択次第です。なので、どれが実行されても対応できるように、[並列]アクティビティの中に複数の処理を配置します。
イベントを監視
ここでは、メッセージを[F1]、[F2]、[F3]のそれぞれのキーに割り当て、キーが押されたら設定されたメッセージをしゃべらせます。このため、キーが押されたことを検知するために“イベントを監視”アクティビティを使います。
検知させるのはキー入力なので、[ホットキートリガー]アクティビティを“ここにトリガーアクティビティをドロップ”の部分に配置します。とりあえず、検出するキーは“f1”にします。
代入
イベントを監視で実行する処理は[イベントハンドラー]の中に記述します。まずは、しゃべらせるメッセージをセットします。
[代入]を使って、左辺に[Ctrl]+[K]キーで“speechWord”変数を作成し、変数パネルでString型に設定しておきます。右辺には、しゃべらせたいメッセージ(ここでは“"了解しました"”)を設定します。
並列にコピーして設定を変更
ここまでできたら、後は並列で横に同じものを並べるだけです。アクティビティをコピーするなどして、[F2]キーを押した場合、[F3]キーを押した場合と、同じように作っていけばOKです。
ワークフローを実行すると、キー入力を待機するので、[F1]キーや[F2]キーを押して、普段の返事に活用しましょう。
Windows 10の標準の音声合成エンジンはHarukaなので、ちょっとぎこちないのが難点ですが、その分、聞かされた方の沸点の上がり具合も高くなります。Google Speech APIを使うと、かなりスムーズに話せるようになるので、次回、少し説明することにしましょう。