Wednesday, December 16, 2015

Forensik Suara di Indonesia: Past, Present and Future

Berikut adalah resume singkat saya saat mengikuti "Workshop Forensik Suara Ucap di Indonesia: Pas, Present and Future" yang diorganisir oleh Kelompok Keahlian Instrumentasi dan Kontrol, Teknik Fisika ITB. Workshop ini dibagi menjadi tiga sesi, sesi dari Komisi Pemberantasan Korupsi, sesi dari Puslabfor POLRI, dan sesi dari akademisi ITB.

Kebutuhan Penyidik akan Forensik Suara Ucap

Forensik suara ucap → Proses untuk menentukan apakah contoh dari suara seseorang (known sample) merupakan sumber dari suara yang diselidiki (unknown sample). Jenis alat bukti forensik suara ucap adalah sbb:
  • Rekaman suara 
  • Laporan forensik suara 
  • Pendapat ahli
Dari ketiga jenis alat bukti forensik suara diatas, jelas peran forensik sangat vital untuk bisa dijadikan referensi dalam menuntut tersangka/terdakwa dengan hukuman semaksimal mungkin. Didukung dengan barang bukti yang sah (real evidence), maka tugas KPK untuk menjerat koruptor akan semakin realistis. Dalam KUHAP Pasal 184 alat bukti yang sah adalah: keterangan saksi, keterangan ahli, surat, petunjuk dan keterangan terdakwa. Perluasan alat bukti (forms of evidence) ini mencakup alat bukti elektronik yang mencangkup rekaman suara maupun data pendukungnya. Trend penggunaan forensik suara dalam hukum semakin meningkat seiring berkembangnya teknologi. Dalam film-film spy Hollywood, penggunaan teknologi suara sudah di-imajinasikan sangat canggih sehingga kita bisa mengetahui posisi seseorang hanya dari suaranya saja, misal dalam film Bourne, Mission Impossible atau 007.

Thursday, December 10, 2015

Particle Tracking: Least square fitting berbasis konvolusi

Ini adalah interpretasi bebas saya atas tutorial MDS di halaman granular material labs-nya. Idenya sederhana: menggunakan least square fitting berbasis konvolusi untuk menge-track pergerakan suatu partikel/image.

Least Square Fitting

Least square fitting adalah teknik kesesuaian atau kecocokan (godness fit) untuk mencari nilai terbaik yang paling mirip antara data observasi dengan data estimasi atau function fit. Jika data observasi dimisalkan dengan $y_i$ dan fungsi estimasi disimbolkan dengan $f(x_i)$ maka "least square fit" adalah jumlahan selisih nilai observasi dengan fitting function,

$$\sum\limits_{i=1}^n \left( {{y_i}-f ({x_i})}^2 \right)$$

Jika jika memiliki data dengan rentang error bar atau variansi, maka chi-square didefinisikan sebagai least square diatas dibagi dengan "error bar"nya, yakni, $\sigma$.

$$ \chi^2=\sum\limits_{i=1}^n \left( \dfrac{{y_i}-f({x_i})}{\sigma} \right)^2 $$

Nilai chi-square (χ2) berkisar antara 0 sampai dengan tak hingga (~), semakin kecil nilai chi-squared maka semakin mirip nilai observasi dengan nilai ekspektasi, dalam hal particle tracking, maka gambar bulatan particle akan semakin tipis sehingga semakin mudah dibedakan antar satu dengan yang lainnya. Pada tutorial kali ini, least square fitting yang digunakan adalah berbasis konvolusi yang akan dijabarkan pada tulisan dibawah.

Fungsi Partikel Ideal

Misalkan partikel yang ingin kita track posisinya memiliki fungsi ideal sebagai berikut, $$I_c(\vec{x})=\sum_{n=1}^{N} I_p(\vec{x}-\vec{x}_n(t);D,...),\;\;\;\;\;\;[1]$$ dengan $N$ adalah jumlah partikel dan $$I_p(\vec{x};D,...)$$ fungsi tersebut menggambarkan bentuk partikel ideal yang berada di tengah. Partikel ideal bergantung pada variabel diameter dan variabel lain yang digunakan dalam teknik pengolahan citra. Untuk demo ini kita menggunakan fungsi partikel ideal sbb,

$$I_p(\vec{x};D,w)= \dfrac{\bigl[1-tanh(\frac{|\vec{x}|-D/2}{w})\bigr]}{2}$$

Sunday, November 29, 2015

Public Lecture on Hearing Technology

On Thursday and Friday, 26-27 November 2015, we held public lecture on Hearing Technology. The first day, Prof. Jenkins from Colorado University shares about technology that helping world to better hearing. The following presentation is Prof. Jenkins' slide. While on the second day, Prof. Barajas, the president of International Association of Physician in Audiology (IAPA) teach us about the brain and electrical response in our auditory system. Enjoy it.




Sunday, November 22, 2015

Acoustic & Sound Engineer Training 2015

ASET (Acoustic and Sound Engineering Training) merupakan salah satu agenda diantara beberapa kegiatan ITB insight 2015. Materi ASET 2015 ini adalah sebagai berikut:
  1. Hearing Music
  2. Hearing Music in Different Environment
  3. Small Room Acoustics
  4. Music Production
Bagian keempat inilah sebenarnya esensi dari ASET 2015 ini. Pak Jack dari UPH Jakarta yang juga seorang praktisi sound engineer menjelaskan dengan gamblang tentang proses produksi music mulai dari gambaran proses produksi, pra produksi, produksi/recording dan paska produksi. Gambar 1 atas adalah screenshot software Reaper, sebuah DAW (digital audio work station) yang digunakan dalam ASET kali ini. Berikut adalah resume singkat tentang keempat tahapan produksi tersebut.

Screenshot Reaper 5.1, DAW yang digunakan pada ASET 2015

1. Gambaran proses produksi suara

Thursday, November 19, 2015

Combining Todo-Indicator with Dropbox

Todo-indicator is  indicator applet for todo list written as todo.txt. You can find more about todo-indicator in Github page here. For you who used more than one PC, or using  laptops and PCs, there is way to sync our todo list among our  computers by using Dropbox. Yes, instead of writing our  todo.txt in home directory, we can write it in Dropbox/todo.txt.

Screenshot of todo indicator in my Ubuntu PC

Here are my resume on combining todo-indicator with Dropbox (already installed):
  1. Download zipped file of to-do indicator from Github here move it to home(~).
  2. Make file todo.txt in ~/Drobpox/todo.txt
  3. Run todo-indicator command in Startup application
  4. /home/bagus/Todo-Indicator/todo_indicator.py Dropbox/todo.txt
    
  5. Add todo list with echo command, echo "let's do it" >> Dropbox/todo.txt
I already used it for more than two years after switching from sticky notes to other todo list apps to do improve my productivity.

Monday, October 26, 2015

National Acoustic Workshop 2015

Dalam rangka peringatan 50 tahun, Jurusan Teknik Fisika Fakultas Teknologi Industri ITS mengadakan rangkaian workshop profesi Teknik Fisika, sharing alumni, gelar potensi, rally campus, malam keakraban dan peluncuran buku “Perjalanan 50 tahun Pendidikan Teknik Fisika di ITS” yang diselenggarakan pada 12-13 Oktober. Di usia ke 50 ini, Teknik Fisika telah berkembang memiliki lima bidang minat, yaitu Rekayasa Instrumentasi, Rekayasa Bahan, Rekayasa Energi dan Pengkondisian Lingkungan, Rekayasa Fotonika dan Vibrasi dan Akustik. Pada tanggal 27-28 Oktober sebagai bagian rangkaian acara Dies 50 tahun Teknik Fisika ITS, Laboratorium Vibrasi dan Akustik (VibrastikLab) Teknik Fisika ITS menyelenggarakan “National Acoustic Workshop 2015”.

Pemenang poster session NAW 2015 bersama Kalab VibrasticLab (tengah)

Surabaya sebagai kota pahlawan dengan skala megapolitan memiliki potensi yang besar untuk menjadi smart dan green city. Disiplin ilmu teknik, khususnya yang berkaitan dengan rekayasa akustik dan fisika bangunan telah menjadi bagian perencanaan dan pembangunan kota untuk meningkatkan kualitas hidup warganya. Sebagai kota besar yang meraih pengakuan berupa ratusan penghargaan terkait kebersihan, keindahan dan aspek lain, kontribusi akustik dengan memanfaatkan taman kota dapat dijadikan obyek berupa soundscape (komponen akustik lingkungan yang dapat persepsi nyaman serta indah di telinga oleh manusia) kota Surabaya untuk menghindari gangguan kesehatan akibat bising karena meningkatnya aktifitas kota Surabaya. Disisi lain, bangunan cagar budaya, tempat ibadah maupun bangunan heritage lainnya di kota Surabaya layak dipelajari dan dikembangkan dari disiplin ilmu akustik dan fisika bangunan untuk meningkatkan daya saing kota Surabaya.

Sunday, October 11, 2015

A road to be physics engineer

