2.14.5 Format Wave PCM
Jenis format Wave ini merupakan jenis file Wave yang paling umum dan hampir dikenal oleh setiap program. Format Wave PCM Pulse Code Modulation adalah file
wave yang tidak terkompresi, akibatnya ukuran file sangat besar jika file mempunyai durasi yang panjang. Berikut ini diagram Gambar 2.4 yang menggambarkan format
file Wave PCM. Kadhim,2012.
Gambar 2.4 Diagram Format File Wave Kadhim,2012.
Universitas Sumatera Utara
Berikut ini penjelasan mengenai struktur file Wave yang dimulai dengan header RIFF: Seperti terlihat pada Tabel 2.8.
Tabel 2.8 Penjelasan Struktur File Wave Gunawan,2005
Offset Size Nama Field
Deskripsi
4 ChunkID
Terdiri atas kata “RIFF” dalam bentuk ASCII 0x52494646 dalam bentuk big-endian.
4 4
Chunksize 36 + SubChunk2Size atau lebih tepatnya:
4 + 8 + SubChunk1Size + 8 + SubChunk2Size. Ini adalah besar seluruh file dalam byte dikurangi 8
byte untuk 2 field yang tidak termasuk dalam hitungan: ChunkID dan ChunkSize
8 4
Format Terdiri atas kata “WAVE” 0x57415645 dalam
bentuk big-endian. 12
4 SubChunk1ID
Terdiri atas kata “fmt “ 0x666d7420 dalam bentuk big-endian.
16 4
SubChunk1Size 16 untuk jenis PCM.
20 2
AudioFormat PCM = 1 Linear quantization. Nilai lebih dari 1
mengindikasikan file Wave kompresi. 22
2 NumChannels
Mono = 1, Stereo = 2 dan seterusnya 24
4 SampleRate
8000, 44100, dan seterusnya dalam satuan Hz 28
4 ByteRate
= SampleRate NumChannels BitsPerSample 8 32
2 BlockAlign
= NumChannels BitsPerSample 8 Jumlah byte untuk satu sampel termasuk semua
channel. 34
2 BitsPerSample
8 bits = 8, 16 bits = 16, dan seterusnya. 36
4 SubChunk2ID
Terdiri atas kata “data” 0x64617461 dalam bentuk big-endian.
40 4
SubChunk2Size = NumSamples NumChannels BitsPerSample 8
44 Data
Data Sound sebenarnya.
Universitas Sumatera Utara
Keterangan: Format “WAVE” terdiri atas 2 buah SubChunk2: “fmt ” dan “data”. SubChunk “fmt “ menggambarkan format data sound.
SubChunk “data” terdiri atas ukuran besar data dan data sound sebenarnya.
Sebagai contoh, berikut ini merupakan 72 byte pertama dari sebuah file Wave yang ditampilkan dalam heksadesimal:
52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00
24 17 1e f3 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 11 ce 1a 0d
Berikut ini Gambar 2.5 interpretasi dari tiap byte pada file Wave di atas:
Gambar 2.5 Interpretasi tiap Byte pada File Wave Gunawan, 2005
Selain bentuk standar dari file Wave di atas, seperti yang dikemukakan sebelumnya file Wave dapat ditambahkan chunk-chunk lain. Penambahan ini tidak
berpengaruh sebab suatu program yang membaca file Wave jika tidak memerlukan informasi pada chunk ini akan mengabaikannya dan mencari chunk lain yang
diperlukannya. Sebagai contoh berikut ini ditampilkan suatu tabel sebuah file Wave dengan penambah chunk “rgad”.Seperti terlihat pada table dibawah ini
Universitas Sumatera Utara
Tabel 2.9 Penambahan Chunk Lain Pada File WaveGunawan,2010 Start
Byte Chunk Chunk
Field Name contents
contents HEX
bytes Format
RIFF Name
RIFF 52 49 46 46 4
ASCII 4
Size 176444
3C B1 02 00
4 uInt32
8 WAVE
Name WAVE 57 41 56 45
4 ASCII
12 Fmt
Name fmt
66 6D 74 20
4 ASCII
16 Size
16 10 00 00 00
4 uInt32
20 wFormatTag
1 01 00
2 uInt16
22 nChannels
2 02 00
2 uInt16
24 nSamplesPerSec
44100 44 AC 00
00 4
uInt32
28 nAvgBytesPerSec
176400 10 B1 02
00 4
uInt32
32 nBlockAlign
4 04 00
2 uInt16
34 nBitsPerSample
16 10 00
2 uInt16
36 Rgad
name rgad 72 67 61 64
4 ASCII
40 size
8 08 00 00 00
4 uInt32
44 fPeakAmplitude
1 00 00 80 3F
4 float32
48 nRadioRgAdjust
10822 46 2A
2 uInt16
50 nAudiophileRgAdjust 18999
37 4A 2
uInt16 52
Data name
data 64 61 74 61 4
ASCII 56
size 176400
10 B1 02 00
4 uInt32
60 waveform data
..... .....
176400 Int16
Universitas Sumatera Utara
2.15 Hubungan Multimedia dengan Aplikasi Windows
Arsitektur dari pelayanan multimedia dirancang berdasarkan konsep dari extensibilitas ekstensibility dan device independence kebebasan alat. Berdasarkan kata
multimedia dapat diasumsikan bahwa multimedia merupakan suatu wadah atau penyatuan beberapa media menjadi satu. Elemen-elemen dalam pembentukan aplikasi
multimedia adalah teks, gambar, suara dan video. Untuk itu ekstensibilitas memungkinkan arsitektur perangkat lunak dengan mudah mengakomodasikan lebih
canggih dalam teknologi tanpa perubahan pada arsitektur itu sendiri Santi,2010.
Kebebasan alat memungkinkan aplikasi multimedia menjadi lebih mudah dikembangkan yang akan berjalan pada perangkat keras yang berbeda-beda. 3 tiga
elemen desain dari perangkat lunak sistem mendukung ekstensibilitas dan kebebasan alat yaitu:
1. Lapisan translasi MMSystem yang mengisolasikan aplikasi dari driver peralatan
dan memusatkan pada kode kebebasan alat. 2.
Hubungan run-time yang memungkinkan lapisan translasi untuk menghubungkan dengan driver yang dibutuhkan.
3. Suatu bentuk yang diatur sesuai dan driver konsisten interface yang meminimalkan kode khusus dan membuat instalasi dan meningkatkan proses
menjadi lebih mudah. Untuk lebih jelasnya maka digambarkan bagaimana lapisan translasi
menterjemahkan sebuah fungsi multimedia menjadi panggilan kepada driver alat audio:
Gambar 2.6 Lapisan-Lapisan Multimedia dengan Windows
Level Aplikasi
Level Translasi
Level Device Driver
Universitas Sumatera Utara