$('#s1').cycle('fade');
  جستجو

 صفحه نخست  |  راهنمای فروشگاه  |  تماس با ما  |نحوه خرید  |  سبد خرید   |        ثبت شده در سايت ساماندهي كشور

مقالات رایگان دانشجویی > برق و الکترونیک و مخابرات

Bank Sepah:5892-1010-5735-6012

Email: dociran.pdfiran@gmail.com

09153255543  عالم زاده

 مقالات رایگان برق ، الکترونیک و مخابرات
تکنیک های بهبود گفتار (بازشناسی کلمات گسسته قرآنی و نحوه بیان و تلفظ کلمات قرآنی)

تاریخ ایجاد 1388/12/20  تعدادمشاهده  3452

 

فصل اول مقدمه:
صحت و گفتار نقش اساسي در ارتباط انسانها ايفا مي‌كنند و يكي از دلايل پيشرفت انسانها است.
براي برقراري ارتباط كامپيوتر با انسان بوسيلة گفتار در كار لازم است انجام شود. يكي سنتزل گفتار است. و ديگري بازشناسي گفتار، سنتز گفتار بيان گفتار بوسيلة كامپيوتر مي‌باشد و بازشناسي يعني فهميدن گفتار در بازشناسي گفتار. هدف بدست آوردن دنبالة آوايي يك گفتار مي‌باشد و اين دنبالة آوايي مي‌تواند بر اساس واج، سيلاب، كلمه، جمله و ... باشد. بازشناسي گفتار عكس عمل سنتز است و گفتار را به متن تبديل مي‌كند. اما انجام بازشناسي گفتار به دليل خاصيت صداي انسانها، داراي پيچيدگي‌هاي زيادي است. اما اغلب بازشناسي كامل و درست غير ممكن است. حتي خود انسانها هم نمي‌توانند به طور كامل همه صداها را بفهمند و ميزان، درك گوش انسانها حدود 70% مي‌باشد. شكل 1-1 ارتباط گفتاري بين انسانها و كامپيوتر را نشان مي‌دهد. به دليل نقش مهم و كاربردهاي فراواني كه بازشناسي گفتار دارد، تحقيقات و مقاله‌هاي زيادي در اين زمينه انجام شده و راه حل‌هاي متفاوتي پيشنهاد شده است،‌ ولي بازشناسي گفتار كاملاً درست هنوز امكان‌پذير نمي‌باشد.
بازشناسي گفتار داراي كاربردهاي زيادي است. از جمله كاربردهاي بازشناسي گفتار، حل مشكل تايپ است، با كمك بازشناسي گفتار مي‌توان جمله‌ها را يكي پس از ديگري خواند و كامپيوتر آنها را تايپ كند. يكي ديگر از كاربردهاي بازشناسي گفتار، حل مشكل صحبت دو فرد مختلف همزبان است. يكي از مشكلات انسانها ارتباط با افرادي است كه با زبانهاي متفاوت صحبت مي‌كنند. ارتباط بدون دانستن زبان مشكل است. و يادگيري يك زبان ديگر كار وقت گير و پر زحمتي است ولي به كمك بازشناسي گفتار به يادگيري زبانهاي مختلف احتياجي نخواهد بود و مي‌توان با يك دستگاه كوچك با فردي كه با زبان ديگري صحبت مي‌كند، صحبت نمود. يك كامپيوتر كوچك صداي شما را گرفته و به تعدادي از كلمات تبديل مي‌نمايد. سپس اين كلمات به زبان ديگر ترجمه شده و در نهايت با زبان جديد گفته مي‌شوند. دو مرحلة آخر اين سيستم جزو مسايل انجام شده گفتار هستند و با كامل نمودن مسئله بازشناسي گفتار بدون دانستن زبان‌هاي ديگر به آنها تكلم نمود.
شكل 1-2 نشان دهنده ارتباط دو فرد با زبان‌هاي مختلف است. يكي از كاربردهاي ديگر بازشناسي گفتار، برقراري ارتباط با كامپيوتر است. همان گونه كه به انسانهاي ديگر دسترس مي‌دهيد، به كامپيوتر هم مي‌توان دستور داد و با آن صحبت كرد. يا حتي مي‌توانيد از او بخواهيد كاري برايتان انجام دهد.
حتي با كمك بازشناسي گفتار مي‌توان به انسانهاي نابينا و ناشنوا كمك كرد. به طور مثال نابينايان مي‌توانند با صحبت كردن و دادن دستور به كامپيوتر با آن كار كنند.
از دستاوردهاي جديد بازشناسي گفتار و پردازش مدت كاربرد آن در آموزش‌هاي زبان دوم مي‌باشد. بدين ترتيب كه با ايجاد سيستمي‌كه قابليت آشكارسازي خطاي تلفظ بين لهجه‌هاي زبان اصلي و لهجة يك فردي كه به زبان دوم فرد سخن مي‌گويد، وي را در يادگيري و تصحيح تلفظ و لهجه آن زبان كمك نمي‌كنند.
بازشناسي گفتار مي‌تواند براي شرايط مختلفي انجام گيرد. هر كدام از اين شرايط مي‌توانند باعث مشكل شدن، پيچيدگي بازشناسي شوند. يكي از اين شرايط، وابسته بودن بازشناسي به يك گوينده يا مستقل بودن آن از گوينده است. مستقل بودن از گوينده به معناي آن است كه بتوان كار بازشناسي را براي هر فرد انجام داد. از ديگر شرايط بازشناسي گسسته يا پيوسته بودن گفتار است. راحتي بازشناسي گفتار گسسته، داشتن ابتدا و انتهاي عصر كلمه يا اساساً خود كلمه يا همان واحد آوايي مي‌باشد. همچنين از ديگر شرايطي كه در بازشناسي مطرح است،تعداد واژگان مي‌باشد. يعني بازشناسي گفتار براي چه تعداد كلمه‌اي صورت مي‌پذيرد.
هدف از انجام پروژة فوق در ابتدا بازشناسي كلمات گسسته قراني و در مرحلة دوم ارزيابي نحوة بيان و تلفظ كلمات قرآني مي‌باشد. از آنجائيكه براي مقايسه بين كلمة ادا شده توسط كاربر و صداي استاد بايد يك سيستم بهينه وجود داشته باشد. در مرحلة اول سعي مي‌كنيم، سيستم را به حالت بهينه خود برسانيم و سپس پارامترهاي اين سيستم جهت انجام مرحلة دوم استفاده كنيم.
اما چون در هنگام ارزيابي نحوة‌ بيان كلمه قرآني، كلمه مورد نظر از قبل مشخص است، بناباين در مرحله دوم احتياجي به بازشناسي گفتار نمي‌باشد.
در بخش اول براي بهتر درك كردن مفهوم بازشناسي به بررسي سيستم توليد صوت و شنوايي انسان مي‌پردازيم. سپس وارد مفاهيم بازشناسي گفتار خواهيم شد. در اين مرحله روشهاي جداسازي سيگنال زمينه از روي سيگنال صحبت مورد بررسي قرار مي‌گيرد. سپس نحوة استخراج ماتري ضرائب كپستروم و در نهايت بازشناسي گفتار بوسيلة الگوريتم انحراف زماني پويا (DTU)  و مدل مخفي ماركوف مورد بررسي قرار مي‌گيرد.
پس از آشنايي با ابزارهاي بازشناسي گفتار، نحوة پياده سازي الگوريتم‌هاي فوق ذكر خواهد شد. بعد از راه‌اندازي سيستم بازشناسي گفتار كلمات مقطع، بوسيلة الگوريتم DTN مشاهده شد نرخ بازشناسي گفتار پائيني است و حدود %47 مي‌باشد. از اين رو در جهت بهبود پارامترهاي سيستم و بهينه كردن آن در مراحل بازشناسي و پارامترهاي آن تغييراتي داده شد، كه به ذكر آنها پرداخته خواهد شد.
پس از بهينه كردن پارامترهاي سيستم بازشناسي گفتار و رسانيدن نرخ بازشناسي گفتار به 99% براي 20 كلمه قرآني الگوريتم‌هاي ارزيابي نحوة بيان بوسيلة روش DTA بحث خواهد شد.
در بخش انتهايي به بررسي مدل مخفي ماركوف خواهيم پرداخت. سپس مراحل پياده سازي الگوريتم فوق بوسيلة نرم افزار و نكات عملي آن گفته خواهد شد. در نهايت سيستم بازشناسي گفتار كلمات مقطع قرآني و نحوة پياده سازي آن مورد بررسي قرار خواهد گرفت و در مرحلة بعدي الگوريتم ارزيابي نحوة بيان بوسيلة ذكر خواهد شد.
تغيير محيط اكوستيكي روي نتيجه بازشناسي اثر خواهد گذاشت. از آنجائيكه سيستم فوق براي نمونه‌هاي آزمايشگاهي آموزش داده شده با تغيير محيط اكوستيكي مطمئناً نتايج بازشناسي تغيير خواهد كرد و نمونه‌هاي واقعي داراي نوين ميكروفن، محيط و همچنين برگشت صدا خواهند بود.
در انتها به بررسي سيستم‌هاي بهبود گفتار خواهيم پرداخت، هدف از اين بخش حذف هزينه ورودي از طريق ميكروفن و از بين بردن تأثيرهاي محيط بر روي سيگنال صدا مي‌باشد.
در اين بخش به دو روش اشاره خواهيم: ابتدا روش spectral subtraction
كه به ميزان يك روش عمدي براي حذف نويز مي‌رود ذكر خواهد شد.
سپس به معرفي يك الگوريتم جديد در حذف نويز ميكروفن خواهيم پرداخت.
مدل اعضاي صوتي انسان
در شكل (1-2) يك دياگرام شماتيك از مكانيزم توليد صحبت انسان نشان داده شده است. هنگام صحبت معمولي،‌ قفسه سين با فشار وارد كردن به ششها باعث مي‌شود كه هواي فشرده از ششها از طريق حنجره بيرون رانده شود. تارهاي صوتي كه درست در پشت غدة تيروئيد قرار گرفته‌اند،‌ اگر تحت تنش قرار گيرند، با عبور هوا مرتعش مي‌شوند و بدين ترتيب هوا نيز متناسب با فركانس ارتعاش تارهاي صوتي مرتعش شده و در اين حالت حروف صدادار توليد مي‌گردند.
اگر تارهاي صوتي از هم جدا شوند، جريان هوا از درون فاصلة بين تارهاي صوتي عبور مي‌كند و تأثير آن ايجاد نمي‌شود. جريان هوا سپس از فضاي حلق عبور نموده و بسته به موقعيت دريچة تنظيم عبور هوا از دهان يا بيني از فضاي اين دو عبور مي‌نمايد. جريان هوا از طريق دهان و بيني يا هر دو مشتركاً به بيرون داده مي‌شود و هنگام صحبت اين كاملاً قابل حس كردن است.
در حالت توليد حرف بي صدا مانند «س» يا «پ» تارهاي صوتي در هم باز مي‌شوند و يكي از دو حالت زير غالب است. يا يك جريان مغشوش هوا توليد مي‌شود، هنگامي‌كه هوا از درون فضاي نيمه بسته باريك در نقطه‌اي از اعضاي صوتي عبور مي‌كند (مانري) و يا يك تحريك گذري مختصر بدنبال ايجاد فشار پشت يك نقطة كاملاً بسته در اعضاي صوتي انسان اتفاق مي‌افتد (مانند p).
وقتيكه جز جز كننده‌هاي مختلف مانند زبان، لبها، آرواره‌ها و پردة تفكيك بيني و دهان در حين صحبت مدام حالتشان عوض مي‌شود. شكل قسمتهاي مختلف فضاي داخل ناخيه صوتي تغيير مي‌كند. ناحيه صوتي از حنجره تا لبها مانند يك حفرة تشديد كننده عمل مي‌كند كه فركانسهاي معيني را تقويت و بقيه فركانسها را تضعيف مي‌نمايد. اعضاي صوتي انسان مثل يك لولة صوتي غير يكنواخت است كه از تارهاي صوتي تا لبها ادامه دارد و طول آن در افراد مانع حدود cm17 مي‌باشد. بنابراين اولين فركانس تشديد آن در فركانس زير اتفاق مي‌افتد.
سطح مقطع غير يكنواخت اين لوله – مقدار زيادي متكي به وضعيت جز جز كننده‌ها است. و از صفر تا نزديك cm20 متغير است.
عضو صوتي مدهاي تشديد يعني از ارتعاش را داراست كه فرمنت ناميده مي‌شود كه به مقدار زيادي به موقعيت دقيق جزءجزءكننده‌ها بستگي دارد.
شكل (2-2) تصوير شماتيك نيم رخ ناحيه صوتي را براي چند حرف صدادار نشان داده است و مقادير نمونه فركانسها نيز ذيل آن براي سه فرمنت اول بر حسب Hz داده شده است.
شكل 3-2 مشخصه‌هاي فركانسي انتقالي اين حروف را نشان مي‌دهد، وضعيت تشديدها به روشني در اين منحني‌ها ديده مي‌شود. خوبست كه بدانيم بطور قابل ملاحظه‌اي در فهم صحبتها، فقط 3 فرمنت اول در تعيين صدايي كه شنيده مي‌شود مهم هستند. اگرچه براي توليد اصوات با كيفيت قابل قبول و بهتر فرمنت‌هاي بالا نيز مورد نياز مي‌باشد.
شكل موج صداي توليد شده بوسيلة حنجرة در هر حال يك سينوسي معمولي نيست. اگر اينطور بود ناحيه صوتي تشديد كننده، در خروجي فقط يك سيگنال سينوس مي‌داد كه بسته به ميزان دور يا نزديك بودن آن به فركانس تشديد، تقويت يا تضعيف شده بود.
حنجره داراي دو لبه چين خوردة پوستي بنام تارهاي صوتي است كه در هر سيكل از پريود فركانس گام يكبار از هم باز شده و دوباره بهم مي‌آيد. فركانس هيچ در مكالكات انسان مذكر از 50 الي 250 هرتز متغير است كه بطور متوسط حدود Hz100است. براي انسان مؤنث اين فركانس در رنج بالاتر تا حدود Hz500 قرار دارد. در آواز خواندن اين فركانس بالاتر نيز هست. بعضي آوازخوانهاي اپرا، فركانس گام خود را تا Hz1000 مي‌توانند برسانند.
حركت نوساني تارهاي صوتي شكل موجي توليد مي‌كند كه مي‌توان آن را با يك پالس مثلثي تقريب زد. اين شكل موج داراي طيف فركانسي غني است كه با شيب db/ocdao12 مي‌افتد و همة‌‌هارمونيكها نيز تحت تأثير نواحي تشديد اعضاي صوتي قرار مي‌گيرند. (شكل 4-2)
شكل 4-2 بالائي مربوط است به مدل فيلتر منبع كه مشخصات فيلتر و طيف است. شكل سمت راست تحريك دهانة حنجره در گفتار طبيعي است و بالاخره شكل سمت چپ تقويت در تحريك دهانه حنجره است.
ناحيه صوتي وقتي كه به وسيلة يك شكل موج با طيف‌هارمونيكي گسترده قرار مي‌گيرد. نقاط موجي در طيف انرژي شكل موج مكالمات توليد مي‌كند كه همان فرمنت‌ها هستند. پائين ترين فرمنت كه اولين فرمنت ناميده مي‌بود از حدود Hz.200 تا Hz100 در حين صحبت متغير است. و مقدار دقيق آن متكي به ابعاد ناحيه صوتي مي‌باشد.
فرمنت دوم از حدود Hz500 تا Hz9500 متغير است و فرمنت سوم از حدود Hz1500 تا Hz3500. البته گفتار يك پديدة استاتيك و ثابت نيست. مدل لولة صوتي مي‌تواند نمايشگر طيف گفتار در مدتي كه يك حرف صدادار بطور ممتد كشيده مي‌شود و دهان در حالت ثابت باقي مي‌ماند (مانند آآ‌آ) باشد. اما در گفتار واقعي زبان و لبها در تحريك دائم هستند و شكل ناحيه صوتي را مرتباً تغيير مي‌دهند و نتيجتاً موقعيت فركانسهاي تشديد را عوض مي‌كنند. اين مشابه يك لوله صوتي است كه بطور مداوم از قسمتهاي مختلف فشرده و منبسط مي‌شود.
بعنوان مثال در هنگام بيان كلمة «ميز» احساس مي‌كنيم كه چطور زبانتان به سقف دهان نزديك مي‌شود و باعث ايجاد يك حالت عبوري نيمه بسته در نزديك جلوي حفرة صوتي مي‌شود.
در طيف يك حرف صدادار كه بطور مداوم ادامه داده شود، بصورت مداوم ادامه داده شود، بصورت يك طيف انرژي ثابت مي‌آيد. اما بايد توجه داشت كه منظور از حروف صدادار در اينجا با آنچه معمولاً تصور مي‌شود متفاوت است. بگوئيد «I» و ببينيد زبان هنگام بيان به آهستگي تغيير موقعيت مي‌دهد. از نظر تكنيكي اين تها يك حرف صدادار نيست و يك لغزش بين دو موقعيت مربوط به دو حرف صدادار است.
تفاوتهاي شنوايي اصلي بين حروف صدادار مختلف و فركانسهاي دو فرمنت اول آنهاست. ديديم كه صحبت كردن، محدود كردن صوت است بعد از آنكه بوسيلة نوسانات در حنجره توليد شده است. وقتي كه با حالت نجوا و زمزمه صحبت مي‌كنيم، تارهاي صوتي در حنجره كمي‌از هم جدا نگاه داشته شده‌اند و هواي عبوري از آنها بصورت مغشوش در مي‌آيد و باعث تحريك حفرة تشديد كننده (اعضاي صوتي) بوسيلة يك نويز مي‌گردد.
فرمنتها در اينجا نيز حضور دارند و روي نويز سوار شده‌اند. براي حروف صدادار ريشة حروف در تارهاي صوتي است و صدا حاوي فرت‌هاي شبه پريوديك با باند عريض است كه توسط مرتعش شدن تارهاي صوتي ايجاد گرديده‌اند.
براي حروف بي صدا مانند «س» صدا در نقطه نيمه بسته تحت فشار در عضو صوتي قرار دارد و شامل جريان هواي شبه رندوم مغشوش مي‌باشد. براي حروف بي صدا مانند p (مثل pop) ريشة حرف در نقطه مسدود قرار دارد و بوسيلة‌ آزاد شدن هواي فشرديكه پشت نقطة كاملاً مسدود ايجاد گرديده است، توليد مي‌گردد. از نوع اخير كه صداهاي تنفسي ناميده مي‌شود، حرف H مثل كلمه Hello را نيز مي‌توان ذكر نمود. بدين ترتيب حروف مكالمات را به 3 دسته مي‌توان تقسيم نمود:
1- حروف صدادار
2- حروف بي صدا سايشي مثل س ر ش ف
3- حروف بي صداي تنفسي هـ، پ
توليد حروف بي صدا از نوع سايشي نيز ميسر است كه مثلاً حروف ز ژ – و كه آنها را صدادار سايشي مي‌ناميم. نمونة حروف بي صدا سايشي س – ش – ف هستند.
2-2 مدل منبع – فيلتر گفتار
فرض اساسي در تقريباً تمامي‌سيستمهاي پردازش گفتار اين است كه منبع تحريك و سيستم اعضاي صوتي مستقل از هم هستند. اين موضوع به ما اجازه مي‌دهد كه در مورد تابع تبديل عضو صوتي بحث كنيم و اين امكان را مي‌دهد كه اين سيستم را با هر منبع ممكن ديگر تحريك نمائيم.
فرض فوق در مورد اكثر حالات مورد نظر ما به خوبي معتبر مي‌باشد. البته حالاتي نيز وجود دارد كه فرض فوق معتبر نمي‌باشد و مدل اساسي مي‌شكند (مانند حرف p در po). براي بيشتر قسمتها ما معتبر بودن آن را فرض مي‌نمائيم. بر اين اساس يك مدل ديجيتالي ساده توليد گفتار را در شكل (5-2) مشاهده مي‌كنيم.
منابع تحريك عبارتند از يك مولد پالس كه فركانس آن همان فركانس گام مي‌باشد و يك مولد نويز رندوم.
مولد پالس در هر تعداد از نمونه و مرتبط با شروع عبور يك حجم از هوا از تارهاي صوتي، يك پالس توليد مي‌كند كه طول آن متناسب با پريود گام مي‌باشد. خروجي نويز رندوم مشابه اغتشاش شبه رندوم برار حروف بي صدا مي‌باشد. هر كدام يا هر دو اين منابع ممكن است بعنتوان ورودي براي يك فيلتر ديجيتال خطي و متغير با زبان بكار روند. اين فيلتر، عضو صوتي (ناحيه صوتي) را مشابه سازي مي‌نمايد و ندا ضرايب فيلتر تعيين كننده ناحيه صوتي بعنوان يك تابع متغير نسبت به زمان در حين گفتار مي‌باشند.
بطور متوسط در هر 10 ميلي ثانيه يكبار، ضرايب فيلتر عوض مي‌شوند كه نشانگر مشخصات ناحيه صوتي جديد هستند، كنترل بهره


فصل دوم
Speech analysist
مقدمه:
در اين بخش در مورد تجزيه و تحليل سيگنال صوت بحث خواهد شد و مراحل پردازش روي سيگنال صحبت جهت آمادگي آن براي بازشناسي مورد بررسي قرار خواهد گرفت.
در اين بخش اطلاعاتي در مورد نحوة فريم بندي، اعمال پنجره، عمليات جداسازي سيگنال صحبت از روي زمينه، voice Decision ، فركانس فرمنت و ضرايب LPC ، كپستروم بحث خواهد شد.
فريم بندي سيگنال صحبت
دنبال نمونه‌هاي از سيگنال صحبت در شكل نشان داده شده است. همان طور كه از شكل پيدا است، خواص سيگنال با گذشت زمان تغعير مي‌كند. مثلاً در بعشي از زمانتها سيگنال واكه دار يا بي واكه است يا نقاط ماكزيمم دامنه بسيار تغيير مي‌كند و همچنين در نقاطي كه سيگنال صحبت واكه دار است فركانس گام عوض مي‌شود.
در تمام كارهاي پردازش سيگنال فرض بر اين است كه خواص و ويژگي سيگنال صورت در طول زمان به آرامي‌تغيير مي‌كند.
در طول يك دوره كوتاه از زمان تقريباً ثابت است. با فرضهاي فوق ما به روشي دست پيدا مي‌كنيم كه در آن به پردازش زمان كوتاه يك قسمت از سيگنال صحبت مي‌پردازد.
اغلب اين بخش‌هاي كوتاه سيگنال صحبت كه به آن analysis frame نيز مي‌گويند. با يكديگر هم پوشاني دارند.
اگر بخواهيم يك بخش يا قسمت از سيگنال صحبت را نشان بدهيم بصورت رياضي به فرم زير مي‌باشد.
 
