Bir bilgisayar mühendisi için programlama dili, öğrendiklerini sınadığı, deneyler yaptığı bir laboratuardır ve mühendisler deneylerini, kestiremedikleri sonuçları gözlemlemek için değil, öngördükleri sonuçları doğrulamak için yapar...

Ses Sinyallerinin Dijital Ortama Aktarılması

Ses sinyallerinin dijital ortama aktarımı nasıl gerçekleştirilir? Oluşturulan dosyaların, SampleRate, ByteRate, Block Alignment, BitRate gibi özellikleri ne ifade eder?

Doğadaki sesin tüm doğallığıyla tam olarak bilgisayar ortamına aktarılması mümkün değildir. Diğer sinyaller gibi ses sinyali de sayısal ortama, örneklenerek aktarılır.

Örnekleme

Örnekleme, sürekli bir sinyalden belli zaman aralıklarıyla örnek toplanması işlemine denir.

Bize bir f(x)=sin(x) fonksiyonu verilsin ve bizden -2pi +2pi aralığında bu fonksiyonun grafiğini çizmemiz istensin. Fonksiyon bu aralıklarda sonsuz farklı değer alır. Grafiği kağıt üzerinde gösterebilmemiz için normalde sonsuz sayıda değeri fonksiyona yerleştirip sonsuz farklı nokta elde ederek sürekli bir çizgi çizmemiz gerekirdi. Ama buna gerek yok. Bu fonksiyonu sadece belli değerlerde hesaplayarak, yani aslında örnekleyerek orjinaline beyzeyecek şekilde çizebiliriz. Ses sinyalleri de aynı mantık ve amaçla örneklenir.

Örnekleme Frekansı (Sample Rate)

Örnekler rastgele zaman aralıklarıyla toplanmaz, belli bir periyot ve dolayısıyla frekans ile alınır. Örneğin CD kalitesinde ses elde etmek, bir ses sinyalinden saniyede 44100 adet örnek toplanması gerekir. Bu, sesin 44100 hertzlik frekans ile örneklendiğini ifade eder. Örnekleme frekansı, sinyalin gerçek frekansından bağımsızdır.

Örnekleme Frekansı ve Ses Kalitesi

Örneklenen sinyalin netliği veya çözünürlüğü alınan örnek sayısı ile doğru orantılıdır. Yani ses sinyali hakkında ne kadar çok veri kaydetmişsek onu bir bilgisayara o kadar iyi taklit ettirebiliriz. Yukarıdaki grafik çizme örneğine dönelim. Eğer sinüs fonksiyonunu her seferinde pi/2 adım ilerleyerek hesaplayıp noktaları yerleştirip doğrusal olarak birleştirirseniz, oluşan şeklin sinüs grafiğine benzemediğini görebilirsiniz. Ancak -2pi +2pi aralığında 1000 tane nokta hesaplar, noktaları birleştirirseniz, oluşacak grafik işte o zaman sinüs grafiğine benzemeye başlayacaktır. Nokta sayısı arttıkça, dönüm noktaları, extremum noktaları ve bombeli kısımlar belirginleşecek, grafik her seferinde orjinaline daha da yaklaşacaktır.

Kanal Sayısı

Ses dosyalarında kanal sayısı, bir bakıma ses dosyalarının içlerinde taşıdıkları verilerin kaç farklı örnekleme ile oluşturulduğunu gösterir. Yani her kanal ayrı bir ses dosyası gibi düşünülebilir ve dosya oynatıldığında, her kanaldaki ses verisi dizisi aynı anda oynatılır. Böylece ses daha gerçekçi gelir, sesin yönü hakkında fikir edinmek mümkün olur. Tek kanallı ses için mono(tek), çift kanallı olanı için de stereo terimi kullanılır.

Bit Oranı (Bit Rate)

Sinyalden alınan her bir örnek için, bilgisayarda sabit bir alan ayrılır. Bu alan 8bit, 16bit, 32bit ... ve katları olabilir. Bu değerlerin 8in katı ve 2nin birer kuvveti olmasının sebebi her örneğin en az 1 bayt ve katları ile ifade edilmek istenmesidir. Örnekleri temsil eden verinin boyutu arttıkça ses kalitesi de artar. Çünkü boyutun artması, genlik aralığını genişletir; örneklenebilecek benzersiz genlik değeri sayısını arttırır.

Blok ve Boyutu (Blok Alignment)

Bu değer normal bilgisayar kullanıcısının karşısına çıkmaz. Ses dosyalarının içine, kendilerini açacak olan programa bilgi vermek amacı ile hesaplanıp yazılır. Blok, tüm kanallarda anlık olarak sese dönüştürülmeye hazırlanan örneklerden oluşur. Yani her blokta kanal sayısı kadar örnek bulunur. Blok boyutu, kanal sayısı ile her örneğe ayrılan boyut çarpılarak hesaplanır.