Ketika memutuskan untuk ikut PMDK (Penelusuran Minat, bakat Dan Kemampuan) sepuluh tahun yang lalu, alasan saya memilih teknik fisika sangat sederhana. Saya suka fisika, tapi saya ingin kuliah di Teknik. Jawabannya cuma satu, Teknik Fisika. Gayung pun bersambut, saya diterima di Teknik Fisika ITS Surabaya.

Sebelum masuk kuliah dan sebelum di-ospek. Saya di pre-engineering-kan. Beruntung, karena itulah nilai lebih kami yang masuk seleksi melalui PMDK (pada waktu itu) dibanding mereka yang masuk melalui SPMB. Selama sebulan kami digodok, diajari lagi apa itu Fisika, Matematika, plus Pemrograman Komputer. Persiapan sangat penting sebelum bertanding, yakni dalam kuliah yang sesungguhnya.

Gate Teknik Fisika ITS (image source: Panoramio)

Saya pun mengikuti ospek, meski saya tidak setuju dengan sistemnya saya ikuti saja, toh ada baiknya. Alhamdulillah, dari tahun ke tahun, ospek maba di ITS mengalami peningkatan, meskipun sedikit sekali. Di awal kuliah, saya langsung tancap gas pada bidang akademik. Saya termasuk yang paling awal ikut LKTI, masuk Lab, dan ikut beberapa kompetisi ilmiah. Ini budaya yang sudah saya bangun sejak SMA. Meskipun jarang menang tapi saya menyukai atmosfer berkompetisi. Life is competition, do the best to be winner!

Saya termasuk yang biasa saja saat kuliah, pernah bolos, pernah tidak lulus mata kuliah dan pernah (sering) tertidur saat kuliah. Materi kuliah di Teknik Fisika yang gado-gado kadang menyulitkan mahasiswa untuk bisa menguasai semua materi. Karena saat itu saya sudah masuk Lab (Lab. Rekayasa Akustik dan Fisbang), maka saya fokuskan untuk lebih mempelajari bidang akustik dan getaran saja, serta beberapa bidang yang saya sukai. Jujur saja, di awal kuliah, ketika diceritakan betapa sejahteranya seorang instrument engineer, saya tergiur untuk masuk bidang instrumentasi. Akhirnya saya menyadari, teknik fisika bukan mendidik mahasiswanya untuk menjadi seorang instrument engineer saja, tapi lebih dari itu, seorang physics engineer yang mampu memahami ilmu Fisika dibalik suatu fenomena yang terjadi serta memecahkan persoalan yang dihadapinya dengan mengaplikasikan pengetahuan yang dimilikinya tersebut, itulah engineering physics, fisika teknik.

Saturday, October 10, 2015

Running job with proper software version via modulefiles in supercomputer

Motivation

On HPC cluster (high performance computing/supercomputer), it is often to have multiple version of the same software installed. When the user want to use the specific software which the certain library, changing environment variable like $PATH manually is tedious and sometime difficult, the is the common errors during running job in HPC. To solve the problem, corresponding shell script would have to be written for multiple languages. All of these explicit steps are error prone and difficult to maintain. It is also no simple upgrade path. One exist solution is by using modulefiles, a (Unix) tool for dynamic modification of a user's environment.

Module Commands

Here are some module commands:
  • module avail: to check available modulefiles
  • module list: view current active modules
  • module purge: delete currently loaded modules
  • module load <package>: to load default module <package>
  • module load <package/version>: to load module <package> on specific version.
  • module unload <package>: unload the package
  • module show <package>: display command triggered by module load
  • module whatis <package>: display 1-line info about the module
  • module help <package>: need a help?

Thursday, October 08, 2015

Installing Octave 4.0 in Ubuntu 14.04

So I already have Octave 3.8.1 in my machine, Ubuntu 14.04, with signal, control and audio package. I want to upgrade it to the newest one, Octave 4.0.0 which has GUI as default and some improvements. How to install Octave 4.0 on Trusty? Here is how, the defaults didn't works for me (actually it works but has some errors).

Octave 4.0.0 on Ubuntu 14.04 Trusty with GUI as default

Step-by-step:

Building your own NAS/NFS solution with NAS4Free

NAF4Free is a fork of BSD/FreeBSD which is dedicated for network attached storage. The NFS, Network File System, is shared file system protocol allowing client to access file across network. The following is my resume of tutorial given on HPC workshop in ICTP about building own NAS/NSF solution with Nas4free.

NAS4Free Web UI interface

It is assumed you already has master and compute nodes in Virtualbox, so the next task is to mount NAS4Free on master either on compute node.

