.Cấu trúcfile Wave

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu và ứng dụng một số thuật toán nén tiếng nói luận văn ths công nghệ thông tin 60 48 05001 (Trang 39 - 43)

3.2 .File WAVE

3.2.1.Cấu trúcfile Wave

Đây là khuôn dạng phổ biến nhất để lưu trữ âm thanh số trong thế giới PC. Nó được thiết kế cho các ứng dụng Multimedia chạy dưới Microsoft Windows. Tệp wav tự mã hóa và mô tả dữ liệu của nó trong phần mềm mà ta sử dụng. Nó không giới hạn độ dài tệp, có thể lên tới 4 GB.

Một tệp Wave là một dạng đặc biệt của tệp RIFF, là nhóm nội dung của tệp tin thành các khối riêng biệt đồng thời mỗi khối sẽ gồm một Header (dùng đề qui định kiểu và kích thước của khối) và các byte dữ liệu, và mọi tệp RIFF đều bắt đầu với các ký tự RIFF. Tiếp theo đó là 4 byte độ dài và mã định dạng. Tệp Wav theo cấu trúc RIFF nên cấu trúc gồm các phần tử nhỏ gọi là khúc (chunk). Có 2 loại khúc được dùng trong tệp wav là khúc dữ liệu (data chunk), như một định danh biểu diễn độ dài và bản thân dữ liệu; và khúc định dạng (format chunk) chứa các dữ liệu mô tả thông tin trong nó.

Khuôn dạng chung tệp Wave như trong Hình 3.3:

R I F F Kích thước W A V E Khúc fmt Khúc data

Các byte kích thước

Hình 3.3: Khuôn dạng tệp Wave

Do có rất nhiều tệp Wave có cùng cấu trúc cơ sở này, nên nhiều chương trình xử lý các tệp wave giống như chúng có cùng một header án định. Điều này tạo thuận lợi

cho việc viết các tệp Wave dài như khi chỉ viết các dữ liệu PCM và thiết lập một cách thích đáng các trường kích thước.

Bảng 3.1 sau đây là mô tả dạng tệp Wave cơ bản:

Bảng 3.1: Dạng tệp tin cơ bản

Kích thƣớc Mô tả

4 Dạng khúc: RIFF

4 Kích thước tệp tổng thể trừ 8 4 Dạng RIFF container : WAVE 4 Dạng khúc: fmt

4 Độ dài dữ liệu khúc định dạng: Thông thường là 16 16 Dữ liệu khúc định dạng

4 Dạng khúc: data

4 Độ dài dữ liệu âm thanh N Dữ liệu âm thanh

Một file RIFF (Resource Interchanged File Format- chuẩn cấu trúc file tài nguyên có thể thay đổi) được bắt đầu với một phần header và sau đó là một chuỗi liên tục các khối dữ liệu (data chunk) một file wav là một file file RIFF với một khối dữ liệu “Wave” duy nhất bao gồm 2 khối con. Khối “fmt” xác định định dạng dữ liệu và khối dữ liệu “data” xác định dữ liệu thực sự.

Hình 3.4: Cấu trúc file wave

Một file wave chuẩn bắt đầu bởi ký hiệu RIFF Header như trong bảng 3.2:

Bảng 3.2: Một dạng chuẩn của file Wave

Offset Kích cỡ Tên Mô tả

0 4 Chunk ID Chứa chuỗi “RIFF”

4 4 Chunk size

36 + SubChunk2Size, hoặc chính xác hơn là 4 + (8 + SubChunk1Size) + (8+ subchunk2Size). Đây là kích cỡ của phần lớn các khối theo số này. Đây là kích cõ của toàn bộ file trừ đi 8 byte dành cho 2 trường chưa được tính vào là Chunk ID và ChunkSize.

Offset Kích cỡ Tên Mô tả

Định dạng Wave bao gồm 2 khối con : “fmt” và “data” : Khối con “fmt” mô tả khuôn dạng dữ liệu:

12 4 Subchunk1 ID Chứa chuỗi “fmt”

16 4 Subchunk1Size 16 cho PCM. Đây là kích cỡ của phần lớn các khối con theo sau con số này

20 2 AudioFormat

PCM=1 (VD: lượng tử tuyến tính

(Linear quantization Values other than 1 indicate some form of compression)

22 2 Numchannels Mono = 1; stereo = 2… 24 2 Sample Rate 8000, 44100…

28 4 Byte Rate = Sample Rate * number channels * Bitspersample/ 8

32 2 Block Align

= NumChannels*bitspersample/8

Số lượng byte cho mỗi mẫu bao gồm tất cả số các kênh. Điều gì sẽ xảy ra nếu số này không phải là số nguyên?

34 2 BitsperSample 8 bit =8, 16 bit= 16

2 ExtraparamSize Nếu là PCM thì không tồn tại

ExtraParams Không gian dành cho các tham số mở rộng

Khối “Data” chứa kích cỡ là các byte dữ liệu và âm thanh thực thụ và các byte dữ liệu này sẽ nhóm thành các mẫu, mỗi mẫu có 1 hoặc 2 kênh:

36 4 SubChunk2ID

40 4 SubChunk2Size

Ví dụ : Đây là 72 bytes của file Wave được hiển thị dưới dạng Hex: 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 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

Và phần diễn dịch được thể hiện như trong Hình 3.5:

Hình 3.5: Phần diễn dịch

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu và ứng dụng một số thuật toán nén tiếng nói luận văn ths công nghệ thông tin 60 48 05001 (Trang 39 - 43)