Tự động điều chỉnh âm lượng dựa trên nội dung?


51

Trong các nguồn âm thanh khác nhau, mức độ âm thanh là khác nhau. Thật khó chịu khi đặt mức âm thanh trên hầu hết mọi nội dung phương tiện. Đôi khi, trước đây bạn có một cái gì đó yên tĩnh, bạn phải điều chỉnh nó to hơn và sau một thời gian bạn muốn chơi một phương tiện khác - bang! Nó bất ngờ làm hỏng tai nghe của bạn, âm thanh rất lớn!

Vì vậy, có một số plugin / tính năng có thể tự động điều chỉnh mức độ âm thanh trên mọi nội dung phương tiện?


Câu trả lời:


39

Điều chỉnh mức âm thanh với plugin LADSPA

Để có được mức đầu ra âm thanh được chuẩn hóa khá độc lập với mức đầu vào, chúng tôi có thể sử dụng plugin LADSPA để lọc đầu ra âm thanh thông qua PulseAudio.

Tối thiểu, chúng ta cần một plugin máy nén, chẳng hạn như dysonCompressor từ các plugin swh Cài đặt plugin swh cần được cài đặt nếu chưa có.

Sau khi tìm ra tên của bồn rửa mặc định của chúng tôi với

pacmd list-sinks

và tên chính xác của plugin khi nó được lưu trữ /usr/lib/ladspa/(với hệ thống của tôi ở đây dyson_compress_1403), chúng tôi có thể ban hành lệnh sau

pacmd load-module module-ladspa-sink sink_name=ladspa_sink master=<alsa_output> plugin=dyson_compress_1403 label=dysonCompress control=0,1,0.5,0.99

Thay thế <alsa_output>bằng tên chính xác của bồn đầu ra (trong hệ thống của tôi, đây là alsa_output.pci-0000_00_14.2.analog-stereo).

Bây giờ có thể nghe thấy đầu ra được nén trên bồn đầu ra mới được tạo ladspa_sinktừ menu Cài đặt âm thanh .

nhập mô tả hình ảnh ở đây

Cài đặt điều khiển cho plugin máy nén như sau: giới hạn tối đa, thời gian phát hành, tỷ lệ nhanh, tỷ lệ . Xem trong tài liệu bổ trợ để biết thêm chi tiết, mặc định và giá trị tối đa của mức tối thiểu cho các điều khiển này.

Để tránh cắt phát lại, chúng tôi cũng có thể kết hợp plugin này với bộ giới hạn sau khi nén. Chúng tôi có thể sử dụng cái fast_lookahead_limiternày với cái bồn chính bây giờ là lasdpa_sink vừa tạo của chúng tôi từ phía trên:

pacmd load-module module-ladspa-sink sink_name=ladspa_normalized master=ladspa_sink plugin=fast_lookahead_limiter_1913 label=fastLookaheadLimiter control=10,0,0.8

Nguồn: cài đặt ở trên đã được điều chỉnh phù hợp với pulseaudio từ blog của brien về trang phục linh tinh


rất tuyệt! bằng cách chọn mục đầu ra ở trên, chúng tôi có thể kịp thời nghe thấy sự khác biệt! btw, cmd để loại bỏ chúng chỉ để thử nghiệm pacmd unload-module module-ladspa-sinkvà chọn bồn rửa được chuẩn hóapacmd set-default-sink ladspa_normalized
Sức mạnh Bảo Bình

Tôi đang gặp trục trặc, âm lượng đột nhiên quá im lặng, giống như nó đã được sửa đổi để ngăn tiếng ồn, và sau đó tôi phải tăng âm lượng một bước để nghe những gì ppl đang nói, nhưng sau đó nó hơi to .. Tôi tự hỏi nếu chúng ta có thể có một số loại "bộ cân bằng", trong đó tất cả các tần số được quản lý linh hoạt để cho phép chúng ta nghe nhạc, hiệu ứng âm thanh và lời nói của mọi người được chuẩn hóa đúng cách và không bao giờ rất to. Bất kỳ mẹo / ý tưởng?
Sức mạnh Bảo Bình

