8/12/09

MP3 variable bit rate

Khi bạn nghe một bản nhạc cổ điển, chẳng hạn, để ý có những đoạn nghe thật hùng hồn, cả chục tiếng vĩ cầm réo rắt, thêm tiếng dương cầm đệm thánh thót, nào là tiếng Basson, Cello trầm điệu ... đó là đoạn âm thanh "rất phức tạp" dưới mắt cái máy computer.
Ngược lại có những đoạn thật là êm ả, chỉ một tiếng clarinet duy nhất lơ lửng chập chững lềnh bềnh . Đôi khi quá êm nghe muốn ngủ gục . Đấy là đoạn âm tương đối "đơn giản" vì chỉ có 1 hay ít nhạc cụ và rất ít âm thanh gióng lên trong cùng một khoảnh khắc thời gian .

Dĩ nhiên, máy PC phân tích khúc nhạc đơn giản dễ dàng và mau mắn hơn đoạn phức tạp kia .

Theo cách nén nhạc cổ điển (hiểu là lỗi thời), máy PC cứ nén nguyên bài nhạc nhạc dạng wave với một bitrate cố định, ví dụ với bitrate là 128kbps thì cứ mỗi giây có 128 kbits dữ kiện được nén lại , bất kể dù là đoạn nhạc êm ả, im re, hay ồn ào .
Dĩ nhiên bitrate càng cao thì càng nhiều chi tiết được giữ lại và càng trung thực với format wave.
Như vậy nhạc nén với 320kbps nghe "trung thực" hơn 96kbps.

Nhưng để ý là tỷ lệ nén này cố định cho suốt bản nhạc.

=============

Nếu máy PC mà thông minh hơn thì nó tính toán kỹ càng, như thế này:
Khi nhạc tới chỗ êm đềm, hay im lặng thì không có nhiều chi tiết, vậy chỉ cần dùng bitrate thấp thôi đủ rồi, cỡ 96 hay 128kbps cũng dư sức giữ lại gần như hầu hết các dữ kiện âm.
Đợi khi tới đoạn thật phức tạp, như lúc ông Beethoven xốc áo, phất mái tóc vắt ra sau, dương mười ngón tay dượt chạy trên suốt phím đàn cộng với nguyên dàn nhạc trổi dậy trầm bổng nhịp nhàng thì dùng bitrate thật cao cỡ 256 hay 320kbps để ráng gom tất cả các tín hiệu âm lại.

Nếu máy mà tính được như vậy thì bản nhạc nén dạng mp3 ấy:
1.Nghe cũng trung thực như nén cao, 256 hoặc 320kbps
2.Có size nhỏ hơn so với khi nén cố định 256/320kbps

Các ưu điểm của kiểu nén thay đổi này là do kết quả của kỹ thuật nén âm "thông minh" hơn trong cách chọn lọc dữ kiện.
Khuyết điểm duy nhất là khi xài các máy DVD/Mp3 players nên kiểm tra lại xem máy có nhận được Variable Bitrate hay không. Máy PC và các nhu liệu Mp3 players thì không có vấn đề gì cả .

=============

Trên thực tế, rất nhiều nhu liệu Mp3 nổi tiếng, lọai "sang, mắc tiền, nổi danh" như Steinberg, MusicMatch, Real JukeBox vv đánh giá thấp khả năng phân biệt dữ kiện âm của lỗ tai người sử dụng thông thường nên họ dùng một loại Encoder riêng biệt (proprietary) nén cố định, thường là 128kbps cho xong chuyện.
Nhiều trang quảng cáo rêu rao "128kbps là chất lượng CD".

Nhưng càng ngày họ càng thay đổi, bổ sung thêm nhu liệu cho người ta có nhiều lựa chọn hơn, bitrate đủ loại, cố định cũng như thay đổi, tuy Default vẫn là 128bps cố định.

=============

