Elektrotekno.com Ana Sayfa || Matlab


Ses sinyalinde ki sessiz kısımların ayrıştırılması

Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Matlab forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "Matlab hakkında dersler (sürekli güncel tutulmaya çalışılacaktır)" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
Kayıt: 13 Ekm 2006
Mesajlar: 57
Konum: Gaziantep Üniversitesi
Offline
h.celik
Tarih: 01 06 2008 18:11

Ekte 4 adet .m file , bir adet örnek ses dosyası ve program çalıştırıldıktan sonra
bu ses dosyasından elde edilmiş 7 adet text dosyası var.


Real Time kayıt için ;

>> exe1(süre) % süre = kaç saniye kayıt yapılacağı



Ses dosyasından (.wav) okutmak için ;

>> exe2('sample_signal') % sample_signal = çift tırnak içinde ses dosyasının ismi



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Örnek ;

% sample_signal.wav dosyasındaki sesin içeriği = ' ses kontrol deneme ses kontrol '

>>exe2('sample_signal')

Tüm sessiz kısımları ayırmak için 1'e
Sadece baştaki ve sondakileri ayırmak için 2'ye basınız
Tercih : ... (1)

Ses sinyalinde ki sessiz kısımların ayrıştırılması


Sessiz kısımlardan oluşan text dosyaları,

---ses--------kon--------trol-------deneme------ses--------kon--------trol

data1.txt , data2.txt , data3.txt , data4.txt , data5.txt , data6.txt , data7.txt


Sonrasında ise bu text dosyalarını;

x = dlmread('data1.txt') ;

komutuyla x e atayıp sonraki işlemlerde kullanabiliriz.
Kayıt: 02 Oca 2007
Mesajlar: 40

Offline
atalay_y
Tarih: 17 06 2008 21:43

sesi enerji seviyesinin belirli bir değerine göre ayırmışsın fakat o değere sahip küçük genlikli bileşenler de yok olmuş. benim sorum bir bant geçiren filitre(en uygun aralık kullanıcı ayarlasa) ile ses ayıklansa daha kaliteli ses elde edilebilir miydi. karşılaştırmayı nasıl yapabiliriz.
Başa dön
Kayıt: 13 Ekm 2006
Mesajlar: 57
Konum: Gaziantep Üniversitesi
Offline
h.celik
Tarih: 18 06 2008 23:11

Kardeş amaç zaten küçük genlikli bileşenleri dışarda bırakmak (sesin içindekiler hariç).
Sen yaptığım işi tam olarak anlayamamışsın.Kodu iyi incelesen anlardın aslında.
Olay bi eşik değer belirleyip sonra bu değerin altındakileri çıkarmak deil.
Yaptığım ,belirnen eşik değerine giriş ve çıkış noktalarını belirlemek sonra orjinal ses vektöründen bu noktalar arasını almak.
Yani bu noktalar arasındaki düşük genlikli veya yüksek genlikli bileşenlere hiç bir müdahale olmuyor.

Yukardaki algorithmadaki tek eksik eşik değerini belki biraz daha düşük seviyede tutmalıydım.

ortalama enerjinin 1.5 katını aldım eşik değeri olarak.bu seviyeyi biraz düşürebiliriz.


Gelelim sorduğun soruya ,

exe1 ve exe2 nin içindeki ,

" xx=(xx(50:length(xx))+0.01642); " satırını silip yerine ;

b = fir1(350,2*60/Fs,'high') ;
xx = filter(b,1,xx) ;

yazmak daha iyi sonuç verecektir.

Bunun amacıda kayıt esnasından PC den kaynaklanan 50 Hz civarı bi gürültü karışıyo ses sinyaline.
Bu gürültüyü yoketmek için 60 Hz cutoff lu bi high pass filtre kullanılabilir.
İstersen high pass yerine [60 3000] lik bi band geçirgen filtre de kullanbilrisin.Tabi eğer örnekleme frekansın 8000 den fazla ise ve ses örneği sadece insan sesinden oluşuyorsa.
8000 örneklemede gerek yok zaten.

Fakat sesi filtrelemek sesin kalitesini arttırmaz aksine azaltır.
Filtreleme eğer ses örneğinde gürültü varsa kaliteyi artırır.
Mesela yukardaki örnekteki 50 Hz civarı gürültüyü 60 hz cutoff lu bi yüksek geçirgen filtre kullanarak yokettik.
Sadece gürültünün frekansını çıkardık.
Eğer gürültünün frekansı ~60 Hz ile 3200 Hz (insan sesi frekansları) arasındaysa band geçirgen filtre kullanılabilirdi.

Umrarım soruna bu yazdıklarından bi cvp bulabilirsin.
Başa dön



Ses sinyalinde ki sessiz kısımların ayrıştırılması


Benzer Konular

- Ses sinyalinde ki sessiz kısımların ayrıştırılması

- Youtube'da PKK propagandası!, Sessiz kalmayalım...
- Kontör ücretlerine sessiz sedasız zam
- Yapılan haksızlıklara, hakkınızın yenmesine sessiz kalmayın, şikayet edin

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72