چکیده
امروزه با پیشرفت علوم کامپیوتر و استفاده از کامپیوترهای شخصی و ذخیره کردن اطلاعات شخصی وجود سیستمی که تنها به آن شخص اجازه دسترسی به اطلاعات را بدهد لازم به نظر می رسد. علاوه بر این استفاده از پردازش سیگنال صوت در پزشکی و تشخیص از طریق سیگنال صوت می تواند بسیار مفید باشد. روش های بسیاری برای تشخیص صوت به کار می روند و مراحل زیادی برای تشخیص، تجزیه و تحلیل صوت وجود دارد. تشخیص صوت ها معمولاً با ایجاد نمونه های دیجیتال از صوت انجام می گیرد که این روش های ایجاد طیف می تواند
M FCC (MCL frequency cepstral coefficients)
LPC (linear predictive coding)
و یا روشی coch lea باشد و در مرحله بعد نمونه های صوت کوانتیزه می شوند و در دسته بندی های مشخص قرار می گیرند و بعد هم سیگنال های آماده شده مقایسه می شوند تا کمترین فاصله بین آنها به عنوان نمونه مورد قبول انتخاب شود و سیگنال ورودی تشخیص داده شود. این مرحله تشخیص نیز می تواند با استفاده از روش های گوناگون از جمله:
DTW (Dynamic time warping )
HMM (Hidden Markov Models)
NNS (Neural Network )
به طور جداگانه یا مجموعه ای از این روش ها انجام شود که در این پروژه علاوه بر همه روش ها از DTW به عنوان روش مقایسه ای استفاده می کنیم و با کمک نرم افزار C برنامه ای را برای انجام مقایسه و انجام کلیه مراحل پردازش سیگنال در اختیار خوانندگان قرار می دهیم. البته در این پروژه هدف از تشخیص صوت دریافت دستور و پردازش و تشخیص آن صوت برای تغیر شدت روشنایی میباشد.
Plc (Power Line Carrier)
مقدمه:
گفتار راه طبیعی و مفید برای رد و بدل کردن اطلاعات بین انسان هاست. برای ساختن یک کامپیوتر هوشمند این مسأله مهم است که ماشین می تواند "بفهمد" و به اطلاعات داده شده "عمل کند" و همچنین برای تکمیل اطلاعات صحبت کند.
بنابراین تشخیص صوت برای یک کامپیوتر جهت دستیابی به هدف ارتباط کامپیوترها با انسان لازم است. با بیش از چهل سال تحقیق و الگوریتم های زیادی برای تشخیص صوت اتوماتیک ایجاد شد. روش " مقایسه نمونه" یکی از بهترین دستاوردها می باشد. در این روش سیستم یک یا چند نسخه اصلی برای هر واژه ذخیره می کند و سیگنال صوت وارد شده را با هر کدام از آنها برای پیدا کردن نزدیکترین گزینه مقایسه می کند. این فرایند شامل دو مرحله است:
آماده کردن نمونه های اولیه
تشخیص سیگنال ورودی از طریق روش های مقایسه نمونه
ابتدا فرایند پردازش این الگو را برای هر حرف در واژه ایجاد می کند. سیگنال صوت در قسمت پردازش به فرم هایی با طول مساوی تقسیم می شود سپس واحد acoustic front – end هرفریم را به یک نمودار مشخصه تبدیل می کند که تمام خصوصیات سیگنال آن فریم خاص را در بر دارد. این نمودارهای مشخصه به گروه هایی توسط بلوک طبقه بندی نمونه) تقسیم می شوند تا مدل هایی از یک کلمه را ایجاد کنند. این فرایند برای تمام حروف در یک واژه تکرار می شوند. تصور کلی چنین است که اگر از یک نمونه اندازه کافی نسخه داشته باشیم مرحله پردازش باید بتواند مشخصات صوتی نمونه را به اندازه کافی بیان کند. فرایند تشخیص ابتدا سیگنال ناشناس را به کمک همان acoustic front – end که در فرایند سیگنال اولیه استفاده شد به نمودار مشخصه تبدیل می کند. سپس این نمودار مشخصه با هر کدام از نمونه های آماده شده سیگنال اولیه مقایسه می شوند که این مقایسه در بلوک pattern – matching انجام می شود.
یک فرایند تشخیصی بر پایه بهترین مقایسه است که این مقایسه بر اساس یک عملکرد فاصله بین دو نقطه از نمودار مشخصه تعریف می شود که یکی از این نقاط روی نمودار مشخصه سیگنال ورودی و دیگری روی نمودار سیگنال ذخیره شده است.
هدف این پروژه این است که با معرفی یک تصویر کلی از تشخیص صوت برای دانشجویان مهندسی که بتوانند یک برنامه تشخیص C بنویسند که از روش DTW استفاده کنند. یکی از مشکلات اساسی در پردازش سیگنال ها به عینیت در آوردن مسائل تئوری و دیدگاههای کلی است. این پروژه به توانایی مهم زیر دست خواهد یافت:
گزینش DTW : یک سیگنال ورودی و یک الگو را می دهد. این واحد باید بتواند بهترین مسیر گزینشی را پیدا کند و همچنین باید بتواند سیگنال را تشخیص بدهد و بهترین گزینه را ارائه دهد.
به طور کلی در بخش های مختلف به مطالب زیر می رسیم:
به بحث Lpc می پردازد که یک نمودار مشخصه را برای سیگنال ها ایجاد می کند.
روش های مختلف محاسبه DF:
روش هایی را نشان می دهد که سیگنال اولیه تا پردازش می کند و الگو را ایجاد می کند و این سیگنال را ذخیره می کند.
معرفی الگوریتم (DP) و کاربرد آن در تشخیص صوت (DTW) که آن یک الگوریتم است برای محاسبه فاصله بین دو نمودار مشخصه.
خلاصه و نتیجه گیری و در نهایت هم مراجع و منابع معرفی شده اند.
فصل اول
مروری بر بازشناسی گفتار
1-1) پردازش بر روی گفتار به دو دسته کلی تقسیم می شود:
1) تبدیل متن به گفتار (Text. To. Speech): تبدیل متن به گفتار به این صورت است که ورودی، صفحه کلید است و متنی را که می خواهیم به گفتار تبدیل شود تایپ می کنیم و در خروجی که بلندگو می باشد، متن تایپ شده را بصورت صوتی (صدای انسان) خواهیم داشت.
(Windows xp speech properties)
2) تبدیل گفتار به متن (Speech . to. Text): تبدیل گفتار به متن به این صورت است که ورودی میکروفون می باشد. کافی است متنی را که می خواهیم تایپ شود، بخوانیم و در خروجی که پرینتر یا مانیتور می باشد متن مورد نظر را بصورت تایپ شده خواهیم داشت.(Windows XP speech properties)
1-2) مقدمه ای بر بازشناسی گفتار:
سیستمهای بازشناسی گفتار فعلی با کارایی قابل قبول در یکی از سه دسته زیر قرار می گیرند:
سیستمهای با دایره لغات کوچک(10 تا 100 لغت). Isolated Words
سیستمهایی که در آنها لغات جدا از هم ادا می شوند(دایره لغات تا 1000 لغت نیز می تواند افزایش یابد).Connected Words
سیستمهایی که گفتار پیوسته را می پذیرند اما با کاربردهای محدود سرو کار دارند. به عنوان مثال پیامهای مرتبط با کارهای اداری در یک شرکت خاص(که در این حالت دایره لغات معمولاً بین 1000 تا 5000 لغت را شامل می شود.(Continuous Words)
در کاربردهای عملی اکثراً سیستمهای با دایره لغات کوچک و گفتار گسسته مورد استفاده قرار می گیرند. این سیستمها می توانند در بسیاری از کاربردهای نسبتاً ساده برای تسهیل و افزایش راندمان در ورود اطلاعات به دستگاه (خصوصاً در جاهایی که استفاده از دست بطور مستقیم ساده نبوده و خطرناک باشد) به کار گرفته شوند.
تمام سیستمهای بازشناسی، در حالتی که نیاز به تشخیص گفتار یک یا چند گوینده خاص باشد، بهتر عمل می کنند. همچنین بیانهای واضح به بازشناسی بهتر، کمک می کنند. در کاربردهای واقعی بازشناسی گفتار، سیستم باید بتواند گفتار چندین گوینده با لهجه های مختلف و طرق مختلف صحبت را که چندان نیز واضح نیستند، در محیط های نویزی تشخیص دهد. در حال حاضر هستند(HMM). سیستمهای جدید در واقع جبران کمبود اطلاعات مدلسازی دقیق را می نمایند. اما در ازای آن دارای محاسبات زیادی چه در فاز یادگیری و چه در فاز تشخیص می باشند.
1-3) پارامترهایی که در کارایی یک سیستم بازشناسی گفتار موثرند و تعیین کننده میزان پیچیدگی سیستم می باشند عبارتند از:
1.بازشناسی وابسته به گوینده و مستقل از گوینده.
بازشناسی لغات مجزا و گفتار پیوسته.
وسعت دایره لغات.
تشخیص حدود کلام
تشخیص گفتار در محیط نویزی و نوع نویز محیط.
محدودیت های زبانی گفتار(لهجه یا گویش)
در قسمت بعدی بصورت اختصار موارد بالا را مورد بررسی می گیرد.
1-3-1) بازشناسی وابسته به گوینده و مستقل از گوینده:
در سیستم وابسته به گوینده در هنگام بازشناسی از همان گوینده ای استفاده می شود که در هنگام آموزش نیز از او استفاده شده است. در سیستمهای مستقل از گوینده چندین نفر برای آموزش استفاده کرده ایم، استفاده کنیم.
در سیستمهای وابسته به گوینده این مشکل وجود دارد که هر بار که نیاز به گفتار گوینده جدیدی باشد، لازم است که سیستم دوباره بوسیله گوینده جدید آموزش داده شود. ولی مزیتی که این روش دارد این است که این سیستم به نتایج بهتری در بازشناسی در مقایسه با یک سیستم مستقل از گوینده دست می یابد.
1-3-2) باز شناسی لغات مجزا و گفتار پیوسته
در سیستم بازشناسی لغات مجزا از بیانهای مجزای گفتار برای آموزش استفاده می شود. چون بیانهای مجزا اغلب لغات هستند، این نوع بازشناسی گفتار معمولاً بازشناسی " لغات مجزا" نامیده می شود. در فاز تشخیص فرض بر این است که گوینده جملاتی را با فواصل به اندازه کافی طولانی بین لغات ادا می کند. معمولاً حداقل زمان چند دهم ثانیه لازم است تا سکوت با اصوات ضعیف اشتباه نشود.
در سیستم بازشناسی گفتار پیوسته که پیچیده ترین سیستم بازشناسی است، گوینده پیغام خود را به صورت یک جمله عادی بیان می کند. در مرحله اول سیستم باید بتواند مرزهای متغیر ناشناخته در گفتار را تشخیص دهد. در مرحله بعد اثرات هم ادایی که شامل اثرات اصوات بر یکدیگر و نیز افزودن یا حذف برخی اصوات است توسط سیستم در نظر گرفته می شود.
در این حالت در مدلسازی ، واحدهای زیر لغوی (سیلاب، فونم، فون و ... ) همبستگی های بین کلمه ای و داخل کلمه ای اصوات مد نظر قرار می گیرند.
در بازشناسی گفتار پیوسته با دایره لغات کوچک ، تکنیک دیگری به نام بازشناسی گفتار متصل(connected word)مورد استفاده قرار می گیرد. در این روش یک جمله توسط سر هم کردن مدل های ساخته شده برای لغات مجزا تشخیص داده می شود. در این روش مدل کردن اثرات ناشی از پشت سر هم قرار گرفتن کلمات یا اثرات همبستگی بین کلمه ای و داخل کلمه ای مورد نظر نمی باشد.
1-3-3) اندازه دایره لغات:
با افزایش اندازه دایره لغات، هم کارایی و هم سرعت سیستم بازشناسی گفتار کاهش یافته و میزان حافظه لازم در سیستم افزایش می یابد.
به طور معمول سیستمهای با اندازه دایره لغات100-1 کلمه ، سیستمهای با اندازه لغات "کوچک" 1000-100 کلمه ، اندازه" متوسط" و بیشتر از 1000 کلمه ، اندازه " بزرگ" خوانده می شوند.
سیستمهای با دایره لغات کوچک در کاربردهایی نظیر تشخیص کارت اعتباری و شماره تلفن مورد استفاده قرار می گیرند. مانند شماره گیرهای صوتی در گوشیهای تلفن همراه. تمرکزسیستمهای با دایره لغات متوسط در سیستمهای آزمایشگاهی تحقیقاتی روی تشخیص گفتار پیوسته می باشد و سیستمهای با دایره لغات بزرگ نیز در تولیدات تجاری و در کاربردهای گوناگون به کار گرفته شده اند. مانند فرهنگ لغات گویا و مترجمهای جیبی.
برای کاربردهای با دایره لغات کوچک (به عنوان مثال تشخیص رشته های عددی) اغلب روشهای بازشناسی لغت مجزا استفاده میشوند. در این موارد مدلی برای هر کلمه از دایره لغات در سیستم موجود است و برای تشخیص هر کلمه ، کلیه مدلها تست می شوند. هر جه دایره لغات بزرگتر شود آموزش و ذخیره سازی مدل برای هر کلمه و نیز بازشناسی مشکلتر می گردد. معمولاً در این حالت مدلهایی با اجزای زیر لغوی در نظر گرفته می شود و الگوریتم های جستجو برای تشخیص ، پیچیده تر می شوند و در عین حال برای حذف اجزای بی معنی و نامناسب در جملات باید از محدودیت های زبانی ( نظیر محدودیت های گرامی و معنایی) نیز بهره جست.