1
@AquariusPower Tôi đoán là do plugin cố gắng đoán trước âm lượng có thể là gì ... điều này dường như được mã hóa cứng trong 5 ms. Bạn có thể thử với một bộ giới hạn khác, ví dụ từ bộ TAP: tap-plugins.sourceforge.net/ladspa/limiter.html có độ trễ 12,5 ms hoặc một máy nén khác (ví dụ MLT mltframework.org/bin/view/MLT/FilterLadspa-1072 ) ... tuy nhiên đã không thử điều đó.
Takkat

mmm ... Tôi phải nói thêm rằng, vấn đề tôi gặp phải dường như chỉ xảy ra trên một video youtube duy nhất mà may mắn là tôi đã chơi ngay sau khi áp dụng ladspa; điều này đang làm việc tuyệt vời cho mọi thứ khác, bao gồm các trò chơi! Thx về những lời khuyên khác nữa, tôi sẽ kiểm tra chúng!
Sức mạnh Bảo Bình

1
Thay đổi controltham số để phản xạ control=-12,1,0.5,0.99bằng cách sử dụng -12 thay vì 0. Điều này có nghĩa là chỉ âm thanh trên -12 dB sẽ được nén (làm mềm), thường bao gồm mọi thứ to hơn giọng nói / hội thoại. Thực hiện thay đổi này nếu bạn thấy rằng, khi xem phim (ví dụ ĐỎ 2 trên NetFlix), giọng hát vẫn quá im lặng so với các vụ nổ.
Jonathan Neufeld

15

Giải pháp của Takkat là tốt, nhưng đây là một biến thể đơn giản và lâu dài hơn.

Chỉ có hai bước:

  1. apt-get install swh-plugins
  2. Cắt và dán đoạn sau vào một tệp có tên ~ / .config / Pulse / default.pa :

    .nofail
    .include /etc/pulse/default.pa
    load-module module-ladspa-sink  sink_name=ladspa_sink  plugin=dyson_compress_1403  label=dysonCompress  control=0,1,0.5,0.99
    load-module module-ladspa-sink  sink_name=ladspa_normalized  master=ladspa_sink  plugin=fast_lookahead_limiter_1913  label=fastLookaheadLimiter  control=10,0,0.8
    set-default-sink ladspa_normalized
    

Lần sau khi bạn đăng nhập (hoặc chạy pulseaudio -k), bạn sẽ tự động bật chế độ chuẩn hóa theo mặc định.


Hiệu quả của việc bỏ qua tham số "chính" là gì? Cái gì được cấu hình là chủ của bồn rửa trong trường hợp đó?
Nicolay Doytchev

Xin chào Nicolay: Việc tôi đọc mã nguồn chỉ ra rằng một chuỗi NULL giống như "@ DEFAULT_SINK @". (Xem thêm dòng 216, hoặc như vậy, của namereg.c). Nhưng tại sao bạn hỏi? Nếu có bất kỳ vấn đề nào với giải pháp của tôi, tôi muốn khắc phục chúng.
hackerb9

Xin chào, tôi bắt đầu sử dụng giải pháp trong câu trả lời này để có thể chuyển đổi giữa loa và tai nghe mà không cần rút phích cắm và trong bảng điều khiển Âm thanh, tôi chỉ nhận được các đầu ra được lọc cho loa. Bất cứ ý tưởng về làm thế nào để làm cho nó hoạt động cho đầu ra tai nghe là tốt?
dùng1738984

Tôi không chắc, nhưng có lẽ bạn cần chạy hai bộ lọc, một bộ lọc cho mỗi đầu ra. Hoặc, có thể việc chuẩn hóa cần phải xảy ra sau khi chia tai nghe / loa thành các đầu ra riêng biệt.
hackerb9

