GNU / Linux สำหรับผู้เริ่มต้น: ระบบเสียงทำงานอย่างไร

หนึ่งในสิ่งที่ฉันรู้สึกสับสนเกี่ยวกับ GNU / Linux ระหว่างการเปลี่ยนจากการใช้ Windows เป็นระบบปฏิบัติการหลักของฉันไปใช้ GNU / Linux คือการทำงานของเสียง

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

เสียงใน GNU / Linux มาไกลและในปัจจุบันการทำงานค่อนข้างดีเมื่อพูดถึงความเรียบง่ายที่ผู้ใช้โยกย้ายจาก Windows คุ้นเคยกับ; แต่ก็ยังมีความแตกต่างและเงื่อนไขที่ผู้ใช้ใหม่อาจไม่คุ้นเคย

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

เสียงใน Linux

ภาพด้านล่างแสดงให้เห็นว่าเสียงทำงานอย่างไรใน GNU / Linux ซึ่งจะถูกขยายเมื่อ:

โดย Shmuel Csaba Otto Traian, CC BY-SA 3.0, //commons.wikimedia.org/w/index.php?curid=31418026

ALSA

ALSA หมายถึง“ Advanced Linux Sound Architecture” และเป็นรากฐานของเสียงทั้งหมดใน GNU / Linux รุ่นใหม่ กล่าวโดยย่อคือ ALSA เป็นเฟรมเวิร์กที่ไดรเวอร์เสียงสื่อสารผ่านหรือในตัวคุณเองคุณอาจอ้างถึงว่าเป็นไดรเวอร์เสียงเอง ประเภทของ

มีอีกระบบที่ค่อนข้างคล้ายกันที่เรียกว่า OSS (Open Sound System) ที่บางคนยังคงต้องการ แต่ส่วนใหญ่จะถูกเลิกใช้แล้วและไม่ค่อยได้ใช้อีกต่อไป

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

เซิร์ฟเวอร์เสียง

PulseAudio

PulseAudio มาพร้อมกับระบบปฏิบัติการ GNU / Linux ทุกรุ่น Ubuntu, Opensuse, Manjaro, Mageia, Linux Mint และอื่น ๆ ทั้งหมดใช้ PulseAudio เช่น

ฉันไม่ชอบอ้างอิง Wikipedia แต่คำอธิบายที่ดีของ PulseAudio สามารถพบได้ในคำที่ดีกว่าที่ฉันอาจเคยใช้ ...

“ PulseAudio ทำหน้าที่เป็นเซิร์ฟเวอร์เสียงโดยมีการสร้างกระบวนการพื้นหลังที่รับอินพุตเสียงจากแหล่งใดแหล่งหนึ่ง (กระบวนการ, อุปกรณ์จับภาพ ฯลฯ ) กระบวนการพื้นหลังจะเปลี่ยนเส้นทางแหล่งเสียงที่กล่าวถึงไปยังอ่างล้างมือหนึ่งตัวหรือมากกว่า (การ์ดเสียง, เซิร์ฟเวอร์ PulseAudio เครือข่ายระยะไกลหรือกระบวนการอื่น ๆ )

โดยพื้นฐานแล้ว PulseAudio จะนำเสียงที่ได้รับจาก ALSA ไปยังลำโพงหูฟัง ฯลฯ

หากไม่มี PulseAudio โดยทั่วไปแล้ว ALSA สามารถส่งเสียงไปยังที่เดียวได้ครั้งละแห่งเท่านั้น ในทางกลับกัน PulseAudio อนุญาตให้เสียงมาจากหลายแหล่งพร้อมกันและส่งออกไปยังหลาย ๆ ที่ในเวลาเดียวกัน

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

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

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

JACK

JACK ย่อมาจาก JACK Audio Connection Kit JACK เป็นอีกเซิร์ฟเวอร์เสียงที่คล้ายกับ PulseAudio แต่มีการใช้กันอย่างแพร่หลายในหมู่ดีเจและผู้เชี่ยวชาญด้านเสียง มันค่อนข้างเทคนิคมากกว่านี้เล็กน้อย แต่มันสนับสนุนสิ่งต่าง ๆ เช่นความหน่วงแฝงที่ต่ำกว่าระหว่างอุปกรณ์และมีประโยชน์มากสำหรับการเชื่อมต่ออุปกรณ์หลายเครื่องเข้าด้วยกัน (เช่นฮาร์ดแวร์มิกเซอร์สแครชลำโพง ฯลฯ สำหรับมืออาชีพ) คนส่วนใหญ่ไม่จำเป็นต้องใช้แจ็ค PulseAudio ทำงานได้ค่อนข้างดีเว้นแต่คุณจะต้องการ JACK สำหรับสิ่งที่เฉพาะเจาะจง

ความคิดสุดท้าย

เสียงใน GNU / Linux 'เสียง' ซับซ้อนกว่าจริง ๆ (ดูสิ่งที่ฉันทำที่นั่น) และหวังว่าบทความนี้จะช่วยให้สิ่งต่าง ๆ มีความหมายมากขึ้นเมื่อคุณท่องเว็บและเห็นชื่อเช่น ALSA หรือ PulseAudio โยนไปรอบ ๆ !

สนุก!