ลดปัญหาเสียงผิดเพี้ยนใน Ubuntu 24.04 ด้วยการปรับแต่ง ALSA อย่างตรงจุด

เริ่มต้นด้วยการลดระดับเสียงในการเล่นและตรวจสอบว่าเสียงผิดเพี้ยนนั้นส่งผลกระทบต่อทุกแอปพลิplugเคชันหรือไม่ บน Ubuntu 24.04 Desktop นั้น PipeWire มักจะอยู่ระหว่างแอปพลิเคชันและอุปกรณ์เสียง ดังนั้นการปรับแต่ง ALSA จึงมีประโยชน์ก็ต่อเมื่อแก้ไขที่ต้นเหตุเท่านั้น: ใช้มิกเซอร์สำหรับการตัดเสียง ใช้ ALSA PCM สำหรับแอปพลิเคชัน ALSA-direct ที่มีรูปแบบไม่ตรงกัน หรือใช้การทดสอบโหมดประหยัดพลังงานสำหรับเสียงคลิกหลังจากไม่ได้ใช้งาน หลีกเลี่ยงการเปลี่ยนค่าเริ่มต้นของ ALSA ทั่วทั้งระบบในขั้นตอนแรก

ความผิดเพี้ยนนั้นเกิดจากแอปใดแอปหนึ่งหรือจากทั้งระบบ?

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

  1. เล่นคลิปเสียงสั้นๆ เดียวกันในสองแอปพลิเคชันที่แตกต่างกัน โดยใช้เอาต์พุตเดียวกัน ลดระดับเสียงของแอปพลิเคชันและระดับเสียงเอาต์พุตของ Ubuntu ก่อนทำการทดสอบ เนื่องจากสัญญาณดิจิทัลที่ถูกตัดทอนในส่วนต้นทางไม่สามารถแก้ไขได้ด้วยการเปลี่ยนมิกเซอร์ฮาร์ดแวร์ในภายหลัง
  2. เปิดเทอร์มินัลแล้วรันpactl infoคำwpctl statusสั่ง `pipeWire` และ `pipeWire` คำสั่งเหล่านี้จะแสดงเซิร์ฟเวอร์เสียงที่ใช้งานอยู่และอ็อบเจ็กต์ PipeWire ที่พร้อมใช้งานเมื่อติดตั้งเครื่องมือเหล่านั้นแล้ว เอกสารแผนการทดสอบเสียงเดสก์ท็อปของ Ubuntu ระบุว่า PipeWire เป็นเซิร์ฟเวอร์เสียงเดสก์ท็อป หากการติดตั้งของคุณได้รับการปรับแต่ง ให้ใช้เอาต์พุตของคำสั่งเหล่านี้แทนการคาดเดาเส้นทางเสียง
  3. เรียกใช้คำสั่งaplay -lเพื่อแสดงรายการฮาร์ดแวร์การเล่น ALSA หากปัญหาเกิดขึ้นเฉพาะกับชุดหูฟัง ลำโพง แท่นวาง หรือสายเคเบิลเพียงชุดเดียว ให้ลองเสียบใหม่หรือสลับการเชื่อมต่อก่อนที่จะเปลี่ยนการตั้งค่า

แผนการทดสอบเดสก์ท็อป Ubuntu PipeWireและหน้าการแก้ไขปัญหาเสียงแตกของ Ubuntuเป็นข้อมูลอ้างอิงที่มีประโยชน์สำหรับเส้นทางเสียงเดสก์ท็อปปัจจุบันและการตรวจสอบทางกายภาพขั้นพื้นฐาน

ตัวอย่างผลลัพธ์จากเทอร์มินัลที่แสดงให้เห็นว่า PipeWire เป็นเซิร์ฟเวอร์เสียง และ aplay แสดงรายการอุปกรณ์เล่นเสียง
ตัวอย่างผลลัพธ์จากเทอร์มินัลที่แสดงให้เห็นว่า PipeWire เป็นเซิร์ฟเวอร์เสียง และ aplay แสดงรายการอุปกรณ์เล่นเสียง

ระดับเสียงในการเล่นอาจเกิดการบิดเบือนหรือไม่?

