Jack Audio Connection Kit 1.9.10

ใบ อนุญาต: ฟรี ‎ขนาดแฟ้ม: N/A
‎คะแนนจากผู้ใช้: 2.6/5 - ‎14 ‎โหวต

JACK เป็นเซิร์ฟเวอร์เสียงที่มีเวลาแฝงต่ําซึ่งเขียนขึ้นสําหรับระบบปฏิบัติการใด ๆ ที่ตรงตามมาตรฐาน POSIX อย่างสมเหตุสมผล ขณะนี้มีอยู่สําหรับ Linux, OS X, Solaris, FreeBSD และ Windows มันสามารถเชื่อมต่อแอปพลิเคชันไคลเอนต์หลายกับอุปกรณ์เสียงและอนุญาตให้พวกเขาแบ่งปันเสียงซึ่งกันและกัน ไคลเอนต์สามารถทํางานเป็นกระบวนการแยกต่างหากเช่นแอปพลิเคชันปกติหรือภายในเซิร์ฟเวอร์ JACK เป็น & quot;ปลั๊กอิน" แจ็คได้รับการออกแบบจากพื้นดินขึ้นสําหรับการทํางานเสียงระดับมืออาชีพและการออกแบบมุ่งเน้นไปที่สองประเด็นสําคัญ: การดําเนินการแบบซิงโครนัสของลูกค้าทั้งหมดและการทํางานเวลาแฝงต่ํา ตามเนื้อความมันเป็นเรื่องยากถ้าไม่สามารถเขียนแอปพลิเคชันเสียงที่สามารถแบ่งปันข้อมูลซึ่งกันและกัน นอกจากนี้การกําหนดค่าและการจัดการฮาร์ดแวร์อินเทอร์เฟซเสียงมักจะเป็นหนึ่งในแง่มุมที่ซับซ้อนที่สุดของการเขียนซอฟต์แวร์เสียง แจ็คเปลี่ยนทั้งหมดนี้โดยการให้ API ที่ทําหลายสิ่ง: 1.ให้นามธรรมระดับสูงสําหรับโปรแกรมเมอร์ที่ลบฮาร์ดแวร์อินเตอร์เฟซเสียงจากภาพและช่วยให้พวกเขามีสมาธิในการทํางานหลักของซอฟต์แวร์ของพวกเขาของ 2.ช่วยให้การใช้งานที่จะส่งและรับข้อมูลเสียงไปยัง/จากกันและกันเช่นเดียวกับอินเตอร์เฟซเสียงของ ไม่มีความแตกต่างในวิธีที่แอปพลิเคชันส่งหรือรับข้อมูลไม่ว่าจะมาจาก / ไปที่แอปพลิเคชันอื่นหรืออินเทอร์เฟซเสียง สําหรับโปรแกรมเมอร์ที่มีประสบการณ์ของ API เสียงอื่น ๆ อีกมากมายเช่น PortAudio, CoreAudio ของ Apple, VST และ ASIO ของ Steinberg รวมถึงคนอื่น ๆ อีกมากมาย JACK นําเสนอรุ่นที่คุ้นเคย: โปรแกรมของคุณมีฟังก์ชั่น & quot;callback" ที่จะดําเนินการในเวลาที่เหมาะสม การโทรกลับของคุณสามารถส่งและรับข้อมูลรวมถึงทํางานประมวลผลสัญญาณอื่น ๆ คุณไม่รับผิดชอบในการจัดการอินเทอร์เฟซเสียงหรือเธรดและไม่มี & quot;การเจรจารูปแบบ": ข้อมูลเสียงทั้งหมดภายใน JACK จะแสดงเป็นค่าจุดลอยตัว 32 บิต สําหรับผู้ที่มีประสบการณ์ที่หยั่งรากลึกในโลก Unix JACK นําเสนอ API ที่ไม่คุ้นเคย API Unix ส่วนใหญ่จะขึ้นอยู่กับรูปแบบการอ่าน / เขียนที่วางไข่โดย & quot; ทุกอย่างเป็นไฟล์ & quot; นามธรรมที่ Unix มีชื่อเสียงอย่างถูกต้อง ปัญหาเกี่ยวกับการออกแบบนี้คือมันล้มเหลวที่จะคํานึงถึงลักษณะเรียลไทม์ของอินเทอร์เฟซเสียงหรือแม่นยํายิ่งขึ้นมันล้มเหลวในการบังคับให้นักพัฒนาแอปพลิเคชันให้ความสนใจอย่างเพียงพอกับแง่มุมของงานของพวกเขา นอกจากนี้ยังเป็นเรื่องยากที่จะอํานวยความสะดวกในการกําหนดเส้นทางเสียงระหว่างแอปพลิเคชันเมื่อโปรแกรมที่แตกต่างกันไม่ได้ทํางานแบบซิงโครนัสทั้งหมด การใช้ JACK ภายในโปรแกรมของคุณนั้นง่ายมากและโดยทั่วไปจะประกอบด้วยเพียง: - jack_client_open() เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ JACK - การลงทะเบียน & quot;พอร์ต & quot; เพื่อให้สามารถย้ายข้อมูลไปยังและจากแอปพลิเคชันของคุณ - การลงทะเบียน & quot;ประมวลผลการเรียกกลับ & quot; ซึ่งจะถูกเรียกในเวลาที่เหมาะสมโดยเซิร์ฟเวอร์แจ็ค - บอกแจ็คว่าแอปพลิเคชันของคุณพร้อมที่จะเริ่มประมวลผลข้อมูล มีหลายสิ่งที่คุณสามารถทําได้ด้วยอินเทอร์เฟซของ JACK แต่สําหรับแอปพลิเคชันจํานวนมากนี่คือทั้งหมดที่จําเป็น ตัวอย่างsimple_client.cแสดงให้เห็นถึงความสมบูรณ์ (ง่าย!) แอปพลิเคชัน JACK ที่เพิ่งคัดลอกสัญญาณที่มาถึงพอร์ตอินพุตไปยังพอร์ตเอาต์พุต ในทํานองเดียวกัน inprocess.c วิธีการเขียนไคลเอ็นต์ภายใน & quot;plugin" ที่ทํางานภายในกระบวนการเซิร์ฟเวอร์ JACK

ประวัติรุ่น

  • เวอร์ชัน 0.109.2 โพสต์เมื่อ 2008-01-30
    การแก้ไขและการอัปเดตหลายรายการ
  • เวอร์ชัน 0.109.2 โพสต์เมื่อ 2008-01-30

รายละเอียดหลักสูตร