Thứ Năm, 24/03/2016 | 19:59

Hiện nay, đang có một xu hướng mới với những chip audio “chất lượng phòng thu” bên trong những smartphone flagship. Một DAC 32 bit hỗ trợ âm thanh 192kHz trên thông số nhìn có vẻ rất tuyệt, nhưng việc tăng dung lượng của bộ sưu tập nhạc của bạn lên thực sự chẳng đem lại mấy ích lợi.

Bài viết này sẽ giải thích vì sao quảng cáo về bit depth và sample rate chỉ là một ví dụ về cách mà ngành công nghệ âm thanh đã đánh vào sự thiếu hiểu biết của người tiêu dùng hay cả những audiophile như thế nào. Hãy chuẩn bị tinh thần, chúng ta sẽ đi sâu vào kỹ thuật để lý giải đặc thù của âm thanh chuyên nghiệp. Và hy vọng bạn đọc có thể hiểu được vì sao ta nên phớt lờ phần lớn những chiêu trò marketing.

Liệu bạn có nghe thấy?

Trước khi đi sâu vào chi tiết, mục đầu tiên này sẽ đưa ra những thông tin cơ bản về hai khái niệm chính của âm thanh số, bit-depth và sample rate.

Sample rate là số lần lấy mẫu hay tái tạo thông tin biên độ của một tín hiệu. Về cơ bản, ta chia một dạng sóng thành rất nhiều phần nhỏ để hiểu rõ hơn về nó tại một thời điểm nhất định. Định lý Nyquist chỉ ra rằng tần số cao nhất có thể để lấy mẫu hay tái tạo bằng chính một nửa sample rate. Rất dễ hiểu, khi ta cần biên độ cho đỉnh và đáy của dạng sóng (vốn sẽ cần tới hai mẫu) để có thể biết chính xác tần số của nó.

Tăng sample rate (trên) sẽ cho nhiều hơn số mẫu mỗi giây, trong khi bit-depth lớn hơn (dưới) sẽ đem tới nhiều giá trị có thể hơn để lấy mẫu.

Với âm thanh, ta chỉ cần quan tâm tới những gì mình có thể nghe được và hầu hết ai cũng có ngưỡng nghe ngay dưới 20kHz. Với định lý Nyquist, ta đã có thể hiểu vì sao 44,1kHz và 48kHz là hai tần số lấy mẫu phổ biến, bởi chúng lớn hơn gấp đôi so với tần số tối đa mà ta có thể nghe được. Việc áp dụng chuẩn phòng thu 96kHz và 192kHz chẳng có ích gì với việc lấy mẫu ở tần số cao hơn, bởi nó hoàn toàn vô nghĩa. Nhưng ta sẽ đi vào vấn đề này sau.

Khi ta nhìn vào biên độ qua thời gian, bit-depth đơn giản là độ phân giải hay số điểm có sẵn để có thể chứa dữ liệu biên độ. Lấy ví dụ, dữ liệu 8 bit sẽ cung cấp 256 điểm khác nhau, 16 bit sẽ là 65.534 điểm, và 32-bit sẽ cho ta 4.294.967.294 điểm dữ liệu. Rõ ràng là dung lượng file sẽ tăng lên rất nhiều.

Dung lượng file PCM Stereo mỗi phút 48kHz 96kHz 192kHz
16 bit 11.5MB 23.0MB 46.0MB
24 bit 17.3MB 34.6MB 69.1MB
32 bit 23.0MB 46MB 92.2MB

Có lẽ ta sẽ ngay lập tức nghĩ bit-depth như là độ chính xác trong biên độ, nhưng khái niệm quan trọng hơn cần hiểu ở đây là nhiễu và độ méo. Với độ phân giải rất thấp, ta có thể sẽ bỏ qua phần thông tin biên độ thấp hay cắt hẳn phần đỉnh của dạng sóng, sẽ gây ra sự thiếu chính xác và méo (lỗi lượng tử). Thú vị là, phần đó thường nghe giống như nhiễu nếu như bạn bật một file độ phân giải thấp, bởi ta đã tăng cường dung lượng của tín hiệu nhỏ nhất có thể đã được lấy mẫu hay tái tạo. Điều này cũng giống như việc thêm nguồn nhiễu vào dạng sóng. Nói cách khác, giảm bit-depth cũng sẽ giảm sàn nhiễu (mức độ nhiễu chung của thiết bị). Cũng giống như mẫu nhị phân, khi mà bit có trọng số thấp nhất sẽ đại diện cho sàn nhiễu.

Vì thế, bit-depth cao hơn sẽ cho ta sàn nhiễu lớn hơn, nhưng vẫn có một giới hạn nhất định. Không may thay, nhiễu nền có ở mọi nơi, từ cáp tai nghe, transistor trong âm ly, và thậm chí cả trong đầu chúng ta. Tỉ lệ tín hiệu và nhiễu lớn nhất ngoài đời thực là khoảng 124dB, gần như tương tự với dữ liệu 21 bit.

Thử so sánh, mẫu 16 bit sẽ có signal to noise ratio (sự khác biệt giữa tín hiệu và nhiễu nền) 96,33dB, trong khi 24 bit là 144,49dB, vượt qua giới hạn của lấy mẫu phần cứng và nhận thức của con người. Nên DAC 32 bit của bạn thực sự sẽ chỉ có thể cho ra nhiều nhất lượng dữ liệu hữu dụng như 21 bit và những bit khác sẽ bị che đi bởi nhiễu mạch. Trong thực tế, linh kiện với giá thành trung bình sẽ có SNR khoảng 100 tới 110dB, khi mà hầu hết những thành phần của mạch sẽ sinh ra nhiễu bởi chính chúng. Rõ ràng, file 32 bit có vẻ khá dư thừa.

Giờ ta đã có những hiểu biết cơ bản về âm thanh số, hãy đi vào một số điều mang tính kỹ thuật hơn.

Nấc thang lên Thiên đường

Hầu hết những vấn đề xung quanh hiểu biết và ngộ nhận về âm thanh sẽ liên quan tới cách mà những nguồn kiến thức và những công ty cố gắng để giải thích qua những chú thích bằng hình ảnh. Có lẽ bạn đều đã thấy âm thanh được biểu diễn dưới dạng những bậc thang cho bit-depth và những đường giống hình chữ nhật cho tần số lấy mẫu. Rõ ràng nếu so sánh với những sóng analog mượt mà thì chúng nhìn chẳng ổn chút nào, nên ta sẽ dễ ngộ nhận rằng những bậc thang “mượt” hơn sẽ biểu diễn cho một dạng sóng chính xác hơn.

Tuy rằng nó rất dễ tiếp cận với đại chúng, những bậc thang này lại là một ngộ nhận rất lớn và sai hoàn toàn so với cách mà âm thanh số hoạt động.

Tuy nhiên, những hình ảnh này đã trình bày sai cách mà âm thanh hoạt động. Tuy nhìn chúng có vẻ lộn xộn, nhưng những dữ liệu thấp hơn tần số Nyquist, chính là một nửa của tần số lấy mẫu, sẽ được lấy mẫu chính xác và có thể được tái tạo một cách hoàn hảo. Tưởng tượng điều này, ngay cả tần số Nyquist, cũng thường được biểu diễn dưới dạng một sóng vuông vức chứ không phải một sóng hình sin, ta có được dữ liệu chính xác của biên độ tại một thời điểm nhất định, chính là tất cả những gì ta cần. Con người thường sai lầm mà nhìn vào khoảng trống giữa những điểm mẫu, nhưng một hệ thống kỹ thuật số thì không vận hành theo cách đó.

“Bit-depth thường được liên hệ với độ chính xác, nhưng thực sự thì nó mô tả hiệu suất nhiễu của hệ thống. Nói cách khác, tín hiệu nhỏ nhất có thể nhận biết hay tái tạo.”

Khi playback, nó sẽ phức tạp hơn chút, bởi với những DAC ““zero-order hold”, đơn giản sẽ chuyển đổi giữa những giá trị tại một sample rate chỉ định, tạo ra kết quả là những bậc thang. Tuy đây không phải là một đại diện rõ nhất cho cách mà DAC hoạt động, nhưng ta sẽ dùng ví dụ này để chứng minh rằng bạn chẳng cần phải quan tâm nhiều tới những bậc thang đó.

Một điều quan trọng cần nói tới là mọi dạng sóng đều có thể được thể hiện bằng tổng hợp của nhiều sóng hình sin, một tần số cơ bản và những thành phần bổ sung tại bội số điều hòa. Một sóng hình tam giác (hay một bậc thang) sẽ bao gồm các họa âm lẻ tại biên độ giảm dần. Bởi vậy, nếu ta có rất nhiều bậc thang nhỏ ở tần số lấy mẫu, ta có thể cho rằng có một vài họa âm được thêm vào, nhưng nếu nó xảy ra ở tần số gấp đôi tần số nghe được (Nyquist) của chúng ta, thì ta sẽ chẳng thể nghe thấy chúng. Hơn nữa, điều này có thể được lọc đầu ra một cách đơn giản.

Nếu ta tách biệt những mẫu dữ liệu của DAC, ta có thể dễ dàng nhận ra tin hiệu mong muốn sẽ được tái hiện chính xác cùng với một dạng sáng tại sample rate của DAC.

Nếu nó đúng, ta sẽ quan sát được điều này với một thí nghiệm sau. Thử lấy output thẳng từ một DAC zero-order hold cơ bản và đưa tín hiệu qua một bộ lọc tần số thấp cấp 2 đặt tại một nửa sample rate. Ta sẽ sử dụng tín hiệu 6 bit để có thể quan sát output trên oscilloscope. Một file âm thanh 16 bit hay 24 bit sẽ có ít nhiễu hơn ở cả tín hiệu trước và sau lọc.

Một ví dụ khá thô sơ, những nó cho thấy được dữ liệu âm thanh sẽ được tái tạo hoàn hảo từ những bậc thang này.

Và liệu có phải phép thuật, những bậc thang gần như biến mất và output đã được “làm mượt”, chỉ với một bộ lọc low-pass không hề can thiệp tới sóng đầu ra hình sin của chúng ta. Trong thực tế, mọi việc ta làm đều là lọc đi những phần tín hiệu mà ta chẳng thể nghe thấy. Rõ ràng đây không phải là một kết quả tệ với bốn bộ phận thêm vào gần như là miễn phí (hai tụ điện và hai điện trở giá chưa tới 5 pence), nhưng có những kỹ thuật phức tạp hơn nhiều mà ta có thể dùng để giảm nhiễu tốt hơn nữa. Và thực sự thì những thứ này đều có ở trong mọi DAC chất lượng tốt.

Với một ví dụ thực tế hơn, mọi DAC âm thanh đều có một bộ lọc nội suy, hay còn gọi là up-sampling. Nội suy đơn giản là cách tính toán điểm trung gian giữa hai mẫu, nên DAC của bạn vốn tự thực hiện rất nhiều công việc “làm mượt”, và hơn nhiều so với những gì mà gấp đôi hay gấp bốn tần số lấy mẫu đem lại.

Bộ lọc nội suy có thể dễ dàng tìm thấy trong rất nhiều DAC và là một giải pháp tốt hơn nhiều so với việc lưu trữ những file với sample rate rất lớn.

Phương pháp để thực hiện có thể hơi phức tạp, nhưng về cơ bản DAC của bạn sẽ thay đổi giá trị output của nó thường xuyên hơn so với tần số mẫu của file nhạc của bạn đưa ra. Điều này sẽ đẩy những bậc thang họa âm không nghe được xa hơn nhiều so với tần số lấy mẫu, cho phép ta sử dụng những bộ lọc chậm và dễ đọc hơn vốn có ít gợn sóng hơn, từ đó có thể bảo toàn những bit mà ta thực sự muốn nghe.

Nếu như bạn tò mò vì sao ta lại muốn loại bỏ những thứ mà ta không nghe được, lý do đơn giản là việc tái tạo những dữ liệu thêm vào này nếu xem xét xa hơn trong chuỗi tín hiệu, ví dụ như trong âm ly, sẽ lãng phí năng lượng. Thêm nữa, tùy thuộc vào những thành phần khác trong hệ thống, những tần số “siêu thanh” này có thể dẫn tới lượng méo điều biến cao hơn trong những bộ phận giới hạn băng thông. Vì thế, file 192kHz của bạn có thể sẽ gây ra nhiều tổn hại hơn là lợi ích, nếu như thực sự có những nội dung siêu thanh chứa trong những file đó.

Nếu ta cần thêm bằng chứng, đây là output từ một DAC chất lượng cao sử dụng chip Circus Logic CS4272 (hình trên cùng bài viết). CS4272 có một phần nội suy và bộ lọc độ dốc có sẵn. Ở thử nghiệm này ta sẽ dùng một vi điều khiển để đưa hai mẫu 16 bit cao và thấp tại 48kHz, cho ta tối đa dạng sóng output có thể tại 24kHz. Không hề sử dụng bộ lọc nào khác, output này được xuất thẳng ra từ DAC.

Tín hiệu đầu ra 24kHz (bên trên) từ DAC chất lượng phòng thu này rõ ràng không hề giống với những dạng sóng hình bậc thang của những chiêu marketing thông thường. Sample rate được hiển thị ở phần dưới của oscilloscope.

