Aracılığıyla paylaş


Ses İşleme Nesne Mimarisi

Ses işleme nesneleri (APO'lar), Windows ses akışları için özelleştirilebilir yazılım tabanlı dijital sinyal işleme sağlar.

Ses İşleme Nesnelerine Genel Bakış

Windows, OEM'lerin ve üçüncü taraf ses donanımı üreticilerinin ses sürücüsünün katma değerli özelliklerinin bir parçası olarak özel dijital sinyal işleme efektleri eklemesine olanak tanır. Bu efektler, kullanıcı modu sistem efekti Ses İşleme Nesneleri (API) olarak paketlenir.

Ses işleme nesneleri (API'ler), Windows ses akışları için yazılım tabanlı dijital sinyal işleme sağlar. APO, belirli bir Dijital Sinyal İşleme (DSP) etkisi sağlamak için yazılmış bir algoritma içeren bir COM konak nesnesidir. Bu özellik resmi olmayan bir şekilde "ses efekti" olarak bilinir. API'lere örnek olarak grafik eşitleyiciler, reverb, tremolo, Akustik Yankı İptali (AEC) ve Otomatik Kazanç Denetimi (AGC) verilebilir. API'ler COM tabanlı, gerçek zamanlı, işlem içi nesnelerdir.

Not Bu belgedeki açıklamalar ve terminoloji çoğunlukla hoparlörler gibi çıkış cihazlarını ifade eder. Ancak, teknoloji simetriktir ve giriş cihazları için temelde ters çalışır.

Yazılım APO'ları ile Donanım DSP'leri karşılaştırması

Donanım dijital sinyal işlemcisi (DSP), dijital sinyal işlemenin operasyonel ihtiyaçları için iyileştirilmiş mimarisiyle özel bir mikro işlemcidir (veya bir SIP bloğudur). Özel amaçlı donanımda ses işlemeyi gerçekleştirmek, yazılım tabanlı APO kullanarak işlem yapmaya kıyasla önemli avantajlar sağlayabilir. Bunun bir avantajı, DSP uygulanan bir donanımla CPU kullanımı ve ilişkili güç tüketiminin daha düşük olmasıdır.

Proje hedeflerinize ve kısıtlamalarınıza özgü olarak, yazılım tabanlı bir APO uygulamadan önce göz önünde bulundurmanız gereken başka avantajlar ve dezavantajlar da vardır.

Yazılım tabanlı efektler, akış başlatma işleminde yazılım cihaz kanalına eklenir. Bu çözümler tüm etkilerini ana CPU üzerinde işler ve dış donanıma dayanmaz. Bu tür bir çözüm, sürücü ve donanım yalnızca RAW işlemeyi desteklediğinde HDAudio, USB ve Bluetooth cihazları gibi geleneksel Windows ses çözümleri için en iyisidir. RAW işleme hakkında daha fazla bilgi için bkz . Ses Sinyali İşleme Modları.

Donanım DSP için Proxy APO

Donanım DSP'sine uygulanan tüm etkilerin ara sunucu APO'sunda tanıtılması gerekir. Microsoft varsayılan bir proxy APO (MsApoFxProxy.dll) sağlar. Microsoft tarafından sağlanan APO'ları kullanmak için bu özellik kümesi ve özelliğin desteklenmesi gerekir.

İsteğe bağlı olarak, kendi proxy APO'nuzu uygulayabilirsiniz.

Windows Tarafından Sağlanan (Sistem) API'ler

Windows, bir dizi farklı ses efekti sağlayan varsayılan bir API kümesi yükler. Sistem tarafından sağlanan APO efektlerinin listesi için bkz. Ses Sinyali İşleme Modları.

OEM'ler sistem tarafından sağlanan tüm API'leri içerebilir veya bazılarını veya tümünü özel API'lerle değiştirebilir.

Özel API'ler

Ek ses efektleri ekleyerek Windows ses deneyimini geliştirmek için özel API'ler oluşturmak mümkündür.

OEM, Windows gönderirken sağlanan Windows API'lerinin ve özel API'lerinin herhangi bir bileşimini içerebilir.

Cihaz satın alındıktan sonra ses deneyimini geliştirmek için bir OEM veya üçüncü taraf tarafından özel bir APO yüklenebilir. Kullanıcılar standart INF dosyasını kullanarak bir ses cihazı sürücüsü yüklediğinde, sistemin API'lerine otomatik olarak erişebilirler. Bağımsız donanım satıcıları (IHV'ler) ve özgün ekipman üreticileri (OEM'ler) Microsoft sınıf sürücülerini kullanmaya devam ederken ek özel sistem efektleri sağlayabilir. Bunu yapmak için DSP algoritmalarını API'ler olarak paketleyip standart INF dosyasını değiştirerek API'lerini ses altyapısının sinyal işleme grafiğine eklerler.

Özel API'ler oluşturma hakkında daha fazla bilgi için bkz. Ses İşleme Nesneleri Uygulama.

Özel APO Destek Uygulaması

Kullanıcının özel APO'nuzla ilişkili ayarları yapılandırmasına izin vermek için önerilen yaklaşım bir Donanım Destek Uygulaması oluşturmaktır. Daha fazla bilgi için bkz. Donanım Destek Uygulaması (HSA): Sürücü Geliştiricileriiçin adımlar.

Özel APO Testleri ve Gereksinimleri

Microsoft HLK, API'lerle kullanılabilecek testler sağlar. Ses testleri hakkında daha fazla bilgi için bkz. Device.Audio Testing ve Device.Audio Tests.

Bu iki test, API'lerle çalışırken özellikle yararlı olabilir.

Ses Efektleri Keşfini Doğrulama (El ile) - Sertifikasyon

SysFX Testi

API'leri desteklemeye yönelik ses gereksinimleri hakkında bilgi için bkz. Device.Audio Requirements.

Özel APO Araçları ve Yardımcı Programları

Kullanılabilir ses efektlerini keşfetmek için "Ses Efektleri Bulma Örneği"ni kullanabilirsiniz. Bu örnek, işleme ve yakalama ses cihazlarındaki ses efektlerini sorgulamayı ve ses efektlerindeki değişiklikleri nasıl izleyebileceğinizi gösterir. SDK örneklerinin bir parçası olarak bulunur ve şu bağlantı kullanılarak indirilebilir:

Ses efektleri bulma örneği

Uygulama Ses Efekti Tanıma

Uygulamalar, sistemde şu anda etkin olan ses efektlerini belirlemek için API'leri çağırabilme özelliğine sahiptir. Ses efektleri tanıma API'leri hakkında daha fazla bilgi için bkz . AudioRenderEffectsManager sınıfı.

Ses İşleme Nesneleri Mimarisi

Ses Efektlerinin Yerleşimi

SES efektleri için API'ler olarak uygulanan üç farklı konum vardır. Bunlar Akış efektleri (SFX), Mod efektleri (MFX) ve Uç nokta efektlerinde (EFX) bulunur.

Akış Efekti (SFX)

Akış efekti APO'sunun her akış için etkisinin bir örneği vardır. Yayın efektleri, belirli bir mod için karıştırmadan (işleme) önce veya tee (yakalama) sonrasındadır ve mikserden önce kanal sayısını değiştirmek için kullanılabilir. Akış efektleri ham akışlar için kullanılmaz.

İyileştirme olarak bazı Windows sürümleri, RAW modunda SFX veya MFX API'lerini yüklemez.

  • Windows 8.1, RAW SFX veya RAW MFX yüklemez
  • Windows 10 RAW MFX'i yükler ancak RAW SFX'i yüklemez

Mod Efekti (MFX)

Mod efektleri (MFX), aynı moda eşlenen tüm akışlara uygulanır. Mod efektleri, belirli bir mod için karıştırmadan (işleme) sonra veya dallanma (yakalama) öncesinde, ancak tüm modların karıştırılmasından (işleme) önce veya dallanmasından (yakalama) sonra uygulanır. Akış efektinin ayrıntılarına ihtiyaç duymayan senaryoya özgü etki veya efekt buraya yerleştirilmelidir. Düzenlilik ve biçim gibi aynı özellikleri paylaşan birden çok akış için bir örnek olduğundan mod efekti kullanmak daha verimlidir.

Uç Nokta Efekti (EFX)

Endpoint Effect (EFX), aynı uç noktayı kullanan tüm akışlara uygulanır. Ham akışlara bile her zaman bir uç nokta efekti uygulanır. Yani, karıştırma sonrası (işleme) veya tüm modların tee (yakalama) öncesindedir. Uç nokta efektleri dikkatli bir şekilde kullanılmalı ve şüpheli olduğunda Mod alanına bir etki yerleştirilmelidir. Uç nokta alanına yerleştirilmesi gereken bazı etkiler konuşmacı koruması ve konuşmacı dengelemedir.

Bu diyagramda, Windows 10 için akış (SFX), mod (MFX) ve uç nokta (EFX) efektleri için olası konumlar gösterilir.

Windows 10'da akış, mod ve uç nokta efektlerinin yerleşimini gösteren diyagram.

Birden Çok Özel APO Efekti

Farklı uygulamalarla çalışmak için birden çok APO tabanlı efekt yapılandırmak mümkündür.

Bu diyagramda birden çok uygulamanın akış, mod ve uç nokta APO efektlerinin birden çok bileşimine nasıl erişebildiği gösterilmektedir. TÜM API'ler COM tabanlıdır ve kullanıcı modunda çalışır. Bu senaryoda, etkilerden hiçbiri donanımda veya çekirdek modunda çalışmıyor.

Birden çok uygulamanın çeşitli akış, mod ve uç nokta APO efektleri birleşimlerine nasıl erişebileceğini gösteren diyagram.

Not Bu diyagramın tümünü görüntülemek için bu sayfanın en altındaki kaydırma çubuğunu kullanabilirsiniz.

İşleme ve Yakalama için Yazılım Modu Efektleri ve Donanım Uç Noktası Efektleri

Bu diyagramda, işleme ve yakalama için yazılım modu efektleri ve donanım uç noktası efektleri gösterilmektedir.

İşleme ve yakalama işlemleri için yazılım modu efektlerini ve donanım uç noktası efektlerini gösteren diyagram.

Donanım Efektleri ile DSP Donanımlı Sistem

Bu diyagramda, donanımda efektler uygulayan DSP donanımlı bir sistem gösterilmektedir. Bu senaryoda, uygulamalara donanımda uygulanan etkileri bildirmek için bir Ara Sunucu APO'sunun oluşturulması gerekir.

Donanımda efektler uygulayan DSP donanımlı bir sistemi gösteren diyagram.

Windows Ses İşleme Nesneleri

Donanım Destekli Ses Sürücüsü Uygulaması