Michael Chang là một trong những developer đầu tiên đã "hack" cái Frauhhofer Encoder của Steinberg, phát triển ra cái Mp3 Encoder gọi là LAME, được những người sành về nhạc và nhiều hiều biết đánh giá là cái Encoder giúp nén nhạc Mp3 với phẩm chất cao nhất.

Mặc dù ở bitrate 128 LAME không hơn được Fraunhofer, nhưng với bitrate cao hơn, cỡ 192 trở lên, LAME bắt đầu "làm việc tốt", và đặc điểm độc đáo nhất là LAME dùng kỹ thuật Variable Bitrate + Joint Stereo (thay vì Stereo thường), giúp người sử dụng có thể "tweak" các parameter để rút tỉa tối đa tất cả các tín hiệu âm cần phải nén.

Chính Steinberg cũng thấp thỏm chế biến cho cái Fraunhofer Encoder có thể dùng được Variable bitrate, lúc đầu họ thất bại ê chề, nhưng sau nhiều năm, cũng dần dà nắm được kỹ thuật này, mặc dầu LAME vẫn còn được xem là Encoder hàng đầu của Mp3.

========

LAME hay gặp nhất trong các:
- Nhu liệu "cheap", miễn phí (một phần vì các developer không có tiền trả cho Steinberg)
- Ta có thể tải LAME miễn phí xuống rồi tự mình nén lấy nhạc. Kết quả có thể tốt hơn là khi xài các nhu liệu Mp3 khác.

==========

Dùng Kazaa mà lấy nhạc xuống, có thể nói tới hơn 85% nhạc là loại 128kbps cố định.
95% những gười nghe nhạc Mp3 chưa bao giờ nghe nói đến LAME, không phân biệt được (và cũng không "care") là 256 nghe hay hơn 128kbps (After all, Steinberg was right about this!)

================

Nếu nghe "nhạc" rap hay Eminem, hay nhạc Việt "New Wave" thì xài 128kbps cố định là quá đủ rồi

=======================

Trên đây Thanh chỉ mới cắt nghĩa VBR là cái gì và kết luận nó là kiểu nén Mp3 hữu hiệu hơn loại nén cố định CBR, và thông thường VBR tốt hơn CBR 128kbps, 160kbps. Thế nhưng nếu mình xài CBR 256 hay 320kbps (tối đa), thì quality có bằng VBR hay không?
Vấn đề này hơi phức tạp 1 chút, để hantu "digest" xong cái vụ VBR đã rồi Thanh sẽ viết tiếp.


Tóm tắt phần trước,
LAME là một công cụ mã hóa (Encoder) giúp ta nén nhạc Wave lại thành mp3, với 2 đặc điểm:
- Dùng VBR với chất lượng cao
- Dùng Kỹ thuật Joint Stereo*.

Do Michael Cheng đầu tiên phát triển ra và được duy trì cho đến hôm nay bởi: Mark Taylor, Robert Hegemann và Naoki Shibata


(*Stereo thông thường (Normal Stereo) sử dụng 2 channels trọn vẹn để xử lý âm thanh nổi, phương pháp này đòi hỏi Bandwidth phải lớn, chứ nếu nén nhạc thấp cỡ 128kbps thì việc thiếu hụt Bandwidth có thể tạo ra nhiều Artefact (unwanted noise). Nếu dùng Stereo thì nên sử dụng Bitrate cao hơn, ít nhất là 192.

Còn Joint Stereo thì chỉ dùng một Channel chính và một Channel phụ. Khi âm thanh bên Trái và bên Phải giống hệt nhau, LAME nén tín hiệu vào chung Channel chính, chỉ khi nào có sự phân tách hay khác biệt Trái-Phải LAME mới dùng Channel phụ để đánh dấu sự phân tách.
Khi nhạc được giải mã (Decoded, tức là Playback), âm thanh nghe vẫn giống y hệt Stereo, nhờ có đầy đủ các thông tin trong Channel Chính-Phụ.
Việc này tương tự như cách thức WinRAR nén dữ kiện, lọai bỏ các chuỗi thông tin giống nhau, để thu nhỏ file size lại một cách đáng kể.

Vì Joint Stereo tiết kiệm được nhiều bits nên việc thiếu hụt Bandwidth khi nén nhạc ít xảy ra hơn so với Normal Stereo, và nhờ vậy mà Joint Stereo ít tạo Artefact hơn.)

