มีวิธีการปรับระดับ / บีบอัดระบบเสียงทั้งระบบหรือไม่?


26

ในฐานะผู้ใช้แล็ปท็อปฉันมั่นใจว่าผู้คนจำนวนมากแม้กระทั่งผู้ที่ใช้เน็ตบุ๊คจะต้องประสบปัญหานี้แล้ว โดยเฉพาะอย่างยิ่งเมื่อฟังพอดแคสต์และใช้เป็นตัวอย่างเสียงอาจมีช่วงเวลาที่ดังและช่วงเวลาที่เงียบสงบคนหนึ่งพูดเสียงดังและอีกคนพูดเงียบมากในตอนเดียวกัน ดังนั้นฉันจึงต้องการให้เสียงถูกบีบอัดทั้งระบบและฉันเพิ่งสังเกตเห็นเมื่อวันก่อนว่าใน Windows ไดรเวอร์ Realtek บางรุ่นมีฟังก์ชั่นนี้อยู่แล้ว

เรามีปลั๊กอิน pulseaudio สำหรับระบบปรับเสียงทั้งระบบและถึงแม้ว่ามันจะยังมีปัญหาที่ไม่ให้เราเปลี่ยนค่าและฟังการเปลี่ยนแปลงแบบเรียลไทม์หรือแตกเสียงในขณะที่เปลี่ยนระดับเสียงชีพจรฉันรักมันและใช้มัน ตอนนี้ฉันเพิ่งหายไปบางสิ่งบางอย่างเพื่อให้เสียงประมาณ 0db (หรือใกล้ระดับเสียงที่คุณใช้) เป็นปลั๊กอินปรับระดับสำหรับ pulseaudio

ข้อเสนอแนะใด ๆ


คำตอบ:


16

ฉันประสบความสำเร็จกับตัวอย่างที่แสดงในคำตอบนี้

  1. ติดตั้งปลั๊กอิน LADSPA ของ Steve Harris ติดตั้งปลั๊กอิน swh

    sudo apt install swh-plugins
    
  2. เรียกใช้pacmdแล้วคำสั่งนี้:

    load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12
    set-default-sink compressor
    

คำตอบนี้อธิบายวิธีโหลดปลั๊กอินอย่างถาวร


พารามิเตอร์ ( control=1,1.5,401,-30,20,5,12ส่วนด้านบน) สำหรับคอมเพรสเซอร์นี้อธิบายไว้ในเอกสาร LADSPA Plugin ของ Steve Harris :

  1. RMS / peak : ความสมดุลระหว่าง RMS และผู้ติดตามซองจดหมายสูงสุด RMS โดยทั่วไปจะดีกว่าสำหรับการบีบอัดข้อมูลดนตรีและจุดสูงสุดจะดีกว่าสำหรับการบีบอัดที่หนักขึ้นอย่างรวดเร็วและการเคาะ
  2. Attack time (ms) : เวลาโจมตีเป็นมิลลิวินาที
  3. เวลาที่วางจำหน่าย (ms) : เวลาที่วางจำหน่ายในหน่วยมิลลิวินาที
  4. ระดับเกณฑ์ (dB) : จุดที่คอมเพรสเซอร์จะเริ่มเตะ
  5. อัตราส่วน (1: n) : อัตราส่วนการลดอัตราขยายที่ใช้เมื่อระดับสัญญาณเกินเกณฑ์
  6. รัศมีเข่า (dB) : ระยะทางจากจุดเริ่มต้นของเส้นโค้งที่หัวเข่า
  7. Makeup gain (dB) : ควบคุมการรับสัญญาณแต่งหน้าของ dB
  8. Amplitude (dB) : ระดับของสัญญาณอินพุตเป็นเดซิเบล
  9. การลดอัตราขยาย (dB) : ระดับของการลดอัตราขยายที่ใช้กับสัญญาณอินพุตในหน่วยเดซิเบล

เนื่องจากข้อ จำกัด ของ PulseAudio จึงไม่สามารถปรับได้ตามเวลาจริง

