Tải bản đầy đủ (.pdf) (10 trang)

Tìm Hiểu Cấu Trúc Của Một File Âm Thanh .Wav. Xây Dựng Một Chương Trình Đọc Nội Dung Một File Wav.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (557.34 KB, 10 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI</b>

<b> VIỆN SƯ PHẠM KỸ THUẬT</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>PHÂN CÔNG CÔNG VIỆC</b>

<small>dung một file âm thanh .wav.</small>

<small>- Nhập tần số lấy mẫu mới, biến đổi file wav theo tần số lấy mẫu mới</small>

<small>- Viết báo cáo</small>

<small>file âm thanh theo định dạng .wav</small>

<small>- Nhập số bit lượng tử mới, biến đổi file wav theo số bit lượng tử mới- Viết powerpoint</small>

<small>số lấy mẫu, biến đổi số bit lượng tử một file âm thanh- Tìm hiểu cấu trúc của một </small>

<small>file âm thanh theo định dạng .wav</small>

<small>- Viết báo cáo</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

1.File WAV

• WAV là viết tắt của Waveform Audio File Format, một định dạng âm thanh được phát triển bởi Microsoft và IBM. Nếu như WAM và MP3 là những đuôi file âm thanh đã trải qua quá trình nén và mất dữ liệu, thì WAM là một dạng file âm thanh gốc, khơng nén

• Định dạng tệp âm thanh dạng sóng (WAV, hoặc được cơng chúng biết đến vì hậu tố "wav") sử dụng cấu trúc định dạng tệp "RIFF" (Định dạng tệp trao đổi tài nguyên). Nó thường được sử dụng để lưu dữ liệu âm thanh gốc ở định dạng PCM, vì vậy nó thường được gọi là âm thanh khơng mất dữ liệu. Nhưng nói đúng ra, wav cũng có thể lưu trữ dữ liệu âm thanh ở các định dạng nén khác. Định dạng tệp WAVE là 1tệp con của riff dùng để lưu trữ các tệp đa phương tiện. WAVE file là tập tin chứa các dữ liệu của mẫu âm thanh được số hoá. Phương pháp mã hoá PCM sẽ lấy mẫu âm thanh với tần số khoảng 11.025 kHz cho đến 44.1 kHz. Mỗi lần lấy mẫu, số hiệu này lại được lượng tử hoá bằng 1 hay 2 byte cho mỗi mẫu âm thanh. Với mỗi mẫu âm thanh phát ra trong một phút cần phải lưu trữ it nhất 660 kB. Đó là lý do tại

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

• Cấu trúc của file thuộc lớp các file được sử dụng bởi hàm Multiemdiacủa Windows : đó là RIFF file (Resoure Interchange File Format). Một RIFF file gồm một hoặc nhiều loại Chunk và dữ liệu theo sau loại chunk đó và dữ liệu theo sau loại chunk đó. Một ứng dụng muốn đọc RIFF file có thể đi qua lần lượt từng chunk đọc dữ liệu từng chunk mà nó quan tâm và có thể bỏ qua các chunk mà nó khơng quan tâm.

2. Tìm hiểu về cấu trúc của một file âm thanh theo định dạng .wav

- Định dạng tệp wav là một tập hợp con của đặc điểm kỹ thuật RIFF của Microsoft để lưu trữ các tệp đa phương tiện.

- Tệp RIFF bắt đầu với header, theo một quy luật của khối dữ liệu- Tệp wav thường chỉ là một tệp RIFF với một đoạn “wave” duy nhất

bao gồm hai phần con - Hình ảnh minh họa :

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

- Mơ tả hình ảnh

Endian : Phương thức lưu trữ dữ liệu dạng nhị phân.

little endian : byte nhị phân cuối cùng sẽ được ghi trước big endian : ngược lại của little endian ( cơ chế thông thường )

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b> Field name : Tên của vùng dữ liệuField size : kích thước của vùng dữ liệu</b>

<b>- Bộ mô tả đoạn “RIFF” : định dạng cần quan tâm ( ở đây là wave ) </b>

yêu cầu hai khối con : “fmt” và “data”. Nó mơ tả ID, kích thước và định dạng. RIFF chunk có cấu trúc như sau:

<b>o Chunk ID: Chứa các chữ cái "RIFF" ở dạng ASCIIo Chunk Size: Đây là kích thước của tồn bộ tệp theo byteo Format: Định dạng Chứa các chữ cái "WAVE"</b>

<b>- Fmt sub chunk (mô tả định dạng của thông tin âm thanh trong phân </b>

đoạn dữ liệu con dữ liệu âm thanh) :

Cụ thể : mô tả về thông tin metadata, thông tin về âm thanh như: loại định dạng âm thanh, có bao nhiêu kênh được sử dụng, một loạt các điểm dữliệu khác.

<b>o Subchunk1ID: Chứa các chữ cái "fmt"</b>

<b>o Subchunk1Size: Đây là kích thước của phần cịn lại của </b>

Subchunk theo sau số này.

<b>o Audio Format: là lượng tử hóa tuyến tính. Các giá trị khác 1 </b>

chỉ ra một số dạng nén

<b>o Num Channels: Mono = 1, Stereo = 2, v.v.</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>o Sample Rate: 8000, 44100, v.v.</b>

<b>o ByteRate == SampleRate * NumChannels * BitsPerSample / 8o BlockAlign == NumChannels * BitsPerSample / 8</b>

<b>o BitsPerSample 8 bit = 8, 16 bit = 16, v.v.</b>

<b>- Data chunk (Vùng phụ "dữ liệu" chứa kích thước của dữ liệu và âm </b>

thanh thực tế) , cho biết kích thước của thơng tin âm thanh và dữ liệu âm thanh thô

<b>Subchunk2ID : Chứa các chữ cái "dữ liệu"</b>

<b>Subchunk2Size NumSamples * NumChannels * BitsPerSample / 8</b>

<b>3. Tìm hiểu về biến đổi tần số lấy mẫu, biến đổisố bit lượng tử của một file âm thanh</b>

<b>3.1 Biến đổi tần số lấy mẫu</b>

Thuật ngữ chúng ta thường nghe trong xử lý âm thanh là tốc độ lấy mẫu (Sampling Rate) và tần số lấy mẫu (Sampling Frequency), đều chỉ chung một thứ. Chúng thường có một số giá trị đặc trưng như

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Tốc độ lấy mẫu của âm thanh là số lượng mẫu (sample) được lấytrong mỗi giây. Chúng được đo đạc như là số mẫu trên giây hay Hertz (được viết tắt như Hz hay kHz với 1 kHz = 1000 Hz). Một mẫu âm thanh là một con số đo đạc biểu diễn cho giá trị của sóng âm thanh tại một thời điểm cụ thể. Những mẫu âm thanh này được lấy tại một thời điểm nào đó trong 1 giây. Ví dụ, nếu tốc độ lấy mẫu là 8000 Hz thì khơng có nghĩa là 8000 mẫu đã được lấy trong một giây, chúng phải được lấy cách nhau 1/8000 của một giây. Con số 1/8000 này là khoảng thời gian giữa hai lần lấy mẫu (đo bằng giây) và tốc độ lấy mẫu đơn giản là nghịch đảo của nó.

Tốc độ lấy mẫu của âm thanh tương tự với số khung hình trên giây (FPS) trong xử lý video. Một video đơn giản là chuỗi các hình ảnh nối tiếp nhau, mà thường được gọi là khung hình (frame). Chuyểncảnh nhanh tạo ra ảo giác (ít nhất là với con người) rằng đoạn video đó liên tục và không bị gián đoạn.

Mặc dù tốc độ lấy mẫu âm thanh và tốc độ khung hình video khágiống nhau. Con số tối thiểu để đảm bảo khả năng sử dụng được là khác nhau. Đối với video, con số tối thiểu là 24 khung hình trên giây để đảm bảo rằng chuyển động được mô tả chính xác. Nhỏ hơn con số

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

đó, chuyển động sẽ bị giật và con người khơng có cảm giác chuyển động đó là liên tục. Với âm thanh, con số tối thiểu để có thể nghe phátâm rõ ràng bằng tiếng Anh là 8000 Hz. Nhỏ hơn con số đó, âm thanh phát ra có thể không thể hiểu được trong một số trường hợp. Tốc độ lấy mẫu âm thanh thấp không thể phân biệt được một số âm vị. Ví dụ với 5000 Hz rất khó phân biệt được âm /s/, /sh/ và /f/ trong tiếng Anh.

Khi ta đề cập đến khung hình trong video, audio cũng có một khái niệm là audio frame, mặc dù audio frame và mẫu âm thanh cùng có đơn vị là Hz, chúng là 2 khái niệm khác nhau. Một audio frame là một tập hợp của mẫu âm thanh tại một thời điểm được lấy từ 1 hoặc nhiều kênh (channel).

<b>3.2 Biến đổi bit lượng tử</b>

<small>Bitrate là một thuật ngữ chuyên ngành trong âm thanh và ánh sáng chỉ khối lượngdữ liệu được tính chính xác là bằng đơn vị bit (và bội số của nó) được truyền trong một khoảng thời gian nhất định. Phụ thuộc vào hoàn cảnh cần sử dụng, những đơn vị dùng để đo lường bitrate thường là kbit/s (kilobit trên giây) và Mbps (megabit trên giây). Về cơ bản, con số bitrate càng cao càng tốt, đem lại chất lượng bài nhạc hoặc chất lượng video càng cao mà thôi.</small>

<small>Kbps tên gọi chung là Bit-rate, Bit-rate là số bit mà máy tính cần xử lý trong một giây, đơn cử như nhạc 128 Kbps thì u cầu máy tính phải xử lý 128000 bit/giây (vì 1 Kbps = 1000 bit/giây), tương tự với nhạc 320 Kbps thì máy tính phải xử lý ở mức độ </small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small> Bit rate sử dụng trong xử lý âm thanh thay đổi phụ thuộc vào ứng dụng. Ứng dụng yêu cầu chất lượng âm thanh cao, như nhạc thường sử dụng bit rate cao hơn sẽ cho chất lượng nhạc tốt hơn. Âm thanh truyền đi trong điện thoại, thường không cần bit rate cao. Vì vậy cuộc gọi thoại thơng thường có bit rate thấp hơn khá nhiều so với một đĩa nhạc CD. Đối với tốc độ lấy mẫu hay tốc độ bit, con số càng thấp thì âm thanhcàng kém hơn. Nhưng phụ thuộc vào mục đích sử dụng, bit rate thấp giúp cho tiết kiệm bộ nhớ vào tốc độ xử lý dữ liệu nhanh hơn.</small>

<b>4. Viết chương trình đọc nội dung một file âm thanh .wav</b>

<b><small>4.1 Thông số header: ( sử dụng google colab)</small></b>

<b><small>4.2 Nhập tần số lấy mẫu mới, biến đổi file wav theo tần số lấy mẫu mới ( Sử dụng google colab)</small></b>

<b><small>4.3 Nhập số bit lượng tử mới, biến đổi file wav theo số bit lượng tử mới( Sử dụng google colab )</small></b>

</div>

×