アプリの教科書

アプリ・ウィンドウズで困ったことを調べたブログ

ウィンドウズ10やアプリで困ったことを調べたブログです。

スポンサーリンク


【Visual Studio】C#で音声読み上げさせるには?

Visual StudioのC#で音声読み上げをさせる場合の方法がいくつかあるのでまとめてみました。

うちでは「microsoft speech object library」を使った場合に動作確認ができました。入れるバージョンでも違うみたいです。

Visual StudioでC#で音声読み上げ

Speech Debelle

microsoft speech object library

いろいろやり方がありますが「microsoft speech object library」を使った場合を紹介します。

 

まず「プロジェクト>プロジェクト参照の追加」で「microsoft speech object library」を探します。

いくつか見つかりましたが、今回はバージョンが「11」を選択。

f:id:apicode:20210424120306p:plain

 

次に利用を宣言します。

using SpeechLib;

 

ボタンを押してしゃべらせるには以下のよう書きます。

private void button1_Click(object sender, EventArgs e) {

 SpVoice myvoice = new SpVoice();

 SpeechVoiceSpeakFlags myFlag = SpeechVoiceSpeakFlags.SVSFlagsAsync | SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak;

 myvoice.Speak("こにゃにゃちは", myFlag );

}

 

速度を倍にするには以下のように「Rate」プロパティを変更します。 

myvoice.Rate = 2;

 

ただしうちでは、一度ボタンを押しただけでは鳴らず、2度目のクリックからなるようになります。

初期化のタイミングとかかもしれませんが、改善したいところです。

 

 

SpeechSynthesizer

ネットを探して出てくるのが「using System.Speech.Synthesis;」を使った音声合成です。

System.Speech.Synthesis 名前空間 | Microsoft Docs

 

ただしDLLが見つからなくてどこにあるのか調べてみると、ある記事によれば「.NET 3.0, 3.5 and 4」対象とのこと。

現状入れたC#では5が対象のため、出てこないのかなという感じです。

.net - I can't find System.speech - Stack Overflow

 

 

Azure Text To Speech

マイクロソフトのクラウドプラットフォームAzureでは、テキストから音声化するサービスをクラウドで提供しています。

 

この場合「1 か月あたり 5 million 文字まで」は無料ですが、たくさん使う場合は有料となります。またクラウド処理のため、ネットワーク環境の品質も必要でしょう。

【Azure】TextToSpeechの使い方 - アプリの教科書

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