Mount NAS4Free from Master Node

Wednesday, October 07, 2015

Green Computing ala Barcelona Supercomputer

Selain metrik performansi yang diukur dalam floating points operation per second (FLOPS) dan diranking oleh TOP500, ada metrik lain yang dijadikan acuan yakni Flops/W yang menunjukkan seberapa besar superkomputer tersebut ramah lingkungan dan diperingkat oleh GREEN500. Metrik lain yang bisa dijadikan acuan adalah Flops/$, kemampuan superkomputer per USD, namun belum ada website yang memeringkat berdasarkan metrik tersebut.

Untuk menuju superkomputer ramah lingkungan, hal yang bisa dilakukan adalah dengan menggunakan CPU atau core low-power semacam ARM. Mont-blanc adalah project Uni Eropa untuk mengevaluasi CPU di pasaran yang bisa dijadikan superkomputer berenergi rendah. Mont-blanc project di-handle oleh BSC (Barcelona Supercomputing Centre) di Spanyol. Tulisan berikut adalah ulasan singkat studi profile energi yang digunakan oleh Mont-blanc di BSC yang saya lakukan secara remote dengan protokol SSH (script codes saya host di Github).

Superkomputer Barcelona menggunakan platform SLURM, sehingga perintah-perintah yang digunakan pada cluster superkomputer tersebut berbeda dengan cluster yang saya bangun dengan VirtualBox sebelumnya. File script yang saya gunakan untuk mendapatkan power profile Mont-blanc saya host disini (authored by Filippo Mantovani).

ssh ke superkomputer Barcelona

Step-by-step:

Membangun komputer cluster di VirtualBox dengan Rocks kit, Part 2: Testing

Setelah berhasil membangun dan menginstall kluster komputer di VirtualBox, saatnya untuk mengetes kluster tersebut dengan komputasi parallel. Goal yang ingin kita tuju adalah membagi job komputasi (berupa command/script) pada masing-masing node yang sudah kita tambahkan pada master node agar komputar tersebut lebih cepat.

Pertama kita tambahkan user agar bisa login ke kluster dengan perintah useradd (login as root in master),
useradd bagus1
useradd bagus2
passwd bagus1
passwd bagus2
rocks sync users
Perintah-perintah diatas akan menambahkan user (bagus2 dan bagus2), mengeset masing-masing password untuk user dan mensinkronkan user dari master ke nodes.

Sinkroniasi user antar compute nodes

Sunday, October 04, 2015

Membangun kluster komputer di VirtualBox dengan Rocks kit, Part 1: Instalasi

Mambangun kluster komputer sangat dibutuhkan untuk melakukan simulasi dan komputasi yang membutuhkan perfomansi tinggi (high performance komputing, HPC), salah satunya adalah pada superkomputer. Untuk membangun superkomputer dengan kluster, ada baiknya dilakukan simulasi dengan menggunakan virtualisasi, yakni dengan menggunakan VirtualBox. Tujuan tulisan ini adalah unutk membangun komputer kluster di VirtualBox dengan Rocks kit (www.rockscluster.org), sebuah open source kit (OS, operating system) untuk real dan virtual cluster.

Gambar infrastruktur yang akan kita bangun adalah seperti berikut,
Komputer kluster dengan 1 Master dan 2 Compute node
Sebelum masuk pada langkah-langkah development cluster ini, ada baiknya kita membiasakan dengan menu-menu VirtualBox seperti di bawah, jika sudah pernah memakainya, silakan lanjut pada step-by-step.

VirtualBox pada Linux Mint
Requirement :
  • Komputer yang sudah terinstall VirtualBox dengan space kosong minimal 30 GB dan RAM 4 GB
  • File ISO instalasi RocksCluster yang bisa di download disini.
 

Tuesday, September 29, 2015

Pengenalan Git: Setting .gitconfig

Ini adalah artikel terakhir seri pengenalan Git: Git init, Git clone, push dan pull dan .gitconfig ini. Sampai saat ini, Git masih merupakan manajemen file terbaik di dunia, yang juga karya seorang jenius di dunia yang masih hidup hingga saat ini. Gitconfig (sebuah nama hidden file: .gitconfig) adalah sebuah file dimana kita menyimpan konfigurasi git kita. Alih-alih mengkonfigurasi lewat command line di terminal, kita bisa menyimpan konfigurasi tersebut dalam sebuah file: .git config.

Cara pertama dan konvensional untuk mengeset konfigurasi git adalah dengan meng-echo melalui perintah "git config" sebagai berikut (settingan global/semua repo akan memiliki email dan akun ini),