Yayın tarihi: 06 Ağustos 2009 Perşembe, 15:52
Anahtar kelimeler: ses sinyalleri, sesin örneklenmesi, ses dosyaları

Yorum Gönder

 
Yorumunuzu -1. yoruma yanıt olarak gönderiyorsunuz. Yanıtlamayı iptal etmek için buraya tıklayabilirsiniz.

 

Yorumlar (6)

mehmet
Yanıtla
06 Ocak 2011 Perşembe, 23:15
#1

üstadım yazınızı okuduğum kadarıyla bu işte profesyonelsiniz.ortalama elimde 150 adet 90 lık ses kasedi var ve bunları bilgisayar ortamına aktarmak istiyorum.ancak yaptığım denemelerde zaten gürültülü olan sesler aktardığımda daha da sesli hale gelmeye başladı.bunun önüne nasıl geçebilir bu gürültüleri nasıl yokedebilirim.ben acizaneden yardımlarınızı esirgemeyin.zira güzel bir iştir yapacağım.teşekkürler

Hüseyin Atasoy
Yanıtla
06 Ocak 2011 Perşembe, 23:55
#2

Yok profesyonel değilim de fikrimi paylaşayım. Bunu yapan cihazlar vardır muhtemelen ama normal bir bilgisayardan ses kayıt işlemi ile de bunu yapabilirsiniz. Şöyle ki; bir kaset çaların hoparlör veya kulaklık çıkışını bilgisayarın mikrofon girişine bağlayın. Bilgisayarınızdan mikrofon kanalının sesi hoparlöre vermesini sağlayın. Daha sonra kaset çaları, sesini tamamen kıstıktan sonra çalıştırın ve sesi yavaş yavaş arttırmaya başlayın. Bilgisayar hoparlöründen ses duyacaksınız. Kaset çaların sesini bilgisayar hoparlöründen en iyi sesi alana kadar yükseltin. Çok arttırmayın, ses kartınıza bir şey olmasın. Bilgisayarınızın ayarlarından mikrofonun duyarlılığını azaltmanız sesi daha kaliteli almanızı sağlayabilir. Çünkü ses yükseltilmeye ihtiyaç duymayacak derecede yüksek zaten. Yani ses kartının sesi bir daha yükseltmesi gerekmiyor. Sesi bilgisayar hoparlöründen net şekilde aldığınızda kayda hazırsınız demektir. Bir ses kayıt programı (windowsun kendi programı da var) yardımıyla sesi kaydetmeye başlayabilirsiniz. 90lık kasetin tümünü tek bir dosyaya aktardınız mı tamamdır. Daha sonra bu dosyayı editör programlar yardımıyla parçalayabilirsiniz...

Yalnız bu yöntem çok uzun sürer. Yani mesela kaset 60 dakikalıksa tümünün çalmasını ve kaydedilmesini beklemelisiniz ki bu 60 dakika sürer. 150 tane kaset ise günler sürebilir. Zamanım var diyorsanız mesele yok tabi. İyi şanslar...

nadir k
Yanıtla
02 Nisan 2012 Pazartesi, 01:47
#3

hocam peki wav formatındaki sesin frekası kaç kilohertz tir?

Hüseyin Atasoy
Yanıtla
11 Nisan 2012 Çarşamba, 18:45
#4

Dosyadan dosyaya değişir. Ama standart değerler var; 8000, 11025, 22050, 44100 hz gibi.

Hüseyin Mert
Yanıtla
02 Temmuz 2012 Pazartesi, 21:48
#5

Emeğinize teşekkür ederim. Basic dilinde sound komutu ile bir frekans ve süre verilerek ses çıkartılır. Örneğin sound 400, 18.2 ile 1 saniye süresinde 400 Hz ses çıkar. Beep şeklinde tekdüze bir sestir. Bu sesi wav veya mp3 olarak kaydedip Goldwave gibi bir programda açıp numerical Text olarak kaydettiğimizde o sinüs eğrisinin x,y değerleri bir txt dosyaya yazılır. Böylece bir ses frekansının sinüs eğri değerlerini elde ederiz. Sorum şu: Acaba tersi mümkün mü? Yani bir sinüs eğrisi şeklindeki ses dalgasının ses frekans değerlerini elde edebilir miyiz? Yani yukarıdaki örnekten tersine giderek 400'ü elde edebilir miyiz?
Teşekkürler, saygılarımla..

Hüseyin Atasoy
Yanıtla
21 Temmuz 2012 Cumartesi, 18:30
#6

Evet, bir ses sinyalinin frekanslarını ölçmek mümkün. Bunun için Fourier dönüşümünü kullanabilirsiniz: Hızlı Fourier Dönüşümü Ve Frekans Ölçme

 
 
Sayfa 43 sorgu ile 0.015 saniyede oluşturuldu.
Atasoy Blog v4 © 2008-2017 Hüseyin Atasoy