Format Wave PCM Struktur File Wave

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