۱۳۹۰/۱۱/۱۴

استفاده از قابليت Speech Recognition ويندوز 7 براي توليد زيرنويس انگليسي


از ويندوز ويستا به بعد، ويندوز به صورت توكار داراي يك موتور تشخيص صدا شده است كه در اين مسير قابل مشاهده مي‌باشد:
Control Panel\Ease of Access\Speech Recognition

اين سرويس از طريق اسمبلي استاندارد System.Speech در دات نت فريم ورك قابل استفاده است كه اكنون با برنامه‌ي Subtitle tools يكپارچه شده است.


يكي از خصوصيات مفيد اين موتور تشخيص صدا، امكان دريافت فايل‌هاي صوتي نيز مي‌باشد. فايل صوتي دريافتي بايد مطابق يكي از فرمت‌هاي پشتيباني شده توسط آن، تهيه شود؛ كه اين مورد را ذيل قسمت Supported audio formats شكل فوق مي‌توانيد مشاهده كنيد.
براي نمونه توسط برنامه AoA Audio Extractor Basic، مي‌توان اين تبديلات را انجام داد و يكي از تنظيمات قابل قبول توسط موتور Speech Recognition ويندوز 7 را در تصوير ذيل مي‌توانيد مشاهده كنيد: (و در غيراينصورت هيچ خروجي را نخواهيد گرفت؛‌ خيلي مهم!)


پس از انتخاب و گشودن فايل صوتي در برنامه Subtitle tools (كليك بر روي دكمه Open WAV‌ در اينجا) و سپس كليك بر روي دكمه‌ي Recognize يا Start ، كار موتور Speech Recognition ويندوز شروع شده و برنامه هم در اينجا از فرصت استفاده كرده و دريافتي نهايي را تبديل به ركوردهاي فايل زيرنويس مي‌كند كه نمونه‌اي از آن‌را در شكل فوق مي‌توانيد ملاحظه كنيد.


نكاتي در مورد استفاده بهينه از موتور تشخيص صداي ويندوز:

الف) براي آزمايش برنامه، يك فايل voice را از اينجا دريافت كنيد. اين فايل voice از همان سري مترو PluralSight تهيه شده است.
ابتدا موتور تشخيص صداي انتخابي را بر روي حالت US قرار داده و تست كنيد. در ادامه يكبار هم برروي حالت UK قرار دهيد و كار تشخيص صدا را آغاز نمائيد.
نتايج كاملا متفاوت خواهند بود و با توجه به لهجه انگليسي گوينده، تشخيص‌هاي حالت UK، به واقعيت نزديكتر هستند. اين مورد را در گزينه‌ي Average confidence هم مي‌توانيد مشاهده نمائيد. مثلا در اينجا موتور تشخيص صدا در كل به 60 درصد خروجي توليدي‌اش اطمينان دارد و مابقي ... آنچنان اعتباري ندارند.
مثلا متن صحيح سطر چهارم در تصوير فوق بايد «when they are not in the foreground» باشد!

ب) تنظيمات Timeouts
اگر به فايل voice فوق دقت كنيد، گوينده يك نفس از ابتدا تا انتها صحبت مي‌كند. اينجا است كه به كمك مقادير Silence timeout ، مي‌توان تعداد ركوردها را بر اساس فواصل تنفس كوتاهتري، بيشتر كرد. مثلا با اعداد پيش فرض سيستم، با فايل صوتي فوق به 5 خروجي خواهيد رسيد؛ اما با توجه به تنظيماتي كه در تصوير مشاهده مي‌كنيد، به 8 خروجي متعادل‌تر مي‌رسيم.


مزايا:
  • كار زمانبندي زير نويس خودكار مي‌شود.
  • تا حدود 60 درصد، خروجي متني مطمئني را مي‌توان شاهد بود.

در مورد ويندوز XP :

ويندوز XP به صورت پيش فرض داراي موتور Speech Recognition نيست. دو راه براي نصب آن در اين سيستم وجود دارد:

الف) استفاده از بسته نرم افزاري آفيس XP
به كنترل پنل مراجعه كرده، گزينه‌ي Add/remove programs را انتخاب نمائيد. در اينجا Microsoft Office XP را انتخاب و بر روي دكمه Change كليك كنيد. نياز است تا يكي از ويژگي‌هاي نصب نشده آن‌را نصب كنيم. به همين جهت در صفحه ظاهر شده، Add or Remove Features را انتخاب و در ادامه در قسمت Features to install ، گزينه‌ي Office Shared Features را انتخاب كنيد. ذيل مدخل Alternative User Input، امكان انتخاب و نصب Speech مهيا است.

ب) استفاده از Microsoft Speech SDK Setup 5.1
بر روي ويندوز 7، نگارش 8 اين برنامه نصب است؛ اما براي ويندوز XP تا نگارش 5.1 بيشتر ارائه نشده است. فايل‌هاي آن‌را از اينجا مي‌توانيد دريافت كنيد. نصب آن هم در اينجا توضيح داده شده.


من در كل ويندوز XP را براي اينكار توصيه نمي‌كنم چون هم موتور تشخيص صداي آن قديمي است و هم حالت Asynchronous آن درست كار نمي‌كند. براي مثال اين يك خروجي تهيه شده از همان فايل voice فوق، توسط موتور تشخيص صداي مخصوص ويندوز XP است كه بي‌شباهت به طنز نيست!