$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@example.com"

JIka tanpa argumen "--global", anda hanya mengeset untuk repo di folder tersebut saja. Untuk memverifikasinya silakan cek dengan

$ git config --global user.name
$ git config --global user.email

Setting lain misalnya untuk memilih vim sebagai default editor,
$ git config --global core.editor "vim" 

Untuk mengecek config tersebut gunakan perintah
$ git config --list

Monday, September 28, 2015

Venice Again!

Alhamudlillah, ini kali keduanya saya ke Italia dalam tiga bulan ini. Berbeda dengan perjalanan sebelumnya, perjalanan kali ini lebih smooth karena saya sudah menguasai medan. Inilah catatan perjalanan yang semoga berguna untuk anda yang akan ke sana. Oya, tujuan akhir saya sebenarnya bukanlah venice, tapi Trieste, kota tetangga Venezia alias Venice.
Kanal Venice

Surabaya - Jakarta

Seperti biasa, home base keberangkatan saya adalah kota pahlawan. Karena pesawat dari Jakarta ke Venice via dubai berangkat sore (jam 17.00) saya memilih penerbangan surabaya-jakarta di waktu dhuha, yakni sekitar jam 10.00. Berangkat dari rumah sekitar pukul 7.30 sambil memulai aktivitas sabtu pagi menambah semangat perjalanan saya saat itu. Saya memilih citilink sebagai maskapai yang saya gunakan dari Surabaya ke Jakarta karena bisa diandalkan, kalaupun molor (telat/delay) juga masih dalam hitungan menit, berbeda dengan maskapai sebelah yang telatnya unlimited. Karena bukan connecting flight (Sby-Jkt) waktu keberangkatan ini harus diperhitungkan agar punya waktu untuk mengambil bagasi dan pindah terminal, idealnya minimal 2-3 jam. Dhuhur saya sampai jakarta, ambil bagasi, naik shuttle bis dan masih punya waktu untuk wifi-an sebelum check in.

Thursday, September 24, 2015

Computation at VibrasticLab

The following slide I made for smr2761: Workshop on Computational Science Infrastructure and Applications for Academic Development, or simply as HPC workshop (high performance computing) in Trieste, 28 September ~ 9 October 2015. At the first day, we are required to introduce our selves, explain the current computing facilities, the future plan for development and our expectation from the workshop. This is my slide from VibrasticLab. 
 

Sunday, September 13, 2015

Sightseeing in KL: KLCC, Merdeka Square and Central Market

Once upon time in KL (Kuala Lumpur), Malaysia, I have plenty of time to go around. While staying in UTM Campus which is close to the downtown, I exploit my time for city sightseeing. We start our journey from Damai station which is located near UTM KL campus. By LRT (light rapid transport) we stop in Pasar Seni station.

Merdeka Square
The first destination of this City sightseeing is Merdeka square, like "aloon-aloon" in every city in Indonesia. Once known as Padang (field), this vast lawn was the cricket pitch belonging to the neighboring Royal Selangor club. At midnight on 31 August 1957, the Union flag was lowered and the Malayan flag raised for the first time right here, a hugely symbolic event signifying the end of British rule over Malaysia. The field was officially renamed on 'Dataran Merdeka' on 1 January 1990.


Sunday, August 30, 2015

Kyai dan Gus: Sebuah Kontradiksi di Masa Kini

Kiai adalah anugrah dan warisan terbaik islam di Nusantara. Di negara lain hanya ada istilah ustadz, ulama atau amir saja untuk menyebut pemuka agama Islam. Sedangkan di Indonesia, yang membedakan kiai dengan ustadz biasa adalah kepemimpinan dalam pesantren atau jamaah masjid, jika beliau memimpin pesantren atau sub-pesantren, maka dia disebut kiai, jika tidak maka beliau disebut ustadz saja. Dari sisi fungsional, kiai dijadikan pemimpin atau rujukan, sedangkan ustadz biasanya untuk seorang penceramah atau pemberi siraman rohani agama Islam.

Istilah kiai berasal dari bahasa Jawa (Sansekerta), bukan berasal dari bahasa Arab. Kata “kiai” mempunyai makna yang agung, keramat, dan dituakan. Secara umum dan pengertian paling luas, kiai diartikan pemimpin pesantren, muslim yang membaktikan hidupnya untuk menyebarluaskan dan memperdalam ajaran-ajaran agama Islam. Selain pengertian tersebut, pengertian kiai juga dipakai untuk benda pusaka (keris, gamelan), hewan (kerbau, kuda), makhluk halus dan orang yang meninggal. Namun dalam tulisan ini, istilah kiai hanya digunakan dan diusulkan sebagai pemuka agama Islam saja, khususnya hubungan kiai dan putranya, yang di daerah Jawa Timur disebut sebagai “Gus”.

