Sunday, August 09, 2015

Welcome to Kuala Lumpur

Ini adalah kali pertamanya saya mengunjungi Kuala Lumpur, setelah beberapa kali transit di Kuala Lumpur International Airport (KLIA). Berbeda dengan workshop sebelumnya, tiket perjalanan course kali ini di-handle sepenuhnya oleh panitia (AUN/SEED-Net), jadi kita tinggal terima jadi e-ticket, terus berangkat. Thanks to the committee!



SBY - JKT - KL
Sebetulnya, akan lebih mudah naik AirAsia dari Surabaya ke KL daripada naik Garuda. Namun karena peraturan, kita dibookingkan pesawat Garuda dengan rute Surabaya - Jakarta - KL, total hampir dua belas jam saya habiskan untuk perjalanan itu. Never mind, karena kita tidak mengeluarkan uang sama sekali. Berangkat dari rumah jam 7 pagi, sampai di KLIA hampir jam 7 malam. Setelah itu, kita mencari transportasi ke penginapan.

Wednesday, August 05, 2015

Signal Enhancement By Single Channel Source Separation

Most gadgets and electronics devices are commonly equipped with single microphone only. This is difficult task in source separation world which traditionally required more sensors than sources to achieve better performance. In this paper we evaluated single channel source separation to enhance target signal from inteferred noise. The method we used is non-negative matrix factorization (NMF) that decompose signal into its components and find the matched signal to target speaker. As objective evaluation, coherence score is used to measure the perceptual similarity from enhanced to original one. It show the extracted has 0.5 of average coherence that shows medium correlation between both signals.

The following slides talk a bit about signal Signal enhancement by single channel source separation principle. You can grab the full paper here.


Saturday, July 11, 2015

A one day trip in Trieste, Italia

Trieste adalah kota kecil di perbatasan Italia dan Slovenia, tepatnya di utara timur (timur laut) Italia. Kisah kedatangan saya di kota ini bisa dibaca di sini. Suatu ketika di hari minggu, saya tidak mempunyai agenda, saya putuskan untuk keluar naik bis, tidak tahu kemana, biarlah langkah kaki yang memutuskan.

Di Trieste, tiket bus anda tidak diperiksa. Lebih longgar daripada di Jepang. Jadi, bisa saja anda naik bus tanpa membeli tiket, tergantung kejujuran masing-masing. Saya naik bus nomor 6 dari Adriatico Guest House (AGH), dan berhenti dimana orang-orang juga berhenti, bus stop (halte) setelah stasiun Trieste Centrale.

Turun dari bus, saya juga berjalan mengikuti arah kebanyakan orang berjalan, dan saya menemukan tempat-tempat berikut yang sebelumnya sudah terbayang secara visual dari internet.

Canal Grande di Trieste
Merasa berada di Venice, itulah yang saya rasakan ketika menjumpai kanal ini. Namun saya ingat, ini Trieste, bukan Venice. Inilah Canal Grande di Trieste! Tidak banyak landscap memang, namun perpaduan kanal dan bangunan di ujung kanal tersebut mengingatkan kita pada zaman Romawi kuno. Tempat romantis ini sangat cocok untuk minum kopi di sore hari, sambil bercengkerama memandang laut Adriatic

Canal Grandi di Trieste

Wednesday, July 08, 2015

Tutorial Latex Sederhana dan Instalasinya

Bisa menggunakan Latex adalah salah satu skill dasar yang harus dimiliki oleh mereka yang ingin menjadi ilmuwan atau peneliti (scientist and researcher). Menguasai Latex akan memudahkan kita ketika menulis paper akademik dan saintifik semisal jurnal, conference paper dan thesis (TA dan disertasi).

Untuk dapat menggunakan Latex, anda harus menginstallnya terlebih dahulu. Jika anda memakai Windows, anda bisa mengintall miktex dan texworks. Untuk Unix, khususnya Linux, saya akan mendemokan instalasi Latex dengan editor Gedit.

Step-by-step instalasi Latex dan gedit-latex-plugin (di terminal) di Ubuntu (14.04):
    1. sudo apt-get install latex
    2. sudo apt-get install gedit-latex-plugin
Dengan dua perintah tersebut (bisa dijadikan satu juga), maka Ubuntu anda sudah terinstall Latex, lebih sederhana dibandingkan dengan instalasi pada Windows. Silakan cek pada gedit, aktifkan plugin, edit >> preference >> plugin, synctex. Kemudian akan muncul tab "Latex" serta menu "Tools" Latex--> pdf, pada window Gedit anda.

Tampilan Gedit dengan plugin Latex
Selanjutnya, anda dapat mendownload tutorial Latex di bawah ini untuk belajar Latex, file sumber saya sertakan disini.

Sunday, July 05, 2015

Intro to Matlab: From Beginner to Advance

Senin, 29 Juni 2015 saya memulai hand-on-research di Trieste, Italy, dengan menu favorit saya, Matlab. Karena Matlab dipakai hampir di semua materi hand-on-research, maka saya memilih menu ini di awal. Hands-on kali ini diampu oleh Brian Storey, Professor of Mechanical Engineering di Olin Collage, US, yang juga telah menulis banyak ebook gratis untuk Matlab dan CFD. Semua materi yang digunakan ada pada link attachment di halaman paling bawah artikel ini (saya akan mengupdate permissionnya dalam beberapa minggu lagi).

Once to be remembered, learning Matlab is not learning the programming, but the physical phenomenon behind it. So, you must understand clearly from physical phenomena to mathematical model (equation), from equation and logic to (Matlab) programming language. When you didn't understand about math and physics of your program, it will very hard to bring the solution to (Matlab) programming language.

OK, Let's start. Prof. Storey divide the student into two: the beginner who never knows about Matlab, and advance user with someone in between (intermediate). For beginner on Matlab, the following books has been recommended and you can study it by your self,

Friday, July 03, 2015

Two Minutes Snapshot


In snapshot (both oral presentation or poster) we have two minutes only to deliver our thriller for our poster/presentation. Above is my snapshot for my previous poster. Here are the general method to arrange snapshot.

Slide 0:
  • Title
  • Name
  • (Optionally) Address
Slide 1:
  • What is the problem
  • Why it is interesting
  • How you address the problem
Slide 2:
  • What are your result
  • How do it impact (both past and future)

Extracting Sound From Multiple Sources in Anechoic Room


Ini adalah revisi dari poster saya sebelumnya. What I learned? Apa yang saya perbaiki?
  • Judul harus menarik dan spesifik, tidak lebih dari 10 kata
  • Tambahkan ABSTRAK
  • Hindari Jargon (kata-kata spesifik) dan akronim
  • Keep it Simple!
  • Tunjukkan the BIG idea, the big deal!
  • Tunjukkan apa yang menarik dan kenapa
  • Next Step, apa?
  • Font minimal 28, idealnya 36 
  • Perhatikan flow (kiri ke kanan) dan balance layout 
  • Keywords! orang menemukan poster/paper kita dengan bantuan keyword (termasuk anda ketika menemukan tulisan ini)
 Have a good poster and snapshot!

Monday, June 29, 2015

From Surabaya to ICTP Trieste

Perjalanan kali ini agak chaos. Bagaimana tidak, sejak dari Surabaya - Jakarta sudah delay (1 jam), kemudian Jakarta - Kuwait (via Kuala Lumpur) juga delay (3 jam). Terakhir dari Kuwait ke Roma delay juga (2 jam). Hal ini mengakibatkan saya tidak konsen dalam mengambil keputusan saat sampai di stasiun tujuan. Ok, this is the story.

Surabaya - Jakarta (1,5 hour)
Kali ini saya menggunakan maskapai favorit saya, citilink. Tidak biasanya citilink telat, dari jadwal seharusnya jam 13.25, baru jam 2.30 pesawat tersebut boarding. Dan yang lebih parah lagi, keterlambatan tersebut tidak diumumkan, kita dibiarkan menunggu tanpa kejelasan. Sepertinya pelayanan citilink sudah turun, tapi semoga tidak, semoga hanya kali ini saja.

Jakarta - Kuwait
Sejak datang, papan display digital di dalam Bandara Soekarno Hatta sudah menunjukkan kalau pesawat ini terlambat tiga jam, dari seharusnya jam 11 malam, menjadi jam 2 dini hari. Saya manfaatkan waktu tersebut untuk nge-charge hp dan laptop. Ada snack dan kopi untuk mengkompensasi keterlambatan tersebut, saya manfaatkan untuk supply sebelum sahur nanti di pesawat. Jam 2-an, pesawat Kuwait meluncur, dalam dua jam sampai di Kuala lumpur, dan transit disana selama satu jam. Di pesawat dapat makanan yang saya gunakan untuk sahur, kemudian saya lanjutkan sholat subuh di pesawat tersebut. Karena langsung menuju Kuwait setelah itu, penumpang tidak diturunkan selama di Kuala Lumpur, ini pengalaman pertama kalinya saya transit on the plane, biasanya kalau transit ya turun. Pesawat berangkat tepat waktu dan itu akan menjadi perjalanan terlama kali ini, 7 jam. Alhamdulillah saya bisa tertidur saat itu, dan saat bangun sudah hampir mencapai Kuwait. Welcome to Kuwait, welcome to Arab!

Wednesday, June 24, 2015

Menjadi Muslim Tangguh

Bertempat di Nagoya Josei Kaikan, Ustadz Wijayanto memberikan tausiahnya pada muslim Indonesia di Nagoya dan sekitarnya (pada 2014). Tulisan berikut adalah transkrip yang saya buat saat pengajian berlangsung.

=========
Indonesia saat ini sedang Krisis persaudaraan >> jangan melihat perbedaan. Jadilah muslim yang tangguh, manusia yang humanist, manusia yang memiliki peri kemanusiaan, makhluk sosial yang menolong sesamanya tanpa membedakan agama, ras, suku dan bangsa.

How to be sturdy muslim?
  1. Hiasi rumahmu dengan bacaan Quran 
  2. Lingkungan yang baik 
  3. Membuat bidhohan, teman-teman dekat yang baik. 
    • Mustahil anda bisa hebat bila sendirian.
    • Setan tidak akan menggoda orang yang jamaah.
    • Karena orang punya keterpengaruhan 
    • Orang cenderung untuk satu jenis, berkumpul dengan mereka yang memiliki persamaan.
  4. Diperlukan walijah, tempat dimana pribadi yang mempesona. Bagaimana orang yang mempesona? Orang yang anaknya ingin seperti orang tuanya? Saya setelah besar ingin seperti Ibu saya atau ayah saya, itu minimal, tapi harus lebih. Jangan sampai orang tua menasehati anak dengan mengibaratkan sepert bapak/ibunya. 
  5. Pastikan anda menjadi role model yang bisa ditiru 
  6. Diperlukan makrifah, rutinitas yang istiqomah misalnya membuat kelompok kajian mingguan. 
  7. Jaga ibadah dan muhasabah. 
  8. Lakukan semua aktivitas dengan niat baik. Yang membedakan suatu aktivitas bernilai ibadah atau tidaknya adalah niat. Yang memberkahi adalah doa. Doa tidak membedakan aktivitas satu dengan lainnya kecuali bernilai berkah. Nasi yang dimakan dengan atau tanpa doa rasanya sama, tapi keberkahannya beda. Rejeki itu yang diminta bukan banyaknya, tapi berkahnya. 

Menjadi baik, how?

Monday, June 22, 2015

Belajar Pemrograman: Dari C ke C++

Belajar pemrograman menjadi hal-hal yang susah-susah sulit, terutama untuk para mahasiswa baru, yang baru meninggalkan SMA dan menginjak bangku perkuliahan. Saya pernah mengalaminya.

Alih-alih menggunakan bahasa pemrograman C++ yang sudah object-oriented (Saya menggunakan C++ saat awal kuliah), ada baiknya kita memulai dari bahasa C, bahasa pemrograman struktural/prosedural yang universal, mudah dipahami, setelah itu kita tingkatkan step-by-step ke bahasa C++. Meskipun ada yang mengatakan bahasa C dan C++ itu sangat berbeda secara konseptual, namun secara teknis hampir sama karena C++ diturunkan (dikembangkan) dari C++.

Slide-slide berikut merupakan bahan ajar kuliah pemrograman komputer yang saya buat untuk mahasiswa D3 Metrologi Instrumentasi sekaligus S1 Teknik Fisika. Pada awal perkuliah saya menggunakan bahasa C untuk memperkenalkan konsep pemrograman dan algoritma melalui flowchart. Setelah memahami bahasa prosedural, mahasiswa kami bawa ke konsep OOP (object oriented programming) yang diimplementasikan dengan C++. Harapannya, mahasiswa tidak hanya memahapi konsep OOP pada C++ saja, namun dapat diaplikasikan pada bahasa pemrograman lain, semisal Java.


Sunday, May 31, 2015

Writing Email in Japanese: Some Styles

The style in writing letters/emails in Japanese maybe varies from one to another. I thought that this might be that some used it based on to whom and the email content. I found five email writing styles below. Feel free to add any additional information regarding the social customization of written material below.

For simple email, there will: salutation (宛先)、greeting (あいさつ), email content/information (詳しい情報), ending (むすび) and signature (署名). If you request a reply, don't forget to add the request for a reply (返事の要求). The full structure of Japanese email (example for invitation/誘いのメール) is as pictured below.
Structure of Japanese invitation email [1]


Here are some styles when writing an email in Japanese.

Style #1
The first thing you do in any letter is to state who you are addressing. In English it would look something like "Dear + Name," or "To + Name," in Japanese, it looks a lot like the second version "name + へ、” へ is the directional target marker so it could be translated as to, example:
    山田さんへ、

    ...email content....

    これからも、よろしくお願いします
    バグスより
The word yori (より)in the last line is optional.

