ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 2 از 5 نخست 12345 آخرین
نمایش نتایج: از 11 به 20 از 49
  1. #11
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    کسی نیست کمک کنه؟
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  2. #12
    2007/10/14
    تهران
    1,335
    41

    پاسخ : پروژه پردازش گفتار با HMM

    اگه برنامه و دیتا رو بذاری شاید بتونم کمک کنم. یا حداقل درباره اش توضیح بده.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  3. #13
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    1. پیش تاکید: سیگنال گفتار S(n) به یک فیلتر بالاگذر فرستاده میشود
    s2(n) = s(n) - a*s(n-1)
    که در آن S2 (N) سیگنال خروجی و مقدار آن معمولا بین 0.9 و 1.0 است. فیلتر تبدیل Z
    H(z)=1-a*z-1
    هدف از پیش تاکید جبران بخش فرکانس بالای صدای انسان است که در مکانیسم تولید ازبین رفته است. علاوه بر این، می تواند فرکانس بالای سیگنال را تقویت کند. مثال بعدی اثر پیش تاکید نشان می دهد.
    1. waveFile='whatFood.wav';
    2. [y, fs, nbits]=wavread(waveFile);
    3. a=0.95;
    4. y2 = filter([1, -a], 1, y);
    5. time=(1:length(y))/fs;
    6. wavwrite(y2, fs, nbits, 'whatFood_preEmphasis.wav'
    7.
    8. subplot(2,1,1);
    9. plot(time, y);
    10. title('Original wave: s(n)'
    11. subplot(2,1,2);
    12. plot(time, y2);
    13. title(sprintf('After pre-emphasis: s_2(n)=s(n)-a*s(n-1), a=%f', a));
    14.
    15. subplot(2,1,1);
    16. set(gca, 'unit', 'pixel'
    17. axisPos=get(gca, 'position'
    18. uicontrol('string', 'Play', 'position', [axisPos(1:2), 60, 20], 'callback', 'sound(y, fs)'
    19. subplot(2,1,2);
    20. set(gca, 'unit', 'pixel'
    21. axisPos=get(gca, 'position'
    22. uicontrol('string', 'Play', 'position', [axisPos(1:2), 60, 20], 'callback', 'sound(y2, fs)'
    در مثال بالا، گفتار پس از پیش تاکید واضح تر و با حجم کوچکتر به نظر میرسد.
    2. مسدود کردن قاب: سیگنال گفتار ورودی به فریم از 20 ~ 30 میلی ثانیه با همپوشانی اختیاری از 1/3 تا 1/2 اندازه قاب تقسیم شده است. به منظور تسهیل در استفاده از FFT معمولا اندازه قاب (از نقطه نظر نمونه) با توان 2 سیگنال برابر است. اگر این چنین نشد ، ما باید در نزدیکترین طول قدرت دو، عبور از صفر را پیدا کنیم. اگر نرخ نمونه برداری KHz16 و اندازه فریم 320 باشد بنابراین مدت زمان فریم برابر است با:
    320/16000 = 0.02 sec = 20 ms
    علاوه بر این اگر همپوشانی 160 نقطه باشد بنابراین نرخ فریم 16000/(320-160) = 100 فریم در ثانیه میشود.

    3. پنجره همینگ: هر فریم باید با یک پنجره همینگ به منظور حفظ تداوم اولین و آخرین نقطه در فریم ضرب شود (در گام بعدی به تفصیل شرح داده میشود). اگر سیگنال در یک فریم مشخص شده است s(n), n = 0,…N-1, سپس سیگنال پس از پنجره همینگ به صورت s(n)*w(n), جاییکه w(n) توسط پنجره همینگ تعریف شده:
    w(n, ) = (1 - ) -  cos(2n/(N-1)),0≦n≦N-1
    مقادیر مختلف مربوط به منحنی های مختلف برای پنجره همینگ در شکل بعدی نشان داده شده است:
    1. % Plot of generalized Hamming windows
    2. N=100;
    3. n=(0:N-1)';
    4. alpha=linspace(0,0.5,11)';
    5. h=[];
    6. for i=1:length(alpha),
    7. h = [h, (1-alpha(i))-alpha(i)*cos(2*pi*n/(N-1))];
    8. end
    9. plot(h);
    10. title('Generalized Hamming Window: (1-\alpha)-\alpha*cos(2\pin/(N-1)), 0\leqn\leqN-1'
    11.
    12. legendStr={};
    13. for i=1:length(alpha),
    14. legendStr={legendStr{:}, ['\alpha=', num2str(alpha(i))]};
    15. end
    16. legend(legendStr);

    در عمل، مقدار آن به 0.46 تنظیم شده است. نرم افزار MATLAB نیز دستور همینگ برای تولید منحنی پنجره همینگ را فراهم می کند.

    4. تبدیل فوریه سریع (FFT): تجزیه و تحلیل طیفی ،توزیع انرژی های مختلف مربوط به تن های مختلف در سیگنال گفتار بر روی فرکانس را نشان می دهد. بنابراین ما معمولا FFT را برای به دست آوردن پاسخ فرکانسی مقدار هر فریم اعمال میکنیم.
    هنگامی که ما FFT بر روی یک فریم اعمال میکنیم ، ما فرض می کنیم که سیگنال در داخل یک فریم تناوبی شده است ، و پیوسته در هنگام پیچیدن در اطراف میباشد. اگر اینطور نبود ،ما هنوز هم قادر به اعمال FFT هستیم ولی در نقاط ابتدایی و انتهایی در پاسخ دفرکانسی نقاط نامطلوب خواهیم داشت. دو استراتژی پیش روی ماست:
    A. ضرب هر فریم توسط یک پنجره همینگ برای افزایش تداوم آن در اولین و آخرین نقاط.
    B. نگاهی به فریم یک اندازه متغیر به طوری که همیشه شامل یک عدد صحیح از دوره های اساسی از سیگنال گفتارباشد.
    استراتژی دوم برخورد با مشکل در عمل یک مشکل ساده و ناچیز نیست. علاوه بر این، سیگنال صدا unvoiced یک دوره اساسی در کل تناوب ندارد. در نتیجه، ما معمولا با استراتژی اول قبل از انجام FFT به انجام ضرب فریم یک پنجره همینگ میپردازیم.
    مثال زیر اثر ضرب یک پنجره همینگ را نشان می دهد.
    1. fs=8000;
    2. t=(1:512)'/fs;
    3. f=306.396;
    4.
    5. original=sin(2*pi*f*t)+0.2*randn(length(t),1);
    6. windowed=original.*hamming(length(t));
    7. [mag1, phase1, freq1]=fftOneSide(original, fs);
    8. [mag2, phase2, freq2]=fftOneSide(windowed, fs);
    9.
    10. subplot(3,2,1); plot(t, original); grid on; axis([-inf inf -1.5 1.5]); title('Original signal'
    11. subplot(3,2,2); plot(t, windowed); grid on; axis([-inf inf -1.5 1.5]); title('Windowed signal'
    12. subplot(3,2,3); plot(freq1, mag1); grid on; title('Energy spectrum (linear scale)'
    13. subplot(3,2,4); plot(freq2, mag2); grid on; title('Energy spectrum (linear scale)'
    14. subplot(3,2,5); plot(freq1, 20*log10(mag1)); grid on; axis([-inf inf -20 60]); title('Energy spectrum (db)'
    15. subplot(3,2,6); plot(freq2, 20*log10(mag2)); grid on; axis([-inf inf -20 60]); title('Energy spectrum (db)'


    در مثال بالا سیگنال تابعی با شکل موج سینوسی بعلاوه نویز بود. بدون استفاده از پنجره همینگ ناپیوستگی در فریم های اولیه و نقاط انتهایی قله ها را در پاسخ فرکانسی عریض و کمتر نمایان میساخت. با استفاده از همینگ در پاسخ فرکانسی قله ها تیزتر ونمایان تر خواهند شد.
    به عنوان نمونه مثال زیر از این استفاده میکند:
    1. waveFile='littleStar.wav';
    2. [y, fs]=wavread(waveFile);
    3.
    4. n=512;
    5. t=(1:n)'/fs;
    6. startIndex=30418;
    7. endIndex=startIndex+n-1;
    8.
    9. original=y(startIndex:endIndex);
    10. windowed=original.*hamming(n);
    11. [mag1, phase1, freq1]=fftOneSide(original, fs);
    12. [mag2, phase2, freq2]=fftOneSide(windowed, fs);
    13.
    14. subplot(3,2,1); plot(original); grid on; axis([-inf inf -1 1]); title('Original signal'
    15. subplot(3,2,2); plot(windowed); grid on; axis([-inf inf -1 1]); title('Windowed signal'
    16. subplot(3,2,3); plot(freq1, mag1); grid on; title('Energy spectrum (linear scale)'
    17. subplot(3,2,4); plot(freq2, mag2); grid on; title('Energy spectrum (linear scale)'
    18. subplot(3,2,5); plot(freq1, 20*log(mag1)); grid on; axis([-inf inf -80 120]); title('Energy spectrum (db)'
    19. subplot(3,2,6); plot(freq2, 20*log(mag2)); grid on; axis([-inf inf -80 120]); title('Energy spectrum (db)'

    در مثال بالا ما از یک فریم از یک کلیپ صوتی بود استفاده کردیم. با استفاده از پنجره همینگ ،هارمونیها در پاسخ فرکانسی بسیار تیزتر شده اند.
    یادآوری میشود که اگر در سیگنال ورودی فریمی با 3 پریود همانند باشد دردامنه پاسخ فرکانسی شامل 2 صفر بین هر دو نقطه از همسایگی پاسخ فرکانسی سیگنال پایه پریود وارد خواهد شد. به عبارت دیگر هارمونیک ها در پاسخ فرکانسی بوسیله تکرار پریود در فریم باعث این خواهند شد. اگرچه ما بیشتر علاقه مند به پنهان کردن خود پاسخ فرکانسی هستیم. برای توسعه ازفیلتر میان گذر مثلثی استفاده میکنیم که در قسمت بعدی توضیح داده شده است.
    5. ما دامنه های پاسخ فرکانسی را بصورت دسته های از 20 فیلتر میان گذر برای رسیدن به لگاریتم انرژی از هر فیتر میان گذر مثلثی ضرب میکنیم. جایگاه این فیلترها برابر فضای فرکانس مل که مربوط به فرکانس عمومی خطی است بصورت زیر خواهد بود:
    mel(f)=1125*ln(1+f/700)
    فرکانس مل نسبیتی از لگاریتم از یک فرکانس خطی است، بازتاب شبیه این اثر در شنیداری انسان وجود دارد. مثال زیر رسم نمودار و رابطه بین مل و فرکانس خطی میباشد.
    1. linFreq=0:8000;
    2. melFreq=lin2melFreq(linFreq);
    3. plot(linFreq, melFreq);
    4. xlabel('Frequency'
    5. ylabel('Mel-frequency'
    6. title('Frequency to mel-frequency curve'
    7. axis equal tight

    در عمل ما دو انتخاب در فیلتر میان گذر مثلثی داریم ، همانطور که در قسمت بعد نشان داده شده:
    1. fs=16000;
    2. filterNum=20;
    3. plotOpt=1;
    4. getTriFilterBankPrm(fs, filterNum, plotOpt);
    ددلایل استفاده از فیلتر میان گذر باند میانی بشرح زیر است:
    • صاف کردن دامنه طیف همانند هارمونی های که پهن شده اند، برای باقی ماندن در طیف با هارمونی ها. این نشان میدهد که زیر و بمی صدا عموما در MFCC ارایه نخواهد شد. در نتیجه سیستم تشخیص گفتار بیشتر یا کمتر شبیه سیگنال گفتار ورودی سیگنال خروجی را بیان میکند فقط با کمی زیری یا بمی.
    • کاهش درگیری با خصوصیات و ویژگی ها
    6. تبدیل کسینوسی گسسته (Discrete cosine transform):در این مرحله ،ما با تبدیل فوریه کسینوسی ،20 لگاریتم انرژی Ek را از فیلتر میان گذر مثلثی بدست می آوریم.
    فرمول تبدیل فوریه کسینوسی به صورت زیر میباشد:
    Cm=k=1Ncos[m*(k-0.5)*/N]*Ek, m=1,2, ..., L
    که در آن N تعداد از فیلتر میان گذر مثلثی و L تعداد ضرایب مقیاس مل است. معمولا N=20 و L=20 در نظر گرفته میشود. زمانیکه FFT و DCT محاسبه میشود دامنه فرکانس به شبه زمانی بنام دامنه کوفرنس تبدیل میشود. این ویژگی های به دست آمده شبیه به سپسترام (cepstrum)هستند، در نتیجه آن را به عنوان مل در مقیاس ضرایب شریک، یا MFCC (mel-scale frequency cepstral coefficients)
    7. انرژی لگاریتم: انرژی در داخل یک فریم است همچنین از ویژگی های مهم که می تواند به آسانی به دست آید. از این رو ما معمولا انرژی ورود به سیستم را به عنوان ویژگی های سیزدهم MFCC اضافه میکنیم. اگر لازم باشد، ما می توانیم برخی از ویژگی های دیگر در این مرحله، از جمله بمی، نرخ صفر متقابل، به منظور حرکت طیفبالا، و به همین ترتیب اضافه خواهد شد.
    8. سپسترام دلتا: که آن را نیز مزیتی نسبت به مشتقات زمان (انرژی +MFCC ) به عنوان ویژگی جدید، که نشان دهنده سرعت و شتاب (انرژی +MFCC ) میباشد.
    معادلات برای محاسبه این ویژگی ها عبارتند از:
    △Cm(t) = [St=-MMCm(t+t)t] / [St=-MMt2]
    مقدار M معمولا 2 تنظیم میشود. اگر ما سرعت را اضافه کنیم ، مقدار ویژگی بعد(dimension)26 است. اگر ما هر دو مقدار سرعت و شتاب را اضافه کنیم ،مقدار ویژگی بعد39 است. بسیاری از سیستم های تشخیص گفتار بر روی کامپیوتر از این ویژگی های 39 بعدی برای تشخیص استفاده میکنند.
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  4. #14
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    الان اینجا یه نمونه صدا داده میشه و پردازش شده در خروجی مشاهده میشه
    حالا چطور باید اونو با مدل مارکوف اموزش دیده :eek: کنیم؟
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  5. #15
    2007/10/14
    تهران
    1,335
    41

    پاسخ : پروژه پردازش گفتار با HMM

    درباره نحوه استفاده از تولباکس مورفی توی فایل چند پست قبل توضیح دادم و یک نمونه برنامه تست شده (بدون دیتا) هم گذاشتم فکر می کنم توضیحاتش واضح باشه خودم که این کارو شروع کردم اوایل خیلی باهاش ور رفتم و از روی همین فایل مثال نحوه استفاده رو فهمیدم.
    درباره کاربرد مدل مخفی مارکوف در پردازش صوت هم منبع رابینر رو توی یک تاپیک دیگه معرفی کردم که منبع خیلی خوبیه.
    شما الان ویژگی ها رو استخراج کردی، کافیه اونها رو برنامه بدی و نتیجه بگیری. کد قسمتی که از HMM استفاده کردی بذار، کدی که گذاشتی مربوطه به استخراج ویژگی هست.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  6. #16
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    مشکل اینجاس که اصلا از HMM استفاده نکردم
    یعنی نتونستم که استفاده کنم
    اصلا میشه از اولش بفرمایید که چکار میکنید؟
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  7. #17
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    :angry:
    دوستان ممکنه لطف بفرمایند وکمک کنند
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  8. #18
    2007/10/14
    تهران
    1,335
    41

    پاسخ : پروژه پردازش گفتار با HMM

    ببين رضا جان تا شروع نکني نبايد انتظار نتيجه داشته باشي، فايلي که گذاشتم دانلود کن بخون و سعي کن بفهمي روالش چطوريه بعدش اگه توي کدنويسي مشکلي بود در خدمتم چون الان هر چي که بخوام بگم همون چيزيه که توي فايل هست.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  9. #19
    2013/04/14
    Semnan City
    105
    0

    پاسخ : پروژه پردازش گفتار با HMM

    مهندس جان من فایلوخوندم
    حالا 100% نه ولی تقریبا متوجه شدم داستان چی هست
    الان سوالی که دارم اینه که اون برنامه رو اگر مطالعه بفرمایید یه ورودی داره یه خروجی
    حالا من خودم اون برنامه رو ننوشتم ولی چطوری ربطش بدم به HMM ?
    و اینکه اون خودش ورودی و خروجی خودشو داره
    از اینکه راهنمایی میکنید کمال تشکر را دارم
    آنقدر شکست میآ*خورم تا راه شکست دادن را بیاموزم
  10. #20
    2007/10/14
    تهران
    1,335
    41

    پاسخ : پروژه پردازش گفتار با HMM

    سلام. بابت تأخیر در جواب شرمنده.
    ورودی مدل مخفی مارکوف، مشاهدات O هستند که همون ویژگی های استخراج شده هستند، به دلیل ویژگی ساختاری مدل مخفی مارکوف لازم نیست که این بردارها هم طول باشند، برای هر کلاس یک مدل جداگانه آموزش داده می شود یعنی برای هر کلاس یک مجموعه A,B,PI داریم.
    در مرحله تست، بردار ویژگی (مشاهده) به تمام مدل ها داده می شود و مدلی که بیشترین مقدار خروجی را داشته باشد، به عنوان کلاس ورودی در نظر گرفته می شود.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
صفحه 2 از 5 نخست 12345 آخرین
نمایش نتایج: از 11 به 20 از 49

موضوعات مشابه

  1. هوش مصنوعی و شبکه های عصبی پردازش تصویر و پردازش گفتار تحت AForge.net
    توسط amindotb در انجمن پردازش سيگنال و هوش محاسباتي
    پاسخ: 0
    آخرين نوشته: 2014/08/20, 00:14
  2. پردازش سیگنال گفتار با روش های FS
    توسط mastane11 در انجمن پردازش صدا
    پاسخ: 1
    آخرين نوشته: 2013/11/09, 18:55
  3. پردازش گفتار در مطلب
    توسط mechatronic90semnan در انجمن Matlab
    پاسخ: 12
    آخرين نوشته: 2013/07/22, 01:34
  4. پردازش گفتار در سی
    توسط mechatronic90semnan در انجمن برنامه نویسی و اینترفیس
    پاسخ: 0
    آخرين نوشته: 2013/05/21, 18:52
  5. لینک پروژه پردازش گفتار
    توسط s_m_mohsenfar در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2009/07/29, 12:57

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •