تبدیل متن به گفتار و برعکس در C#
تبدیل متن به گفتار و بالعکس در C# یکی از ویژگیهای مهم و جذاب در برنامهنویسی است. این قابلیت میتواند در کاربردهای مختلفی مانند اپلیکیشنهای آموزشی، نرمافزارهای دستیار صوتی و حتی در بازیها مورد استفاده قرار گیرد. در اینجا، ما به بررسی مفاهیم، روشها و کتابخانههای مرتبط خواهیم پرداخت.
تبدیل متن به گفتار
در C#، برای تبدیل متن به گفتار میتوان از کتابخانه `System.Speech` استفاده کرد. این کتابخانه امکانات متنوعی را برای تولید صدا از متن فراهم میکند. برای شروع، ابتدا باید این کتابخانه را به پروژهی خود اضافه کنید.
```csharp
using System.Speech.Synthesis;
// ایجاد یک نمونه از کلاس SpeechSynthesizer
SpeechSynthesizer synth = new SpeechSynthesizer();
// متن مورد نظر برای تبدیل
string text = "سلام، خوش آمدید به دنیای برنامه نویسی!";
// اجرای تبدیل متن به گفتار
synth.Speak(text);
```
با استفاده از متد `Speak`، متن به صورت گفتاری تولید میشود. همچنین، میتوانید تنظیمات مختلفی مانند سرعت و لحن صدا را نیز تغییر دهید.
تبدیل گفتار به متن
برای تبدیل گفتار به متن، میتوان از کتابخانه `System.Speech.Recognition` استفاده کرد. این کتابخانه امکاناتی را برای شناسایی گفتار فراهم میکند.
```csharp
using System.Speech.Recognition;
// ایجاد یک نمونه از کلاس SpeechRecognitionEngine
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
// اضافه کردن گرامر برای شناسایی
recognizer.LoadGrammar(new DictationGrammar());
// تعریف رویداد برای شناسایی گفتار
recognizer.SpeechRecognized += (sender, e) =>
{
Console.WriteLine("شناسایی شده: " + e.Result.Text);
};
// شروع شناسایی گفتار
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
```
در این کد، با استفاده از `SpeechRecognitionEngine`، میتوان گفتار را از میکروفون شناسایی کرد و متن مربوطه را به دست آورد.