اطلاعیه

Collapse
No announcement yet.

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

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

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

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

    melfilter همین فرمول رو محاسبه میکنه؟و تبدیل فرکانس به مل رو فقط؟(وبالاعکس)
    این رابطه ربطی به فیلتربانک نداره. رابطه فیلتر بانک در فایل گزارش "تشخیص صحبت با کلمات محدود..." هست (خط 33 تا 46 برنامه متلب در ص 26 از PDF).

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

    نوشته اصلی توسط hasting_m
    سوالات فوق برقراره همچنان.سایز ماتریس melfilter رو که میده،سطر ها ضرایب مل هست.ستون ماتریس چی رو نشون میده؟
    بعد از استخراج ویژگی ،طبق موضوع پروژه ام،این تشخیص واج مصوت باید بین کلمات باشه؟یا واج های مختلف رو بهش بدی و اون واج رو تشخیص بده؟
    الان این با روش HMM بخواد واج رو تشخیص بده،خب یک واج رو باید تخشیص بده،دیگه مسیر و وحالات مختلف و مسیر مشاهدات و..اش کجا هست؟فقط یک واج هست :sad:منظورم کاربرد الگیوریتم پیشرو و پسرو در این هست
    ستون ها فکر می کنم برای هر کدوم از فیلترهای فیلتربانک باشه(مطمئن نیستم).
    بستگی داره که هدفت توی پروژه چی باشه ولی با توجه به دیتابیست فکر می کنم اگه تشخیص واج مصوت بین واج ها رو بذاری بهتره(راحت تره).
    بردار مشاهده از روی بردار ویژگی به دست میاد که همون ضرایب MFCC هست و کلاس های خروجی واج ها هستند. چون بردار مشاهده باید سمبلیک باشه از طریق یکی از الگوریتم های k-means ، VQ یا GMM (یا روش های مشابه) بردار ویژگی (چند بعدی با مقادیر غیر متناهی) رو به بردار مشاهده (سمبلیک محدود) تبدیل کنید.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

    دیدگاه


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

      تا حالا اینقدر نوشتم.برای استخراج ویژگی هست
      clear all
      clc
      [data,fs,n]=wavread('e1.wav'
      N=512; %N=fs*delta,delta=32ms
      %overlap=50%
      nw=249;%nw=total number of frames
      for i=1:nw
      x(i,=data((i-1)*(N/2)+1:i*N-(i-1)*N/2);%size(x)=249*512
      y(i,1)=x(i,1);
      %Pre_emphasis
      for j=2:N
      y(i,j)=x(i,j)-0.97*x(i,j-1);
      end
      %multiple by hamming window
      y(i,=hamming(N)'.*y(i,;%size(y)=249*512
      end
      %feature extraction by mfcc
      hv=zeros(nw,N); % output matrix, each row is one frame; for Hamming window
      L=13
      M=melfilter(512,13,fs);% obtain mel filter bank coefficient by calling melfilter function
      Ml=size(M,2);% number of samples of each mel filter bank frequency band
      Emelh=zeros(nw,L);
      for i=1:nw
      %y(i,= i-th frame
      Y(i,=abs(fft(y(i,)); % fft-abs
      for l=1:L
      Al=sum(abs(M(l,).^2);% Mel window energy for normalizing Mel coef
      Emelh(i,l)=sum((abs(M(l,.*Y(1:Ml))).^2)/Al;% mel scale filter bank
      cmelh(i,=dct(log(Emelh(i,));% mel frequency filter bank coefficients,size(cmelh)=249*13
      end
      end

      دیدگاه


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

        سلام.قبلا گفته بودم دستورات متلب برای پردازش گفتار رو میخوام.منظورم مثلا دستوری برای محاسبه ی mfcc بود که استاد گفت:
        X=mfccezcr (y,8000,1000,13);
        8000 فرکانس نمونه برداری، 1000 تعداد فریمها در ثانیه و 13 تعداد ضریب MFCC برای پنجره است که نتیجه در ماتریس x قرار می گیرد و هر ستون ضرایب یک فریم است.
        حالا میخوام قسمت HMM رو انجام بدم.بهش گفتم با kevin murphy? گفت خود متلب hmm رو داره.
        برای این قسمت چکار کنم؟گفتید مشاهدات همون بردارهای ویژگی هستند که قبلش باید با GMM یا..اونا رو به بردار مشاهدات محدود تبدیل کنم از طرفی حالتها تو این مدل باید مخفی باشند.اما تو یک فایلی خوندم:
        " با فرض داشتن تقطیع واجی در دادگان آموزشی، الگوریتم segmental K-means به صورت زیر برای آموزش HMM هر واج به کار می رود:
        1- برای سیگنال های گفتاری تمام واج ها در دادگان گفتاری استخراج ویژگی صورت می گیرد و دنباله ای از بردارهای ویژگی برای هر واج استخراج می گردد.
        2- به ازای هر یک از واج های زبان تمام دنباله بردارهای ویژگی آن در دادگان گفتاری جمع آوری می شود.
        3- دنباله بردارهای ویژگی بین state های HMM مربوط به آن واج به طور مساوی تقسیم می گردند.
        4- میانگین و واریانس بردارهای مربوط به هر state محاسبه شده و به عنوان پارامترهای توزیع گوسی در آن state در نظر گرفته می شود.
        5- احتمال پرش بین state ها با استفاده از شمارش دنباله state منتسب به دنباله بردارهای ویژگی به دست می آید.
        6- به ازای هر نمونه از هر واج، یک الگوریتم ویتربی به ازای دنباله بردارهای ویژگی آن واج (دنباله مشاهدات) و دنباله stateهای HMM مربوط به آن واج اجرا می شود که در نتیجه آن بردارهای ویژگی به state های جدیدی منتسب می شوند.
        7- مراحل 4 تا 6 تکرار می شود تا زمانی که پارامترهای HMM به همگرایی برسند."
        این موارد فوق رو متوجه نشدم.چجوری پس اومده اینجا از stateها صحبت کرده؟مگه حالت ها دور از دسترس ما و مخفی نیستند؟؟

        دیدگاه


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

          سلام. منظورش از بند 3 احتمالاً مقداردهی اولیه به ماتریس A هست که البته میشه به صورت تصادفی(با رعایت شرط مجموع احتمالها = 1 و مقادیر بین 0 و 1) هم مقداردهی کرد.
          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
          لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
          با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
          اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
          یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

          دیدگاه


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

            نوشته اصلی توسط هـادی
            سلام. منظورش از بند 3 احتمالاً مقداردهی اولیه به ماتریس A هست که البته میشه به صورت تصادفی(با رعایت شرط مجموع احتمالها = 1 و مقادیر بین 0 و 1) هم مقداردهی کرد.
            سلام.خب وقتی حالات مخفی هست ابعاد این ماتریسو من از کجا بدونم؟که بخوام مقدار دهی اولیه کنم

            دیدگاه


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

              سلام
              اینجا تو متلب یک سری توضیحات برای HMM داره:
              start>(Help > Statistic Toolbox > User's Guide > Markov Models > Hidden Markov Models (HMM
              اما من هنوز اصل کار رو نفهمیدم
              تو پروژه هام 5تا واج مصوت داریم یعنی5تا کلاس یعنی 5تا مدل.
              1)حالا pi,A,B رو چجوری پیدا کنم؟اگر خودم باید مقدار بدم،خوب ماتریس با چه ابعادی باشه؟
              2)ماتریسBمشاهدات هست؟یعنی بردارهای ویژگی هر5تا واج رو کنار هم بذارم؟
              3)حالت ها(STAte)ها چی هستند؟همون5تا واج؟
              4)کلا همه اینا برام سواله. :angry:
              HMMمثالاش همش آب و هوابود.اونا رو نمیتونم به واجهای مصوت ربط بدم. :angry:مثلا ماتریس pi(حالت اولیه)اینجا چجوری معنی پیدا میکنه؟یعنی اول تو یک واج باشیمو بعد بریم به واج دیگه؟! oo:آخه جمله یا کلمه که نیست که دنباله داشته باشه و برای خودشHMM بسازه.یک دونه واج هست فقط
              باید اول آموزش بدیم؟یا اول اون الگوریتم پسرو وپیشرو ...یا ویتربی؟؟
              به نظر خودم که یک مرحله آموزش و یک مرحله تست باید داشته باشه.دیگه اینکه بخواهیم محتمل ترین مسیر رو(ویتربی)انتخاب کنیم ،چه معنی داره؟
              در هر فایلHMMی که توضیح داده ،همه این الگوریتم های فوق رو گفته(ویتربی.بام ولش...)برای این پروژه همش باید بکار گرفته شه؟
              هدف چیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟مفهوم اینا.خواهشا اگر میتونید همین مفهوم این کارا رو برام بگید(یک چیزی بجز این توضیحاتی که در مورد HMMهمه جا هست)
              کسی هست اصلا این مدل مخفی مارکوف رو کار کرده باشه؟
              ضمنا همونطور که قبلا هم گفتم،فایلهای صوتی من،تلفظ واج های یکسان بصورت پست سر هم هست.
              5)این تولبکاسهایی که میگیرم،فقط تو مسیر متلب باشه کافیه؟یعنی اگر تو دستورات برنامه استفاده شده باشه،دیگه خود متلب میفهمه و کارشو انجام میده دیگه؟؟
              6)برای این تولباکسها ،قاعدتا باید حالت کلی تو برنامه ش باشه.اما بعضی از خود تابع ها رو که اجرا میکنم،خطا میگیره .علت چیست؟(یا برخی رو میگه بیا بهشون مقدار بده.مثل melfilter)
              :angry:

              دیدگاه


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

                سلام.
                HMM تولباکس مورفی از HMM تولباکس Statistics متلب قوی تره و داخل خودش GMM هم داره.
                مقادیر بهینه تعداد حالت ها Q و طول بردار مشاهده O با سعی و خطا به دست میاد ولی حدود هر کدوم بسته به نوع ویژگی و کاربرد مشخصه که شما با مطالعه مقالات زمینه مورد مطالعه تون میتونید به دست بیاریدش.
                این فایل رو مطالعه کنید (اگه قبلاً خوندی یک بار با دقت بیشتر مطالعه کن).
                تولباکس باید به مسیر متلب اضافه بشه (با دستور addpath یا از طریق واسط گرافیکی File>Set Path) یا در پوشه جاری متلب باشه.
                ؟
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                دیدگاه


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

                  سلام
                  1.K-MEANS برای اینه که بردارهای ویژگی رو گسسته کنیم یا مدل رو بصورت تصادفی پیدا کنیم؟یعنی A,B ,PI?
                  برای بار nام خوندم فابلاتو.
                  2/میگی بردارهای ویژگی همون مشاهدات هستند .پس بردارهای ویژگی همون ماتریس توزیع احتمال(B)هست؟
                  3/تو فایل مورفی نوشتی که G تعداد کلاسهاهست.یعنی اینجا میشه 5تا؟هم 5تا کلاس هم 5تا مدل hmm
                  و هم تعداد حالات مخفی (Q)5تا؟این حالات مخفی همون واجها هستند نه؟چرا میگی با سعی و خطابدست بیاد.حالتها واج ها نیست؟.
                  من هزار بار دیگه هم هر چی مطلب وجود داره تو دنیای اینترنت رو بخونم متوجه نمیشششششششششم.آخه اون سوالای پست قبلیم که جوابشون یک کلمه ای هست.و وقت زیادی نمیگیره. :angry:چرا همونا رو جواب نمیدید؟ :sad:
                  مثلا4)ماتریس piتو آب و هوا که یک بعدی بود.اینجا تو فایلت چجوری ابعادش G*Q هست؟
                  5)تو متلب اونا رو مینویسم .به normalise ایراد میگیره و خطا میده.میگه
                  Undefined function or method 'normalise' for input
                  arguments of type 'double'.
                  خب اون HMMALL که باشه نباید خطا بده دیگه

                  دیدگاه


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

                    سلام.
                    1) برای گسسته کردن بردارهای ویژگی
                    2) ماتریس توزیع احتمال B نشون میده که هر حالتی با چه احتمالی به هر کدوم از مشاهدات مربوط میشه.
                    3) حالتها با تعداد واج ها ارتباطی نداره ممکنه اونجا مساوی شده باشند ولی ارتباطی نداره.
                    4) الان فایلها همرام نیست که ببینم و امکان دانلود هم ندارم ولی ماتریس PI باید یک بردار با G سطر (یا ستون) باشه.
                    5) احتمالاً تابع normalize فایلش توی مسیر نیست. خودت بنویس این تابع وظیفه اش اینه که ماتریس شبه تصادفی ایجاد شده رو طوری نرمالیزه کنه که مجموع احتمالات (در هر سطر یا ستون[الان یادم نیست سطری بود یا ستونی]) یک بشه.
                    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                    دیدگاه


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

                      سلام.تشکر.
                      1/برای تخمین پارامتر های pi.A,Bمگه نباید از k-means استفاده کرد؟
                      2/قبل اینکه بردارهای ویژگی رو به ورودی HMM بدیم،باید همگی رو در یک ماتریس قرار بدم و با k-means خوشه بندی و گسسته سازی بردارهای انجام بشه ؟
                      3/اگر همه بردارهای ویژگی رو در یک ماتریس بذارم و بعد با k-means خوشه بندی انجام بشه،
                      %a=center vector of cluster,m=wich cluster?
                      [m,a]=kmeans(O,5,'MAXIter',10000)
                      خب الان برای ورودی به HMM چی باید باشه؟بردار m که اعداد خوشه ها هست؟یا ماتریسa که مراکز خوشه ها رو نشان میده؟
                      فرض کنید که 5تا خوشه داریم.
                      4/اگر پاسخ مورد فوق m هست،بعدش باز برای ورودی به hmm باید اون بردارهای مشاهدات گسسته شده،رو به 5تا تفکیک کرد و جداگانه به hmm داد.درسته؟یا کل ماتریس m?
                      5/اگردر مورد فوق جداگانه بخواهیم بدهیم،از همون اول بردار mرو به 5قسمت میکنیم؟یا اینکه باید مثلا1ها رو در بردارm پیدا کنیم و در بردار مشاهده اولی قرار بدهیم و بعد باز 2ها....همیطور تا 5مین خوشه؟؟
                      6/شما برنامه های پروژتون رو همش خودتون نوشتید؟چون یکی تو سایت گفت،فهم برنامه مهم نیست،نمیدونم یه چیز دیگش مهمه oo:

                      دیدگاه


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

                        7/ضمنا هر بار که k-means اجرا میشه بردارها و نتایجش فرق میکنه .برای همین گفتم10000بار تکرار بشه که به مقدار ثابتی همگرا بشه.اما باز هم خوشه ها با هر بار اجرا جابجا میشه.مثلا یک بار نشون میده که 100تا تو خوشه 1هست یک بار میگه 100تا در2هست.یعنی ترتبیش عوض میشه.اینجوری هم که من باید طبق یه مقدار خاص برنامه رو ادامه بدم که اینم هی جابجا میشه،چجوری انجام بدم؟

                        دیدگاه


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

                          سلام.
                          1- فکر نمی کنم.
                          2- همه داده های آموزشی.
                          3- شماره خوشه
                          4- سوال نامفهومه. -- هر بردار ویژگی به یکی از مراکز نزدیک تره (فاصله اقلیدسی یا هر نوع دیگر)، شماره همون مرکز به جای بردار ویژگی قرار می گیره.
                          5- "
                          6- قسمت HMM از تولباکس مورفی استفاده کردم. مهمه بدونی که چطور باید از برنامه استفاده کنی و ترجیحاً بهتره بدونی با تغییر هر پارامتر ورودی چه اتفاقی میفته.
                          7- در k-means مراکز اولیه خوشه ها به صورت تصادفی انتخاب میشه. بعد در iteration های متوالی به مقدار بهینه نزدیک میشه. مقداری که در iteration آخر به دست میاد، ملاکه.
                          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                          لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                          با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                          اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                          یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                          دیدگاه


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

                            نوشته اصلی توسط هـادی
                            سلام.
                            1- فکر نمی کنم.
                            2- همه داده های آموزشی.
                            3- شماره خوشه
                            4- سوال نامفهومه. -- هر بردار ویژگی به یکی از مراکز نزدیک تره (فاصله اقلیدسی یا هر نوع دیگر)، شماره همون مرکز به جای بردار ویژگی قرار می گیره.
                            5- "
                            6- قسمت HMM از تولباکس مورفی استفاده کردم. مهمه بدونی که چطور باید از برنامه استفاده کنی و ترجیحاً بهتره بدونی با تغییر هر پارامتر ورودی چه اتفاقی میفته.
                            7- در k-means مراکز اولیه خوشه ها به صورت تصادفی انتخاب میشه. بعد در iteration های متوالی به مقدار بهینه نزدیک میشه. مقداری که در iteration آخر به دست میاد، ملاکه.
                            سلام.ممنون.خیلی کمکم کرد.منظورم از 4و 5این بود که گفتی که شماره اون بردارها رو که نماینده ی مرکز خوشه هست،رو باید به ورودی hmm بدم.خب چون 5تا مدل hmm دارم(5تا واج مصوت)پس بردارهای مشاهدات که وارد این میشند،هم باید 5تا باشه،درسته؟با خوشه بندی من الان یه بردار کلی دارم که شامل این 5تا بردار هست.منظورم این بود که از همون اول این بردار باید شماره های رو جدا کنم؟(کل برداربدست امده از خوشه بندی که شماره ها رو داره،بر 5تقسیم کنم و هر قسمت متعلق به 1بردار مشاهده باشه؟)
                            مثلا بردارمشاهدات اول تا 5 ام هر کدوم یک ماتریس باشند یک بعدی،متشکل از تعدادی شماره از1تا 5؟

                            دیدگاه


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

                              سلام. خواهش می کنم.
                              5 = تعداد کلاس های خروجی
                              در پنجره بندی (فریم بندی) سیگنال صوت، که با فواصل زمانی ثابت و همپوشانی مشخص انجام میشه، از هر فریم یک بردارn بعدی MFCC استخراج کردی، این بردارها رو به k-means میدی و به تعدادی خوشه به صورت شماره خوشه و مختصات n بعدی مرکز خوشه به دست میاری. بعد به جای هر بردار n بعدی MFCC (که اعشاری هم هستند) شماره خوشه ای که کمترین فاصله با اون رو داره میذاری. به این ترتیب بردار ویژگی سیگنال صوت که یک ماتریس m در n بود (m = تعداد فریم های سیگنال صوت که برای هر فایل میتونه متفاوت باشه و به زمانش بستگی داره) تبدیل میشه به یک بردار 1 در m که اسمش بردار مشاهده است.
                              لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                              لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                              با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                              اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                              یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                              دیدگاه


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

                                نوشته اصلی توسط هـادی
                                سلام. خواهش می کنم.
                                5 = تعداد کلاس های خروجی
                                در پنجره بندی (فریم بندی) سیگنال صوت، که با فواصل زمانی ثابت و همپوشانی مشخص انجام میشه، از هر فریم یک بردارn بعدی MFCC استخراج کردی، این بردارها رو به k-means میدی و به تعدادی خوشه به صورت شماره خوشه و مختصات n بعدی مرکز خوشه به دست میاری. بعد به جای هر بردار n بعدی MFCC (که اعشاری هم هستند) شماره خوشه ای که کمترین فاصله با اون رو داره میذاری. به این ترتیب بردار ویژگی سیگنال صوت که یک ماتریس m در n بود (m = تعداد فریم های سیگنال صوت که برای هر فایل میتونه متفاوت باشه و به زمانش بستگی داره) تبدیل میشه به یک بردار 1 در m که اسمش بردار مشاهده است.
                                احتمالا خراب گفتم.تا اینجا که گفتیو انجام دادم.
                                منظورم این بود ،این بردار 1درm کلشو بصورت یک ماتریس باید به ورودی hmm بدم؟یا اینکه ازون بردار 5تا برداربرای ورودی به hmm استخراج کنم؟
                                {{بعبارت دیگر
                                [LL,PI(g,,A(:,:,g),B(:,:,g)] = dhmm_em(Seqs, PI_g,A__g,B_g);
                                seqsکه ماتریس حاوی بردارهای آموزشی است،حاوی کلاین بردار 1*mهست؟ یا اینکه برای هر واج جداگانه هست؟}}
                                منظورم اینه که بنظرم باید seqs یا همون ورودی های hmm باید ماتریسی با ابعاد 1درm/5باشد؟؟؟یعنی کل اون بردار رو به 5قسمت تقسیم کنم(برای هر واج.یعنی m/5اول،مال بردار مشاهدات اولی،به ورودی hmmبرای آموزش داده بشه،m/5دوم،مال بردار مشاهدات دومی،به ورودی hmmبرای آموزش داده بشه،و...تا 5می)و هر کدوم از اون5تا جداگانه آموزش ببینه
                                سوال دومم اینه که دستور فوق که از روی فایل مورفی ات نوشتم، برای آموزش مدل هست؟

                                دیدگاه

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