كه در آن  m طول فريم مي‌باشد.
براي بدست آوردن N ، نمونه فديك سيگنال صحبت بايد آن را فريم بندي كنيم.
اما براي از بين بردن تأثير لبه‌ها بايد از پنجره استفاده نمود. استفاده از پنجره دو مزيت دارد.
1- پنجره با تضعيف سيگنال در ابتدا و انتهاي پنجره اثر تغيير ناگهاني دامنه را در ابتدا و انتهاي پنجره يا فريم كاهش مي‌دهد.
2- با ضرب كردن پنجره در يك سيگنال صحبت در زمان، موجب ايجاد كانولوتن طيف پنجره و سيگنال صحبت در محور فركانس خواهيم شد. در حقيقت ما با اين يك عمل Weignted moving avarage در محور فركانس انجام داده ايم.
اين كار باعث از بين رفتن اعوجاج حاصل از فريم بندي سيگنال صحبت مي‌شود.
پنجره بكار برده شده بايد داراي دو خاصيت باشد: اول دقت فركانسي بالا يعني، robe اصلي بسيار باريك و كوتاه باشد. 2- فركانس كوچك نسبت به ساير مؤلفه‌هاي طيف ايجاد شده بوسيلة كانولوتن. به عبارت ديگر تضعيف بسيار زياد درrobe  اصلي.
پنجره Hamming داراي خاصيت‌هاي فوق بوده
با معلوم كردن ميزان هم پوشاني و طول پنجرة Haming مي‌توان سيگنال صحبت را به بخش‌هايي به طول مساوي تقسيم نمود.
 
 
فيلتر پيش تأكيد
ممكن است محدودة ديناميك طيف صحبت بسيار وسيع باشد. اين باعث مي‌شود كه در هنگام محاسبة ماتريس مشخصه سيگنال دچار مشكل شويم و همچنين اين فيلتر پيش تأكيد باعث يكنواخت تر كردن طيف فركانسي خواهد شد. براي اين فيلتر پيش تأكيد از يك فيلتر FIR درجة اول استفاده مي‌كنيم.
 
 
مي‌توان مقدار بهينه را بدست آورد ولي بسته به گوينده‌هاي مختلف فرق مي‌كند ولي مقدار آن زياد در نتايج تأثير ندارد.
جداسازي سيگنال صحبت از روي سيگنال زمينه
شكل اساسي در پردازش صوت، تشخيص سيگنال صحبت از سيگنال نويز زمينه مي‌باشد. از اين مسأله اغلب بعنوان مسأله تشخيص ابتدا و انتهاي صوت نام برده مي‌شود. بوسيله تشخيص درست ابتدا و انتهاي يك سيگنال صحبت، هم ميزان پردازش سيگنال پائين مي‌آيد،‌ هم نرخ بازشناسي بالا مي‌رود.
الگوريتم‌هاي مختلفي براي تشخيص و جداسازي سيگنال صحبت از روي سيگنال زمينه وجود دارند. در اين پروژه دو روش و پياده سازي شده است. در روش اول از پارامترهاي ميزان عبور از صفر و انرژي هر فريم براي پيدا كردن ابتدا و انتهاي سيگنال صحبت استفاده مي‌شود.
اين الگوريتم به طور قابل ملاحظه‌اي مي‌تواند در محيطهاي اكوستيكي كه داراي سيگنال به نويز 30d هستند. با دقت بالا كار كند. الگوريتم اول براي گوينده‌هاي مختلف و شرايط مختلف، قسمت شد و نتايج خوبي بدست آمد.
الگوريتم دوم تقريباً شبيه الگوريتم اول است، و فقط كمي‌تفاوت با آن در نحوة استفاده از پارامتر انرژي دارد.
الگوريتم دوم نيز از پارامترهاي انرژي و استفاده مي‌كند.
براي دستيابي به يك الگوريتم كه بتواند سيگنال صوت را غير از صوت جدا كند،‌ ابتدا لازم است محيط صوتي را كه در آن صدا ضبط شده است مشخص كنيم، عموماً در اين پروژه‌ها داراي دو نوع محيط صوتي مي‌باشيم. در حالت اول صداي كاربرد در يك محيط آزمايشگاهي بدون حضور، هيچ نيز اكوستيك ضبط شده است. در حالت دوم، صداي كاربرد بوسيلة يك ميكروفن معمولي از طريق كامپيوتر ضبط مي‌شود كه به همراه آن نويز وجود دارد.
در شكل (1) سكوت زمينه در هنگام ضبط صدا در محيط اول و دوم آورده شده است.
همان طور كه در شكلها ديده مي‌شود،‌ سكوتي كه در محيط اكوستيك باشد، داراي يك مؤلفه فركانس پائين قبلي (با پريود ms8) مي‌باشد. اما سكوتي كه در محيط معمولي و از طريق كامپيوتر ضبط شده داراي يك طيف وسيعي از فركانسها مي‌باشد.
شكل (2) طيف فركانسي اين دو سكوت زمينه را نشان مي‌دهد.
 
 
اين طيفهاي فركانسي از يك پنجرة Hamming، كه داراي 512 نقطه است بدست آمده، دانة آن به صورت لگاريتمي‌مي‌باشد. غير از مؤلفه فركانس پائيني تقريباً هر دو طيف شبيه به هم هستند.
مسأله اساسي در پيدا كردن ابتدا و انتهاي سيگنال صحبت، نويزهاي موجود در سيگنال صحبت مي‌باشد.
يك راه ساده جهت جدا كردن سيگنال صحبت از روي تغييرات سريع انرژي سيگنال صحبت در هنگام اول سيگنال و سكوت زمينه است.
در هنگامي‌كه در حالت اول يك صدا ضبط مي‌شود مي‌توان حتي از طريق چشم نيز تفاوت بين سيگنال زمينه و سيگنال صورت را به دليل پائين بودن سطح نويز و يا در حقيقت عدم وجود نويز تشخيص داد. در حقيقت چشم ما از طريق مشاهدة تغييرات، ناگهاني شكل موج يا همان تغزيت ناگهاني انرژي قادر به تشخيص ابتدا و انتهاي سيگنال صوت مي‌باشد.
همان طور كه در بخش قبلي در مورد سيگنال بي صدا بحث كرديم، تمام اين صوتها داراي ماهيت نويز گونه مي‌باشند، بنابراين با افزايش سطح نويز سيگنال زمينه، اگر صوت با يك حرف سايشي مثل «ف» شروع شود ديگر چشم قابليت تشخيص ابتداي سيگنال را از نويز ندارد. همچنين به دليل پائين بودن انرژي سيگنال صوت بي صدا پيدا كردن يك آستانه خوب براي جدا كردن ابتدا و انتهاي سيگنال صوت فقط با پارامتر انرژي مشكل مي‌باشد.
 
 
همان طور كه گفته شد به كمك پارامتر انرژي نمي‌توان ابتدا و انتهاي سيگنال صوت را معين نمود. پارامتر ديگري كه در الگوريتم استفاده خواهد شد پارامتر ميزان عبور از صفر هم فريم مي‌باشد.
اين پارامتر بيان مي‌كند،‌ سيگنال صوت در هر فريم چند بار به سطح مثبت و سپس در نمونه بعدي به سطح منفي رفته است، يعني در حقيقت از صفر عبور كرده است.
ميزان اين پارامتر ارتباط مستقيمي‌با فركانس سيگنال دارد. هر چقدر فركانس سيگنال بيشتر باشد نرخ عبور از صفر آن نيز بيشتر خواهد بود.
همان طور كه قبلاً گفته شد، صوتهاي بي صدا ماهيت نويز گونه دارند ولي فركانس عبور از صفر آنها كمتر است از نويز سفيد يا نويز زمينه مي‌باشد. يعني نويز زمينه داراي خاصيت پراكندگي بيشتري است. سپس با كمك اين پارامتر مي‌توان به راحتي اصوات بي صدا را از روي سيگنال زمينه جدا نمود.
به طور كلي مشكل جداسازي سيگنال‌هاي صوتي از روي زمينه را مي‌توان به سيگنال‌هايي محدود كرد كه اصوات زير ختم شوند:
ا) صوتهاي سايشي ضعيف مثل «ف»
ب) صوتهاي انفجاري مثل «پ، ك و ت»
ج) كلماتي كه به حروفي ختم مي‌شوند كه از طريق بيني ادا مي‌شوند مثل «م، ن»
د) حروف صدادار سايشي در انتهاي كلمه
هـ) كم شدن اثر حرف صدادار در انتهاي كلمه
با توجه به مسائل مطرح نشده مي‌توان با كمك پارامترهاي انرژي و ZCR الگوريتمي‌را طراحي نمود كه قابليت حل مسائل فوق را داشته باشد.
- الگوريتم تشخيص ابتدا و انتهاي سيگنال با كمك انرژي و ZCR
طبق بحث‌هاي گذشته هدف از اين الگوريتم
1- سادگي، كارآمدي بالا در هنگام پردازش
2- پيدا كردن يك نقطه ابتدا و انتها با اطمينان بالا
3- قابليت به كار بردن الگوريتم در مورد سيگنالهاي با زمينة متفاوت
همان طور كه گفته شد با كمك پارامترهاي انرژي و ميزان عبور از صفر به همراه يك سري تصميمات منطقي در مرحلة آخر مي‌توان الگوريتم با قابليتهاي فوق را پياده سازي كرد.
هر دو پارامتر انرژي و ميزان عبور از صفر، بسيار ساده قابل محاسبه هستند. براي پيدا كردن انرژي هر فريم مي‌توان از جمع مقدار دامنه به توان دو استفاده نمود.
 
n شمارة هر فريم مي‌باشد و M طول پنجره مي‌باشد.
براي محاسبة مقدار عبور از صفر ابتدا مقدار DC سيگنال را از آن كم مي‌كنيم، سپس آن را از يك فيلتر به 11 گذر عبور مي‌دهيم. اين دو كار را براي هر فريم انجام داد، سپس مقدار دفعاتي را كه سيگنال از سطح مثبت منفي رفته و يا بالعكس را طبق فرمول زير حساب مي‌كنيم.
پس از پيدا كردن مقدار انرژي و ميزان عبور از صفر براي هر فريم طبق الگوريتم و با پيدا كردن نقاط آستانه مي‌توان به جداسازي سيگنال صوت از روي زمينه پرداخت.
قبل از توضيح الگوريتم در بعضي از مقالات مشاهده شده كه ، توصيه مي‌شود قبل از فريم بندي و پردازش سيگنال صوت، سيگنال را از يك فيلتر پائين گذر با فركانس Hz10 و يك فيلتر بالاگذر Hz100 عبور دهيم. با انجام عمليات فوق و پياده سازي روش مذكور مشاهده مي‌شود كاملاً كيفيت شنيداري سيگنال پائين مي‌آيد،‌ ثانياً نرخ بازشناسي كاهش خواهد يافت. لذا از انجام عمل فيتر كردن خودداري شده است و در مرحلة اول از يك فيلتر بالاگذر FIR جهت حذف DC استفاده شده است.
فرض بر اين است كه در حدود بين ms100 تا ms200 اول سيگنال هيچ نوع صدايي وجود ندارد و فقط سيگنال زمينه خالص وجود دارد. بنابراين در اين محدوده مي‌توان ويژگي‌هاي آماري سيگنال زمينه را پيدا نمود. اين ويژگيها تا ميانگين و انحراف معيار و مقدار انرژي و ميزان عبور از صفر سيگنال سكوت مي‌باشد.
براي پيدا كردن مقادير آستانه براي ميزان عبور از صفر از فرمول زير استفاده مي‌كنيم.
يعني ميانگين مقدار ZCR
با در برابر انحراف ميعار آن صحيح مي‌كنيم.
و بدين ترتيب از طريق اين مقدار آستانه مي‌توان صوت بي صدا را از روي سيگنال زمينه جدا نمود.
براي پيدا كردن مقادير آستانه از انرژي به اين ترتيب عمل مي‌كنيم. مقدار ماكزيم انرژي فريمها را بدست مي‌آوريم و همچنين ميانگين انرژي سكوت زمينه را بدست مي‌آوريم.
سپس از طريق فرمول زير مقادير آستانه را بدست مي‌آوريم.
 
فرمول 2 نشان مي‌دهد، ‌مقدار برابر با 3 درصد ماكزيمم انرژي (كه براي مقدار سكوت نرماليزه شده) مي‌باشد و فرمول (3) بيان مي‌كند مقدار 4 برابر انرژي سكوت مي‌باشد.
مقدار آستانه پائين مقدار اين دو عدد يعني و مي‌باشد، مقدار آستانه بالايي 5 برابر مقدار آستانه پائين است.
در شكل 1 فلوچارت مربوط به الگوريتم براي حدس اوليه نشان داده شده است. در ابتدا الگوريتم از اولين فريم شروع به جستجو براي يافتن نقطه‌اي مي‌كند مقدار انرژي آن فريم بيشتر از حد آستانة پائيني باشد. بعد از يافتن اولين فريم كه مقدار انرژي آن از حد آستانه پاييني گذشت، آن فريم را به عنوان نقطه شروع اوليه مي‌ناميم. البته اين اتفاق به شرطي مي‌افتد كه بعد از چند فريم مقدار انرژي از حد آستانه بالايي نيز عبور كند. همچنين نبايد ميزان انرژي قبل از رسيدن به ITW از ITL كمتر باشد.
دليل قرار دادن مقادير آستانه بالايي جهت مطمئن شدن از حضور سيگنال صوتي در فايل ضبط شده است.
الگوريتم مشابه‌اي براي پيدا كردن نقطة انتهايي به كار مي‌رود. بدين ترتيب كه الگوريتم از آخرين فريم به صورت معكوس شروع به يافتن نقطه‌اي يا فريمي‌مي‌كند كه مقدار انرژي آن بيشتر از سطح ITL باشد.
با پيدا كردن نقاط اوليه ابتدايي و انتهايي ما اين نقاط را مي‌ناميم. تا اين زمان ما تنها از پارامتر انرژي استفاده نموده ايم كه بتوانيم نقاط ابتدا و انتها را مشخص كنيم. اين نقاط ابتدا و انتها به طور كامل بيان گر وجود نقاط كاملي كه سيگنال صوت در آن شروع و خاتمه يافته نمي‌باشد. دليل اين موضوع را قبلاً گفته ايم و بايد در اين مرحله بگوييم قسمتي از سيگنال صوت خارج از مي‌باشد.
پس از يافتن نقاط با الگوريتم شروع به چك كردن مقدار ميزان عبور از صفر براي نقاط يعني حدود ms250 قبل مي‌كند. اگر تعداد زمانهايي كه ميزان عبور از صفر هر فريم از مقدار آستانه IZCT كمتر باشد. در حدود 2 يا 3 بيشتر بود. نقطه انتهايي به همان آخرين نقطه كه از حد آستانه كمتر شد، منتقل مي‌گردد. در صورتيكه در اين ms250 هيچ فريمي‌يافت نشود كه مقدار ميزان عبور از صفر آن كمتر از حد آستانه باشد. همان نقطه به عنوان اول فريم شناخته خواهد شد.
الگوريتم مشابه‌اي براي پيدا كردن نقاط انتهايي به كار مي‌رود. اين بار نقاط براي پيدا كردن فريم‌هايي كه داراي ميزان عبور از صفر زير مقدار آستانه هستند جستجو خواهد شد.
 
 
Fast End point Dection algorithm in office EnviROMENT
 
اين الگوريتم شامل 4 مرحله مي‌باشد. در مرحلة اول سيگنال صوت يك كلمه، پيش پردازش شده و نويز زمينه تخمين زده مي‌شود و از آن جهت وفق دادن الگوريتم در مراحل بعدي استفاده خواهد شد. در مرحلة دوم اولين و آخرين نقطه فريم واكه‌دار به عنوان مبناي جستجو معين خواهند شد.
در مرحلة سوم با قرار دادن يك سطح انرژي پائين در اطراف ناحيه ابتدا و انتها مي‌توان در مرحلة چهارم نقاط ابتدايي و انتهايي را مشخص نمود.
تخمين اوليه نويز زمينه:
براي حذف DC ، و تقويت جزءهاي فركانس بالا، ابتدا سيگنال را با فيلتر درجة اول FIR ، پيش تأكيد مي‌كنيم.
با بدست آوردن نمونه‌هايي از ابتدا و انتهاي سيگنال مي‌توان نويز زمينه يا (نويز محيط اكوستيكي) را حدس زد. با كمك رابط (2) انرژي نويز را در دو فريم اول و آخر كه طول آنها زياد است و همپوشاني هم با هم ندارند حساب مي‌كنيم.
كه در آن طول پنجره يا طول فريم مي‌باشد (حدود 80ms)
ميزان نويز در ابتداي سيگنال زمينه با كمك فرمول (3) محاسبه خواهد شد.
اگر ميزان تفاوت انرژي دو فريم كمتر از دو برابر يكي انرژيها باشد، انرژي نويز برابر با ميانگين دو انرژي است، در غير اين صورت انرژي نويز برابر مينيمم اين دو انرژي است.
 
نويز تخمين زده شده در انتهاي سيگنال هم به همان صورت تخمين زده خواهد شد كه از دو مقدار انرژي فريم‌هاي آخري استفاده خواهد شد.
 
در نهايت مقدار انرژي نويز در كل سيگنال با كمك ميزان نويز در ابتدا و انتهاي سيگنال تخمين زده خواهد شد.
اگر اختلاف بين دو مقدار كمتر يا مساوي دو برابر يكي از مقدارها باشد، نويز زمينه برابر با ميانگين دو مقدار خواهد بود. در غير اين صورت نويز زمينه قابل تشخيص نخواهد بود و سيگنال ورودي برگشت داده خواهد شد و خط آشكار مي‌شود.
با اين وجود، سطح انرژي نويز بدست آمده، بايد درحد دو آستانه قرار گيرد. در غير اين صورت سيگنال ورودي غير قابل قبول مي‌باشد و به عنوان كاملاً نويزي يا بسيار ضعيف شناخته خواهد شد.
TN مقدار قابل قبول انرژي نويز براي محيطهاي اكوستيكي مي‌باشد و TS به عنوان مقدار انرژي مي‌نيمم سكوت براي تشخيص قطعي يا عدم وجود سيگنال مي‌باشد.
مقدار TL و TN به نوع ميكروفن و خطاي كواتيزيشن بستگي دارد. مي‌توان به طور حدودي و در نظر گرفت.
 
پيدا كردن اولين و آخرين فريم واكه‌دار
مكان شروع اولين فريم واكه‌دار صحبت ورودي و مكان آخرين فريم واكه‌دار صحبت ورودي به عنوان مبنا براي جستجو مشخص مي‌شوند.
براي مشخص كردن واكه دار بودن يا نبودن فريم به جستجوي دامنه در زمان مي‌پردازيم. اولين فريمي‌كه داراي N قله بالاي حد آستانه TA باشد به عنوان اولين فريم voice ورودي شناخته خواهد شد. مقدار N به طور تجربي بدست مي‌آيد.
بنابراين مقدار
به عنوان اولين فريم واكه‌دار بدست مي‌آيد.
مقدار آستانه براي دامنه (TA) به طور تجربي از طريق فرمول زير بدست مي‌آيد.
كه در آن
و يك ثابت است كه به طور تجربي بدست مي‌آيد.
همان طريق كه گفته شد، الگوريتم مشابهي در حوزة زمان با چك كردن دامنه به صورت معكوس از آخرين فريم شروع به پردازش مي‌كند و اولين فريمي‌كه واكه‌دار بود به عنوان معلوم مي‌شود.
تفاضل بين بايد از حد يك آستانه بيشتر باشد تا مشخص شود سيگنالي وجود داشته است و يا حداقل سيگنال موجود داراي معنا مي‌باشد. اين مقدار حدود ms20 مي‌باشد.
در غير اين صورت الگوريتم تشخيص خط مي‌دهد.
 
مكان ناحية داراي سطح انرژي پائيني
در ابتداي سيگنال يك محدودة كم انرژي قرار داده مي‌شود كه فرض مي‌شود، نقطه شروع در آنجا قرار دارد.
همچنين در انتهاي سيگنال ورودي يك محدوده كم انرژي قرار داده مي‌شود، كه فرض مي‌شود نقطه انتهايي درون آن قرار دارد. در محدودة اين نقاط، الگوريتم جستجو براي پيدا كردن نقاط نهايي شروع و پايان سيگنال صحبت بسيار سريع‌تر عمل خواهد كرد.
يك فريم 80ms از نقطه ابتدايي اوليه به سمت عقب برگردانده مي‌شود، و منحني انرژي سيگنال را رسم مي‌كند. اين مقادير انرژي با دو مقدار آستانه جهت پيدا كردن نواحي كم انرژي مقايسه خواهند شد.
نتايج تحليلي براي نواحي از طريق فرمول زير بدست مي‌آيد.
مقادير به طور تجربي پيدا خواهند شد.
شكل (2) مقادير ، و زمانهاي ، را نشان مي‌دهد.
در انتهاي سيگنال ورودي يك فريم 80ms در نقطه انتهايي اوليه به سمت جلو حركت داده مي‌شود و منحني انرژي سيگنال رسم خواهد شد. اين مقادير انرژي با دو مقدار آستانه جهت پيدا كردن نواحي كم انرژي مقايسه خواهد شد.
 
، يك مقادير انرژي هستند كه به طور تجربي بدست مي‌آيند.
قابل توجه است كه مقادير اترژي آستانه انتهايي بيشتر از نقطه اوليه مي‌باشد. اين به دليل اين است كه ناحيه انتهايي سيگنال صحبت داراي محدودة نويز تنفس است.
 
مرحله 4 پيدا كردن نقطة انتهايي و ابتدايي
در محدودة نواحي كم انرژي كه در بخش قبل حدس زده شد، نقطه واقعي ابتدايي و انتهايي جستجو خواهد شد. در بين محدودة ، سيگنال به پنجره‌هايي بدون همپوشاني با طول ms30 تقسيم شده و مقادير انرژي براي آن محاسبه خواهد شد.
نقطه شروع واقعي سيگنال، متناسب است با ميزان ماكزييم مقدار منحني انرژي. فرمول تحليلي جهت پيدا كردن نقطة ابتدايي به شرح ذيل است.
به همان روش، نقاط بين ، جهت پيدا كردن نقطه انتهايي جستجو خواهند شد.
 
پياده سازي الگوريتم‌ها
هر دو الگوريتم فوق پياده سازي شده‌اند. الگوريتم نهايي كه جهت بكارگيري در سيستم پياده سازي شد، مخلوطي از دو الگوريتم فوق مي‌باشد.
در الگوريتم نهايي، روش پيدا كردن انرژي نويز و تخمين مقدار آن مانند روش دوم مي‌باشد، و جهت پيدا كردن مقادير آستانه از اين مقدار طبق روابط الگوريتم اول استفاده خواهيم كرد. براي پيدا كردن حد آستانه تعداد عبور از صفر از رابطة
 
استفاده مي‌كنيم.
دليل عدم استفاده از ساختار كلي الگوريتم دوم و پياده سازي الگوريتم اول، وابستگي بسيار شديد الگوريتم دوم به پارامترهاي تجربي بود. همان طور كه در الگوريتم دوم مشاهده مي‌كنيم، ما در اين الگوريتم داراي حدود 7 پارامتر هستيم كه به طور تجربي و به روش آزمايش و خطا بدست مي‌آيد. ولي در الگوريتم اول تنها يك پارامتر است كه به روش تجربي بدست مي‌آيد.
همچنين الگوريتم دوم شديداً وابسته به طول پنجره است و براي پيدا كردن طول پنجرة بهينه بايد تمام مقادير پارامترها را تغيير داد.
بنابراين پس از پياده سازي روش‌هاي فوق تصميم گرفته شد از ايده‌هاي الگوريتم دوم در جهت پياده سازي الگوريتم اول استفاده كنيم.
با پياده سازي الگوريتم اول نتايج خوبي بدست آورديم. البته در اين مرحله آزادي عمل در انتخاب طول پنجره وجود داشت و همچنين بازشناسي گفتار وجود نداشت. بنابراين در اين مرحلة هدف فقط جداسازي سيگنال صحبت در زمينه بوده كه به خوبي انجام پذيرفت.
استخراج ضرائب كپزرم
مدل فيلتر منبع كه در فصل اول در مورد مسير صوتي انسان معرفي كرديم بيان مي‌كند، سيگنال صوت حاصل ضرب يك سيگنال تحريك و يك فيلتر خطي در فضاي فركانسي مي‌باشد.
كه در اين صورت بايد خلاص طيف قدرت يك فريم از سيگنال صوت را بتواند نشان دهد. همچنين نيز بتواند بخوبي جزئيات سيگنال تحريك را نشان دهد.
با يك نگاه دقيق به معادلة (1) مي‌توان فهميد كه از طريق تبديل ضرب به جمع و سپس فيلتر كردن نتيجه مي‌توان توابع ، را بدست آورد. براي تبديل ضرب به جمع مي‌توان از خواص لگاريتم استفاده نمود.
براي بيشتر فعاليت‌هاي مربوط به صوت نا بخش حقيقي دامنه را احتياج داريم پس معادلة را مي‌توان بصورت نوشت.
به صورت خيلي آرام تغيير مي‌كند و داراي دو مؤلفه فركانس بالا و يك مؤلفه فركانس پائين مي‌باشد. بنابراين با يك تبديل ديگر مي‌توان اين مؤلفه‌ها را به صورت طبيعي از هم جدا نمود به راحتي مي‌توان را بدست آورد. به اين روند، تحليل كپستروم مي‌گويند.
 
همان طور كه در اشكال موجود ديده مي‌شود، بيشتر جزئيات در نزديكي نقطه شروع، در اوايل سيگنال اتفاق مي‌افتد. بنابراين ضرائب مرتبة پائين داراي جزئياتي راجع به خواص فركانسي مي‌باشند. ضرايب بعدي شامل و پيكهايي هستند كه در صورت واكه‌دار بودن فريم مي‌توانند بيان‌گر فركانس گام باشند.
 
ضرائب مرتبه پائيين كپستروم نسبت به شيب طيف فركانسي حساسيت دارند، همچنين نوع پالي خروجي حنجره و تارهاي صوتي نيز روي آنها تأثير مي‌گذارد. ضرايب مرتبة بالاي كپستروم نسبت به مكان پنجره و طول آن و مقدار هم‌پوشان و ساير عوامل موقتي تأثيرپذير هستند. همچنين در تمام سيستمهاي پردازش صوت – صورت مستقل گوينده بايد تمام اطلاعات مربوط به يك گويندة خاص را از ضرائب مشخصه حذف نمود.
جهت از بين بردن تغييرات بحث شده و جداسازي ، ،‌ از يك پنجره استفاده مي‌كنيم. كه به صورت يك سينوسي عمل مي‌كند. اين پنجره مقدارهاي واقع شده در وسط پنجره را تقويت مي‌كند و مقدارهاي ابتدايي و انتهايي را كمي‌تضعيف مي‌كند.
كه در آن L طول پنجره ، يا طول مورد دلخواه ضرائب كپستروم مي‌باشد.
براي هر فريم از سيگنال صحبت مي‌توان مقدارهاي ضرائب كپستروم (معمولاً ) را استخراج نمود، و ماتريس بدست آمده را به عنوان ماتريس ضرائب ويژگي يا مشخصه آن سيگنال صحرت معرفي نمود.
محاسبة ضرايب دلتاكپترال
همانطور كه مي‌دانيم ضرائب پپيشگويي خطي و يا ضراي كپترال مربوط به يك قطعه تحليلي از سيگنال صحبت مي‌باشند و عمل استخراج اين ضرايب بدون در نظر گرفتن قطعات قبلي يا بعدي صورت مي‌گيرد. بالطبع ضرايب مشخصه بدست آمده تنها نماينده خصوصيات همان قطعه خاص از سيگنال صحبت خواهند بود.
در حقيقت سيگنال صحبت غير ايستا مي‌باشد و در نتيجه مشخصه‌هاي استخراجي بايد بازگو كنندة تغييرات ديناميك سيگنال صحبت نيز باشند.
لذا استفاده از ضرايب دلتا كپسترال پيشنهاد مي‌گردد.
در اين صورت مجموع مشخصه‌هاي K قطعه قبل و بعد از يك قطعه به همراه ضرايب كپترال همان قطعه به عنوان مشخصة آن فريم در نظر گرفته خواهد شد.
پردازش روي فريم‌هاي واكه دار:
همان طور كه در فصل اول سخن گفتيم، اختلاف انسان به دو دستة واكه دار يا بي واكه تقسيم مي‌شوند. همچنين در مورد حروف واكه دار مي‌توان گفت بعضي از آنها صدادار هستند. در فارسي داراي 1 حرف صدادار هستيم.
از آنجا كه بيشتر اطلاعات شنيداري توسط حروف صدادار منتقل خواهند شد. بنابراين اين حروف داراي اهميت زيادي هستند. از اين رو ما احتياج به شناسايي حروف صدادار در يك كلمه هستيم. علت اين امر را در بخش ارزيابي صداي گوينده بيان خواهيم كرد.
روشهاي پيدا كردن فريم واكه‌در گوناگون هستند و از پارامترهاي مختلفي مي‌توان استفاده نمود.
همچنين اطلاعات ديگري كه در اين فريم‌ها موجود است.‌ فركانس گام شخص گوينده است. دربارة نحوة استفاده از فركانسي گام بعداً صحبت خواهيم كرد.
در اين پروژه ما دو روش را جهت شناسايي فريم واكه‌دار پياده سازي كرديم. همچنين از هر دو روش فركاني گام را نيز استخراج نموديم.
روش اول، روش خود همبستگي مي‌باشد. در روش دوم از ضرايب كپستروم جهت استخراج فريم واكه‌دار و فركاني استفاده خواهد شد.
 