Kiai adalah cikal bakal pesantren. Karena ilmunya, santri pencari ilmu datang ke kiai untuk menimba ilmu. Untuk mengembangkan aktivitas keagamaannya, kiai mendirikan surau atau masjid di dekat rumahnya yang juga dijadikan tempat mengajar santrinya. Seiring waktu, semakin banyak santri yang datang pada kiai dan dibangunlah pesantren untuk mewadahi aktivitas kiai-santri dalam proses belajar-mengajar agama Islam.




Kiai dan Peranannya

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 dihandle total oleh panitia (AUN/SEED-Net), jadi kita tinggal terima jadi e-ticket, terus berangkat. Thanks to committee!
Petrones tower, the icon of KL


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 keluar uang sama sekali. Berangkat dari rumah jam 7 pagi, sampai di KLIA hampir jam 7 malam. Setelah itu, kita mencari transport 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)

Saturday, April 04, 2015

Pengenalan Git: Clone, Push dan Pull

Setelah mengenal Git pada tulisan sebelumnya, saatnya kita mengenal fitur dasar alias fitur utama Git: push, pull dan clone. Sekedar mereview pada tulisan sebelumnya, setelah kita mengedit skrip kita, kemudian kita tambahkan, lalu kita beri commentar atas tambahan yang kita lakukan dan terakhir kita kirim (push) ke repository di Bitbucket atau Github.. Itu jika kita menggunakan satu komputer saja, lalu bagaimana bila kita menggunakan 2-3 komputer atau orang lain ingin mengcopy kode-kode kita dari bitbucket? Perhatikan tiga skenario pada tiga komputer di bawah ini.

Komputer 1: Edit >> add >> commit >> push
Komputer 2: Pull >> edit >> add >> commit >> push
Komputer 3: Clone

Skenario pertama (komputer 1) sudah kita lakukan pada tulisan sebelumnya. Sekarang kita berada di komputer 2, ingin mengambil kode-kode kita yang kita tulis+edit di komputer satu, kemudian kita edit/revisi lagi, dan kita kirim ke repo di Bitbukcet.

Hal pertama yang kita lakukan pada komputer 2 ini adalah mengambil kode (pull) dari repo di Bitbucket. Pertama kita inisiasi git,

mkdir coba
cd coba
git init
git remote add origin https://bagustris@bitbucket.org/bagustris/coba.git
git pull origin master

Friday, April 03, 2015

Rancang Bangun Modul STM32 dengan ChibiOS

STM32 adalah mikroprosesor low power keluarga ARM M3 cortex yang dibuat oleh STMicroelectronics. Dinamakan stm32 karena mikro ini merupakan 32bit dan low power karena tegangan operasi mikro ini hanya berkisar dari 1.8 sampai 3.6 volt. Project stm32-tf (stm32-teknik fisika) ini di-host di github dengan official repo di alamat berikut : https://github.com/mekatronik-achmadi/stm32-tf (thanks to +achmadi for the repo).

Modul STM32-TF
Repo di Github tersebut berisi komponen yang dibutuhkan, desain PCB, ChibiOS dan contoh-contoh program. ChibiOS adalah real-time OS yang digunakan untuk embedded system dan mendukung banyak mikroprosesor termasuk stm32. Dengan ChibiOS, kita bisa membangun program-program untuk akuisisi data, control system ataupun pemrosesan sinyal. Selain ChibiOS, modul stm32 ini juga 'mencuri' dari perangkat lunak open source lainnya seperti stm32flash, compiler gcc-arm-none-eabi dan masih banyak lagi. Berikut adalah list hardware, software, fitur dan demo untuk membuat, mengcompile dan mengupload program ke modul stm32.

Daftar Komponen (hardware)

Sunday, March 29, 2015

Noise Control: Low Vs High Frequencies

Pada awal tahun 2015 saya membukanya dengan mengikuti Workshop Akustik dan Vibrasi yang diadakan oleh Departemen Teknik Fisika ITB. Keynote speaker workshop kali ini adalah Prof. David Herrin dari univeristy of Kentucky, USA. Materi workshop pun cukup menarik dan sangat seusai dengan apa yang selama ini kami kerjakan di lab +VibrasticLab ITS Surabaya. Jadi kami sangat berharap workshop ini dapat meng-upgrade kemampuan kami di bidang Akustik dan Vibrasi, khususnya dalam hal noise control.

