01Pengantar Multimedia & Representasi Data Digital | - Menjelaskan konsep dasar multimedia (teks, audio, citra, video) dan pipeline pemrosesannya.
- Menjelaskan representasi digital: bit, sampling, dan kuantisasi (teorema Nyquist, bit depth).
- Menjelaskan representasi sinyal audio: amplitudo vs frekuensi, sampling rate, struktur channel.
| - Definisi & elemen multimedia: teks, gambar, audio, video, animasi
- Representasi digital: bit, sampling, kuantisasi
- Teorema Nyquist, bit depth, PCM
- Sinyal audio: amplitudo vs frekuensi, sampling rate, struktur mono/stereo/channels
- Representasi teks: ASCII, Unicode; raster vs vektor
| - Setup environment & memanggil library pengolahan multimedia (librosa, opencv, matplotlib)
- Membaca file .wav dan menampilkan waveform dengan librosa/matplotlib
- Membedakan output berdasarkan sampling rate & bit depth
|
02Akuisisi Media: Citra, Video & Toolchain Python | - Menjelaskan citra digital sebagai matriks piksel dan membedakan ruang warna BGR vs RGB.
- Menjelaskan struktur data video (frame, height, width, FPS).
- Membaca file multimedia dan mengekstraksi metadata/properti file.
| - Citra digital: matriks piksel, resolusi, bit depth
- Ruang warna: BGR (OpenCV) vs RGB (Matplotlib), Grayscale
- Struktur video: frame, height, width, FPS
- Ekstraksi metadata & properti file
- Toolchain Python: librosa, opencv, matplotlib
| - Membaca gambar/video dengan OpenCV; menganalisis perbedaan saat kanal R-G-B ditukar/dipisahkan
- Inspeksi properti file: durasi audio, resolusi gambar, jumlah frame video
- Diskusi kelas: pengaruh metadata & properti file terhadap kualitas dan penyimpanan media
|
03Audio Signal Fundamentals, Resampling & Equalization | - Menjelaskan resampling (upsampling/downsampling) dan jenis-jenis filter audio.
- Menerapkan parameter filter (cutoff, roll-off, Q).
- Merancang equalizer sederhana (rumble removal, isolasi vokal, noise cleanup).
| - Resampling: upsampling & downsampling
- Jenis filter: low-pass, high-pass, band-pass, notch
- Parameter filter: cutoff, roll-off, Q
- Equalization: rumble removal, isolasi vokal, noise cleanup
| - Desain & implementasi low-pass & high-pass filter dengan scipy.signal
- Membuat Multi-band Equalizer sederhana (bass boost, vocal clarity)
- Uji coba isolasi vokal & noise cleanup pada rekaman musik/pidato
|
04Loudness, Normalization & Dynamic Processing | - Membedakan metrik loudness: Peak (dBFS), RMS, LUFS.
- Menerapkan normalisasi peak vs loudness (target platform, mis. Spotify −14 LUFS).
- Mengimplementasikan compressor, limiter, dan noise gate.
| - Metrik loudness: Peak (dBFS), RMS, LUFS
- Normalisasi peak vs loudness (target platform, mis. Spotify −14 LUFS)
- Gain control: fade in/out, crossfade
- Compressor: threshold, ratio, attack, release; limiter, noise gate & silence detection
| - Mengukur level LUFS dengan pyloudnorm
- Skrip normalisasi audio ke target
- Implementasi kompresor sederhana + visualisasi perubahan waveform
- Noise gating
|
05Music Information Retrieval (MIR) | - Menerapkan pitch shifting & time stretching.
- Mendeteksi pitch, tempo, onset, dan beat pada sinyal audio.
- Mengekstraksi fitur Chromagram untuk memprediksi Mayor/Minor dan kunci lagu.
- Memahami chord recognition dan audio fingerprinting.
| - Pitch shifting & time stretching
- Deteksi pitch & tempo, onset detection & beat tracking
- Chromagram: prediksi Mayor/Minor & kunci lagu
- Chord recognition, audio fingerprinting (gaya Shazam)
| - Latihan pitch/tempo processing
- Deteksi kunci lagu dari Chromagram (misal: D Major)
- Onset & beat tracking pada rekaman
- Mini-tugas audio fingerprinting/identifikasi lagu
- Diskusi: membandingkan hasil fingerprinting dengan layanan komersial (misal Shazam)
|
06Struktur Data Citra Digital & Warna | - Menjelaskan citra digital sebagai matriks numerik (piksel, resolusi, bit depth).
- Menerapkan operasi I/O dasar (imread, imshow, imwrite).
- Menganalisis warna melalui channel splitting dan histogram.
| - Piksel, resolusi, bit depth
- Struktur array NumPy: height, width, channel
- Operasi I/O dasar: imread, imshow, imwrite
- Teori warna: BGR, RGB, Grayscale, HSV; channel splitting, histogram
| - Manipulasi nilai piksel langsung (membuat garis warna manual pada array)
- Konversi foto ke Grayscale & HSV
- Modifikasi intensitas channel (misal: kurangi hijau 50%)
- Plot histogram distribusi R, G, B
|
07Transformasi Geometris & Anotasi | - Menerapkan transformasi affine (translasi, rotasi, scaling, flipping).
- Menghitung dimensi canvas baru agar gambar tidak terpotong saat rotasi.
- Membuat anotasi visual informatif pada citra.
| - Affine transformation: translasi, rotasi, scaling (resize & interpolasi), flipping
- Anotasi visual informatif pada citra
| - Studi kasus rotasi (misal 45°) & menghitung dimensi canvas baru agar gambar tidak terpotong
- Latihan flipping & scaling dengan metode interpolasi berbeda (nearest, bilinear, bicubic)
- Anotasi visual: menambahkan teks & bounding box pada citra
|
08Filtering Spasial, Deteksi Tepi & Kontur | - Menjelaskan konvolusi untuk filtering spasial.
- Menerapkan Gaussian blur (reduksi noise) dan sharpening.
- Mengekstraksi fitur bentuk: deteksi tepi & kontur.
| - Filtering spasial (konvolusi)
- Gaussian blur (reduksi noise), sharpening
- Deteksi tepi & kontur (ekstraksi fitur bentuk)
| - Perbandingan citra asli vs hasil Gaussian Blur
- Shape analysis: deteksi kontur objek (misal alat tulis)
- Saring noise berdasarkan luas area, gambar ulang kontur dengan warna berbeda
|
09UTS — Ujian Tengah Semester | - Mengukur pemahaman representasi digital & media (Minggu 1–2), pemrosesan audio (Minggu 3–5), dan citra digital (Minggu 6–8).
| - Tes tulis: representasi digital & media (Minggu 1–2), audio (Minggu 3–5), citra digital (Minggu 6–8)
| - Tes tulis konsep multimedia (Minggu 1–8), bobot 10%
|
10Video Digital & Motion Estimation | - Menjelaskan representasi video (gambar + waktu), FPS, resolusi, dan codec (I/P/B-frame).
- Menerapkan motion estimation: block matching & optical flow (Lucas-Kanade).
- Mengimplementasikan chroma keying dan object tracking (CSRT/KCF).
| - Representasi video: gambar + waktu, frame rate (FPS), resolusi
- Konsep codec: I-frame, P-frame, B-frame
- Video I/O: VideoCapture, VideoWriter
- Motion estimation: block matching & optical flow (Lucas-Kanade), video stabilization, frame interpolation
- Chroma keying (green screen), object tracking klasik (CSRT/KCF)
| - Video I/O practice: baca video, konversi grayscale real-time, simpan ke file baru
- Lab motion estimation: optical flow & block matching
- Green screen effect: ganti background hijau dengan video lain
- Tracking demo: tandai objek dan biarkan CSRT melacak
|
11Deteksi Wajah, Landmark & Kode Digital | - Membandingkan deteksi wajah Haar Cascades vs DLIB HOG/CNN.
- Menerapkan facial landmark (Dlib 68 points / MediaPipe Face Mesh) dan Eye Aspect Ratio (EAR) untuk deteksi kedipan.
- Mendeteksi & mendekode QR/barcode (pyzbar/OpenCV) serta menerapkan image overlay (simple AR).
| - Deteksi wajah: Haar Cascades vs DLIB HOG/CNN
- Facial landmarks: Dlib 68 points / MediaPipe Face Mesh (468 titik)
- Eye Aspect Ratio (EAR): deteksi kedipan
- Deteksi & decoding QR/barcode (pyzbar/OpenCV)
- Image overlay (simple AR)
| - Komparasi deteksi wajah Haar Cascade vs Dlib pada foto keramaian
- QR scanner: baca URL dari gambar
- Blink Counter: penghitung kedipan otomatis berbasis threshold EAR
- Proyek mini "filter wajah": kacamata/lipstik virtual via landmark + overlay presisi
- Studi kasus: pengaruh pose & pencahayaan terhadap akurasi deteksi wajah
|
12Pose Estimation, Hand Tracking & Gesture Recognition | - Menerapkan pose estimation (33 titik skeleton) dan menghitung sudut antar sendi.
- Menerapkan hand tracking 21 titik landmark tangan.
- Menerapkan logika gestur (terbuka vs mengepal, menghitung jari) dan membangun aplikasi Virtual Painter.
| - Pose estimation: 33 titik skeleton, sudut vektor antar sendi
- Hand tracking: 21 titik landmark tangan (MediaPipe)
- Gesture recognition: fist vs open palm, menghitung jari
- Aplikasi interaktif: Virtual Painter
| - Posture analysis: hitung sudut siku tangan kanan secara real-time (aplikasi fitness/rehabilitasi)
- Finger Counter: menghitung jari yang diangkat di depan kamera
- Gesture recognition (fist vs open palm)
- Proyek akhir modul Virtual Painter: jari telunjuk sebagai "kuas" menggambar di udara
|
13Multimedia Networking & Streaming | - Menjelaskan kebutuhan jaringan multimedia (bandwidth, latency, jitter) dan QoS/QoE.
- Menerapkan adaptive streaming (DASH & HLS) dan bitrate adaptation.
- Memahami peran buffering, CDN, dan live streaming.
| - Kebutuhan jaringan multimedia: bandwidth, latency, jitter
- Prinsip QoS/QoE
- Adaptive streaming: DASH & HLS, bitrate adaptation, buffering
- CDN, live streaming (opsional: WebRTC)
| - Demo adaptive streaming & perbandingan DASH vs HLS
- Pengukuran QoE sederhana / simulasi jaringan (latency, packet loss)
- Latihan konfigurasi stream lokal
- Diskusi: strategi bitrate adaptation pada platform streaming populer (misal YouTube, Netflix)
|
14Remote Photoplethysmography (rPPG) | - Menjelaskan prinsip interaksi cahaya-kulit dan Blood Volume Pulse (BVP).
- Menerapkan pipeline rPPG berbasis POS untuk estimasi heart rate (BPM) non-contact.
| - Interaksi cahaya-kulit: diffuse reflection, absorpsi hemoglobin
- Blood Volume Pulse (BVP), perubahan warna kulit tidak kasat mata
- Pipeline rPPG berbasis POS: estimasi Heart Rate (BPM) non-contact
| - ROI extraction: stabilisasi area dahi/pipi dengan MediaPipe Face Mesh
- Ekstraksi rata-rata RGB per frame
- Detrending, bandpass 0.7–3.0 Hz (42–180 BPM), FFT → peak frequency → BPM real-time
- Validasi BPM hasil pipeline terhadap pengukuran manual (hand count/oximeter)
|
15Integrasi Proyek & Showcase | - Mengintegrasikan modul audio/citra/video ke satu sistem aplikasi multimedia.
- Mengevaluasi kinerja algoritma dan melakukan troubleshooting & optimasi (FPS, latensi).
- Mendemonstrasikan prototype proyek dan memberi peer review.
| - Review spesifikasi tugas besar, integrasi modul audio/citra/video
- Evaluasi kinerja algoritma, troubleshooting, optimasi performa (FPS, latensi)
- Deployment opsional: Streamlit/Gradio/Tkinter
- Peer review, finalizing roadmap
| - Progress demo hasil proyek (showcase) di depan kelas
- Code clinic/consultation (misal: "Kenapa rPPG saya drift?")
- Peer review antar kelompok
|
16UAS — Ujian Akhir Semester | - Mengukur capaian akhir seluruh materi dan penyelesaian laporan tugas besar.
| - Ujian akhir semester, pengumpulan laporan tugas besar
| - Ujian akhir semester & pengumpulan laporan tugas besar
|