Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoiceType

VoiceType

دیکته‌ی صوتی فارسی و انگلیسی در هر برنامه‌ی ویندوز

شورتکات را بزن، حرف بزن، دوباره بزن — متن همان‌جا که تایپ می‌کردی درج می‌شود.

Platform .NET License Portable


VoiceType چیست؟

یک ابزار سبک برای ویندوز که در هر برنامه‌ای (Word، Chrome، تلگرام، VS Code، هر باکس متنی) کار می‌کند: شورتکات را می‌زنی، یک پاراگراف حرف می‌زنی، دوباره شورتکات را می‌زنی، و متنِ رونویسی‌شده همان‌جا که مکان‌نما هست درج می‌شود.

رونویسی از طریق AvalAI انجام می‌شود — یک سرویس ایرانی سازگار با OpenAI که پرداخت ریالی دارد و از داخل ایران بدون واسطه در دسترس است. هر کاربر کلید خودش را استفاده می‌کند و کلید فقط روی کامپیوتر خودش، رمزنگاری‌شده ذخیره می‌شود.

پنجره تنظیمات    نشانگر ضبط
پنجره‌ی تنظیمات (چپ) و نشانگر ضبط کنار مکان‌نما (راست)

✨ قابلیت‌ها

  • 🎤 دیکته در هر برنامه — با RegisterHotKey، بدون هوک کیبورد یا امضای keylogger.
  • 🌐 دو زبانه — فارسی (Ctrl+Alt+F) و انگلیسی (Ctrl+Alt+E).
  • 🌍 ترجمه‌ی خودکار به انگلیسی — حرف بزن، متنِ انگلیسی تحویل بگیر (مدل قابل‌انتخاب).
  • 🪄 اصلاح متن با هوش مصنوعی — نگارش، نیم‌فاصله و علائم را تمیز می‌کند (اختیاری).
  • ⏹️ لغو ضبط — با Ctrl+Alt+C وسط ضبط لغو کن؛ چیزی ارسال نمی‌شود و شارژ مصرف نمی‌شود.
  • 📍 نشانگر کنار مکان‌نما — وضعیت و تایمر دقیقاً جایی که تایپ می‌کنی.
  • 📋 درج هوشمند — کلیپ‌بورد + Ctrl+V با بازگرداندن محتوای قبلی؛ یا تایپ مستقیم.
  • 🚀 اجرا هنگام ورود به ویندوز (اختیاری).
  • 🎨 آیکن سینی حالت‌محور — رنگش با حالت ضبط/پردازش/بیکار عوض می‌شود.
  • 📦 بدون نصب — یک فایل اجرایی تک‌فایل، بدون نیاز به .NET.

📥 دانلود و نصب (برای کاربر عادی)

۱. از بخش Releases فایل VoiceType-portable.zip را دانلود کنید. ۲. آن را extract کنید و VoiceType.exe را اجرا کنید. (نیازی به نصب نیست.) ۳. اگر ویندوز پیام «Windows protected your PC» داد، روی More info → Run anyway بزنید.

این هشدار به‌خاطر نداشتن امضای دیجیتال (code signing) است، نه بدافزار. سورس کامل همین‌جاست و خودتان می‌توانید بسازید. ۴. یک آیکن میکروفن کنار ساعت (سینی سیستم) ظاهر می‌شود — یعنی آماده است.


🔑 کلید AvalAI (یک‌بار)

برای رونویسی به یک کلید API نیاز دارید:

۱. در avalai.ir ثبت‌نام کنید و حسابتان را شارژ کنید (پرداخت ریالی). ۲. یک کلید API بسازید. ۳. در VoiceType روی آیکن سینی کلیک کنید تا تنظیمات باز شود. ۴. کلید را وارد کنید، «تست کلید» را بزنید و ذخیره کنید.

کلید شما با DPAPI و فقط برای حساب کاربری همین کامپیوتر رمزنگاری می‌شود. داخل فایل برنامه نیست و در جای دیگری قابل استفاده نیست.

هزینه‌ی رونویسی بسیار ناچیز است (یک پاراگراف کوتاه ≈ چند ده تومان).


⌨️ شورتکات‌ها

شورتکات کار
Ctrl+Alt+F شروع / پایان دیکته‌ی فارسی
Ctrl+Alt+E شروع / پایان دیکته‌ی انگلیسی
Ctrl+Alt+C لغو ضبط جاری (بدون ارسال، بدون مصرف شارژ)
Ctrl+Alt+R تلاش مجدد روی آخرین صوت (مثلاً بعد از قطعی اینترنت)

همه‌ی شورتکات‌ها در تنظیمات قابل تغییرند.


📝 روش استفاده

۱. داخل هر باکس متنی کلیک کنید (مکان‌نما چشمک بزند). ۲. Ctrl+Alt+F را بزنید → نشانگر «در حال ضبط» ظاهر می‌شود. ۳. یک پاراگراف کامل حرف بزنید. ۴. دوباره Ctrl+Alt+F → بعد از چند ثانیه، متن همان‌جا درج می‌شود.

ترجمه به انگلیسی: در تنظیمات تیک «ترجمه به انگلیسی» را بزنید و مدل دلخواه را انتخاب کنید؛ از این پس صدای شما گرفته و متنِ انگلیسی درج می‌شود.

نکته: برای بهترین کیفیت فارسی، یک جمله‌ی کامل بگویید (نه کلمه‌به‌کلمه) — مدل با کل جمله، صرف فعل و نگارش بهتری تولید می‌کند.


🛠️ ساخت از سورس (برای توسعه‌دهنده)

نیازمند .NET SDK 10 (در صورت نبود، TargetFramework را در .csproj به net9.0-windows تغییر دهید).

# اجرا در حالت توسعه
dotnet run --project src/VoiceType.App

# ساخت نسخه‌ی پرتابل تک‌فایل
dotnet publish src/VoiceType.App -c Release -r win-x64 --self-contained true \
  -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true \
  -p:EnableCompressionInSingleFile=true -o dist

خروجی: dist/VoiceType.exe — یک فایل، بدون نیاز به .NET روی سیستم مقصد.


🏗️ معماری

HotkeyService ──► DictationController ──┬──► AudioRecorder      (NAudio → MP3)
 (RegisterHotKey)   (ماشین حالت)         ├──► AvalAiTranscriptionClient
                                         ├──► TextPolisher      (اصلاح، اختیاری)
                                         ├──► TextTranslator    (ترجمه، اختیاری)
                                         └──► TextInjector      (Clipboard | SendInput)

حالت‌ها: Idle → Recording → Transcribing → Idle. جزئیات معماری، تصمیم‌های طراحی و دام‌های interop در CLAUDE.md آمده است.

Stack: C# · WPF (+ WinForms برای NotifyIcon) · NAudio · Win32 interop (SendInput / RegisterHotKey / GetGUIThreadInfo).


🔒 حریم خصوصی

  • کلید API فقط محلی و با DPAPI رمزنگاری‌شده ذخیره می‌شود.
  • صدا فقط هنگام ضبط، برای رونویسی به AvalAI فرستاده می‌شود و ذخیره نمی‌شود.
  • هیچ داده‌ای به سرور دیگری نمی‌رود. برنامه بین دو فشار شورتکات ضبط می‌کند، نه همیشه.

📄 مجوز

MIT — آزاد برای استفاده، تغییر و توزیع.

ساخته‌شده برای کاربران فارسی‌زبان ❤️

About

دیکته و ترجمه‌ی صوتی فارسی و انگلیسی در هر برنامه‌ی ویندوز — از طریق AvalAI. سبک، پرتابل، متن‌باز.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages