صحت و گفتار نقش اساسی در ارتباط انسانها ایفا میکنند و یکی از دلایل پیشرفت انسانها است.
برای برقراری ارتباط کامپیوتر با انسان بوسیله گفتار در کار لازم است انجام شود.
یکی سنتزل گفتار است.
و دیگری بازشناسی گفتار، سنتز گفتار بیان گفتار بوسیله کامپیوتر میباشد و بازشناسی یعنی فهمیدن گفتار در بازشناسی گفتار.
هدف بدست آوردن دنباله آوایی یک گفتار میباشد و این دنباله آوایی میتواند بر اساس واج، سیلاب، کلمه، جمله و ...
باشد.
بازشناسی گفتار عکس عمل سنتز است و گفتار را به متن تبدیل میکند.
اما انجام بازشناسی گفتار به دلیل خاصیت صدای انسانها، دارای پیچیدگیهای زیادی است.
اما اغلب بازشناسی کامل و درست غیر ممکن است.
حتی خود انسانها هم نمیتوانند به طور کامل همه صداها را بفهمند و میزان، درک گوش انسانها حدود 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 میباشد.