اطلاعیه

Collapse
No announcement yet.

شناسایی واج های مصوت با مدل Hmm

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : شناسایی واج های مصوت با مدل Hmm

    نوشته اصلی توسط هـادی
    2- http://www.eca.ir/forum2/index.php?topic=74977.msg450390;topicseen#msg45039 0
    3- http://www.eca.ir/forum2/index.php?topic=73917.msg440820#msg440820
    سلام.
    4)شماره دو لینکی بود که سوال خودم بود.اونا رو که خونده بودم قبلا.الان منظورم اینه این اعداد چه ویژگی یی از صوت رو بیان میکنند؟
    5)درمورد توضیحی که در مورد تشخیص واج فرمودید،فایل صوتی که من دارم،صدای تلفظ چند گوینده پشت سر هم هست(گوینده های مختلف دراین پروژه اهمیت ندارند.یعنی مستقل ازگوینده)الان باید برای هر گوینده جداگانه این فریم بندی رو انجام بدم؟یعنی این مهم هست که تلفظ واج هر گوینده چه زمانی طول کشیده؟(این به DTW مربوط میشه؟باید هم طول بشند؟)
    از specgram تعداد نفرات تلفظ کننده را باید بشمرم؟(منظورم اینه که ببینم چند نفر تلفظ کردند که بعد برای هر نفر جداگانه فریم بندی کنم.)
    برای تشخیص واج هم مثل کلمه باید بین دو تا سکوت قراربگیره؟ :sad:
    فکر کنم خیلی بد گفتم :sad:
    6)اگر مستقل از گوینده باشه،بردارهای ویژگی که توسط گوینده های یک واج یکسان بدست میاد،باید مشابه باشند،درسته؟
    حالا اگر وابسته به گوینده باشه،چه اتفاقی میفته که این بردارها برای هر گوینده فرق میکنه؟

    دیدگاه


      #17
      پاسخ : شناسایی واج های مصوت با مدل Hmm

      الان یک سوال برای اینکه ببینم فهمیدم.
      شما گفتین با الگوریتم هایی مثل k-mean این گسسته و محدود سازی رو انجام بدم.الان تعداد خوشه های این الگوریتم یعنی مقدار k باید 6باشد؟چون6تا واج مصوت داریم.؟

      دیدگاه


        #18
        پاسخ : شناسایی واج های مصوت با مدل Hmm

        سلام.
        4- دقیقاً نمیدونم میتونی درباره MFCC سرچ کنی.
        5- من هنوز نمیدونم چه کاری میخوای انجام بدی؟ تشخیص واج یا کلمه؟
        اگه تشخیص واج مستقل از گوینده است که باید واج های مشابه گوینده های مختلف رو جدا کنی برای جدا کردنش اگه تعدادش کم باشه میتونی گوش کنی و با نرم افزارهای مبدل یا متلب یا هر چیزی که راحت تری جدا کنی. مهم نیست که واج ها هم طول باشن. از HMM میخوای استفاده کنی یا DTW؟ به هر حال برای هیچ کدوم از این روشها نیازی به همطول بودن نیست.
        بهتره هر واج از اولین لحظه شروع صدا شروع بشه و آخرش هم زمان پایان اون واج باشه.
        6- امتحان کنید.
        7- تعداد k به صورت تجربی به دست میاد. k های مختلف رو امتحان کن ببین کدوم بهتر جواب میده.
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

        دیدگاه


          #19
          پاسخ : شناسایی واج های مصوت با مدل Hmm

          نوشته اصلی توسط هـادی
          سلام.
          5- من هنوز نمیدونم چه کاری میخوای انجام بدی؟ تشخیص واج یا کلمه؟
          اگه تشخیص واج مستقل از گوینده است که باید واج های مشابه گوینده های مختلف رو جدا کنی برای جدا کردنش اگه تعدادش کم باشه میتونی گوش کنی و با نرم افزارهای مبدل یا متلب یا هر چیزی که راحت تری جدا کنی. مهم نیست که واج ها هم طول باشن. از HMM میخوای استفاده کنی یا DTW؟ به هر حال برای هیچ کدوم از این روشها نیازی به همطول بودن نیست.
          بهتره هر واج از اولین لحظه شروع صدا شروع بشه و آخرش هم زمان پایان اون واج باشه.
          7- تعداد k به صورت تجربی به دست میاد. k های مختلف رو امتحان کن ببین کدوم بهتر جواب میده.
          ممنون.
          7-همونطور که تو موضوع پروژه ام گفته ام،تشخیص واج هست.تشیص واج مصوت.ازونجایی هم که اسمی از گوینده تو موضوع پروژه ام ذکر نکرده،پس قاعدتا باید مستقل از گوینده باشه.واج های مصوت هم که 5تا هستند پس میشه 5تا کلاس.یا بعبارت دیگه 5تا خوشه.حالا چرا گفتین باید k های مختلف امتحان بشه؟اینو متوجه نشدم.
          4-فایل صوتی که باید رویش کار کنم تعداد زیادی از تلفظ های واج(فقط فقط واج)های مصوت هست.یعنی 5فایل صوتی که i e a u o رو داخلش تلفظ کردند.داخل هر فایل هم بگونه ای هست که مثلا تو فایل a همون a رو چندین نفر تلفظ کرده اند که صدای آآآآآآ... رو میشنویم.این رو برای قسمت بولد کرده گفتم.یعنی واج های مشابه دقیقا تو یک فایل قرار دارند دیگه.
          8-یعنی نگاه کنم ببینم چند نفر تلفظ کرده و هر کدوم چه مدت زمانی؟و بعد زمان هر کدوم رو جدا کنم و هر کدوم رو فریم بندی؟
          9-و یک سوال دیگه .پی دی اف گزارش کارتونو که خوندم،آخر صفحه 29 گفته بودی 5ویژگی از هر فریم استخراج میشه:
          لگاریتم انرژی.عبور از صفر.اولین ضریب تابع خودهمبستگی.لگاریتم خطای lpc,اولین ضریب lpc
          یعنی هر کدوم از اینا یک ویژگی حساب میشه.(یک عدد و نه یه بردار)پس من که برای استخراج بردارویژگی میخواستم از mfcc استفاده کنم.این هم یک دونه ویژگی بهم میده؟
          یعنی برای بدست آوردن بردارهای ویژگی از فقط mfccنمیشه استفاده کرد؟یا این با اون 5تایی که شما گفتی فرق داره؟

          دیدگاه


            #20
            پاسخ : شناسایی واج های مصوت با مدل Hmm

            7- تعداد خوشه ها به تعداد کلاس ها هیچ ارتباطی نداره با سعی و خطا مقداری رو به دست بیار که بهترین جواب نهایی رو بده.
            4- واج های مشابه رو جدا کن یعنی اگه مثلاً 20 نفر واج a رو تلفظ کردن 20 تا فایل a داشته باشی که در کلاس a قرار می گیرن.
            8- 4
            9- هر کدوم از ویژگی ها میتونن بیانگر یک خاصیت صوت باشن مثلاً نرخ عبور از صفر میتونه در تشخیص برخی صامت ها با مصوت ها ویژگی تفکیک کننده خوبی باشه. ممکنه بعضی ویژگی ها که با هم استفاده بشن اثر مخرب بذارن (به دلیل اثر overfitting) با آزمایش و خطا کاندیدهای نهایی برای ویژگی ها انتخاب میشن.
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
            اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
            یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

            دیدگاه


              #21
              پاسخ : شناسایی واج های مصوت با مدل Hmm

              ن

              دیدگاه


                #22
                پاسخ : شناسایی واج های مصوت با مدل Hmm

                4-خروجی MFCC یک برداره.
                تعداد عناصر خروجی هم ثابت نیست و میتونید تغییر بدین (فکر می کنم بین 11 تا 17 توصیه میشه)
                بله میتونی فقط از MFCC استفاده کنی ولی در صورت رضایت بخش نبودن نتیجه در صورت لزوم میتونی ویژگی های دیگه هم اضافه کنی.
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                دیدگاه


                  #23
                  پاسخ : شناسایی واج های مصوت با مدل Hmm

                  نوشته اصلی توسط هـادی
                  4- واج های مشابه رو جدا کن یعنی اگه مثلاً 20 نفر واج a رو تلفظ کردن 20 تا فایل a داشته باشی که در کلاس a قرار می گیرن.
                  4/از کجا بدونم چند نفر صحبت کردند؟و چجوری واج ها رو جدا کنم؟
                  یک جایی گفته بودی ،همون جور از روی شکل سیگنال،اونطوری که حدودش دیده میشه و نه تعداد نفرات و زمان دقیقش oo:
                  10/در اینجا هم مثل تشخیص کلمه حذف سکوت از بین واج ها،لازمه؟چون تو شکل صوت یک جاهایی مثل silence بود

                  دیدگاه


                    #24
                    پاسخ : شناسایی واج های مصوت با مدل Hmm

                    نوشته اصلی توسط هـادی
                    باید واج های مشابه گوینده های مختلف رو جدا کنی برای جدا کردنش اگه تعدادش کم باشه میتونی گوش کنی و با نرم افزارهای مبدل یا متلب یا هر چیزی که راحت تری جدا کنی. مهم نیست که واج ها هم طول باشن.
                    بهتره هر واج از اولین لحظه شروع صدا شروع بشه و آخرش هم زمان پایان اون واج باشه.
                    شاید واضح توضیح ندادم، واج a گفته شده توسط نفر اول => جدا شده و در فایل a1 در پوشه a ذخیره بشه و همین طور تا آخر.
                    حذف سکوت اصولاً انجام بشه بهتره.
                    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                    دیدگاه


                      #25
                      پاسخ : شناسایی واج های مصوت با مدل Hmm

                      نوشته اصلی توسط هـادی
                      شاید واضح توضیح ندادم، واج a گفته شده توسط نفر اول => جدا شده و در فایل a1 در پوشه a ذخیره بشه و همین طور تا آخر.
                      حذف سکوت اصولاً انجام بشه بهتره.
                      کل نفرات در یک فایل a رو (به اندازه تعدادشون{که نمیدونم چجوری باید بفهمم چند تا بودند؟ oo:})تلفظ کردن.سوالمم همین بود که فرمودید واج نفر اول رو جدا کن.چجوری؟از کجا بدونم اولین نفر و...چه مدت زمانی تلفظشون طول کشیده؟
                      درهر صورت،صرف نظر از این سوالم، میرم از همون اول هر فایل رو فریم بندی میکنم با هم پوشانی 50% و زمان20ms.
                      11)اما چند تا فریم داشته باشم؟؟؟تا آخر فایل صوتی رو که بخوام بگیرم،یه عالمه فریم میشه که نیاز نیست oo:
                      12)از روش mfcc که استفاده کنم،ابعاد بردارهای ویژگی بدست آمده،باید= تعداد فریم ها*تعدادضرایب mffcc ی انتخابی،باشه؟
                      13)1)برای mfcc بعد که FFT گرفتم باید از فیلترهای مقیاس Mel عبور داده بشه.یعنی فرمول زیر رو باید بنویسم؟
                      عرض باند فیلتردر مقیاس مل :
                      B(f)=1125ln(1+f/700)
                      13)2)این فرمول عرض باند برای مل درست هست؟چون چند جا تو سایت برای مل یک فرمول دیگه دیدم.اما استادم اینو گفته.
                      13)3)این f که در فرمول بالا هست،یعنی مقدار FFT سیگنال رو بجای f قرار بدم؟یا ماکزیمم فرکانس FFt رو؟f چیه؟
                      الان میفهمم که هیچی تو کلاسام نفهمیدم

                      دیدگاه


                        #26
                        پاسخ : شناسایی واج های مصوت با مدل Hmm

                        چند بار توضیح بدم؟
                        یا به فایل گوش کن و صدای هر شخص رو جدا کن (با هر نرم افزاری که راحت تری) یا از روی سکوت (Silence) بین صدای افراد مختلف به صورت اتوماتیک جدا کن.
                        11) برای صدای هر گوینده، یک فایل ساخته میشه و از اون ویژگی استخراج میشه.
                        12) بله.
                        13)
                        1 و 2 - ضریب Log10 فکر می کنم 2595 باشه که احتمالاً اگه به جای Log10 از Ln استفاده کنی میشه 1125. (چک کن).
                        3- f = فرکانس (خروجی fft).
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                        دیدگاه


                          #27
                          پاسخ : شناسایی واج های مصوت با مدل Hmm

                          تابع melfilter چه کار انجام میده؟ضرایب فیلتر بانک رو به ما میده؟یعنی پس اگر L=13به ما ضرایب dct رو میده؟
                          melfilter(N,fs,L)
                          اینجا که اگر N رو خودمون بهش بدیم،پس دیگه هم پوشانی رو چجوری تابع میفهمه؟یا این تابع رو بنویسم دیگه dct معنی نداره.
                          هم پوشانی،عبور از پیش تاکید،فریم بندی و...اینا ها با این تابع تداخل ندارند؟کجا باید بگم؟قبل تابع یا بعدش؟و اگر باز اینها رو بنویسم که این تابع کار خودش رو انجام میده،به این پیش تاکید و...کاری نداره.چون وابسته به اون نیست :sad:

                          دیدگاه


                            #28
                            پاسخ : شناسایی واج های مصوت با مدل Hmm

                            B(f)=1125ln(1+f/700
                            به این فرمول یه نقطه ی FFT میدیم در جواب به ما B(f) میده چرا میگیم B پهنای بانده؟(یعنی یه محدوده فرکانسی)مگر حاصلش مگه یک نقطه(یک فرکانس )نیست؟؟
                            بعد چجوری ازین فرمول اون فیلتر بانک(اون مثلث ها)تولید میشه؟اینکه به ازای هر نقطه یک نقطه میده

                            melfilter همین فرمول رو محاسبه میکنه؟و تبدیل فرکانس به مل رو فقط؟(وبالاعکس)

                            دیدگاه


                              #29
                              پاسخ : شناسایی واج های مصوت با مدل Hmm

                              *برای تابع melfilter یک script فانکشن جداگانه درست کردم.چرا داخل این تابع باید حتما مقدار L و N مشخص باشه؟وگرنه خطا میده.مگر این تابع حالت کلی نیست؟ونباید مقدار N , L در برنامه اصلی ذکر شود؟؟
                              **در برنامه اصلی گفتم N=512 , L=13باشه بقیه برنامه هم مشابه اونچه در گزارش پروژه ت گفتی نوشتم (برای مرحله استخراج ویژگی) حالا تو متلب وقتی مینویسم که سایز M رو بگو(M=melfilterهست)میگه512*13هست.
                              این256 از کجا میاد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
                              تعداد نمونه های هر فریم که 512تا هست.کل نمونه ها هم64000تا.همپوشانیشون50%.یعنی میشه249تا فریم.حالا این 256 چیه؟؟
                              نباید بُعدش 512*13باشه؟ :angry:

                              دیدگاه


                                #30
                                پاسخ : شناسایی واج های مصوت با مدل Hmm

                                سوالات فوق برقراره همچنان.سایز ماتریس melfilter رو که میده،سطر ها ضرایب مل هست.ستون ماتریس چی رو نشون میده؟
                                بعد از استخراج ویژگی ،طبق موضوع پروژه ام،این تشخیص واج مصوت باید بین کلمات باشه؟یا واج های مختلف رو بهش بدی و اون واج رو تشخیص بده؟
                                الان این با روش HMM بخواد واج رو تشخیص بده،خب یک واج رو باید تخشیص بده،دیگه مسیر و وحالات مختلف و مسیر مشاهدات و..اش کجا هست؟فقط یک واج هست :sad:منظورم کاربرد الگیوریتم پیشرو و پسرو در این هست

                                دیدگاه

                                لطفا صبر کنید...
                                X