روش اول: استفاده از autocorrelation
تابع خود همبستگي روش ساده‌اي را براي نمايش پريود يك شكل در حوزة زمان فراهم مي‌آورد. در اين روش‌ها به بررسي روشهاي پياده سازي تشخيص واكه‌دار بودن فريم و سپس فركاني گام آن از طريق تابع خود همبستگي خواهيم پرداخت.
يكي از محدوديتهاي استفاده از تابع خود همبستگي اين است كه اطلاعات زيادي را از سيگنال در خود نگه مي‌دارد. براي جلوگيري و از بين بردن مسئله فوق بهترين راه حل اين است كه در هنگام پردازش سيگنال، ورودي را طوري جلو ببريم كه، خاصيت پريوديك بودن سيگنال بر ساير خواص و ويژگيهاي سيگنال غالب باشد.
از تكنيكهايي كه اين چنين عملياتي را روي سيگنال انجام مي‌دهند. بعنوان «صاف كنندة طيف فركانسي» ياد مي‌شود. اين تكنيكها كارشان حذف اطلاعات مربوط به فيلتر صوتي مي‌باشد. با اين كار، مي‌توان ميزان دامنة هر‌هارمونيك را به شكل همان قطار پالي پريوديكي در آورد.
روش‌هاي مختلفي براي هموار كردن طيف فركانسي وجود دارد، اما بهترين روش و ساده ترين آنها، بنام «برش مركزي» مشهور است.
در روشي كه توسط Jsondhi (نام net) ارائه شد، سيگنالي كه برش مركزي داده شده، توسط يك تابع غير خطي بدست مي‌آيد.
كه در آن در شكل نشان داده شده است.
يك قسمت از سيگنال صحبت كه مي‌خواهيم از آن براي ورودي جهت تابع خود همسبتگي استفاده كنيم در شكل نشان داده شد.
براي اين فريم، مقدار ماكزيمم دامنه Amax پيدا شده است و داراي آن مي‌توان مقدار CL را بدست آورد.
جهت پيدا كردن مقادير CL راه‌هاي مختلفي وجود دارد. مثلاً در مقاله Sondhi
مقدار CL از اين فرمول بدست مي‌آيد.
همان طور كه در شكل ديده مي‌شود،‌ مقادير نمونه‌هايي كه بيشتر از CL هستند، برابر است با مقدار ورودي منهاي مقدار سطح برش (CL)، و براي نمونه‌هايي كه پائين تر از سطح CL هستند. اين مقادير صفر مي‌باشند.
شكل خروجي سيگنال صحبت پس از انجام برش مركزي را نشان مي‌دهد.
در اين شكل مشاهده مي‌كنيد، نقاط قله تبديل به پالس‌هايي شده‌اند كه مانند پالس‌هاي حنجره عمل خواهند كرد.
در شكل تأثير برش مركزي در روي محاسبة تابع خود همبستگي نشان داده شده است. شكل (3-a
همان طور كه مشاهده مي‌كنيد در نقطه پريود فركانس گام يك قله بسيار قوي مقدار زياد در تابع خود همبستگي وجود دارد. همچنين پيكهايي وجود دارد كه مي‌توان از آنها به عنوان نوسانهاي ضعيف شده، فيلتر صوتي ياد كرد.
در شكل [3-b] مقدار سيگنال برش داده شده پس از انجام عمل با سطح معين نشان داده شده است. اين سطح برابر است با 68% ماكزيم مقدار 100 نمونة‌ اول توجه كنيد. تمام شكل موج باقي مانده پس از برش، يك سري پالس هستند كه در محدودة فركانس تمام قرار دارند. بنابراين تابع خود همبستگي موج‌ها داراي پيكهايي بمراتب كمتر از حالت قبلي است و بنابراين تصميم‌گيري بهتر خواهد بود و امكان اشتباه پائين‌تر خواهد آمد.
با نگاه به شكل مي‌توان تأثير سطح برش را مشاهده نمود. به طور خيلي واضح مي‌توان فهميد با افزايش سطح برش، تعداد نقاط قله كه از سطح برش بيشتر هستند، كاهش خواهد يافت. پالس كمتري در شكل موج خروجي ظاهر خواهد شد. بنابراين تعداد نقاط قلة كمتري در تابع خود همبستگي ظاهر خواهد شد.
اين پديده در شكل 4 نشان داده شده است كه در آن مي‌توان سطوح برش را مقادير مختلفي انتخاب نمود.
بطور خيلي واضح مشخص مي‌شود، به محض اينكه سطح برش كاهش مي‌يابد، تعداد پيكهاي بيشتري از سطح برش عبور خواهند كرد و بنابراين تابع خودهمبستگي پيچيده تر خواهد شد.
اين مثالها بيان مي‌كنند براي پيدا كردن فركانس گام و يا واكه دار بودن فريم، به صورت دقيق بايد سطح برش بالا باشد. همچنين اگر سطح برش خيلي بالا باشد مشكلات زيادي به وجود خواهد آمد.
اين امكان وجود دارد كه دامنة‌ سيگنال صحبت به طور خيلي زيادي در طول فريم تغيير (به طور مثال در ابتدا يا انتهاي سيگنال صحبت واكه‌دار) كند. بنابراين اگر ميزان سطح برش بر اساس بيشترين مقدار فريم، معين شود، اين امكان وجود دارد كه قسمتهاي زيادي از سيگنال پائين سطح برش بيفتد و از بين برود.
جهت كم كردن اثر دامنه روي سطح برش، sondhi ، پيشنهاد كرد. مقدار CL حدود 30% مقدار ماكزيمم فريم باشد. اين كار يك مشكل دارد به دليل پائين بودن سطح CL امكان ايحاد خطا زياد خواهد شد. ولي باز به دليل همين پائين سطح برش،‌ امكان از بين رفتن سيگنال‌هاي ضعيف در هنگام برش كم خواهد شد.
روش ديگر براي افزايش سطح برش بدون از دست دادن اطلاعات زير،‌ اين است كه مقدار ماكزيمم را در ابتدا و انتهاي فريم بدست بياوريم. مقدار CL مي‌تواند بين 60% تا 80% مقدار مي‌نيمم اين دو مقدار باشد.
به طور كلي مراحل الگوريتم را به صورت زير خلاصه نمود:
1- پيدا كردن مقدار سطح برش با اندازه‌گيري مقدار ماكزيمم در ابتدا و انتهاي فريم
2- انجام تابع برش مركزي
3- انجام تابع خودهمبستگي
4- پيدا كردن مقدار ماكزيمم در محدودة فركانس گام
پس از پيدا كردن ماكزيمم در محدودة فركانس گام بايد تشخيص بدهيم، كه آيا فريم واكه‌دار يا خير.
در صورت واكه دار بودن فريم فركانس گام تخمين زده شده اعتبار خواهد داشت. در غير اين صورت فركانس گام معنايي ندارد.
براي تشخيص واكه دار بودن فريم از ميزان انرژي آن فريم استفاده مي‌كنيم در صورتيكه مقدار ماكزيمم پيك در محدودة فركانس گام از يك مقدار آستانه بيشتر شد، اين فريم واكه‌دار است. اين مقدار آستانه از طريق درصدي از انرژي بدست مي‌آيد.
 
از آنجا كه محدودة فركانس گام در حدود Hz500-50 مي‌باشد. براي دقت بيشتر و از بين بردن تأثير فركانسهاي‌هارمونيك در هنگام تخمين فركانس گام مي‌توان در مرحلة اول قبل از فريم بندي سيگنال را از يك فيلتر پائين گذر با پهناي باند Hz900 عبور داد.
روش دوم: استفاده از ضرائب كپستروم
در قسمتهاي قبل با نحوة استخراج ضرائب كپستروم و نحوة محاسبه آنها آشنا شديم. همان طور كه در شكل مشاهده مي‌كنيم در محدودة فركانس گام در ضرائب كپستروم يك قله وجود دارد و داراي يك مقدار ماكزيمم هستيم. البته اين اتفاق فقط براي فريم‌هاي واكه دار اتفاق مي‌افتد. در صورت واكه دار بودن فريم، يك مقدار ماكزيمم به صورت قله در فركانس گام وجود دارد. از اين خاصيت ضرائب كپستروم مي‌توان براي بدست آوردن، واكه‌دار يا بي‌واكه بودن فريم و همچنين تعيين فركانس گام استفاده نمود.
پيدا كردم فركانس گام و تعيين واكه دار بودن يا بي واكه بودن فريم بر اساس ضرائب كپستروم بسيار آسان مي‌باشد. الگوريتم بدين صورت عمل مي‌كند. پس از محاسبة ضرائب كپستروم به روش توضيح داده شده توسط FFT، مقدار ماكزيمم اين ضرائب در محدودة فركانس گام پيدا خواهد شد. اگر اين مقدار ماكزيمم از يك حد آستانه بيشتر باشد. اين فريم، يك فريم واكه‌دار است و نقطه ماكزيمم، يك تخمين خوبي از فركانس گام را مي‌دهد.
در غير اين صورت فريم مذكور بي واكه مي‌باشد. به طور معمول اندازة فريم‌ها براي محاسبة كپستروم حدود مي‌باشد كه در اين صورت پارامترهاي تحريك زياد عوض نخواهند شد.
ممكن است در مرحلة اول اين فكر به ذهن خطور كند كه روش فوق روش بسيار ساده و دقيقي خواهد بود. ولي هميشه مسأله پيدا كردن فريم واكه‌دار به اين راحتي نخواهد بود.
وجود يك نقطه ماكزيمم قوي در محدودة ms3 تا ms2 از ضرائب كپستروم بيان‌گر واكه دار بودن فريم است، اما عدم وجود اين مقدار يا پائين بودن اين مقدار به معني بي‌واكه بودن فريم همواره نمي‌باشد. بدليل اينكه وجود نقطه ماكزيمم در محدودة فركانس گام به عوامل زيادي بستگي دارد، كه شامل مقدار فركانسهاي فرمنت و همچنين طول پنجره م يباشد.
به دليل استفاده از پنجرة Hamming و داشتن هم‌پوشاني بين فريم يا، طول پنجره و نقطة قرار گرفتن آن، تأثير زيادي در دامنة قلة موجود در محدوده فركانس گام دارد.
براي مثال فرض كنيد، مقدار طول پنجره از اندازة دو پريود كمتر باشد، بنابراين نمي‌توان انتظار وجود هيچ نقطة ماكزيمم را در تابع خود همبستگي داشت. بنابراين طول پنجره را همواره طوري تعيين مي‌كنند كه بتوانند حداقل دو پريود از فركانس گام را در خود جاي دهد. براي فركانس‌هاي گام يك پنجره حدوداً ms40 لازم است.
اما همان طور كه قبلاً گفتيم جهت ثابت نگه داشتن خاصيت سيگنال صحبت در پنجره، طول پنجره بايد تا آنجا كه امان دارد كوچك باشد. با افزايش طول پنجره مقدار تغييرات سيگنال صحبت از ابتدا تا انتهاي فريم زياد خواهد شد ممكن است ديگر نتوان آن توسط مدل نمايش داد.
يكي از راههاي بهينه كردن طول پنجره، قرار دادن طول پنجره به اندازة پريود فركانس گام آخرين فريم واكه‌دار قبلي مي‌باشد.
پياده سازي الگوريتم‌ها
در مورد پياده سازي روش اول نكته قابل اهميت ميزان CL مي‌باشد. جهت پيدا كردن مقدار بهينه، ابتدا سعي شد فريمها به صورت دسته به واكه‌دار و بي واكه تقسيم شوند. سپس به كمك مقدار CL سعي شد. تعدا فريمهايي كه واكه‌دار بودن داربست شناخته شدند را به ماكزيمم برسانيم.
از طرفي تعداد فريمهايي كه به طور اشتباه تعيين شده بودند را كمتر مي‌نماييم. بدين ترتيب مقدار بهينه CL را بدست آوريم. پارامتر ديگري كه در پياده سازي الگوريتم فوق مؤثر است.
پيدا كردن يك مقدار آستانه خوب براي انرژي جهت جدا كردن فريم واكه‌دار از بي واكه مي‌باشد.
براي پيدا كردن اين مقدار به صورت تجربي عمل كرده و مقدار بهينه را بدست آوريم.
در مورد پياده سازي الگوريتم دوم، باز هم جهت پيدا كردن يك مقدار بهينه ميزان آستانه براي مقايسه با ماكزيمم پيك در محدودة فركانس گام باز هم به صورت تجربي عمل كرده و اين مقدار را بهينه بدست آورديم.
در روش تجربي براي هر دو الگوريتم، صحبت جداسازي فريم واكه‌دار را به كمك چشم و ديدن شكل موج آن فريم و همچنين شنيدن صداي آن فريم مورد بررسي قرار داديم.
به دليلي كه گوش انسان قادر به شنيدن يك صدا در حدود ms20 نمي‌باشد. به وسيلة يك برنامه، فريم فوق را حدود s2 تكرار نموديم تا صداي آن فريم واضح و قابل شنيدن باشد. بدين ترتيب به كمك چشم و گوش و از طريق تجربي مي‌توان واكه‌دار بودن فريمها را تشخيص داد.
 
فركانس فرمنت
فركانسهاي فرمنت اول و دوم و سوم، حاوي اطلاعات زيادي در مورد اصوات صدادار هستند. بطور كلي از طريق فركانسهاي فرمنت مي‌توان حروف صدادار را بازشناسي نمود. در حقيقت، فركانس فرمنت فقط براي فريم‌هاي واكه‌دار معنا پيدا مي‌كند. البته در مورد حروف بي صدا نيز فركانس‌هاي فرمنت نيز كاربرد دارند.
ما در اين پروژه از فركانسهاي فرمنت براي بازشناسي حروف صدادار استفاده مي‌كنيم. براي اين كار ابتدا توسط الگوريتم‌هاي توضيح داده شده فريمهاي واكه‌دار را پيدا كرده و سپس فركانسهاي فرمنت را پيدا مي‌كنيم.
براي پيدا كردن فركانسهاي فرمنت دو روش را امتحان كرديم، در روش اول از حل ريشة معادلات بوجود آمده توسط ضرايب LPC استفاده كرده و فركانسهاي فرمنت را پيدا نموديم. در روش دوم از طريق جستجوي نقاط ماكزيمم در روي طيف فركانسي و بدست آوردن فركانسهاي نظير آن نقاط به اين امر پرداختيم.
استخراج فركانس فرمنت از طريق حل ريشه‌هاي LPC
در پردازش صوت، فركانسهاي فرمنت، فركانس رزوناس فيلتر صوتي هستند. تخمين مكان و پهناي باند فركانس فرمنت كاربرد زيادي دارد.
رايج ترين تكنيك براي استخراج فركانس فرمنت استفاده از ضرايب فيلتر بدست آمده از تحليل LPC يك فريم صوتي مي‌باشد. وقتي چند جمله‌اي پپيشگويي كننده بدست آمد. فركاني فرمنت را از دو طريق مي‌توان بدست آورد. اول از طريق جستجو نقطه ماكزيمم (peak picking) در روي منحني پاسخ فركانسي فيلتر، دوم – حل معادله كه در آن هر زوج مختلط كه ريشه‌هاي معادله هستند جهت پيدا كردن فركانس فرمنت و مقداري پهناي باند آن استفاده خواهد شد.
تعدادي از منابع معتبر در پردازش صوت ، روش تبديل يك ريشه مختلط – همراه فركانس نمونه‌برداري به فركانس فرمنت و پهناي باند به طريق زير مطرح كرده‌اند.
 
با فرض اينكه چند جمله‌اي كد كننده به مانند يك فيلتر درجه دوم مقام قطب باشد فركانس فرمنت و پهناي باند آن از طريق بدست مي‌آيد.
 
آناليز پيشگويي خطي (LPC)
آناليز LPC روي قطعاتي از سيگنال صحبت انجام مي‌گردد. اساس LPC بر پيشگويي خطي است. در مدل پيشگويي خطي، فرض مي‌گردد كه سيگنال صحبت يك فرايند بازگشتي است.
در رابطه ، توليد شده توسط مدل، سيگنال تحريك، پارامترهاي پيشگويي و P مرتبه پيشگوكننده مي‌باشد. در اين عبارت، G پارامتر بهره مي‌باشد كه جهت انطباق انرژي صحبت توليد شده با صحبت اوليه بكار مي‌رود. در حوزه Z ، تابع تبديل فيلتر LPC بصورت زير تعريف مي‌گردد.
و A(z)، فيلتر پيشگويي مي‌باشد.
 
و نيز برابر است با
 
در تحليل LPC صحبت، پارامترهاي مربوط به هر دو مدل تحريك و مدل توليد صحبت توسط سيگنال ورودي تخمين زده مي‌شود. رابطه (4. 2) نشان مي‌دهد، تبديلات مربوط به تابع تبديل فيلتر مدل توليد صحبت و مدل تحريك در يكديگر ضرب مي‌شوند. از ديدگاه حوزه فركانس، اين بدان معني است كه مدل توليد صحبت اطلاعات مربوط به پوش طيف و مدل تحريك نيز اطلاعات مربوط به جزئيات طيف صحبت را در اختيار ما مي‌گذارد.
مدل توليد صحبت
در آناليز LPC، مدل توليد صحبت توسط يك فيلتر تمام قطب H(z) نمايش داده مي‌شود. بدليل آنكه صحبت يك فرآيند متغير با زمان است. H(z) بايد يك فيلتر متغير با زمان باشد كه ضرايب آن با زمان تغيير مي‌كنند. و بدليل آنكه صوت توليد شده توسط مدل صحبت داراي تغييرات ملايمي‌است، مي‌توان صحبت را فرايند اتفاقي در نظر گرفت كه خصوصيات آن به كندي تغيير مي‌يابند. اين فرض باعث مي‌شود كه از فرضيه اساسي ايستايي زمان – كوتاه در تحليل LPC استفاده گردد. اين فرضيه بيان مي‌دارد كه سيگنال صحبت را مي‌توان در داخل يك پنجره به طول L كه L بقدر كافي كوچك باشد، ايستا تصور نمود. اين فرضيه امكان مدل كردن صحبت، توسط يك سري فيلترهاي ثابت H(z)، كه ضرايب آنها در داخل پنجره ثابت باشد را فراهم مي‌نمايد. ضرايب A(Z) ، يعني به ازاي با تحليل پيشگويي خطي سيگنال صحبت حاصل مي‌شود. از طرق مختلفي مي‌توان به تحليل پيشگويي خطي نگريست، يكي از آموزنده ترين اين مدلها شكل 3-2 مي‌باشد.
با توجه به اين شكل كه تخميني از سيگنال صحبت مي‌باشد توسط پيشگوي خطي A(Z) و سيگنال صحبت ورودي S[n] حاصل مي‌گردد. با كم كردن سيگنال حاصل از سيگنال صحبت اوليه، e[n] سيگنال خطا، كه سيگنال مانده پيشگويي خوانده مي‌شود حاصل مي‌گردد. سيگنال خطا را مي‌توان با فيلتر معكوس زير بدست آورد.
ضرايب پيشگو بطور تقريبي با كمينه كردن انرژي مانده پيشگويي، E،
حاصل مي‌گردد. در اين عبارت e[n] خروجي فيلتر معكوس است.
 
روشهاي متفاوتي جهت بدست آوردن ضرايب پيشگو وجود دارد از جمله مشهورترين اين روشها، روش همبستگي و روش كواريانس است كه هر دو از تكنيكهاي پايه در حوزه زمان مي‌باشند و بر اساس معيار كمترين مجذور عمل مي‌نمايند.
 
روش همبستگي
در روش همبستگي، يك پنجره متحرك، صحبت را به قطعاتي تقسيم مي‌نمايد. اين فرايند در شكل 4-2 نشان داده شده است. در هر محل از پنجره، معمولاً قسمتي به طول 10 تا 30 ميلي ثانيه از سيگنال صحبت جدا مي‌گردد تا يك قطعه تحليلي از سيگنال ايجاد گردد. طول سيگنال حاصل نامحدود مي‌باشد ولي در هر جا به غير از محل پنجره صفر خواهد بود. پس امكان محاسبه تابع همبستگي صحيح براي تمام سيگنال وجود دارد. i  امين قطعه تحليلي بصورت زير بدست مي‌آيد.
 
امين پنجره تحليلي مي‌باشد.
I فاصله بين هر دو قطعه تحليلي است. همبستگي قطعه تحليلي بصورت زير تعريف مي‌گردد.
تابع پنجره w[n] ، بگونه‌اي انتخاب مي‌شود كه داراي كاهش تدريجي در لبه‌ها باشد (مانند پنجره همينگ) طول پنجره، L، در نظر گرفته مي‌شود.
كمينه نمودن متوسط انرژي مانده، معادله نرمال ماتريسي بدست خواهد داد.
كه بردار ضرايب LPC مي‌باشند، و R ماتريس ضرايب همبستگي مي‌باشد.
 
و ماتريس R، ماتريس توپليتز متقارن مي‌باشد كه مي‌توان آنرا بطور كارا توسط الگوريتم داربين حل نمود. اين الگوريتم بازگشتي مي‌باشد و از ساختار توپليتز ماتريس R جهت حل كاراي ضرايب LPC استفاده مي‌نمايد. اين الگوريتم را مي‌توان در مجموعه معادلات زير خلاصه نمود.
معادلات ( ) تا () بطور بازگشتي براي حل مي‌گردد. ضرايب براي داراي اطلاعاتي مشابه با ضرايب LPC مي‌باشند و ضرايب انعكاسي يا ضرايب همبستگي جزئي ناميده مي‌شوند. همانطور كه در شكل 5-2 نشان داده شده، امكان پياده سازي مستقيم فيلتر مدل توليد صحبت با عبارات پاركور وجود دارد.
كميت انرژي خطاي پيشگويي با پيشگويي مرتبه i مي‌باشد. از طرفي يك كميت مثبت است. معادله (5. 13. 2) نشان مي‌دهد كه تمامي‌ضرايب پاركو داراي مقدار كمتر از يك مي‌باشند. يعني،
از آنجايي كه فيلتر مدل توليد صحبت بازگشتي است، پايداري يك مسئله مهم است. واضح است كه شرط معادله (14. 2) شرط لازم و كافي براي پايداري فيلتر مدل توليد صحبت مي‌باشد.
روش كوواريانس
در روش كواواريانس سيگنال صحبت به تنهايي توسط پنجره تقسيم نمي‌گردد. بلكه دنباله خطاي پيشگويي e[n] (شكل 3-2) توسط پنجره تقسيم مي‌گردد و انرژي آن كمينه مي‌شود. بنابراين كميت تعريف شده
متناظر با ضرايب پيشگويي كمينه مي‌گردد. نتايج كمينه سازي توسط تساوي ماتريس زير بيان مي‌گردد.
كه بردار ضراي پيشگو مي‌باشد و ماتريس متفاوتي است كه بصورت زير تعريف مي‌شود.
و بدليل اينكه يك ماتريس توپليتز نمي‌باشد، نمي‌تواند بصورت كارايي همانند معادلات نرمال در روش همبستگي حل گردد، ولي نسبتاً معادلات كارايي جهت حل معادلات متقارن وجود دارند.
مقايسه روش‌هاي همبستگي و كوواريانس
هر دو روش همبستگي و كوواريانس مجموعه ضرايب پيشگوي مربوط به فيلتر مدل توليد صحبت را توليد مي‌كنند، و هر دو نيز داراي الگوريتم‌هاي كارايي مي‌باشند. تفاوت اصلي دو روش در طريقه اعمال پنجره بر روي سيگنال صحبت مي‌باشد. در روش همبستگي، ابتدا پنجره روي سيگنال صحبت اعمال مي‌گردد و سپس تخمين زمان كوتاه (همراه با كمي‌تغيير) از صحبت اوليه صورت مي‌گيرد. بنابراين ابتدا همبستگي واقعي محاسبه مي‌گردد و سپس ضرايب بهينه LPC از اين قطعه صحبت تغيير يافته محاسبه مي‌گردد. از لحاظ رياضي، اين يك فرايند مهارشدني است، كه تضمين مي‌كند فيلترهاي توليد صحبت، خوش رفتار (پايدار) باشند. در كل، روش همبستگي از كارايي خوبي برخوردار است.
از طرف ديگر، روش كوواريانس، بطور مستقيم پنجره را بر روي سيگنال صحبت اعمال نمي‌كند لذا تغيير و يا انحرافي در سيگنال صحبت قبل از شروع پردازش ايجاد نمي‌گردد. بلكه در اين روش پنجره بر روي خط اعمال مي‌شود. اين روش بطور بالقوه كارايي بالايي را بايد بدست آورد زيرا پردازش بر روي سيگنال تغيير يافته صورت نمي‌گيرد ولي اعمال پنجره روي سيگنال تغيير يافته صورت نمي‌گيرد ولي اعمال پنجره روي سيگنال خطا، خود مي‌تواند انحراف و تغييرات جزئي ناخواسته‌اي ايجاد كند. لذا ممكن است فيلترهاي توليد شده براي مدل توليد صحبت، ناپايدار باشند.
مرتبه پيشگو
از آنجايي كه انرژي مانده با هر بار تكرار الگوريتم بازگشتي داربين كاهش مي‌يابد پس انرژي خطاي پيشگويي با افزايش قطبهاي فيلتر، يعني P، كاهش خواهد يافت و مقدار محاسبات لازم نيز افزايش مي‌يابد، لذا ايجاد تعادل بين اين دو معيار ضروري مي‌باشد. يك راه جهت تعيين P تعريف يك حد آستانه مانند است بطوريكه
مقدار بايد بگونه‌اي تعيين گردد كه پس از برقرار گشتن شرط رابطه (18. 2)، تغييرات خطا محسوس نباشد. در اينصورت P=pيك انتخاب خوب خواهد بود. در صحبت، از دو قطب (يك زوج قطب) براي هر فرمنت استفاده مي‌شود. سيگنال صحبت داراي صفر نيز مي‌باشد. اما تأثير چنداني ندارد لذا معمولاً در تابع تبديل مدل توليد صحبت از آن صرفنظر مي‌شود. در عمل، براي صحبت در محدوده KHZ8، از پيشگوهايي با مرتبه بين 10 تا 16 استفاده مي‌گردد.
كوانتيزاسيون برداري
در فصلهاي قبل در مورد چگونگي محاسبه پارامترهاي كپسترال و دلتا كپسترال بحث نموديم. از مزيتهاي مهم استفاده از اين پارامترها به عنوان مشخصه يك قطعه تحليلي، علاوه بر حساسيت كم پارامترها نسبت به تغييرات ناخواسته، فشرده سازي اطالعات نيز مي‌باشد. بعنوان مثال اگر يك قطعه تحليلي شامل 240 نمونه و طول بردار مشخصه نيز 24 باشد (تشكيل يافته از 12 پارامتر كپسترال و 12 دلتا پارامتر كپسترال) آنگاه حجم فشرده سازي اطالعات به نسبت يك به ده خواهد بود.
هر چند كه اين مقدار از فشرده سازي جهت بسياري از روشهاي درك صحبت مناسب مي‌باشد اما براي روشهاي آماري همچون مدل ماركف مخفي (HMM) كه مستلزم تخمين تابع چگالي احتمال مي‌باشد منجر به افزايش هزينه محاسبات در مرحله يادگيري و تشخيص مي‌شود. لذا جهت كاهش هزينه محاسبات، مي‌توان بجاي استفاده از بردار مشخصه با مقادير پيوسته پارامترهاي كپسترال و دلتا كپسترال، از بردار مشخصه با مقادير گسسته اين پارامترها استفاده نمود كه در نتيجه هزينه محاسبه تابع چگالي احتمال را به محاسبه احتمال هر يك از بردارهاي گسسته كاهش خواهد داد.
از طرفي كوانتيزه نمودن جداگانه هر يك از پارامترها، راه حل خوبي نخواهد بود. زيرا كه اگر تعداد متوسط نقاط كوانتيزاسيون براي هر پارامتر را هشت نقطه فرض مي‌كنيم تعداد كل بردارهاي كوانتيزه به 824 خواهد رسيد. استفاده از اين تعداد بردار، مشكلاتي را به وجود خواهد آورد. اولين مشكل مربوط به حجم حافظه مورد نياز مي‌باشد و دوم اينكه احتمال وقوع بعضي از بردارها صفر خواهد بود. جهت غلبه بر اين مشكلات، كوانيزاسيون برداري پيشنهاد مي‌گردد. در كوانتيزاسيون برداري، بجاي كوانتيزه نمودن مجزاي‌هاي عنصر از بردار، تمامي‌عناصر بردار با هم و در يك زمان كوانتيزه مي‌گردند. عبارت بهتر بجاي انتخاب نقاط كوانتيزاسيون در فضاي يك بعدي و يافتن نقاط متناظر با عناصر حاصله از كوانتيزاسيون در فضاي n بعدي (براي بردار مشخصه با n عنصر)، از همان بدو امر،‌ نقاط كوانتيزه از فضاي n بعدي انتخاب مي‌گردند. روشهاي متعددي جهت انجام كوانتيزاسيون برداري وجود دارد. از ميان روشهاي موجود، روش LBC را بر مي‌گزينيم.
روشهاي متعددي جهت انجام عمليات كوانتيزاسيون برداري وجود دارند. ولي آنچه كه در تمامي‌اين روشها مشترك مي‌باشد، يافتن نقاط كوانتيزاسيون توسط يك مجموعه داده آموزشي مي‌باشد. اين عمل با حداقل نمودن خطاي كونتيزاسيون به ازاي بردار ورودي متعلق به مجموعه آموزش و بردار كوانتيزه مربوط به آن صورت مي‌گيرد. خطاي كوانتيزاسيون را مي‌توان فاصله اقليدسي بين دو بردار Y و X تعريف نمود.
از ميان روشهاي موجود، از روش LBG در اين پروژه استفاده شده است. اين روش سعي در يافتن L بردار كوانتيزه بهينه دارد. اگر از ميان تمام مجموعه‌هاي L تايي از بردارهاي كوانتيزه بتوان مجموعه‌اي يافت كه خطاي حاصل از كوانتيزاسيون مجموعه بردارهاي آموزشي توسط آن حداقل باشد آنگاه L بردار مجموعه مذكور بهينه خواهد بود. در عمل جهت يافتن L بردار كوانتيزه بهينه از مقدار متوسط خطاي كوانتيزاسيون استفاده مي‌شود اگر تعداد بردارهاي آموزشي به اندازه كافي باشد مي‌توان اميد داشت كه حداقل نمودن متوسط خطاي كوانتيزاسيون، معادل با حداقل نمودن خطاي كوانتيزاسيون باشد. جهت رسيدن به يك مجموعه L تايي از بردارهاي كوانتيزه بهينه، كه داراي حداقل متوسط خطاي كوانتيزاسيون، باشد بايد از دو شرط لازم زير استفاده نمود:
1- كوانتيزاه كننده برداري كه حداقل خطاي كوانتيزاسيون را دارد بعنوان بردار كوانتيزاسيون استفاده گردد.
2- كوانتيزه كننده برداري انتخاب شده جهت يك زير مجموعه از مجموعه بردارهاي آموزشي بايد داراي حداقل متوسط اعوجاج باشد. بعنوان مثال اگر كوانتيزه كننده برداري منتخب براي زير مجموعه باشد و از فاصله اقليدسي بعنوان معيار اعوجاج استفاده شود آنگاه از رابطه زير حاصل مي‌گردد.
نماد نشان دهنده تعداد اعضاي زير مجموعه مي‌باشد.
الگوريتم LBG بر اساس دو شرط مذكور طراحي شده است. مراحل اين الگوريتم بصورت زير مي‌باشد.
الگوريتم LBG
1- بطور تصادفي و يا با يك روش مناسب مقادير اوليه بردارهاي كوانتيزه را تعيين نماييد.
2- مجموعه بردارهاي آموزشي را با توجه به شرط اول به زير مجموعه‌هاي تقسيم نماييد.
3- ، با توجه به شرط دوم، بردارهاي كوانتيزه جديد را بدست آوريد.
4- اگر نسبت مقدار متوسط خطاي حاصل از مرحله m به مرحله m-1 كمتر از يك حد آستانه از پيش تعيين شده بود، آنگاه الگوريتم خاتمه يافته است در غير اينصورت الگوريتم را از مرحله 2 تكرار كنيد.
كاهش مقدار متوسط خطا در هر بار تكرار الگوريتم امري واضح است زيرا با شروع مجدد الگوريتم از مرحله دوم، بردارهاي مجموعه آموزشي بگونه‌اي در زير مجموعه‌هاي متناظر با هر بردار كوانتيزه جابجا مي‌گردند كه حداقل خطا را داشته باشند. با اين تقسيم‌بندي جديد، خطاي كوانتيزاسيون حاصل از بردار موجود در مجموعه آموزشي يا تغيير نمي‌كند و يا اينكه كاهش مي‌يابد در نتيجه مقدار متوسط خطا نيز متناظر با خطاي كوانتيزاسيون تغيير خواهد يافت. با اجراي مرحله سوم نيز بردارهاي كوانتيزه مربوط به هر زير مجموعه، برابر متوسط بردارهاي آن زير مجموعه قرار داده مي‌شود كه در نتيجه باعث حداقل شدن خطا در آن زير مجموعه و بدنبال آن باعث حداقل شدن متوسط خطا خواهد گرديد. اگرچه الگوريتم LBG يك الگوريتم موفق جهت انجام كوانتيزاسيون‌برداري مي‌باشد ولي بايد توجه داشت كه اين الگوريتم مانند تمام الگوريتم‌هاي جستجوي محلي، تنها قادر به يافتن بهينه محلي مي‌باشد و قابليت جستجوي كلي و يافتن بهينه مطلق را ندارد.


 

فصل سوم: انحراف پوياي زماني (Dynamic time warpping)
مقدمه:
بازشناسي گفتار به صورت خودكار داراي جنبه‌هاي كاربردي فراواني است و سالها روي آن تحقيق شده است. يك روش شناخته شده خوب در حوزة بازشناسي گفتار بر مبناي اين اصل كار مي‌كند كه براي هر كلمه يك يا دو الگوي اكوستيكي ذخيره مي‌شود. روند بازشناسي گفتار به اين صورت است كه صداي ورودي با الگوهاي از پيش ذخيره شده، تطبيق داده مي‌شود، الگويي كه داراي كمترين فاصلة اندازه‌گيري شده با صداي ورودي باشد به عنوان كلمة تشخيص داده شده، معين مي‌گردد. يك الگوريتم كه براي پيدا كردن بهترين تطابق، يا همان كوچكترين فاصله بكار مي‌رود انحراف پوياي زماني مي‌باشد. اين الگوريتم بر مبناي برنامه ريزي پويا كار مي‌كند.
هدف اين فصل معرفي الگوريتم انحراف پوياي زماني، ويژگي‌ها و انواع آن مي‌باشد.
صوت يك پديدة وابسته به زمان مي‌باشد. ممكن است چندين كلمه بيان شده توسط يك نفر يا نفرات مختلف طول‌هاي مختلفي داشته باشند و گفتارهاي مربوط به يك كلمه با طول مساوي ممكن است در وسط كلمه با هم فرق كنند كه اين به دليل تلفظ بخشهاي مختلف كلمه با سرعت‌هاي متفاوت مي‌باشد.
براي بدست آوردن فاصلة نهايي بين دو الگوي صحبت (كه هر كدام شامل يك رشته بردار ويژگي مي‌باشند)، بايد هم ترازي زماني صورت پذيرد.
- هم ترازي‌سازي زماني و نرماليزاسيون
دو الگوي X و Y را در نظر بگيريد، كه هر كدام از اين الگوها شامل بردارهاي و مي‌باشند كه در آن نشان دهندة پارامترهاي زمان كوتاه اكوستيكي صوت مي‌باشند. در اين جا ماتريس ويژگي هيچ تفاوتي نمي‌كند، و مي‌تواند هر مشخصة طيف فركانسي از سيگنال صحبت باشد.
ما از و براي نشان دادن انديكي مربوط به زمان X و Y استفاده مي‌كنيم. نيازي به دانستن نمي‌باشد. عدم تشابه بين X و Y توسط تابع اندازه‌گيري اعوجاج طيف يك فريم زمان كوتاه مدت بيان مي‌شود.
اين تابع را با نشان مي‌دهيم كه براي سادگي به صوت بيان مي‌كنيم.
كه در آن مي‌باشد.
شايد، ساده ترين روش براي حل مسأله هم تراز سازي زماني و نرماليزاسيون، بكار بردن روش نرماليزاسيون خطي باشد. در نرماليزاسيون خطي، عدم تشابه و اختلاف بين X و Y به صورت زير به سادگي بيان مي‌شود.
(به دليل اينكه و هر دو عدد صحيح هستند بايد عمليات round-off صورت پذيرد)
عمليات جمع مي‌تواند از تا صورت بپذيرد كه اين بستگي به جهت دلخواه در نرماليزاسيون دارد. در رابطة بالا ما از d براي نشان دادن تابع اعوجاج بين دو جملة طيف فركانسي استفاده نموديم.
نرماليزاسيون خطي، الزاماً فرض مي‌كنيد تغييرات نرخ گفتن متناسب است با زمان و طول كلمه، و از خود صوت مستقل است. بنابراين براي اندازه‌گيري اعوجاج، فقط تفاوت بين نقاطي كه روي خط راست قطري مستطيل قرار دارند محاسبه خواهد شد. (شكل ). هر نقطه روي قطر مستطيل بيان گر d(ix,iy) مي‌باشد كه اين مقدار فاصلة طيفي بين X و Y در آن فريم بيان مي‌كند.
مدل بيان شده در هم ترازسازي بين دو الگو زياد واقعي نمي‌باشد، و براي الگوهاي دلخواه جهت نرماليزاسيون و هم ترازسازي بايد راههاي واقعي تري را جستجو نمود.
يك راه عمومي‌تر هم ترازسازي زماني و نرماليزاسيون استفاده از دو تابع انحراف دهنده ، كه هر كدام از آنها به ترتيب مي‌توانند انديكس دو الگوي صوتي ix، iy را به يك محور زماني نرمال k نسبت دهند.
مقدار نهايي عدم تشابه (X,Y) مي‌تواند بر اساس تابع انحراف دهنده بيان شود. اين تابع حاصل جمع اعوجاج در كل كلمه مي‌باشد.
كه در آن دوباره بيان كننده ميزان اعوجاج زمان كوتاه طيف ، مي‌باشد. m(k) يك عدد مثبت كه نشان دهندة ضرايب وزن دهي در مسير مي‌باشد و فاكتور نرماليزه كنندة مسير است. در شكل [1] به طور كلي نرماليزاسيون زماني نشان داده شده است شكل [1-b] نشان دهندة‌ مسيري است كه در آن مقدار d(x,y) محاسبه شده است.
نقاط روي محور افقي در شكل [1-a] نشان دهندة ميزان k هستند كه از 1 شروع مي‌شود و تا T افزايش مي‌يابد، در اينجا مقدار نرمال شده طول كلمه مي‌باشد.
در شكل [1-a] مقدارهاي ix و iy به عنوان تابعي از مقدار k در واحد زمان نشان داده شده‌اند.
براي كامل كردن مفهوم ميزان عدم تشابه بين دو الگوي (x,y) ، ما بايد مفهوم راه را كه در معادلة (1) نشان داده بيان كنيم. مي‌توان گفت تعداد زيادي تابع انحراف دهنده وجود دارد.
اما مسئله مهم در اينجا اين است كه كدام مسير را انتخاب نمود كه بتوان ميزان عدم تشابه را در كل مسير با يك دقت خوبي اندازه‌گيري كرد.
يك راه ساده و خوب ، تعريف كردن ميزان عدم تشابه d(x,y) بر مبناي كوچكترين مقدار در بين مسيرهاي مختلف مي‌باشد.
كه در آن مسير بايد يك سري شرايط را دارا باشد كه دربارة آن بحث خواهد شد. بطور كلي تعريف معادلة (2) وقتي درست خواهد بود كه X و Y هر دو يك كلمه باشند. به خاطر اينكه انتخاب بهترين مسير، يعني كم كردن ميزان اعوجاج عدم تشابه در طول مسيريكه هم ترازسازي زماني شده است مي‌باشد. اين كار جهت از بين بردن تأثير نرخ سرعت گفتار گوينده‌هاي مختلف مي‌باشد.
نكته اساسي در پيدا كردن بهترين هم ترازسازي بين دو الگو اين است كه اين كار برابر است با پيدا كردن بهترين مسير در بين grid mapping بردارهاي مشخصة اكوستيكي الگوي اول با بردارهاي مشخصه اكوستيكي الگوي دوم مي‌باشد. براي پيدا كردن اين مسير، بايد مسأله محاسبة كمترين عدم تشابه بين دو الگوي صحبت را حل نمود.
شكل معادلة اول بيان مي‌كند كه در آن ميزان اعوجاج در هر فريم جمع خواهد شد. بيان مي‌كند، كه يك راه حل خوب براي مسأله پيدا كردن كمترين اعوجاج مي‌باشد.
مروري بر Dynamic programing
DP يكي از پركاربردترين ابزارها براي فعاليتهاي جستجو جهت حل مسائل تصميم‌گيري ترتيبي مي‌باشد. براي نشان دادن قابليت‌هاي آن در تشخيص گفتار و علي الخصوص در مسأله هم ترازسازي زماني و نرماليزاسيون، ما دربارة دو مسأله مهم كه الگوريتم DP از آن استفاده مي‌كند بحث خواهيم كرد.
اولين مسأله، مسأله پيدا كردن مسير بهينه مي‌باشد كه بدين صورت مي‌توان آن را بيان كرد. N نقطه را در نظر بگيريد. براي هر دو نقطه يك عدد مثبت بنام وجود دارد كه بيان كننده ميزان هزينه حركت از نقطه به نقطه در يك مرحله مي‌باشد. مسأله در اينجا پيدا كردن كمترين هزينه براي رشته‌اي از حركات از نقطه به نقطه است. در اينجا محدوديت مرحله وجود ندارد. در شكل (3) اين مسأله نشان داده شده است.
بدليل اينكه در اين نوع مسأله تعداد حركات گفته نشده و محدوديتي در تعداد مراحل وجودندارد. ما اين نوع مسأله را مسأله تصميم آسنكرون ترتيبي مي‌ناميم.
در اينجا مسأله اين است كه كدام روش باعث پيدا كردان كمترين هزينه در حركت از نقطه به نقطه خواهد شد. اصول اوليه بهينه سازي كه بر مبناي الگوريتم‌هاي محاسباتي براي بهينه كردن مسائل فوق مي‌باشد، مطابق با گفته‌هاي Bellman خواهد بود.
اصول بهينه كردن داراي ويژگي است كه مي‌گويد، مهم نيست حالت اوليه كجا است و تصميم‌ها براي حركت چيست. اما تصميمات باقي مانده و بعدي بايد با توجه به حالت و تصميم اوليه با تشكيل حالت بهينه را بدهند.
براي اينكه اصول Bellman را به صورت يك سري معادلات قابل محاسبه براي الگوريتم نوشتن تبديل كنيم. در نظر بگيريد ما يك حركت را از نقطه به نقطه مياني در يك يا چند مرحله طي مي‌كنيم. كمترين هزينه همان طور كه تعريف شده مي‌باشد از آنجائيكه حركت از نقطه به در يك مرحله هزينة را در برخواهد داشت. مسير بهينه‌اي كه مي‌گويد از كدام نقطه مياني مي‌توان كمترين هزينه را در حركت به سمت i پيمود به صورت زير بيان خواهد شد.
براي عمومي‌كردن معادله (2) براي همة حالات و جهت داشتن يك رشتة از حركات از نقطه i به j مي‌توان معادله را به صورت زير بيان نمود:
كه در آن كمترين هزينه در حركت از نقطه i به j بدون محدوديت مراحل مي‌باشد. معادلة (3) بيان مي‌كند، هر حركت جزئي در حركت از نقطه i به j و يا هر نقطه مياني، بايد اصول بهينه بودن را رعايت كند.
براي معلوم كردن كمترين هزينه در بين مسيرهاي بين نقطه i و j بدون محدوديت مراحل، از برنامه DP ساده زير مي‌توان استفاده نمود.
 
در اينجا بهترين مسير يا مرحله حركت براي حركت از نقطه i به L مي‌باشد. تعداد ماكزيمم حركتها در مسير مي‌باشد.
مسأله دوم DP، تصميم سنكرون ترتيبي مي‌باشد كه با مدل آسنكرون در تعداد مراحل پردازش فرق مي‌كند. در اين روش براي پيدا كردن بهترين مسير در حركت از نقطه i به j محدوديت مراحل وجود دارد و بايد در تعداد معيني از مراحل مثلاً M حركت از نقطه i به j رسيد و هزينة حركت فوق را مي‌ناميم. (توجه كنيد اگر M به اندازة كافي بزرگ باشد، رشتة حركات مي‌تواند پريوديك باشد).
مفهوم الگوريتم به سادگي توسط شكل (4) قابل توضيح است. N نقطه به صورت عمودي قرار دارند و M حركت به صورت افقي در شكل كشيده شده است. چون در هر نقطه تعداد N مسير براي حركت وجوددارد بنابراين تعداد كل حركات در يك مرحله مي‌باشد. بنابراين تعداد نقاطي كه تشكيل يك مسير را مي‌دهند و نقطه i توسط M حركت به نقطه j وصل مي‌كنند مي‌باشد.
قواعد بهينه بودن مسير در اينجا نيز صادق است و مي‌تواند كاربرد داشته باشد، بعد از m حركت m<M، مسير در نقطه L به پايان مي‌رسد، كه L مي‌تواند باشد، كه مقدار هزينه حركت آن.
فرض كنيد حركت به نقطه ختم خواهد شد. بنابراين مشابه معادله (2) داريم.
معادلة 5 يك حالت بازگشتي را توصيف مي‌كند كه امكان جستجوي بهترين مسير را به صورت پيوسته و در حالت پيشرو مي‌دهد. درست است كه N مسير براي رسيدن به نقطه 1 وجود دارد. اما قانون بهينه بودن مسير بيان مي‌كند، تنها بايد بهترين مسير طبق معادلة در نظر گرفته شود.
الگوريتم مي‌تواند به صورت زير خلاصه شود.
به دليل بهينه سازي، الگوريتم فقط N مسير را دنبال مي‌كند. براي پيدا كردن هم ترازسازي و نرماليزاسيون، چون در آنها مسأله عدم تشابه الگوها مطرح است. پيدا كردن بهترين مسير طبق (3) مورد نياز مي‌باشد.
كاربردهاي تصميم‌گيري سنكرون و آسنكرون ترتيبي كاربردهاي فراواني در پردازش گفتار و تشخيص گفتار دارد.
محدوديتهاي نرماليزاسيون زماني
چند محدوديت در هنگام تابع انحراف دهنده لازم است. عدم وجود محدوديت در معادله ممكن است به تطابق غلطي بين دو كلمه كه از لحاظ معنايي شبيه هم نيستند، منجر شود. مثلاً دو كلمه “we” و “you” را در نظر بگيريد، اگر هيچ گونه محدوديتي در روي و اعمال نشود و برگشت در زمان به عقب امكان داشته باشد، ميزان عدم تشابه اندازه‌گيري شده براي اين دو كلمه مي‌تواند بسيار كوچك باشد، و مفهوم بازشناسي گفتار را دچار مشكل كند.
محدوديتهاي تابع انحراف دهنده كه براي هم ترازسازي زماني بين دو كلمه معقول و لازم به نظر مي‌آيد شامل:
محدوديت در نقطه انتهايي
يكنواخت بودن و هموار بودن مسير
پيوستگي محلي
مسير سراسري
وزن دهي شيب منحني مسير
در قسمتهاي آينده ما دربارة اين محدوديتها بحث خواهيم كرد.
محدوديتهاي نقطه انتها
وقتي كه الگوي صحبتي‌هايي كه مي‌مي‌خواهيم مقايسه كنيم كلمات مقطع باشند، معمولاً آنها داراي تعريف مشخصي از ابتدا و انتها مي‌باشند و نقاط ابتدا و انتهاي آنها معلوم است. اين نقاط طبق الگوريتم‌هاي توضيح داده شده در فصل قبل مي‌تواند بدست آيد.
براي نرماليزاسيون بنابراين محدودة كلمه معلوم است. محدوديتهاي كه براي تابع انحراف دهنده از لحاظ ابتدا و انتها وجود دارد.
ما در اينجا فرض مي‌كنيم اولين فريم صحبت به عنوان يك (1) شناخته مي‌شود. در مواقعي كه به دليل وجود نويز انتها و ابتدا را نمي‌توان بدست آورد. محدوديتهاي گفته شده در بالا بايد تغيير داده شود تا اين عدم اطمينان از مكان ابتدا و انتها در نظر گرفته شود.
شرايط يكنواختي
همان طور كه قبلاً بحث شده نحوة قرار گرفتن اطلاعات طيف فركانسي در الگوي سيگنال صحبت، از لحاظ معناي زبان‌شناسي بسيار مهم مي‌باشد. براي حفظ ترتيب قرار گرفتن فريمها كه حاوي اطلاعات مربوط به طيف هستند در هنگام عمليات نرماليزاسيون لازم است كه محدوديتهايي راجع به يكنواخت كردن مسير اعمال كنيم.
همان طور كه در شكل 2 نشان داده شده، محدوديت يكنواخت بودن مسير مي‌گويد در تمام مسيرهايي كه مقدار محاسبه مي‌شوند، هيچ مسيري نبايد وجود داشته باشد كه در آن شيب منحني آن منفي باشد. اين محدوديت باعث حذف كردن امكان بازگشت به عقب در محور زمان در هنگام عمليات انحراف دهي مي‌شود.
 
محدوديت پيوستگي محلي
در سيگنال صحبت، تنها وجود بعضي از است كه موجبات تشخيص درست كلمه را از ساير كلمات مهيا مي‌سازد. از آنجا كه هدف در نرماليزاسيون زماني پيدا كردن بهترين نقاط بين دو كلمه مي‌باشد. بنابراين نبايد اين كار منجر به حذف هيچ يك از اطلاعات صوتي شود. براي اطمينان حاصل كردن از صحبت انجام عمليات زماني و جلوگيري از بين رفتن اطلاعات، ما عموماً يك سري قوانين مربوط به محدوديتهاي پيوستگي محلي را اعمال مي‌كنيم، محدوديتهاي مربوط به پيوستگي محلي مي‌تواند اشكال مختلفي داشته باشد. يك نمونه كه توسط sakoe pchiba ارائه شد بدين فرم است.
مشخص كردن چنين محدوديتهايي اغلب بسيار پيچيده مي‌باشد، و بنابراين بسيار ساده است كه جهت مشخص كردن آنها را به شكل مقداري كه در مسير افزايش مي‌يابند، بيان كنيم.
بنابراين ما مسير را كه شامل تعدادي از حركت‌ها از نقطه مبدأ به مقصد است چنين بيان مي‌كنيم كه در آنها هر حركت توسط مقدار افزايش مختصاتي بيان شده.
در شكل ، 3 مسير ، ، نشان داده شده است كه آنها را مي‌توان بصورت
را مشخص نمود. مسير نشان داده شده در شكل را مي‌توان به صورت زير نشان داد.
براي مسيري كه از نقطه (1 و 1) شروع مي‌شود ما به آن  k=1اختصاص مي‌دهيم (طبق معادله 4.136) ما معمولاً براي نقطه شروع مقدار  p=q-1قرار مي‌دهيم.
بنابراين اگر مسير در نقطه  (Tx,Ty)پايان يابد داريم:
با استفاده از علامت گذاري بالا، مي‌توان انواع مختلف محدوديتهاي پيوستگي محلي را بسادگي تعريف نمود.
جدول تعداد زيادي از محدوديت‌هاي محلي را نشان مي‌دهد. نحوة بيان اين محدوديتهاي محلي بصورت مسيرهاي مجاز براي رسيدن به نقطه (ix,iy) مي‌باشد.
نوع محدوديتها درست مانند حالتي است كه ما در معادله بيان كرديم. (بطور خيلي واضح و ) هيچ وقت همزمان اتفاق نمي‌افتند). نوع II و III نيز اين مسأله صادق است ولي در نوع دوم و هر دو، داراي دو حركت مي‌باشند و بنابراين دو دفعه بر مقدار آنها افزوده شده. در حاليكه و در حالت يك مسير تك حركتي هستند.
ديگر محدوديتها نيز مي‌تواند به همين طريق مورد بررسي قرار گيرد، تنها يك استثناء وجود دارد و آن هم بوسيلة Itakura بيان شده و آن هم آخرين محدوديت در پائين جدول مي‌باشد كه داراي يك قانون غير معمول است كه از امكان بوجود آمدن حركت (0 و 1) و (0 و 1) جلوگيري مي‌كند.
محدوديت در مسير سراسري
به دليل وجود محدوديتهاي پيوستگي محلي، قسمتهايي از منحني (ix,iy)، از ناحيه‌اي كه مسير بهينه در آن قرار مي‌گيرد خارج خواهند و جز اين ناحيه نمي‌شوند. نقاط مجازي كه تابع انحراف دهندة بهينه مسير در آنجا قرار مي‌گيرد مي‌توان به صورت زير بيان كرد.
كه در اين معادلات L نشان دهندة انديكس مسيرهاي مجاز مي‌باشد (PL) و همچنين (TL) تعداد حركات كلي در مسير PL مي‌باشد. براي مثال در نوع ، ميزان ، براي ترتيب حركات ، ، مي‌باشد. اين پارامتر ، به ترتيب ميزان انبساط را در تابع انحراف دهنده مشخص مي‌كنند.
به طور معمول ، جدول ميزان Qmax و Qmin را براي هر نوع از محدوديتها نشان مي‌دهد.
با استفاده از مقادير ماكزيمم و مي‌نيمم انبساط مسير ما مي‌توانيم مقدار محدوديت سراسري را بطور زير تعريف كنيم:
 
