محمدحسین
محمدحسین
خواندن ۲ دقیقه·۶ سال پیش

اسکریپت نویسی برای تنبلی

https://realpython.com/python-speech-recognition/:منبع عکس
https://realpython.com/python-speech-recognition/:منبع عکس

مثل هر شب در حال گشتن تو وب بودم، داشتم توی Medium یه مقاله میخوندم که به یه لغت خوردم که خواستم ترجمه اش کنم. بعد دیدم تلفظ صحیحش هم ببینم حالا که تا اینجا اومدم! دیدم که هیچ چیزی ندارم که برام لغت رو بخونه و گوگل ترنسلیت هم خیلی دوره! با یه سرچ زدن دیدم که یه tts هست به نام espeak و نصبش کردم و دیدم که صدای رباتیش رو اصلا دوست ندارم و خیلی اذیت کننده اس!

به سرچ ادامه دادم تا اینکه دیدم یکی حدود چهار سال پیش از API گوگل ترنسلیت گذاشته که خوشحال و خندان اومدم تست کردم و دیدم کار نمیکنه (T_T)

تصمیم خودم رو گرفته بودم و نمیتونستم با خود یه دنده ام کنار بیام، سریع رفتم توی سایت api های گوگل و سرویس tts رو پیدا کردم! یه قسمت داشت که میشد هر متنی رو بهش میدی بخونه و میشد کانفیگ هم روش انجام بدی. از Inspect Element قسمت Network ریکوئست رو برداشتم و آوردم توی پایتون. کار سختی نبود،

  1. یه ورودی بگیر
  2. بزارش توی payload
  3. با کامند لاین اجراش کن (چون تحریمیم میخواستم از proxychains استفاده کنم، نصف شبی حوصله ی کار با requests رو نداشتم P: )
  4. خروجی رو دیکد کن (base64 میداد فایل خروجی رو)
  5. بایت کد هارو توی فایل ذخیره کن
  6. در اخر هم فایل رو پخش کن

قطعا راه های خیلی راحت تری هم میتونست وجود داشته باشه و همچنین میشه اصلا گفت چرا از این راه استفاده کنم؟ عین بچه ادم میرم تو گوگل ترنسلیت و لغت مورد نظرم رو کپی و پیست میکنم و خیلی راحت تر ازش استفاده میکنم. یا اصلا از پلاگین های مختلفی که هست استفاده میکنم. اما یه چیز مهم تر هست که باید درنظر گرفت، با حس درونیم که داره بهم میگه میتونی این کار رو انجام بدی یا نه باید چیکار کنم؟ چطوری میشه خودت رو قانع کنی که بلدی و از چالش ها بگذری؟ :) در هر صورت این کاری بود که باید انجام میدادم به هر قیمتی که شده :)

کدش رو میتونید تو قسمت زیر ببینید. کد نسبتا کثیفیه ولی خو قرار هم نیست جز یه رفع نیاز ساده کار دیگه ای بکنه. اگر لینک رو تو gist باز کنید توی اولین کامنت توضیح دادم که چطوری باید داخل GoldenDict ازش استفاده بکنید.

https://gist.github.com/Mhs-220/1b6cb50772ee7f54235125515d98fb77

امیدوارم همیشه سعی کنید چالش هایی که به ذهنتون میاد رو حل کنید :)



پایتوناسکریپتبرنامه نویسیکامپیوتر
برنامه نویس؟
شاید از این پست‌ها خوشتان بیاید