برنامه نویسی

رونویس مجله: مجله را با دیکته کردن آن بنویسید

Summarize this content to 400 words in Persian Lang

سلام

خوانندگان عزیز، امروز قصد دارم در مورد فیلمنامه ای که به نوعی نوشته بودم صحبت کنم. 😉

مشکل نجات افکارم

مشکلی که من سعی در حل آن دارم این است که می خواهم افکارم را نجات دهم.

من با خواندن آنچه نوشتم مشکلی ندارم، اما از انتظار لذت نمی برم. من می توانم دیکته کنم، اما نمی خواهم صدایم را ذخیره کنم یا به آن گوش دهم.

هر زمان که با چنین موقعیتی مواجه می شوم وارد حالت مهندسی می شوم و اگر چیزی است که بتوانم ظرف چند ساعت کار با آن مقابله کنم، آن را انجام می دهم.

تحقیقات اولیه

ابتدا، من یک کتابخانه صوتی به متن را که استفاده از آن آسان است، تحقیق کردم و Vosk را پیدا کردم. این یک کتابخانه بزرگ از مدل ها دارد. من دو مورد کوچک را انتخاب کردم زیرا می خواهم در حین کدنویسی از برنامه استفاده کنم. آنها تا حدودی نتایج مناسبی را ارائه می دهند.

راه حل پایتون

سپس، با جادوی چندین مدل هوش مصنوعی، به یک راه حل در پایتون رسیدم. میکروفون و صدای سیستم من را به مدل Vosk منتقل می کند، که رونویسی نوشته شده با مهرهای زمانی در یک فایل با تاریخ فعلی را ارائه می دهد.

از نمونه اولیه تا قابلیت استفاده روزانه

این هدف را دنبال می کند، اما برای استفاده روزانه راحت نیست. یکی از شعارهای من این است: اگر آسان و فوری نباشد، از آن استفاده نمی کنم. بنابراین، من اسکریپت را در یک ماژول پایتون بسته بندی کردم و یک فایل *.desktop نوشتم تا آن را به عنوان یک برنامه معمولی لینوکس در مورد من، Pop!_OS ثبت کنم.فقط یک لمس اضافی سریع اضافه کردن یک میانبر صفحه کلید بود و ببینید معجزه آن کار می کند!اعلان‌هایی که از notify-send استفاده می‌کنند وجود دارند تا وضعیت فعلی برنامه را به شما اطلاع دهند.

از بین بردن شلوغی کنسول

یکی از چیزهایی که من را عصبانی می کند این است که یک برنامه در کنسول اجرا می شود زیرا فضای کاری من را به هم می زند. برای جلوگیری از این امر، به یک راه ساده برای شروع و توقف برنامه بدون اتکا به ترمینال نیاز داشتم. راه حل من پیاده سازی یک سیستم فایل قفل بود.

هنگامی که برنامه شروع به کار می کند، یک فایل قفل حاوی شناسه فرآیند خود (PID) ایجاد می کند. اگر قفل از قبل وجود داشته باشد، اسکریپت از آن برای ارسال سیگنال KeyboardInterrupt استفاده می کند تا نمونه در حال اجرا را متوقف کند و خارج شود. به این ترتیب، اولین تماس برنامه را شروع می کند و شروع به رونویسی می کند، در حالی که تماس دوم آن را متوقف می کند.

حل مسائل به روش مبتکرانه

امیدوارم این مقاله باعث شود که کسی بتواند مشکل خود را به روشی منحصر به فرد، مبتکرانه و تا حدودی صیقلی حل کند.

می توانید مقاله مشابه دیگر من را بررسی کنید:استخراج خودکار متن از اسکرین شات

همچنین با خیال راحت کد را بررسی کنید:در Github

روز خوبی داشته باشید 🚀

سلام

خوانندگان عزیز، امروز قصد دارم در مورد فیلمنامه ای که به نوعی نوشته بودم صحبت کنم. 😉

مشکل نجات افکارم

مشکلی که من سعی در حل آن دارم این است که می خواهم افکارم را نجات دهم.

من با خواندن آنچه نوشتم مشکلی ندارم، اما از انتظار لذت نمی برم. من می توانم دیکته کنم، اما نمی خواهم صدایم را ذخیره کنم یا به آن گوش دهم.

هر زمان که با چنین موقعیتی مواجه می شوم وارد حالت مهندسی می شوم و اگر چیزی است که بتوانم ظرف چند ساعت کار با آن مقابله کنم، آن را انجام می دهم.

تحقیقات اولیه

ابتدا، من یک کتابخانه صوتی به متن را که استفاده از آن آسان است، تحقیق کردم و Vosk را پیدا کردم. این یک کتابخانه بزرگ از مدل ها دارد. من دو مورد کوچک را انتخاب کردم زیرا می خواهم در حین کدنویسی از برنامه استفاده کنم. آنها تا حدودی نتایج مناسبی را ارائه می دهند.

راه حل پایتون

سپس، با جادوی چندین مدل هوش مصنوعی، به یک راه حل در پایتون رسیدم. میکروفون و صدای سیستم من را به مدل Vosk منتقل می کند، که رونویسی نوشته شده با مهرهای زمانی در یک فایل با تاریخ فعلی را ارائه می دهد.

از نمونه اولیه تا قابلیت استفاده روزانه

این هدف را دنبال می کند، اما برای استفاده روزانه راحت نیست. یکی از شعارهای من این است: اگر آسان و فوری نباشد، از آن استفاده نمی کنم. بنابراین، من اسکریپت را در یک ماژول پایتون بسته بندی کردم و یک فایل *.desktop نوشتم تا آن را به عنوان یک برنامه معمولی لینوکس در مورد من، Pop!_OS ثبت کنم.
فقط یک لمس اضافی سریع اضافه کردن یک میانبر صفحه کلید بود و ببینید معجزه آن کار می کند!
اعلان‌هایی که از notify-send استفاده می‌کنند وجود دارند تا وضعیت فعلی برنامه را به شما اطلاع دهند.

از بین بردن شلوغی کنسول

یکی از چیزهایی که من را عصبانی می کند این است که یک برنامه در کنسول اجرا می شود زیرا فضای کاری من را به هم می زند. برای جلوگیری از این امر، به یک راه ساده برای شروع و توقف برنامه بدون اتکا به ترمینال نیاز داشتم. راه حل من پیاده سازی یک سیستم فایل قفل بود.

هنگامی که برنامه شروع به کار می کند، یک فایل قفل حاوی شناسه فرآیند خود (PID) ایجاد می کند. اگر قفل از قبل وجود داشته باشد، اسکریپت از آن برای ارسال سیگنال KeyboardInterrupt استفاده می کند تا نمونه در حال اجرا را متوقف کند و خارج شود. به این ترتیب، اولین تماس برنامه را شروع می کند و شروع به رونویسی می کند، در حالی که تماس دوم آن را متوقف می کند.

حل مسائل به روش مبتکرانه

امیدوارم این مقاله باعث شود که کسی بتواند مشکل خود را به روشی منحصر به فرد، مبتکرانه و تا حدودی صیقلی حل کند.

می توانید مقاله مشابه دیگر من را بررسی کنید:
استخراج خودکار متن از اسکرین شات

همچنین با خیال راحت کد را بررسی کنید:
در Github

روز خوبی داشته باشید 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا