ابزاری آزاد/ متن‌باز، یار نابینایان ایرانی

همان گونه که ذکر شد پروژه ای‌اسپیک فارسی زیرمجموعه پروژه ای‌اسپیک بین المللی به نشانیeSpeak.sf.net می‌باشد که توسط «جاناتان دودینگتون» (Jonathan Duddington) در سال ۱۹۹۵ برای زبان انگلیسی بریتانیایی ایجاد شد و تا امروز جاناتان دودینگتون خود سرپرستی این پروژه را بر عهده دارد. لازم است متذکر شویم، که تمامی نسخه‌های eSpeak فارسی توسط سایت بین المللی آن به همراه دیگر زبانها و کد منبع منتشر می‌شود.
نکته ای که پروژه ای‌اسپیک را تا این اندازه موفق ساخته است توجه دودینگتون در هنگام طراحی اولیه ای‌اسپیک به انعطاف‌پذیری آن است به شکلی که بتوان زبان‌های دیگر را به آن افزود. با موفقیتی که پروژه ای‌اسپیک در سراسر جهان بدست آورد توانست به TTS یا «نوشته‌خوان» رسمی انتشارهای سیستم‌عامل لینوکس تبدیل شود و در پروژه NVDA (پروژه متن‌باز و آزاد خواننده‌ی صفحه برای مایکروسافت ویندوز) نیز ای‌اسپیک به عنوان Voice Synthesizer یا همان موتور صوتی اصلی عمل می‌کند و متون را به صدا تبدیل می‌نماید.
پروژه ای‌اسپیک تا امروز توانسته است ده ها زبان دنیا را از چینی در آسیا تا آفریکانس در قاره آفریقا، پشتیبانی کند. این امر با تلاش صدها برنامه‌نویس خلاق و علاقمند در سراسر دنیا که بدون هیچ دستمزدی و بدون آن‌ که نامشان را بدانید یا آن‌ها را بشناسید حاصل شده است تا انحصار شرکت‌های بزرگ را که نرم‌افزارهای نوشته‌خوان را با قیمت‌های گزاف به فروش می‌رسانند بشکنند.
پروژه ای‌اسپیک فارسی به نشانی eSpeak.IRTBC.com توسط «شادیار خدایاری» در سال ۲۰۱۱ با هدف نگارش یک نوشته‌خوان فارسی رایگان و متن‌باز برای سیستم‌عامل لینوکس و بعدها برای ویندوز، و اندروید آغاز شد. با تولید اولین نسخه‌های آزمایشی آن، «احسان اسماعیلی» نیز به پروژه ای‌اسپیک فارسی پیوست و با همکاری این دو نفر اولین نسخه پایدار آن در سال ۲۰۱۲ برای استفاده عموم منتشر گردید. از آن زمان داوطلبان زیادی در توسعه پروژه ای‌اسپیک فارسی همکاری داشته و دارند. بدون تلاش‌های تک‌تک این افراد پروژه ای‌اسپیک فارسی نمی‌توانست تا این اندازه پیشرفت کند.
اولین نسخه پایدار ای‌اسپیک فارسی در تابستان ۹۱ به سایت مرکز مجازی نابینایان ایران به نشانیwww.irtbc.com اضافه گردید که تا به این لحظه توسط شادیار خدایاری و احسان اسماعیلی در حال پیشرفت و به‌روزرسانی است.
به نظر ما استفاده از رایانه حق هر شخصی است حتی اگر آن فرد کم‌بینا یا نابینا باشد. نباید کسی برای حق طبیعی خود که برای افراد سالم رایگان است پول بپردازد. شما با استفاده و توصیه کردن این گونه نرم‌افزارها به دوستانتان، یا با کمک مالی به این هدف کمک خواهید کرد.
ای‌اسپیک برنامه‌ای سبک و سریع است که کار با آن راحت و لذت‌بخش است و در بسیاری از سیستم‌‌عامل‌ها از جمله لینوکس، ویندوز، مکینتاش، اندروید و یونیکس بخوبی کار می‌کند. به دلیل انتشار نسخه‌‌های بروز ای‌اسپیک، این برنامه همیشه با آخرین نسخه‌‌های سیستم‌عامل‌ها و نرم‌افزار‌های مشهور هماهنگ است. همچنین با بسیاری از نرم‌افزار‌های صفحه‌خوان (Screen Reader) سازگار است و بر روی آن‌ها به خوبی کار می‌کند.

حجم داده‌هایی که باید تحلیل کرد و به برنامه افزود چنان بودجه و وقتی را طلب می‌کند که باید تعداد زیادی کارمند تمام‌وقت در اختیار داشت تا بتوانند از عهده چنین کاری برآیند. اما پروژه‌‌های متن‌باز این فرصت را برای تمام افراد علاقه‌مند و برنامه‌نویسان داوطلب فراهم می‌کند تا به نرم‌افزاری که معتقدند مفید و قابل اعتماد خواهد بود کمک کنند.

از آن‌جایی که استفاده از نرم‌افزار‌های متن‌باز اغلب رایگان است، انتشار این گونه نرم‌افزارها هیچ گونه نفع مالی‌ای را برای سازندگان خود به همراه نخواهد داشت، طبیعتا سازندگان آن‌ها تنها می‌توانند هزینه و وقت محدودی را صرف تولید این نرم‌افزارها کنند. در بسیاری از موارد همچون پروژه ای‌اسپیک فارسی حجم داده‌هایی که باید تحلیل کرد و به برنامه افزود چنان بودجه و وقتی را طلب می‌کند که باید تعداد زیادی کارمند تمام‌وقت در اختیار داشت تا بتوانند از عهده چنین کاری برآیند. اما پروژه‌‌های متن‌باز این فرصت را برای تمام افراد علاقه‌مند و برنامه‌نویسان داوطلب فراهم می‌کند تا به نرم‌افزاری که معتقدند مفید و قابل اعتماد خواهد بود کمک کنند.
افراد علاقه‌مند می‌توانند هر یک، تنها بخش کوچکی را که از دستشان بر می‌آید انجام دهند تا کیفیت و قابلیت‌های نرم‌افزار افزایش پیدا کند. در این روش هر چند حجم کاری که هر یک از کاربران انجام می‌دهند بسیار کم است اما به دلیل تعداد زیاد کاربران حجم زیادی از کار در مدت کوتاهی انجام خواهد شد.

