ไมโครโฟน - ลดเสียงรบกวนพื้นหลังแบบคงที่บน Linux


13

การ์ดเสียงของฉันคือ Realtek ALC 892 บน Windows 7 ฉันใช้ไดรเวอร์ Realtek อย่างเป็นทางการบน Linux ฉันใช้ PulseAudio (บน Ubuntu 13.10) ทั้งบน Windows และ Linux เมื่อฉันเปิดใช้งานการเพิ่มไมโครโฟน + 30db (จำเป็นเนื่องจากไมโครโฟนของฉันเงียบ) ฉันได้รับเสียงพื้นหลังที่น่ารำคาญและดังมาก (ฉันยังยืนยันเสียงพื้นหลังด้วย Audacity ทั้งสองระบบ)

อย่างไรก็ตามไดรเวอร์ Windows Realtek มีตัวเลือกลดเสียงรบกวนซึ่งทำงานได้ (หลังจากเปิดใช้งานแล้ว Audacity จะไม่มีเสียงพื้นหลังและหูของฉันก็ยืนยันว่าไม่มีเสียงรบกวนจากพื้นหลัง)

ภาพแสดงตัวเลือกลดเสียงรบกวน

คำถามของฉันคือฉันจะเปิดใช้งานการลดเสียงรบกวนเบื้องหลังใน ALSA / PulseAudio ได้อย่างไร มีโมดูลที่ฉันสามารถติดตั้งหรืออาจมีการตั้งค่าสำหรับมันที่สามารถเปิดใช้งานในไฟล์กำหนดค่าได้หรือไม่?

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

ฉันรู้ว่าฉันสามารถซื้อการ์ดเสียงและไมโครโฟนที่ดีกว่าได้ แต่อย่างที่ฉันบอกว่าไดรเวอร์ Windows Realtek ลบเสียงรบกวนในระดับซอฟต์แวร์แบบเรียลไทม์ (เช่นไม่มีเสียงรบกวนเมื่อพูดคุยกับ TeamSpeak3 / Steam / โปรแกรม voip ใด ๆ ) ดังนั้นฉันหวังว่า บน Linux เช่นกัน

นี่คือจุดผ่านแดนบน Ask Ubuntuซึ่งในทางกลับกันก็มีคำตอบอยู่ที่นี่แล้ว


1
Crossposted: askubuntu.com/questions/421671/…ไม่มีอะไรผิดกับ IMO นั้นหากคุณระบุอย่างชัดเจน มิฉะนั้นคุณจะสร้างโอกาสให้ผู้คนเสียเวลากับการโพสต์คำตอบซ้ำ ๆ เป็นต้น
goldilocks

2
@goldilocks เพิ่มข้อมูลในทั้งสองไซต์ว่ามีการเชื่อมโยงหลายมิติเพื่อให้แน่ใจว่าไม่มีคำตอบที่ซ้ำกัน
user1873947

คำตอบ:


5

ตามที่สเปค Realtekที่

  • การยกเลิกเสียงสะท้อนจากไมโครโฟน (AEC), การลดเสียงรบกวน (NS) และเทคโนโลยีการขึ้นรูปลำแสง (BF) สำหรับการใช้งานด้านเสียง

แสดงอยู่ในรายการคุณสมบัติซอฟต์แวร์ ฉันเคยดูในแผ่นข้อมูลชิปเซ็ต ALC892และจริงๆแล้วมันไม่ใช่คุณสมบัติของชิปเซ็ต ดังนั้นจึงได้รับการยืนยันว่าฟังก์ชั่นนี้เป็นเพียงคุณสมบัติซอฟต์แวร์ที่จัดการโดยไดรเวอร์ Windows ALC892 ของคุณ

ฉันจะใช้ความพยายามในการแก้ปัญหาทั่วไปของการลดเสียงรบกวนบน linux โดยไม่ผูกกับไดรเวอร์นี้:

/programming//q/4875818/684229


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

เห็นได้ชัดว่า Realtek (และคนอื่น ๆ ) ถูกฟ้องร้องเรื่องการละเมิดสิทธิบัตรมากกว่าการใช้งานคุณสมบัตินี้lexology.com/library/…อาจคุ้มค่าที่จะตรวจสอบสิทธิบัตรที่กล่าวถึง
Fizz

เนื่องจากฉันไม่มั่นใจในความทนทานของลิงก์นั้น: "US Patent Nos. 5,825,898 (สิทธิบัตร '898 สิทธิบัตร), 6,483,923 (สิทธิบัตร' 923 สิทธิบัตร), 6,049,607 (สิทธิบัตร '607); 6,363,345 (สิทธิบัตร' 345); และ 6,377,637 (สิทธิบัตร '637) "
Fizz

3

หากนี่เป็นคุณสมบัติของอุปกรณ์ไม่ใช่เฉพาะซอฟต์แวร์ที่มาพร้อม (อาจเป็นรุ่นเก่า) แสดงว่าต้องมีการนำไปใช้ในเคอร์เนลไดรเวอร์ 1 สำหรับฉันแล้วปกติแล้วการ์ดเสียง Realtek PCI ใช้ไดร์เวอร์ Intel HDA พร้อมกับแพตช์เพื่อรองรับตัวแปลงสัญญาณ ALC (สำหรับทุกคนที่สนใจ[src]/sound/pci/hda/patch_realtek.c)