Pemaparan materi oleh Prof. David Herrin

Ada 15 materi (chapter) yang dibahas dalam workshop selama dua hari tersebut, mulai dari teori tentang "sound and vibration" sampai aplikasinya dalam desain akustik muffler (knalpot). Beliau, Prof, David Herrin adalah konsultan dari Harley Davidson. Ke-15 materi tersebut adalah sebagai berikut: Basic sound and noise, introduction to numerical acoustics, Application: Engine cover example, numerical simulation applied to compressor, acoustic FEM and AML, design for noise, applied noise control, design of partial enclosure, sound absorbing material, measurement of sound impedance and absorption, measurement of bulk properties, layered materials, design of muffler and silencer, muffler case studies, dan measurement of muffler insertion and transmission loss.

Salah satu isi dari workshop tersebut adalah efek dari pemotongan spesimen/bahan uji terhadap hasil pengukuran. Jika pemotongan spesimen tidak benar-benar presisi, maka terjadi loss terhadap pengukuran. Gambar berikut adalah dua spesimen yang berbeda pemotongan-nya (good and not-good/NG) sedangkan gambar dibawahnya adalah hasil pengukurannya. Garis warna merah menunjukkan hasil pengukuran pada pemotongan dengan diameter 1.375 inchi sedangkan garis warna kuning menunjukkan hasil pemotongan dengan diameter 1.360 inchi (berbeda 0.005 inchi).

Good and Bad specimen cutting
Hasil pengukuran dengan beda diameter 0.005 inchi

Sunday, March 15, 2015

Pengenalan Git

Git adalah distributed revision contol system, the stupid content tracker atau Software Configuration Management (SCM) yang dibuat oleh Linus Torvalds untuk menghandle manajemen kernel Linux karena ketidakpuasannya pada layanan bitkeeper. Git dapat diterapkan untuk mengontrol update file-file kita melalui server private ataupun website yang menyediakan fasilitas hosting git secara gratis atau berbayar. Bitbucket adalah salah satu website yang mempopulerkan git, selain Bitbucket anda bisa mencoba gitorious, gitlab, dan Github. Selain git, contoh SCM lainnya adalah mercurial hg.

Dengan Git, kita bisa mengupdate file-file kita (umumnya berupa source code) antar PC, dimanapun dan kapanpun, selama ada koneksi internet. Bitbucket mirip layanan online file storage seperti Dropbox, Copy dan Drive namun berbasis git. Disini saya akan mencontohkan git untuk manajemen source code, sangat berguna untuk mahasiswa, peneliti, dosen dan programmer, namun dapat diaplikasikan pada semua pekerjaan yang membutuhkan kemudahan manajemen file skrip.

Sistem operasi yang saya pakai adalah Ubuntu (14.04), dan sudah terinstall git (jika belum install dengan : sudo apt-get install git). Misalkan kita mempunyai folder yang berisi file-file kode sumber / script seperti C, Matlab, html ataupun txt. Dengan git kita akan mengontrol revisi pada file pada folder tersebut.
Setting Git
Untuk dapat menggunakan git, kita harus mengeset username dan email sbb:
$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@example.com"
Kemudian, buat folder yang mana file dan subfolder di-dalamnya akan kita kontrol revisinya. (Folder) itulah yang dinamakan repo(sitory).
mkdir /tmp/coba
cd /tmp/coba
Dua perintah diatas untuk membuat folder coba di dalam /tmp, kemudian kita membuat file dengan nama coba.txt
echo "ini adalah file pertama" >> coba.txt
Ok, kita sudah punya satu folder dan file yang akan kita kontrol revisinya. Untuk manajemen file, kita tambahkan file readme.md yang berisi keterangan tentang folder tersebut.
echo "Contoh manajemen revisi file skrip dengan Git dan Bitbucket" >> readme.md
Setelah kita punya file yang akan kita kontrol revisinya, kita buat repo di Bitbucket, anggap kita sudah punya akun Bitbucket, jika belum silakan buat akun Bitbucket. Sceenshot dibawah ini adalah contoh pembuatan repo baru dengan nama coba (.git).


Membuat repo baru di Bitbucket (atas) Github (bawah)

Saturday, March 07, 2015

Deteksi Multi Pitch Berdasarkan Jumlahan Harmonik

Pitch merupakan persepsi telinga manusia atas frekuensi dasar (suara). Deteksi maupun estimasi pitch banyak dipelajari dan digunakan untuk beberapa aplikasi seperti pemisahan suara, pengenalan suara atau untuk tuning alat musik.

