اطلاعیه

Collapse
No announcement yet.

پردازش گفتارباشبکه عصبی

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

    پردازش گفتارباشبکه عصبی

    باسلام.
    ببخشیددوستان من پروژه ای دارم که دراون بایدویژگی های mfccرا برای 25 تافایل صدایyesو25فایل صدای no استخراج کنم وسپس به شبکه عصبی بادستورnntoolاموزش بدهم.خروجی شبکه عصبی باید یک عدد باشد که مشخص کند کدام فرمان گفته شده .90درصدداده هارابرای داده های trainانتخاب کردم و10درصدرابرای testگذاشتم.اماابعادبردارویژگی برای صدایyesباصدایnoمتفاوت است.استادم گفتن که بایدبردارهارانرمال کنم وبرای اینکارهم بایدقبلش بردارهاراتکه تکه کنم.ایاکسی میتونه بمن کمک کنه؟ممنون

    #2
    پاسخ : پردازش گفتارباشبکه عصبی

    خوب الان مشکلتون دقیقا چیه؟

    دیدگاه


      #3
      پاسخ : پردازش گفتارباشبکه عصبی

      سلام.

      ببینیدمن کدزیررانوشتم.که دران اندازه وفازوCepstrumتعدادی ازصداهارامحاسبه میکند.حالامیخواهم یک بردارtrainfeatureبنویسم که سطراول ان Cepstrumمربوط به صدای اول باشدوسطردوم Cepstrumمربوط به صدای دوم و...ولی بردارهای c1وc2ابعادشون باهم فرق میکنه.واصلانمیدونم چگونه همچین ماتریسی راتعریف کنم ؟وقتی هم که دستورnntoolرامیزنم اصلاc1وc2رانمیتوان برای داده های inputتعریف کرد.یعنی جزو لیست داده هانمیاد.بایدچیکارکنم تاابعادc1وc2یعنی همون بردارهای ویژگی یکسان بشه وبشه به عنوان داده های ورودی به شبکه عصبی معرفیشون کنم؟

      clc;
      K1=10;
      for i = 6 : K1,
      filename = ['C:\Users\Mahamir\Desktop\train\yes&#039 ;,int2str(i),'.wav'];
      [x1,fs] = wavread(filename);
      end
      for i = 6:K1,
      filename = ['C:\Users\Mahamir\Desktop\train\no' ,int2str(i),'.wav'];
      [x2,fs] = wavread(filename);
      end


      save 'text1' x1
      save 'text2' x2
      M=10;
      %text2emulation
      for i =1 : 5,
      load 'text1'
      Y1=fft(x1);
      w=(0:length(x1)-1)/length(x1)*2*pi;
      figure(i);

      subplot(2,2,1)
      plot(w,abs(Y1))
      xlabel('w&#039
      ylabel('size&#039
      title('yes'

      C1=fft(log(abs(Y1)+eps));% cepstrum is DFT of log spectrum

      subplot(2,2,2)
      plot(w,angle(Y1))
      xlabel('w&#039
      ylabel('phase&#039

      ms1=fs/1000; % maximum speech Fx at 1000Hz
      ms20=fs/50; % minimum speech Fx at 50Hz
      % plot between 1ms (=1000Hz) and 20ms (=50Hz)
      q=(ms1:ms20)/fs;
      subplot(2,2,3);
      plot(q,abs(C1(ms1:ms20)));
      legend('Cepstrum'
      xlabel('Quefrency (s)'
      ylabel('Amplitude'
      end
      for j = 5 : M,
      load 'text2'
      Y2=fft(x2);
      w=(0:length(x2)-1)/length(x2)*2*pi;
      figure(j);

      subplot(2,2,1)
      plot(w,abs(Y2))
      xlabel('w&#039
      ylabel('size&#039
      title('no'
      C2=fft(log(abs(Y2)+eps));% cepstrum is DFT of log spectrum
      subplot(2,2,2)
      plot(w,angle(Y2))
      xlabel('w&#039
      ylabel('phase&#039

      ms1=fs/1000; % maximum speech Fx at 1000Hz
      ms20=fs/50; % minimum speech Fx at 50Hz
      % plot between 1ms (=1000Hz) and 20ms (=50Hz)
      q=(ms1:ms20)/fs;
      subplot(2,2,3);
      plot(q,abs(C2(ms1:ms20)));
      legend('Cepstrum'
      xlabel('Quefrency (s)'
      ylabel('Amplitude'
      end

      دیدگاه

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