Struktur File Wave


Aplikasi multimedia seperti diketahui memerlukan manajemen penyimpanan dari sejumlah jenis data yang bervariasi, termasuk bitmap, data audio, data video, informasi mengenai kontrol device periperal. RIFF menyediakan suatu cara untuk menyimpan semua jenis data tersebut. Tipe data pada sebuah file RIFF dapat diketahui dari ekstensi filenya. Sebagai contoh jenis-jenis file yang disimpan dalam bentuk format RIFF adalah sebagai berikut:
1.      Audio/visual interleaved data (.AVI)
2.      Waveform data (.WAV)
3.      Bitmapped data (.RDI)
4.      MIDI information (.RMI)
5.      Color palette (.PAL)
6.      Multimedia Movie (.RMN)
7.      Animated cursor (.ANI)
            Pada saat ini, file *.AVI merupakan satu-satunya jenis file RIFF yang telah secara penuh diimplementasikan menggunakan spesifikasi RIFF. Meskipun file *.WAV juga menggunakan spesifikasi RIFF, karena struktur file *.WAV ini begitu sederhana maka banyak perusahaan lain yang mengembangkan spesifikasi dan standar mereka masing-masing.
            Format  file WAVE seperti yang diketahui, merupakan bagian dari spesifikasi RIFF Microsoft yang digunakan sebagai penyimpan data digital audio. Format file ini merupakan salah satu format file audio pada PC. Seiring dengan popularitas Windows maka banyak aplikasi yang mendukung format file ini.
            Karena bekerja pada lingkungan Windows yang menggunakan prosesor Intel, maka  format data dari file WAVE disimpan dalam  format urutan little-endian (least significant byte) dan sebagian dalam urutan big-endian.
            File WAVE menggunakan struktur standar RIFF yang mengelompokkan isi file (sampel format, sampel digital audio, dan lain sebagainya) menjadi “chunk” yang terpisah, setiap bagian mempunyai header dan byte data masing-masing. Header chunck  menetapkan jenis dan ukuran dari byte data chunk. Dengan metoda pengaturan seperti ini maka program yang tidak mengenali jenis chunk yang khusus dapat dengan mudah melewati bagian chunk ini dan melanjutkan langkah memproses chunk yang dikenalnya. Jenis chunk tertentu mungkin terdiri atas sub-chunk. Sebagai contoh, pada gambar 2.3 dapat dilihat chunk “fmt ” dan “data” sebenarnya merupakan sub-chunk dari chunk “RIFF”.
            Chunk pada file RIFF merupakan suatu string yang harus diatur untuk tiap kata. Ini berarti ukuran total dari chunk harus merupakan kelipatan dari 2 byte (seperti 2, 4, 6, 8 dan seterusnya). Jika suatu chunk terdiri atas jumlah byte yang ganjil maka harus dilakukan penambahan byte (extra padding byte) dengan menambahkan sebuah nilai nol pada byte data terakhir. Extra padding byte ini tidak ikut dihitung pada ukuran chunk. Oleh karena itu sebuah program harus selalu melakukan pengaturan kata untuk menentukan ukuran nilai dari header sebuah chunk untuk mengkalkulasi offset dari chunk berikutnya.

Gambar  2.3   Layout File Wave

Popular posts from this blog

Cara Mengukur Trimpot

Cara Mengatasi E31 Canon MP258

Bagian-bagian Laptop Assus