ใช่แล้ว เมื่อเสียงเริ่มหยาบกระด้าง มีเสียงรบกวน หรือขาดๆ หายๆ ในช่วงที่มีเสียงดังมาก ให้ลดระดับเสียงลงก่อนที่จะทำการปรับแต่งเพิ่มเติม สามารถควบคุมระดับเสียงได้หลายแบบพร้อมกัน เช่น ระดับเสียงจากแอปพลิเคชัน ระดับเสียงจากเอาต์พุตบนเดสก์ท็อป และระดับเสียงจากฮาร์ดแวร์ เช่น Master, PCM หรือ Speaker ชื่อของตัวควบคุมระดับเสียงจะแตกต่างกันไปตามอุปกรณ์เสียง ดังนั้นให้เปลี่ยนตัวควบคุมการเล่นที่เกี่ยวข้องทีละตัวแล้วลองฟังอีกครั้ง

  1. ติดตั้งโปรแกรมผสมเสียงหากจำเป็นด้วยไฟล์sudo apt install alsa-utils.
  2. เรียกใช้คำสั่งalsamixer. กดF6เพื่อเลือกการ์ดเสียง จากนั้นกดอีกครั้งF3เพื่อแสดงการควบคุมการเล่น ใช้ปุ่มลูกศรเพื่อลดระดับการควบคุม Master, PCM หรือ Speaker ตามความเหมาะสมalsamixerคู่มือ Ubuntu Noble จะอธิบายรายละเอียดเกี่ยวกับการ์ดเสียงและการแสดงผลการเล่นเหล่านี้
  3. นอกจากนี้ ให้ลดระดับเสียงของแอปและเดสก์ท็อปลงให้อยู่ในระดับปานกลาง อย่าเพิ่มระดับเสียงเกิน 100 เปอร์เซ็นต์เพื่อชดเชยแหล่งกำเนิดเสียงที่เบา เพราะการเพิ่มระดับเสียงอาจทำให้เสียงแตกแย่ลง นี่Mic Boostคือตัวควบคุมการบันทึกเสียง ไม่ใช่ตัวแก้ไขปัญหาการเล่นเสียง

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

ภาพแสดงมุมมองการเล่นของ alsamixer โดยที่ปุ่มควบคุม Master, PCM และ Speaker ถูกตั้งค่าไว้ต่ำกว่าค่าสูงสุด
ภาพแสดงมุมมองการเล่นของ alsamixer โดยที่ปุ่มควบคุม Master, PCM และ Speaker ถูกตั้งค่าไว้ต่ำกว่าค่าสูงสุด

ปัญหาดังกล่าวส่งผลกระทบเฉพาะแอปที่เปิดใช้งาน ALSA โดยตรงหรือไม่?

ลองใช้การแปลงของ ALSA plugก่อนแก้ไขอุปกรณ์เริ่มต้น ปลั๊กอินนี้สามารถแปลงรูปแบบตัวอย่าง อัตรา หรือจำนวนช่องสัญญาณให้ตรงกับฮาร์ดแวร์ได้ เหมาะสำหรับโปรแกรมรุ่นเก่าหรือโปรแกรมบรรทัดคำสั่งที่เปิด ALSA โดยตรงและล้มเหลวหรือมีเสียงผิดเพี้ยนเมื่อใช้สัญญาณ PCM จากฮาร์ดแวร์ดิบ ปลั๊กอินนี้ไม่ได้เปลี่ยนแปลงเส้นทางที่แอปพลิเคชัน PipeWire ทั่วไปใช้

ค้นหาหมายเลขการ์ดและอุปกรณ์ในaplay -l. สำหรับการทดสอบอย่างรวดเร็ว ให้แทนที่ PCM ฮาร์ดแวร์ที่แสดงบนเครื่องของคุณด้วยคำสั่งนี้:

speaker-test -D plughw:0,0 -c 2 -t sine -f 440 -l 1

plughw:0,0หมายถึง การ์ด 0 อุปกรณ์ 0 ตัวเลขของคุณอาจแตกต่างกัน หากการทดสอบการแปลงนี้ฟังดูดีในขณะที่hw:0,0การทดสอบโดยตรงล้มเหลว คุณสามารถกำหนด PCM ที่มีชื่อในไฟล์การกำหนดค่าผู้ใช้ของคุณได้~/.asoundrc:

pcm.converted {
    type plug
    slave.pcm "hw:0,0"
}

