Bu makalede, Android'de yeniden örnekleme olarak da bilinen örnekleme hızı dönüşümü açıklanmaktadır. Örnek hızı dönüşümüyle ilgili terminoloji için Terminoloji bölümüne bakın.
Örnek hızı dönüştürme, ayrık bir örnek akışının bir örnek hızından farklı bir örnek hızındaki başka bir akışa dönüştürülmesi işlemidir. Örnek hızı dönüştürücü veya yeniden örnekleyici, örnek hızı dönüşümü uygulayan bir modüldür. Yeniden örnekleyiciye göre, orijinal akışa kaynak sinyal, yeniden örneklenmiş akışa ise hedef sinyal denir.
Yeniden örnekleyiciler Android'de çeşitli yerlerde kullanılır. Örneğin, bir MP3 dosyası 44,1 kHz örnek hızında kodlanmış olabilir ancak dahili olarak 48 kHz sesi destekleyen bir Android cihazda oynatılması gerekir. Bu durumda, MP3 çıkış sesini 44,1 kHz kaynak örnekleme hızından Android cihazda kullanılan 48 kHz alıcı örnekleme hızına yükseltmek için bir yeniden örnekleyici kullanılır.
Yeniden örnekleyicinin özellikleri aşağıdakiler gibi metrikler kullanılarak ifade edilebilir:
- Sinyaldeki toplam genliğin korunma derecesi
- Aktarıcı örnek hızının sınırlamalarına tabi olarak sinyalin frekans bant genişliğinin korunma derecesi
- yeniden örnekleyici üzerinden toplam gecikme
- Frekansa göre tutarlı faz ve grup gecikmesi
- CPU döngüleri veya güç tüketimi cinsinden ifade edilen hesaplama karmaşıklığı
- kaynak ve alıcı örnekleme hızlarının izin verilen oranları
- Örnekleme hızı oranlarını dinamik olarak değiştirme imkanı
- Hangi dijital ses örneği biçimlerinin desteklendiği
İdeal yeniden örnekleyici, kaynak sinyalin genliğini ve frekans bant genişliğini tam olarak korur (alıcının örnekleme hızının sınırlamalarına tabidir), minimum ve tutarlı gecikme süresine sahiptir, minimum hesaplama karmaşıklığına sahiptir, keyfi ve dinamik dönüşüm oranlarına izin verir ve tüm yaygın dijital ses örnekleme biçimlerini destekler. Gerçek yeniden örnekleyiciler bu özellikler arasında bir uzlaşma olduğundan pratikte ideal yeniden örnekleyiciler yoktur. Örneğin, ideal kalite hedefleri kısa gecikme ve düşük karmaşıklıkla çelişir.
Android, uygulama kullanım alanına ve yüküne bağlı olarak uygun ödünler verilebilmesi için çeşitli ses yeniden örnekleyiciler içerir. Kullanılabilir yeniden örnekleyiciler Yeniden örnekleyici uygulaması bölümünde açıklanmıştır.
Yeniden örnekleyici uygulamaları
Mevcut yeniden örnekleyici uygulamaları sık sık değişir ve OEM'ler tarafından özelleştirilebilir. Varsayılan yeniden örnekleyiciler, sinyal bozulmasının azalan ve hesaplama karmaşıklığının artan sırasına göre şunlardır:
- doğrusal
- kübik
- Orijinal katsayılarla sinc
- düzeltilmiş katsayılarla sinc
Genel olarak, sinc yeniden örnekleyiciler daha yüksek kaliteli müzik çalma için daha uygundur ve diğer yeniden örnekleyiciler, kalitenin daha az önemli olduğu durumlar için ayrılmalıdır ("anahtar tıklamaları" veya benzeri bir örnek verilebilir).
Seçilen yeniden örnekleyici uygulaması, kullanım alanına, yüke ve sistem özelliği af.resampler.quality
değerine bağlıdır. Ayrıntılar için AudioFlinger'daki ses yeniden örnekleyici kaynak koduna bakın.