View Single Post
  #1  
Old 14-08-2012, 14:03
Saopekolak's Avatar
Saopekolak Saopekolak is offline
Senior Member
 
Join Date: 04-2012
Location: [☊] Bản Khoang - Sapa ☀ ☁ ☁ ☁ 15℃
Posts: 724
Lossless - Lossy: Định dạng nào tốt nhất (Bài viết dành cho giới Audiophile)

Đôi điều muốn nói:
Thực ra, vấn đề này dân voz đã nói khá nhiều, và nó nằm rải rác, tản mác ở các topic. Hôm nay Mr.Lak sẽ tổng hợp lại trong topic này.
Về phần mềm dùng để phân tích: Mình sẽ phân tích dựa trên phân tích phổ của các bài nhạc (spectrum analyzer) dùng phần mềm spek.
Phần mềm này các bợn có thể download tại http://spek-project.org/ (Dành cho cả Macos, winos, linuxos)

Cảm hứng viết bài này tình cờ đến từ một sự ngây ngô mà Mr.Lak bắt gặp trên Youtube: Có 1 ông vớ đâu được bộ phim Thích Tiểu Long, định dạng thì ... mờ tịt. Và anh ta có 1 quyết định siêu phàm là ...convert ngược từ (chắc là .flv) sang định dạng HD
Topic này có ý nghĩa gì?
  • Dành cho newbie biết được thế nào là lossless - lossy
  • Dành cho các bạn tự tìm cho mình định dạng lưu trữ hợp lý nhất (phù hợp với thiết bị + dung lượng mà bạn đang có)
  • Nếu Amateur đọc được sẽ tránh được tình trạng convert ngược (kể cả Audio lẫn video) từ định dạng kém hơn sang định dạng "tốt hơn", xong rồi tung lên mạng làm anh em download nhầm, vừa tốn băng thông vừa bị chửi.
  • Dành cho các bác Audiophile thảo luận thêm. Thảo luận có giá trị lập tức update lên post#1.
Và để tránh lan man, chủ đề này chỉ nói về Âm nhạc - Âm thanh số.
Nào, bắt đầu:

1. Lossless - Lossy: 2 em là ai?
Lossless và Lossy ngày nay đã trở thành 2 thuật ngữ phổ biến, dùng trong lưu trữ hình ảnh, âm nhạc... tức multimedia nói chung. Về âm nhạc mà nói, thì:

Lossless: Là các định dạng nhạc số chất lượng siêu cao: Với lưu trữ lossless mà nói, thì đây là cách lưu trữ lại gần như tất cả những âm thanh mà chúng ta cần nghe. Đây là định dạng hoàn hảo nhất trong thế giới số mà chúng ta biết đến.
! Tại sao lại là "gần như tất cả" mà không phải là "tất cả"? Xin xem thêm bài Analog và Digital bên HDVietnam.com, hoặc những ai đã từng học qua "Xử lý số tín hiệu" đều biết.
==> Những định dạng nhạc được coi là "lossless - Không mất thông tin" phải có tần số lấy mẫu gấp đôi ngưỡng nghe của người: >= 20kHz x 2 = 40kHz.
Vậy nên tần số lấy mẫu ở các file lossless thường gặp là 44100Hz, 48kHz, 96kHz, 192kHz, 384kHz.
Những định dạng nhạc lossless phổ biến: WAV (Windows Wave, audio file format for IBM-compatible personal computers), AIFF, FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless Audio Codec).

Lossy: Là các định dạng nhạc số chất lượng từ thấp đến cao. Loại lưu trữ này có đánh mất thông tin trong quá trình lưu trữ: Nếu nhạc chất lượng càng thấp, thì lượng thông tin bị đánh mất càng nhiều; tai thường cũng nhận ra. Nếu nhạc chất lượng càng cao thì lượng thông tin bị đánh mất càng ít, loại này tai dơi và thiết bị xịn mới phân biệt được. Tất nhiên loại này có tần số lấy mẫu nhìn chung là thấp hơn so với ngưỡng nghe của người.
Những định dạng nhạc lossy phổ biến (ở Việt Nam): mp3 ( MPEG-1 Audio Layer 3), m4a (advance Audio Coding), wma.

2. Kỹ thuật phân tích phổ - Spectrum Analyzer:
Ngày nay, éo hiểu vì sao lại có một số người cố công nghĩ cách convert qua lại 1 file nhạc, đánh lừa các phần mềm kiểm tra siêu hạng cỡ Audio Checker để tung lên mạng, lừa luôn cả anh em. Loại này rất tai hại và vô học: Làm tốn băng thông download về, làm tốn dung lượng lưu trữ của anh em và khi bị phát hiện còn bị ăn chửi. Thật éo hiểu vì sao? Thiên hạ thật lắm kiểu người
Vậy nên chỉ còn chủ yếu 2 cách sau để phân biệt:
  1. Dựa vào tai của các bạn và thiết bị đầu cuối hi-end để kiểm tra.
  2. Dựa vào việc phân tích phổ.
