تبدیل متن به گفتار و برعکس در سی شارپ
تبدیل متن به گفتار (Text-to-Speech) و تبدیل گفتار به متن (Speech-to-Text) دو فناوری مهم هستند که به کاربران این امکان را میدهند تا با سیستمها و برنامههای کامپیوتری به صورت طبیعیتر و کاربرپسندتر ارتباط برقرار کنند. این دو فناوری میتوانند در بسیاری از برنامهها، از جمله نرمافزارهای آموزشی، اپلیکیشنهای کمکی برای افراد دارای ناتوانی و حتی بازیهای ویدئویی کاربرد داشته باشند.
TEXT-TO-SPEECH (TTS)
تبدیل متن به گفتار یکی از قابلیتهای جذاب است. در سی شارپ، میتوانید با استفاده از کتابخانه `System.Speech.Synthesis` به راحتی این ویژگی را پیادهسازی کنید.
برای شروع، ابتدا باید این کتابخانه را به پروژه خود اضافه کنید. بعد از آن، میتوانید از کلاس `SpeechSynthesizer` استفاده کنید.
```csharp
using System.Speech.Synthesis;
// ایجاد شیء SpeechSynthesizer
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
// متن مورد نظر
string text = "سلام! این یک مثال از تبدیل متن به گفتار است.";
// تبدیل متن به گفتار
synthesizer.Speak(text);
```
این کد ساده، متن را به صوت تبدیل میکند و آن را پخش میکند.
SPEECH-TO-TEXT (STT)
تبدیل گفتار به متن نیز میتواند با استفاده از کتابخانههای مختلف انجام شود. یکی از کتابخانههای معروف، `System.Speech.Recognition` است.
ابتدا باید این کتابخانه را به پروژه خود اضافه کنید. سپس میتوانید از کلاس `SpeechRecognitionEngine` استفاده کنید.
```csharp
using System.Speech.Recognition;
// ایجاد شیء SpeechRecognitionEngine
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
// تعریف گرامر
Choices choices = new Choices();
choices.Add(new string[] { "سلام", "خداحافظ" });
GrammarBuilder gb = new GrammarBuilder();
gb.Append(choices);
Grammar grammar = new Grammar(gb);
// بارگذاری گرامر
recognizer.LoadGrammar(grammar);
// تعریف رویداد
recognizer.SpeechRecognized += (s, e) =>
{
Console.WriteLine("شما گفتید: " + e.Result.Text);
};
// شروع شناسایی گفتار
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
```
با استفاده از این کد، گفتار کاربر شناسایی شده و متن آن روی کنسول چاپ میشود.
نتیجهگیری
به طور کلی،