AIにしゃべらすことはできないか?
先日、和休の勤務先が開催した説明会に関して、反省会がありました。
「反省会」といっても和休お得意の飲み会ではありません。珍しくちゃんとした打ち合わせで、改善点があれば次に向かって改めようという趣旨です。
この説明会は、会場に来ていただいて聞いていただく方法と、Web上で資料と説明音声を聞く方法と、二つの参加方法がありました。
Web上で資料と説明音声を聞く方法では、実際に説明会で説明する人が、会議室で録音したものをWebにアップしたのです。
反省会では、この録音が結構大変であった、という意見が出ました。
分野ごとに説明する人が交代するのですが、音声ファイルの音声のボリューム(録音レベル)が一定ではない、とか、録音中に廊下で物音を立てられたとか、読み間違いなどのNGが頻発した、といった苦労があったそうです。
改善点として、「説明文をAIにしゃべらせることはできないか?実際にやっている業者もある。」という意見がでました。
その会議では、AIにしゃべらす方法について導入できるか検討する、という結論になりました。
そこで、市販のソフトを導入するか、今ある材料でなんとかできないか、色々調べたところ、VBAで音声読み上げが使える、というこが分かりましたので、紹介したいとおもいます。
Windowsに用意されているSpeech API
Windows10には、Speech APIという音声合成の仕組みが導入されています。
これをVBAから呼び出して、パソコンにしゃべらすことができます。
さっそく、関数化して、汎用的に使用できるようにしてみました。
関数「Beshari」(べしゃり)
和休が作成した関数 「Beshari」です。引数 Serif にしゃべらすセリフを代入します。
標準モジュールを作成して、次のコードを貼り付けてください。
なお、アクセスだけでなくエクセル、パワーポイントなど、マイクロソフトオフィス系のソフトで使用できます。
Function Beshari(Serif As String) 'エラーを無視 On Error Resume Next '変数 Serif が空なら処理を抜ける If Serif = "" Then Exit Function With CreateObject("SAPI.SpVoice") Set .voice = .GetVoices.Item(0) .Speak Serif End With End Function
では、実際にしゃべらせてみましょう。
標準モジュールに次のコードを貼り付けて、実行してみてください。
「はじめまして」としゃべるはずです。
Sub TEST() Call Beshari("はじめまして。") End Sub
早口言葉で性能を試す
仕組みができると、色々しゃべらせたくなりますよね♪
AIにしゃべってもらうのですから、慣れた人間でないと難しい「早口言葉」をしゃべってもらいましょう。
今回、Googleの検索で「早口言葉」を検索して一番最初に表示されたサイトから、早口言葉をピックアップしてみたいと思います。
「見せてもらおうか。AIの性能とやらを!!」
きゃりーぱみゅぱみゅ
まず、「きゃりーぱみゅぱみゅ」です。え?早口言葉ではない?
おい!ちょっと怪しいやないかい!
生麦生米生卵
続いては、定番「生麦生米生卵」です。
ちょっと抑揚がいまいちですね。
派出所で手術中
「はしゅつじょでしゅじゅつちゅう」です。和休は、「しゃしゅしょ」系の早口言葉が苦手なので。
おお!素晴らしい!やりますね!
シチュー死守しつつ 試食し視聴中
「しちゅーししゅしつつししょくししちょうちゅう」
これも素晴らしい!「しゅ」系の発音は得意なようです。
引き抜きにくい挽き肉は引き抜きにくい温い肉
ちょっと長いものを試してみましょう。「ひきぬきにくいひきにくはひきぬきにくいぬくいにく」です。
いいですね~。
めっちゃ長い&難しいやつ
最後は、「海軍機関学校機械課今学期学科科目各教官協議の結果下記のごとく確定、科学幾何学機械学国語語学外国語絵画国家学」です。
「かいぐんきかんがっこうきかいかこんがっきがっかかもくがくきょうかんきょうぎのけっかかきのごとくかくてい、かがくきかがくきかいがくこくごごがくがいこくごかいがこっかがく」と読むそうで。
すげえ!!ちょっと何言っているかわからねぇ!
次回、これを使ってアクセスで遊んでみたいと思います。
コメントをどうぞ!