ブラッドの答えは、あなたが探しているものが正確に含まれているので、かなり素晴らしいです。ただし、正誤表の質問で好みを表明した基本事項が1つ欠けています。それは、C#での実装です。
マネージコードでSpeechAPIにアクセスするための完全なチュートリアルは次のとおりです。Blake NiemyjskiとMicrosoftの適切なチームの功績により、元の記事へのリンクバックが無効になっており、これはMicrosoftから直接借用されているように見えるため、ここに重要な部分があります。
次のリンク(Giving Computers a Voice)は、プロジェクトを作成し、VB .Netまたはc#で基本的なテキスト読み上げアプリケーションをすぐに実行する方法を示すMicrosoftサイトに移動します。
SAPI
SAPIは、アプリケーションに音声認識およびテキスト読み上げ(TTS)エンジンへのアクセスを提供する音声APIです。この記事はTTSに焦点を当てています。TTSの場合、SAPIはテキストを入力として受け取り、TTSエンジンを使用してそのテキストを音声として出力します。これは、Windowsアクセシビリティツールであるナレーターで使用されているものと同じテクノロジです。XP以降のすべてのバージョンのWindowsには、SAPIと英語のTTSエンジンが付属しています。
TTSはユーザーの耳を動かします。これにより、アプリケーションはユーザーの目や手を必要とせずにユーザーに情報を送信できます。これは非常に強力な出力オプションであり、PCではあまり使用されません。
管理対象アプリケーションでTTSを使用するには、次の3つの手順が必要です。
- 相互運用DLLを作成する
SAPIはCOMコンポーネントであるため、マネージドアプリから使用するには相互運用機能DLLが必要です。これを作成するには、VisualStudioでプロジェクトを開きます。[プロジェクト]メニューを選択し、[参照の追加]をクリックします。[COM]タブを選択し、リストで[Microsoft音声オブジェクトライブラリ]を選択して、[OK]をクリックします。これらの手順により、この参照がプロジェクトに追加され、実行可能ファイルと同じフォルダーにInterop.SpeechLib.dllが作成されます。この相互運用機能DLLは、正しく機能するために、常に.exeと同じフォルダーにある必要があります。
- 相互運用の名前空間を参照する
この名前空間をアプリケーションに含めます。C#で、「usingSpeechLib;」を追加します。iIn VBに、「ImportsSpeechLib」を追加します。
- Speak()を呼び出す
SpVoiceオブジェクトを作成し、Speak()を呼び出します。
Visual C#
SpVoice voice = new SpVoice();
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault);
Visual Basic
voice = New SpVoice
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault)
ブラッドの答えが私をここで正しい解決策に導いたと思います(したがって、彼は私よりも信用に値する)が、これはあなたが見逃していた最後の部分であるはずです。これで、 C ++ソリューションからのWAVファイルの書き込みをマネージコードで複製し、そこから目的の形式にトランスコードできるようになります。