Cách 1 dành cho các bác có thời gian nghe đi nghe lại bài nhạc, có thiết bị xịn và đã nghe được bản gốc. Có như vậy mới phán được. Cách này hơi khó, tốn thời gian và (tất nhiên) tốn rất nhiều tiền nên anh em chủ yếu dùng cách 2.

Để dùng phân tích phổ, có rất nhiều phần mềm chuyên nghiệp, ví dụ: Adobe Audition. Tuy nhiên dùng một phần mềm thu âm chuyên nghiệp chỉ để phân tích phổ các file nhạc thì khác gì giết gà dùng dao mổ trâu? Vậy nên mình chọn Spek. Phần mềm này nhẹ nhàng, chỉ có đúng 1 công dụng duy nhất là phân tích phổ mà thôi.

3. So sánh phổ của các định dạng - Tại sao lại không nên convert ngược?

Trước khi so sánh, chúng ta cần nói qua 3 thông số cơ bản cấu thành nên đặc điểm của một file nhạc:

- Sample rate: Tần số lấy mẫu. Khái niệm này dùng để chỉ số lần lấy mẫu trong một giây. Số lần lấy mẫu càng cao, thì tín hiệu số càng gần với đường cong âm thanh của Analog. Phần này xin xem thêm tại link ở HDVietnam đã dẫn ở đầu bài.
===>
Chất lượng của các đĩa CD đạt đến 44100 số lần lấy mẫu như trên trong 1 giây. Như vậy chúng ta gọi là 44100Hz.
Và như phân tích ở trên phần 1, ta có 44.1kHz/2 = 22.05kHz, vượt qua ngưỡng nghe của người là 20kHz ==> Chất lượng nghe đạt như Analog
(Phần này cũng giống như ảnh liên tục: Nếu đạt >=24 khung hình trên giây thì mắt người sẽ cảm thấy là liên tục. Nếu ít hơn, ta bắt đầu thấy hình ảnh giật giật Đọc đến đây mới biết khả năng nghe "siêu phàm" hơn khả năng nhìn rất nhiều, ít ra là về độ nhạy bén )

- Bit rate (Liên quan đến bit depth): Tạm thời khó dịch ra tiếng việt. Đọc xong phần này chúng ta sẽ hiểu luôn bitrate là gì mà không cần phải dịch nữa (chả lẽ lại dịch là tốc độ bit? Nghe không liên quan)

Quote:
Originally Posted by spirit_coder View Post
Bitrate nếu các loại CBR thì tính được đấy, ví dụ như CD: 44.1kHz, 16-bit, 2 channel thì bitrate là 44100 * 16 * 2 = 1411200 bps ~ 1.35Mbps.
==> với chuẩn đĩa CD sample rate = 44.1kHz, bit depth = 16bit thì bit rate = 1411kbps như thím spirit_coder đã tính ở trên. thank you

Bit rate = bit per second: Lúc lấy mẫu ở phần sample rate, thì lấy cái đó để đo cái gì? Thể hiện cho cái gì? "Chiều cao" của cột lấy mẫu đó thể hiện cho cái gì đây?
Cho độ chi tiết của âm thanh (cao thấp, trầm bổng) chứ còn gì nữa Vậy thì "chiều cao" khi số hóa nên là bao nhiêu? Chúng ta nên chọn khoảng từ 0-1? Hay 0-100? 0-256? hay 0-2000?...
  • Nếu chúng ta chọn cách thể hiện chỉ là 0-1. Vậy là khi 0: Không có âm thanh, và 1: Có âm thanh. Hết. Quá cùi bắp, cách này bỏ
  • 128kbps: Lúc này trong khoảng từ 0-128kbps này, chúng ta phải mã hóa hết được những gì mà chúng ta thu vào: Tiếng trống, guitar, tiếng vocal... và bởi vì khá chật hẹp nên chúng ta không thể mã hóa hết được. Các bản thu 128kbps do vậy không đạt được độ chi tiết cần thiết.
  • Nếu chúng ta chọn càng cao (tất nhiên càng tốn dung lượng), ví dụ: 1411kbps (1000 kilobit trên 1 giây) thì càng có nhiều thông tin được mã hóa hơn. Và do vậy bản thu chi tiết hơn, trung thực hơn.
Bitrate có thể nói lên được rằng âm thanh được mô tả trung thực đến đâu. (Càng cao càng trung thực. Với một bản nhạc cố định thì bit rate càng cao bao nhiêu thì âm thanh càng gần với thực tế phòng thu bấy nhiêu).

ps: Thực ra đoạn này dịch sang tiếng Việt thì khó có độ chính xác: Bit rate càng cao thì (không phải là âm lượng càng cao đâu - hoàn toàn sai lầm) càng có nhiều thông tin được lưu trữ hơn, và do đó âm thanh có độ trung thực hơn: Ví dụ, tiếng đàn guitar ấm hơn, tiếng violin trong trẻo hơn, tiếng ca sỹ gần với việc hát tự nhiên như ở live-show hơn - nếu âm thanh thu nguyên gốc không xử lý. Vấn đề này mời các bạn đọc post #20 của thím tranhieuamg:
Quote:
Originally Posted by tranhieuamg View Post
đọc sơ qua post 1 thì thấy cái đoạn trên cần xem lại