ساختار برنامه ای‌اسپیک:
ای‌اسپیک یک سیستم خبره است. این برنامه در زبان ++C و بر اساس منطق فازی نگاشته شده است.
ای‌اسپیک دارای دو واحد مجزا می‌باشد. واحد تحلیل زبان و واحد تولید صدا.
واحد تحلیل زبان: ای‌اسپیک در همه زبان‌ها هر واژه را بطور مجزا تحلیل می‌کند. این برنامه بر اساس توالی حروف بکار رفته در یک واژه و مقایسه آن‌ها با الگوهای زبانشناسی گویش معیار، که بشکل الگوریتم های پردازش زبان و قواعد استثنا به ماشین داده شده‌اند، الگوهای مناسب را انتخاب می‌کند. در مرحله بعد بر اساس امتیازی که هر الگو بدست می آورَد، ماشین تصمیم می‌گیرد که کدام الگوها برای مشخص کردن تلفظ واژه مورد نظر مناسب است و بر اساس آن‌ها تلفظ را می سازد. این واحد رشته ایجاد شده را بشکل کاراکترهای آوایی بر اساس استاندارد binary IPA به واحد تولید صدا ارسال می‌کند.
زبان فارسی علاوه بر چالش‌های معمول هر زبان برای نگارش چنین برنامه‌هایی مشکل خاصی دارد که نگارش برنامه‌ای با چنین الگوریتمی را به چالش می کشد. در زبان فارسی مصوت‌های کوتاه در نگارش واژگان نوشته نمی‌شوند و این ماشین است که باید حدس بزند اعراب واژه در حال بررسی چه بوده است. البته این موضوع برای کسانی که به این زبان تکلم می‌کنند نیز ایجاد اشکال می‌نماید زیرا اگر خود ما هم با یک واژه فارسی برای اولین بار برخورد کنیم ممکن است نتوانیم درست آن را تلفظ نماییم.
در ای‌اسپیک فارسی الگوریتم‌هایی اختصاصا برای تشخیس ریشه واژگان و همچنین تشخیص تمامی پیشوندها و پسوندهای ممکن، که می توانند به یک واژه اضافه شوند نگاشته شده است. بعلاوه ای‌اسپیک فارسی قادر است باب‌های عربی و ریشه عربی کلمات را تشخیص دهد و بر اساس اطلاعات بدست آمده تصمیم بگیرد که اعراب آن واژه چه بوده است. علاوه بر این‌ها ای‌اسپیک فارسی دارای یک دیکشنری از واژگان استثنایی است که ماشین پس از تحلیل های انجام گرفته در مشخص کردن اعراب آن‌ها ناموفق بوده است تا بتوان میزان خطای ماشین را به حداقل کاهش داد.
واحد تولید صدا: همان گونه که ذکر شد، واحد تحلیل زبان تلفظ واژگان را به شکل رشته‌های کاراکتری براساس کاراکترهای آوایی استاندارد زبان‌شناسی معروف به IPA به واحد تولید صدا ارسال می‌کند. این واحد نوع صدا را براساس قواعد IPA شناسایی کرده و آواها را توسط یک سینتیسایزر قدرت‌مند و بسیار سریع مبتنی بر زبان ++C تولید می‌کند و با بیان صامت‌ها و مصوت‌ها در کنار هم واژگان را می‌سازد. لازم به ذکر است که ای‌اسپیک واحدی را نیز برای ترجمه استاندارد رشته های کاراکترهای آوایی خود به استاندارد سیستم‌های دیگر دارد تا واحد تحلیل زبان ای‌اسپیک در سینتیسایزرهای دیگر قابل استفاده باشد.
در پایگاه وب (http://eSpeak.irtbc.com) آخرین نسخه فایل‌های فارسی ای‌اسپیک وجود دارد. هدف از ایجاد این پایگاه وب علاوه بر دریافت آخرین نسخه فایل‌های فارسی، بهبود و اصلاح این نرم‌افزار توسط کاربران آن است. شما می‌توانید هنگامی که به واژه‌ای برخورد می‌کنید که ای‌اسپیک فارسی آن را اشتباه می‌خواند به این پایگاه وب مراجعه کرده، آن واژه و تلفظ درست آن را اضافه کنید. تا در انتشار بعدی فایل‌های فارسی این واژه به دیکشنری آن اضافه گردد تا تمامی کاربران از تلفظ صحیح آن واژه بهرمند شوند.
اگر علاقه‌مند هستید تا در بهبود و گسترش برنامه خودتان ای‌اسپیک فارسی شرکت داشته باشید، می‌توانید از چند راه به کاربران ای‌اسپیک فارسی کمک کنید.
اگر شما به قاعده خاصی در ساختار زبان فارسی برخورد کرده‌اید که در نگارش ای‌اسپیک از دید سازنده دور مانده است، پس از مطالعه بخش معرفی الگوریتم‌های ای‌اسپیک فارسی آن را از طریق بخش «تماس با ما» با برنامه‌نویسان پروژه، در میان بگذارید.
حمایت مالی از پروژه‌های متن‌باز نیز در پیشرفت و توسعه آن‌ها تأثیر به‌سزایی دارد، زیرا انجام پروژه‌های این‌چنینی نیز همانند سایر پروژه‌ها، در پاره‌ای موارد نیازمند صرف هزینه است.
از شما خوانندگان گرامی خواهشمندیم که در بخش «عضویت در خبرنامه» سایت http://eSpeak.IRTBC.com عضو شوید تا از آخرین تغییرات، بروزرسانی، ترفندها و آموزش‌های نرم‌افزار ای‌اسپیک فارسی برای رایانه و گوشی‌های موبایل اندروید مطلع گردید. یا با ارسال یک ایمیل خالی به نشانی espeakfarsi+subscribe@googlegroups.com عضو خبرنامه پروژه ای‌اسپیک فارسی شوید.
سایت مرکز مجازی نابینایان ایران به نشانی www.irtbc.com در حال حاظر تنها سایتی است که برنامه‌نویسان و توسعه‌دهندگان ای‌اسپیک فارسی مطالب مربوط به این پروژه را در آن مستقیما منتشر می‌کنند و مطالب و پروژه‌های آن با مجوز GNU GPL v 3.0 منتشر می‌گردد. لذا استفاده از تمامی مطالب آن برای کاربران با ذکر منبع و به شرط رعایت شرایط مجوز، آزاد و رایگان است.