معادلات(4.145)  محدودة نقاطي از صفحه (ix,iy) را نشان مي‌دهند كه مي‌توانند از نقطه (1 و 1) از طريق مسير مجاز به آنها دسترسي پيدا كرد. معادلة محدودة نقاطي از صفحه را نشان مي‌دهد كه داراي مسير مجاز به نقاط انتهايي (Tx,Ty) دارد.
شكل(4.4)  تأثير محدوديتهاي مسير سراسري را بوسيلة معادلات (4.146, 4.145)
براي حالت نشان مي‌دهد. محدودة مسيرهاي مجاز در شكل توسط خطهايي با شيب نشان داده شده. همان طور كه در معادله (4.146) و شكل 4.41 نمايش داده شده مدت زمان نقش مهمي‌در مشخص كردن نقاط مجاز دارند.
توجه كنيد اگر ، نامساوي دوم در معادله (4.146) تبديل مي‌شود به
كه وقتي با نامساوي اول معادلة (4.145) تركيب شود، به رابطة زير خواهيم رسيد.
اين محدوديت مسير سراسري يك خط راست است كه نقطه (1 و 1) را به (Tx,Ty) وصل مي‌كند، و تنها مسير مجازي است كه در شكل 4.42 نشان داده شده است، در اين حالت بدليل تفاوت بسيار زياد در طول زماني دو الگو حتي با حداكثر انبساط (2) ، تنها يك مسير ممكن خواهد شد.
يك شرايط مشابه زماني اتفاق خواهد افتا كه . در اين مدت نيز فقط نرماليزاسيون زماني خطي امكان پذير مي‌باشد. بنابراين در واقعي كه
و يا زمانيكه ، عمليات همترازسازي زماني متوقف خواهد شد، و هيچ گونه عمليات انحراف دهندگي زماني اتفاق نخواهد افتا. اين نكته بسيار مهمي‌است كه در هنگام پياده سازي بايد مورد توجه قرار گيرد.
همچنين يك محدوديت مسير سراسري نيز توسط Sakoe & chiba معرفي شد كه به قرار ذيل است.
كه در آن مقدار مجاز ماكزيمم انحراف در زمان بين دو الگو در هر فريم مي‌باشد. اين محدوديت مسير سراسري اضافه شده باعث حذف كليه مسيرهايي مي‌شود باعث فشردگي يا انبساط زياد در واحد زمان شده و همان طور كه در شكل 4.41 نشان داده شده با بريدن گوشه‌هاي منحني بطور مؤثري محدودة مجاز را كاهش مي‌دهد.
محدود كننده‌هايي شبيه به معادله (4.14a) بنام محدوديت‌هاي Rang-limiting شناخته مي‌شوند، ‌بدليل اينكه آنها ميزان قدر مطلق تفاوت در محور زمان را در هنگام انحراف دادن محدود مي‌كنند.
وزن دهي شيب منحني
وزن دهي شيب در طول مسير نيز تا امروز يك بعد ديگر مطالعاتي و تحقيقاتي در جهت بدست آوردن، مسير بهينه براي انحراف دادن مي‌باشد. همان طور كه درمعادله بيان شد،‌تابع وزن دهنده ، نقش هر فريم زمان كوتاه را در ميزان اعوجاج ،‌ نشان ميدهد. بايد ديد كلي تر (يعني تمام كلمه) تابع وزن دهي مي‌تواند طوري طراحي شود كه تأثير قابل قبولي در ميزان بازشناسي داشته باشد. اما در اندازة كوچكتر و درحالت جزئي تر ، مي‌توان مقدار وزن‌ها را بر طبق محدوديتهاي مسيرهاي توضيح داده شده معين نمود. اين توابع محلي وزن دهنده بنام توابع SIOP weighting شناخته خواهند شد. دليل اين امر آن است كه آنها معمولاً به شيب مسيرها سر و كار دارند.
با توجه به محدوديت‌هاي پيوستگي محلي،توابع وزن‌دهنده بسياري قابل تعريف هستند. روابط زير 4 نوع تابع وزن‌دهنده هستند كه توسط Chibat sakoe [20] توصيف شده‌اند.
در روابط بالا جهت مقدار دهي اوليه فرض شده كه مقدار مي‌باشد.
براي نشان دادن تأثير تابع وزن دهنده، شكل 4.43 تأثير بكار بردن 4 نوع تابع وزن دهنده را روي نوع از محدوديت‌هاي پيوستگي محلي را نشان مي‌دهد. عددي كه به هر مسير نسبت داده شده، ميزان وزن آن مسير مي‌باشد. بدليل اينكه اعوجاج بالا بيان‌گر تطابق كمتر مي‌باشد، از مقدار وزن دهنده بيشتري براي مسيرهايي كه زياد دلخواه نمي‌باشد، استفاده شده است.
همان طور كه در شكل 4.43 نشان داده شده است، براي مثال براي نوع (b) بيشتر سعي مي‌كند به صورت باياس باقي بماند تا بصورت قطري حركت كند.
توابع وزن دهندة بالا وقتي با ساير فريم‌هاي جدول 4.5 بكار برده مي‌شوند. ممكن است در بعضي از مواقع منجر به وجود آمدن وضعيت در طول مسير بشود. بعنوان مثال، با تركيب و بكار بردن تابع وزن دهنده آن با نوع دوم محدوديت پيوستگي محلي باعث ايجاد يك موقعيت بدون وزن در حركت و خواهد شد.
اين حالت‌ها در شكل 4.44 نشان داده شده است. حركت افقي در و حركت عمودي در هر كدام داراي مقدار وزن صفر خواهند بود. اين بدان معني است كه فقط اعوجاج بدست آمده از حركت قطري در معادلات 4.125 و 4.124 مورد نظر قرار خواهد گرفت. استفاده از اين نوع توابع وزن دهي موجب بوجود آمدن عدم پيوستگي در نرماليزاسيون زماني خواهد شد.
يك راه براي كم كردن اين مشكل توزيع دوباره ضرايب يا روان تر كردن وزن‌ها موقعي كه هر مقدار به طور ناگهاني در يكي مسيرها تغيير مي‌كند.
همان طور كه در شكل 4.44 نشان داده شده براي نوع دوم محدوديت پيوستگي محلي، توضيح دوباره وزن شيبها موجب تقسيم شدن مساوي وزن‌ها در طول مسير خواهد شد در حاليكه در حالت اول مشاهده مي‌كنيم وزن يك مسير، به طور ناگهاني تغيير خواهد كرد.
مجموع اعوجاج نهايي نيازمند به نرماليزاسيون كلي مي‌باشد (همان طور كه در معادله 4.124) نشان داده شده. هدف از نرماليزاسيون سراسري پيدا كردن مقدار متوسط اعوجاج در طول مسير است كه اين مقدار مستقل از طول دو الگويي است كه در حال مقايسه مي‌باشند.
مقدار فاكتور نرماليزاسيون براي يك جمله وزن دهي شده به طور معمول برابر است با مجموع مولفه‌هاي وزن دهنده هر جمله
براي تابع‌هاي وزن دهنده نوع (c) و نوع (d) مقدار و فاكتور نرماليزاسيون به صورت زير محاسبه خواهد شد.
كه اين مقادير مستقل از تابع انحراف دهنده و نوع محدوديت مي‌باشند.
براي تابع وزن دهنده شيب از نوع (a) و (b) با اين وجود مقدار فاكتور نرماليزاسيون كه توسط (4.154) توصيف شده تابعي از طول مسير مي‌باشد.
همان طور كه پيدا كردن فاكتور نرماليزاسيون براي يك تابع انحراف ساده مي‌باشد، در صورتيكه مسأله منيمم‌سازي اعوجاج در رابطة (4.125) از طريق الگوريتم DP حل شود، بسيار مشكل خواهد شد. براي حل اين مسأله از يك مقدار فاكتور نرماليزاسيون اختياري اما منطقي استفاده مي‌كنيم كه مستقل از نوع تابع انحراف دهنده باشد و الگوريتم DP بتواند به كمك آن مسير بهينه را پيدا كند.
به طور معمول براي تابع‌هاي وزن دهنده نوع و مقدار وزن دهنده شيب به صورت اختياري
قرار داده مي‌شوند.


