Unverified Commit 89d0fc2b authored by Justice's avatar Justice

secondcommit

parent 517374da
*.gz
*.log
*.pdf
*.wav
clc clc
clear clear
pkg load signal pkg load signal
[X, Fs] = audioread("v3.wav"); [X, Fs] = audioread("voices/v3.wav");
L = length(X); L = length(X);
Y = fft(X); Y = fft(X);
...@@ -20,7 +20,7 @@ title('Power Spectrum for man sound') ...@@ -20,7 +20,7 @@ title('Power Spectrum for man sound')
xlabel('f (Hz)') xlabel('f (Hz)')
ylabel('Power') ylabel('Power')
[W, WFs] = audioread("v10.wav"); [W, WFs] = audioread("voices/v10.wav");
WL = length(W); WL = length(W);
WY = fft(W); WY = fft(W);
......
[j, k] = getPeak("voices/v2.wav")
function [peak,index] = getPeak (name)
[X, Fs] = audioread(name);
L = length(X);
Y = fft(X);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
f = f(1:21000);
P1 = P1(1:21000);
[peak, index] = max(P1);
index = f(index);
endfunction
\ No newline at end of file
%%Time specifications:
[x, Fs] = audioread("v0.wav");
dt = 1/Fs; % seconds per sample
N = length(x);
%%Fourier Transform:
X = fftshift(fft(x));
%%Frequency specifications:
dF = Fs/N; % hertz
f = -Fs/2:dF:Fs/2-dF; % hertz
%%Plot the spectrum:
figure;
plot(f,abs(X)/N);
xlabel('Frequency (in hertz)');
title('Magnitude Response');
\ No newline at end of file
...@@ -7,3 +7,4 @@ ...@@ -7,3 +7,4 @@
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces طیف توان برای صدای ضبط شده زن شماره 10\relax }}{3}} \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces طیف توان برای صدای ضبط شده زن شماره 10\relax }}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}اوج صدا}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.3}اوج صدا}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}تشخیص جنسیت}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.4}تشخیص جنسیت}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {2} الگوریتم بهبود صدا}{4}}
This diff is collapsed.
...@@ -55,11 +55,8 @@ ...@@ -55,11 +55,8 @@
\subsection{ بررسی دو مورد از صدا ها} \subsection{ بررسی دو مورد از صدا ها}
\ref{pic11}
همان طور که در اول تعریف پروژه یک نمودار آورده شده است ما نیز با توجه به شکل های بدست آمده به آن پی میبریم مثلا برای مرد شکل 1 حاصل که مطابق با نمودار است زیرا یک پیک بزرگ اطراف 120 و یک پیک کمی کوچکتر اطراف 220 دارد. همان طور که در اول تعریف پروژه یک نمودار آورده شده است ما نیز با توجه به شکل های بدست آمده به آن پی میبریم مثلا برای مرد شکل 1 حاصل که مطابق با نمودار است زیرا یک پیک بزرگ اطراف 120 و یک پیک کمی کوچکتر اطراف 220 دارد.
کد نوشته شده در فایل \lr{ A1.m } قرار دارد.
\begin{figure} \begin{figure}
\centering \centering
...@@ -79,15 +76,38 @@ ...@@ -79,15 +76,38 @@
\subsection{اوج صدا} \subsection{اوج صدا}
میتوانیم تابع ماکزیمم را روی مقدار اندازه تبدیل فوریه صدا بزنیم تا مقدار اوج را به ما بدهد. میتوانیم تابع ماکزیمم را روی مقدار اندازه تبدیل فوریه صدا بزنیم تا مقدار اوج را به ما بدهد.
تابع \lr{ getPeak } نوشته شد که مقدار پیک و فرکانس در آن پیک را برمیگرداند همچنین در فایل \lr{ A3.m } میتوانیم خروجی های آن را ببینیم.
\subsection{تشخیص جنسیت} \subsection{تشخیص جنسیت}
پس از پیدا کردن اوج و مقدار ایندکس آن میتوان فرکانس آن را حساب کرد سپس میتوان با توجه به مقدار این فرکانس زن یا مرد بودن را تشخیص داد. پس از پیدا کردن اوج و مقدار ایندکس آن میتوان فرکانس آن را حساب کرد سپس میتوان با توجه به مقدار این فرکانس زن یا مرد بودن را تشخیص داد.
کد های در فایل \lr{ A4.m } نوشته شدند که از تابعی که در بالا نوشتیم استفاده میکند.
پیشنهاد برای افزایش دقت: ما چون فقط بر اساس یک ماکزیمم درحال تصمیم گیری هستیم خطای بالایی داریم بهتر است برای بهینه کردن و افزایش دقت مجموعه ای از ماکسیمم ها و مینیمم های محلی را پیدا کنیم و الگوی انها را با الگوی اکسترمم های محلی هر جنسیت تطابق دهیم.
الیته ما چون فقط بر اساس یک ماکزیمم درحال تصمیم گیری هستیم خطای بالایی داریم بهتر است برای بهینه کردن و افزایش دقت مجموعه ای از ماکسیمم ها و مینیمم های محلی را پیدا کنیم و الگوی انها را با الگوی اکسترمم های محلی هر جنسیت تطابق دهیم.
برای این کار میتوان از تابع \lr{findpeaks} استفاده کرد که در نرم افزار \lr{octave} در پکیج \lr{signal} است. برای این کار میتوان از تابع \lr{findpeaks} استفاده کرد که در نرم افزار \lr{octave} در پکیج \lr{signal} است.
\section{ الگوریتم بهبود صدا} \section{ الگوریتم بهبود صدا}
\end{document} \end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment