<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WwW.TarikZengin.CoM &#187; Voiced</title>
	<atom:link href="http://tarikzengin.com/tag/voiced/feed/" rel="self" type="application/rss+xml" />
	<link>http://tarikzengin.com</link>
	<description>Japonya&#039;dan bildiriyor....</description>
	<lastBuildDate>Sat, 01 Oct 2011 06:25:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Matlab] Pitch Frequency Estimation</title>
		<link>http://tarikzengin.com/pitch-frequency-estimation/</link>
		<comments>http://tarikzengin.com/pitch-frequency-estimation/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 09:30:12 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Matlab]]></category>
		<category><![CDATA[Projeler]]></category>
		<category><![CDATA[Correlation]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Korelasyon]]></category>
		<category><![CDATA[Pitch]]></category>
		<category><![CDATA[Proje]]></category>
		<category><![CDATA[Unvoiced]]></category>
		<category><![CDATA[Voiced]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/06/02/pitch-frequency-estimation/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/pitch-frequency-estimation/" title="[Matlab] Pitch Frequency Estimation"></a>Bu projede Matlab ortamında, önceden kaydedilmiş olan bir bayan sesinin &#8220;Pitch Frequency&#8221; analizi yapılarak segmentasyon işlemi gerçekleştirilmiş ve sesli/sessiz segmentler ayırt edilerek sinyalin sesli segmentlerinin ortalaması çıkarılmıştır. Proje, ses tanıma algoritmalarına giriş niteliğinde bir ön bilgi olarak sayılabilir. İçerik Değişkenlerin &#8230;<p class="read-more"><a href="http://tarikzengin.com/pitch-frequency-estimation/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/pitch-frequency-estimation/" title="[Matlab] Pitch Frequency Estimation"></a><p>Bu projede Matlab ortamında, önceden kaydedilmiş olan bir bayan sesinin &#8220;Pitch Frequency&#8221; analizi yapılarak segmentasyon işlemi gerçekleştirilmiş ve sesli/sessiz segmentler ayırt edilerek sinyalin sesli segmentlerinin ortalaması çıkarılmıştır. Proje, ses tanıma algoritmalarına giriş niteliğinde bir ön bilgi olarak sayılabilir.</p>
<p><strong>İçerik</strong></p>
<ul>
<li>Değişkenlerin Tanımlanması</li>
<li> İşlenecek Sinyalin Matlab Ortamına Alınması</li>
<li> Sinyalden DC Bileşenlerin Atılması</li>
<li> Segmentasyonda 	Kullanılacak Değişkenlerin Belirlenmesi</li>
<li> Silence Analizi İçin Gerekli Değişkenlerin Bulunması</li>
<li> Silence Olan Segmentlerin Atılması</li>
<li> Clipping Level Parametrelerinin Elde Edilmesi</li>
<li> Segmentlerin Enerjilerinin ve Otokorelasyonlarının Bulunması</li>
<li> Sonuç</li>
</ul>
<p><span id="more-42"></span></p>
<p><strong>Değişkenlerin Tanımlanması</strong></p>
<p>Programda kullanılacak değişkenler hız kazanmak için önceden tanımlanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">xseg_son=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
mm_son=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
cc=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
energy=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
pitch=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
voiced=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;
unvoiced=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>;</pre></div></div>

<p>İşlenecek Sinyalin Matlab Ortamına Alınması<br />
normal_female.wav dosyası x değişkenine atiliyor. Okunan sinyalin sample frekansı fs değişkeninde tutuluyor. x değişkenine atanmış olan sinyal plot ediliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #080;">&#91;</span>x,fs<span style="color: #080;">&#93;</span>=<span style="color: #0000FF;">wavread</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'normal_female'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">close</span> <span style="color: #0000FF;">all</span>
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'Okunan Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_39" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_01.png"><img class="size-medium wp-image-39 colorbox-42" title="pitch1" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_01-300x225.png" alt="Okunan Sinyal" width="300" height="225" /></a><p class="wp-caption-text">Okunan Sinyal</p></div>
<p><strong>Sinyalden DC Bileşenlerin Atılması</strong></p>
<p>Sinyalin mean değeri kendinden çıkarılarak DC bileşenler atiliyor. Sonuç X değişkenine atılarak çizdiriliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">X=x-<span style="color: #0000FF;">mean</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>X<span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'DC Bileseni Atilmis Sinyal Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_40" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_02.png"><img class="size-medium wp-image-40 colorbox-42" title="pitch2" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_02-300x225.png" alt="DC Bileseni Atilmis Sinyal" width="300" height="225" /></a><p class="wp-caption-text">DC Bileseni Atilmis Sinyal</p></div>
<p><strong>Segmentasyonda Kullanılacak Değişkenlerin Belirlenmesi</strong></p>
<p>Bu kısımda segmentasyon işleminde kullanılacak parametreler belirlenip ardından buffer komutu ile belirlenen block değerlerinde segmentlere bölme işlemi gerçekleştiriliyor. Window&#8217;lar overlap miktarı kadar çakışık olarak bölünmektedir. Ardından elde edilen window&#8217;lar hamming window ile çarpılarak segmentler elde ediliyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">block=<span style="color: #33f;">30</span>*fs/<span style="color: #33f;">1000</span>; <span style="color: #228B22;">% Segmentlerin block uzunluğunun okunan sinyalin sample frekansından bulunması</span>
overlap=<span style="color: #33f;">10</span>*fs/<span style="color: #33f;">1000</span>;<span style="color: #228B22;">% Overlap miktarının bulunması.</span>
xson=buffer<span style="color: #080;">&#40;</span>X,block,overlap<span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Segmentasyon yapılıyor.</span>
xson=xson.*<span style="color: #0000FF;">repmat</span><span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span>hamming<span style="color: #080;">&#40;</span>block<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>,<span style="color: #33f;">1</span>,<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Hamming Code İle Çarpım.</span></pre></div></div>

<p><strong>Silence Analizi İçin Gerekli Değişkenlerin Bulunması</strong></p>
<p>Sinyalin sesli/sessiz kısımlarının analizi için gerekli bazı değişkenlerin tanımlamaları yapılıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">Maximum=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>X<span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% DC bileşenleri atılmış sinyalin maximum değeri bulunuyor.(Global Maximum)</span>
maxy=<span style="color: #080;">&#40;</span>Maximum*<span style="color: #33f;">0.05</span><span style="color: #080;">&#41;</span>;<span style="color: #228B22;">% Silence için threshold değeri tanımlanıyor</span>
sinyal_uz=<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xson sinyalinin boyutları [1500,300].Burada sinyal_uz 300 değerini alıyor.</span></pre></div></div>

<p><strong>Silence Olan Segmentlerin Atılması</strong></p>
<p>Aşağıdaki döngüde silence olmayan segmentler hesaplanıyor. Her segmentin maximum değeri xseg_max değişkenine atanıyor. Bu değişken de threshold değerimiz olan maxy ile karşılaştırılıyor. Silence olmayan bir değer bulunduğunda ise z değeri 1 arttırılıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">z=<span style="color: #33f;">1</span>;<span style="color: #228B22;">% Silence olmayan segmentlerin sayısını z verecek</span>
<span style="color: #0000FF;">for</span> c=<span style="color: #33f;">1</span>:<span style="color: #080;">&#40;</span>sinyal_uz<span style="color: #080;">&#41;</span>, <span style="color: #228B22;">% sinyal_uz=300.% Her segmentin maximumu xseg_max a atanıyor.</span>
<span style="color: #228B22;">% Bir sonraki adımda global max. ile karşılaştırılacak.</span>
xseg_max=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>xson<span style="color: #080;">&#40;</span>:,c<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">if</span> xseg_max &amp;gt;maxy <span style="color: #228B22;">% Segmentin maximumu global maximum ile karşılaştırılıyor.</span>
xseg_son<span style="color: #080;">&#40;</span>:,z<span style="color: #080;">&#41;</span>=xson<span style="color: #080;">&#40;</span>:,c<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Silencelardan arındırılmış yeni bir &quot;xseg_son&quot; sinyali oluşturuluyor.</span>
z=z+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Silence olmayan her segment için z 1 arttırılıyor.</span>
<span style="color: #0000FF;">else</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% if</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% for</span>
&nbsp;
xx=xseg_son<span style="color: #080;">&#40;</span>:,<span style="color: #33f;">1</span>:<span style="color: #080;">&#40;</span>z-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xseg_son xx e atandı.</span>
<span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span>:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">title</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'Silence Atilmis Sinyal'</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<div id="attachment_41" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_03.png"><img class="size-medium wp-image-41 colorbox-42" title="pitch3" src="http://www.tarikzengin.com/blog/wp-content/uploads/2007/06/odevv_03-300x225.png" alt="Silence Atilmis Sinyal" width="300" height="225" /></a><p class="wp-caption-text">Silence Atilmis Sinyal</p></div>
<p><strong>Clipping Level Parametrelerinin Elde Edilmesi</strong></p>
<p>Aşağıdaki döngüde her segmentin ilk ve son üçte birlik kısmının maximumu bulunup karşılaştırılıyor. Bu karşılaştırılan iki değerden de küçük olanı mm değişkenine atanıyor. Clipping Level ı tanımlamak amacıyla elde edilen değer de 0,68 ile çarpılıyor. Segmentin bu değerden büyük olan elemanlarından bu threshold değeri çıkarılıyor. Küçük olan değerler ise doğrudan 0&#8242;a yuvarlanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">i</span></span>=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>, <span style="color: #228B22;">%i=1:300</span>
m1=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>:<span style="color: #33f;">500</span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xx sinyalinin ilk 1/3 kısmının maximum elemanı bulundu</span>
m2=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #33f;">1001</span>:<span style="color: #33f;">1500</span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% xx sinyalinin son 1/3 kısmının maximum elemanı bulundu</span>
mm=<span style="color: #0000FF;">min</span><span style="color: #080;">&#40;</span>m1,m2<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Bu iki maximumdan hangisinin daha küçük olduğu belirlendi</span>
mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=mm*<span style="color: #33f;">0.68</span>; <span style="color: #228B22;">% Yukarıdaki satırda elde edilen değer 0.68 ile çarpılarak &quot;clipping level&quot; elde edildi</span>
&nbsp;
<span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">j</span></span>=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span>:,<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>, <span style="color: #228B22;">% length(xx(:,1))=1500</span>
<span style="color: #0000FF;">if</span> <span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>&amp;gt;mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span> <span style="color: #228B22;">% Clipping level ile karşılaştırma yapılıyor</span>
cc<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=<span style="color: #0000FF;">sign</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>*<span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>xx<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>-<span style="color: #080;">&#40;</span>mm_son<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Clipping leveldan büyük olan bileşenlerden clipping level çıkarıldı</span>
<span style="color: #0000FF;">else</span>
cc<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span>,<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>=<span style="color: #33f;">0</span>;  <span style="color: #228B22;">% Küçük olan bileşenler ise 0 a çekildi</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% if koşulu sona erdiriliyor</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% 2.&quot;for&quot; döngüsü sonu</span>
<span style="color: #0000FF;">end</span>  <span style="color: #228B22;">% 1.&quot;for&quot; döngüsü sonu</span></pre></div></div>

<p><strong>Segmentlerin Enerjilerinin Bulunması</strong></p>
<p>Yukarıdaki döngü sonunda elde edilen cc matrisinin boyutları [1500,300]. Aşağıdaki döngüde ise her bir segment için energy hesaplanıyor. Bunun için sinyalin normunun karesi her bir kolonu için hesaplanıyor. xcorr komutu ile tüm sinyalin autocorrelation&#8217;i bulunuyor. Buradan 50Hz ile 400Hz arasindaki autocorrelation bileşenleri bulunuyor ve bunlara karşılık gelen pitch frekansları hesaplanıyor.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">w=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Voiced segmentler için başlangıç ataması</span>
v=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Unvoiced sinyaller için başlangıç ataması</span>
u=<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Voiced olarak düşündüğümüz bileşenlerin sayısını bu parametre gösterecek</span>
a=<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>; <span style="color: #228B22;">% Autocorrelation matrisi için başlangıç ataması</span>
<span style="color: #0000FF;">for</span> h=<span style="color: #33f;">1</span>:<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>,  <span style="color: #228B22;">% cc nin kolon sayısı=300</span>
energy<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span>=<span style="color: #0000FF;">norm</span><span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>,<span style="color: #33f;">2</span><span style="color: #080;">&#41;</span>^<span style="color: #33f;">2</span>; <span style="color: #228B22;">% Her segment için enerji hesaplanıyor</span>
a<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>=xcorr<span style="color: #080;">&#40;</span>cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;   <span style="color: #228B22;">% İlk başta bütün cc sinyalinin autocorrelation u bulunuyor</span>
&nbsp;
<span style="color: #228B22;">% 50 Hz-400Hz arasındaki autocorrelation fonksiyonu değerlerini bulabilmek için 50 Hz ve 400 Hz frekanslarına karşılık gelen pitch  frequency değerlerinin indekslerini alıyoruz.</span>
alt_sinir=<span style="color: #0000FF;">floor</span><span style="color: #080;">&#40;</span>fs/<span style="color: #33f;">400</span><span style="color: #080;">&#41;</span>;
ust_sinir=<span style="color: #0000FF;">floor</span><span style="color: #080;">&#40;</span>fs/<span style="color: #33f;">50</span><span style="color: #080;">&#41;</span>;
Rxx=<span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>a<span style="color: #080;">&#40;</span><span style="color: #080;">&#40;</span>block+alt_sinir:block+ust_sinir<span style="color: #080;">&#41;</span>,h<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
<span style="color: #080;">&#91;</span>k l<span style="color: #080;">&#93;</span>=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>Rxx<span style="color: #080;">&#41;</span>;   <span style="color: #228B22;">% Aldığımız aralıktaki en büyük sayının yerini belirliyoruz</span>
l=l+alt_sinir;
pitch<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span>=fs/l;  <span style="color: #228B22;">% Pitch Frequnecy hesaplanıyor </span>
&nbsp;
<span style="color: #228B22;">% Segmentin sesli/sessiz oldugunu bulabilmek için autocorrelation'in 0.4*energy'den</span>
<span style="color: #228B22;">% büyük olup olmadigi karsilastiriliyor. Eger büyükse segment seslidir ve voiced</span>
<span style="color: #228B22;">% matrisine atiliyor, eger küçükse unvoiced matrisine atiliyor. Voiced ve unvoiced</span>
<span style="color: #228B22;">% segment sayisi w ve v degiskenlerinde tutuluyor.</span>
&nbsp;
<span style="color: #0000FF;">if</span> k &amp;gt; <span style="color: #33f;">0.4</span>*energy<span style="color: #080;">&#40;</span>h<span style="color: #080;">&#41;</span> <span style="color: #228B22;">% En büyük değer 0.4*energy ile karşılaştırılıyor</span>
voiced<span style="color: #080;">&#40;</span>:,w<span style="color: #080;">&#41;</span>=cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Şart sağlanırsa voiced sinyaline atılıyor</span>
w=w+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Koşul sağlanırsa voiced segment sayısı arttırılır.</span>
<span style="color: #0000FF;">else</span>
unvoiced<span style="color: #080;">&#40;</span>:,v<span style="color: #080;">&#41;</span>=cc<span style="color: #080;">&#40;</span>:,h<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Şart sağlanmazsa unvoiced sinyali oluşturuluyor</span>
v=v+<span style="color: #33f;">1</span>; <span style="color: #228B22;">% Unvoiced sinyal segmentleri 1 arttılır.</span>
<span style="color: #0000FF;">end</span>
<span style="color: #0000FF;">end</span> <span style="color: #228B22;">% 1. &quot;for&quot; döngüsü sonu</span></pre></div></div>

<p><strong>Sonuç</strong></p>
<p>En son kısımda ise sesli sinyalinin ortalaması alınıyor</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">sesli_ort=<span style="color: #0000FF;">mean</span><span style="color: #080;">&#40;</span>pitch<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% Voiced segmentlerin ortalaması</span>
sesli_ort
&nbsp;
sesli_ort=
<span style="color: #33f;">232.8431</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/pitch-frequency-estimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