Trên thực tế, tôi đã sai, xin lỗi về điều đó: điều xảy ra là nếu tôi chọn đầu ra được lọc, tôi có âm thanh phát ra từ cả tai nghe và loa mà tôi không muốn. Tôi chưa tìm ra cách tách nó
user1738984

3

Chuẩn hóa khối lượng có mặt trong SMPlayer. Trung tâm phần mềm Goto và tải xuống trình phát tuyệt vời này, sau đó kích hoạt chuẩn hóa âm lượng trong tùy chọn âm thanh :)


1

Trước đó tôi cũng gặp vấn đề bình thường hóa âm thanh khi phát phim trên trình phát đa phương tiện VLC của mình nhưng một vài tìm kiếm qua Internet tôi đã có thể tìm thấy một giải pháp hoàn hảo cho vấn đề này và tôi đã chia sẻ nó bên dưới để bạn cũng có thể hưởng lợi từ nó ....

Chuẩn hóa âm thanh VLC Fix / Audio Out of Sync VLC Fix


2
Chào mừng bạn đến hỏi Ubuntu! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Kevin Bowen

0

Cùng với một giải pháp thay thế, tôi có một số ý kiến ​​cho các giải pháp ở trên đề nghị sử dụng bộ giải nén.

Từ hướng dẫn:

 2.37  Dyson compressor (dysonCompress, 1403)
Peak limit (dB)
Controls the desired limit of the output signal in dB's.
Release time (s)
Controls the time taken for the compressor to relax its gain control over the input signal.
Fast compression ratio
I have no clear idea what this controls.
Compression ratio
I have no clear idea what this controls. 

http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html#tth_sEc1.1

Tác giả của gói không biết điều khiển hai giá trị cuối cùng là gì. Vì vậy, làm thế nào bạn có thể nói tất cả những gì bạn nên nhập vào như hai giá trị cuối cùng?

Bản thân plugin cho thấy control = 0,0.25,0.5,0,5

$ analyseplugin /usr/lib/ladspa/dyson_compress_1403.so

Plugin Name: "Dyson compressor"
Plugin Label: "dysonCompress"
Plugin Unique ID: 1403
Maker: "Steve Harris <steve@plugin.org.uk>"
Copyright: "GPL"
Must Run Real-Time: No
Has activate() Function: Yes
Has deactivate() Function: No
Has run_adding() Function: Yes
Environment: Normal or Hard Real-Time
Ports:  "Peak limit (dB)" input, control, -30 to 0, default 0
    "Release time (s)" input, control, 0 to 1, default 0.25
    "Fast compression ratio" input, control, 0 to 1, default 0.5
    "Compression ratio" input, control, 0 to 1, default 0.5
    "Input" input, audio
    "Output" output, audio

Tôi thậm chí sẽ đề nghị bạn thử một trong những máy nén khác, có vẻ như được ghi chép tốt hơn, như sc4.

load-module module-ladspa-sink  sink_name=ladspa_sink  plugin=sc4_1882 label=sc4  control=0,101.125,401,0,1,3.25,0

Máy nén thay thế này nghe có vẻ tốt hơn đối với tôi, nhưng các thông số điều khiển được liệt kê trong câu trả lời dường như không có bất kỳ ảnh hưởng nào. Mức ngưỡng được đặt thành 0 (không bao giờ nén) và tỷ lệ được đặt 1 (ngay cả khi được nén, nó sẽ sử dụng 1: 1, không thay đổi tín hiệu). Thay vào đó, bạn có thể sử dụng cái gì đó như control = 0,101.125,401, -22,10,3.25,0, để mọi thứ trên -22dB được nén 1:10. Đây là những giá trị cực kỳ có chủ ý để người ta có thể nghe thấy hiệu ứng của bộ lọc và sau đó có thể hoàn thiện các giá trị.
Zoltan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.