Saturday, January 7, 2012

Audacious bagi audiophile

Ternyata program audio player Audacious memiliki option yang sangat beragam termasuk plugin bahkan dukungan DSP seperti LADSPA. Walaupun boleh dikatakan tidak terlalu instan tetapi untuk hitungan laptop Atom dan earphone 20rb-an suara yang dihasilkan jadi cukup memuaskan.

Yang perlu diinstal adalah paket Audacious itu sendiri audacious berserta dengan plugin bawaan audacious-plugin dan plugin tambahan dari LADSPA seperti swh-plugins, ladspa-sdk, fil-plugins dan tap-plugins.

Kemudian yang paling penting adalah setingan berikut dan bisa jadi setingan yang saya gunakan tidak cocok bagi perangkat audio yang berbeda atau tipe musik yang lain.
Pertama kita buka Preference, banyak hal yang kita ubah di sini, bit depth kita gunakan Floating Point. Agar volume lagu konsisten kita aktifkan Replay Gain dan prevent clipping agar apabila terjadi gain yang terlalu tinggi suara tidak terpotong yang menghasilkan bunyi kratak2.
Untuk efek kita aktifkan efek2 berikut:
nilai pada efek2 di atas dibiarkan pada nilai aslinya sudah cukup memuaskan. Untuk seting lebih dalam kita mengatur plugin2 pada LADSPA Host.
Stereo Amplifier : 1.20
DJ EQ : Lo Gain : 6, Mid Gain : 0, Hi Gain : 6, latency : 3
Matrix Spatializer : 2
4-band parametric filter :




















setingan 4-band parameter ini masih bisa dieksplorasi lagi untuk menghasilkan suara yang optimal.

TAP Equalizer :
- Freq 9k, gain -13
- Freq 16k, gain 6
Setingan di atas pada awalnya agak sakit di telinga supaya tidak repot buka2 preference saya gunakan equalizer dari Audacious. Modifikasi yang dilakukan sangat sedikit dengan membiarkan frekuensi lain pada setingan gain 0 hanya frekuensi 14k dan 16k diturunkan separuh jalan dan preamp diturunkan hampir separuh jalan juga. Kemudian mengaktifkan AUTO dan jangan lupa menyimpan sebagai default agar tidak berubah-ubah.
Bisa jadi setingan di atas ada komponen yang redundan tetapi selama hasilnya memuaskan untuk dinikmati tidak jadi masalah. Hanya saja penggunaan CPU semakin meningkat karena banyaknya proses yang harus dilakukan. Setingan di atas berdasarkan musik dengan banyak ketukan ritmis dan detil nada tinggi dan mungkin tidak cocok bagi musik yang lebih tenang semacam jazz atau klasik.

Wednesday, January 4, 2012

Membuat perspektif 3D peta menggunakan R

Yang diperlukan :
- Tabel berisi titik koordinat lokasi (X,Y) dan ketinggian (Z).
- Program R
- paket library akima dan rgl untuk R. Apabila belum terpasang kita gunakan, dalam konsol R
install.packages(akima)kita memerlukan fungsi interp() untuk melakukan interpolasi titik dan
install.packages(rgl)untuk tampilan 3D:plot3d(), persp3d() dll.

Terlebih dahulu kita load  paket2 tersebut
library(akima); library(rgl)

Kemudian, tabel yang kita impor sebaiknya dalam format teks .csv dengan demikian dapat kita baca menggunakan read.csv
dataxyz <- read.csv("tabel koordinat ketinggian")

untuk plotting point 3D bisa langsung kita gunakan
plot3d(x=dataxyz$x,y=dataxyz$y,z=dataxyz$z)
aspect3d(1,1,0.2) #untuk mengubah aspek proporsi sumbu x,y,z di sini saya atur proporsi sumbu z 20% dari aslinya.

Untuk perspektif 3D terlebih dahulu kita interpolasikan titik yang kita punya agar dapat membentuk sebuah surface.
datasurface <- interp(x=dataxyz$x,y=dataxyz$y,z=dataxyz$z) #apabila menemui error karena duplikasi sumbu z kita bisa meggunakan parameter alternatif duplicate="mean" atau "median".

kemudian untuk menampilkan menggunakan
with(datasurface,persp3d(x=dataxyz$x,y=dataxyz$y,z=dataxyz$z,col="gray")) #saya menggunakan warna abu2, sedangkan untuk draping tekstur atau warna klasifikasi masih mencari2 caranya.
aspect3d(1,1,0.2) #untuk mengatur aspect ratio, di sini sumbu z dibuat hanya 0.2 dari aslinya.

Alternatif untuk pengelolaan data ketinggian tanpa tergantung dari lintang dan bujurnya dengan melakukan transformasi. Data ketinggian yang tadinya merupakan matriks 1 dimensi diubah mejadi 2 dimensi.  Caranya dengan melakukan interpolasi sama seperti di atas:
datasurface <- interp(x=dataxyz$x,y=dataxyz$y,z=dataxyz$z)
kemudian menjadikan datasurface$z menjadi sumbu z :
z <- datasurface$z
dan untuk sumbu x dan y menggunakan :
x <- 10 * (1:nrow(z))
y <- 10 * (1:ncol(z))


untuk tampilan tetap menggunakan persp3d()
persp3d(x,y,z)

Dengan menggunakan persp3d kita bisa melakukan rotate dan zoom (saya belum menemukan cara untuk panning) menggunakan mouse.