เพื่อทดสอบกับพารามิเตอร์ที่แตกต่างกันฉันยังโหลดคอมเพรสเซอร์เป็นปลั๊กอิน ALSA ที่ปรับได้ตามเวลาจริงผ่านAlsaequal ติดตั้ง libasound2-plugin-equalด้วยการสร้างสิ่งต่อไปนี้~/.asoundrc:

ctl.compressor {
  type equal;
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.plugcompressor {
  type equal;
  slave.pcm "plug:pulse";
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.compressor {
  type plug;
  slave.pcm plugcompressor;
}

ตัวอย่างไฟล์ MP3 ที่สามารถเล่นผ่านคอมเพรสเซอร์ใช้mpg321 ติดตั้ง mpg321 ,

mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"

ในขณะที่alsamixer -D compressorสามารถใช้เพื่อปรับพารามิเตอร์แบบเรียลไทม์


ถ้าคุณALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_ctl_equal.soใช้งาน Ubuntu 14.10 ลองapt-get install libasound2-plugin-equal
Stéphane Gourichon

ฉันใช้ Ubuntu-Studio 16.04 LTS และฉันติดตั้งแพ็คเกจ swh-plugins แต่ ... บรรทัด: "pacmd โมดูลโหลดโมดูล -ladspa-sink sink_name = ปลั๊กอินปลั๊กอิน = sc4m_1916 ฉลาก = การควบคุม sc4m = 1,1.5,401 -30,5,9,3,0,0 pacmd set-default-sink compressor "ไม่ทำงาน ไม่ใช่ปัญหาเกี่ยวกับพารามิเตอร์เนื่องจากระบบให้ข้อผิดพลาด: "ไม่พบโมดูล" ดังนั้น ... บางสิ่งบางอย่างขาดหายไปจากแพ็คเกจปลั๊กอิน แต่ ... อะไร ???
Juan

5

ผมขอแนะนำให้ผลกระทบชีพจร มันเป็นแอพพลิเคชั่นที่คุณมีเครื่องมือมากมายสำหรับจัดการกับระบบเสียง (รวมถึงคอมเพรสเซอร์) สวยใช้งานง่าย

สำหรับฉันการตั้งค่านี้ทำงานได้ดีที่สุดในภาพยนตร์: ป้อนคำอธิบายรูปภาพที่นี่

คำแนะนำในการติดตั้ง

ผลกระทบชีพจรสามารถติดตั้งได้จากสัญญาซื้อขายไฟฟ้า (อูบุนตู> = 18.04) หรือflatpak ฉันขอแนะนำให้ลอง flatpak ก่อนเพราะมันมีอยู่ในตัวเองและไม่ยุ่งกับการกำหนดค่าระบบของคุณในขณะที่เวอร์ชั่น PPA จะติดตั้ง backport ของ Pulse Audio 12 จาก 18.10 ใน 18.04

Flatpak

หาก flatpak ยังไม่ได้ติดตั้งบนระบบของคุณให้ติดตั้งโดยใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

sudo apt install flatpak

ตอนนี้เพิ่มที่เก็บ flathub:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

... และติดตั้ง Pulse Effects:

flatpak install flathub com.github.wwmm.pulseeffects

หรือคุณสามารถปฏิบัติตามคู่มือการติดตั้งอย่างเป็นทางการอย่างรวดเร็วและติดตั้ง PulseEffects ได้จากหน้า flathub

PPA

หากเวอร์ชัน flatpak ใช้งานไม่ได้หรือคุณต้องการใช้ PPA ให้รันคำสั่งต่อไปนี้ในเทอร์มินัล:

sudo add-apt-repository ppa:mikhailnov/pulseeffects -y
sudo apt install pulseeffects pulseaudio --install-recommends

หลังจากการติดตั้งรีบูตระบบของคุณ


3

สิ่งเหล่านี้มีประโยชน์มาก ขอบคุณสำหรับแรงบันดาลใจ ถึงแม้ว่ามันจะไม่สมบูรณ์ในขณะนี้ แต่ฉันก็มีส่วนช่วยเล็กน้อย ฉันดูในเอกสารของ Steve Harris เพื่อค้นหาว่ามีคอมเพรสเซอร์หลายรสชาติและฉันเลือกใช้สเตอริโอ มันซับซ้อนโดยใช้ Pulse Audio Volume Control เพื่อวางคอมเพรสเซอร์ในแอพพลิเคชั่นหลาย ๆ อย่างเช่น Chrome และ VLC แต่ฉันชอบผลลัพธ์ แรงจูงใจของฉันในการใช้คอมเพรสเซอร์คือการ จำกัด ปริมาณเสียงที่ต่ำและสูงมาก เพื่อที่จะไม่ปลุกทุกคนในบ้านตอนดึกฉันไม่ต้องการที่จะเพิ่มระดับเสียงให้ได้ยินตัวละครที่พูดในสื่ออย่างต่อเนื่องเท่านั้นที่จะรีบกลับลงเมื่อใดก็ตามที่มีการกระทำในดวงใจเกิดขึ้น . ฉันติดตามแรงบันดาลใจที่นี่และปรับค่าตามเวลาจริง จากนั้นฉันก็นำค่าที่ต้องการของฉันและใส่กลับเข้าไปในรหัสตัวอย่าง โดยสรุปแล้วโค้ดตัวอย่างที่ฉันสนับสนุนนั้นยืมมาจากตัวอย่างข้างต้นอย่างไร้ยางอาย แต่มีคุณสมบัติของคอมเพรสเซอร์สเตอริโอที่มีการ จำกัด ปริมาณเสียงส่วนบนและล่างค่อนข้างเข้มงวด สุดท้ายฉันใส่มันในรูปแบบของสคริปต์ซึ่งไม่ได้ทำงานอย่างเต็มที่ มันไม่ชอบบรรทัด set_default ฉันหวังว่านี่จะเป็นประโยชน์กับชุมชน

#!/bin/sh
# ComperssorScript.sh
# Script to start PulseAudio Compressor with desired settings
# Original: 2016 September 17

pacmd load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=9,5,63,-6,15,3,49
set-default-sink compressor

# The parameters (the control=1,1.5,401,-30,20,5,12 for example) for this compressor are described in Steve Harris' LADSPA Plugin Docs:
# RMS/peak: The balance between the RMS and peak envelope followers. RMS is generally better for subtle, musical compression and peak is better for heavier, fast compression and percussion.
# 9, Attack time (ms): The attack time in milliseconds.
# 5, Release time (ms): The release time in milliseconds.
# 63, Threshold level (dB): The point at which the compressor will start to kick in.
# 6, Ratio (1:n): The gain reduction ratio used when the signal level exceeds the threshold.
# -15, Knee radius (dB): The distance from the threshold where the knee curve starts.
# 3, Makeup gain (dB): Controls the gain of the makeup input signal in dB's.
# 49, Amplitude (dB): The level of the input signal, in decibels.
# no value was placed here
# Gain reduction (dB): The degree of gain reduction applied to the input signal, in decibels.
# Due to a limitation of PulseAudio, it is not possible to adjust them in real time.
# no value was placed here

ในการวิเคราะห์ของฉันใน < github.com/swh/ladspa/blob/master/sc4_1882.xml#L116 > ดูเหมือนว่ามีบางช่วงที่ใช้กับพารามิเตอร์ ดูเหมือนว่าตัวอย่างของคุณจะอยู่นอกขอบเขตของพารามิเตอร์บางตัวเล็กน้อย เนื่องจากเอกสาร - จากผู้เขียนSteve Harris - ค่อนข้างบางและขาดตัวอย่างฉันอาจผิดอย่างสมบูรณ์
Ale

0

นี่คือปลั๊กอินสเตอริโอที่มีการตั้งค่าการควบคุมที่ดีขึ้น (การตัดน้อยกว่า) ทำตามคำตอบของændrükที่ใช้ตัวอย่างปลั๊กอินโมโน

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10

extample ของคุณยังคงทำคลิปในการตั้งค่าโน้ตบุ๊กของฉัน gotbletu บน google + แนะนำให้ใช้การตั้งค่านี้ครั้งเดียวและพวกเขาก็ทำงานได้ดีที่สุดสำหรับฉัน โหลดโมดูล module-ladspa-sink sink_name = ปลั๊กอินปลั๊กอิน = sc4_1882 ฉลาก = การควบคุม sc4 = 1,1.5,401, -30,20,5,12
Axel Werner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.