VST Plugins สร้างขึ้นมาได้อย่างไร?


106

ฉันต้องการสร้าง (หรือเรียนรู้วิธีการสร้าง) ปลั๊กอิน VST มี SDK พิเศษสำหรับสิ่งนี้หรือไม่? วิธีหนึ่งให้ผลตอบแทนเป็น. vst แทนที่จะเป็น. exe นอกจากนี้หากใครต้องการสร้าง Audio Units สำหรับ Logic Pro จะทำได้อย่างไร? ขอบคุณ

คำตอบ:


51

เริ่มต้นด้วยลิงก์นี้ไปยัง wiki อธิบายว่าคืออะไรและให้ลิงก์ไปยัง sdk นี่คือข้อมูลบางส่วนเกี่ยวกับ deve

วิธีรวบรวมปลั๊กอิน - สำหรับการสร้างปลั๊กอิน VST ใน C ++ Builder ก่อนอื่นคุณต้องมี VST sdk โดย Steinberg หาได้จากเว็บไซต์ของ Yvan Grabit (ลิงก์อยู่ที่ด้านบนสุดของหน้า)

สิ่งต่อไปที่คุณต้องทำคือสร้างไฟล์. dev (ตัวอย่างเช่น myplugin.def) สิ่งนี้จำเป็นต้องมีอย่างน้อยบรรทัดต่อไปนี้:

EXPORTS main=_main

คอมไพเลอร์ Borland เพิ่มขีดล่างให้กับชื่อฟังก์ชันและสิ่งนี้จะส่งออกmain()ฟังก์ชันตามที่โฮสต์ VST คาดไว้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์. dev โปรดดูที่ไฟล์วิธีใช้ C ++ Builder

นี่ยังไม่เพียงพอ หากคุณจะใช้องค์ประกอบ VCL (อะไรก็ตามที่เกี่ยวข้องกับฟอร์มหรือส่วนประกอบ) คุณต้องดูแลปลั๊กอินของคุณไม่ให้ Cubase ผิดพลาด (หรือโฮสต์ VST อื่นสำหรับเรื่องนั้น) วิธีการมีดังนี้

  1. รวม float.h.
  2. ในตัวสร้างของคลาสเอฟเฟกต์ของคุณให้เขียน

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

ที่ควรทำเคล็ดลับ

นี่คือไซต์ที่มีประโยชน์เพิ่มเติม:

http://www.steinberg.net/en/company/developer.html

วิธีเขียนปลั๊กอิน vst (pdf)ผ่านhttp://www.asktoby.com/#vsttutorial


1
ลิงก์สองลิงก์ของคุณยังไม่เสร็จสมบูรณ์โปรดแก้ไข
tiboo

45

ฉันรู้ว่านี่มีอายุ 3 ปีแล้ว แต่สำหรับทุกคนที่อ่านตอนนี้: อย่ายึดติดกับ VST, AU หรือรูปแบบของผู้ขายใด ๆ Steinberg เลิกสนับสนุน VST2 แล้วและผู้คนกำลังประสบปัญหาในการย้ายรหัสไปยังรูปแบบที่ใหม่กว่าเพราะมันเชื่อมโยงกับ VST2 มากเกินไป

บทช่วยสอนเหล่านี้ครอบคลุมการสร้างปลั๊กอินที่ทำงานบน Win / Mac, 32/64 รูปแบบปลั๊กอินทั้งหมดจากฐานรหัสเดียวกัน


บทช่วยสอนนั้นดูเหมือนจะเป็นเฉพาะ Mac เท่านั้น
liftarn

6
สำหรับส่วนที่มีความแตกต่างบทแนะนำจะครอบคลุมทั้ง Mac และ Windows ผู้เขียนใช้ Mac แม้ว่า
basteln

29

ฉันเขียนHOWTO สำหรับการพัฒนา VST บน C ++ ด้วย Visual Studioสักครู่ซึ่งมีรายละเอียดขั้นตอนที่จำเป็นในการสร้างปลั๊กอินพื้นฐานสำหรับแพลตฟอร์ม Windows (เวอร์ชัน Mac ของบทความนี้กำลังจะมาถึง) ใน Windows ปลั๊กอิน VST เป็นเพียง DLL ธรรมดา แต่มี "gotchas" จำนวนหนึ่งและคุณต้องสร้างปลั๊กอินโดยใช้สวิตช์คอมไพลเลอร์ / ตัวเชื่อมต่อที่เฉพาะเจาะจงมิฉะนั้นบางโฮสต์จะไม่รู้จัก

สำหรับ Mac ปลั๊กอิน VST เป็นเพียงกลุ่มที่มีนามสกุล. vst แม้ว่าจะมีการตั้งค่าบางอย่างที่ต้องกำหนดค่าอย่างถูกต้องเพื่อสร้างปลั๊กอินที่ถูกต้อง คุณยังสามารถดาวน์โหลดชุดแม่แบบโครงการปลั๊กอิน Xcode VST ที่ฉันทำไว้เมื่อสักครู่ซึ่งสามารถช่วยคุณในการเขียนปลั๊กอินที่ใช้งานได้บนแพลตฟอร์มนั้น

สำหรับ AudioUnits นั้น Apple ได้จัดเตรียมเทมเพลตโครงการของตนเองซึ่งมาพร้อมกับ Xcode Apple ยังมีบทเรียนและเอกสารออนไลน์ที่ดีมาก:

ฉันขอแนะนำอย่างยิ่งให้ตรวจสอบJuce Frameworkซึ่งมีการสนับสนุนที่ยอดเยี่ยมสำหรับการสร้างปลั๊กอิน VST / AU ข้ามแพลตฟอร์ม หากคุณกำลังใช้โอเพนซอร์ส Juce เป็นเกมง่ายๆ แต่คุณจะต้องจ่ายค่าธรรมเนียมใบอนุญาตหากคุณวางแผนที่จะเผยแพร่ผลงานของคุณโดยไม่มีซอร์สโค้ด


7

ถ้าคุณรู้ภาษาสุทธิ (C # / VB.NET ฯลฯ ) แล้วเช็คเอาท์VST.NET เฟรมเวิร์กนี้อนุญาตให้คุณสร้างปลั๊กอิน VST 2.4 (ไม่มีการจัดการ) ใน. NET มาพร้อมกับเฟรมเวิร์กที่จัดโครงสร้างและลดความยุ่งยากในการสร้างปลั๊กอิน VST ด้วยการสนับสนุนพารามิเตอร์โปรแกรมและความคงอยู่

มีตัวอย่างหลายตัวอย่างที่แสดงให้เห็นถึงสถานการณ์ปลั๊กอินทั่วไป นอกจากนี้ยังมีเอกสารที่อธิบายถึงวิธีการเริ่มต้นและแนวคิดบางอย่างที่อยู่เบื้องหลัง VST.NET

หวังว่าจะช่วยได้ Marc Jacobi


6

ฉันรู้ว่านี่เป็นโพสต์เก่ามาก แต่ฉันประสบความสำเร็จในการใช้ไลบรารี JUCE ซึ่งสร้างโครงการสำหรับ IDE หลัก ๆ เช่น Xcode, VS และ Codeblocks และสร้าง VST / 3, AU / v3, RTAS และ AAX โดยอัตโนมัติ

https://www.juce.com/


สำหรับผู้ที่สงสัยว่านี่เป็นเส้นทางที่ดีหรือไม่การทำตามบทช่วยสอน OSX ไม่ได้ให้ผลลัพธ์สำหรับฉันมีเพียงข้อผิดพลาดเท่านั้น
ก.ย. รีด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.