OpenAL - OpenAL

OpenAL
OpenAL logo.png
Orijinal yazar (lar)Loki Yazılımı
Geliştirici (ler)Yaratıcı teknoloji
Kararlı sürüm
1.1 (yükleyici 2.1.0.0)[1] / Kasım 2009; 11 yıl önce (2009-11)
YazılmışC
İşletim sistemi15 işletim sistemi
Görmek: Desteklenen platformlar
TürUygulama programlama Arayüzü
LisansTescilli v1.1'den beri LGPL v1.1'den önce, BSD eski versiyonlarda[2]
İnternet sitesiwww.openal.org Bunu Vikiveri'de düzenleyin

OpenAL (Ses Kitaplığını Aç) bir çapraz platform ses uygulama programlama Arayüzü (API). Çok kanallı üç boyutlu konumsal sesin verimli şekilde oluşturulması için tasarlanmıştır. API stili ve kuralları kasıtlı olarak OpenGL. OpenAL, simüle ederek bir oyuna gerçekçilik katabilen çevresel bir 3D ses kütüphanesidir. zayıflama (sesin mesafeye göre bozulması), Doppler etkisi (hareketin bir sonucu olarak frekanstaki değişim) ve malzeme yoğunlukları. OpenAL başlangıçta bir açık standart ve açık kaynak yerine tescilli (ve genellikle birbirleriyle uyumlu değildir) 3D ses API'leri, örneğin Doğrudan ses ve Temel Ses, pratikte büyük ölçüde çeşitli platformlarda bir sarıcı söz konusu tescilli API'ler etrafında veya tescilli ve satıcıya özgü bir çatal olarak. İken referans uygulaması daha sonra tescilli hale geldi, gibi açık kaynak uygulamaları var OpenAL Yumuşak mevcut.

Tarih

OpenAL ilk olarak 2000 yılında Loki Yazılımı onlara işlerinde yardım etmek taşıma pencereler oyunlar Linux.[3] Loki'nin ölümünden sonra, proje bir süre devam ettirildi. ücretsiz yazılım /açık kaynak topluluğu ve uygulandı NVIDIA nForce ses kartları ve anakartlar. Şu anda barındırılıyor (ve büyük ölçüde geliştiriliyor) Yaratıcı teknoloji sürekli destek ile elma,[4] Rapture3D OpenAL Sürücüsü ile Mavi Dalgalanma Sesi,[5] ve bireysel açık kaynak geliştiriciler.

OpenAL tüzüğü, OpenGL ARB'de modellenen bir "Mimari İnceleme Kurulu" (ARB) olacağını söylese de, böyle bir organizasyon henüz oluşturulmamıştır ve OpenAL spesifikasyonu genellikle e-posta yoluyla genel posta listesinde ele alınır ve tartışılır.

1.1'den beri, Creative tarafından uygulama tescilli hale geldi ve ücretsiz lisanslardaki son sürümler, projenin Yıkım kaynak kod deposu. Ancak, OpenAL Yumuşak yaygın olarak kullanılan bir açık kaynak alternatifidir.

API yapısı ve işlevselliği

OpenAL'in genel işlevselliği şu şekilde kodlanmıştır: kaynak nesneler, ses arabellekleri ve tek dinleyici. Kaynak nesne, bir tampona, sesin hızına, konumuna ve yönüne ve sesin yoğunluğuna bir işaretçi içerir. Dinleyici nesnesi, dinleyicinin hızını, konumunu ve yönünü ve tüm sese uygulanan genel kazancı içerir. Tamponlar, ses verilerini içerir PCM format, 8- veya 16 bit ikisinde de tek sesli veya müzik seti biçim. Rendering motoru, mesafe azaltmaya kadar gerekli tüm hesaplamaları yapar, Doppler etkisi, vb.