แทนที่hw:0,0ด้วยอุปกรณ์ที่คุณระบุ เลือกconvertedในแอปพลิเคชันที่รองรับ ALSA หรือทดสอบด้วยspeaker-test -D converted -c 2 -t sine -f 440 -l 1สำรองข้อมูลที่มีอยู่ ก่อนแก้ไข เอกสารอ้างอิงปลั๊กอิน PCM~/.asoundrcของโครงการ ALSA อธิบายการแปลง และคู่มือ asoundrc อธิบายการกำหนดค่าผู้ใช้และระบบ หลีกเลี่ยงการคัดลอกคำจำกัดความนี้ลงในเว้นแต่คุณตั้งใจจะแทนที่ค่าเริ่มต้นของ ALSA สำหรับไคลเอนต์ ALSA ทั้งหมดโดยเฉพาะ เพราะอาจทำให้การทำงานของอุปกรณ์อื่นหรือการกำหนดเส้นทางบนเดสก์ท็อปหยุดชะงักได้pcm.!default

ตัวอย่างโค้ดจากไฟล์ ~/.asoundrc ที่ใช้กำหนดชื่อปลั๊ก ALSA PCM สำหรับอุปกรณ์ฮาร์ดแวร์ที่เลือกไว้
ตัวอย่างโค้ดจากไฟล์ ~/.asoundrc ที่ใช้กำหนดชื่อปลั๊ก ALSA PCM สำหรับอุปกรณ์ฮาร์ดแวร์ที่เลือกไว้

เสียงคลิกเกิดขึ้นเฉพาะหลังจากเงียบ หรือเมื่อเล่นต่อเท่านั้น?

รูปแบบดังกล่าวอาจบ่งชี้ถึงการประหยัดพลังงานของโคเด็ค HDA มากกว่าการตัดสัญญาณ ทดสอบการตั้งค่าชั่วคราวเฉพาะในกรณีที่snd_hda_intelไดรเวอร์และพารามิเตอร์มีอยู่เท่านั้น ตรวจสอบค่าปัจจุบันก่อน:

cat /sys/module/snd_hda_intel/parameters/power_save

หากไฟล์ดังกล่าวมีอยู่ ให้ปิดใช้งานช่วงเวลาประหยัดพลังงานของตัวแปลงสัญญาณชั่วคราว จนกว่าจะรีบูตเครื่อง:

echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save

เล่นไฟล์เสียง ปล่อยทิ้งไว้ให้หยุดนิ่งนานพอที่จะเกิดเสียงคลิก แล้วจึงเล่นต่อเอกสารเกี่ยวกับการประหยัดพลังงาน ALSA ของเคอร์เนล อธิบายถึงพารามิเตอร์การประหยัดพลังงาน HDA และระบุว่าการเปลี่ยนแปลงของพลังงานอาจทำให้เกิดเสียงคลิกได้ในฮาร์ดแวร์บางชนิด การปิดใช้งานการตั้งค่านี้อาจใช้พลังงานมากขึ้น และไม่ใช่วิธีแก้ไขทั่วไปสำหรับเสียงผิดเพี้ยนระหว่างการเล่นต่อเนื่อง

หากการทดสอบได้ผลและคุณต้องการให้ผลลัพธ์คงอยู่ ให้สร้าง/etc/modprobe.d/alsa-hda-powersave.confไฟล์ที่มีเนื้อหาดังoptions snd_hda_intel power_save=0กล่าว แล้วรีบูตเครื่อง หากต้องการยกเลิก ให้ลบไฟล์นั้นแล้วรีบูตเครื่อง หากไม่มีเส้นทาง sysfs ให้ข้ามการปรับแต่งนี้ไป เพราะไดรเวอร์อาจไม่ได้ถูกโหลด หรืออุปกรณ์ของคุณอาจใช้ไดรเวอร์อื่น อย่าสร้างเส้นทางที่หายไปด้วยตนเอง

ภาพแสดงมุมมองหน้าจอเทอร์มินัลชั่วคราว แสดงค่า power_save ของ HDA เปลี่ยนจาก 10 เป็น 0 สำหรับการทดสอบชั่วคราว
ภาพแสดงมุมมองหน้าจอเทอร์มินัลชั่วคราว แสดงค่า power_save ของ HDA เปลี่ยนจาก 10 เป็น 0 สำหรับการทดสอบชั่วคราว

