ฉันจะทราบได้อย่างไรว่าฉันใช้ alsa หรือชีพจร - เสียงเป็นค่าเริ่มต้น (เปลี่ยนเป็น i3-wm)


50

ฉันอาจไม่เข้าใจแนวคิดหลักซึ่งในกรณีนี้แก้ไขให้ถูกต้องถ้าฉันผิด

Ubuntu มาพร้อมกับเซิร์ฟเวอร์การเรนเดอร์เสียงสองแบบ ได้แก่ พัลส์และอัลซา Alsa เป็นตัวกลางสำหรับการเต้นของชีพจรหรือไม่? โดยพื้นฐานแล้วฉันจำเป็นต้องรู้ว่าฉันใช้อันไหน

เหตุผลที่ฉันต้องรู้คือฉันพยายามเปลี่ยนจากความเป็นเอกภาพเป็น i3-wm ขณะติดตั้ง i3 ฉันพบว่าฉันไม่มีเสียงและเข้ามาในเธรดนี้ มันระบุตัวเลือกต่าง ๆ สำหรับการผูกปุ่มปรับระดับเสียงแล็ปท็อปของฉันขึ้นและลงไปตามหน้าที่การใช้งานและหลังจากฉันแก้ไขด้วยตัวเลือกไม่กี่ตัวที่ฉันได้รับเสียงกระท่อนกระแท่นมากซึ่งเป็นสาเหตุ

คำตอบ:


81

Ubuntu ใช้ทั้ง ALSA และ Pulseaudio สำหรับควบคุมอินพุตและเอาต์พุตเสียง

ALSA

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

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

เราสามารถให้เสียงกับการ์ดเสียงของเราได้ง่ายๆโดยใช้ ALSA โดยไม่ต้องใช้เซิร์ฟเวอร์เสียงของ PulseAudio อีกต่อไป

เสียงชีพจร

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

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

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

การรวมแอพพลิเคชั่น / เดสก์ท็อป

ระบบเสียง Ubuntu สามารถควบคุมได้จากแอปพลิเคชันที่ทำงานจากเดสก์ท็อป Unity / GNOME เช่นแอปเพล็ตควบคุมระดับเสียง

แอปพลิเคชันใดก็ตามที่ใช้การควบคุมเสียงจะขึ้นอยู่กับนักพัฒนาแอปพลิเคชัน แอปพลิเคชั่นบางตัวจะใช้ ALSA เท่านั้นบางคนต้องการ PulseAudio บางตัวต้องใช้ JACK

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

เราอาจต้องติดตั้งแพ็กเกจเพิ่มเติมเช่นpavucontrol ติดตั้ง pavucontrolแอพพลิเคชั่นควบคุมปริมาณที่ใช้ pulseaudio GTK

มี ALSA หรือ PulseAudio อยู่หรือไม่

ทั้ง ALSA และ PulseAudio มาพร้อมกับการใช้บรรทัดคำสั่งเพื่อพิมพ์สถานะของระบบเสียงของเรา

  • PulseAudio:

    pactl list
    
  • ALSA:

    aplay -l
    

ทั้งสองจะให้ข้อผิดพลาดหากระบบเสียงไม่ทำงาน ALSA จะโหลดด้วยเคอร์เนล PulseAudio จะเริ่มในภายหลัง หากไม่ใช่กรณีนี้เราสามารถเริ่ม PulseAudio ด้วยตนเองจากเทอร์มินัลด้วย:

pulseaudio [options]  ## option -D starts the daemon

ในกรณีที่เรามีปัญหาเกี่ยวกับเสียงผมขอแนะนำให้อ่านโพสต์เขียนโดยเดวิด Henningsson ในสิ่งที่เราควรจะได้ทำ befor เราจะไปเพิ่มเติมเพื่อแก้ปัญหาปัญหาเสียงของเรา


1
@ Takkat คำอธิบายที่น่าทึ่งขอบคุณมาก ฉันพยายามทำความเข้าใจพื้นฐานของระบบเสียงใน Linux และ Ubuntu มานานแล้ว
AlexN

ในระบบ raspberry pi ของฉัน "pactl list" จะคืนค่า "การเชื่อมต่อถูกปฏิเสธ" แต่ "pactl --server 127.0.0.1 list" ทำงานได้ การส่งออกตัวแปรสภาพแวดล้อม "PULSE_SERVER = 127.0.0.1" อนุญาตให้ไคลเอนต์ pulseaudio เชื่อมต่ออย่างถูกต้อง ความคิดเห็นใดที่ฉันขาดหายไป นี่คือราสเบอร์รี่ปี่
Joao Costa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.