Tüm bunların son kullanıcı için net sonucu, doğru şekilde yazılmış bir OpenAL uygulamasında, kullanıcı sanal dünyanın üç boyutlu uzayında hareket ederken seslerin oldukça doğal davranmasıdır. Bir programcının bakış açısından, mevcut bir OpenGL tabanlı 3B grafik uygulamasında bunun gerçekleşmesi için çok az ek çalışma yapılması gerekir.

OpenGL belirtiminden farklı olarak, OpenAL belirtimi iki alt bölümü içerir: API: Gerçek OpenAL işlev çağrılarından ve işleme bağlamlarını, kaynak kullanımını ve çapraz platform şeklinde kilitlemeyi yönetmek için kullanılan ALC (Ses Kitaplığı Bağlamı) API'sinden oluşan çekirdek. Ayrıca, OpenGL'lere tamamen benzeyen, daha yüksek düzeyde 'kolaylık' işlevleri sağlayan bir 'ALUT' (Ses Kitaplığı Yardımcı Programı Araç Seti) kitaplığı da vardır.GLUT '.

Gelecekte ek işlevsellik sağlamak için OpenAL bir uzatma mekanizması kullanır. Böylelikle, bireysel satıcılar, genellikle kendi özel donanımlarında ek işlevsellik sağlamak amacıyla kendi uzantılarını OpenAL dağıtımlarına dahil edebilirler. Uzantılar, geriye dönük uyumluluk için korunacak standart bir uzantıyı belirten ARB (Mimari İnceleme Kurulu) durumuna yükseltilebilir. ARB uzantıları, bir süre sonra çekirdek API'ye eklenme olasılığına sahiptir.

Gelişmiş dijital sinyal işleme ve donanım hızlandırmalı ses efektleri için EFX (Efekt Uzantısı) veya çevresel ses uzantıları (EAX) kullanılabilir.

Sınırlamalar

tek dinleyici OpenAL'deki model, tek bir insan kullanıcıya göre uyarlanmıştır ve yapay zeka veya robotik simülasyonlar veya işbirlikçi müzik performanslarında olduğu gibi birden fazla insan katılımcı için uygun değildir.[6]Bu durumlarda çoklu dinleyici modeli gereklidir. OpenAL ayrıca hesaba katmaz ses yayılım gecikmeleri ( Sesin hızı için kullanılır Doppler etkisi sadece). Bir ses kaynağına olan mesafe, bir gecikme değil, yalnızca bir genlik etkisine (zayıflama) dönüşür. Bu nedenle OpenAL, varış zaman farkı bu işlevsellik ayrı olarak eklenmedikçe hesaplamalar.[7]

Almak için tam hız avantajı OpenAL'de, satıcıya / donanıma özel bir uygulama gereklidir ve bunlar nadiren açık kaynak olarak yayınlanır. Desteklenen pek çok platform aslında OpenAL'i bir sarıcı çağrıları platformun yerel ve genellikle tescilli ses API'sine çevirir. Windows'ta, satıcıya özgü bir uygulama algılanmazsa, OpenAL'yi DirectSound'a (Genel Yazılım) veya DirectSound3D'ye (Genel Donanım) çeviren wrap_oal.dll sarıcı kitaplığına geri döner; ikincisinin kaldırılması Windows Vista ileriye doğru, Windows'un modern sürümlerinde genel donanım hızlandırmasını etkili bir şekilde kırdı.[8][9]

Desteklenen platformlar

API aşağıdaki platformlarda mevcuttur platformlar ve İşletim sistemleri:[10] Android (destekler OpenSL ES ), AmigaOS 3.x ve 4.x,[11] Bada, BlackBerry 10,[12] BlackBerry PlayBook, BSD, iOS (destekler Temel Ses ), IRIX, Linux (destekler ALSA, OSS, PortAudio ve PulseAudio ), Mac OS 8, Mac OS 9 ve Mac OS X (Temel Ses ), Microsoft Windows (destekler Doğrudan ses, Windows Multimedya API ve Windows Multimedya Cihazı (MMDevice) API), MorphOS, OpenBSD,[13] Solaris, QNX, ve AROS.[14]

