Monthly Archives: July 2011

PulseAudio di Windows Sudah Tidak Gagap Lagi

Latar Belakang

Kadang kalau lagi mau main game terpaksa harus boot ke Windows XP. Lebih sering lagi kalau lagi main ingin sambil enjoy musik, sama seperti kalau lagi pakai Linux.

Sayangnya port server PulseAudio (PA) untuk Windows terlalu jadul, masih versi 0.9.6, dari tahun 2007-an dan agak keteteran mengikuti perkembangan development di Linux yang udah versi 0.9.20-an.

Masalah

Katanya sih karena ada kesulitan waktu porting, maklum aja soalnya PA habitat aslinya di Linux-land sih. Feature-feature baru di test di Linux, dan kebanyakan developernya orang-orang Linux juga, jadi port untuk Windows jadi anak tiri. Ada sukur.. gak ada ya gak usah sewot, gitu maksudnya.

Gw udah pernah coba compile sendiri pake mingw32 tapi emang gak bisa.

Karena lagi mumet malas baca kode punya orang, gak penting-penting amat (masih bisa streaming lewat http), dan gak sakti-sakti amat ilmu Linux gw jadi gw (macam) postpone aja dulu, akhirnya “terpaksa” nyangkut pakai binary dari Cendio

Mau denger musik aja kok repot?

Lah iya, soalnya musik saya di komputer terpisah. Komputer yang nyimpen file-file musik jalanin program mpd, lalu nanti dia stream lagu ke komputer lainnya.

Karena komputer yang digunakan sebagai penyimpanan lagu ini sering di-update maka Music Player Daemon (MPD), program yang digunakan untuk menjalankan musik, sudah beberapa kali di-update versinya dan wajar kalau sudah pakai library PA yang lebih baru.

Server PA yang di Windows, yang masih menggunakan kode dari tahun 2007, suaranya sering putus-putus seperti orang gagap, beda dengan server PA yang di Linux.

Berdasarkan analisa ala-kadarnya, nampaknya setiap kali pakai server PA Windows penggunaan CPU MPD selalu naik sampai 100%. Anehnya, kalau coba set output ke ALSA atau streaming lewat http cpu utilization-nya gak sampai 10%, jadi masalahnya pasti di sekitar PA.

Kalau di server PA Linux tidak menunjukkan gejala seperti itu maka kesimpulan berikutnya adalah karena ada mekanisme yang berubah di PA, yang sayangnya tidak backward-compatible dengan kode dari tahun 2007.

Oh oke, jadi kenapa nge-blog?

Ini lho, nampaknya sudah ada yang mengerjakan Windows port yang baru, walaupun status masih UNSUPPORTED dan belum semua fasilitas sudah di port ke Windows.

Jadi lewat blog ini saya mau bilang terima kasih/”thank you” kepada Maarten Bosmans (mkbosmans), yang sudah menyediakan binary yang siap pakai.

Gimana cara pakainya?

  1. Ekstrak.
  2. Edit file etc/pulse/default.pa dan masukkan parameter-parameter yang diperlukan, misal:
    load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.99.0/24.
  3. Copy file module-module yang dibutuhkan (kalau saya: module-native-protocol-tcp.dll, module-null-sink.dll, dan module-waveout.dll) dari direktori lib/pulse/modules ke direktori bin.
  4. Buat shortcut ke bin/pulseaudio.exe -D

Kalau mau lebih jelas, silahkan baca The Perfect Setup.

Leave a comment

Filed under Orang bego punya kegiatan