Style #2
I never used this style but I found it in a book [1]. Start with the address name and 拝啓. 
After that, you have a few options as to what you do next. A formal letter (i.e., a letter to your boss, a company, or someone you don`t know) is best to be started with the information requested. Then don't forget to close with such a phrase as 敬具。 Here is an example.

Saturday, May 23, 2015

Interaural Time Difference (ITD)

ITD merupakan kepanjangan dari interaural time difference,  yakni perbedaan waktu tempuh sumber suara ke telinga kiri dan telinga kanan. Apa pentingnya ITD ini? Penting sekali, dengan ITD kita bisa memperkirakan dan mengetahui sumber suara tanpa melihatnya. Coba tutup mata anda, dan dengarkan suara yang ada, kemudian perkirakan di mana letak sumber suara tersebut. Sekarang buka mata anda, dan crosscheck posisi sumber suara yang anda perkirakan tadi, persis dengan perkiraan anda.

Ilustrasi 1: Sumber suara pada 0 derajat dan 30 derajat. Pada 0 derajat ITD adalah 0, sedang pada 30 derajat ITD dapat dicari pada gambar/grafik 3 (sumber: Thesis BT Atmaja [1], dok pribadi)

Teori Duplex
Teori tentang ITD ini pertama kali dikemukakan oleh Lord Rayleigh (1907) yang menyatakan bahwa perbedaan suara yang sampai pada telinga dapat dicari/dihitung,
provided evidence that timing differences between the ears were detectable
Teori duplex Lord Rayleigh ini mengandung dua dasar pengukuran sensitivitas pada ILD (Interaural level difference, "beda level") dan sensitivitas pada ITD ("beda waktu") sebagai berikut.

Tuesday, May 19, 2015

Becasuse it's there: Catatan Perjalanan Latimojong

Orang yang bersusah payah mendaki gunung pasti memiliki tujuan tertentu. Ada yang ingin melihat pemandangan yang indah dan udara bersih; ada yang ingin mendapatkan suasana yang tenang, sunyi, dan temaram; ada yang ingin mencari penghasilan tambahan atau justru mendaki adalah penghasilan utamanya seperti para porter; ada yang berambisi menaklukkan sebanyak mungkin puncak gunung sebelum dia mencapai check point tertentu seperti menikah, kerja, atau usia tua; namun ada juga yang tujuannya sederhana saja, seperti kata-kata George Mallory: “Because It’s There”.

Di perjalanan menuju Latimojong

Setelah sedikit merenung, sepertinya saya termasuk yang terakhir.

Kalau mencari ketenangan, ngapain jauh-jauh mendaki gunung. Camping kemana aja bisa. Kalau mencari pemandangan indah, ke Argopuro atau Rinjani aja. Lengkap alamnya. Kalau bertujuan mendaki seven summits, harusnya Rinjani dulu (hingga tulisan ini diunggah, saya belum pernah ke Rinjani). Lebih rame, lebih mudah aksesnya, dan banyak temennya. Jadi, mengapa saya memilih mendaki Latimojong yang nun jauh di Sulawesi sana? Entahlah. Mungkin bener kata Mallory. Because It’s There.

Singkat saja, saya ikut salah satu open trip dari internet. Tinggal bayar, diantara-jemput di Bandara, dibawakan tenda serta sleeping bag, dan makan—termasuk selama pendakian—semua udah beres. Tinggal beli tiket PP SUB-UPG saja.

Thursday, April 23, 2015

SPTK basic operation: .wav, .raw., .short

The Speech Signal Processing Toolkit (SPTK) is a suite of speech signal processing tools for UNIX environments, e.g., LPC analysis, PARCOR analysis, LSP analysis, PARCOR synthesis filter, LSP synthesis filter, vector quantization techniques, and other extended versions of them. It is developed by Prof. Imai and Prof. Kobayashi of Tokyo Inst. of Tech, and currently maintained by Nagoya Inst. of Tech. To install SPTK in Linux and Unix based-OS is easy, download the source file, extract and do the following,

./configure
make
sudo make install

That's all installation process, it will install SPTK in /usr/local/SPTK by default.

Add SPTK path to .bashrc

Now SPTK is installed in our machine, but by default it is (SPTK command) not searchable in our shell/terminal. To make it searchable (instead of use /usr/local/SPTK/bin/command everytime), we can add the path to .bashrc. Open .bashrc with editor (vim/gedit/other) and add the following,
export PATH=$PATH:/usr/local/SPTK/bin
And it's added to our command path, check it by using "impulse -h" in terminal. If done, it will show man pages of "impulse" command.

Remove Header : Convert Wav to Raw

SPTK provide utilities to remove header file in sound recording process by converting wav files to raw files (and we can convert it back to wav file). Here is how,
wav2raw +s data.wav
In current directory, there will be new file data.raw with header file removed. Argumen +s is for short data type, you can check full argument by wav2raw -h. To convert back in wav, use "raw2wav" command.

Convert to Short

To convert data from raw, wav or other format to .short (because mainly processing in SPTK is in .short format) we use command "x2x",

x2x +s data.raw > data.short 
It will covert raw to short, you can try to change other format.

Plot Waveform


Plot waveform in SPTK

Saturday, April 18, 2015

Extent Tab-completion inside Matlab Function

Currently Matlab only has tab completion for common functions like "load", "addpath" and others (while GNU Octave can complete inside function). To mimic this tab completion in Matlab function like "wavread" and other function, we can do the following, edit Tc.xml to save our finger for typing complete filename.

Step-by-step:
  1. Edit Tc.xml by the following command:
  2. edit(fullfile(matlabroot,'toolbox/local/TC.xml'))
  3. Add function (key binding) and  FILE or DIR inside TC.xml
<binding name="wavread"       ctype="FILE"/>
If TC.xml is read only (R2013a), change the permission by using chmod,
sudo chmod a+rwx /usr/local/MATLAB/R2013a/toolbox/local/TC.xml
when your root password when prompted, it is for Unix and Linux-based OS.

It works on Matlab R2009 and 2013a and this tricks save our fingers for repetition and wrong typing.

Matlab Tab-completion

Monday, April 13, 2015

How-to: Measure Impulse Response with Aliki

Aliki is software to measure room impulse response. It's free and open source. On a dynamic system, impulse response is its output(response) when presented with a brief input signal (impulse). For room acoustic, impulse response can be used to measure acoustic characteristics like reverberation time, early decay time, later decay time and speech intelligibility.

How to measure room impulse response? Here is how, with a software called Aliki (free and open source).

Impulse response of semi-anechoic room in VibrasticLab

Installation

In Ubuntu, it is easy to install Aliki using apt-get:
sudo apt-get install aliki
It will install Aliki (gui) and its dependencies.

Step-by-step :

Sunday, April 12, 2015

Wavplot and Wavplay

Matlab has their built in function to play .wav file, but it didn't work in Unix and Linux-based OS, because the wavplay function only supported in Windows. Moreover, I want to plot waveform of .wav file in single command, so I don't need to wavread it before plot. For those two purposes, I made two shorts function namely wavplot and wavfile.

Wavplot
wavplot is simple function to plot .wav file. Why I need it? because I continuously working with .wav file, and I want to plot it directly to get information of sound file via its waveform. Here the code of wavplot function.

function wavplot(wavFile)
% wavplot(wavFile) plot waveform and spectrum of wav file
% bagus@ep.its.ac.id

if nargin>1
    fprintf('Usage: wavplot(wavFile \n');
    return;
end;

[y, fs]=wavread(wavFile);
plot(y)
end

How to use it? it is simple. If you have .wav file, for example it has name tone.wav and you are in the current directory of Matlab command window, you can directly plot it with this function,
wavplot('tone.wav')
And it will plot the wav file like the following,
Output of wavplot function

Friday, April 10, 2015

Mengetik Secara Ergonomis

Mengetik secara ergonomis bisa menjadikan kondisi nyaman dalam bekerja, serta mencegah kecelakaan kerja bagi orang yang bekerja dengan komputer. Sayangnya, hanya sedikit orang yang peduli dengan faktor ergonomis ini ketika berada di lingkungan kerja. Tak hanya itu, mengetik secara ergonomis juga membuat kita bisa mengetik secara cepat dan buta (tanpa melihat keyboards). Apple Computer, telah memberikan beberapa panduan dan tips untuk mengetik secara ergonomis yang secara khusus diterapkan untuk produk mereka (macbook) namun juga secara luas dapat dipakai pada semua komputer. Berikut ringkasannya.


Letak jari yang benar (vs yang salah) ketika mengetik

Posisi Duduk
Ada beberapa posisi duduk yang perlu diperhatikan agar kita bisa mengetik secara ergonomis. Posisi dan letak bagian tubuh seperti tangan, tinggi kursi, sandaran sangat berpengaruh terhadap kenyamanan kita saat mengetik maupun bekerja. Perhatikan beberapa gambar berikut untuk lebih jelasnya.
Posisi lengan
Tinggi kursi

Sunday, April 05, 2015

Belajar Ungkapan Bahasa Inggris [Free Book Download]

Belajar ungkapan bahasa inggris adalah salah satu dasar untuk menguasai percakapan (conversation) dalam bahasa Inggris. Berbeda dengan grammar yang formal (dan seharusnya memang begitu), belajar ungkapan bahasa inggris, yang kita sebut sebagai English Expression, terlihat lebih fleksibel dalam aturannya, bahkan kadang menabrak aturan grammar. Banyak juga istilah dalam ungkapan bahasa Inggris yang tidak kita temui di kamus, bahasa ini biasanya disebut slang.

Misalnya ungkapan seperti ini,
“I will always remember you”
Maka kita dapat menggunakan ungkapan berikut,
“You are always in my mind”
English Expressions adalah buku sederhana nan mungil yang bisa anda cetak sendiri dan praktis untuk dibawa kemana-mana. Ada 80 ungkapan dalam buku gratis dan legal ini. Anda bisa memahami arti hang loose, a thousand one job, dan masih banyak lagi. Silakan download bukunya pada link berikut, pelajari ungkapannya dan praktekkan! Jika belum cukup, anda bisa langsung kursus bahasa Inggris ke penulisnya langsung, yakni di kursus bahasa Inggris murah dan berkualitas Surabaya.

Attachment: EnglishExpressions.pdf
(if you find error in link including in writing/typing please contact me)