Desteklenen oyun cihazları örneğin: Oyun küpü, PlayStation 2, PlayStation 3, Xbox, Xbox 360, Wii, ve PlayStation Portable.

Başvurular

Oyunlar

Aşağıdaki video oyunlarının OpenAL kullandığı bilinmektedir:

Diğer uygulamalar

Uygulamalar

OpenAL SI
OpenAL Örnek Uygulaması Loki'nin orijinal uygulamasıdır ve şu anda korunmamaktadır.
OpenAL Yumuşak
OpenAL Soft, LGPL lisanslı, çapraz platformlu bir yazılım uygulamasıdır. Kitaplık, kullanımdan kaldırılmış OpenAL Sample Implementation için uyumlu bir güncelleme / değiştirme ve ayrıca artık tescilli OpenAL'e ücretsiz bir alternatif anlamına gelmektedir. OpenAL Soft, mono, stereo, 4 kanallı, 5.1, 6.1, 7.1 ve HRTF çıkışını destekler.[27][28]
AeonWave-OpenAL
AeonWave-OpenAL, tarafından sağlanan donanım hızlandırmadan yararlanan LGPL lisanslı bir OpenAL öykünme katmanıdır. Özgür olmayan ancak Linux ve Windows için düşük maliyetli AeonWave 4D ses kitaplığı Adalin B.V.. Yazar, AeonWave-OpenAL uygulamasının 3B sesi beş (bir AMD Athlon 64 X2 ) yediye (bir Intel Atom N270 ) her ikisinden de kat daha hızlı OpenAL SI veya OpenAL Yumuşak aynı koşullar altında.[29] Kullanarak AeonWave kütüphane bu uygulama HRTF'nin yanı sıra sekiz hoparlöre kadar mekansal hale getirilmiş surround sesi destekler.
Rapture3D OpenAL Sürücüsü
Rapture3D OpenAL Sürücüsü, bir Özgür olmayan, ticari, yalnızca Windows, yazılım uygulaması tarafından yapılan Mavi Dalgalanma Sesi. Kitaplık, diğer uygulamalar için yüksek performanslı bir drop-in yerine kullanılmak üzere tasarlanmıştır. Özellikleri:[30]
  • 32bit kayan noktalı ses yolu.
  • Yüksek kaliteli örnekleme hızı dönüşümü (Doppler kayması dahil çeşitli amaçlar için kullanılır).
  • Yüksek kaliteli efektler ve filtreler.
  • Yönlü ses kaynakları.
  • Çok kanallı ses kaynakları desteği (kullanılarak kodlanan varlıklar dahil) Ambisonics ).
  • Kaynakların veya efektlerin sayısındaki tek sınır CPU gücüdür, yüzlerce ses kaynağını ve nispeten eski donanım üzerinde çoklu efektleri işleyebilir.
  • Yüksek Dereceli Ambisonics (HOA) otobüsü dördüncü sıraya kadar çalışıyor.

Ayrıca bakınız

