لینوکسی که هیچ‌کس را جا نمی‌گذارد

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

اسم این پروژه parch-accessibility است، یک لایه کامل برای دسترس‌پذیری که قرار است در دل خود سیستم‌عامل جا بگیرد، نه اینکه مثل بسیاری از ابزارهای مشابه، یک بسته جانبی و فراموش‌شده باشد که فقط عده کمی از آن خبر دارند.

چرا این موضوع تا این حد مهم است

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

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

چه کسانی قرار است از این پروژه بهره ببرند

هدف این نیست که فقط یک گزینه در تنظیمات اضافه شود. طراحی این پروژه دقیقاً بر اساس نیازهای واقعی گروه‌های مختلف کاربران شکل گرفته است.

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

نکته مهم این است که همه این امکانات باید کاملاً آفلاین کار کنند، بدون نیاز به اتصال اینترنت یا سرویس ابری.

طراحی فنی، اما به زبان ساده

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

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

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

پروفایل‌ها، به‌جای صدها تنظیمات پراکنده

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

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

صدای فارسی و ورودی صوتی

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

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

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

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

خط بریل، یک چالش واقعی برای فارسی

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

یکسان‌سازی تجربه در همه محیط‌های دسکتاپ

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

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

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

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

Sohrab Behdani
Sohrab Behdani
Articles: 18

Leave a Reply

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