VST 3 SDK เต็มมีอยู่ที่นี่! มันมี:
แพลตฟอร์มที่รองรับ:
| ระบบปฏิบัติการ | สถาปัตยกรรม | ผู้ประกอบการ | หมายเหตุ |
|---|---|---|---|
| Windows 10/11 | x86, x86_64, arm64 | MSVC 2022, MSVC 2019 | |
| Windows 8.1 | x86, x86_64 | MSVC 2019, MSVC 2017 | |
| MacOS 10.13 - 14 | x86, x86_64, Apple Silicon | xcode 10 - 15 | |
| iOS 13 - iOS 17 | ARM64 | xcode 11 - 15 | |
| Linux - Raspberry Pi OS (Buster) | ARM32 | GCC 8.3 และสูงกว่า | รหัสสตูดิโอภาพ |
| Linux - Ubuntu 18.04 LTS | x86, x86_64 | GCC 8.3 และสูงกว่า | Visual Studio Code, Qt Creator |
| Linux - Ubuntu 20.04 LTS | x86, x86_64 | GCC 8.3 และสูงกว่า | Visual Studio Code, Qt Creator |
ปลั๊กอิน VST เป็นองค์ประกอบการประมวลผลเสียงที่ใช้ภายในแอปพลิเคชันโฮสต์ แอปพลิเคชั่นโฮสต์นี้ให้เสียงหรือ/และสตรีมเหตุการณ์ที่ประมวลผลโดยรหัสปลั๊กอิน โดยทั่วไปแล้วปลั๊กอิน VST สามารถใช้กระแสข้อมูลเสียงใช้กระบวนการกับเสียงและส่งคืนผลลัพธ์ไปยังแอปพลิเคชันโฮสต์ ปลั๊กอิน VST ดำเนินการตามปกติโดยใช้โปรเซสเซอร์ของคอมพิวเตอร์ สตรีมเสียงถูกแบ่งออกเป็นชุดของบล็อก โฮสต์จัดหาบล็อกตามลำดับ โฮสต์และสภาพแวดล้อมปัจจุบันควบคุมขนาดบล็อก ปลั๊กอิน VST รักษาสถานะของพารามิเตอร์ทั้งหมดที่เกี่ยวข้องกับกระบวนการทำงาน: โฮสต์ไม่ได้เก็บข้อมูลใด ๆ เกี่ยวกับสิ่งที่ปลั๊กอินทำกับบล็อกข้อมูลล่าสุดที่ประมวลผล
จากมุมมองของแอปพลิเคชันโฮสต์ปลั๊กอิน VST เป็นกล่องดำที่มีจำนวนอินพุต, เอาต์พุต (เหตุการณ์ (MIDI) หรือเสียง) และพารามิเตอร์ที่เกี่ยวข้อง โฮสต์ไม่ต้องการความรู้โดยนัยเกี่ยวกับกระบวนการปลั๊กอินเพื่อให้สามารถใช้งานได้ กระบวนการปลั๊กอินสามารถใช้พารามิเตอร์ใดก็ได้ที่ต้องการภายในกระบวนการ แต่ขึ้นอยู่กับความสามารถของโฮสต์สามารถอนุญาตให้มีการเปลี่ยนแปลงพารามิเตอร์ผู้ใช้ที่เป็นไปโดยอัตโนมัติโดยโฮสต์
ซอร์สโค้ดของปลั๊กอิน VST เป็นแพลตฟอร์มที่เป็นอิสระ แต่ระบบการจัดส่งขึ้นอยู่กับสถาปัตยกรรมแพลตฟอร์ม:
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ VST ที่คุณสามารถทำได้:
VST 3 เป็นการทำงานร่วมกันทั่วไปของอินเทอร์เฟซปลั๊กอิน VST ที่ให้บริการมานาน มันเข้ากันไม่ได้กับเวอร์ชัน VST รุ่นเก่า แต่มีคุณสมบัติและความเป็นไปได้ใหม่ ๆ เราได้ออกแบบ API ใหม่เพื่อให้ไม่เพียง แต่ง่ายขึ้นและเชื่อถือได้มากขึ้นสำหรับนักพัฒนาที่จะทำงานด้วย แต่ยังได้ให้ความเป็นไปได้ใหม่ ๆ อย่างสมบูรณ์สำหรับปลั๊กอิน เหล่านี้รวมถึง:
การประมวลผลสามารถเลือกได้กับปลั๊กอินเฉพาะเมื่อมีสัญญาณเสียงอยู่ในอินพุตของพวกเขาดังนั้นปลั๊กอิน VST 3 สามารถใช้การประมวลผลได้อย่างประหยัดและเมื่อจำเป็นเท่านั้น
ปลั๊กอิน VST 3 ไม่ จำกัด จำนวนอินพุตและเอาต์พุตจำนวนคงที่อีกต่อไปและการกำหนดค่า I/O ของพวกเขาสามารถปรับให้เข้ากับการกำหนดค่าช่องสัญญาณแบบไดนามิก โซ่ด้านข้างยังสามารถเข้าถึงได้ง่ายมาก ซึ่งรวมถึงความเป็นไปได้ที่จะปิดการใช้งานบัสที่ไม่ได้ใช้หลังจากโหลดและแม้แต่เปิดใช้งานใหม่เมื่อจำเป็น สิ่งนี้ทำความสะอาดเครื่องผสมและช่วยลดการโหลด CPU
VST 3 ยังมีการปรับปรุงระบบอัตโนมัติพารามิเตอร์ที่ได้รับการปรับปรุงอย่างมากมายพร้อมความแม่นยำตัวอย่างและการสนับสนุนสำหรับข้อมูลระบบอัตโนมัติทางลาดทำให้การเปลี่ยนแปลงระบบอัตโนมัติของพารามิเตอร์ที่แม่นยำและรวดเร็วอย่างสมบูรณ์
พารามิเตอร์ปลั๊กอิน VST 3 จะแสดงในโครงสร้างต้นไม้ พารามิเตอร์จะถูกจัดกลุ่มเป็นส่วนที่แสดงถึงโครงสร้างของปลั๊กอิน ปลั๊กอินสามารถสื่อสารโครงสร้างภายในของพวกเขาเพื่อจุดประสงค์ของภาพรวม แต่ยังสำหรับฟังก์ชันการทำงานที่เกี่ยวข้อง (เช่นรายการโปรแกรม)
VST 3 กำหนดวิธีการอนุญาตให้ปรับขนาดตัวแก้ไขปลั๊กอินโดยผู้ใช้
โฮสต์สามารถถามปลั๊กอินที่พารามิเตอร์อยู่ใต้เมาส์
VST 3 กำหนดวิธีการอนุญาตให้โฮสต์เพิ่มรายการของตัวเองในเมนูบริบทของปลั๊กอินของพารามิเตอร์เฉพาะ
ปลั๊กอิน VST 3 สามารถเข้าถึงข้อมูลช่องบางอย่างที่มีการสร้างอินสแตนซ์: ชื่อ, สี, ...
VST 3 กำหนดด้วยหมายเหตุนิพจน์วิธีการแก้ไขคอนโทรลเลอร์เหตุการณ์ใหม่ ปลั๊กอินสามารถหลุดพ้นจากข้อ จำกัด ของกิจกรรมคอนโทรลเลอร์ MIDI ได้โดยให้การเข้าถึงเหตุการณ์คอนโทรลเลอร์ VST 3 ใหม่ที่หลีกเลี่ยงกฎหมายของ MIDI และให้ข้อมูลที่เปล่งออกมาสำหรับแต่ละโน้ต (เหตุการณ์) ในการจัดเรียงโพลีโฟนิกตามหมายเหตุ
VST 3 รองรับการกำหนดค่าลำโพงใหม่เช่น Ambisonic, Atmos, Auro 3D หรือ 22.2
VST 3 ปลั๊กอินไลบรารีสามารถส่งออกปลั๊กอินหลายตัวและด้วยวิธีนี้จะแทนที่แนวคิดเชลล์ของ VST 2 (Kplugcategshell)
ปลั๊กอิน VST 3 สามารถส่งแมปพารามิเตอร์เฉพาะสำหรับการควบคุมระยะไกลเช่น Nuage
ในขณะที่ออกแบบ VST 3 เราทำการวิเคราะห์อย่างระมัดระวังเกี่ยวกับฟังก์ชั่นที่มีอยู่ของ VST และเขียนอินเทอร์เฟซใหม่จากศูนย์ ในการทำเช่นนั้นเรามุ่งเน้นไปที่การจัดหาอินเทอร์เฟซที่ชัดเจนและเอกสารประกอบเพื่อหลีกเลี่ยงข้อผิดพลาดในการใช้งานจากชั้นที่ลึกที่สุดเท่าที่จะเป็นไปได้ คุณสมบัติเพิ่มเติมบางอย่างที่นำมาใช้โดยเฉพาะสำหรับนักพัฒนา ได้แก่ :
git clone -- recursive https: //github.com/steinbergmedia/vst3sdk.git mkdir build
cd build // examples:
cmake . exe - G "Visual Studio 17 2022" - A x64 .. vst3sdk
// or without symbolic links
cmake . exe - G "Visual Studio 17 2022" - A x64 .. vst3sdk - DSMTG_CREATE_PLUGIN_LINK = 0
// or by using the local user program folder (FOLDERID_UserProgramFilesCommon) as VST3 folder
cmake . exe - G "Visual Studio 17 2022" - A x64 - DSMTG_PLUGIN_TARGET_USER_PROGRAM_FILES_COMMON = 1 msbuild . exe vstsdk . sln
// (or alternatively for example for release)
cmake -- build . -- config Releaseหมายเหตุ: หากคุณมีปัญหาใด ๆ กับลิงก์สัญลักษณ์ให้ตรวจสอบการเตรียมการบน Windows สำหรับโซลูชั่นที่มีศักยภาพ
mkdir build
cd build // For XCode:
cmake - GXcode ../ vst3sdk
// Without XCode (here debug variant):
cmake - DCMAKE_BUILD_TYPE = Debug ../ xcodebuild
// (or alternatively for example for release)
cmake -- build . -- config Release mkdir build
cd build cmake ../ vst3sdk make
// (or alternatively for example for release)
cmake -- build . -- config Releaseสำหรับรายงานข้อผิดพลาดและคำขอคุณสมบัติโปรดไปที่ VST Developer Forum
รายละเอียดเพิ่มเติมพบได้ที่ www.steinberg.net/sdklicenses_vst3