Output progam
Berdasarkan paper Ansi Klapuri pada tahun 2006, estimasi multi-pitch ini dapat didekati dengan jumlahan harmonik. Pendekatan ini secara konseptual "sangat simpel" dan efisien secara komputasi. Ide dasarnya adalah dengan menghitung saliance, strength atau power dari kandidat F0 sebagai jumlah bobot amplitudo harmonik-harmoniknya. Pemetaan dari spektrum Fourrier menjadi "F0 salience spectrum"  didapatkan dari optimisasi data training.

Saliance dapat dihitung dari jumlah bobot amplutido dari harmonik sebagai berikut,

dimana f adalah frekuensi harmonik ke-n, dan g adalah bobot parsial harmonik m dari periode tau.

Metode

Wednesday, February 25, 2015

Menuju Konvergensi: Scope, Simplicity dan Security

Ubuntu

Sejak pertama kali dirilis dan kemudian menjadi ambisi besar Ubuntu, konvergensi adalah satu tujuan mutlak yang ingin dicapai oleh Shuttleworth dan saat ini belum dimiliki oleh platform OS yang lain: Mac OS X dan Windows. Konvergensi memungkinkan teknologi apps memiliki codebase yang sama baik pada desktop, mobile, tablet, TV dan divais lain seperti IoT (internet of things). Write once, run every where. Slogan yang diusulkan oleh Sun Microsystem itulah yang ingin diterapkan Ubuntu pada semua platformnya.


Dengan memiliki codebase yang sama, maka aplikasi yang berjalan di OS akan sama persis ketika dijalankan pada desktop, tablet, phone maupun IoT. Hal yang membedakan antar platform divais tersebut hanyalah pada ukuran layarnya yang menyesuaikan dengan ukuran divais. Karena menggunakan codebase yang sama pada aplikasi yang sama, kenyamanan dan kemudahan menggunakan teknologi tersebut akan semakin terasa. Perlu diketahui, platform OS lain yang selama ini mengklaim konvergensi antar mobile app dan desktop app sebenarnya masih jauh dari konvergensi. Taruhlah Apple yang menggunakan Mac OS X untuk desktop tapi menggunakan IOS untuk mobile-nya. Begitu juga dengan Windows masih menggunakan versi windows mobile (RT) untuk versi mobile-nya yang berbeda dengan versi desktop-nya, meski windows 10 digadang-gadang sudah konvergen antar mobile dan desktop, tapi hal ini masih jauh.

Sunday, February 15, 2015

Ubuntu, Arduino and Matlab

Arduino is low cost hardware, Ubuntu is free and open source operating system, and Matlab is one of the best engineering software. Integration of those three platform can create a simple yet powerful system.

Screenshot of Matlab Gui for simple swictch


Step-by-step:
  1. Install Arduino IDE: sudo apt-get install arduino
  2. Download and Install ArduinoIO (for Matlab 2013 and earlier)
    • http://www.mathworks.com/matlabcentral/fileexchange/32374-matlab-support-for-arduino--aka-arduinoio-package-
  3. Open and Upload adio.pde (in ArduinoIO/pde) using Arduino IDE
  4. Make a link from ACM0 to S101
    • sudo ln -s /dev/ttyACM0 /dev/ttyS101
    • sudo chmod 777 /dev/ttyS101
  5. Add the ArduinoIO to matlab path or simply run install_arduino within ArduinoIO directory
  6. Create the test program, I named it ledonoff
    1. In Matlab command window, type 'guide' to create gui, save as led_onoff.fig
    2. Add two push botton, one "ON" and another "OFF" button (double click to change the string name)
    3. Right click any button (on or off) and choose editor, it will open m-file of the gui. Add the the following code around line 60, after led_onoffOpeningFcn,
    4. clear a;
      global a;
      a=arduino('/dev/ttyS101');
      a.pinMode(13,'output');
      
    5. Under pushbutton1 function, add the following code to turn on led when clicked
    6. global a;
      a.digitalWrite(13,1);
      
    7. Under pushbutton2 function, add the following code to turn off led when clicked
    8. global a;
      a.digitalWrite(13,0);
      
The first script is to access serial port via USB by using "arduino" function. When you don't connect the arduino board to usb, change the port (/dev/ttyS101 or COM12 in windows) to 'demo' (with single quote). We use pin 13 on board as output, and make it ON by using digitalWrite(13,1) and make it off by using digitalWrite(13,0).

Upload adio.pde so Matlab can access input-output of Arduino board
Related Posts Plugin for WordPress, Blogger...