การค้นหาผ่านเอกสารต้นฉบับของเคอร์เนลจะไม่มีการกล่าวถึง "การลดเสียงรบกวน" หรือ "การยกเลิกเสียงสะท้อน" ที่เกี่ยวข้องกับอุปกรณ์เหล่านี้ ค้นหาแหล่งไดรเวอร์เองมันไม่ได้กล่าวถึงอย่างชัดเจน ฉันคิดว่าถ้ามันถูกนำไปใช้สิ่งนี้จะถูกจัดทำเป็นเอกสารด้วยส่วนต่อประสาน/procหรือ/sysซอฟต์แวร์ที่ userpace สามารถใช้หรือมีตัวเลือกสำหรับโมดูลไดรเวอร์

แน่นอนว่าปัญหาคือ Realtek เช่นเดียวกับผู้ผลิตฮาร์ดแวร์ส่วนใหญ่เห็นว่าซอร์สโค้ดของไดรเวอร์เป็นความลับทำให้เป็นเรื่องยากหรือเป็นไปไม่ได้ที่บุคคลที่สามจะสร้างไดร์เวอร์สำหรับเช่นระบบ Realtek ไม่รองรับอย่างเต็มที่เช่น linux . Realtek มีหน้าเว็บที่แสดงรายชื่อไดรเวอร์ลินุกซ์แต่ดูเหมือนว่าลิงค์จะตาย หากคุณโชคดีกว่ามีคำแนะนำในการติดตั้งที่นี่ (นั่นเป็นไซต์ที่เน้นมิ้นต์ 2

อย่างไรก็ตามแม้ว่าคุณจะสามารถค้นหาสำเนาได้ฉันสงสัยมากว่าไดรเวอร์ใช้คุณสมบัติที่คุณต้องการเนื่องจากไม่มีการกล่าวถึงเรื่องนี้ที่ฉันสามารถหาได้ เป็นไปได้ว่ามันจะมากหรือน้อยเหมือนกับที่คุณมีอยู่แล้ว มันอาจจะดีกว่าเล็กน้อย (หน้า Mint ระบุว่าไดรเวอร์เคอร์เนลจะแลกเปลี่ยนด้านข้างและลำโพงด้านหลัง) แต่มันก็อาจจะแย่ลงหรือไม่สามารถใช้งานได้เนื่องจากไดรเวอร์ out-of-tree ไม่ได้รับการตรวจสอบโดย devs เคอร์เนล และอาจมีปัญหาเกี่ยวกับเคอร์เนลที่ผู้เขียนไม่ทราบ (โปรดทราบว่าผู้เขียนโปรแกรมแก้ไข hda ในต้นไม้มี@realtek.com.twที่อยู่อีเมล)

ดังนั้นหากคุณไม่ได้ยินสิ่งที่แตกต่างคุณอาจจะโชคไม่ดี คุณสามารถดูโซลูชันซอฟต์แวร์นี้ได้ซึ่งคุณสมบัติดังกล่าวถูกนำไปใช้โดย Skype บน linux ดังนั้นพวกเขาจึงสามารถทำงานได้ในเวลาจริงโดยใช้ซอฟต์แวร์เพียงอย่างเดียว บางคนก็เขียนบทความลงไปด้วยฮ่า ๆ ๆ ฉันไม่ได้มีโชคเพิ่มเติมค้นหารอบ ๆ โชคไม่ดี

มีการพูดคุยกันที่นี่เกี่ยวกับการใช้คุณสมบัติของalsamixerเพื่อลดเสียงรบกวน ฉันคิดว่าคุณจะต้องปิดการใช้งาน pulseaudio เพื่อทำเช่นนั้น


1. Pulseaudio เป็นเครื่องมือผู้ใช้ที่สร้างขึ้นจาก ALSA ระบบย่อยเสียงของเคอร์เนล (ความหมาย: pulseaudio ไม่ใช้การเข้าถึงฮาร์ดแวร์มันทำงานได้กับสตรีมที่มาจาก / ไปยังไดรเวอร์เคอร์เนล)

2. หากคุณพบคุณต้องการรุ่น 3.0 ไม่ใช่รุ่น 2.6 ตัวเลขเหล่านี้อ้างถึงเวอร์ชันของเคอร์เนล linux ที่เข้ากันได้และคุณใช้เคอร์เนล 3.x อย่างไรก็ตามอีกครั้งหากเสียงของคุณไม่เป็นไรฉันขอแนะนำอย่างยิ่งให้รบกวนกับสิ่งนี้เพราะมันไม่น่าจะทำอะไรให้คุณได้


ขอบคุณสำหรับคำตอบในเชิงลึก แต่ผมพบว่าสิ่งที่เรียกว่า "WebRTC-AEC โมดูล" อธิบายไว้ที่นี่: wiki.gentoo.org/wiki/PulseAudio อย่างไรก็ตามดูเหมือนว่าจะใช้งานได้เฉพาะในแอพที่สนับสนุนโมดูลนั้นถูกต้องหรือไม่ นอกจากนี้ยังเป็นไปได้ว่าสิ่งนี้ถูกปิดการใช้งานใน Ubuntu คุณทราบวิธีการเปิดใช้งานโมดูลนี้ใน PulseAudio หรือไม่? อาจเป็นวิธีแก้ปัญหาของฉัน
user1873947

ฉันไม่ขอโทษ โมดูล pulseaudio จะเป็นตัวอย่างของโซลูชันซอฟต์แวร์ ดูเหมือนว่าชนิดของสิ่งที่จะได้รับการปฏิบัติที่ดีที่สุดด้วยคำถามเฉพาะเจาะจงแยกต่างหาก)
goldilocks

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.