Nina is a smart voice assistant built with C# and Windows Forms, designed to help you perform everyday tasks using voice commands. From opening apps to searching Google or interacting with custom forms, Nina makes your computer experience hands-free and fun!
- Open Applications: Use commands like "Open Chrome", "Open Telegram", or "Open VS Code" to launch your favorite apps.
- Simple Conversations: Responds to greetings, jokes, and questions like "What time is it?".
- Google Search: Say "Search weather in Tehran" to search in your default browser.
- Custom Forms: Open custom forms like "Open Applist" to view installed programs.
- Time-Based Responses: Reacts appropriately to the time of day (morning, afternoon, evening).
- Voice Customization: Change Nina’s voice to your preference (e.g., Microsoft Zira or David).
To run or develop Nina, you’ll need:
- Windows 7/8/10/11 (uses Windows Forms and Speech API)
- Visual Studio 2019 or later (for building and debugging)
- .NET Framework 4.7.2 or higher
- Microphone (for voice command recognition)
-
Clone the Repository:
git clone https://github.com/Aria-Hosseini/nina-voice-assistant.git
(Replace with your repo URL if hosted)
-
Open the Project:
- Open
Voice_Assistant.sln
in Visual Studio.
- Open
-
Build and Run:
- Build the project (F5 or Build > Build Solution).
- Click the "Start" button in the form to begin using Nina!
After launching, press "Start" to make Nina listen. Try these commands:
- "Hello" → "Hi there!"
- "Open Chrome" → Opens Google Chrome
- "Search best C# tutorials" → Searches Google
- "Open Applist" → Shows a list of installed programs
- "Goodbye" → "Goodbye! Have a great day!"
Click "Stop" to pause listening.
- RichTextBox: Displays your commands and Nina’s responses.
- Status Label: Shows "Listening..." in green or "Not Listening" in red.
- Buttons: Start, Stop, Minimize, and Close for controlling the assistant.
To switch Nina’s voice:
- In
mainform.cs
, in the constructor:Synthesizer.SelectVoice("Microsoft Zira Desktop"); // Or any other voice
- To list available voices:
foreach (var voice in Synthesizer.GetInstalledVoices()) { MessageBox.Show(voice.VoiceInfo.Name); }
- Add the command to
textStrings
in the constructor (e.g., "Open Notepad"). - Add a case in
RecognitionEngine_SpeechRecognized
:case "Open Notepad": richTextBox1.AppendText($"{Environment.NewLine}Open Notepad"); Synthesizer.Speak("Opening Notepad..."); System.Diagnostics.Process.Start("notepad.exe"); break;
- App Opening Failures: If an app’s executable isn’t in PATH, use the full path (e.g., for Telegram).
- Voice Recognition: May struggle in noisy environments.
Report any bugs in the Issues section!
We welcome contributions!
- Fork the repository.
- Make changes in a new branch.
- Submit a Pull Request.
- Thanks to the C# community for awesome libraries and tools!
- And to you for trying out Nina!
Start Nina and enjoy a voice-powered experience! Questions? Hit me up in Issues. 🎤
نینا یه دستیار صوتی هوشمند ساختهشده با C# و Windows Forms هست که بهتون اجازه میده با صدای خودتون کارهای روزمره رو انجام بدید. از باز کردن برنامهها گرفته تا سرچ توی گوگل و تعامل با فرمهای سفارشی، نینا تجربه کار با کامپیوتر رو بدون دست و جذاب میکنه!
- باز کردن برنامهها: با دستوراتی مثل "Open Chrome"، "Open Telegram" یا "Open VS Code" برنامههای مورد علاقهتون رو باز کنید.
- مکالمه ساده: به سلامها، شوخیها و سؤالاتی مثل "What time is it?" جواب میده.
- سرچ در گوگل: بگید "Search weather in Tehran" تا توی مرورگر پیشفرض سرچ کنه.
- فرمهای سفارشی: با "Open Applist" لیست برنامههای نصبشده رو ببینید.
- پاسخ بر اساس زمان: به وقت روز (صبح، عصر، شب) جواب مناسب میده.
- شخصیسازی صدا: صدای نینا رو به دلخواه عوض کنید (مثلاً Microsoft Zira یا David).
برای اجرا یا توسعه نینا، اینها رو نیاز دارید:
- ویندوز 7/8/10/11 (چون از Windows Forms و Speech API استفاده میکنه)
- ویژوال استودیو 2019 یا جدیدتر (برای بیلد و دیباگ)
- NET Framework 4.7.2 یا بالاتر
- میکروفون (برای تشخیص دستورات صوتی)
-
مخزن رو کلون کنید:
git clone https://github.com/Aria-Hosseini/nina-voice-assistant.git
(اگه پروژه رو توی GitHub داری، آدرسش رو بذار)
-
پروژه رو باز کنید:
- فایل
Voice_Assistant.sln
رو توی ویژوال استودیو باز کنید.
- فایل
-
بیلد و اجرا:
- پروژه رو بیلد کنید (F5 یا Build > Build Solution).
- دکمه "شروع" رو توی فرم بزنید تا نینا آماده شنیدن بشه!
بعد از اجرا، دکمه "شروع" رو بزنید تا نینا گوش بده. این دستورات رو امتحان کنید:
- "سلام" → "سلام به شما!"
- "Open Chrome" → باز کردن گوگل کروم
- "Search best C# tutorials" → سرچ توی گوگل
- "Open Applist" → نمایش لیست برنامههای نصبشده
- "خداحافظ" → "خداحافظ! روز خوبی داشته باشید!"
برای توقف، دکمه "توقف" رو بزنید.
- RichTextBox: دستورات شما و جوابهای نینا رو نشون میده.
- برچسب وضعیت: با رنگ سبز ("در حال شنیدن") یا قرمز ("شنیدن متوقف") حالت رو مشخص میکنه.
- دکمهها: شروع، توقف، کوچک کردن و بستن برای کنترل دستیار.
برای عوض کردن صدای نینا:
- توی
mainform.cs
، توی سازنده:Synthesizer.SelectVoice("Microsoft Zira Desktop"); // یا هر صدای دیگه
- برای دیدن صداهای موجود:
foreach (var voice in Synthesizer.GetInstalledVoices()) { MessageBox.Show(voice.VoiceInfo.Name); }
- توی
textStrings
توی سازنده، دستور جدید رو اضافه کنید (مثلاً "Open Notepad"). - توی
RecognitionEngine_SpeechRecognized
یه کیس جدید بذارید:case "Open Notepad": richTextBox1.AppendText($"{Environment.NewLine}Open Notepad"); Synthesizer.Speak("Opening Notepad..."); System.Diagnostics.Process.Start("notepad.exe"); break;
- باز نشدن برخی برنامهها: اگه مسیر فایل اجرایی توی PATH نباشه، باید مسیر کامل رو بدید (مثلاً برای Telegram).
- تشخیص صوت: توی محیطهای پر سر و صدا ممکنه خطا بده.
اگه مشکلی پیدا کردید، توی بخش Issues بگید!
از کمک شما استقبال میکنیم!
- مخزن رو فورک کنید.
- تغییرات رو توی یه شاخه جدید اعمال کنید.
- Pull Request بفرستید.
- از جامعه C# برای ابزارها و کتابخونههای عالی!
- و از شما که نینا رو امتحان میکنید!
نینا رو روشن کنید و از تجربه صوتی لذت ببرید! سؤالی دارید؟ توی Issues بپرسید. 🎤