Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Raymond Kelvin Nando — Audio ADPCM merupakan teknik kompresi audio yang mengubah sinyal PCM linear menjadi representasi diferensial teradaptasi. Dengan memanfaatkan prediksi dan quantization adaptif, ADPCM mampu mengurangi bitrate tanpa menghilangkan seluruh informasi penting, sehingga banyak digunakan dalam telekomunikasi, perangkat embedded, sistem suara radio, dan berbagai format audio berukuran kecil.
Daftar Isi
Audio ADPCM (Adaptive Differential Pulse-Code Modulation) adalah metode encoding audio yang menggunakan pendekatan diferensial—bukan menyimpan nilai absolut setiap sampel, ADPCM menyimpan perbedaan antar sampel serta melakukan quantization adaptif. Teknik ini mempertahankan kualitas audio yang cukup baik sambil menurunkan bitrate secara signifikan dibanding PCM linear.
ADPCM biasanya digunakan pada bitrate 32 kbps, 24 kbps, hingga 16 kbps untuk suara manusia dan 4-bit encoding seperti Microsoft ADPCM atau IMA ADPCM yang menyimpan masing-masing sampel dalam 4 bit. Teknologi ini dijadikan standar dalam berbagai protokol telekomunikasi seperti ITU-T G.726, serta digunakan dalam recorder portable, radio digital, voice-over-IP generasi awal, telepon analog digitalisasi, konsol game klasik, dan perangkat elektronik dengan memori terbatas.
Konsep dasar DPCM sudah ada sejak 1950–1960-an, namun baru pada akhir 1970-an hingga 1980-an muncul ADPCM yang benar-benar adaptif. ITU-T mengembangkan ADPCM standar untuk telekomunikasi, terutama pada seri rekomendasi G.721 (32 kbps), G.723 (24 dan 40 kbps), serta G.726 sebagai penyatuan standar.
Sementara itu, industri komputer mengembangkan varian ADPCM seperti:
Dengan kemampuan kompresi tinggi dan proses decoding yang ringan, ADPCM menjadi sangat populer sebelum munculnya codec modern seperti MP3, AAC, dan Opus.
ADPCM bekerja dengan mengompresi selisih antar sampel menggunakan quantizer adaptif dan predictor dinamis.
Alih-alih menyimpan nilai sampel penuh, ADPCM menyimpan:
predicted_sample
error = actual_sample − predicted_sample
quantized_error = quantize(error)
output = encoded_step
Dengan hanya menyimpan error yang telah diquantize, ukuran data menjadi jauh lebih kecil.
Quantizer dalam ADPCM menyesuaikan step size secara dinamis sesuai kondisi sinyal. Jika sinyal tiba-tiba naik (misalnya transien suara), quantizer membesarkan step size untuk mengikuti perbedaan besar. Jika sinyal datar, step size diperkecil untuk akurasi.
Predictor adalah estimasi nilai sampel berikutnya berdasarkan sampel sebelumnya. Contoh predictor linear sederhana:
predicted_sample = previous_sample + (previous_error × factor)
Predictor yang baik akan membuat error semakin kecil sehingga kompresi semakin efisien.
ADPCM umum menggunakan 4-bit per sampel, tetapi ada varian 2-bit, 3-bit, 5-bit, hingga 6-bit.
Misalnya:
Jenis-jenis ADPCM meliputi:
Beberapa ADPCM mengemas sampel dalam blok yang mencakup header kecil, predictor index, dan sampel diferensial.
Input (PCM 16-bit sampel):
1200
1280
1400
1550
1700
Differential:
80
120
150
150
Quantized (ADPCM 4-bit misal):
5
6
7
6
Output ADPCM (4 nibble):
5 6 7 6
Blok ADPCM biasanya berisi:
Predictor: 1000
Index: 4
Encoded nibbles: 3 4 4 5 6 5 4 3 2 …
Output: blok 256 byte, menghasilkan ~1 KB PCM terkompresi 4:1.
Input: sinyal suara percakapan 8 kHz, 16-bit
Output:
Bitstream ADPCM 4-bit yang menghasilkan bitrate 32.000 bit/s.
Input: waveform instrumen sintetis.
Output ADPCM disimpan dalam langkah-langkah kecil sehingga memori cartridge yang terbatas dapat digunakan secara efisien.
Encoded nibble: 6
Step size: 20
Predicted: 1000
Error estimasi: 6 × 20 = 120
Output sampel baru: 1120
Kelebihan:
Kekurangan: