Tuesday, April 26, 2022

Writing for impact, not for impact factor

Nowadays, research is measured by publication. Publish or perish. The pressure for researchers to publish is now more than ever. As a result, there are tons of research publications. Most of them may be garbage; only a small portion has an impact. So, what is the impact in research?

Impact factor

At first, I thought that "writing for impact is writing for impact factor" (since "impact" is measured by "impact factor"). By this definition, the author will seek for writing to the Journal which has high impact factors due "impact" is defined by the calculation of impact factor. In fact the (impact factor calculation is based on citations and the number of publications)[https://en.wikipedia.org/wiki/Impact_factor]. Hence, writing for impact factor is no more than writing for citations. I changed my mind recently, writing for impact is not writing for impact factor. The impact is different with (calculation of) impact factor. Now, some journals and conferences requested this "social impact" as an additional section in the author's manuscript [1, 2]. It is good. By this method (requesting to show the impact of their research), the impact of research now is clearer than before.

Kinds of social impact

Now, when asked to write the social impact of my writing, I am thinking of what social impact will be in my manuscript. Reference [1] requested explicitly what is the definition of "positive impact" for authors. A positive impact could be one of the following (my own definition).

1. Readers change their perspective. For instance, the paper entitled "Toward a consensus on symbolic notation of harmonics, resonances, and formants in vocalization" proposed a new standard notation for fundamental frequency (in acoustics), i.e., by writing it as $f_o$ (ef-ow) instead of F0, $F_0$ or $f_0$ (ef-zero). This paper has a big social impact on the (acoustic) community.

2. Readers can learn. Many papers show their method clearly so the readers can learn and get the benefit from reading the paper. An instance is a paper entitled "CALFEM as a Tool for Teaching University Mechanics."

3. Readers can replicate. Open science is making a difference. Anyone can replicate the experiment of the authors. This kind of research is game-changing. Even big companies like Google, Microsoft, and Meta open their research publicly along with open repositories to replicate the research. Most of my research is also open science, one example is a paper entitled "Deep Multilayer Perceptrons for Dimensional Speech Emotion Recognition".

4. Readers can improve the result. One way to improve the current result is by explicitly proposing further directions. This statement usually is placed in the Conclusions or before this section.

5. A policy can be taken. This is the highest impact, a policy can be taken from a research result. For instance, to fight global warming (based on specific data), the government changes the policy to abandon the use of coal and move to nuclear energy. Or, based on the risk of nuclear energy, the government encourages the use of wind and solar energy.


Hope this opinion will change your minds; do not write for impact factor (only), but do write for real (social) impact.


Reference:

[1] https://s4sg-workshop.github.io/

[2] https://acii-conf.net/2022/authors/submission-guidelines/

Friday, April 22, 2022

Basic Audio Manipulation With Torchaudio

Recently, I moved my audio processing toolkit from librosa (and others) to Torchaudio. This short writing documented the very basics of torchaudio for audio manipulation: read, resample, and write an audiofile.

Load audio file (read)

The process of loading (reading) an audio file is straightforward, just pass the audio path to `torchaudio.load`. We need to import the needed modules first. Most audio files can be loaded by torchaudio (WAV, OGG, MP3, etc.).
import torchaudio
import torchaudio.transforms as T
wav0, sr0 = torchaudio.load("old_file_48k.wav", normalize=True) 
where wav0 is the output tensor (array) and sr0 is the original sampling rate. Argument `normalize=True` is optional to normalize the waveform. Note that one of my colleagues (a student) found that using `librosa.util.normalize()` resulted in better normalization (peak to peak waveform is -1 to 1) than this torchaudio normalization.
 

Resample

Resample a sampling rate to another sampling rate is done by a Class; the output is a function. Hence, we need to pass the old tensor to the resampler function. Here is an example to convert 48k tensor to 16k tensor.
sr1 = 16000
resampler = T.Resample(sr0, sr1)
wav1 = resampler(wav0)

Save as a new audio file (write)


The process of saving files is also straightforward, just pass the file name, tensor, and sampling rate in order.
torchaudio.save('new_file_16k.wav', wav1, sr1)
Then the new audio file appeared in the current directory. Just set the path and file name if you want to save it in another directory.
 

Reference:

[1] https://pytorch.org/tutorials/beginner/audio_preprocessing_tutorial.html

Tuesday, April 19, 2022

Tiga Tipe Ilmuwan..

Berdasarkan dialog Peter Gruss (rektor OIST) dan Kazuhiko Nakamura (CEO AIST) [1], yang pertama menjelaskan tentang tiga golongan ilmuwan sebagai berikut.

  1. Ilmuwan murni (pure scientist) seperti Albert Einstein
  2. Ilmuwan murni ini hanya memikirkan dan meriset apa yang dipikirkannya, tanpa memikirkan dampak luasnya (impak jangka panjang). Einstein pada saat meneliti teori relativitas tidak terpikirkan tentang teknologi global positioning system (GPS), padahal konsep relativitas tersebut penting untuk penemuan GPS lima puluh tahun setelah teori relativitas terbit.
  3. Ilmuwan aplikatif (use-inspired scientist) seperti Pasteur
  4. Yang dipikirkan oleh ilmuwan jenis ini adalah "Apa yang bisa saya lakukan untuk meningkatkan aspek tertentu kehidupan manusia?". Basisnya adalah ilmu, tujuannya mencari aplikasi dari ilmu tersebut. Contohnya adalah penelitian untuk mengembangkan teknik diagnostik baru, terapi, obat baru, seperti yang dilakukan Pasteur untuk menemukan antibiotik.
  5. Insinyur (engineer) seperti Thomas Alfa Edison
  6. Ilmuwan jenis ini hanya berkutat sedikit pada sains, yang penting bagaimana aplikasinya. Edison hanya fokus pada bagaimana cara menemukan bola lampu entah bagaimana caranya/ilmunya.
Jika anda ilmuwan (atau ingin menjadi ilmuwan), tipe ilmuwan manakah yang anda inginkan? Saya lebih tertarik pada tipe ketiga karena kontribusinya (impak sosial) lebih nyata.

 

Referensi:

[1] https://www.youtube.com/watch?v=bGA9p3x4qx0

Thursday, April 14, 2022

Menemukan dan Menghapus file (ekstensi tertentu, ukuran tertentu)

Menemukan fail

Pola: find [nama-direktori] -name [nama-file]

Contoh

pc060066:~$ find . -name tes.txt
./tes.txt

Tanda titik setelah find menunjukkan current directory (dalam hal ini /home/$USER).

Menemukan dan menghapus fail

Pola: find [nama-direktori] -name [nama-file-yang-dihapus] -delete

Contoh

pc060066:~$ cp tes.txt tes-del.txt
pc060066:~$ find . -name tes-del.txt
./tes-del.txt
pc060066:~$ find . -name tes-del.txt -delete
pc060066:~$ find . -name tes-del.txt
Terlihat file yang dihapus (tes-del.txt) tidak ada setelah perintah di atas.


Menemukan dan menghapus fail ekstensi tertentu

Pola: find [nama-direktori] -name ['*.ext'] -delete

pc060066:~$ mkdir test
pc060066:~$ cd test
pc060066:test$ ls
pc060066:test$ touch test{1..5}.txt
pc060066:test$ ls
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt
pc060066:test$ touch readme.md
pc060066:test$ ls
readme.md  test1.txt  test2.txt  test3.txt  test4.txt  test5.txt
pc060066:test$ find . -name '*.txt'
./test1.txt
./test3.txt
./test2.txt
./test5.txt
./test4.txt
pc060066:test$ find . -name '*.txt' -delete
pc060066:test$ ls *.txt
ls: cannot access '*.txt': No such file or directory
Jangan lupa single quote diantara ekstensi ('*.txt'); untuk ekstensi lainnya tanda quote ini tidak perlu. Contohnya *.wav. Kita juga bisa mencari (dan menghapus) file ekstensi tertentu dengan nama tertentu. Contohnya menemukan (dan menghapus) file dengan nama berakhiran *_cd16k.wav.


Menemukan dan menghapus fail ukuran tertentu

Pola: find [nama-direktori] -name [nama-file-opsional] -size [ukuran, -, +] -delete

Contoh:
pc060066:test$ find . -size 4c
./test8.txt
pc060066:test$ find . -size 4c -delete
pc060066:test$ ls
1001_DFA_ANG_XX.wav  test1.txt  test3.txt  test5.txt  test7.txt
readme.md            test2.txt  test4.txt  test6.txt
pc060066:test$ find . -size -10c # find below 10 bytes
./test6.txt
./test1.txt
./test3.txt
./readme.md
./test2.txt
./test5.txt
./test4.txt
pc060066:test$ find . -size -10c -delete # delete below 10 bytes
pc060066:test$ ls
1001_DFA_ANG_XX.wav  test7.txt
pc060066:test$ find . -size +10c -delete # delete above 10 bytes
pc060066:test$ ls
Jadi tanda "-" untuk kurang dari dan "+" untuk lebih dari ukuran file yang dikehendaki. Tidak ada tanda maka hasilnya pada rentang nilai tersebut. Misal 10c untuk 10 bytes, 10k untuk 10 kilobytes, termasuk 10001 bytes sampai dengan 10999 bytes. 

Menghapus file kosong

Pola: find [nama-direktori] -empy -delete
Contoh:
pc060066:test$ find . -empty
./test10.txt
./test6.txt
./test1.txt
./test3.txt
./test2.txt
./test8.txt
./test5.txt
./test9.txt
./test4.txt
./test7.txt
pc060066:test$ find . -empty -delete
pc060066:test$ ls

Menghapus direktori kosong

Pola: find [nama-direktori] -d -empty -delete 

Contoh:
pc060066:test$ ls -ltr
total 20
drwxrwxr-x 2 bagus bagus 4096  4月 14 15:33 test_dir_5
drwxrwxr-x 2 bagus bagus 4096  4月 14 15:33 test_dir_4
drwxrwxr-x 2 bagus bagus 4096  4月 14 15:33 test_dir_3
drwxrwxr-x 2 bagus bagus 4096  4月 14 15:33 test_dir_2
drwxrwxr-x 2 bagus bagus 4096  4月 14 15:33 test_dir_1
pc060066:test$ find . -type d
.
./test_dir_5
./test_dir_4
./test_dir_2
./test_dir_1
./test_dir_3
pc060066:test$ find . -type d -empty
./test_dir_5
./test_dir_4
./test_dir_2
./test_dir_1
./test_dir_3
pc060066:test$ find . -type d -empty -delete
pc060066:test$ ls
Bedakan dengan perintah sebelumnya untuk file, untuk direktori kita perlu argumen "-type d".

Menemukan dan menghapus kecuali


Pola: find [nama-direktori] not -name [kecuali] -delete

Contoh:
find . not -name "*_mono.wav" -delete
Argumen "not" bisa diganti dengan tanda seru "!" agar lebih singkat. Untuk folder yangt tidak kosong (directory is not empty), kita perlu menggunakan "rm -fr" sebagai pengganti argumen "-delete".
find . -mindepth 1 ! -name "kecuali-direktori1" ! -name "*.py" ! -name "KECUALI.md" ! -name "kecuali-direktori2" -exec rm -rf {} +

Monday, April 11, 2022

Menuju Masyarakat 5.0 melalui riset dan pengembangan teknologi informasi

Setelah era revolusi industri (society 3.0) dan teknologi informasi (society 4.0) zaman kini menuju Masyarakat 5.0 (society 5.0). Apa itu Masyarakat 5.0? Tulisan ini menjelaskan secara singkat Masyarakat 5.0 dan beberapa contoh di dalamnya.

Masyarakat 5.0

Masyarakat 5.0 adalah kelanjutan masyarakat 4.0 dan sebelumnya. Untuk lebih jelasnya tentang pembagian masyarakat 1.0 - 4.0 silahkan lihat gambar di bawah ini. Era pertama masyarakat 1.0 merupakan masyarakat pemburu (mungkin masih ada sampai saat ini!). Mereka hidup berkumpul dan berburu. Masyarakat 2.0 adalah masyarakat agraria. Mereka bercocok tanam untuk memenuhi hidupnya. Masyarakat 3.0 menggunakan mesin (uap) untuk memperbaiki kehidupan sebelumnya dan mempercepat proses untuk kehidupan: proses pembangunan, pembuatan makanan, dan transportasi. Masyarakat 4.0 menggunakan teknologi informasi untuk memperbaiki kehidupan sebelumnya. Berkirim surat secara online (email), bertransaksi secara online dan beberapa hal lainnya. Di era 4.0 hampir semua hal sudah bisa dilakukan secara online, namun ada gap besar di dalam prosesnya. Belum ada sensor yang mengambil data secara terstruktur, belum ada data yang distandarkan secara global dan berukuran besar, belum ada pengolahan yang full otomatis. Tantangan itulah yang akan dijawab oleh masyarakat 5.0.


Gambar 1. Masyarakat 1.0 sampai dengan 4.0 [1]

Masyarakat 5.0, seperti terlihat pada Gambar 2, memanfaatkan keberlimpahan big data, yang ditangkap oleh Internet of Thing (IoT) yang tersambung ke banyak sensor. Big data ini menjadi input untuk artificial intelligence (AI) yang bertindak sebagai classifier untuk menghasilkan output berupa pengetahuan yang memudahkan hidup dan menjadi solusi dari permasalahan masyarakat. Contoh sederhana, ketika ada masyarakat yang sakit dia tidak perlu langsung ke rumah sakit. Cukup menggunakan smartphone atau PCnya, yang memiliki beberapa sensor kesehatan, untuk meminta diagnosa ke AI dan divalidasi oleh dokter di rumah sakit (Gambar 3). Teknologi informasi digunakan secara besar pada Masyarakat 5.0 untuk memudahkan hidup.
Gambar 2. Masyarakat 5.0 yang berorientasi pada kehidupan manusia yang lebih baik [1]
 

Beberapa contoh lainnya 

Gambar 4. Masyarakat medis 5.0 [1]


Gambar 3 mengilustrasikan contoh pada paragraf sebelumnya tentang Masyarakat 5.0 untuk diagnosa penyakit. Lebih lanjut lagi, di Gambar 4, jika dirasa kesehatan pasien memerlukan tindakan langsung oleh dokter, maka pasien tersebut bisa pergi ke rumah sakit (RS) dengan autonomous vehicle yang disediakan oleh RS. Teknologi autonomous (self-driving) vehicle ini akan menggantikan transportasi umum. Dengan otomasi transportasi umum, maka tingkat kecelakaan akan bisa ditekan seminimal mungkin. Kurir akan digantikan oleh drone. Pesawat, kereta api, bis dan transportasi lainnya akan lebih aman dan nyaman dengan kehadiran teknologi otomasi ini. 

Gambar 5. Autonomous vehicle Masyarakat 5.0 [1]


Di sisi lain, pemanfaatan teknologi informasi dan teknologi pada bidang perawatan (maintenance), seperti ditunjukkan oleh Gambar 5, akan memudahkan masyarakat. Tidak perlu lagi ada campur "tangan" (dalam arti benar-benar tangan) manusia untuk mengecek langsung, mengarahkan kendaraan, menginspeksi jembatan dan gedung-gedung tinggi, teroworongan dan sebagainya. Inspektor cukup memantau "kesehatan" infrastruktur tersebut melalui smartphone, PC, dan sejenisnya. 

Gambar 6. Masyarakat 5.0 di bidang maintenance [1]


Di sisi keuangan, transfer dana yang kini bisa dilakukan secara online akan berganti ke pembayaran cashless dengan biaya transfer yang seminimal mungkin. Teknologi blockchain akan memangkas waktu dan harga disamping meningkatkan keamanan dan kenyamanan transfer, baik nasional maupun internasional (ini yang saya masih ragu). 

Gambar 7. The future is cashless [1]

Tantangan

Riset saya, yang sebagian besar mulai diarahkan ke teknologi informasi, kini juga diarahkan untuk menjawab tantangan Masyarakat 5.0 (yang telah mulai direncakanan oleh Abe saat menjabat PM Jepang, dalam program abenomics). Diantara tantangan terbesarnya adalah: tingkat kelahiran yang turun dan masyarakat tua yang meningkat (di Jepang), antisipasi pada perubahan struktur industri dan membuat nilai kustomer baru, mempromosikan implementasi sosial pada teknologi (human-machine interaction, otomasi). Untuk mencapai hal tersebut riset saya akan fokus pada IoT dan akuisisi data, pengolahan data besar, dan AI/deep learning untuk mengolah data tersebut.


Referensi: 
[1] Realizing Society 5.0, https://www.japan.go.jp/abenomics/_userdata/abenomics/pdf/society_5.0.pdf

Thursday, April 07, 2022

Terpaksa Berdzikir

Sudah lama saya tidak menulis tentang agama.

Senada dengan teknik di tulisan saya ini untuk memaksa belajar kanji, aka Terpaksa Belajar Kanji, aka belajar kanji otomatis, teknik berikut ini bisa memaksa kita berdzikir: memasang wallpaper screen lock handphone yang berisi dzikir.

Saya dapat inspirasi dari sini.


Di akhir ceramahnya, dai tersebut menyarankan jamaah untuk mengganti wallpaper screen lock HPnya dengan wallpaper (yang bermuatan) dzikir. Dan saya segera melaksakannya. Ini penampakannya.



Dalam kasus saya, saya tidak perlu mengganti wallpaper. Hanya mengganti "lock screen owner info" (Xiaomi, setting >> lock screen >> lock screen format >> lock screen owner info >> [tambahkan kalimat dzikir, misal subhanallah... :D]).

Teknik lain yang bisa memaksa berdzikir:

  1. Menjadikan dzikir sebagai password
  2. Memasang tulisan doa/dzikir di dinding 
  3. Memasang wallpaper laptop, tablet, dll dengan kalimat dzikir

Semoga, suatu saat, kita (baca: saya) bisa berdzikir dengan tanpa terpaksa, insyaAllah. Harus bisa. Pasti bisa.

Wednesday, April 06, 2022

New Paper: Survey on bimodal speech emotion recognition ...

Finally, the final version of my paper appeared in Elsevier. This is my second paper in Speech Communication Journal (currently it is Q1, IF: 2.0, CiteScore:4.8, h5-index: 28, google top 20). This one is open access in contrast to the previous subscription paper. Here is the link. For short descriptions, you can read through this passage.

https://doi.org/10.1016/j.specom.2022.03.002

Abstract

Speech emotion recognition (SER) is traditionally performed using merely acoustic information. Acoustic features, commonly are extracted per frame, are mapped into emotion labels using classifiers such as support vector machines for machine learning or multi-layer perceptron for deep learning. Previous research has shown that acoustic-only SER suffers from many issues, mostly on low performances. On the other hand, not only acoustic information can be extracted from speech but also linguistic information. The linguistic features can be extracted from the transcribed text by an automatic speech recognition system. The fusion of acoustic and linguistic information could improve the SER performance. This paper presents a survey of the works on bimodal emotion recognition fusing acoustic and linguistic information. Five components of bimodal SER are reviewed: emotion models, datasets, features, classifiers, and fusion methods. Some major findings, including state-of-the-art results and their methods from the commonly used datasets, are also presented to give insights for the current research and to surpass these results. Finally, this survey proposes the remaining issues in the bimodal SER research for future research directions.

 

Method

This is my first survey/review paper. I divided the contents into the building blocks of SER. First, I show the background of shifting from unimodal acoustic analysis to bimodal acoustic-linguistic information fusion. The rest is a comparison of more than a hundred papers. The most interesting part is that I summarized the comparison in several tables highlighting current state-of-the-art results (SOTA).

Result

The most important results are Table 3, Table 4, and Table 5. Here is a screenshot of Table 3 which list the current SOTA for the IEMOCAP dataset.
iemocap


Take home message

  1. There are several challenges listed in the paper
  2. Can we extract linguistic information without text? Yes, it can. Read here (actually it is included in the challenges part of my review paper, and someone already did it).

Citation

Don't forget to cite my paper as below if you get the benefit of reading that paper for your own manuscript.
Atmaja, B. T., Sasou, A., & Akagi, M. (2022). Survey on bimodal speech emotion recognition from acoustic and linguistic information fusion. Speech Communication, 140, 11–28. https://doi.org/10.1016/j.specom.2022.03.002
Related Posts Plugin for WordPress, Blogger...