คุณจะยืนยันได้อย่างไรว่าการแก้ไขนั้นถูกต้อง?

ลองเล่นส่วนเดียวกันซ้ำอีกครั้งในระดับเสียงปานกลางในแอปต้นฉบับและแอปที่สอง ตรวจสอบว่าเสียงสูงสุดไม่แหบแห้งอีกต่อไป และสำหรับปัญหาเสียงคลิกที่ไม่ได้ใช้งาน ให้ตรวจสอบว่าเสียงเล่นต่อโดยไม่มีเสียงคลิก หากคุณเพิ่ม ALSA PCM ที่ตั้งชื่อไว้ ให้ทดสอบจากโปรแกรมที่รองรับ ALSA เบราว์เซอร์หรือไคลเอนต์ PipeWire อื่นๆ อาจไม่ใช้คำจำกัดความนั้น

หากยังคงมีเสียงผิดเพี้ยนในแอปพลิเคชันต่างๆ เอาต์พุต และระดับเสียงเล่นที่เหมาะสม ให้คืนค่าการตั้งค่าทดลองกลับ และตรวจสอบการเชื่อมต่อ อุปกรณ์ หรือไดรเวอร์เคอร์เนล Ubuntu แนะนำให้ตรวจสอบตัวเชื่อมต่อและอุปกรณ์เสียงที่เลือกเพื่อหาสาเหตุของเสียงแตก รวบรวมข้อมูลaplay -lและ (สำหรับเสียง PCI) lspci -nnkเอาต์พุตเมื่อต้องการความช่วยเหลือเกี่ยวกับไดรเวอร์เฉพาะ หลีกเลี่ยงการแก้ไขขนาดบัฟเฟอร์โดยพลการ: การเปลี่ยนแปลงบัฟเฟอร์จะแลกเปลี่ยนความหน่วงกับความทนทานต่อการขาดหายของข้อมูล และควรทำหลังจากพบหลักฐานการขาดหายของข้อมูล ไม่ใช่ใช้เป็นวิธีแก้ปัญหาเสียงผิดเพี้ยนทั่วไป

ฝากความเห็น

ลดปัญหาเสียงผิดเพี้ยนใน Ubuntu 24.04 ด้วยการปรับแต่ง ALSA อย่างตรงจุด

ลดปัญหาเสียงผิดเพี้ยนใน Ubuntu 24.04 ด้วยการปรับแต่ง ALSA อย่างตรงจุด

ตรวจสอบว่าการตัดเสียง การแปลงรูปแบบ ALSA หรือการประหยัดพลังงาน HDA เป็นสาเหตุของการบิดเบือนเสียงใน Ubuntu 24.04 หรือไม่ จากนั้นใช้การแก้ไขแบบย้อนกลับที่ตรงกัน

สร้างสคริปต์สลับเอาต์พุต PipeWire ที่สามารถย้ายเสียงที่ใช้งานอยู่ได้

สร้างสคริปต์สลับเอาต์พุต PipeWire ที่สามารถย้ายเสียงที่ใช้งานอยู่ได้

สลับการใช้งานเสียงของ Debian ระหว่างเอาต์พุต PipeWire ที่ตั้งชื่อไว้ โดยใช้สคริปต์ pactl ที่อัปเดต sink เริ่มต้นและกำหนดเส้นทางสตรีมที่กำลังเล่นอยู่ใหม่

กู้คืนการป้อนข้อมูลไมโครโฟนของหูฟังบลูทูธบน Ubuntu 24.04

กู้คืนการป้อนข้อมูลไมโครโฟนของหูฟังบลูทูธบน Ubuntu 24.04

ทำให้ไมโครโฟนของชุดหูฟังบลูทูธใช้งานได้โดยเลือกอินพุตที่ถูกต้อง ใช้โปรไฟล์เสียงแบบแฮนด์ฟรี และตรวจสอบเส้นทาง PipeWire ของ Ubuntu

แก้ไขปัญหาแอป Flatpak ไม่รองรับธีม GTK ใน Ubuntu 24.04

แก้ไขปัญหาแอป Flatpak ไม่รองรับธีม GTK ใน Ubuntu 24.04