Hãy để ý xem sóng hình sin đầu ra (phía trên) có tốc độc bằng đúng một nửa tần số phía dưới. Rõ ràng không hề có bậc thang vuông vức nào và dạng sóng tần số rất cao này nhìn chẳng khác gì một sóng hình sin hoàn hảo, không hề có thứ gì giống như trên quảng cáo. Và đây chỉ là kết quả từ hai mẫu, định lý Nyquist đã chính xác hoàn toàn trong thực thành và ta có thể tạo ra một sóng hình sin thuần túy mà không cần tới một bit-depth hay sample rate rất lớn.

Sự thực về 32 bit và 192kHz

Hầu hết, đều có một vài sự thật được che giấu phía sau mọi thuật ngữ. Và âm thanh 32 bit và 192kHz là thứ sẽ có ứng dụng nhất định, chứ không phải hoàn toàn nằm trong tầm kiểm soát của bạn. Những đặc tính số này thực sự có lợi khi bạn ở trong một môi trường phòng thu, tuy có những tuyên bố như mang “âm thanh chất lượng phòng thu vào điện thoại”, thì những nguyên tắc đó đơn giản không thể được áp dụng nếu bạn muốn đặt những bài hát đã được hoàn thiện vào điện thoại.

Đầu tiên, hãy bắt đầu với sample rate. Một lợi ích rõ ràng từ âm thanh độ phân giải cao là việc lưu trữ những dữ liệu siêu thanh mà bạn không nghe thấy nhưng ảnh hưởng tới âm nhạc. Vô lý ở chỗ, hầu hết nhạc cụ đều tụt xuống trước khi đạt ngưỡng tần số nghe của chúng ta, microphone cũng sẽ tụt xuống ở khoảng 20kHz, và headphone của bạn cũng sẽ không đạt tới ngưỡng đó. Cho dù chúng có thể, thì tai bạn cũng chẳng thể nhận thấy.

Độ nhạy thính giác của con người đạt ngưỡng ở 3kHz và bắt đầu tụt xuống nhanh chóng sau 16kHz.

Tuy nhiên, lấy mẫu 192kHz lại có chút hữu dụng trong việc giảm nhiễu khi lấy mẫu dữ liệu, cho phép những cài đặt đơn giản hơn của những bộ lọc đầu vào thiết yếu, và cũng quan trọng với hiệu ứng số tốc độ cao. Lấy mẫu cao hơn phổ âm nghe được cho phép ta trung bình hóa tín hiệu để giảm sàn nhiễu. Bạn sẽ thấy rằng hầu hết ADC (bộ chuyển đổi analog thành digital) tốt hiện này đều có sẵn 64-bit oversampling hay cao hơn.

Mọi ADC nều cần loại bỏ tần số cao hơn giới hạn Nyquist của nó, nếu không bạn sẽ có những âm thanh răng cưa tồi tệ khi những tần số cao hơn bị “gập xuống” thành những phổ âm nghe được. Có khoảng trống lớn hơn giữa bộ lọc tần số góc 20kHz và sample rate lớn nhất sẽ thuận tiện hơn với những bộ lọc thực tế, vốn không thể ổn định và dốc được như những bộ lọc lý thuyết. Điều này cũng tương tự với phía DAC, nhưng như ta đã nói, điều biến có thể đẩy những nhiễu này lên tần số cao hơn để lọc dễ dàng hơn một cách hiệu quả.

Bộ lọc càng dốc thì sẽ càng có nhiều gợn sóng ở dải thông bộ lọc. Tăng sample rate sẽ cho phép sử dụng những bộ lọc “chậm hơn”, giúp đảm bảo một đáp tần phẳng trong dải thông nghe được.

Với lĩnh vực số, nguyên tắc tương tự cũng áp dụng cho những bộ lọc thường được dùng trong quá trình mix. Sample rate cao hơn sẽ cho phép những bộ lọc dốc hơn và nhanh hơn mà cần tới nhiều dữ liệu hơn để hoạt động chuẩn xác. Những thứ này sẽ chẳng cần tới ở khâu playback hay DAC, khi mà ta chỉ quan tâm tới những gì mình có thể nghe thấy.

Với 32 bit, bất kỳ ai từng code bài toán hơi phức tạp nào đó đều hiểu sự quan trọng của bit depth, cả với số nguyên và số thực. Như ta đã nói, càng nhiều bit thì nhiễu càng ít và điều này sẽ càng quan trọng hơn khi ta bắt đầu chia và trừ tín hiệu do sai số làm tròn và để tránh lỗi xén khi nhân hay cộng.

