Ana sayfa Yazılım Automatic Delay Compensation

Automatic Delay Compensation

0
Her bir track”da farklı düzeylerde oluşabilen sinyal gecikmesi problemini çözmek üzere geliştirilen automatic delay compensation (otomatik gecikme telafisi) özelliğini inceleyeceğiz.

üzerinde çalıştığımız projede çok sayıda audio kanalı bulunması halinde, her bir kanal içerisinde akan sinyalin gerek kayıt esnasında gerekse miks aşamasında hedeflenen nota zamanlamalarından değişik sebeplerle sapması söz konusu olabilmektedir. Zamanlamada oluşan sapmalar, müzikal zamanlama dışında, çok daha temel bir düzeyde yani analog/sayısal dönüşüm esnasında yapılan örnekleme işleminde bile seğirme (jitter) adını verdiğimiz bir clock sinyali problemi sonucu ortaya çıkabilmektedir. Daha sonraki yazılarımda detaylı olarak inceleyeceğimiz seğirme problemi dışında, daha makro düzeyde yani nota zamanlamalarında hissedilebilir düzeyde oluşan sapmalar ya da gecikmeler başlı başına ayrı bir problemdir.
 


 
Belli bir referans zamana göre aynı anda oluşturulan veya senkron hareket eden ses sinyallerinin kayıt veya miks sırasında belli bir toplanma noktasına nasıl olup da birbirlerinden farklı anlarda ulaştığına kısaca bakalım. Analog sinyaller elektrik akımı hızında hareket ettikleri için katettikleri mesafe arasında anormal bir farklılık bulunmadığı sürece aynı anda farklı başlangıç noktalarından ortak bir toplanma noktasına beraber ulaşabilirler. Hatta, söz konusu sinyaller analog devrelerden oluşan efekt veya sinyal işlemcilerden geçerken de, frekansa bağlı ufak genlik ve faz bozulmaları dışında, yaklaşık olarak aynı hızda geçebilirler. Ancak sayısal dünyada, 0 ve 1 değerlerinden oluşan akım elektriksel değil de bir yazılım parçası içinde işlemsel süreçlerden geçerken işlemci hızı ve diğer donanımsal kısıtlara bağlı olarak çok daha yavaş hareket eder. Bu nedenle, sayısallaştırılmış bir sinyal farklı karmaşıklık düzeyine sahip iki yazılım bloğundan, aynı donanım üzerinde çalışmak kaydıyla, farklı sürelerde geçerler. Bu durum her bir kanala özgü olarak “delay” yani gecikme olarak adlandırılır. Bazen “latency” terimi de gecikme olarak kullanılmakla birlikte, daha çok ses kartı gibi donanımsal tabanlı fonksiyonel gecikmelere yönelik olarak kullanımı daha doğrudur, delay ise bir sinyalin belli bir iletim hattından geçerken (propagasyon) uğradığı gecikme şeklinde algılanabilir. Bu anlamda, yazılım bloğu içerisinde işlenen sayısal verinin yazılıma giriş ve çıkışı arasında bir propagasyon gecikmesi oluştuğu gibi bir benzetme yapabiliriz.

 

Sayısal sinyallerde gecikmeyi zaman birimi olarak milisaniye (ms) veya sample (örnek) cinsinden ifade edebiliriz. örneğin, 44.1 KHz örnekleme frekansında alınan bir kaydın 441 sample kadar bir gecikmeye uğradığı ifade edildiğinde 441/44100=10 milisaniyelik (0.01 saniye) bir gecikmeden bahsederiz. Bu örnekleme hızında gecikme değeri bakımından elde edebileceğimiz en yüksek çözünürlük 1/44100 saniye kadardır. Birçok ticari üründe zamansal hassasiyetin yüksekliğini ifade etmek bakımından “sample accurate” yani “sample hassasiyetinde” ifadesi bu çözünürlük değerini işaret eder. Bu noktada vurgulanması gereken husus, yukarıda bahsettiğimiz seğirme (jitter) probleminin gözardı edildiği ve her bir sample”ın ideal bir clock darbesi tarafından tetiklendiğidir. Aksi takdirde, sample hassasiyeti ifadesinde hassasiyetin kendisi sorgulanır hale gelecektir.
 

 
Analog sinyaller için analog bazlı efekt veya sinyal işlemcilerden kayda değer bir gecikme beklemeyiz. Ancak, sayısallaştırılmış sinyaller insert veya bazen send şeklinde efekt ya da sinyal işlemciler tarafından işlendiğinde yukarıda bahsettiğimiz yazılım blokları içerisinden geçerken gecikmeye uğrarlar. Bu gecikme, özellikle farklı kanallarda farklı miktarlarda ortaya çıktığında kontrol edilmesi zor bir hale gelebilir. Birden fazla audio sinyalinin kendi üretim zamanları baz alındığında, belli bir toplanma noktasına yine kendilerine göre farklı gecikmelerle ulaşması pratikte iki farklı problem olarak karşımıza çıkar. Tüm sinyallerin farklı enstrümanlara ait, birbiri ile ilgisi olmayan mono sinyaller olduğunu varsayarsak, oluşan farklı gecikme değerleri müzikal anlamda zamanlama hataları şeklinde yorumlanabilir (time alignment problem). Yani, her bir sinyal zaman ekseninde olması gerekenden farklı bir noktaya (offset değeri) ötelenir. Sinyallerin farklı ses kaynaklarına ait olması sebebiyle aralarında herhangi bir faz ilişkisi yoktur ve bir araya geldiklerinde oluşabilecek tesadüfi frekans zayıflamaları veya güçlenmeleri dışında faz bakımından etkileşim tanımsızdır. Eğer iki sinyal aynı ses kaynağına ait ise, örneğin bir gitar hem direkt olarak miksere girilmişse hem de gitar amfisinden mikrofon ile alındıktan sonra bir efekt cihazından geçirilerek “dolaylı bir gecikmeyle” miksere girilmişse, bu kez iki sinyalin yaklaşık olarak aynı genlik ve frekans özelliklerine sahip olması sebebiyle ortak bir noktada toplandığında “comb filtering” benzeri istenmeyen faz problemleri oluşabilir (Bkz. Şekil-1).

 

Pro Tools 10 yazılımı mikseri içinde kullandığımız sinyallerin tamamının aynı ses kartı “latency” değeri ile kaydedildiğini varsayarsak, kanallar arasında göreceli bir gecikme farkı oluşmayacağını ve bu durumda latency değerini insert efektleri ile oluşan gecikmelerin dışında tutabileceğimizi ifade edebiliriz. Yukarıdaki örnekte 5, 2 ve 10 ms”lik üç farklı gecikme değeri oluştuğu görülmektedir. Bu durumda, ilk iki kanal kendi müzikal zamanlamalarından sapacak, dördüncü kanal ise hem sıfır gecikmeli üçüncü kanal ile aynı ses kaynağından gelmesine rağmen efektte oluşan gecikme sebebiyle kendi zamanlamasından sapacak hem de üçüncü kaynak ile bir araya geldiğinde faz problemi yaratacaktır. Bu problemi çözmenin en mantıklı yolu, gecikmeleri ortak bir paydaya getirmek ve kanallar arası senkronizasyonu tekrar sağlamaktır. Tüm kanalların 10 ms gecikme ile bus adını verdiğimiz toplanma noktasında bir araya gelmesi durumunda gecikmeler eşit seviyede gerçekleşecek ve bahsedilen problemler çözülmüş olacaktır. Bu nedenle, birinci kanala ilave bir 5 ms gecikme, ikinci kanala 8 ms ilave gecikme, üçüncü kanala ise 10 ms ilave gecikme uygulayarak dört kanalın 10 ms gecikme değerinde buluşmasını sağlayabiliriz. Bu noktada, her dört kanalın da aynı “bus” toplanma noktasında bir araya getirildiği varsayımını kullandığımızı belirtelim.
 

 

Gecikmelere sebep olan efekt veya işlemciler insert olarak kullanılıyorsa, her bir gecikme kanalların toplandığı bus üzerinde realize olacak demektir. Gecikme kaynaklarından bir tanesi send türü bir efekt ise, “dry” sinyal bus noktasına sıfır gecikme ile ulaşırken, efekt uygulanan “wet” sinyal bir başka toplanma noktası olan aux return bus”ta realize olan bir gecikme anlamına gelecektir. Bu durum, bazı gecikmelerin main bus gibi bir noktada, diğer gecikmelerin ise aux return gibi sinyal akış zincirinde daha önce bulunan bir noktada ölçülmesi anlamına gelecektir. Her ne kadar seri gecikmeler toplanarak ilerlese de, onlarca insert ve send kaynaklı gecikmenin tek bir proje içinde ne denli yoğun bir yeniden zamanlama iş yükü getireceğini tahmin etmek zor olmaz. Pro Tools yazılımının eski versiyonlarında manuel olarak ayarlanan ilave gecikme değerleri 10. Sürüm ile birlikte otomatik bir şekilde yapılabilir hale gelmiştir.

Manuel olarak yapılan zamanlama ayarları, her kanal için gerekli ilave gecikme değerini kanal kontrolü altında bulunan “dly” parametresini okuyarak yapmamıza imkan tanısa da, bazı efekt veya işlemci plugin”lerin olduğundan daha az veya daha fazla gecikme değeri rapor etmesi sebebiyle her zaman sıfır hata ile gecikme telafisi yapmamıza imkan tanımayabilir. Bu nedenle, Pro Tools 10 ile birlikte tüm düzeltme işlemlerinin session içinde oluşturulan efekt ve işlemci konfigürasyonlarını test ederek hangi noktada ne şekilde yapılacağı hususu otomatik hale getirilmiştir.

 

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here