Chúng ta đã gặp "artefact" khá thường trong lãnh vực Graphics: các file ảnh dạng jpeg nén quá mức (nén càng nhiều tức là dùng càng ít bitrate) làm tấm hình trông lu mờ, thấy các "ô vuông, hay hình bậc thang" xuất hiện.
Vì thiếu Bandwidth, nhu liệu nén hình phải "suy diễn" (Interpolate) và "chế" ra thêm thông tin đặng bù đắp vào các chỗ khiếm khuyết, gọi là Artefact.

============

Nhạc 128kbps nếu nghe với loa trung bình hay tầm thường thì cũng chấp nhận được, chẳng thấy khác biệt gì nhiều với mp3 có Bitrate cao hơn.
Nhưng khi Thanh xài đến bộ loa Monsoon Promedia 14 thì "bộ mặt thật" của 128 kbps bắt đầu xuất hiện! Âm thanh phát ra từ PM 14 rõ và trong như pha lê, nên bao nhiêu khuyết điểm trong nhạc nén đều ló ra hết.
Vì vậy mà Thanh quyết định "làm lại từ đầu".


Trước tiên, Thanh lấy cái LAME Encoder xuống từ nơi đây:
hxxp://www.hydrogenaudio.org/index.php?showtopic=203&st=0&

Sau đó, vì LAME không có giao diện (chỉ là cái Encoder), nên lấy cái RazorLAME xuống để điều khiển nó, tại đây:
hxxp://free-zg.hinet.hr/meltdown/download_files/razorlame115.zip

Tất cả các nhu liệu mã hóa mp3 đều tương tự như vậy, căn bản gồm có một cái Encoder, cái giao diện, và các chức năng phụ.
Nhưng sở dĩ Thanh chọn RazorLAME vì 2 điều này:

1.Chỉ muốn nhấn một hai nút, thật đơn giản, để LAME làm ra mp3, và chỉ như vậy thôi, không muốn thêm chức năng phụ trội nào khác (như đốt ra CD, liệt kê bài hát vào Catalog vv).

2.Trong khi các nhu liệu khác thường hạn chế việc chọn lựa Options của mình (từ 32kbps lên đến 320, CBR hay VBR), với RazorLAME thì bất kể cái gì mà LAME làm được là mình có thể chọn trong Option, vì chẳng qua nó chỉ là cái giao diện mà thôi, không áp đặt hay gợi ý bất cứ điều gì cho mình cả.
Do đó, mình có thể chọn ngay cả 8kbps +mono nữa!
Và quan trọng nhất là mình có thể dùng rất nhiều Settings đặc biệt (xem ở dưới) đã được công nhận như là "Best Presets" để sử dụng LAME.

Thanh có kèm cái Attachment ở dưới về cách "sử dụng RazorLAME".
Cả hai, LAME và RazorLAME không cần phải cài gắn vào Windows, cứ mở ra mà xài nên đỡ lo vụ không biết làm hại máy.


================

Câu hỏi quan trọng nhất, sau đó, có lẽ là:
"Nên sử dụng Setting nào của LAME để tạo ra mp3?"

Nói cách khác, Settings nào tạo phẩm chất mp3 cao nhất? Tại sao không dùng CBR 320kbps luôn cho tiện, việc gì phải cần đến LAME làm chi cho rắc rối?

Muốn có câu trả lời chính xác nhất, cách tốt nhất là mình đi hỏi người nào rất rành về mp3 và cách nén mp3. Và, có lẽ trên Internet không có chỗ nào tụ tập nhiều "cao thủ" về nhạc như ở đây (link lấy lại từ ở trên):
hxxp://www.hydrogenaudio.org/index.php?showtopic=203&st=0&