Referanslar

  1. ^ "PCGamingWiki indirmeleri". OpenAL. Yaratıcı Laboratuvarlar. Arşivlenen orijinal Aralık 8, 2017. Alındı 7 Aralık 2017.
  2. ^ "OpenAL Lisansı". Arşivlenen orijinal 30 Aralık 2012. Alındı 10 Kasım 2012.
  3. ^ "OpenAL ile ilgili basın bildirisi" (Basın bülteni).
  4. ^ https://opensource.apple.com/tarballs/OpenAL/
  5. ^ http://www.blueripplesound.com/gaming
  6. ^ Wozniewski, Mike; Settel, Zack; Cooperstock, Jeremy (2007), Dağıtılmış sanal ortamlar için kullanıcıya özel ses işleme ve yönlendirilebilir ses (PDF), alındı 5 Ağustos 2012.
  7. ^ Açık Kaynak FPS Oyunu Alien Arena 2009 Çıktı # 28412367
  8. ^ Windows'ta OpenAL ile numaralandırma
  9. ^ OpenAL® ve Windows Vista ™
  10. ^ "OpenAL - Platformlar". Alındı 10 Mayıs, 2012.
  11. ^ http://se.aminet.net/dev/lib/openal-soft.readme[kalıcı ölü bağlantı ]
  12. ^ "böğürtlen / OpenAL 路 GitHub". Github.com. Alındı 14 Ocak 2013.
  13. ^ "OpenBSD için OpenAL".
  14. ^ "OpenAL / alut / ogg / vorbis [Forum - Geliştirme (Genel)". AROS-Exec. Alındı 16 Haziran 2013.
  15. ^ "Genel Bakış". 0 A.D. Oyun Bilgisi. Wildfire Oyunları. Arşivlenen orijinal 26 Eylül 2013. Alındı 5 Aralık 2012.
  16. ^ a b c d e f g h ben j k l m n Ö p q r s t sen v w x y z aa ab "Oyunlar". OpenAL Wiki. Yaratıcı Laboratuvarlar. Arşivlenen orijinal 10 Nisan 2013.[kendi yayınladığı kaynak? ]
  17. ^ a b "SCS Yazılım forumu". Arşivlendi orijinalinden 5 Haziran 2019. Alındı 5 Haziran 2019.
  18. ^ "HPL Motoru - Mod DB". Alındı 20 Kasım 2012.
  19. ^ "Sorun Giderme: OpenAL: Beamdog'u Yeniden Yükleyin". Alındı 29 Mayıs 2014.
  20. ^ "ioquake3 web sitesi".
  21. ^ "Mavi Dalgalanma Sesi". Alındı 23 Eylül 2017.
  22. ^ "Modulaatio Oyunları". Arşivlenen orijinal 6 Eylül 2012.
  23. ^ "Uyumlu OpenAL Oyunları". Mavi Dalgalanma Sesi.
  24. ^ "Vanda Motoru".
  25. ^ Thalmann, Florian; Gaelli, Markus (2006). "Jam Tomorrow: OpenAL Kullanarak Krokette Ortak Müzik Üretimi". Jam Tomorrow: OpenAL Kullanarak Krokette Ortak Müzik Üretimi - IEEE Konferans Yayını. sayfa 73–78. CiteSeerX  10.1.1.67.8139. doi:10.1109 / C5.2006.22. ISBN  978-0-7695-2563-1.
  26. ^ [email protected], Martin Lambers. "Bino: ücretsiz 3D video oynatıcı - Hakkında". bino3d.org.
  27. ^ "OpenAL Soft - Yazılım 3D Ses". openal-soft.org. Alındı 4 Ocak 2014.
  28. ^ "OpenAL Soft Git deposu". Alındı 26 Aralık 2013.
  29. ^ Hofman, Erik (9 Mayıs 2012). "[Openal-devel] Duyuru: AeonWave-OpenAL 1.1.7 yayınlandı". Arşivlenen orijinal 19 Ocak 2013. Alındı 9 Aralık 2012. Testler, AeonWave-OpenAL'in sesi OpenAL-Soft ve OpenAL-Sample'dan beş kat daha hızlı (bir AMD Athlon-64 X2 işlemcide) ve yedi kata kadar (Intel Atom-N270 işlemcide) daha hızlı işlediğini göstermiştir. Atom-N270'de (OpenAL-Soft için maksimum) 32 ses işlemek, powertop'a göre 1 Watt sürekli güç tasarrufu sağlar.
  30. ^ "Geliştiriciler". Blue Ripple Sound Limited. 2009. Alındı 24 Ocak 2011.

Dış bağlantılar