تشخيص گفتار از سكوت
1 تشخيص گفتار از سكوت
1.1 مقدمه
بيشتر تشخيص دهندههاي گفتار از سكوت، از انـرژي سيگنـال استفـاده مـيكنند. چگونگي استفاده از معيار انرژي و تركيب آن با معيارهاي ديـگــر مــانـنــد نــرخ عـبــور از صـفــر يـا آنتـروپـي، الــگـــوريـتــمهــاي مـتـفــاوتــي را پــديــد مــيآورد. الـگـوريـتـمهـاي ديـگـري نـيز وجود دارند كه از اطلاعات و ويژگي هائي مانند اطلاعات طيف فـوريـه يـا ضـرائـب كـپـسترال و مانندآن استفاده ميكنند. اين الگوريتمها معمولا از جهت ميزان كـارائـي در شـرايـط مـختلف مانند ميزان نسبت سيگنال به نويز، نوع نويز، تلفني بودن يا نبودن و پـهـنـاي بـانـد سـيـگـنـال، عـمـلـكرد و كارائيهاي متفاوت دارند. همچنين اين الگوريتمها از جهت سرعت اجرا و بلادرنگ بودن و امكان استفاده به صورت متفاوت هستند. اغلب اين الگوريتمها با داشتن پارامترهاي سطح آستانه متعدد بر اساس هر پايگاه داده گفتاري نياز به تنظيم و تغيير دارند تا نتيجه مطلوب حاصل آيد. الگوريتمهاي پياده سازي و اصلاحاتي براي بهبود عملكرد آنها صورت گرفته است. ارزيابيهاي صورت گرفته گوياي آن است كه روش مبتني بر ضرائب كپسترال، با و بدون اعمال فيلتر ميانه و در بين روشهايي كه از انرژي استفاده ميكنند روش ساده مبتني بر انرژي از كارائي بهتري برخوردار هستند.
در سيستمهاي پردازش گفتار، معمولاً سيگنال دريافتي، از دو قسمت گفتار و غيرگفتار كه معمولا سكوت يا يك نويز زمينه است، تشكيل ميشود .تشخيص سيگنال گفتاري از غيرگفتار يا به عبارتي تشخيص و يا آشكارسازي گفتار (Voice Activity Detection) يا (Speech Activity Detection) يكي از مقولههاي مهم در سيستمهاي پردازش گفتار است. تشخيص گفتار از سكوت در سيستمهاي بهسازي گفتار نيز نقش بسيار مهمي دارد، زيرا در اين نوع سيستمها بايد نمونهاي از نويز خالص را كه در نواحي سكوت يافت ميشود، به دست آورد. در مخابرات گفتاري نيز تشخيص گفتار از سكوت نقش مهمي دارد، زيرا قسمت قابل ملاحظهاي از مكالمات را سكوت تشكيل ميدهد و اگر بتوان نواحي سكوت را تشخيص داد، ديگر نيازي به ارسال سيگنال مربوط به قسمتهاي سكوت نيست و به اين ترتيب در استفاده از نرخ بيت كانال اختصاص داده شده صرفه جويي خواهد شد .همچنين در كاربردهايي چون تعيين هويت گوينده، تشخيص زبان گوينده، تعيين محدوده سني، زن يا مرد بودن گوينده، بخشهاي سكوت گفتار به عنوان يك سيگنال غير مفيد، بلكه مزاحم بايد حذف شود. با توجه به اينكه اغلب الگوريتمهاي تشخيص گفتار از سكوت داراي پارامترهاي سطح آستانه متعدد هستند، بايستي بر اساس هر پايگاه داده گفتاري تنظيمات و تغييرات لازم اعمال شود. پایگاه داده مورد استفاده میتواند پایگاه داده¬های گفتاری فارس دات (معمولی ، تلفنی شده و تلفنی ) باشد
1.2 روشهای تشخیص گفتار از سکوت
انرژی سیگنال متداولترین معیار مورد استفاده در جداسازی گفتار از سکوت می باشد. همچنین از معیارهای طیفی ساده¬ای چون نرخ عبور از صفر ميتوان در پالایش مرزهای تعیین شده استفاده نمود. اصوات سایشی ضعیف که بیشترین مشکل شناسایی از آنها ناشی میشود، نرخ عبور از صفر بالایی دارند. در واکه ها این نرخ حدود 5/0 عبور در میلی ثانیه و در همخوانها تا 3 عبور در میلی ثانیه افزایش می یابد. البته در محیطهایی که نویز زیاد باشد، این معیار چندان مفید نیست ، زیرا نرخ عبور از صفر نویز زیاد است . معیار دیگر مورد استفاده آنتروپی می باشد زیرا آنتروپی طیف واکدار بسیار متفاوت با طیف بیواک و سکوت است . بعضی از الگوریتم ها با استفاده از انرژی سیگنال و نویز به محاسبه نرخ سیگنال به نویز پرداخته و با استفاده از این ویژگی مرزهای گفتار از سکوت را مشخص می کنند. در ادامه به بررسی چند روش تشخیص سکوت از گفتار خواهیم پرداخت .
1.2.1 روش مبتنی بر انرژی
در این روش تنها از انرژی فریم به عنوان معیاری جهت تعیین مرزهای گفتار و سکوت استفاده می-شود. الگوریتم این روش بصورت مختصر در زیر ملاحظه میشود:
گام1: ابتدا بالاترین مقدار انرژی، بین تمامی فریمها را بدست می آوریم .( )
گام2: انرژی تعداد ثابتی فریم (مثلا 15 فریم) ابتدائی را محاسبه و در یک صف قرار می دهیم .
گام3: دو متغیر lock,swرا که به ترتیب جهت بروزرسانی سطوح آستانه و تعیین فریمهای سکوت یا گفتار بکار می روند را مساوی Falseقرار می دهیم.
گام4 تا 7 را تا انتهای فریمها تکرار می کنیم :
گام4: میانگین مقدار دو عنصر اول صف را بعنوان انرژی نویز (سکوت) محاسبه می کنیم . (noipow)
گام5: انرژی فریم جاری را به صف افزوده و عنصر اول صف را خارج می کنیم .
گام6: اگر lock=Falseاست :
اگر sw=False است آنگاه نسبت توان نویز به انرزی ماکزیمم بر حسب db یعنی عبارت db=10*log(noipow/Emax) محاسبه و با استفاده از مقدار db سطوح آستانه را به قرار زیر تعیین می نمائیم :
اگر sw=Trueاست، با استفاده از سطوح آستانه محاسبه شده و سطح آستانه جدید )thresh3=gamma*noipow و با حرکت روی صف و مقایسه مقادیر با سطوح آستانه ، شروع گفتار را تشخیص و lock=Trueو sw=Falseقرار می دهیم .
گام7: اگر lock=True است آنگاه:
اگر sw=False و )انرژی فریم جاری > 2 (Threshاست آنگاه sw=Trueقرار می دهیم .
اگر sw=Trueاست، با استفاده از سطوح آستانه محاسبه شده و سطح آستانه جدید (thresh4=gamma1*noipow) و حرکت روی صف و مقایسه مقادیر با سطوح آستانه، پایان گفتار را تشخیص و lock=False و sw=False قرار می دهیم.
1.2.2 روش مبتنی بر انرژی و نرخ عبور از صفر
در این روش دو مشخصه درسطح فریم برای تصمیم گیری تعریف میشود که عبارتند از انرژی E(x) و نرخ عبور از صفرZ(c). این دو مشخصه بصورت زیر تعریف می شوند]6[:
در این روابط سیگنال صحبت و K طول فریم و تابع sgn تابع علامت است.
در این روش سیگنال بصورت فریم های 10 میلی ثانیه ای بدون همپوشانی تقسیم میشود. فرض می کنیم که بین هر دو بخش گفتاری و قبل از اولین بخش گفتاری ادا شده حداقل ms200 سکوت وجود داشته باشد. با استفاده از سکوت قبل از اولین بخش گفتاری و یا سکوت بین کلمات، متغیرهای زیر را مقداردهی می کنیم :
ZCmean: مقدار متوسط نرخ عبور از صفر در نواحی سکوت
:ZCvar مقدار واریانس نرخ عبور از صفر برای نواحی سکوت
SiMax: بیشترین مقدار انرژی در نواحی سکوت
:EnMaxبیشترین مقدار انرژی در هنگام ادای گفتار
اگر ZCthr یک سطح آستانه برای نرخ عبور از صفر و Uthr وLthr دو سطح آستانه برای انرژی باشند، متغیرهای زیر را تعریف خواهیم کرد:
1 1
در این الگوریتم از ناحیه شروع حرکت و به طرف وسط بخش گفتاری حرکت می کنیم تا اینکه به فریمی برسیم که انرژی آن بیشتر از حد آستانه Uthr باشد، سپس از این نقطه در جهت عکس بر میگردیم و نزدیکترین نقطه ای را که انرژی آن کمتر از آستانه Lthr باشد، بدست می آوریم. این نقاط را در ابتدا و انتهای بخش گفتاری بترتیب 1 Nو 2 Nمی نامیم (1 Nو 2N کاندیداهای اولیه برای شروع و پایان قطعۀ گفتاری هستند)، سپس از 1 Nبه طرف عقب و از 2 Nبه طرف جلو، منحنی نرخ عبور از صفر سیگنال را تا حداکثرms250 (25فریم) می پیماییم . اگر در هر یک از این فواصل، حداقل سه بار متوالی مقدار نرخ عبور از صفر از ZCthr بیشتر شده باشد، آنگاه در ابتدای بخش گفتاری آنقدر به عقب و در انتهای بخش گفتاری آنقدر به جلو می رویم تا به اولین بار قطع شدن منحنی نرخ عبور از صفر توسط خط ZCthrبرسیم. این نقاط جدید و نامیده می شوند که بعنوان ابتدا و انتهای بخش گفتاری در نظر گرفته می شوند. این روش در محیط های تمیز و عاری از نویز به خوبی عمل می کند. البته تعداد سطوح آستانه این الگوریتم زیاد است و با تغییر کوچک در محیط بدست آوردن سطوح آستانه جدید مشکل خواهد بود. این روش در محیط های نویزی و خط تلفن عملکرد خوبی ندارد، زیرا نميتوان از تفاوت نرخ عبور از صفر در واجهای بی واک و سکوت زمینه برای تشخیص این واجها استفاده کرد، به این دلیل که سکوت زمینه نیز به علت عوامل نویزی دارای نرخ عبور از صفر بالایی است . پائین بودن نسبت سیگنال به نویز موجب کاهش کارآیی این الگوریتم می گردد.
1.2.3 روش مبتنی بر انرژی و آنتروپی
ایده استفاده از انرژی جهت تشخیص مرزها اینست که انرژی (یا توان) بخش واکدار بیشتر از بخش بیواک در گفتار گوینده است (31). در این روشها، ابتدا پنجره ای با طول ثابت تعریف میشود. با حرکت این پنجره روی گفتار، وقتی انرژی پنجره بیش از آستانه شروع است، نقطه آغازین مشخص میشود. بطور مشابه نقطه پایانی، وقتی انرژی کمتر از آستانه پایان است مشخص میگردد. شکل زیر دیاگرام روش مبتنی بر انرژی را نشان می دهد. کارائی تشخیص مرزها توسط الگوریتمهای مبتنی بر انرژی در محیطهای نویزی چندان رضایت بخش نیست. همچنین تشخیص گفتار از نویز زمینه غیرمنتظره نظیر صدای باز و بسته شدن پنجره، سرفه ، صدای موتور و غیره، مشکل است .
شکل 1 1:بلوک دیاگرام روشهای مبتنی بر انرژی
آنتروپی بطور وسیعی در تئوری اطلاعات و کدینگ استفاده میشود. آقای (32) Shenابتدا آنرا در تشخیص مرزها استفاده کرد. نتایج Shenآشکار ساخت که آنتروپی طیف واکدار بسیار متفاوت با آنتروپی طیف بیواک است. این مشخصه، ميتواند در تشخیص مرز گفتار و سکوت مورد استفاده قرار می گیرد. روش مبتنی بر آنتروپی بسیار مطمئن¬تر از روشهای مبتنی بر انرژی است ، خصوصا وقتی نویزهای ناپایدار وجود دارند. در بعضی موارد، آنتروپی بسیار نامطمئن ظاهر میشود. متقابلاً، تحت این موارد، انرژی بخاطر این ویژگی آن که انرژی مجموع گفتار بعلاوه نویز همیشه بیش از انرژی نویز است، بهتر عمل می کند. می دانیم که هم انرژی و هم آنتروپی محدودیتهای خاص خود را در بعضی محیط های نویزی دارند. خوشبختانه، ترکیب امتیازات این دو روش برای جبران محدودیتهایشان امکان پذیر است. و روش ترکیبی مقاوم¬تر از هر یک از دو ویژگی انرژی و آنتروپی به-تنهائی می باشد. در این روش، هم انرژی و هم آنتروپی ابتدا برای هر فریم محاسبه می شوند. و میانگین مقدار انرژی و میانگین مقدار آنتروپی که در 20 فریم ابتدائی سیگنال صوتی بدست آمده¬اند، از هر یک از این دو ویژگی کم میشود. سپس مقادیر انرژی و آنتروپی در هم ضرب می شوند. ضرب موجب تقویت اثر این دو و موجب بهبود کارائی استفاده از آنها در جداسازیگفتار از سکوت، خصوصا تحت محیط های نویزی میگردد.
شکل 1 2:بلوک دیاگرام محاسبه EE-Feature
شکل بالا بلوک دیاگرامی را برای محاسبه معیاری مبتنی بر انرژی و آنتروپی نمایش می دهد. گفتار ورودی، پس از نمونه برداری و تبدیل به فرم رقمی، فریم بندی شده و انرژی و آنتروپی هر فریم محاسبه میشود. انرژی فریم iام را می نامیم . جهت محاسبه آنتروپی ، سه گام ضروری است: ابتدا گرفتن تبدیل فوریه سریع و انتقال سیگنال از حوزه زمان به حوزه فرکانس، سپس محاسبه تابع چگالی احتمالی( pdf ) ، و در نهایت محاسبه آنتروپی برای هر فریم pdf .i طیف با استفاده از نرمالیزه کردن اجزاء فرکانسی حاصل از طیف بدست آمده توسط تبدیل FFT محاسبه میشود
1 2
که انرژی طیفی جزء فرکانسی است ، چگالی احتمالی و Mتعداد کل اجزاء فرکانسی در FFTاست . تجربه نشان می دهد که حذف فرکانس های پائین و بالا طبق روابط زیر موجب کاهش اثر نویز می گردد:
بعد از اعمال محدودیتهای فوق، آنتروپی منفی فریم iبصورت زیر تعریف میشود:
میانگین مقادیر انرژی و آنتروپی در فریم های اولیه سیگنال از هر دو پارامتر و کاسته میشود. 20 فریم اولیه برای محاسبه میانگین و کفایت می کند. سپس EE_Featureها که همان معیار حاصل از ترکیب انرژی و آنتروپی هستند بصورت زیر بدست می آیند:
که و انرژی میانگین و آنتروپی میانگین 25 فریم اول هستند. در زیر الگوریتم تشخیص مرز بصورت گام به گام تشریح شده است :
گام 1 : پنجرهای را باطول ثابت (مثلا 12 فریم ) جهت محاسبه ویژگی EE_Feature که آن را در این الگوریتم ویژگی می نامیم ، در نظر می گیریم .
گام 2 : میانگین ویژگی ها را در فریم های اولیه گفتار ورودی (مثلا 25 فریم) که شامل سکوت است، محاسبه می کنیم .
گام 3 : آستانه های آغاز و پایان را با استفاده از میانگین محاسبه شده در گام قبل مطابق روابط زیر بدست می آوریم :
آستانه آغاز = میانگین * نسبت آغاز
آستانه پایان = میانگین * نسبت پایان
گام 4 : یک فریم بعد از فریمهای اولیه سکوت (در اینجا فریم 26ام) را شروع پنجره در نظر میگیریم . گام 5 : مقدار میانگین ویژگی ها و تعداد فریمهایی که ویژگی آنها از آستانه آغاز بیشتر است را روی پنجره محاسبه می کنیم .
گام 6 : اگرمیانگین مساوی آستانه آغاز یا از آن بیشتر باشد و تعداد فریمهایی که ویژگی آنها از آستانه آغاز بیشتر است ، مساوی مقدار ثابتی (که بصورت تجربی مقداردهی میشود) یا بیشتر از آن باشد، نقطه شروع بخش گفتاری مشخص میشود، در غیر اینصورتپنجره یک فریم جابجا شده و به گام 5 می رویم تا وقتی که پنجره به انتهای گفتار ورودی برسد.
گام 7 : شروع پنجره را مساوی نقطه شروع تشخیص قرار می دهیم .
گام 8 : مقدار میانگین ویژگی ها و تعداد فریمهایی که ویژگی آنها از آستانه پایان کمتر است را روی پنجره محاسبه می کنیم .
گام 9 : اگرمیانگین مساوی آستانه پایان یا از آن کمتر باشد و تعداد فریمهایی که ویژگی آنها از آستانه پایان بیشتر است، مساوی مقدار ثابتی (که بصورت تجربی مقداردهی میشود) یا بیشتر از آن باشد، نقطه پایان بخش گفتاری مشخص میشود، در غیر اینصورت پنجره یک فریم جابجا شده و به گام 8 می رویم تا وقتی که پنجره به انتهای گفتار ورودی برسد.
1.2.4 روش مبتنی بر SNRبا استفاده از منحنی انرژی
در این الگوریتم ، یک تخمین متغیر با زمان از SNR برای جدا کردن گفتار از سکوت بکار می رود. این الگوریتم ، مقدار SNRدر فریم شماره tیعنی (SNR(t را با استفاده از نسبت انرژی فریم فعلی (fe(t به یک تخمین از انرژی بستر نویز ) nf(tبدست می آورد )انرژی فریم tام از طریق مجموع مربعات نمونه های یک فریم که پنجره بر آن اعمال شده است ، بدست می آید). انرژی بستر نویز بصورت تطبیقی با دنبال کردن می نیمم مقادیر پیرامون هموار شده انرژی فریم محاسبه میشود. اگر Se(t) مقدار هموار شده انرژی فریم باشد )مثلا (fe(t را با یک فیلتر پایین گذر تک -قطب فیلتر کنیم)، آنگاه انرژی بستر نویز در فریم شماره tاز قواعد ابتکاری زیر تخمین زده میشود:
1- به آهستگی بستر نویز را افزایش می دهیم .
2- حد پایینی پیرامون هموار شده انرژی را دنبال می کنیم .
3- گذر از ناحیه گفتار به ناحیۀ سکوت را کنترل می کنیم .
این قواعد یک تخمین تطبیقی از انرژی نویز را به ما می دهند. پس از این ، SNR(t)با یک مقدار آستانه SNR_THRESHمقایسه میشود و در صورتی که، SNR ≥ SNR _ THRESHبه یک شمارنده SC یک واحد افزوده میشود و در غیر اینصورت یک واحد از این شمارنده کاسته میشود. در هنگام انتقال از یک ناحیۀ سکوت به یک ناحیۀ گفتار، تعداد فریم ها با خاصیت SNR ≥ SNR _T HRESH افزایش می یابد، شمارنده SC در وضعیت افزایشی قرار می گیرد. وقتی که شمارنده درحال افزایش است و به یک مقدار SC_THRESH می رسد، فرض می¬کنیم که از ناحیۀ سکوت به ناحیۀ گفتار آمده¬ایم و فریم فعلی به همراه NUM_BACKعدد از فریم های قبل از آن بعنوان فریم های گفتاری شناخته می شوند. عمل رفتن به عقب، بخاطر در برگرفتن فریم های ابتدائی یک قطعه از صحبت و تصحیح فریم¬هایی از وسط یک قطعه از صحبت است که به دلیل انرژی کم آنها اشتباها به عنوان سکوت تشخیص داده شده¬اند. مادامی که SC>SC_THR باشد، فریم فعلی بعنوان فریم گفتاری شناخته می¬شود. وقتیکه SC<SC_THR شود، فرض می کنیم که در یک ناحیۀ سکوت قرار گرفته ایم و فریم فعلی بعنوان سکوت شناخته میشود. مقدار شمارنده SC نميتواند از SC_MAXبیشتر و از صفر کمتر شود. این روش فقط بر اساس انرژی عمل می کند و یک تخمین تطبیقی از SNRرا بدست می¬آورد و در محیط های نویزی با نویز کم خوب عمل می کند، ولی پارامترهای سطح آستانۀ آن باید برای محیط های مختلف مقداردهی مناسب شوند.
1.2.5 روش مبتنی بر SNRبا استفاده از طیف مرتب شده سیگنال (الگوریتم NP-SAD)
این الگوریتم جهت تشخیص سیگنال گفتار با کیفیت های متغیر استفاده میشود (33). در الگوریتم NP، تشخیص سیگنال، مبتنی بر محاسبه SNR است که از طیف مرتب شده حاصل می گردد. در محاسبه طیف، سیگنال گفتار بصورت اعداد ممیز شناور به گونه ای نرمالیزه می شوند تا مقادیر در فاصله (1،1-) فرض شوند. فریمهای داده¬های گفتاری سپس پنجره¬گذاری می شوند، بدین صورت که هر فریم داده در یک پنجره همینگ ضرب میشود. طیف توان با استفاده از یک FFTمعمولی محاسبه می گردد. فرکانسهای بسیار پائین و فرکانسهای بالای ناکارآمد با اِعمال یک فیلتر میان گذر با باند عبور 195 تا 3843 هرتز فیلتر می شوند. در حقیقت ، این پروسه سه هارمونیک اول برق شهر را که در وسائل الکتریکی خانگی استفاده می شوند، حذف می کند. بعلاوه، طیف بالای 3843 هرتز اطلاعات کمی جهت استفاده در تشخیص گفتار دارد. در نهایت، مربع دامنه¬های طیف سیگنال بصورت صعودی مرتب میشود، در نتیجه اجزاء مرتبه بالا دارای انرژی ماکزیمم و اجزاء مرتبه پایین دارای انرژی مینیمم هستند. شکل زير این طیف مرتب را نشان می دهد. مرتب کردن جهت جداسازی انرژی گفتار (در قسمت پیچ ها و باندهای متداخل) از انرژی نویز که بین پیچ ها و یا باندهای متداخل مقیم شده، می باشد.
شکل 1 3:طیف گفتار مرتب شده که نواحی مورد استفاده جهت مجاسبه توان نویز و سیگنال را نشان می دهد.
با استفاده از طیف مرتب شده، SNR را که مبنای تصمیم گیری در تشخیص فریمهای گفتار از غیر گفتار است، بدست می آوریم. باندهایی را که جهت تخمین توان سیگنال و نویز استفاده می شوند، در شکل بالا ميتوان دید. را به عنوان ظرفیت توان نویز تخمینی و را به عنوان ظرفیت توان سیگنال تخمینی تعریف می کنیم . بصورت زیر محاسبه میشود:
که ، iامین عضو طیف توان مرتب شده می باشد. را بصورت زیر محاسبه می کنیم :
که Lکمترین مقداری است که را ارضاء می کند و کل انرژی فریم است . با استفاده از مقادیر و ميتوان SNRرا تخمین زد:
مشخصاً، محاسبه SNR از این روش مستقل از طول فریم است . به منظور تشخیص گفتار از سکوت، SNR هر فریم را با یک سطح آستانه مقایسه می کنیم . اگر SNRبیش از مقدار آستانه باشد، آن فریم به عنوان شروع گفتار در نظر گرفته میشود. حساسیت تشخیص دهنده با کاهش یا افزایش مقدار آستانه قابل تنظیم است . با اعمال یک فیلتر میانه برروی مقادیر SNRو هموار کردن تغییرات آن ميتوان به نتایج بهتری برای تشخیص گفتار از سکوت دست یافت .
1.2.6 روش مبتنی بر ضرائب کپسترال
دو خصوصیت مهم تشخیص دهندههای کپسترال عبارتند از اینکه (34):
1. در حوزه فرکانس پیاده سازی می شوند.
2. اطلاعات اولیه مورد نیاز برای تخمین پارامترهای این روش تنها از بخشهای کمی از گفتار ورودی تامین می شوند.
فاصله c∆ بین بردار کپسترال جاریc[n] و میانگین زمان کوتاه از بردارهای کپسترال توسط رابطه (17) محاسبه میشود. بردار کپسترال فقط در فریمهای سکوت محاسبه و بروزرسانی میشود. مقدار میانگین و انحراف معیار استاندارد مربوط به )فرمول (17) را ببینید) فقط در فریمهای سکوت محاسبه می شوند و تعداد ترمهای سری بایستی بزرگتر از 30 باشد. اگر مقدار جاری از مقدار آستانه که توسط فرمول(18) محاسبه میشود، بزرگتر باشد، فریم nشروع گفتار در نظر گرفته میشود و پارامتر تعداد تشخیص های غلط گفتار را کنترل می نماید.
پارامتر λ میزان تاثیر C[n]جدید را در محاسبه تعیین می نماید. این الگوریتم نیاز به فاز مقداردهی اولیه جهت تطابق با خصوصیات نویز زمینه دارد. صفر یا یک بودن outبه معنای سکوت یا گفتار بودن سیگنال ورودی می باشد. در قدم بعدی ميتوان به منظور حذف نوسانات و هموار نمودن آن از فیلتر میانه بصورت زیر استفاده می کنیم :
mمرتبه فیلتر است . تصمیمات اشتباه با مرتبه بالاتر m بهتر حذف می شوند ولی در تعیین شروع و پایان گفتار اشتباهاتی ظاهر خواهد شد در اینصورت مقایسه با مقدار آستانه مشابه قبل ولی با استفاده از فاصله کپسترال انجام می گیرد. شمای بلوکی این الگوریتم در شکل زير آمده است .
شکل 1 4:آشکارساز گفتار از سکوت مبتنی بر ضرائب کپسترال
1.3 ارزیابی روشهای تشخیص گفتار از سکوت
روشهای تشخیص گفتار از سکوت فوق را پیاده¬سازی نموده و پارامترهای بهینه آنها را بدست آوردیم. سه فایل شامل یک فایل از پایگاه داده گفتاری فارسدات، یک فایل از پایگاه داده گفتاری فارسدات تلفنی شده و یک فایل از پایگاه داده گفتاری فارسدات تلفنی انتخاب و توسط هر یک از روشهای تشخیص گفتار از سکوت برچسب گذاری شدند. این برچسب ها شامل برچسب سکوت یا گفتار می باشند. همچنین فایل های اصلی را با استفاده از نرم افزار WaveSurferبصورت دستی برچسب گذاری نمودیم. برچسب های فایل های اصلی را با برچسب های فایل های حاصل از روشهای تشخیص گفتار از سکوت مقایسه کردیم. برای این کار بازاء هر 30 میلی ثانیه، برچسب های فایل¬هایی که بصورت دستی حذف سکوت شده اند را با برچسب های فایل حذف سکوت شده توسط الگوریتم مقایسه و مقادیر دو معیار زیر را تعیین نمودیم:
• درصد تلقی بخشهای گفتاری به عنوان سکوت.
• درصد تلقی بخشهای سکوت به عنوان گفتار.
مقایسه برچسب های فایل¬های اصلی و برچسب های فایل¬های حذف سکوت شده توسط الگوریتم و تعیین مقادیر فوق توسط برنامه¬ای که برای همین منظور تهیه نمودیم صورت گرفت. نتیجه مقایسات و ارزیابی¬های صورت گرفته در جدول زير ارائه گردیده است .
جدول 1: نتایج بررسی روشهای حذف سکوت پس از پیاده¬سازی
الف : روش مبتنی بر انرژی، ب: روش مبتنی بر انرژی و نرخ عبور از صفر، پ: روش مبتنی بر انرژی و آنتروپی، ت: روش مبتنی بر SNRبا استفاده از منحنی انرژی، ث: روش مبتنی بر SNRبا استفاده از طیف مرتب شده سیگنال (الگوریتم )NP-SADبا اعمال فیلتر میانه ، ج: روش مبتنی بر SNR با استفاده از طیف مرتب شده سیگنال )الگوریتم (NP-SADبدون اعمال فیلتر میانه، چ: روش مبتنی بر ضرائب کپسترال با اعمال فیلتر میانه، ح: روش مبتنی بر ضرائب کپسترال بدون اعمال فیلتر میانه.
:A فایل اصلی از پایگاه داده گفتاری فارسدات با حجم 1.58 مگابایت ، زمان پخش 37 ثانیه با 30.72 درصد سکوت
الف ب پ ت ث ج چ ح
درصد خطای تلقی گفتار به عنوان سکوت 3.75 0.94 7.23 3.48 27.31 48.65 4.93 5.76
درصد خطای تلقی سکوت به عنوان گفتار 16.97 33.94 51.7 23.24 63.71 48.85 20.79 27.42
حجم فایل نتیجه به مگابایت پس از حذف سکوت 1.08 1.19 1.22 1.18 1.14 0.997 1.09 1.10
زمان پخش فایل نتیجه بر حسب ثانیه 25 28 29 28 27 23 26 26
:Bفایل اصلی از پایگاه داده گفتاری فارسدات تلفنی شده با حجم 0.803 مگابایت ، زمان پخش 37 ثانیه با 30.72 درصد سکوت
الف ب پ ت ث ج چ ح
درصد خطای تلقی گفتار به عنوان سکوت 0.94 6.83 23.85 4.28 17.27 29.45 11.01 17.67
درصد خطای تلقی سکوت به عنوان گفتار 29.5 44065 49.87 34.73 68.41 68.15 11.58 13.05
حجم فایل نتیجه به مگابایت پس از حذف سکوت 0.61 0.66 0.58 0.63 0.63 0.57 0.51 0.48
زمان پخش فایل نتیجه بر حسب ثانیه 28 30 26 29 29 26 23 22
:C فایل اصلی از پایگاه داده گفتاری فارسدات تلفنی با حجم 2،1 مگابایت ، زمان پخش 57 ثانیه با 5،26 درصد سکوت
الف ب پ ت ث ج چ ح
درصد خطای تلقی گفتار به عنوان سکوت 2.56 28.41 23.3 5.56 23.81 46.81 3.71 10.08
درصد خطای تلقی سکوت به عنوان گفتار 50.59 34.18 53.71 47.64 76.97 85.46 43.11 37.5
حجم فایل نتیجه به مگابایت پس از حذف سکوت 1.01 0.75 0.92 0.98 0.98 0.69 0.98 0.935
زمان پخش فایل نتیجه بر حسب ثانیه 48 34 42 45 45 31 47 43
1.4 نتیجه گیری و پیشنهادات
مقایسه خطاهای بدست آمده در جداول فوق گویای بالا بودن خطای تلقی سکوت به عنوان گفتار در کلیه روشها می باشد. بررسی¬های انجام شده نشان می دهد که در تقطیع دستی سکوت بین کلمات بخوبی مشخص میشوند در حالیکه بیشتر روشهای تشخیص گفتار از سکوت، سکوت¬های کوتاه بین کلمات را بعنوان گفتار تشخیص میدهند که این نکته موجب بالارفتن میزان خطای تلقی سکوت به عنوان گفتار میگردد. توجه به میزان خطای هر یک از روشها در جداول زیر بنظر میرسد که در بین روشهای مبتنی بر انرژی و نرخ عبور از صفر، روش الف و روش مبتنی بر SNRاز خطای کمتری برخوردار هستند. در بین سایر روشها نیز، روش مبتنی بر ضرائب کپسترال با اعمال فیلتر میانه و بدون اعمال فیلتر میانه بازاء گفتار غیر تلفنی، گفتار تلفنی شده و گفتار تلفنی از خطای کمتری برخوردار می باشند. بازاء گفتار غیر تلفنی بهترین روش، روش ساده مبتنی بر انرژی (روش الف) است. این روش ضمن داشتن کارائی خوب دارای پیچیدگی کم و حجم محاسبات بسیار پائین می باشد.
بازاء داده های تلفنی روش مبتنی بر ضرائب کپسترال از کارائی بهتری برخوردار می باشد. البته پیچیدگی محاسباتی این روش بدلیل آنکه نیازمند محاسبه ضرائب کپسترال در هر فریم می باشد از روش های مبتنی بر انرژی بیشتر است. روش NP-SAD در کلیه موارد از خطای بالائی برخوردار است. ضمن آنکه به دلیل نیاز به محاسبه طیف FFT در هر فریم سیگنال، در مقایسه با روشهای مبتنی بر انرژی، از پیچیدگی محاسباتی بالاتری بر خوردار می باشد. با در نظر گرفتن نتایج، روش NP-SAD ضعیفترین روش تشخیص مرزهای گفتار و سکوت در بین کلیه روشهاست. این روش بالاترین درصدهای خطای تلقی گفتار به عنوان سکوت یا بالعکس (سکوت به عنوان گفتار) را به خود اختصاص داده است. البته اعمال فیلتر میانه در بهبود نتایج تاثیرگذار می باشد. اعمال فیلتر میانه در روشهای مبتنی بر ضرائب کپسترال در کاهش درصد خطای تلقی گفتار به عنوان سکوت موثر بوده ولی سبب افزایش درصد خطای تلقی سکوت به عنوان گفتار میشود.
تقریبا در کلیه روشها و با اعمال تغییرات جزئی میتوان الگوریتم را بصورت بر خط پیاده سازی نمود. باستثناء دو روش الف و ب در سایر روشها بر خط سازی الگوریتم با سهولت بیشتری قابل انجام می باشد. در خصوص تعیین پارامترهای مورد نیاز، روش ب بدلیل آنکه نیازمند تعیین پارامترهای مربوط به انرژی و نیز پارامترهای مربوط به نرخ عبور از صفر می باشد، تنظیم پارامترها آن مشکل تر از سایر روشهاست.
|