انحراف زماني پويا (dynamic - lime warping)
در اين زمان مي‌توان نشان چگونه با از الگوريتم  DPدر حل مسأله منيمم كردن اعوجاج براي پيدا كردن ميزان عدم تشابه دو الگوي صحبت در حاليكه نرماليزاسيون زماني و هم ترازسازي انجام مي‌دهيم استفاده كرد. با وجوديكه دربارة محدوديت‌هاي پيوستگي محلي و وزن دهي شيب كه در بخش قبلي دربارة آنها سخن گفتيم بايد با الگوريتم اصلي منطبق باشند. اصول اوليه  DPو بهينه سازي بخصوص معادله (4.128)
بطور مستقيم داراي كاربرد در اين الگوريتم مي‌باشد.
بدليل محدوديت انتها ما رابطة  4.125را با كمك Tx و Ty مي‌نويسيم.
X  و Y به نقاطTX وTY ختم مي‌شوند، بطور مشابه مقدار جزئي مجموع اعوجاج در طول مسير كه نقطه (1 و 1) را به  (ix,iy)وصل مي‌كند.
كه در آن
بنابراين الگوريتم بازگشتي DP با وجود محدوديت مي‌شود.
كه در آن مقدار مجموع اعوجاج وزن دهي شده (فاصلة محلي) بين دو نقطه و نقطه مي‌باشد
كه در آن تعداد حركت‌هاي يك مسير جهت حركت در نقطه به مي‌باشد.
باعث فاكتور نرماليزاسيون را به دليل مستقل بودن از نوع تابع انحراف دهنده از الگوريتم حذف نموده ايم. در اين مرحله مي‌توان مراحل الگوريتم براي پيدا كردن بهترين مسير بين نقطه (1 و 1) و نقطه به طور زير خلاصه نمود.
مقدار دهي (1
 
بازگشتي (2
ايده الگوريتم آن است كه مرحلة بازگشتي براي تمام مسيرهايي كه از نقطه به نقطه مي‌رسد، محاسبه خواهد شد. البته در اين محاسبة محدوديتهاي مربوط به پيوستگي محلي نيز در نظر گرفته خواهد شد. تنها مقدارهايي از (ix,iy) كه مي‌توان از نقطه (1 و 1) به آنها رسيد و از آنجا به نقطه (Tx,Ty) رفت در اين محاسبه منظور خواهند شد. شكل 4.40 يك شبكه نقطه‌اي را نشان مي‌دهد كه نقاط مشخص شده در مرحلة دوم و بازگشتي محاسبه شده‌اند. در اين شكل از 2-to-1 براي گسترش و فشردگي استفاده شده و شيب منحني‌ها مي‌باشد.


فصل چهارم
استفاده از مدلهاي ماركف مخفي
در تشخيص گفتار
 
روشهاي تشخيص گفتار به سه دسته كلي تقسيم مي گردند
1-               روشهاي مبتني بر مقايسه با الگوهاي ذخيره شده
2-               روشهاي تشخيص گفتار با استفاده از شبكه هاي عصبي
3-               روشهاي آماري تشخيص گفتار
از ميان روشهاي مذكور، روش آماري تشخيص گفتار با استفاده از مدل ماركف مخفي مد نظر ما مي باشد.
از اين به بعد تنها فرايندهايي مد نظر خواهند بود كه در آنها ظرف راست رابطه (1.3) مستقل از زمان باشند. درنتيجه به تعريف احتمالات انتقال حالت        به شكل زير خواهيم رسيد.
ضرايب انتقال حالت بايد در قيود زير صدق كنند.
فرايند اتفاقي بالا را مي توان يك مدل ماركف مشاهده پذير ناميد زيرا خروجي فرايند، در هر لحظه از زمان، مجموعه اي از حالات مي باشد كه هر حال متناظر با يك پديده فيزيكي (مشاهده پذير) مي باشد. جهت درك مطلب، يك مدل ماركف سه حالته ساده از هوا را درنظر مي گيريم. فرض مي كنيم كه هواي مشاهده شده در يك روز (مثلاً هنگام ظهر)، يكي از وضعيتهاي زير باشد
حالت 1: باراني يا (برفي)
حالت 2: ابري
حالت 3: آفتابي
حال ادعا مي كنيم كه وضعيت هوا در روز t، توسط يكي از سه حالت بالا مشخص مي شود، و ماتريس احتمال انتقالات حالت A به صورت زير مي باشد
فرض مي كنيم كه وضعيت هوا در روز اول (1=t) آفتابي است. سوال ما اينست كه (مطابق با مدل) احتمال اينكه وضعيت هوا در 7 روز بعد بترتيب «آفتابي – آفتابي – باراني – باراني – آفتابي – ابري – آفتابي» باشد چيست؟ بعبارت ديگر ما دنباله مشاهدات O را بصورت        متناظر با t=1,2,,8 تعريف كرده اين و حال مي خواهيم احتمال مشاهده O را با مدل داده شده، بدست آوريم. مقدار احتمال را مي توان بصورت زير محاسبه نمود
د ر بالا ما از عبارت
 
جهت نمايش احتمالات حالت شروع استفاده نموده ايم. سؤال جال ديگري كه مي توان مطرح نمود (و با استفاده از مدل جواب گرفت) اين است كه اگر فرض كنيم مدل در يك حالت مشخص باشد، احتمال اينكه در d روز در همان حالت بماند چيست؟ اين احتمال را ميتوان با محاسبه دنباله مشاهده زير بدست آورد. يعني
كه با مدل داده شده،‌خواهيم داشت
2-3- مدل ماركف مخفي (HMM) ]21[
پيش تر، مدل ماركفي را بررسي نموديم كه در آن هر حالت مطابق با يك پديده (فيزيكي) قابل مشاهده بود. اين مدل بسيار محدود مي باشد و كاربرد وسيعي ندارد. در اينجا ما مفهوم ماركف را بگونه اي گسترش خواهيم داد كه در آن، مشاهده، خود تنابعي از حالت باشد، بعبارت ديگر، در مدل حاصله حالات مدل مشاهده نمي شود بلكه تنها يك متغير تصادفي وابسته به مشاهده مي باشند. جهت درك بهتر مدل مربوط به آزمايشات كاسه و گلوله را در زير مي آوريم.
مدل كاسه و گلوله
سيستم كاسه و گلوله در شكل زير درنظر مي گيريم
فرض كنيم كه N كاسه شيشه اي در يك اتاق وجود دارد. و درون هر كاسه تعداد زيادي گلوله رنگي با تعداد M رنگ مجزا براي گلوله ها وجود داشته باشد. فرآيند فيزيكي با يم فرآيند تصادفي، يك كاسه را انتخاب مي كند. و از آن كاسه گلوله اي بطور تصادفي برمي دارد. كاسه هاي بعدي نيز طبق فرآيند انتخاب تصادفي مربوط به كاسه فعلي انتخاب مي شوند، و فرآيند انتخاب گلوله نيز براي هر كدام در آن كاسه ها تكرار مي شود. در آخر، اين قرآيند منجر به توليد يك دنباله محدود مشاهده از رنگها خواهد شد. واضح است كه يك مدل HMM ساده و متناظر با فرآيند كاسه و گلوله مدليست كه در آن هر حالت متناظر با يك كاسه مشخص، و هر مشاهخده (رنگ گلوله) تابع احتمالي از آن حالت باشد.
1-2-3- اجزاي يك HMM
مثال بالا به ما يك ايده خوبي در مورد چيستي HMM  و چگونگي كاربرد آن داد. حال عناصر يك HMM، و چگونگي توليد دنباله مشاهدات توسط مدل را بررسي مي كنيم.
هر HMM توسط صفات ذيل مشخص مي گردد
1)     N، تعداد حالات مدل. اگرچه حالات مدل مخفي هستند، ولي اغلب در بيشتر كاربردهاي عملي، شي يا پديده فيزيكي مهمي را به حالت يا مجموعه اي از حالتها منسوب مي كنند. در مدل كاسه و گلوله، حالتها متناظر با كاسه ها بودند. معمولاً حالتها بگونه اي به يكديگر متصلند كه از هر حالت بتوان به حالت ديگري رفت. كل حالات منحصر بفرد را بصورت عناصر يك مجموعه S={S1,S2,S3,...,SN} و حالت در زمان t را بصورت qt نمايش مي دهيم.
2)     M، تعداد نمادهاي مشاهده منحصر بفرد براي هر حالت. نمادهاي مشاهدات متناظر با خروجي فيزيكي سيستم مدل مي شوند. در آزمايش مربوط به كاسه و گلوله، نمادها، رنگ گلوله هاي انتخابي از كاسه ها بودند. نمادهاي منحصر بفرد را بصورت عناصر يك مجموعه V={V1,V2,...,VM} نمايش مي دهيم.
3)     توزيع احتمال انتقال حالت را بصورت ماتريس A={aij} نمايش مي دهيم كه در آن   مي باشد. در حالت خاص وقتي كه بتوان از هر حالت در يك قدم به حالت ديگر رسيد، بايد به ازاي تمام I,j ها         باشد. در ساير حالات به ازاي بعضي زوجهاي (I,j)    مي تواند صفر باشد.
4)            توزيع احتمال مشاهده نماد در حالت j را بصورت ماتريس B={bj(k)+} نمايش مي دهيم كه در آن
5)            توزيع حالت شروع را بصورت مجموعه      نمايش مي دهيم كه در آ“
با داشنتن مقداير مناسبN، M، A،‌ B و           مي توان از HMM بعنوان يك مولد جهت بدست آوردن دنباله مشاهده
(كه در آن هر مشاهده    يك نماد از V است، و T تعداد مشاهدات درون دنباله مي باشد) استفاده نمود. الگوريتم زير را درنظر مي گيريم
1) يك حالت شروع مانند      متناظر با        توزيع حالت شروع انتخاب كنيد.
2) t را برابر 1 قرار دهيد.
3) متناظر با توزيع احتمال مشاهده نماد در حالت I يعني      را برابر با مقداردهي كنيد.
4) متناظر با توزيع احتمال انتقال براي حالت   يعني   به حالت جديد   برويد.
5) t را برابر t+1قرار داده و در صورتيكه t<T مي باشد به مرحله 3 برويد، در غير اينصورت الگوريتم پايان يافته است.
از الگوريتم بالا مي توان بعنوان يك مولد مشاهدات و همچنين بعنوان يك مدل جهت درك چگونگي توليد يك دنباله مشاهده، توسط HMM مناسب استفاده نمود. همانطور كه ديديم جهت تعيين كامل يك HMM، لازمست كه دو پارامتر مدل (N,M) نمادهاي مشاهده و مقادير توزيع احتمالي ,B,A تعيين شوند. جهت سادگي، از نمايش اختصاري           جهت نمايش كامل مجموعه پارامتر مدل استفاده مي شود.
2-2-3- سه مسئله اساسي در HMM
براي اينكه يك HMM، در كاربردهاي دنياي واقعي مفيد واقع شود بايد بتوان سه مسئله مهم را حل نمود. اين مسائل بترتيب عبارتند از
مسئله 1: دنباله مشاهدات      و مدل مفروضات مسئله مي باشندؤ مطلوبست احتمال توليد مشاهدات توسط مدل، يعني
مسئله 2: دنباله مشاهدات      و مدل مفروضات مسئله مي باشند، مطلوبست دنباله حالتهايي كه بصورت بهينه مشاهدان را توليد كنند؟
مسئله 3: باز هم مفروضات مسئله دنباله مشاهدات  و مدل مي باشد، مطلوبست نحوه تطبيق و تغيير پارامترهاي مدل، بگونه اي كه      ماكزيمم گردد؟
مسئله 1 در حقيقت مسئله ارزيابي است، يعني يك مدل و دنباله اي از مشاهدات داريم، چگونه بايد احتمال توليد دنباله مشاهده توسط مدل را محاسبه نماييم. مسئله 1 از ديدگاه امتحان مدل جهت درجه تطابق مدل با دنباله مشاهده نيز مهم است، زيرا از اين طريق مي توان از بين چندين مدل، بهترين مدل كه بيشترين تطابق با مشاهدات را دارد بدست آورد.
مسئله 2 در حقيقت مسئله آشكارسازي مي باشد، زيرا سعي در يافتن قسمت مخفي مدل را دارد يعني يافتن حالت صحيح. واضح است كه تمامي مدلهاي غيرمولد دنباله مشاهده نمي توانند و نبايد دنباله حالت صحيح يافته شده را در خود داشته باشند. بنابراين بايد با توجه به كاربرد، بهترين ضابطه ممكن را جهت حل اين مسئله برگزيند.
مسئله 3، مسئله يادگيري مي باشد، يعني سعي بر اين است كه با بهينه كردن پارامترهاي مدل بتوان توصيف دقيقتري از دنباله مشاهده ارائه داد. دنباله مشاهداتي كه جهت تطبيق پارامترهاي مدل بكار مي روند دنباله هاي آموزشي نام دارند زيرا جهت آموزش HMM استفاده مي شوند.
جهت درك بهتر، يك سيستم تشخيص صحبت با كلمات منفرد را درنظر مي گيريم. قصد داريم كه براي هر كلمه از w كلمه موجود در فرهنگ لغات، يك مدل HMM مجزاي N حالته بسازيم. سيگنال صحبت مربوط به هر كلمه را بصورت دنباله زماني از بردارهاي طيف كد شده نمايش مي دهيم. فرض مي كنيم كه عمل كد توسط يك كتاب كد طيف با M بردار طيف منحصر بفرد صورت گيرد، لذا هر مشاهده شاخصي از نزديكترين بردار طيف (در محدوده طيف) به سيگنال صحبت مبدا خواهد بود. بنابراين، براي هر كلمه از فرهنگ لغات، يك دنباله آموزشي داريم كه شامل يك تعداد تكرار از دنباله هاي شاخصهاي كتاب كد مربوط به آن كلمه مي باشد (كه توسط يك يا چند گوينده بيان شده است). اولين عمل ساختن مدلهاي منحصر بفرد كلمه مي باشد. اين عمل با استفاده از حل مسئله 3، يعني محاسبه بهينه پارامترهاي مدل براي هر مدل كلمه امكان پذير است. جهت فهم بيشتر معناي فيزيكي حالتهاي مدل، با استفاده از حل مسئله 2 دنباله هاي آموزشي كلمه را به حالتها مي شكنيم و سپس صفات هر بردار طيف كه منجر به وقوع يك مشاهده در يك حالت شده است را بررسي مي كنيم. هدف در اينجا بهبود بخشيدن مدل است (بعنوان مثال، افزايش تعداد حالات،‌استفاده از كتابهاي كد با اندازه هاي متفاوت و ...) بگونه اي كه بتوان قابليت مول كردن دنباله هاي كلمه ادا شده را بالا برد. بالاخره، وقتي كه مجموعه wتايي HMM طراحي و بهينه سازي شد و مورد مطالعه قرار گرفت، تشخيص يك كلمه ناشناخته با استفاده از حل مسئله 1 بدين صورت انجام مي گيرد كه امتياز هر مدل كلمه، براي دنباله مشاهده آزمايش مي شود، و سپس كلمه اي كه مدل آن بالاترين امتياز (بيشترين شباهت) را دارا است انتخاب مي گردد.
در فصل بعد به حل سه مسئله اساسي HMM خواهيم پرداخت و خواهيم ديد كه اين سه مسئله اساسي در چهارچوب احتمالات كاملا به يكديگر وابسته مي باشند.
1-2-2-3- حل مسئله 1
مطلوب ما در اينجا محاسبه احتمال دنباله مشاهده    بشرط مدل داده شده مي باشد، يعني،   . ساده ترين راهي كه بنظر مي رسد درنظر گرفتن تمام حالات بطول T (تعداد مشاهدات) مي باشد. ابتدا يك مسير معين مانند Q را در نظر مي گيريم.
كه در آن ، حاللت شروع مي باشدذ. احتمال مشاهده دنباله O بشرط دنباله حالت Q بصورت زير محاسبه مي گردد.
توجه داشته باشيم كه در محاسبه عبارت (3.14.1) ما مشاهدات را مستقل از يكديگر فرض كرده ايم. لذا خواهيم داشت
احتمال وقوع دنباله حالت Q بشرط مدل بصورت زير خواهد بود
احتمال وقوع O و Q هم زمان، ضرب دو عبارت بالا خواهد بود
احتمال دنباله مشاهده O بشرط مدل عبارآزمون از جمع بالا به ازاي تمام Qهاي ممكن، يعني
با كمي دقت درخواهيم يافت كه محاسبات (18. 3) از نوع محاسبات با درجه مي باشد زيرا به ازاي هر حالت جهت انتخاب وجود دارد (بعلارت ديگر تعداد دنباله حالت ممكن N مي باشد) و جهت هر دنباله حالت ممكن 2T محاسبه لازم است. (بطور دقيق،    ضرب و       جمع لازم است). پس با توجه به حجم محاسبات زياد، عملا پياده سازي روش مستقيم، غيرممكن است حتي به ازاي مقدار كوچك N و T، بعنوان مثال براي N=5 (تعداد حالات) و T=100 (تعداد مشاهدات)، تعداد محاسبات لازم مي باشد. واضح است كه بايد يك روند بهينه جهت حل مسئله 1 يافت. خوشبختانه اين الگوريتم وجود دارد و نام آن الگوريتم پيشرو- پسرو مي باشد.
1-1-2-2-3- الگوريتم پيشرو – پسرو
متغير پيشروي    را بصورت زير تعريف مي كنيم.
كه در واقع، احتمال قسمتي از دنباله مشاهده يعني    (تا زمان t) و بودن در حالت I در زمان t بشرط مدل مفروض   مي باشد. مي توانيم    را با روش استقرايي، بصورت زير حل نمود.
1)مقدار دهي اوليه
3)استقرا
3)پايان
مرحله 1 و 3 كاملاً واضح مي باشندذ و براي اينكه درستي مرحله 2 را نيز تحقيق كنيم، با توجه به شكل 4-3- مي توان روابط زير را نوشت
شكل3-3. تعداد حالات موجود در زمانt جهت انتقال به حالت در زمانt+1
شكل 3-3 نشان مي دهد كه از N حالت ممكن   در زمان t مي توان به حالت   در زمان t+1 رسيد. از طرفي ، احتمال وقوع مشاهدات     و بودن در وضعيت   در زمان t  مي باشد پس حاصلضرب   احتمال وقوع مشاهدات    و رسيدن به حالت   در زمان t+1 از طريق   در زمان t مي باشد. اگر حاصلضرب بالا را به ازاي تمامي N حالت ممكن   محاسبه نموده و با هم جمع كنيم، نتيجه احتمال بودن در حالت   به ازاي ديدن مشاهدات   مي باشد. كه اگر اين مقدار را با احتمال وقوع مشاهده   در حالت   يعني   ضرب كنيم،    بدست خواهد آمد. عبارت (3.21) به ازاي تمام حالاتj، در زمان مفروض t محاسبه مي شوند كه اين محاسبه بايد به ازاي   تكرار گردد. در نهايت، در مرحله 3،‌ از جمع متغيرهاي پاياني پيشرو   بدست مي آيد كه تعريف    بصورت زير خواهد بود
مقدار محاسبات لازم جهت بدست آوردن    كه    از درجه   خواهد بود كه در مقايسه با خيلي كمتر مي باشد (بطور دقيق، N(N+1)(T-1)+N ضرب و N(N-1)(T-1) جمع لازم است) پس براي N=5 و T=100 حدود 3000 محاسبه در روش پيشرو لازم است كه در مقايسه با روش مستقيم كه    محاسبه لازم داشت توان مقدار محاسبات حدود 69 بار كوچكتر مي گردد.
شكل 4-3. پياده سازي محاسبات   بصورت عبارتي از مشاهدات t، و حالات I از تورواره.
از طريق ساختار تو.رواره اي شكل 4-3 نيز مي توان عمل محاسبه احتمال متغير پيشرو را انجام داد. نكته اصلي در اين است كه در اينجا فقط N حالت (گره هاي موجود در شبكه در هر قطعه زماني) موجود است، ولي مي توان تمام دنباله حالتها را با تركيب اين N گره موجود ساخت و بزرگي طول دنباله مشاهده نيز مهم نخواهد بود. در زمان t=I (اولين قطعه زماني)، بايد مقدار         محسبه گردد. در زمانهاي t=2,3,...,T تنها بايد مقادير محاسبه گردد. جهت عمليات محاسبه، فقط به N مقدار قبلي يعني    احتياج مي باشد. زيرا در هر گره از شبكه در يك قطعه زماني به N گره موجود در قطعه زماني قبل متصل مي باشد. بطريق مشابه، مي توان متغير پسرو   ، كه در حل مسئله 3 بكار مي رود را تعريف نمود.
بعبارت ديگر، احتمال قسمتي از دنباله مشاهده در زمان t-1 تا به انتها، بشرط بودن در حالت i در زمان t و مدل   . دوباره از روش استقرا جهت حل   كمك مي گيريم.
1)                 مقداردهي اوليه
3) استقرار
بررسي درستي روابط را دنبال نخواهيم كرد ولي در اينجا نيز جهت محاسبه   به محاسبات از درجه    نياز مي باشد كه مي تواند از روي ساختار شبكه اي مانند شكل 4-3 بدست آورد.
2-2-2-3- حل مسئله 2
برخلاف مسئله 1، كه تنها يك راه حل داشت، در اينجا چند روش جهت حل مسئله 2 وجود دارد. لذا بايد حل بهينه را جهت يافتن دنباله حالت متناظر با دنباله مشاهده مفروض پيدا كرد مشكل در تعريف دنباله حالت بهينه مي باشد، يعني چندين ضابطه بهينگي مي توان تعريف نمود. بعنوان مثال، يك ضابطه بهينگي مي تواند انتخاب حالتهاي اي باشد كه بصورت منحصر بفرد بيشترين شباهت را دارند. اين ضابطه بهينگي مقدار ميانگين حالتهاي منحصر بفرد صحيح را بيشينه مي كند. جهت پياده سازي اين حل براي مسئله 2، متغير زير را تعريف مي كنيم.
كه عبارتست از، احتمال بودن در حالت   در زمان t با شرط مفروض بودن دنباله مشاهده O و مدل .  معادله (28. 3) را مي توان بصورت عباراتي از متغيرهاي پيشرو – پسرو بيان نمود.
با استفاده از    مي توانيم حالتن   در زمان t كه بصورت منحصر بفرد بيشترين شباهت را داراست بصورت زير بدست آورد.
اگرچه معادله مقدار متوسط حالتهاي صحيح را بيشينه مي كند (با انتخاب حالت با بيشترين شباهت در هر زمان t)، اما ممكن است مشكلاتي در دنباله حالت نتيجه وجود داشته باشد. بعنوان مثال، هنگامي كه در HMM بعضي از انتقال حالتها داراي احتمال صفر باشند ( به ازاي بعضي از iوjها، صفر باشد) ممكن است دنباله حالت بهينه، دنباله حالت معتبري نباشد. اين مشكل از اينجا نشات ميگيرد كه معادله (30. 3) شبيه ترين حالت در هر لحظه از زمان را انتخاب مي كند و احتمال وقوع حالتهاي دنباله در اين معادله درنظر گرفته نشده است.
يك طريقه حل اين مشكل مي تواند تغيير ضابطه بهينگي باشد. بعنوان مثال، ضابطه بهينگي مي تواند بيشينه كردن مقدار متوسط حالتهاي دوتايي صحيح    و يا حالتهاي سه تايي   باشد و ... . اگرچه اين ضوابط مي تواند براي بعضي از كاربردها جوابگو باشند، اما ضابطه اي كه بهترين دنباله حالت (مسير) را بيابد بيشترين كاربد را دارد، بعبارت ديگر، ضابطه اي كه   را بيشينه كند و معادل است با بيشينه كردن     . الگوريتمي جهت يافتن بهترين دنباله حالت وجود دارد،‌كه براساس روشهاي برنامه نويسي پويا بنا نهاده شده است، نام آن الگكوريتم ويتربي[1] مي باشد.
الگوريتم ويتربي: جهت يافتن بهترين دنباله    براي دنباله مشاهده داده شده    ، لازم است كه كميت زير را تعريف نماييم.
بعبارت ديگر،   بهترين امتياز (بيشترين احتمال) در طول يك مسير منفرد مي باشد كه در زمان t، براي t مشاهده اول وجود دارد بگونه اي كه حالت پاياني   باشد. با استقرار خواهيم داشت.
براي اينكه بتوانيم دنباله حالت را بدرتي بازيابي كنيم لازم است كه به ازاي هر مقدار t، j، آرگوماني كه عبارت (22. 3) را بيشينه مي كند نگهداري كنيم. عمل نگداري را از طريق آرايه   انجام مي دهيم. بعبارت ديگر، محتواي    ، حالتي مي باشد در زمان t-1، كه بهترين مسير موجود به حالت j در زمان t را مي دهد. الگوريتم كامل جهت يافتن بهرتين دنباله حالت در زير آمده است.
1)                 مقداردهي اوليه
2)                 تكرار
3)                 پايان
4)                 برگشت به عقب از روي مسير (دنباله حالت)
ملاحظه مي شود كه الگوريتم ويتربي از لحاظ پياده سازي، عملياتي شبيه عمليات محاسبه متغير پيشرو دارد. تفاوت اصلي اين دو گرفتن بيشينه برروي حالتهاي قبلي در معادله (34. 3) بجاي عمليات جمع در معادله (22. 3) مي باشد. واضح مي باشد كه ساختار شبكه اي، كارايي بالايي در پياده سازي الگوريتم ويتربي دارد.
3-2-2-3- حل مسئله 3
سومين و مشكلترين مسئله، تعيين روشي جهت بهينه نمودن پارامترهاي HMM مي باشد. روش تحليلي و يا راه حل بهينه اي جهت تخمين پارامترهاي مدل به ازاي داده هاي آموزشي محدود وجود ندارد. با اين حال، الگوريتمهاي تكراري متعددي جهت يافتن بهينه محلي پارامترهاي مدل وجود دارد. نكته مهم در اين نوع الگوريتمها، ضابطه و يا معياري است كه بر اساس آن، پارامترهاي مدل بهينه مي گردند و يا بعبارت ديگر، مدل آموزش داده مي شود. در اين پروژه، از دو معيار بيشترين شباهت (ML) و بيشترين اطلاعات متقابل (MMI) استفاده شده است. در فصلهاي چهارم و پنجم در مورد هركدام از معيارها و نحوه آموزش توسط آنها، بتفصيل شرح خواهيم داد.
هدف از آموزش با ضابطه ML، تغيير پارامترهاي مدل، در جهت بيشينه نمودن   به ازاي مشاهده مفروض O و مدل    مي باشد. اگرچه راه حل تحليلي جهت آن وجود ندارد، ولي الگوريتمهايي نظير الگوريتم بام-ولچ و يا الگوريتم هاي مبتني بر گراديان، جهت تخمين پارامترهاي مدل بروش ML وجود دارند كه هر دو از الگوريتمهاي تكراري مي باشند. در اين فصل قصد داريم تا نحوه آموزش HMM به روش ML را با استفاده از الگوريتم
بام-ولچ شرح دهيم.
هدف از آموزش با ضابطه ML، تغيير پارامترهاي مدل،‌در جهت بيشينه نمودن به ازاي مشاهده مفروض O و مدل مي باشد. اگرچه راه تحليلي جهت آن وجود ندارد، ولي الگوريتمهايي نظير الگوريتم بام – ولچ و يا الگوريتم هاي مبتني بر گراديان، جهت تخمين پارامترهاي مدل بروش ML وجود دارند كه هر دو از الگوريتمهاي تكراري مي باشند. در اين فصل قصد داريم تا نحوه آموزش HMM به روش ML را با استفاده از الگوريتم بام – ولچ شرح دهيم.
1-4- الگوريتم بام – ولچ ]21[ و ]11[
جهت توصيف الگوريتم تكراري بهبود پارامترهاي HMM، ابتدا ، كه احتمال بودن در حالت   در زمان t و بودن در حالت   در زمان t+1، بشرط مدل و دنباله مشاهده مفروض مي باشد را تعريف مي كنيم.
كه شكل زير نيز، همين مطلب را نشان مي دهد
شكل 1-4. نمايش سلسله عمليات لازم جهت محاسبه احتمال بودن در حالت   در زمان t و حالت   در زمان t+1
با استفاده از متغيرهاي پيشرو و پسرو خواهيم داشت:
با تعريفي كه قبلاً از   داشتيم (احتمال بودن در حالت   در زمان t بشرط دنباله مشاهده و مدل) مي توان رابطه زير را بين   و   نوشت.
اگر   را برروي شاخص زمان t جمع ببنديم، كميتي بدست خواهيمن آورد كه مي توان آنرا تعداد متوسط زمانهاي مشاهده حالت   و يا معادل آن، تعداد متوسط انتقالات انجام گرفته از حالت   (البته قطعه زماني t=T را در جمع در نظر نگيريم) تفسير نمود. بطور مشابه، جمع    بروي t (از t=1 تا t=T-1) را مي توان تعداد متوسط انتقالات از حالت   به حالت   تفسير نمود. پس داريم
با استفاده از فرمولهاي بالا مي توان روشي جهت بهبود پارامترهاي HMM ارائه نمود. فرمولهاي بهبود پارامترهاي و B، A در اين روش بصورت زير خواهد بود.
اگر مدل فعلي را   بناميم و با استفاده از محاسبه طرف راست معادلات
(7. 4) مدل بهبود يافته    را بدست آوريم، رابطه زير براي مدل فعلي و مدل بهبود يافته هميشه برقرار خواهد بود.
حال اگر به اساس الگوريتم بالا، بصورت تكراري   را بدست آورده و جايگزين   نماييم و ددوبره عملياتت بهبود را تا رسيدن به يك نقطه حدي ادامه دهيم، احتمال مشاهده شدن O از روي مدل افزايش خواهد يافت. اين الگوريتم بهبود را الگوريتم بيشترين شباهت ناميده اند. بايد اين نكته را ذكر كرد كه الگوريتم پيشرو – پسرو فقط نقاط بيشينه محلي را بدست مي دهند، و در بسياري از مسائل، فضاي بهينه سازي بسيار پيچيده و داراي نقاط بيشينه محلي فراواني مي باشند. فرمولهاي بهبود (1. 7. 4) تا (2. 7. 4) را
مي توان با بيشينه كردن تابع كمكي بام
به ازاي بدست آورد. بام و همكارانش ثابت نموده اند كه بيشينه نمودن   باعث افزايش شباهت خواهد شد، يعني
در زير رابطه (10. 4) را با استفاده از تابع كمكي بام ثابت مي كنيم. فرض كنيد كه   به ازاي ماكزيمم گردد
با استفاده از رابطه كمكي بام خواهيم داشت
2-4- مسائل مربوط به پياده سازي روش ML
در اين بخش قصد داريم تا به مسائلي مربوط به پياتده سازي عملي همچون مقياس بندي، دنباله هاي مشاهده چندتايي، تخمين اوليه پارامترها و انتخاب اندازه و نوع مدل بپردازيم. براي بعضي از مسائل پياده سازي مي توان راه حلهايي تحليلي ارائه داد ولي براي بعضي ديگر تنها مي توان از تجربيات حاصل ار كار با HMM در چندين سال اخير بهره گرفت.
الف – مقياس بندي
براي اينكه بدانيم كه چرا انجام مقياس بندي در پاياده سازي اوليه آموزش HMMها ضروري است، تعريف   و فرمول شماره (19. 3) را درنظر مي گيريم. همانطور كه مي توان ديد   ، از تعداد زيادي جمع عبارت تشكيل شده، كه هر عبارت به شكل
مي باشد از طرفي a و b از يك كوچكترند (معمولاً بسيار كوچكتر از يك)، لذا مي توان انتظار داشت كه با بزرگ شدن t (بعنوان مثال 10 يا بيشتر)، هر عبارت از   برسعت بطور نمايي به صفر نزديك شود و به ازاي مقادير خيلي بزرگ t (بعنوان مثال 100 يا بيشتر) بازه ديناميك نحاسبات   از بازه دقت هر ماشيني (حتي با دقت مضاعف) فراتر خواهد رفت. لذا تنها راه انجام محاسبات، استفاده از مقياس بندي مي باشد.
در الگوريتم مقياس بندي پايه كه مورد استفاده قرار مي گيرد   را در ضريب مقياس بندي كه مستقل از i مي باشد (بعبارتي تنها به t وابسته است) ضرب مي كنيم، با اين هدف كه   تغيير يافته در بازه ديناميك به ازاي    باقي بماند. از يك الگوريتم مقياس بندي مشابه براي    ها نيز استفاده مي شود (زيرا كه    ها نيز بسرعت نمايي بسمت صفر ميل مي كنند). در پايان عمل محاسبات، ضرايب مقياس بندي را از محاسبات حذف مي نماييم. جهت درك بهتر الگوريتم مقياس بندي، معادلات مربوط به تخمين ضرايب انتقال حالت   را درنظر بگيريد. اگر معادله (7. 4) را بصورت عباراتي از متغيرهاي پيشرو – پسرو بنويسيم خواهيم داشت
محاسبات مربوط به را درنظر مي گيريم. به ازاي هر t، ابتدا را مطابق با فرمول استقرا (21. 3) محاسبه نموده، و سپس آنرا در ضريب مقياس بندي   ضرب مي نماييم.
بنابراين به ازاي يك t معين، ابتدا    را بصورت زير محاسبه مب نماييم.
سپس مجموعه    كه مقادير مقياس داده شده    مي باشد را بصورت زير بدست مي آوريم.
با استفاده از استقرا،‌   را مي توان بصورت زير نوشت
بنابراين مي توانيم    را بصورت زير بنويسيم.
بعبارتي، هر   توسط حاصلجمع برروي تمامي حالتها بطور موثري تغيير مقياس داده مي شود. سپس ما عبارات   را بصورت بازگشت به عقب محاسبه مي نماييم. تنها تفاوت در اينجا اينست كه ما از فاكتورهاي مقياس بندي مشابه اي در هر زمان t براي   ها استفاده خواهيم نمود به همان طريق كه براي ها استفاده نموديم. بنابراين   اي كه تغيير مقياس دادن شده باشد بدين شكل خواهد بود.
بنابراين هر فاكتور مقياس بندي مقدار را بصورت قابل ملاحظه اي به 1 نزديك مي كند، و از طرفي مقادير و   قابل مقايسه مي باشند. و استفاده از فاكتورهاي مشابه جهت   همانطور كه براي   ها استفاده شده اند مي تواند محاسبات را در محدوده قابل قبولي نگه دارد. لذا با توجه به متغيرهاي مقياس داده شده، معادله تخمين (14. 4) بصورت زير درخواهد آمد
اما هر   را مي توان بصورت زير نوشت
و هر   را مي توان بدين صورت نوشت
لذا معادله (21. 4) را مي توان بدين صورت نوشت
و بالاخره عبارت   از صورت و مخرج معادله بالا حذف مي شوند و ما به معادله اصلي تخمين خواهيم رسيد. واضح است كه الگوريتم مقياس بندي بالا را جهت تخمين مقادير   و B نيز مي توان بكار برد. و نيز كاملاً مشهود است كهع الگوريتم مقياس بندي معادله (16. 4) را لازم نيست در هر لحظه از زمان بكار برد بلكه بايد آنرا در مواقع مطلوب و ضروري (بعنوان مثال جهت جلوگيري از ته ريز شدن)[2] بكار برد. اگر نقياس بندي در يك لحظه t از زمان انجام نگيرد بدين معناست كه ضرايب   داراي مقدار يك مي باشند و تمامي شرايط بحث شده در بالا معتبر خواهند بود. تنها تغيير واقعي كه در روند HMM بعلت مقياس بندي رخ خواهد داد مربوط به روند محاسبه   خواهد بود. زيرا ما نمي توانيم مقادير تغيير مقياس داده شده   را جمع ببنديم. اما مي توانيم از اين خاصيت استفاده نماييم كه
بنابراين خواهيم داشت
يعني ما الگوريتم p را مي توانيم محاسبه كنيم نه خود p را، زيرا دقت لازم جهت محاسبه p از محدوده دقت هر ماشيني خارج است.
توجه داشته باشيم كه به هنگام استفاده از الگوريتم ويتربي جهت بدست اوردن دنباله حالت با بيشترين شباهت احتياجي به انجام مقياس بندي نخواهد بود اگر كه الگوريتم را به روش زير استفاده نماييم. تعريف زير را درنظر مي گيريم.
-                    مرحله مقداردهي اوليه
-                    مرحله بازگشتي
-                    مرحله پاياني
دوباره به جاي p به مقدار رسيديم ولي با محاسبات كمتر و بدون مشكل محاسباتي. (توجه داشته باشيم كه عبارات از معادله بازشگتي (31. 4) را مي توان قبلاً محاسبه نمود. بنابراين هيچ هزينه محاسباتي دربرنخواهد داشت و علاوه بر آن، عبارات نيز بهنگام استفاده از آناليز نماد مشاهده محدود (بعنوان مثال، يك كتاب كد دنباله مشاهدات) مي تواند قبلاً محاسبه گردد.
ب. دنباله هاي مشاهده چندتايي[3]
در مدل ماركف مخفي چپ به راست يا مدل بيكيس[4] پردازش حالتها از حالت 1 در t=1 تا حالت N در زمان t=T به صورت متوالي انجام مي گيرد. در روش چپ به راست مي توان يكسري محدوديتهايي روي ماتريس انتقال حالت، و احتمالات حالت اوليه اعمال نمود. اما، مشكل اصلي در مدلهاي چپ به راست اين است كه نمي توان با استفاده از فقط يك دنباله حالت مدل را آموزش داد (بعلارت ديگر، پارامترهايي مدل را تخمين زد). غلت اين امر اينست كه طبيعت ناپايدار حالتها در مدل،‌ تنها امكان تعداد مشاهدات كمي را براي هر حالت مي دهند (تا اينكه يك انتقال به حالت بعدي صورت بگيرد). لذا، براي اينكه داده كافي جهت تخميني مطمئن از همه پارامترهاي مدا داشته باشيم، مجبور به استفاده از دنباله هاي مشاهده چندتايي مي باشيم.
تغييرات رويه تخمين بسيار ساده و بصورت زير است. دنباله هاي مشاهده kتايي را بصورت زير بيان مي كنيم.
كه kامين دنباله مشاهده مي باشد. ما فرض مي كنيم كه هر دنباله مشاهده از ساير دنباله هاي مشاهده مستقل مي باشد، و هدف ما تطبيق و يا تغيير پارامترهاي مدل يعني   مي باشد بگونه اي كه باعث بيشينه شدن   با تعريف زير بشود.
از طرفي فرمولهاي تخمين براساس تعداد تكرار رخدادهاي متفاوت بود، در اينجا فرمولهاي تخمين براي دنباله هاي مشاهده چندتايي بعلت جمع بستن تعداد تكرارهاي منحصر به هر دنباله مشاهده چندتايي بعلت جمع بستن تعداد تكرارهاي منحصر به هر دنباله با يكديگر تغيير يم يابد. بنابراين فرمولهاي تخمين تغيير يافته براي   و   بصورت زير مي باشند.
و تخمين زده نمي شود زيرا =1 و =0 به ازاي    .
مقياس بندي متناسب عبارات (35. 4) و (36. 4) ساده مي باشد زيرا هر دنباله مشاهده فاكتور مقياس بندي خودش را دارا مي باشد. ايده اصلي، از بين فكتور مقياس بندي در هر عبارت قبل از جمع مي باشد. اين عمل با نوشتن معادلات تخمين بصورت عباراتي از متغيرهاي مقياس يافته ممكن است يعني
با اين راه، براي هر دنباله مشاهده ، فاكتورهاي مقياس بندي مشابه در هر عبارت جمع روي t ظاهر خواهند شد. هعمانگونه كه براي عبارت ظاهر شده است، و بنابراين مي توان آنار حذف نمود. لذا با استفاده از متغيرهاي مقياس يافته به   بدون تغيير مقياس دست خواهيم يافت. براي عبارت   تيز به همين نتيجه مشابه خواهيم رسيد.
پ. تخمين اوليه پارامترهاي HMM
در تئوري، معادلات تخمين بايد مقاديري از پارامترهاي مدل را بدست دهند كه متناظر با بيشينه محلي تابع شباهت باشد. سؤال اصلي در اينجا اين است كه تخمين اوليه پارامترهاي HMM بايد چگونه باشد تا بيشينه محلي، بيشينه عمومي تابع شباهت باشد. اساسا هيچ جواب ساده و مستقيمي جهت پاسخ به سوال بالا وجود ندارد. ولي در عوض، تجارب نشان داده اند كه تخمينهاي اوليه تصادفي (بصورت تصادفي و با محدوديت غيرصفر بودن مقدار) و يا يكنواخت پارامترهاي و A، اغلب جهت تخمين اين پارامترها مناسب بوده اند. همچنين، براي پارامترهاي B، تجربه نشان داده است كه تخمين اوليه خوب در حالت نماد گسسته[5] مفيد، و در حالت تنوزيع پيوسته ضروري مي باشد. اينچنين تخمينهاي اوليه اي مي تواند از چندين راه حاصل شود،‌مانند خوشه بندي دستي دنباله (هاي) مشاهده به حالتها با متوسط گيري مشاهداتن داخل حالتها، خوشه بندي با بيشترين شباهت براي مشاهدات با متوسط گيري، و خوشه بندي به روش k- ميانگين[6] و غيره.
5- انتخاب مدل
مسئله ديگر در پياده سازي HMM انتخاب نوع مدل، انتخاب اندازه مدل (تعداد حالتها) و انتخاب نمادهاي مشاهده (گسسته يا پيوسته، منفرد يا مختلط) مي باشد. متاسفانه هيچ روش ساده و تئوري صحيحي جهت انجام اين انتخابها وجود ندارد. اين انتخابها بايد با توجه به سيگنالي كه قرار است مدل شود انجام گيرد.
 
 


فصل 5: بازشناسي و ارزيابي نحوه بيان كلمات مقطع قرآني
در اين فصل به بررسي راه اندازي سيستم بازشناسي گفتار مقطع كلمات قرآني و همچنين چگونگي ارزيابي نحوه بيان اين كلمات خواهيم پرداخت.
فلوچارت مربوط به سيستم بازشناسي گفتار كلمات مقطع بصورت زير مي باشد.
در مرحله اول بايد سيگنال صحبت جهت عمل باشناسي آماده كنيم. اين مرحله شامل استخراج خواص اكوستيكي صحبت مي باشد. در اولين قدم سيگنال صحبت پس از پيش تاكيد توسط يك فيلتر FIR درجه اول – فريم هايي با طول ms25 – همراه ms10 هم پوشاني تقسيم شده سپس براي هر فريم مقادير انرژي و ميزان عبور صفر مربوط به آن محاسبه شده و اين مقادير – الگوريتم تشخيص ابتدا و انتهاي صحبت داده مي شود.
پس از تشخيص ابتدا و انتهاي سيگنال صحبت، در سيگنال خاصي صحبت مقدار ضرائب كپتروم استخراج خواهدد شد. جهت استخراج ضرائي كپستروم از روش FFT استفاده شده است.
پس از آن نوبت به ايتخراج پارامترهاي گذري كه حاوي اطلاعات مهمي از سيگنال هستند، به همراه ضرايب كپستروم مشتقات اول و دوم – به نحوي كه در فصل هاي گذشته شد، استخراج خواهد شد.
براي بدست‌آوردن ماتريس ويژگي و مشخصه سيگنال، اين ماتريس را بدين گونه تعريف مي كنيم.
Feature Matrix fF.M=[ceps ceps ceps]
در اين حالت تعداد شرايب كپستروم مي تواندمتغير باشد. و بسته به تعداد ضرايب كپستروم اندازة ماتريس فرق مي كند. تعداد سطرهاي ماتريس بيان گر تعداد فريم ها هستند.
پس از بدست آوردن ماتريس ضرايب، نوبت به انتخاب ابزار بازشناسي مي رسد. در بخش اول به بررسي سيستم بازشناسي گفتار بوسيلة الگوريتم DTW خواهيم پرداخت و در بخش بعدي سيستم بازشناسي گفتار HMM مورد بررسي قرار خواهد گرفت.
بازشناسي گفتار بوسيله الگوريتم DTW
پس از بدست آوردن ماتريس ضرايب مشخصه، نوبيت به بازشناسي گفتار خواهد رسيد.
فلوچارت الگوريتم شناسايي DTW بصورت زير مي باشد.
در اين مرحله تعداد ضرايب كپستروم و طول پنجره نقش مهمي در ميزان دقت سيستم خواهد داشت. همچنين در مرحلة اول براي هر كلمه يك كلمة مبنا كه صداي استاد مي باشد انتخاب شده است.
جهت تست سيستم مورد نظر از 5 فايل صوتي كه توسط افراد مختلف كلمات قرآني را ادا كرده اند استفاده كرديم. با دادن اين فايلها به سيستم و مقايسة آنها با صداي استاد،‌دقت سيستم را اندازه گيري كرديم.
همان طور كه گفتيم تعداد ضرايب كپستروم و طول پنجره و ميزان همپوشاني در تعيين نرخ بازشناسي نقش مهمي دارند. بنابراين در مرحلة دوم سعي در بالا بردن اين ضريب تا حد امكان نموديم.
جهت پيدا كردن مقادير بهينه شروع به تغيير دادن هركدام از پارامترهاي مذكور كرديم. اين كار را تا زماني ادامه مي داديم كه مطمئن مي شديم سيستم به حالت اشباع خود رسيده و بيشتر از اين ديگر توسط تغيير اين پارامتر، بهبودي در روند بازشناسي حاصل نخواهد شد.
همان طور كه مشاهده مي كنيم در مرحلة اول با تغيير تمامي پارامترها نتوانستيم بيشتر از برنامه در بازشناسي گفتار دسترسي پيدا كنيم.
پس از اين مرحله سعي در بهبود بخشيدن سيستم با تغيير در ساختار اصلي روند الگوريتم بازشناسي گفتار نموديم.
تاثير طول پنجره در كيفيت گفتار جداشده در زمينه
در فصل دوم نحوة جداسازي سيگنال صحبت از سيگنال زمينه را ديديم. همچنين در سيستم مقدماتني بازشناسي گفتار در قسمت اول سيگنال صحبت پنجره هايي با طول و هم پوشاني معين تقسيم خواهد شد.
سپس براي هر فريم و ميزان عبور از صفر آن محاسبه شده و توسط الگوريتم EPD جدا خواهد شد.
در فصل دوم هنگام پياده سازي الگوريتم فوق گفتيم كه در آنجا هيچ گونه محدوديتي در مورد طول پنجره نبوده، بنابراين در آن قسمت كه هدف صرفاً جداسازي سيگنال صحبت از روي زمينه بود، با انتخاب طول پنجره كوچكتر اين امر ميسر شد و الگوريتم به خوبي جواب داد.
اما در اين مرحله در مورد طول پنجره محدوديت وجود دارد و ديگر نمي توان آن رابه اندازة دلخواه گرفت.
به دليل اينكه مي خواهيم در اينجا فركانس Pitch را محاسبه كنيم و تقريباً فركانس Pitch داراي محدودة 6.00HZ است پس نمي توانيم طول پنجره را كوچكتر از ms25 انتخاب نمائيم. با افزايش طول پنجره مشاهده شد، كيفيت سيگنال جداشده از زمينه پائين آمد، و فسمتهايي از آن بريده شده است.
دليل اين امر اين است كه با زياد شدن طول پنجره اولاً مقدار عبور از صفر زياد مي شود و بنابراين پيدا كردن يك ميزان آستانه خوب جهت جدا كردن سيگنال صحبت از زمينه سخت مي شود.
اين مشكل بيشتر در مورد كلمات شروع مي شود كه با حروف سايشي مثل «ك، ف، ه» شروع مي شوند. بدليل اينكه ايم كلمات ماهيت نويزگونه اي دارند، داراي انرژي كمي يم باشند، پس الگوريتم انرژي قادر به شناسايي آنها در اول فريم نمي باشد.
از آنجائيكه طول پنجره زيا است ممكن است مقدار زيادي در آن سكوت قرار بگيرد. حدود 10ms اول سكوت باشد و بعد از آن سيگنال صحبت با يك حرف سايشي مثل ه، يا ف، يا ك شروع شود.
مشاهده شد در اين صورت بدليل بالا بودن ميزان عبور از صفر فريم، الگوريتم 2CR فريم را به عنوان زمينه شناخته و آن را حذف مي نمايد. بدين ترتيب مشاهده شد سيگنال صحبت استخراج شده بريده مي باشد و صداي اول آن واضح نمي باشد.
مشكل فرق در مورد بعضي از كلمات كه به حرف «م و ن» ختم مي شوند نيز صادق بود، و مشاهده مي شد، كلمات فرق در آخر كلمه دچار مشكل خواهند بود، صداي حرف آخر به خوبي شنيده نمي شد.
مشكل بعدي، اضافه شدن مقداري سكوت و زمينه در اول كلمه هنگام جداسازي بود. بازهم اين مشكل بديليل بالا بودن طول پنجره اتفاق مي افتد. يعني اگر بازهم مثلاًُ 10ms اول فريم سكوت باشد و 10ms دو يك حرف صدادار باشد بدليل بالا بودن انرژي فريم الگوريتم انرژي اين فريم را به عنوان اول سيگنال شناخته و بنابراين مقداري سكوت به اول سيگنال اضافه خواهد شد.
علاوه بر مشكلات فوق نتايج نشان مي داد كه سيستم براي پنجره هاي با طول بالا بعتر عمل مي كرد. ولي از طرفي براي برخي از كلنات دچار مشكل مي شد و هيچ گاه درست آن ها را تشخيص نمي دادد.
براي حل اين مشكل تصميم گرفتيم قسمت فريم بندي سيگنال را در دو مرحله انجام بدهيم. مرحله اول سيگنال را با طوب پنجره هاي كوچك و بدون هم پوشاني (هم پوشاني نقش زيادي ندارد)
-        فريم هايي با طول مساوي تقسيم مي كنيم. و در مرحله دوم سيگنال صحبت خالص جدا شده در زمينه را با طول پنجره هاي بزرگ تر و يا بهينه فريم بندي مي كنيم.
-        اين كار داراي دو مزيت مي باشد: اول اينكه بدليل كوچك بودن پنجره ها و بالا رفتن دقت و كوچك بودن مقدار 2CR ، دقت الگوريتم EPD فوق العاده بالا مي رود، و سيگنال جداسازي شده در زمينه هيچ مشكلي از لحاظ بريده شدن كلمات ندارد و ضمناً بدليل كوچك بودن طول پنجره ها ميزان سكون اضافه شده به اول فريم تقريباً صفر مي باشد و يا بسيار كم مي باشد.
-        مزيت دوم اين كار: تسريع در هبنه سازي طول پنجره هاست چون كه طول پنجره ها هم در دقت بازشناسي گفتار موثر است و هم در نحوة‌جداسازي سيگنال از زمينه، بنابراين بدليل مربوط بودن اين پديده به همديگر پيدا كردن طول پنجره بسيار سخت مي باشد.
با اين كار بدليل جداسازي ايزولاسيون طول پنجره ها مربوط به هر پديده در مراحل بهينه سازي خيلي راحت مي توان هر دو پارامتر را به مقدار بهسنه رسانيد.
در مرحلة بعدي كار دوباره سعي كرديم اين دو پارامتر را با روش سعي و خطا به مقدار بهينه برسانيم و اين كار را تا حدي كه سيستم به حالت اشباع خود برسد ادامه داديم.
تطابق چندالگويي [7]
تعبير خواص اكوستيكي از گوينده اي به گويندة ديگر بسيار پيچيده مي باشد. يكي از اشكالات عمده الگو، سيستمهاي تطابق الگو در همين مساله مستقل از گوينده بودن مي باشد. بنابراين ممكن است مقداري خطا در هنگام تطبيق دو كلمه مشابه كه توسط گوينده هاي متفاوت گفته باشد، بوجود آيد. در بعضي از مواقغ همين مقدار خطا بسيار سرنوشت ساز مي باشد و ممكن است باعث خطاي بازشناسي شود. مثلاً ممكن است در هنگام تطابق دو كلمه مشابه كه يك توسط يك مرد گفته شده باشد و ديگري توسط يك بچه يا زن – دليل تفاوت در ساختار صوتي اين دو بوجود آيد. البته در هنگام طراحي سيستم هاي مستقل از گوينده بايد تا حد امكان اطلاعات مربوط به گوشنده را حذف نمود، ولي باز هم جنسيت و خود گوينده در نرخ بازشناسي تاثير دارد.
يك مشكل ديگر كه در هنگام بازشناسي گفتار كلمات گفتار قرآني بوجود مي آيدؤ مساله تفاوت در تلفظ در بين افراد مختلف است. به دليل تلفظ عربي و فارسي كلمات قرآني ممكن است در هنگام بازشناسي مشكلاتي وجود آيد. بطور مثال در كلمه «بك» در هنگام تلفظ اين كلمه مي توان آن را به همان صورت فارسي بيان كرد. و يا آن را بصورت عربي و تبديل « ر » به «ي» تلفظ نمود و آن را «بيك» گفت.
در مورد كلمه «حسر» كه مي توان آن را بصورت عربي «حاسر» تلفظ نمود و يا مي توان آن را به صورت فارسي و به همان صورت خسر بيان نمود. در تمامي اين موارد كلمه بيان شده درست مي باشد و سيستم بايد قادر به شناسايي هر دو كلمه باشد. اما اگر ما به عنوان كلمة مبنا فقط يكي از اين دو كلمات را قرار دهيم، در تطابق كلمه مشابه با تلفظ متفاوت دچار مشكل خواهيم شد، و اين مشكل البته فقط در هنگام سر و كار داشتن با لغات قرآني پيش مي آيد.
يكي از دلايل پايين بودن نرخ بازشناسي گفتار در سيستم اوليه، همين مسائل فوق بود، يعني اولاً مدل بلحاظ مستقل از گوينده بودن زياد قوي نبود، ثانياً به دليل متفاوت بودن تلفظ بعضي از نمونه ها، احتمال مي رفت بدليل تفاوت آن ها با كلمة مبنا دچار خطاي بازشناسي شويم.
براي حل مشكل دو راه حل را امتحان نموديم.
روش اول: استفاده در ميانگين الگوها:
يك روش بسيار ساده براي تطابق چندالگويي استفاده از ميانگين الگوها مي باشد. اما مشكل زماني آغاز مي وشد كه اولاً طول كلمات مشابه اي توسط گوينده هاي مختلف بيان شده اند يكي نمي باشد، ثانياً هيچ دليلي براي مشابه بودن وطلاعات طيف فركانس هر فريم يك كلمه با همان فريم ساير كلمات نمي باشد. پس بنابراين عمل جمع كردن ميانگين بين هر فريم كار بسيار اشتباهي است.
جهت حل اين مشكل از روش زير استفاده كرديم فرض كنيد داراي 6 كلمه مشابه مي باشيم هركدام توسط گوينده هاي مختلف بيان شده اند و مي خواهيم يك كلمه مبنا براي آن كلمع انتخاب كنيم.
براي اين كار يكي از اين 6 الگوريتم را به عنوان مبنا درنظر مي گيريم به صورت كاملاً اختياري، سپس به مقايسه اين كلمه با 5 كلمه ديگر از طريق الگوريتم DTW مي پردازيم. يعني كلمه مبنا را با هر كدام از كلمات تطابق داده و منحني هاي انحراف دهنده آنها را براي هر يك از كلمه بدست مي آوريم.
نام تابع انحراف دهنده كلمه مبنا را R(K) و نام تابع تنحراف دهنده تست را T(K) مي ناميم.
اين توابع انحراف دهنده دو مزيت دارند: اولاً طول دو كلمه مبنا و تست يكي شده است، ثانياً ما مي توانستيم تشخيص بدهيم كه كدام فريم از كلمة مبنا با كدام فريم از كلمة تست از لحاظ خواص طيف فركانس مشابه است.
با داشتن اين اطلاعات در مورد همة كلمات سرانجام به كمك منحني هاي R(K) و T(K) خواهمي فهميد كه كدام فريم از كلمة مبنا با چه فرمهايي از ساير كلمات مشابه است. بدين ترتيب به هر دو مشكل فوق فائق آمديم و حالا مي توانيم از طريق ميانگين گيري از فريم هاي مشابه، فرم مبناي جديد را بدست بياوريم.
نكته اي كه در اينجا باقي مي ماند انتخاب خود كلمة مبنا مي باشد. مي توان كلمه را انتخاب نمود كه داراي بيشترين تنطابق با سيار كلمات باشد. اين كار را با تكرار الگوريتم DTW براي هر كلمه مبنا با سيار كلمات انجام داد. كلمه مبنايي بيشترين تطابق دارد كه مجموع خطايش با ساير كلمات مي نيمم باشد.
با پياده سازي الگوريتم و اجراي آن توسط سيستم مشاهده شد نتايج خوبي بدست نيامد.
الگوريتم پيدا كردن كلمة مناسب
روش – k – نزديك ترين همسايگي[8]
روش k- نزديكترين همسايگي دو روش ساده و خوبي در تطابق چندالگويي است. اين روش بخوبي نيازهاي ما را در مورد قوي كردن در مقابل تغييرات خواص اگوستيكي از گوينده اي به گويندة ديگر مشكل تفاوت تلفظ اين كلمه تست و مبنا را حل مي كند.
براي آشنايي با الگوريتم فرض كنيد دوباره براي يك كلمه داراي 6 صدا هستيم كه هركدام توسط افراد مختلف گفته شده اند تمامي اين 6 كلمه را به عنوان مبنا درنظر مي گيريم و كلمة تست را بوسيله الگوريتم DTW بصورت جداگانه با اين 6 كلمه مبنا مقايسه خواهيم كرد. حال ما داراي 6 عدد هستيم كه هركدام متناظر هستند ميزان عدم تشابه آن كلمه تست با كلمة مبنا مي باشد. در مرحله بعدي اين 6 عدد را به ترتيب از كوچك به بزرگ مرتب مي كنيم. در نهايت براي پيدا كردن ميزان عدم تشابه بين كلمة تست و اين شاخه[9] از مياتنگين k عنصر اولين مجموعه استفاده مي كنيم.
الگوريتم بسادگي بيان مي كند، ميزان عدم تشابه بين كلمة تست قرآن شاخه برابر است با ميانگين مقدار عدم تشابه بين كلمة تست و كلماتي كه بهترين تطابق با آن كلمه را دارند مي باشند. همان طور كه مي توان ديد كلمه اي كه بدليل تفاوت تلفظ و يا تفاوت در نوع گوينده بات كلمه تست دارا يعدم تشابه زيادي است براحتي از روند تصميم گيري در مورد تعيين ميزان عدم تشابه كلي خارج مي شود. به طور معمول مي توان k را برابر 2 يا 3 گرفت.
با پياده سازي الگوريتم نتايجح بسيار خوبي بدست آمد و نرخ بازشناسي حدود %25 افزايش يافت.
فلوچارت مربوط به الگوريتم knn
حذف DC
جهت بازشناسي گفتار آنجا كه مي شود عواملي كه باعث ايجاد تغييرات غيروابسته به خواص اگوستيكي مي شود را از ماتريس مشخصه حذف نمود.
وجود مقدار كمي DC در سيگنال باعث ايجاد مشكلاتي در زمينه بازشناسي و همچنين در نحوة جداسازي سيگنال صحبت از زمينه مي شود.
دليل خراب شدن نرخ بازشناسي به وسيلة مقدار DC وابسته بودن ضريب اول كپستروم انرژي فريم است، و ميزان انرژي فريم هر رابطه مستقيم با ميزان DC آن دارد. بنابراين براي از بين بردن تاثير DC روي ضريب كپستروم، بوسيله ميانگين گيري و پيدا كردن مقدار آن، با كم كردن مقدار DC از فريم اين مشكل را تا حدودي حل مي كنيم.
روش ديگر براي حذف DC استفاده از يك فيلتر بالاگذر مي باشد. اين فيلتر FIR بوده و داراي فرم زير مي باشد.
اين فيلتر علاوه بر حذف DC بسياري از نويزهاي فركانس پائين را حذف مي كند. تاثير ديگر مقدار DC برروي دقت جداسازي سيگنال صحبت از روي زمينه مي باشد. با بالا بودن ميزان DC سيگنال تقارن حول محور زمان براي سيگنال بهم مي خورد و ممكن است، سيگنال اصلاً به حد منفي نرسد و درنتيجه اصلاً عبور از صفر نكند. حذف DC يك فريم باعث ايجاد تقارت حول محور زمان شده و دقت اندازه گيري ميزان عبور از صفر را افزايش مي دهد.
با حذف مقدار DC طي دو مرحله ميزان نرخ بازشناسي %2 بهبود يافت.
حذف ميانگين ضرايب كپستروم
حذف مقدار ميانگين ضرايب كپستروم نشان دادن كه يك راه ساده و خوب براي از بين بردن تاثير كانال انتقال مانند تلفن ميكروفن مي باشد.
اين دو روش بدين صورت عمل مي كند كه مقدار ميانگين بردار مشخصه را براي هر گورنده بدست مي آورد. سپس اين مقدار را از تمامي بردارهاي مشخصه كم مي كند.
اين روش، روش بسيار خوبي مي باشد،‌ و بسيار مفيد براي نرماليزه كردن خواص طيفي نسبت به محيط مي باشد با انجام اين كار روند بازشناسي بسيار افزايش پيدا كرد و نرخ بازشناسي به حدود %20 رسيد.
MEI Scald-MFCC
مطالعه روي نحوه شنيدن انسان و مدل گوش نشان داتده است كه درك انسان از محتواي فركانسي يك صوت خواه بصورت يك تن تك صدا باشد يا يك سيگنال صحبت از يك مقياس خطي پيروي نمي كند.
گوش انسان بصورت غيرخطي در محور فركانس عمل مي كند و دستاوردهاي تجربي نشان مي دهد كه با طراحي يك سيستم در قسمت پيش پردازش كه مانند روش فوق در گوش عمل مي كند، كارآيي بازشناسي گفتار را بهبود مي بخشد. با مطالعاتي كه دانشمندان روي ساختمان گوش انسان انجام دادند، و به كمك چندين آزمايش، توانستند نحوة نگاشت بين مقياس فركانسي حقيقي (HZ)_ و مقياس دريافت شده گوش (Mels) را پيدا كنند، اين تابع بصورت زير عمل كند.
همان طور كه در شكل مشاهده مي كنيم مقياس MEI در محدودة زير 1KHZ به صورت خطي عمل مي كند و در محدودة بالاي 1KHZ بصورت لگاريتمي، عمل خواهد كرد.
براي شبيه سازي رفتار غيرخطي گوش در مقابل فركانسها از فيلتر استفاده مي كنيم. همان طور كه گفتيم اين فيلتر بانك در محدودة زير 1KH بصورت خطي عمل مي كند و در بالاي محدودة بصورت لگاريتمي عمل خواهد كرد.
همان طور كه در شكل ديده مي شود، درمحدودة زير lKHZ تعداد بيشتري فيلتر قرار دارد، و اين امر بيان مي كند كه بيشتر اطلاعات طيف فركانسي صورت در اين بخش محدود شده.
نوع پنجره ها در اين پياده سازي مثلثي انتخاب شد. براي بهبود كارآيي ضرايب كسپتروم از فيلتر بانك استفاده مي كنيم. به اين ترتيب كه با محاسبة مقدار FFT فريم آن را به فضاي فركانسي مي بريم و پس از آن با مقياس MEL نمونه برداري مي كنيم. و عكس تبديل فوريه مي گوييم.
با محاسبة ميزان FFT يك فريم، مقدار دانه را در هر فركانس بدست مي آوريم. سپس با ضرب كردن گين هر فيلتر و حساب كردن مجموع دانه هايي كه فركانس آن ها در محدودة آن فيلتر مي باشد. ميزان انرژي در آن فيلتر را بدست مي آوريم و بدين ترتيب با اين كارها پوشش انرژي سيگنال را در محدودة فركانس بدست آورده ايم.
سپس از طريق تبديل DCT مقدار ضرايب كپستروم را حساب مي كنيم. البته قبل از اعمال تبديل از مقادير لگاريتم گرفته و سپس تبديل را انجام مي دهيم.
كه در آن mj ميزان انرژي هر فيلتر مي باشد و N تعداد فيلترهاست
الگوريتم فوق پياده سازي شد و تاثير خوبي در نتايج بازشناسي گفتار داشت و نرخ بازشناسي را حدود %10 افزايش داد.
اين آخرين مرحله از بهبود سيستم بود و درصد بازشناسي گفتار براي 20 كلمه قرآني هركدام توسط 4 نفر گفته شد تست گرديد. اين 4 نفر از سنين مختلف بودند. در نهايت ميزان بازشناسي گفتار به دقت %99 رسيد و سيستم به حالت اشباع خود رسيد.
بازشناسي گفتار بوسيله مدل مخفي ماركوف
پياده سازي
الگوريتم سيستم Hmm بسيار پيچيده و مشكل مي باشد. بدليل حجم محاسبات بالا و سر و كار داشتن با اعداد زير 1 در بعضي از مواقع موجب Overflow شدن سريع سيستم خواهد شد.
جهت پياده سازي بايد همواره اين مساله را درنظر داشته باشيم و هموراه بايد مقياس بندي را رعايت كنيم. نكته ديگري كه در مورد پياده سازي Hmm بايد مورد توجه قرار بگيرد، مقدار واريانس مي باشد. اگر مقدار واريانس از يك حد كوچك باشد. به دليل تقسيم بر عدد صفر شدن در هنگام گرفتن دترمينال باعث ايجاد خط شود. پس حتماً بايد در هنگام بروز چنين حالتهايي مقدار احتمال را يك مقدار كوچك درنظر گرفت.
طراحي ساختار مدل مخفي ماركوف
پارامترهاي بسيار زيادي در تعريف يك مدل Hmm نقش دارند، بعلاوه بيشتر اين پارامترها بصورت برداري هستند. بنابراين بهترين راه براي توصيف يك مدل Hmm، پياده سازي آن بوسيلة ساختارها[10]Matlab به راحتي قابل تعريف است. بنابراين يك مدل Hmm را بصورت يك ساختار با چند عضو تعريف مي كنيم. مي باشد. اين نوع داده در برنامه
مقدار دهي اوليه Hmm
پس از مشخص نمودن ساختار اوليه يك مدل Hmm نوبت به مقداردهي آن مي رسد.
براي مقداردهي اوليه يك مدل Hmm به طريق زير عمل مي كنيم. ابتدا يك كلمه را از بين كلمه هايي كه براي آموزش در نظر گرفته ايم انتخاب مي نماييم. سپس ا“ را به تعداد N قسمت تقسيم مي كنيم. در اينجا N تعداد حالات مي باشد و قبل از مقداردهي بايد ميزان N و M ، مشخص باشد.
پس از تقسيم ماتريس مشخصه به N قسمت، هر كدام از قسمتها را مي توان بعنوان يك حالت در نظر گرفت كه بايد توسط M تركيب مدل شود.
در اين قسمت از بردارهايي كه همگي در يك حالت قرار گرفته اند،‌ استفاده كرده و آنها را به عنوان ديتاي ورودي به الگوريتم داده و به M، بردار جديد كوانتيزه مي كنيم. بدين ترتيب مي توان مقادير ميانگين هر حالت و تركيب را بدست آورد.
براي بدست آوردن واريانس بايد از تعداد بيشتري ديتا استفاده كرد:
مقادير ماتريس انتقال حالت را مي توان بصورت رندم مقداردهي نمود يا طبق الگوريتم زير عمل نمود.
حال براي محاسبة واريانس بايد تعداد ديتاي بيشتري داشته باشيم. 2 راه داريم: راه اول بصورت غير خطي عمل كنيم و به جاي تقسيم يك كلمه به N قسمت مثلاً 10 كلمه را به N قسمت تقسيم كنيم و سپس تمام قسمتهاي اول را به عنوان حالت اول در نظر بگيريم و همة قسمتهاي Nام را به عنوان حالت N ام.
راه دوم: استفاده از الگوريتم riterbi مي‌باشد. با استفاده از الگوريتم مي‌توان فهميد هر كدام از اعضاي ماتريس مشخصه متعلق به كدام حالت هستند. براي پيدا كردن واريانس بر طبق الگوريتم riterbi به اين صورت عمل مي‌كنيم كه با اعمال مدل اوليه كه در آن مقدارهاي واريانس يك عدد ثابت قرار داده شده بر روي كلماتي كه توسط گوينده‌هاي مختلفي بيان شده. بردارهايي از ماتريس مشخصه كه در يك حالت قرار مي‌گيرند را پيدا كرده با استفاده از الگوريتم ميزان ميانگين و واريانس را محاسبه مي‌كنيم.
تخمين بيشترين شباهت
پس از بدست آوردن مدل اوليه نوبت: بهبود و ضرايب مي‌رسد. اين كار را توسط الگوريتم Baum-welch انجام مي‌دهيم. پس از 10 الي 20 بار، تكرار الگوريتم سرانجام همگرا خواهد شد.
بازشناسي گفتار
پس از بدست آوردن مدول اوليه براي هر كلمه نوبت به مرحلة تست مي‌رسد. براي بوسيلة الگوريتم Forward مي‌توان براي هر يك از كلمات تست بدست آورد و نرخ بازشناسي گفتار را بدست آورد.
محدوديتهاي روش Hmm
بدليل طولاني بودن روند آموزش شبكه بهينه كردن پارامترهاي آن بسيار دشوار مي‌باشد. اين پارامترها مي‌تواند شامل، طول پنجره و ميزان هم‌پوشاني، تعداد ضرايب كپستروم، تعداد حالتها و تركيب‌ها و ...
كم بودن ديتاي آموزش نيز مشكل ديگري است كه باعث ضعيف شدن مدل خواهد شد. در صورتيكه نتوانيم تعداد زيادي ديتا از گوينده‌هاي مختلف جمع‌آوري كنيم. مدل از لحاظ عدم وابستگي به گوينده بسيار ضعيف خواهد شد.


بخش دوم لرزيابي نحوة بيان گفتار قرآني
در بخش دوم پس از پايان يافتن مراحل بازشناسي گفتار قرآني به بررسي الگوريتم‌هاي ارائه شده در ارزيابي نحوة بيان گفتار قرآني خواهيم پرداخت. در ارزيابي نحوة بيان گفتار قرآني، سيستم به اين صورت عمل مي‌كند كه بسته به نوع تلفظ در مورد يك كلمه يك نمره بين 0 تا 100 به آن مي‌دهد.
براي ارزيابي يك كلمه راههاي مختلفي وجود دارد. در اينجا هدف ما شناسايي تلفظ درست كلمه و اداي كلمه مانند صداي استاد مي‌باشد.
بدليل اينكه در اين مرحله كلمه مورد نظر از قبل معين مي‌باشد، احتياجي به سيستم بازشناسي گفتار نخواهد بود.
در بخش اول، ارزيابي نحوة بيان گفتار قرآني را توسط الگوريتم و تطابق دهندگي الگو بررسي كرده و در بخش دوم از مدل براي ارزيابي صدا استفاده مي‌كنيم.
ارزيابي نحوه بيان گفتار قرآني بوسيله و تطابق الگو
در بخش بازشناسي گفتار ديديم كه چگونه پارامترهاي سيستم بازشناسي به حالت بهينه رسيد. در هنگام بهينه شدن پارامترهاي سيستم، مطمئن هستيم كه اختلاف مشاهده شده بين دو الگوي صحبت در كمترين حد ممكن خواهد بود.
جهت ارزيابي نحوة تلفظ كلمات قرآني بايد صداي كاربر را با صداي استاد مقايسه كنيم. در اينجا نيز همان مطالب گفته شده در مورد هم ترازسازي و نرماليزاسيون صادق مي‌باشد. همچنين باز هم مطالبي را كه در مورد استفاده از الگوريتم KNN جهت پيدا كردن كلمة مبنا مقايسه با صداي كاربر گفتيم نيز به قوت خويش باقي است.
در قسمت اول توسط الگوريتم و پارامترهاي سيستم بهينه بازشناسي گفتار، به مقايسه صداي كاربر با صداي استاد مي‌پردازيم.
ابتدا سيگنال صحبت كاربر را به پنجره‌هايي با طول و هم‌پوشاني معين تقسيم نموده و پنجره همينگ را در آن ضرب مي‌كنيم و آن را در يك متغير ذخيره مي‌كنيم.
سپس از هر فريم ضرايب كپستروم مربوط به آن را استخراج نموده و ماتريس مشخصه را تشكيل داده و توسط الگوريتم و فاصلة اقليدسي بين هر دو فريم، طول كلمة گفته شده توسط كاربر را با صداي استاد يكي مي‌كنيم.
پس از انجام مرحلة هم ترازسازي و پيدا كردن فريمهاي معادل اكنون نوبت به مقايسه خواص طيفي دو كلمه خواهيم پرداخت.
قبل از بيان نحوة مقايسه به بررسي روشهاي مقايسه خواص طيفي دو كلمه مي‌پردازيم.
Log spectral Distance
فرض كنيد ما داراي دو طيف فركانسي ، هستيم. تفاوت بين دو طيف در مقياس لگاريتم و در محور فركانس برابر است با
يك راه ساده براي تعريف ميزان اعوجاج بين و بيان آن به صورت زير مي‌باشد.
 
كه براي حالت گسسته آن
كه در آن ، تبديل‌هاي گسسته طيف طيف فوريه مي‌باشد.
براي مقدار P=1 روابط بالا بيان كنندة مقدار متوسط قدر مطلق لگاريتم اعوجاج طيف مي‌باشد و براي P=2 اين روابط ميزان rms ، قدر مطلق لگاريتم اعوجاج را نشان مي‌دهند كه كاربردهاي وسيعي در بازشناسي گفتار داد.
Cepstral Distance
ضريب كپستروم مختلط سيگنال بر مبناي عكس فوريه لگاريتم طيف فركانسي سيگنال بيان مي‌شود.
كه در آن ضرايب حقيقي هستند و اغلب از آنها به عنوان ضرايب كپسترول ياد مي‌شود. براي ، با بكار بردن قوانين بار مدال مي‌توان (يعني در رابط) را به ضرايب كپسترول ربط داد.
Weignted cepstral Distance
دليل استفاده زياد از فاصلة ضرايب كپستروم اين امر است، كه از راه ضرايب كپستروم مي‌توان ميزان قدر مطلق لگاريتم فاصلة فركانسي را تخمين زد.
مي‌توان نشان داد تحت شرايط خاص، ضرايب كپستروم به غير از ، داراي مقدار متوسط صفر و ورايانس متناسب با عكس مجذور انديكس ضريب مي‌باشند.
 
براي نرماليزه كردن ضرايب كپستروم بوسيلة واريانس مي‌توان نشان داد.
Distance base on LPC
از آنجائيكه LPC نشان دادن روشي بسيار مناسب در پردازش سيگنال مي‌باشد. مي‌توان از آن براي نشان دادن طيف فركانس فريم نيز استفاده نمود.
كه در آن و دو تابع هستند كه به بررسي خواص طيف فركانسي مي‌پردازند. در حقيقت همان پوش مي‌باشد.
از اين روش ارائه پاسخ فركانسي بر مبناي LPC مي‌توان روشهاي مختلفي را براي بيان اختلاف دو فريم
MLSP بعنوان روش جهت مي‌نيمم كردن تفاوت خواص طيفي زمان كوتاه يك فريم ارائه شد.
پيدا كردن منحني فاصله‌ها
در بخش‌هاي قبل با روشهاي پيدا كردن فاصله آشنا شديم. پس از هم ترازسازي دو كلمه كاربر و استاد با يكديگر توسط الگوريتم اكنون نوبت به پيدا كردن منحني فاصلة بين هر فريم صداي استاد و صداي كاربر بر اساس روشهاي گفته مي‌شود.
از روي اين منحني‌ها 3 اطلاعات را استخراج مي‌كنيم:
1- ميزان اعوجاج متوسط: اين مقدار بيان مي‌كند كه مقدار متوسط فاصلة بين دو الگو چقدر مي‌باشد.
2- نقاط ماكزيمم: مقدار اين نقطه ماكزيمم بيان مي‌كند. فاصلة دو فريم در آن نقطه خيلي زياد بوده و يا به عبارتي در آن فريم صداي كاربر و استاد اصلاً شبيه هم نمي‌باشد.
3- تعداد نقاطي كه از يك حد آستانه اعوجاج بيشتر باشند: اين نقاط فريم‌هايي را نشان مي‌دهند كه به طور كلي داراي تعداد غير قابل قبولي اختلاف با فريم صداي استاد مي‌باشد. هر چه تعداد اين فريم‌ها بيشتر باشد، اين موضوع ثابت مي‌شود كه صداي كاربر اصلاً شبيه صداي استاد نبود.
همان طور كه گفتيم براي انتخاب كلمة مبنا از الگوريتم KNN استفاده مي‌كنيم. براي انتخاب بهترين تطابق تنها از مقدار متوسط اعوجاج استفاده خواهيم كرد. قابل ذكر است مقدار متوسط اعوجاج به طريقي توصيف كنندة دو مقدار ديگر هم مي‌باشد. هر چقدر مقدار ماكزيمم و تعدا نقاط عبور از آستانه بيشتر باشد مقدار متوسط هم افزايش مي‌يابد و بالعكس.
امتيازدهي به گوينده
براي امتيازدهي به گوينده احتياج به يك سري ديتا آموزش داديم. اين ديتاها بايد از لحاظ تلفظ كاملاً رعايت قوانين را كرده باشند و مطابق با صداي استاد باشند.
با مقايسه اين كلمات مي‌توان مقادير متوسط اعوجاج، ماكزيمم، و حد آستانه براي صداهاي قابل قبول را بدست آورد و از اين مقادير براي امتيازدهي به صداي ساير گويندگان پرداخت.
در اين مرحله مقادير متوسط و واريانس 3 پارامتر ياد شده پيدا خواهد شد.
استفاده از فركانس فرمنت در ارزيابي نحوة بيان گفتار قرآني
در فصل دوم با مفهوم حروف صدادار و فركانسهاي فرمنت متناظر آنها آشنا شويم. همچنين در بخش دوم، دربارة چگونگي استخراج فركانس فرمنت بحث كرديم.
بيشتر افراد در خواندن كلمات قرآني در هنگام تلظ وزن كلمه دچار مشكل خواهند شد. وزن كلمه در حقيقت همان حروف صدادار كلمه مي‌باشد. پس در هنگام ارزيابي تلفظ اگر بتوانيم بنحوي وزن كلمه يا همان حروف صدادار را شناسايي كنيم. در مورد كلمات قرآني، قدم خوبي را براي اين كار برداشته‌ايم.
اما مشكل اساسي در شناسايي حروف صدادار مي‌باشد. يكي از روش‌هاي شناسايي حروف صدادار استفاده از فركانس فرمنت مي‌باشد. اما فركانس‌هاي فرمنت زياد قادر به جداسازي حروف صدا نزديك به هم مثل «ر – ي» نيستند.
همان طور كه در مبحث كلمة مبنا گفتيم در هنگام تلفظ كلمات قرآني در بعضي از مواقع را تبديل به «آ» مي‌كنند و يا را تبديل به «ي» مي‌كنند.
در هنگام ارزيابي تلفظ درست است كه بين «بك» و بيك» بسيار تفاوت است، اما بخش مهم اين است كه تقريب اگر قانون بالا را در نظر بگيريم هر دو كلمه را درست بيان كرده‌اند. ولي اگر كاربري مي‌گفت بك يا باگ قضيه فرق مي‌كرد و بايد نمرة صفر به آن داده مي‌شد.
براي همين يك دسته بندي در فركانس فرمنت و حروف صدادار انجام داديم.
با اين گروه بندي مي‌توان براحتي از طريق فركانس فرمنت مي‌توان به شناسايي حروف صدادار متعلق به هر گروه پرداخت.
باز هم در اينجا تأكيد مي‌كنيم در اينجا هدف شناسايي حروف صدادار نمي‌باشد بلكه هدف تشخيص گروه مربوط به آن فريم مي‌باشد.
روش كار به اين صورت است كه ابتدا فريم‌هاي واكه دار معين مي‌شود، سپس فركانس فرمنت آن استخراج شده و به يك الگوريتم ساده داده مي‌شود كه نوع گروه آن معين مي‌شود.
الگوريتم خيلي ساده عمل مي‌كند.
همان طور كه مشاهده مي‌كنيد. گروه دوم داراي بيشترين اختلاف در فركانس‌هاي اول و دوم است و گروه اول كمترين اختلاف را دارست.
همچنين براي گرو محدودة فركانس مجاز براي فرمنت اول و دوم معلوم است.
اين محدوده‌ها براي هر گروه جوري است كه داراي هم‌پوشاني نمي‌باشند و براحتي از هم قابل تفكيك است.
يك الگوريتم ساده با مقايسه فركانس فرمنت با محدودة مجاز گروه، گروه مربوط به آن فركانس را پيدا مي‌كند. در صورتيكه، فركانس فرمنت متعلق به هيچ گروهي نباشد از آن صرفنظر شده و در ارزيابي مورد استفاده قرار نمي‌گيرد.
استفاده از هر ارزيابي نحوة بيان
كوانتزاسيون برداري روش ساده اي براي مدل كردن يك كلمه مي‌باشد. همچنين در كوانتزاسيون برداري مي‌توان از كلماتي استفاده كرد كه توسط گوينده‌هاي مختلف بيان شده است. بدين ترتيب برداري كه بدست مي‌آيد مي‌تواند متوسط بردارهاي مشخصه كلمات با گوينده‌هاي متفاوت باشد و اين يعني مستقل از گوينده بودن.
دليل استفاده از كوانتزاسيون برداري اول با كوانتيزه كردن يك كلمه در حقيقت ما بخش‌هاي مختلف آوايي يك كلمه را مدل مي‌كنيم، يعني هر كدام از بردارهاي نمونه يك نماينده از خواص طيفي مربوط به آن بخشي از كلمه مي‌باشد. 2- با بكار بردن گوينده‌هاي مختلف مي‌توان بردارهايي را بدست آورد كه در خود خاصيت مستقل از گوينده بودن را بصورت نهفته دارند.
با ذكر دلايل بالا، كوانتزاسيون برداري مي‌تواند كمك بسيار زيادي در حوزة بازشناسي گفتار انجام دهد. ولي ما از خاصيت در ارزيابي گفتار استفاده مي‌كنيم. در روش تطابق اگر گفتيم مي‌خواهيم دو طيف فركانسي مربوط به يك فريم را از هم كم كنيم. در اين روش همواره خطا وجود دارد. چون هيچ وقت طيف فركانسي دو سيگنال مثل هم نخواهد بود. ولي اگر ما بياييم عمل كوانتزاسيون انجام دهيم. بردارهاي مشخصه كه مشابه هستند به يك بردار ثابت كوانتيزه كنيم. آنوقت مي‌توان اختلاف بين سيگنال را به حداقل رسانيد.
كوانتيزاسيون برداري فقط براي بردارهاي مشخصه كپسترال و فاصلة ضرايب كپستروم قابل پياده سازي است. در اين، تعداد بردارها نقش مهمي در دقت سيستم خواهند داشت.
در روش كوانتزاسيون برداري دو روش براي بدست آوردن بردارهاي نمونه وجود دارد: 1- روش اول استفاده از يك كلمه براي بدست آوردن برچسب‌هاي آوايي مربوط به آن كلمه است. يعني فقط يك كلمه را مدل مي‌كنيم.
در اين صورت تعداد بردارها بسته به طول كلمه مي‌تواند بين 6 تا 10 عدد انتخاب شود.
2- استفاده از كلمات مختلف براي بدست آوردن بردارهايي كوانيزه: در اين صورت ما داراي تعداد زيادي بردار خواهيم بود كه بيان‌گر خواص طيفي مربوط به واج‌هاي مختلف مي‌باشند.
هر دو روش فوق پياده سازي شد
در پياده سازي روش اول، بسته به طول كلمه هر كلمه را با يك كتاب كد 10 تا 6 تايي مدل كرديم. در اين روش ابتدا ضرايب كپستروم هر فريم با كتاب كد مقايسه مي‌شدند و نزديكترين بردار به آن ضرايب در كتاب كد پيدا مي‌شود. در اين مرحله به جاي جايگزين كردن انديكس كتاب كد در فريم. بردار نمونة آن انديكس به جاي ضرايب فريم قبلي جاي‌گزين مي‌شود.
يعني ضرايب كپستروم جديد از جايگزيني بردار نمونه كتاب كد بدست مي‌آيد. در اين مرحله عمل كوانتيزاسيون بدون تغيير سايز انجام داده ايم.
پس از بدست آوردن ماتريس مشخصه جديد براي صداي استاد و كاربر همان مراحل قبل را در هم ترازسازي و پيدا كردن 3 پارامتر طي مي‌كنيم.
قابل ذكر به دليل عوض شدن ماهيت موضوع، كليه پارامترهاي مربوط به مقادير متوسط قابل قبول و حدود آستانه عوض مي‌شوند و بايد به شيوة جديد دو بار مرحلة آموزش طي شود.
اين الگوريتم پس از پياده سازي نتايج خوبي داشت.
با پياده سازي روش دوم دو مشكل اساسي ايجاد شد:
پيدا كردن يك كتاب كد با تعداد code‌هاي بالا احتياج به تعداد زيادي كلمه دارد و هر كلمه نيز بايد توسط گوينده‌هاي مختلف بيان شده باشد.
به دليل بالا بودن حجم كار زمان محاسبات بالا مي‌رود.
مشاهده شد با بالارفتن اندازة كتاب كد. دقت سيستم پائين مي‌آيد و پيدا كردن مقادير آستانه و قابل قبول بسيار سخت تر شد. بنابراين روش دوم بكار گرفته نشد.
اين روش، روش بسيار خوبي است. اما مشكل اصلي آن پيدا كردن درست و دقيق فركانس فرمنت و فريم‌هاي واكه‌دار مي‌باشد.
نمره دهي نهايي
پس از بدست آوردن مقادير قابل قبول براي 3 پارامتر گفته شده در مرحلة‌ آزمايش، در مرحلة تست اكنون نوبت به نمره دهي نهايي مي‌رسد.
براي اينكه يك كلمه كه توسط كاربر گفته شده، شرايط لازم را براي نمره دادن كسب كند بايد از 3 پارامتر آن حداقل 2 پارامتر آن كه يكي از آن‌ها مقدار متوسط اعوجاج مي‌باشد بالاي مقادير قابل قبول باشد در غير اين صورت براي براي آن نمرة صفر در نظر گرفته مي‌شود.
در قسمت آزمايش در مرحلة اول علاوه بر مقادير آستانه قابل قبول براي 3 پارامتر، مقادير متوسط اين 3 پارامتر نيز استخراج شدند، اين 3 پارامتر به ما مي‌گويند كلمه اي كه درست بيان شده به طور معمول داراي اين مقادير است، اما پارامترهاي مجاز بيان مي‌كنند كه براي اينكه كلمه اي درست بيان شده باشد بايد مقدار پارامترهايش از اين حد تجاوز نكند.
از مقدارهاي متوسط مي‌توان براي مدل كردن كلمة خوب ادا شده استفاده كرد. براي مدل كردن مي‌توان از تابع توزيع نرمال استفاده كرد. ما فقط از طرف راست منحني استفاده مي‌كنيم. اين نقاط نقاطي هستند كه مقدار آنها از حد متوسط بزرگتر است.
براي صداهايي كه 3 پارامتر آنها از مقدار متوسط مربوطه‌شان كمتر است نمره 100 منظور خواهد شد.
سرانجام با كمك يك رابطة نهايي به امتيازدهي به صداي شخص طبق پارامترهاي مربوط به آن پرداخته خواهد شد.
در اينجا و پارامترهاي وزن دهنده براي مدل محسوب مي‌شوند. از آنجا كه اين 3 پارامتر هر 3 داراي يك اهميت يكسان نمي‌باشند، پس نقش آن هم در نمره‌دهي نبايد يكسان باشد. طبيعي است مقدار متوسط اعوجاج پارامتر قدرتمندي نسبت به ماكزيمم اختلاف است. بنابراين تغييرات سريع در اختلاف بين مقدار متوسط اعوجاج مدل و مقدار متوسط اعوجاج صداي شخص بايد بسيار تأثيرگذارتر در نحوة نمره‌دهي باشد جدول مربوط به و بصورت زير است.
استفاده از Hmm در ارزيابي نحوة بيان
در بخش ارزيابي نحوة بيان بوسيله Hmm نيز دچار همان مشكلات بخش بازشناسي هستيم، يعني كمبود ديتاي آموزشي. بنابراين بصورت عملي نتوانيم از مدل Hmm در ارزيابي نحوة بيان خيلي خوب استفاده كنيم. در اين بخش ما فقط توانستيم بگوئيم كلمه رد است يا قبول. ولي نمي‌توانستيم به آن نمره دهيم. بعلاوه مشكل مستقل از گوينده بودن هم زياد قبول نشد.
براي رد كردن كلمه مقدار يا نمره اي كه مدل كلمه به دنبالة آوايي دادن استفاده مي‌كنيم.
روش كار به اين صورت است كه ابتدا در مرحلة آموزش مقادير را براي چند كلمه كه تلفظ درستي دارند پيدا كردن و يك مقدار آستانه را بطور تجربي بدست مي‌آوريم.
در مرحلة تست با مقايسه كلمة كاربر مي‌توان آن را رد يا قبول كرد.


[1]- Viterbi Algorithm
[2]- Underflow
[3]-  Multi Observation Sequences
[4]- Bakis
[5]- Discreate Symbol
[6]- K-means
[7] - multi template matching
[8] - K-nearest neighbour hood
[9] - Cluster
[10] - Scaulhg


Label
نظرات در مورد:تکنیک های بهبود گفتار (بازشناسی کلمات گسسته قرآنی و نحوه بیان و تلفظ کلمات قرآنی)

نام شما:
نظر شما:
افزودن نظر



ورود به سايت | ثبت نام كاربر


صفحه نخست | تماس با ما
تمامی حقوق این سایت سایت متعلق به سایت DocIran.COM می باشد
طراحی شده توسط فراتک