Bit-depth thêm vào là quan trọng với việc lưu giữ tính toàn vẹn của một tín hiệu khi thực hiện các phép toán, như bên trong những phần mềm phòng thu. Nhưng ta có thể bỏ đi những dữ liệu thêm vào này khi quá trình master đã kết thúc.

Lấy ví dụ ta có một mẫu 4 bit và mẫu hiện tại là 13, tức là 1101 trong nhị phân. Giờ ta sẽ chia nó cho bốn và ta sẽ có 0011, hay 3. Ta sẽ bị mất đi 0.25 và sẽ xuất hiện lỗi nếu ta làm thêm phép toán khác hay chuyển tín hiệu lại thành dạng sóng.

Những lỗi làm tròn này biểu thị một lượng rất nhỏ nhiễu và méo, vốn có thể tích tụ qua một lượng lớn các hàm toán học. Tuy nhiến, nếu ta thêm vào những bit thông tin để sử dụng như một phân số hay dấu phẩy thì ta có thể tiếp tục nhân chia, cộng nhiều lần hơn nhờ những điểm dữ liệu thêm vào này. Bởi vậy, lấy mẫu tại 16 hay 24 bit sau đó convert dữ liệu đó thành một định dạng 32 bit để tiếp tục xử lý giúp ta giải quyết nhiễu và méo. Như ta đã chỉ ra, 32 bit có quá nhiều điểm để chọn lựa.

Giờ thì điều quan trọng tương tự là ta không cần khoảng trống thêm vào khi ta quay lại với analog. Khoảng 20 bit dữ liệu (120dB nhiễu) là những gì lớn nhất có thể nghe được, nên ta có thể convert lại về một file với dung lượng hợp lý hơn và không ảnh hưởng tới chất lượng âm thanh.

Tuy nhiên, ta chắc chắn sẽ đem tới một vãi lỗi làm tròn khi chuyển xuống một bit-depth thấp hơn nên sẽ luôn có một lượng méo rất nhỏ khi những lỗi đó thường luôn không xảy ra một cách ngẫu nhiên. Trong khi đây không phải là một vấn đề với âm thanh 24 bit khi nó đã vượt qua ngưỡng sàn nhiễu analog, một kỹ thuật tên là “dithering” gần như giải quyết vấn đề này với file 16 bit.

Một ví dụ so sánh độ méo gây ra giữa sóng cụt và dithering.

Việc này được hoàn tất bằng việc dùng hàm randomise với bit có trọng số thấp nhất của mẫu âm thanh, loại trừ các lỗi méo nhưng sẽ đem tới một vài nhiễu nền rất nhỏ trên khắp tần số. Tuy gây ra nhiễu dường như có vẻ phản trực giác, nhưng điều này thực sự giảm đi lượng méo nghe thấy được bởi tính ngẫu nhiên. Hơn nữa, sử dụng những mẫu dithering đặc biệt lạm dụng đáp tần của tai người, âm thanh 16 bit được dithering có thể giữ lại sàn nhiễu rất gần với 120dB, chính là giới hạn nhận thức của chúng ta.

Dữ liệu 32 bit và sample rate 192kHz có những lợi ích dễ nhận thấy trong phòng thu, nhưng những nguyên tắc đó lại không hề áp dụng với playback.

Nói đơn giản, hãy để những phòng thu lấp đầy ổ cứng của họ với những nội dung độ phân giải cao, còn ta thì chẳng cần những dữ liệu dư thừa đó trong playback chất lượng cao.

Tổng kết

Bài viết này không hề loại bỏ những nỗ lực trong việc cải thiện âm thanh trên smartphone. Tuy rằng những con số quảng cáo có vẻ vô dụng, nhưng những bộ phận chất lượng cao hơn và thiết kế mạch tốt hơn vẫn là sự phát triển tuyệt vời trong thị trường di động, và các nhà sản xuất cần phải tập trung vào những điều đúng đắn. Lấy ví dụ, DAC 32 bit của LG V10, có chất âm tuyệt vời, nhưng bạn sẽ không cần tới những file âm thanh khổng lồ để hưởng lợi từ nó.

Khả năng kéo những tai nghe trở kháng thấp, giữ được sàn nhiễu thấp từ DAC tới jack, và đem tới độ méo nhỏ nhất là những đặc điểm quan trọng hơn nhiều với âm thanh trên smartphone so với hỗ trợ bit-depth và sample rate trên lý thuyết.

Theo Android Authority.

Chưa có bình luận.

Tin khác
Chúng tôi trên Facebook