# Smart Speaker Project Logbook Logbook ini berisi daftar pekerjaan yang dilakukan tiap harinya untuk menyelesaikan proyek. Pengerjaan akan dilakukan selama 3 jam per hari. Penulis mengerjakan proyek ini di ruang residensi dan di tempat kediaman penulis. Proyek ini akan dibagi menjadi 2 topik besar, yaitu: * Spectro-Net: A Novel CNN Architecture for Speech Command Application * A Real Time Speech Command Algorithm for Smart Speaker Application Implemented in GPU Topik pertama akan dikerjakan sampai UTS matakuliah Project Akhir, dan topik kedua akan dikerjakan setelah UTS matakuliah Project Akhir. Kedua topik ini merupakan lanjutan dari penelitian yang sudah dilakukan pada matakuliah Metodologi Penelitian, yaitu "Spoken Digit-Number Recognition using Spectrogram-based Convolutional Neural Networks". ## Topik 1. Spectro-Net: A Novel CNN Architecture for Speech Command Application Pada bagian ini akan ditulis logbook pengerjaan topik 1. Tujuan dari topik 1 ini adalah untuk memperbaiki kelemahan dari metode yang diajukan pada penelitian yang sudah penulis lakukan sebelumnya, yaitu: * Algoritma yang diusulkan tidak real-time * Algoritma yang diusulkan memiliki kompleksitas yang berat, sehingga sulit diimplementasikan pada edge * Akurasi dari algoritma yang diusulkan tidak cukup tinggi(hanya 70%). Berdasarkan masalah-masalah tersebut, maka topik pengerjaan yang harus dilakukan pada penelitian topik 1 ini adalah: * Melakukan studi literatur mengenai cara mendesain arsitektur CNN yang efektif * Mendesain arsitektur CNN untuk klasifikasi citra spektrogram * Mendesain arsitektur CNN yang memiliki layer untuk memperoleh spektrogram sinyal * Menyiapkan dataset speech command untuk kasus tertentu(misalnya music player) Video referensi yang digunakan penulis untuk memahami topik dapat dilihat pada playlist youtube : [Video Referensi](https://www.youtube.com/playlist?list=PLJLR6SLxYLrRfQtlcVIsvPA91_TRioRSx) Paper - paper referensi yang digunakan penulis dapat dilihat pada folder OneDrive (perlu login email outlook) : [Paper Referensi](https://itbdsti-my.sharepoint.com/:f:/g/personal/23221320_mahasiswa_itb_ac_id/EihpQmdBjzVLjjx9cuSmXX4BYkqnP0iWnpMZ9VRX3trzuQ?e=BmJwpG) Adapun logbook dari penelitian topik 1 ini adalah | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 16 Januari 2023 | Kediaman Penulis | Mencari Video & Studi Literatur Mengenai CNN dan Voice Command | | Selasa, 17 Januari 2023 | Lab Embedded STEI | Membuat Project Overleaf, Laman hackmd, Mencari Paper Referensi | | Rabu, 18 Januari 2023 | Lab Embedded STEI | Baca 3 Paper, memilih komponen komputer untuk penelitian | | Kamis, 19 Januari 2023 | Lab Embedded STEI | Baca 3 Paper , menyelesaikan tugas minggu 1 | | Jumat, 20 Januari 2023 | Kediaman Penulis | Baca 4 Paper , menyelesaikan tugas minggu 1, merapikan hackmd | :::info :exclamation: Kesimpulan dari minggu pertama adalah penulis kesulitan mencari referensi yang membahas "*voice/speech command*". Kebanyakan paper membahas mengenai *voice/speech recognition* yang lebih berforkus pada *speech to text* ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 23 Januari 2023 | Kediaman Penulis | Mencari paper referensi tambahan | Selasa, 24 Januari 2023 | Lab Embedded STEI | Mencari paper referensi tambahan | | Rabu, 25 Januari 2023 | Kediaman Penulis | Membaca paper referensi tambahan | Kamis, 26 Januari 2023 | Lab Embedded STEI | Membaca paper referensi tambahan, mereplika paper ISESD dengan bahasa python | Jumat, 27 Januari 2023 | Kediaman Penulis | Coding python untuk mereplika paper ISESD, mengisi laman hackmd | :::info :exclamation: Kesimpulan dari minggu kedua adalah penulis sudah mampu mereplika paper ISESD yaitu voice command dengan menggunakan AlexNet. Hanya akurasinya belum bagus. Selain itu, ditemukan bahwa istilah lain untuk voice command adalah keyword spotting. ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 30 Januari 2023 | Lab Embedded STEI | Mempelajari CNN, RNN, LSTM | Selasa, 31 Januari 2023 | Kediaman Penulis | Mencari paper mengenai CNN+LSTM, mempelajari bi-LSTM | | Rabu, 1 Februari 2023 | Kediaman Penulis | Membaca paper "Effective Combination of Dense-Net and biLSTM for keyword spotting" | Kamis, 2 Februari 2023 | Lab Embedded STEI | Mereplika paper yg dibaca hari Rabu pada bahasa Python | Jumat, 3 Februari 2023 | Kediaman Penulis | Melanjutkan coding, mencari referensi tambahan CNN-LSTM, mengisi hackmd | :::info :exclamation: Kesimpulan dari minggu ketiga adalah untuk data sekuensial seperti suara lebih tepat menggunakan LSTM, sehingga akan digunakan metode hybrid CNN-LSTM ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 6 Februari 2023 | Lab Embedded STEI | Coding DenseNet-LSTM menggunakan python | Selasa, 7 Februari 2023 | Kediaman Penulis | Training & Testing DenseNet-LSTM menggunakan database FSDD | Rabu, 8 Februari 2023 | Kediaman Penulis | Download dataset "google speech command v2", coba2 spektrogram menggunakan librosa | Kamis, 9 Februari 2023 | Lab Embedded STEI | Persiapan dataset google speech command v2, training | Jumat, 10 Februari 2023 | Kediaman Penulis | Ambil data, menyelesaikan tugas, mengisi hackmd | :::info :exclamation: Kesimpulan dari minggu keempat adalah program sudah berjalan tapi masih overfitting untuk jumlah kelas >2 ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 13 Februari 2023 | Lab Embedded STEI | Tuning parameter DenseNet-BiLSTM | Selasa, 14 Februari 2023 | Kediaman Penulis | Mencoba tutorial "simple speech command" dari website keras | Rabu, 15 Februari 2023 | Gedung STP ITB | Mengaplikasikan tutorial simple speech command ke code DenseNet-BiLSTM | Kamis, 16 Februari 2023 | Lab Embedded STEI | Mengaplikasikan tutorial simple speech command ke code AlexNet | Jumat, 17 Februari 2023 | Kediaman Penulis | Menulis project Overleaf, membuat PPT, mengisi HackMD | :::info :exclamation: Pada umumnya arsitektur CNN seperti AlexNet mampu mengklasifikasi citra spektrogram dengan baik namun membutuhkan kompleksitas tinggi sehingga dibutuhkan lstm ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 20 Februari 2023 | Gedung STP ITB | Mengubah pengulangan pada densenet menjadi 3x, training & testing | Selasa, 21 Februari 2023 | Kediaman Penulis | Coba setup tensorflow pada Ubuntu(komputer penulis) | Rabu, 22 Februari 2023 | Kediaman Penulis | Coba setup tensorflow pada Windows(komputer penulis) | Kamis, 23 Februari 2023 | Kediaman Penulis | Menambahkan layer spektrogram pada densenet-LSTM, coba2 LSTM 1 arah(tidak bidirectional) | Jumat, 24 Februari 2023 | Kediaman Penulis | Menulis project Overleaf, membuat PPT, mengisi HackMD | :::info :exclamation: Minggu ini progress terhambat karena penulis sakit(demam, sakit kepala), karena suntik vaksin booster kedua. Namun progress terbaru sampai membedakan Spectro-Net dengan DenseNet-BiLSTM seperti pada paper referensi ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 27 Februari 2023 | Lab Sistem Embedded| Melanjutkan training & testing Spectro-Net | Selasa, 28 Februari 2023 | Kediaman Penulis | Mengambil data akurasi pada Spectro-Net | Rabu, 1 Maret 2023 | Kediaman Penulis | Mengambil data akurasi pada AlexNet | Kamis, 2 Maret 2023 | Lab Sistem Embedded | Mengambil data akurasi pada Custom-Net | Jumat, 3 Maret 2023 | Kediaman Penulis | Menulis project Overleaf, membuat PPT, mengisi HackMD | :::info :exclamation: Minggu ini data sudah didapatkan dan mulai menulis naskah paper ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 6 Maret 2023 | Kediaman Penulis | Mencari referensi mengenai mel-spectrogram dan LSTM | Selasa, 7 Maret 2023 | Kediaman Penulis | Menulis bab 2 dasar teori pada paper | Rabu, 8 Maret 2023 | Kediaman Penulis | Menulis bab 3 proposed method pada paper | Kamis, 9 Maret 2023 | Kediaman Penulis | Menulis bab 1, menyalin data pengamatan | Jumat, 10 Maret 2023 | Kediaman Penulis | Menulis project Overleaf, membuat PPT, mengisi HackMD | :::info :exclamation: Minggu ini fokus mengerjakan draft paper ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 13 Maret 2023 | Kediaman Penulis | Merapikan sitasi, mencari referensi tambahan | Selasa, 14 Maret 2023 | Kediaman Penulis | Merapikan gambar dan memperjelas gambar pada paper | Rabu, 15 Maret 2023 | Kediaman Penulis | Melakukan grammar checking dengan grammarly | Kamis, 16 Maret 2023 | Kediaman Penulis | Finishing paper | Jumat, 17 Maret 2023 | Kediaman Penulis | Finishing paper, mengisi HackMD | :::info :exclamation: Minggu ini banyak melakukan finishing pada paper agar rapi ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 20 Maret 2023 | Kediaman Penulis | Merapikan paper sesuai masukan pada kelas | Selasa, 21 Maret 2023 | Kediaman Penulis | Mencari paper mengenai attention mechanism | Rabu, 22 Maret 2023 | Kediaman Penulis | Baca paper Show, Attend and Tell Neural Image Caption Generation with Visual Attention dan A review on the attention mechanism of deep learning niu2021 | Kamis, 23 Maret 2023 | Kediaman Penulis | Coba implementasi Attention mechanism ke spectronet | Jumat, 24 Maret 2023 | Kediaman Penulis | Training&testing spectronet dengan attention mechanism | :::info :exclamation: Minggu ini mencoba mempelajari attention mechanism pada deep learning, implementasi ke spectronet belum berhasil ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 27 Maret 2023 | Kediaman Penulis | Membuat PPT presentasi | Selasa, 28 Maret 2023 | Kediaman Penulis | Merapikan PPT presentasi | Rabu, 29 Maret 2023 | Kediaman Penulis | Mencari paper mengenai attention mechanism pada speech recognition | Kamis, 30 Maret 2023 | Kediaman Penulis | Mencari paper mengenai attention mechanism, baca paper Bahdanau Neural Machine Translation | Jumat, 31 Maret 2023 | Kediaman Penulis | Baca paper Neural Machine Translation Bahdanau, merapikan hackmd | :::info :exclamation: Minggu ini mempersiapkan PPT dan melanjutkan belajar attention mechanism ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 3 April 2023 | Kediaman Penulis | Merapikan paper Spectronet | Selasa, 4 April 2023 | Kediaman Penulis | Final checking Paper, kirim paper ke pembimbing | Rabu, 5 April 2023 | Kediaman Penulis | Submit Paper MWSCAS | Kamis, 6 April 2023 | Kediaman Penulis | Mencoba menggunakan Jetson Xavier | Jumat, 7 April 2023 | Kediaman Penulis | Merapikan HackMD, menyiapkan PPT presentasi :::info :exclamation: Minggu ini banyak persiapan teknis untuk submit ke MWSCAS, dan juga mulai mencoba belajar menggunakan Jetson Xavier ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 10 April 2023 | Kediaman Penulis | Mengubah2 parameter pada Mel Spectrogram(Frame Size, Hop Size) | Selasa, 11 April 2023 | Kediaman Penulis | Mengubah2 parameter pada Mel Spectrogram(Mel Number, Window Function) | Rabu, 12 April 2023 | Kediaman Penulis | Mengubah-ubah design Dense-Net pada SpectroNet(Repetisi Dense Block, isi Dense Block) | Kamis, 13 April 2023 | Kediaman Penulis | Mengubah-ubah design Dense-Net pada SpectroNet(Fungsi Aktivasi, Repetisi Dense Block) | Jumat, 14 April 2023 | Kediaman Penulis | Mengisi HackMD, membuat PPT, merapikan paper overleaf(Mengganti gambar spectronet layer dan sitasi paper ISESD) :::info :exclamation: Minggu ini memanfaatkan deadline tambahan pada MWSCAS untuk mencari hasil optimal dari SpectroNet namun tidak ditemukan peningkatan performa yang signifikan ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 17 April 2023 | Kediaman Penulis | Setup Jetson Xavier | Selasa, 18 April 2023 | Kediaman Penulis | Ujicoba Mikrofon dengan Jetson Xavier | Rabu, 19 April 2023 | Kediaman Penulis | - | Kamis, 20 April 2023 | Kediaman Penulis | - | Jumat, 21 April 2023 | Kediaman Penulis | - :::info :exclamation: Minggu ini progress terpotong oleh libur idul fitri ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 24 April 2023 | Kediaman Penulis | - | Selasa, 25 April 2023 | Kediaman Penulis | - | Rabu, 26 April 2023 | Kediaman Penulis | - | Kamis, 27 April 2023 | Kediaman Penulis | - | Jumat, 28 April 2023 | Kediaman Penulis | - :::info :exclamation: Minggu ini masih libur idul fitri ::: | Hari/ Tanggal | Lokasi | Pekerjaan | | ----------------------- | ----------------- | --------------------------- | | Senin, 1 Mei 2023 | Kediaman Penulis | Merekam suara untuk database | Selasa, 2 Mei 2023 | Kediaman Penulis | Mengolah database, uji coba database ke SpectroNet | Rabu, 3 Mei 2023 | Kediaman Penulis | Mengolah ulang database dengan sample rate yang sesuai, ujicoba database ke Spectronet | Kamis, 4 Mei 2023 | Kediaman Penulis | Training & Testing Spectronet | Jumat, 5 Mei 2023 | Kediaman Penulis | Mengisi HackMD, membuat PPT :::info :exclamation: Minggu ini berfokus pada membuat database sendiri :::