เรื่องราวที่น่าหงุดหงิดมากคือการเจอปัญหาเสียงบน Ubuntu มันป้องกันไม่ให้คุณเพลิดเพลินกับเพลง ดูวิดีโอ และทำให้เกมวิดีโอขาดความสมจริง
แย่ที่สุดคือ ปัญหาเสียงมักยากต่อการแก้ไข แต่หากใช้วิธีการที่ถูกต้อง จะสามารถแก้ไขออดิโอที่ไม่ทำงานใน Ubuntu ได้
ทำไมปัญหาเสียงจึงเกิดขึ้นใน Ubuntu?
ปัญหาเสียงใน Ubuntu อาจเกิดจากหลายสาเหตุ แต่โดยทั่วไปเกิดจากการตั้งค่าเสียงผิดพลาด หรือแอปพลิเคชันจัดการออดิโอทำงานไม่ถูกต้อง
ก่อนทำการแก้ไขขั้นสูง คุณควรตรวจสอบก่อนว่าเสียงไม่ได้ถูกปิดเสียง (mute) ถามตัวเองว่า:
- คีย์บอร์ดของฉันมีสวิตช์หรือปุ่มปิดเสียงหรือไม่? หากมี ให้กดปุ่มและตรวจสอบว่าปัญหาเสียงหายไปหรือไม่
- ฉันปิดเสียงแอปพลิเคชันที่เล่นเสียงไว้หรือไม่? หากโปรแกรมไม่เล่นเสียง ให้ตรวจสอบใน Settings > Sound (การตั้งค่า > เสียง) ว่าถูกปิดเสียงหรือไม่ หากเว็บไซต์เฉพาะไม่มีเสียง ให้คลิกขวาที่แท็บเบราว์เซอร์และปิดใช้งาน Mute Tab (ปิดเสียงแท็บ)
- เสียงถูกปิดสำหรับระบบทั้งหมดหรือไม่? คลิกที่มุมขวาบนของหน้าจอ และตรวจสอบว่าเสียงถูกปิดในเมนูป๊อปอัปหรือไม่
หากปัญหาเสียงของคุณไม่ได้ง่ายแค่เสียงถูกปิดโดยไม่ได้ตั้งใจ คุณจะต้องผ่านกระบวนการแก้ไขปัญหาหลายขั้นตอน เพื่อค้นหาว่าอะไรอาจผิดพลาด อุปกรณ์เอาต์พุต ไดรเวอร์ออดิโอ และเฟรมเวิร์กระบบอย่าง ALSA ล้วนอาจเป็นสาเหตุของปัญหาเสียง
นี่คือวิธีแก้ไขที่เป็นไปได้บางส่วน:
1. ตรวจสอบการตั้งค่าอุปกรณ์เอาต์พุต (Output Device)
สาเหตุทั่วไปที่สุดที่อุปกรณ์เอาต์พุตเสียงไม่ทำงานคือ ไม่ได้ถูกเลือกโดยอัตโนมัติใน Ubuntu คุณสามารถตรวจสอบได้โดยไปที่ Settings > Sound และเลื่อนลงไปที่ Output คลิกที่รายการแบบดรอปดาวน์เพื่อดูอุปกรณ์เอาต์พุตที่ตรวจพบทั้งหมด
หากอุปกรณ์เอาต์พุตของคุณไม่ได้ถูกตรวจพบ ให้ลองถอดและเสียบใหม่ ทดสอบอุปกรณ์เอาต์พุตแต่ละตัวในรายการดูว่าทำงานได้หรือไม่
2. ลองใช้อุปกรณ์เอาต์พุตตัวอื่น
หากอุปกรณ์เอาต์พุตที่แสดงในรายการไม่มีตัวไหนทำงาน และการเสียบอุปกรณ์เสียงใหม่ก็ไม่ช่วย คุณควรลองใช้อุปกรณ์เอาต์พุตตัวอื่น
ไม่ค่อยแปลกที่ปัญหาเสียงจะเกิดจากสายเคเบิลชำรุด หากคุณมีเดสก์ท็อปที่มีพอร์ตออดิโอหลายพอร์ต คุณควรลองเสียบอุปกรณ์เสียงเข้าพอร์ตอื่นดู
3. ตรวจสอบว่าการ์ดเสียง (Sound Card) ถูกตรวจพบหรือไม่
ปัญหาเสียงบางครั้งเกิดใน Ubuntu เมื่อการ์ดเสียงไม่ถูกตรวจพบ หรือขาดไดรเวอร์ที่เหมาะสม ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลและค้นหาอุปกรณ์ที่แสดงเป็น "audio controller" หรือ "audio device":
sudo lspci
คุณยังสามารถลอง sudo lspci | grep 'audio' ได้ แต่มีโอกาสเล็กน้อยที่อาจไม่จับการ์ดเสียงได้ หากคุณไม่เห็นอุปกรณ์เสียงในรายการอุปกรณ์ที่พิมพ์ออกมาในเทอร์มินัล การ์ดเสียงของคุณอาจไม่มีไดรเวอร์ที่ถูกต้องติดตั้งอยู่
หากคุณไม่ได้ติดตั้งการ์ดเสียงแยกต่างหาก คุณสามารถสมมติได้ว่าการ์ดเสียงในคอมพิวเตอร์ของคุณน่าจะเป็นอันที่มาพร้อมกับมاذเออร์บอร์ด (built-in) คุณสามารถกำหนดไดรเวอร์ที่ต้องการได้โดยหามاذเออร์บอร์ดด้วย lspci และค้นหาว่าการ์ดเสียงตัวไหนติดตั้งอยู่บนมاذเออร์บอร์ดนั้น
4. ตรวจสอบการตั้งค่า Alsamixer
ALSA คือเฟรมเวิร์กที่จัดการกลไกพื้นฐานของออดิโอในระบบของคุณ น่าเสียดายที่มันไม่ได้ถูกกำหนดค่าอย่างถูกต้องเสมอไป คุณสามารถดูการกำหนดค่า ALSA ปัจจุบันได้โดยพิมพ์คำสั่ง:
alsamixer
อินเทอร์เฟซ Alsamixer จะปรากฏในเทอร์มินัล คุณสามารถกด F6 เพื่อเปลี่ยนการ์ดเสียงที่ใช้งาน — อาจจำเป็นสำหรับบางビルด์ของ PC คุณสามารถใช้ปุ่มลูกศรซ้ายและขวาเพื่อนำทางระหว่างควบคุมระดับเสียง ควบคุมที่ถูกปิดเสียงจะถูกทำเครื่องหมายว่า MM ตรวจสอบให้แน่ใจว่าควบคุมหลัก (master) และควบคุมอุปกรณ์เสียงของคุณไม่ได้ถูกปิดเสียง
5. รีสตาร์ท ALSA และ Sound Server ของคุณ
บริการระบบอย่าง PipeWire ทำงานร่วมกับ ALSA เพื่อรองรับเสียง แต่ไม่ได้ทำงานถูกต้องตลอดเวลา การตรวจสอบสถานะของบริการเหล่านี้อาจช่วยให้คุณเข้าใจว่าทำไมลำโพงถึงไม่ทำงาน
ขั้นแรก คุณต้องตรวจสอบว่าระบบของคุณใช้ Sound Server อะไร ด้วยคำสั่ง:
lsof /dev/snd/*
คำสั่งข้างต้นจะแสดงรายการไฟล์ที่เปิดอยู่ในไดเรกทอรีของไฟล์อุปกรณ์เสียง คุณจะเห็นหนึ่งในสองคำว่า PipeWire หรือ PulseAudio ระบบใหม่ๆ ใช้ PipeWire — แต่ระบบเสียงใดก็ดี ทั้งคู่ใช้ได้ ขั้นต่อไป คุณต้องรีสตาร์ทบริการเหล่านี้ (และตรวจสอบสถานะ) ด้วยคำสั่ง:
systemctl restart --user pipewire.service
systemctl restart --user wireplumber.service
systemctl status --user pipewire.service
systemctl status --user wireplumber.service
sudo alsa force-reload
แทนที่ user ด้วยชื่อผู้ใช้ของคุณ หากระบบของคุณใช้ระบบเสียง PulseAudio ให้แทนที่ pipewire.service ด้วย pulseaudio.service และข้ามการตรวจสอบ wireplumber.service
6. ติดตั้งใหม่ ALSA และ Sound Server
คุณอาจต้องติดตั้งใหม่ ALSA และ Sound Server หากการรีสตาร์ทไม่ช่วย สามารถทำได้ด้วยคำสั่ง:
sudo apt-get remove --purge alsa-base pipewire
sudo apt-get install alsa-base pipewire
เช่นเดียวกับก่อนหน้านี้ คุณควรแทนที่ pipewire ด้วย pulseaudio หากระบบของคุณใช้ Sound Server ตัวนั้น พิจารณาใช้คำสั่ง systemctl เพื่อตรวจสอบสถานะ PipeWire/PulseAudio และเริ่มบริการหากจำเป็น
เพลิดเพลินกับประสบการณ์การฟังที่ง่ายดายใน Ubuntu
มีจำนวนมากของเหตุผลที่ซับซ้อนอย่างนาน่าประหลาด ที่ Ubuntu อาจไม่สร้างเสียงออกมา สดชื่นใจที่คุณสามารถแก้ไขปัญหาออดิโอส่วนใหญ่ใน Ubuntu ด้วยขั้นตอนการแก้ไขปัญหาพื้นฐานได้
หากคุณไม่สามารถแก้ไขระบบของคุณด้วยการแก้ไขปัญหาพื้นฐาน การโพสต์เธรดในฟอรัมอาจช่วยให้คุณกลับไปเพลิดเพลินกับเพลงและวิดีโอโปรดบนระบบ Ubuntu ของคุณได้