เรียนรู้สาเหตุที่แอป Flatpak อาจไม่รองรับธีม GTK ของ Ubuntu 24.04 และปฏิบัติตามขั้นตอนที่ปลอดภัยเพื่อตรวจสอบส่วนขยายธีม รีเฟรชแอป Flatpak และวินิจฉัยปัญหาของพอร์ทัล

วิธีการติดตั้งระบบปฏิบัติการ Ubuntu 24.04 และ Windows 11 แบบ Dual-Boot โดยเปิดใช้งาน BitLocker ไว้

วิธีการติดตั้งระบบปฏิบัติการ Ubuntu 24.04 และ Windows 11 แบบ Dual-Boot โดยเปิดใช้งาน BitLocker ไว้

ติดตั้ง Ubuntu 24.04 ควบคู่ไปกับ Windows 11 ที่มี BitLocker อย่างปลอดภัย เปรียบเทียบเส้นทางไดรฟ์แยกต่างหากและไดรฟ์ที่ใช้ร่วมกัน รหัสกู้คืน การแบ่งพาร์ติชั่น และการตรวจสอบการบูต

วิธีแก้ไขปัญหาไดรเวอร์ Nvidia ไม่โหลดหลังจากอัปเดตเคอร์เนลบน Ubuntu

วิธีแก้ไขปัญหาไดรเวอร์ Nvidia ไม่โหลดหลังจากอัปเดตเคอร์เนลบน Ubuntu

ตรวจสอบความล้มเหลวของไดรเวอร์ NVIDIA หลังจากการอัปเดตเคอร์เนล Ubuntu ตรวจสอบ DKMS และ Secure Boot สร้างโมดูลที่เกี่ยวข้องใหม่ ลงทะเบียน MOK และตรวจสอบการแก้ไข

วิธีแก้ไขปัญหา Wi-Fi หลุดการเชื่อมต่อหลังจากพักเครื่องใน Ubuntu 24.04

วิธีแก้ไขปัญหา Wi-Fi หลุดการเชื่อมต่อหลังจากพักเครื่องใน Ubuntu 24.04

แก้ไขปัญหาการหลุดการเชื่อมต่อ Wi-Fi ใน Ubuntu 24.04 หลังจากเข้าสู่โหมดพักเครื่อง โดยตรวจสอบ NetworkManager, การบล็อกคลื่นความถี่, การอัปเดต, โหมดประหยัดพลังงาน และไดรเวอร์ จากนั้นตรวจสอบทุกครั้งที่กลับมาใช้งานต่อ

แก้ไขปัญหาการใช้งาน CPU สูงโดย Tracker-Miner-3 ใน Ubuntu GNOME

แก้ไขปัญหาการใช้งาน CPU สูงโดย Tracker-Miner-3 ใน Ubuntu GNOME

เรียนรู้ว่าเหตุใด tracker-miner-fs-3 จึงใช้ CPU สูงใน Ubuntu GNOME และวิธีการตรวจสอบการจัดทำดัชนี การยกเว้นโฟลเดอร์ การอัปเดต Ubuntu หรือการสร้างดัชนีการค้นหาใหม่อย่างปลอดภัย

แก้ไขปัญหา “ไม่พบอุปกรณ์บูต” หลังจากติดตั้ง Debian บน UEFI

แก้ไขปัญหา “ไม่พบอุปกรณ์บูต” หลังจากติดตั้ง Debian บน UEFI

แก้ไขข้อผิดพลาดในการบูต UEFI ของ Debian โดยตรวจสอบโหมดการบูต พาร์ติชั่นระบบ EFI ไฟล์ GRUB และลำดับการบูตเฟิร์มแวร์ โดยไม่ต้องติดตั้ง Debian ใหม่ก่อน

วิธีใช้ Focus Session ใน Windows 11 เพื่อการเรียน

วิธีใช้ Focus Session ใน Windows 11 เพื่อการเรียน

ค้นพบวิธีใช้ประโยชน์จาก Focus Sessions ใน Windows 11 เพื่อการเรียนที่มีประสิทธิภาพ เรียนรู้เคล็ดลับทีละขั้นตอนเพื่อลดสิ่งรบกวน เพิ่มสมาธิ และบรรลุผลการเรียนที่ดีขึ้นด้วยเครื่องมือเพิ่มประสิทธิภาพการทำงานในตัวนี้