Thanh còn nhớ, có vào một cái forum warez nọ lọai lớn, nơi người ta đăng link lấy trộm rất nhiều nhu liệu, mình chỉ nhìn vào số lần đọc cái thread (viewings) là biết topic ấy thuộc lọai sôi nổi hay không.
Thí dụ ngày hôm ấy "UltraEdit v1.21" có 120 lần đọc, và "Photoshop CS" có 2,241 Viewings là mình biết Photoshop phổ biến hơn cái nhu liệu kia biết bao nhiêu lần rồi.

Cái thread về LAME Settings ấy có 113,000 Views.
Chú ý là "lame.exe" ở đấy là v3.90.3 (không phải là bản mới nhất), vì nhưng trang ấy liệt kê các Settings của v3.90.3 (Do Dibrom là người đã compile ra) và cho đến nay chưa có cao thủ nào tìm ra được cái gì hay hơn, hay cải thiện thêm được gì cả. Các bản mới hơn như 4.0 hay hơn còn đang bị "mổ xẻ", tranh cãi rất nhiều, chỉ được xem như là còn trong vòng thí nghiệm mà thôi.


Đa số đều công nhận:
--alt-preset insane
--alt-preset extreme
--alt-preset standard

là 3 Setting cao cấp nhất của LAME theo thứ tự từ trên xuống dưới, và cái phổ biến nhất là--alt-preset standard.
Rất, rất ít người phân biệt nổi 3 cái này, do đó --alt-preset standard, vì tiết kiệm được MB nhiều nhất, trở thành thông dụng nhất.


--alt-preset standard có bitrate trung bình là 190kbps và xài 320 khi cần, do đó nó tạo phẩm chất cao hơn cả CBR 256kbps, vì cái này cố định, không bao giờ vượt lên đến 320kbps cả.


Vì CBR 320 kbps dùng cách nén thấp nhất, để lấy tối đa các tín hiệu, nên khó thể nói VBR tạp phẩm chất cao hơn, tuy nhiên, trên thực tế có bao nhiêu người phân biệt nổi CBR 320 kbps với --alt-preset standard hay --alt-preset extreme?
Trong khi mp3 làm với CBR 320 lại có size rất lớn.

Ngòai ra, nếu ta muốn xài CBR 320 thì tốt nhất là nên dùng --alt-preset insane, cũng dựa trên CBR 320 cộng thêm với một số "tweaking" quan trọng như hi/low pass filter,Psycho Acoustice model, Noise Reduction modes.
Trên lý thuyết, --alt-preset insane phải tạo phẩm chất cao hơn CBR 320kbps.

Nói tóm lại, khi dùng bitrate cao, không có nhu liệu làm mp3 nào có thể qua mặt được LAME, đặc biệt là v3.90.3

===================

Vài trang Web liên hệ đến Mp3 và LAME:

Rationale for LAME development
http://lame.sourceforge.net/rationale.html
(Hay là bản "tuyên ngôn ra mắt chào đời của LAME")


Really Rare Wares
http://www.rjamorim.com/rrw/lame.html
(Ai là các "tổ sư" sáng lập ra và duy trì LAME?)


RazorLAME Configuration
http://www.dors.de/razorlame/screenshots.php


ABX Testing
http://www.pcabx.com/training/getting_started.htm

Đây là phương pháp thử nghiệm "mù" (Double Blind Test) qua đó người ta đã chức minh được --alt-preset extreme, và, ngay cả --alt-preset standard, "tốt" hơn CBR 256kbps.

Không có ABX Test thì LAME có lẽ đã được xem như chỉ là một ý nghĩ viễn vong của những người giàu trí tưởng tượng.

(Sưu tầm http://www.vietcyber.com/forums/showthread.php?t=69387) Tác giả: Thanh

Không có nhận xét nào:

Đăng nhận xét