bit rate chính xác là lưu lượng bit được truyền tải/xử lí trong 1 đơn vị thời gian (wiki/google), mà ở đây thường sử dụng giây (bps = bit per second).

vậy nên bit rate khác với sampling rate. sau quá trình lấy mẫu các giá trị số nguyên sẽ được chuyển về hệ nhị phân dưới các bit (0 hoặc 1). bit rate càng cao tức là càng nhiều bit thông tin được xử lí, chứ ko phải càng cao thì càng to, trong quá trình lấy mẫu không nhất thiết cứ phải cố định ở 0 là không có âm thanh.

bit depth ko hẳn là để mô tả độ trung thực của âm thanh, mà là số lượng các giá trị có thể lưu trữ dưới dạng nhị phân. 1 bit = 0 hoặc 1, tức là 2 giá trị. 2 bit = 01, 10, 00, 11, tức là 4 trường hợp/ giá trị. vì yêu cầu tối thiểu sampling rate = 44.1khz, tức là 1 giây phải có 44100 giá trị nhị phân được xử lí, 16 bit là tối thiểu vì 2^15 = 32768 < 44100, không đủ.

Nyquist ngày xưa làm việc cho graham bell lab trong quá trình chế tạo điện thoại nên phải nghiên cứu về truyền dẫn thông tin, sau này shannon dựa trên đấy mở rộng ra nên còn được gọi là nyquist-shannon. cái theorem đó chỉ đơn giản để tái tạo hoàn thiện 1 tín hiệu analogue thì sampling rate phải = ít nhất 2x frequency của tín hiệu đó. tai người nghe dc tối đa 20khz, tức là 20k lần rung giao động của không khí trong 1 giây, mà sau đó được biểu diễn dưới đồ thị sine với biên độ = voltage thì số lần lấy mẫu của cái đồ thị đó phải ít nhất 2 lần mới có thể tái tạo hoàn hảo lại cái sóng sine đó i.e. min 40khz.

còn lí do tại sao nó lại là 44.1khz thay vì chính xác 40khz vì trước khi dc lấy mẫu tín hiệu phải bị cắt đi đoạn <20hz và >20khz = phân tần (filter/crossover). ai có build crossover thì biết với 1st order roll off chỉ là 6db/octave. nói nôm na là khi bị cắt tín hiệu sẽ nhỏ dần chứ ko phải là cụt ngay ở cut off frequency (20hz và 20khz). muốn tăng độ roll off thì cái filter phải phức tạp -> tăng chi phí sản xuất

tuy nhiên điều bắt buộc là từ 20hz-20khz sau khi qua phải được bảo toàn y chang như tín hiệu gốc, mà để giám giá thành filter thường dc làm đơn giản nhất có thể => sampling rate phải tăng lên thành 44.1khz chứ ko còn là 40khz nữa. cái này cũng na ná như tại sao frequency response của mấy con headphones mid-hi end có thể chạy đến 50khz hoặc hơn.


Sự liên quan giữa samplerate và bitrate:
Phần này dựa trên lý thuyết khó hiểu của 2 ông Nyquist–Shannon. Nhưng đại khái mình diễn giải một cách dễ hiểu thế này:
Bạn thu lại tiếng nói của một ai đó nói đoạn chẳng hạn: "Everybody put your hands up!!" và lưu lại:
Bạn quyết định lưu nó lại với sample rate thấp nhưng bit rate cao: Một vài từ sẽ bị mất đi, nhưng từ nào thu lại được sẽ được phát ra chính xác, thậm chí cả phần ngữ điệu lên giọng xuống giọng của ông ta. Ví dụ: "Ever ... ut... ands.. !!"
Bạn quyết định lưu nó lại với sample rate cực cao, nhưng bit rate thấp: Giả dụ như bit rate chỉ có 0 và 1, thì những đoạn ông ta nói sẽ được phát lên thành tiếng, những đoạn không nói sẽ không có âm thanh và âm thanh đơn giản chỉ là lúc có lúc không, giống như tiếng còi xe đơn âm lúc kêu lúc tắt vậy: "----__--"
Bởi vậy nên sample rate và bit rate như là 1 cặp bài trùng đi liền với nhau vậy, người ta phải cân đối giữa 2 yếu tố này.
Ta đã biết là âm thanh 8bit thì nghe như đấm vào tai. Âm thanh 16bit bắt đầu nghe tự nhiên hơn nhiều. Theo quy ước của chuẩn thu âm Quốc tế thì sample rate /bit rate cân đối phải là 44100Hz/24bit.
Đĩa CD vẫn chung thủy với 44100Hz/16bit và đây là lý do mà càng ngày càng có nhiều đĩa than (Vinyl, hay LP - long play) ra đời.

Để có một hình dung trực quan hơn, chúng ta hãy nhìn vào bảng so sánh sau:




Nhìn xong rồi, thím nào muốn lưu lossless chất lượng cực đỉnh thì hãy mau mau dọn dẹp ổ cứng đi nhé

Last edited by Saopekolak; 15-08-2012 at 16:53.
Reply With Quote