OSS (Türkçe)
From ArchWiki
i18n |
---|
Türkçe |
Français |
English |
Español |
简体中文 |
Contents |
OSS Nedir?
Open Sound System ya da kısaca OSS Linux, FreeBSD, Solaris ve BeOS/Haiku dahil olmak üzere UNIX benzeri ve POSIX-uyumlu sistemlerde çalışan bir ses mimarisidir.
Bu yazı Linux çekirdeğindeki eski OSS ile alakalı değildir, yeni OSS'ye ilişkindir.
Bu yazıda yeni OSS sürümleri (OSSv4 olarak adlandırılmaktadır) anlatılacaktır. OSSv4 öncesi sürümler mülki haklar doğrultusunda kapalı kodlu iken, Temmuz 2007'den itibaren GPL, BSD ve CDDL lisansları altında tekrar özgür yazılım statüsüne kavuşmuştur.
ALSA'ya kıyasla avantajları ve dezavantajları
Avantajları (kullanıcı için)
- Kernel seviyesinde şeffaf yazılım karıştırıcısı (vmix) barındırır. Böylece birden çok uygulama ses aygıtına aynı anda sorunsuz erişebilir.
- vmix karıştırıcısı ile her uygulamanın ses seviyesini ayrı ayrı değiştirebilirsiniz.
- Bazı ses kartı modelleri için daha iyi destek vermektedir. (Mesela, Creative X-Fi)
- Ses kalitesi genellikle daha iyidir.
- OSS API'sini kullanan uygulamalar için destek vermektedir. OSS API'si geniş bir kullanım sahası içerisinde yer almaktadır ve bir çok uygulama OSS API'sini kullanmaktadır. Buna rağmen, ALSA'nın OSS API emulasyonu, genelde sorun çıkarmaktadır.
Avantajları (geliştiriciler için)
- Karışık olmayan ve kolay kullanıma sahip API'ye sahip olması.
- İyi bir belgelendirmeye sahip API olması.
- userspace içerisinde ses kartlarına destek vermesi (oss_userdev).
- Desteklenen tüm platformlarda uyumluluk sağlaması. Eğer OSS kullanan uygulama Linux altında çalışıyorsa, FreeBSD ve Solaris altında da çalışacaktır.
- Çeşitli işletim sistemlerine taşınabilirlik sağlaması. OSS'yi yeni bir işletim sistemine uyarlamak kolay bir işlemdir.
Dezavantajları
- USB ses aygıtları desteği Linux altında şimdilik deneysel niteliktedir.
- Bluetooth ses aygıtları şimdilik desteklenmemektedir.
- AC'97 ve HDAudio dialup soft-modemler (mesela Si3055) şimdilik desteklenmemektedir.
- MIDI desteği henüz tamamlanmamıştır. Buna rağmen, timidity veya fluidsynth gibi sentezleyiciler ile MIDI kullanabilirsiniz.
- Askıya alma (suspend) şimdilik desteklenmemektedir. Askıya almadan önce soundoff komutu ile OSS'yi durdurup, devam ettiğinizde soundon komutunu vermeniz gerekmektedir.
- Otomatik jack algılama bazı HDAudio destekli anakartlarda şimdilik çalışmamaktadır. Bu nedenle, eğer desteklenmeyen bir anakart sahibi iseniz, kulaklık taktığınızda hoparlörlerinizi kapatmanız gerekebilir.
Kurulum
- OSS'yi kurmak için şu komutu verin:
# pacman -S oss
- OSS'yi çalıştırmak için şu komutu verin:
# /etc/rc.d/oss start
- oss'yi /etc/rc.conf içerisindeki DAEMONS satırına ekleyin, böylelikle OSS bilgisayarınızı her açtığınızda çalışacaktır.
Not: Yukarıdaki kurulum yönergeleri OSS 4.1 içindir. OSS 4.0 istiyorsanız AUR üzerindeki paketi kurabilirsiniz.
OSS'yi Test Edin
OSS ilk çalıştırıldığı zaman ses seviyesi öntanımlı %100 olduğundan çok gürültü olabilir. Test etmeden önce, ses seviyesini makul bir düzeye getirebilirsiniz.
- Ses seviyesini azaltın:
$ ossmix vol 15 $ ossmix pcm 15
- OSS testini başlatmak için şu komutu verin:
$ osstest
Bu komutu verdikten sonra OSS'nin test müziğini duyuyor olmalısınız. Eğer ses alamıyorsanız, yukarıda verilen ses seviyesi komutu (ossmix) ile ses seviyesini yükseltmeyi deneyin.
Karıştırıcı
Komut satırı karıştırıcısı ossmix uygulamasıdır. BSD'deki mixerctl uygulamasıyla benzer nitelikler taşımaktadır.
Ayrıca grafik arabirimine sahip ossxmix uygulaması da kullanılabilir. ossxmix'in tek bağımlılığı gtk2'dir.
ossxmix kontrolü aşağıdaki örnekle açıklanmaktadır:
______________________________ / High Definition Audio ALC262 \ ----------------------------------> Her ses kartı için bir sekme bulunur /________________________________\_______________________________ | | [x] vmix0-enable [vmix0-rate: 48.000kHz] vmix0-channels \ vmix'in (sanal karıştırıcı) özel ayarları | [ Stereo [v] ] |--> bu kısımda görünmektedir. Bu ayarlar örnekleme ayarı | / ve karıştırıcı önceliklerini kapsar. OSS tarafından sağlanır. | __codec1______________________________________________________ | | _jack_______________________________________________________ \ | | | _int-speaker____________________ __green_________________ | | | | | | | | Bu ayarlar ses kartınıza has ayarlardır. | | | | _mode______ | | | | _mode______ | | | Buradaki her karıştırıcı kontrolü ses kartınız | | | | [ mix [v] ] o o [x] [ ]mute | | [ mix [v] ] o o [x] |--> tarafından sağlanan özelliklere yöneliktir. Her ses kartının kendi | | | | | | | | | | | spesifik ayarları bu kısımda gösterilir. Ses kartından ses kartına | | | |________________________________| |_______________________ | değişir. | | |____________________________________________________________ | | |______________________________________________________________ / | | ___vmix0_______________________________________________________ \ | | __mocp___ O O _firefox_ O O __pcm7___ O O | Bu kısımda vmix karıştırıcı kontrolleri bulunmaktadır. | | | | O O | | x x | | O O | Bu kontroller OSS tarafından sağlanmaktadır. Her | | | | | | x O | | | | x x | | | | O O | kaydırıcı farklı bir programın ses seviyesini düzenler | | | o o [x] | x x | o o [x] | x x | o o [x] | O O |--> Bir uygulama ses kartını kullandığında ismi 'pcm#' kısmında | | | | | | x x | | | | x x | | | | O O | görüntülenir. Ayrıca her uygulama için ses seviyesi sayacı | | |_________| x x |_________| x x |_________| O O | bulunmaktadır. | |______________________________________________________________ | |________________________________________________________________ /
Karıştırıcı ayarlarını kaydetmek ve tekrar kullanmak
Eğer ses karıştırıcı ayarlarını elle kaydetmek istiyorsanız, savemixer uygulamasını çalıştırın. Ancak yazma için /usr/lib/oss/etc/save.mixer dosyasına yazma izniniz bulunmalıdır veya '-f' parametresini kullanarak farklı bir dosyaya yazdırabilirsiniz. savemixer -L komutunu kaydettiğiniz ayarları tekrar kullanmak için verebilirsiniz. Açılış (init) betikleri bu komutları açılışta ve kapanışta kullanmaktadır.
savemixer
Uygulamaları OSS için yapılandırmak
Bir uygulamanın sadece OSS sürücüsünü kullanmasını sağlamak için en basit yöntem o uygulamayı ALSA desteği olmadan tekrar derlemektir. Bu uygulamaların çoğu alsa-lib bağımlılığına sahiptir, bu yüzden onları bulup tekrar derleyebilirsiniz.
- alsa-lib bağımlılığına sahip paketleri bulmak için:
$ pacman -Qi alsa-lib
- OSS'ye has uygulamalar AUR üzerinde -oss ismi ile bulunmaktadır Eğer istediğiniz bir uygulamayı bulursanız, PKGBUILD'ini indirip makepkg ile paket haline getirip kurabilirsiniz.
- Ayrıca farklı bir yöntem olarak ABS'yi kullanabilirsiniz. İstediğiniz paketten alsa-lib bağımlılığını kaldırıp, tekrar derleyip kurabilirsiniz.
Skype
skype paketi öntanımlı olarak sadece ALSA kullanmaktadır. Eğer OSS tabanlı bir Skype kullanmak istiyorsanız, skype-oss paketini kurmanız gerekmektedir.
KDE Phonon
Qt Phonon öntanımlı olarak OSS'yi desteklemektedir.
Buna rağmen, eğer KDE kullanıyorsanız, ses çıktısı için Xine altyapısını kullanıyorsanız sorun yaşayabilirsiniz. Phonon altyapısını değiştirerek bu sorunu çözebilirsiniz.
~/.kde4/share/config/servicetype_profilerc dosyasını aşağıdaki gibi değiştirin:
[PhononBackend] Entry0_Preference=2 Entry0_Service=phononbackends/gstreamer.desktop Entry1_Preference=1 Entry1_Service=phononbackends/xine.desktop NumberOfEntries=2
Wine
- winecfg'yi çalıştırın.
winecfg
- Ses (Audio) sekmesini açın.
- OSS Sürücüsünü seçin.
Diğer Uygulamalar
Eğer bir uygulamadan ses alamıyorsanız, Configuring Applications for OSSv4 sayfasını ziyaret ediniz.
Sorun Giderme
HDAudio aygıtları için sorun giderme
Problemin çıkış nedenini araştırma
Eğer bir HDAudio ses aygıtına sahip iseniz, ses çalıştırmadan önce bazı karıştırıcı ayarlarını yapmanız gerekmektedir.
HDAudio aygıtları algılama konusunda bir çok küçük devre barındırdığı için bunlar yazılım ile kolayla ayarlanabilir ve değiştirilebilir. Mesela, kulaklık jack'i ses çıkış jack'ine kolayca dönüştürülebilir.
Buna rağmen, bazı donanım firmaları sadece resmi sürücülerini önemsedikleri için sorunlar yaşanabilir. Bu konuda donanımı üreten firmanın gerekli bilgileri paylaşmaması nedeniyle sorunlar yaşandığı gerçeği ön plana çıkmaktadır.
HDAudio aygıtlarını kullanırken, düzensiz karıştırıcı kontrolleri ile karşılaşabilirsiniz. Ses alana kadar karıştırıcı ayarları ile oynayabilirsiniz. Ön planda karıştırıcı ayarları ile uğraşırken arkaplanda kayıt ve oynatma yapan bir bir uygulama yapabilirsiniz (mesela, kayıt için ossrecord - | ossplay - veya oynatma için osstest -lV)
Çözüm
ossxmix uygulamasını çalıştırın ve orta kısımdaki karıştırıcı ayarlarını değiştirmeyi deneyin. Bu ayarlar "karıştırıcı" kısmında da belirtildiği gibi ses kartına has ayarlardır.
- Ses seviyelerini en üst düzeye getirin.
- Her seçenek kutusunda belirtilen seçeneği bütün kombinasyonları deneyerek değiştirmeyi deneyin.
- Eğer cızırtı geliyorsa, cızırtının kaynağını bulana dek ses seviyesini düşürmeyi veya sesi tamamen kapatmayı deneyin.
Tekrar üzerinde durmakta fayda var; en üstteki veya en alttaki ayarları değiştirmenizin herhangi bir faydası olmaz, çünkü o ayarlar vmix yani sanal karıştırıcı ayarlarıdır. Önemli olan orta kısımdaki ayarlardır.
Diğer sorunlar
- Eğer ses cızırtılı geliyorsa, ses seviyesini düşürmeye çalışın.
- Öntanımlı ses kartını değiştirmek için [1] sayfasını ziyaret edin.
- Daha farklı sorunlar yaşıyorsanız, 4front forumlarından yardım alabilirsiniz.
İpuçları
Çokluortam Tuşlarını OSS ile Kullanmak
Eğer öntanımlı olarak çokluortam tuşlarınız çalışmıyorsa Using multimedia keys with OSS sayfasını ziyaret edin.
Diğer İpuçları
ALSA Öykünümü (emulation)
ALSA Öykünümü nedir?
alsa-lib kütüphanelerinin ses çıkışı için OSS'yi olarak kullanmasını sağlayabilirsiniz. Bu yöntem ALSA öykünümü olarak adlandırılmaktadır.
Bu yöntem, seste gecikmeye yol açabileceği gibi şu an tamamlanmamış olduğu için tüm uygulamalarda çalışmayabilir.
Bu bakımdan, çoğu uygulama OSS'yi doğrudan desteklediği için bu yöntemi en son çare olarak uygulamanız tavsiye edilmektedir.
İleriki zamanlarda çeşitli öykünüm yolları da eklenenerek ALSA öykünümü kapsamı genişletilecektir. Mesela: AUR üzerindeki libsalsa güncel bir örnek olarak karşımıza çıkmaktadır.
NASIL?
- alsa-plugins paketini kurun.
pacman -S alsa-plugins
- /etc/asound.conf dosyasını şu şekilde düzenleyin:
pcm.oss { type oss device /dev/dsp } pcm.!default { type oss device /dev/dsp } ctl.oss { type oss device /dev/mixer } ctl.!default { type oss device /dev/mixer }
Deneysel Paketler
Mercurial deposu sürümü
AUR üzerinde bulunan oss-mercurial paketi OSS'nin en son ve güncel geliştirme sürümünü Mercurial deposundan alarak kurmak için hazırlanmıştır.
Bu paketi OSS gelişimine destek için kurabileceğiniz gibi, daha önce desteklenmeyen ses kartınızın desteklenip desteklenmediğini görmek için kullanabilirsiniz.