使用VST.net与Unity3d创建一个简单的VST主机
我已经成功地简化了 vst.net主机样品直接加载VST仪器.通常,我刚刚剥离了GUI,并使其自动发射一些测试笔记.当我将其作为控制台应用程序构建时,此代码可行. using System; using Jacobi.Vst.Core; using Jacobi.Vst.Interop.Host; using NAudio.Wave; using CommonUtils.VSTPlugin; namespace Jacobi.Vst.Samples.Host { /// /// Gets the answer /// public class pianoVST { /// /// Gets the answer /// public static VST vst = null; /// /// The main entry point
4 2023-11-08
编程技术问答社区
如何开始建立一个VSTi插件?
我想知道我要构建VSTI插件的确切方法.我不希望在短短几周内对下一个大规模进行编码,因为我不知道DSP和非常基本的编程技能.我确定这可能超出了我目前的水平,但我认为如果我给自己一个我对我非常感兴趣的高目标,我会成长为程序员. 说的话,我茫然地从哪里开始.我知道我需要下载Steinberg VST SDK,但是我搜索过的许多其他资源都给出了有关我需要下载哪个框架的相互矛盾的信息,等等. 那么,我需要拥有什么基本工具以及一些好的资源. 我目前正在使用Visual Studio 2013 Ultimate作为我的IDE,我将在C ++中进行编码. 解决方案 设置开发环境和工具以编写VST插件非常耗时.我强烈建议朱奇( http://www.juce.com ),它将抽象大多数VST框架给您的怪异,还提供了为您的IDE生成项目文件的好工具,等等. 朱奇不是县长,但是比手工做的好得多.
72 2023-09-03
编程技术问答社区
我怎样才能以编程方式与VST(i)插件互动来合成音频?
以vsti triforce .当在市场上的任何VST主机中加载时,它允许主机向VSTI发送(大概是MIDI)信号.然后,VSTI将处理由VSTI内的软件仪器创建的信号和输出合成的音频. . 例如,向VSTI发送A4(Midi Note)会导致其合成上述A上方C.它将音频数据发送回VST主机,然后可以在我的扬声器上播放它或将其保存到.wav或其他一些音频文件格式. 假设我有 triforce ,并且正在尝试以我选择的语言编写一个程序,该程序可以通过发送以合成的A4注释来与VSTI进行交互,并自动将其保存到一个在系统上文件? 最终,我希望能够解析整个单轨MIDI文件(使用已建立的,稳定的库已用于此目的),然后将其发送到VSTI中以"呈现"/合成到音频文件中. 我将如何解决这个问题,在中,我应该寻求建立核心框架的语言? 最终,它将用于一个基于Ruby的项目,因此对特定Ruby资源的任何指针也都很好. 但是,我只是想基本上要理解 vSTI的API如何工作. (
6 2023-08-14
编程技术问答社区
在缓冲区内存储数值,在类函数方法中
我正在编程C ++中的VST DSP插件. 我正在在"滤纸库"中创建一系列频段通滤波器.我已经在标题(包括功能)和构建的构造函数/Destructor中实现了一个过滤器类. 我可以将值传递给该方法并将其返回.但是,这些问题涉及将数据存储在功能中的缓冲区中的领域.似乎每次称为函数方法时,存储在缓冲区中的值是重置的(或者首先未正确存储).因此,传递的不是"完整". 任何建议都非常感谢! n.b.这篇文章已使用新代码进行更新: 这是类: class aFilterL { 朋友班级beat_to_midi; 公共: afilterl(); 〜afilterl(); float fOut1_l; float filterOut1_l; float Out_1_l; float Out_2_l; float* buffer_Out_1_l; float* buffer_Out_2_l; 虚拟浮点afiltermethodl(float a
20 2023-05-14
编程技术问答社区
在Windows上设置VST Steinberg SDK
我需要在Visual C ++中编写基本VST插件(2.4).我用谷歌搜索了它,但是我发现的是许多带有死链的弃用描述.谁能向我推荐一个很好的逐步指南,该指南有助于在Windows 7中设置环境(我想使用代码块)并使用测试主机测试插件? 解决方案 vst2.4和SDK的VST3.x版本是不同的.如果要构建2.4 VST插件,则可能需要找到2.4 SDK的副本.正式地,2.4 SDK已被弃用,Steinberg可能已经停止分发它.为了使事情变得困难,斯坦伯格的许可也阻止了第三方分发. 毫无疑问,有关2.x VST插件开发的任何教程都将过时有关最新的3.x SDK和VICE-REVICE. . VST 3.X SDK包含2.x包装器,因此可以将较新的格式插件包装和分发为2.4插件.我无法评论它在实践中的工作状况,因为我没有尝试过.
52 2023-03-17
编程技术问答社区
如何用命令行编译VST 3或音频单元?
我想制作一个音频插件,作为音频单元或VST3.但是,在两个框架下编译插件似乎是一个非常重量的过程,仅提供Xcode或Visual Studio Project Project文件作为示例.是否有使用makefile或cmake脚本编译的准骨构建的示例? 解决方案 您始终可以查看Xcode使用的标志,并用CMAKE将其提供给GCC.但是,实际的构建过程通常比构建工具和依赖分析仪本身要花费更多的时间.尤其是C ++编译器非常慢.
22 2023-03-16
编程技术问答社区
VST C++的嵌套类--构造和包容
我在嵌套课程中需要一些帮助.我问了一个问题,我问在这里 本质上,我有一个" myplugin"课.此课程是我的计划的大部分,包括" processreplacing"函数. 在Process Replacing中,我需要使用DSP过滤信号,目前我正在使用11个过滤器,并且已将11个过滤器(和所有缓冲区)硬编码为Process Replacing. 但是,现在我决定创建一个过滤器类,因此我可以为每个过滤器创建一个新实例,请根据必要并提高我的代码效率. 到目前为止,我几乎没有成功.但是现在我正在使用嵌套的类,如果我能上班,应该意味着其他所有的都应效仿. 标题中的类定义为: class myPlugin : public AudioEffectX { 公共: MyPlugin(AudiomasterCallback Audiomaster); 〜myplugin(); // Processing virtual void processRep
12 2023-03-11
编程技术问答社区
在C#/C++中托管一个VST/DX乐器?
我试图在C ++或C#中构建Bary -tarlose interment主机的努力级别上进行阅读,但我无法获得任何难度.有人知道这种事情的任何好的入门应用程序,教程,助手库吗? 如果重要的话,目标是a)接受传入的MIDI事件,b)将它们派往虚拟工具.在C ++或C#中,如果可能的话. 谢谢! 解决方案 捕获即将到来的MIDI事件使用Leslie Sanford的C#Midi Toolkit(在CodeProject.com上)或My My vst.net 允许您加载并与托管和不受管理的VST(2.4)插件进行加载和通信.您还可以使用可以在不受管理的主机中运行的VST.NET创建托管VST插件. 还有一个简单的C ++开源VST主机,网址为 http://www.hermannseib .com/English/vsthost.htm (页面底部下降) 希望它有帮助. 马克·雅各比(Marc Jacobi) (vst.net的作者) 其他解决方
26 2023-02-27
编程技术问答社区
用C++构建一个最小的VST3主机
我正在努力寻找一个基本示例,讲述了如何使用VST 3.X SDK设置最小插件主机.官方文档绝对是脆弱的,简短的,我无处可去.我想: 了解最小设置:所需的标题,实现的接口,...; 加载一个VST3插件(目前没有花哨的GUI); 打印一些数据(例如插件名称,参数,...). 那将是一个很好的开始:) 解决方案 是的,VST3是神秘的,有记录不足.没有很多好的例子,因为没有多少公司(斯坦伯格除外)实际上关心VST3.但是,除了所有的愤世嫉俗之外,最好的选择是查看朱奇源代码,以查看其实施VST3主机: 该软件包中还有其他一些与VST3相关的文件值得一看.无论如何,这至少应该有足够的信息使您开始使用VST3主机. 值得注意的是,朱斯是GPL(除非您支付许可证),因此,除非您也使用GPL或拥有商业许可证,否则直接从中借用代码是一个很大的禁忌.只是一个友好的提醒,在查看网络上的GPL'D代码时要成为负责任的程序员. :) 其他解决方案 简单的VST3主机已
24 2023-02-25
编程技术问答社区
如何设置Visual Studio来调试DLL("无法启动程序错误")?
基本上,我有一个Visual Studio项目,该项目构建了DLL(VST音频插件).在过去为我设置了这种类型的项目方案的地方,我将能够构建,运行和调试插件. Visual Studio将自动启动我用于托管插件的任何程序.我正在尝试在当前的项目中实现相同的效果,但我不知道该如何设置.当前,当我在Visual Studio中构建DLL并运行DLL时,我会发现"无法启动程序"的错误. DLL仍然可以构建,我仍然可以运行它,但是我不能从Visual Studio进行调试,因为我不知道我在项目设置中需要做什么才能实现这一目标.我该怎么做? 更多信息: 我所知道的是,在成功起作用的项目中,在标记为"前构建事件"和"后构建事件"的字段中对Visual Studio项目设置进行了一些修改,因此我可能想要要做的就是以某种方式编辑这些内容以告诉Visual Studio:"嘿,在尝试运行和调试此DLL之前,您必须启动另一个程序(我的程序称为Max.exe),然后您必须等待直到该程序加载DLL.
26 2023-02-25
编程技术问答社区
每个VST SDK似乎都是针对C++的,那C#呢?
我想开始制作VSTI,更具体地是MIDI - 那些没有发出任何声音的人,而只是将MIDI数据输出到其他VST插头(Arpeggiators,Chord Tools等). 现在,我刚刚为C#购买了书籍,以为这是一种不错的语言(不仅用于VST编程),但是每个人都一直说C ++是必经之路,而VST.NET似乎适用于C ++ ....似乎一切都在我的C#Road上与我不利? 我的脑海中有"编程思维",但是自从我编程,视觉基础,涡轮增压帕斯卡等以来,这是几年前.所以我的开始很干净. 您在这里有什么建议,出售我的新C#书籍(或将其隐藏在书架中)并瞄准C ++,还是C#仍然可以?我一直认为C ++比C#要复杂很多. 顺便说一下,vst.net SDK用于C ++,可以以某种方式用于C#吗? 解决方案 vst.net不适合C ++.你从哪里得到这个主意的?转到vst.net的代码,然后查看样本.这将使事情变得更加清晰 - 我希望. 希望它有帮助. 马克 vst.ne
34 2023-02-24
编程技术问答社区
VST插件是如何制作的?
我想制作(或学习如何制作)VST插件.有特殊的SDK吗?一个人如何产生.vst而不是.exe?另外,如果要为Logic Pro制作音频单元,那该如何完成? 谢谢 解决方案 从此的一些信息 如何编译插件 - 用于在C ++构建器中制作VST插件,首先您需要Steinberg的VST SDK.它可以从Yvan Grabit的网站上获得(该链接在页面顶部). 您需要做的下一步就是创建一个.def文件(例如:myplugin.def).这至少需要包含以下几行: EXPORTS main=_main Borland编译器为功能名称添加了一个下划线,并按照VST主机期望的方式导出main()函数.有关.def文件的更多信息,请参见C ++构建器帮助文件. 这还不够.如果您要使用任何VCL元素(与表单或组件有关),则必须注意您的插件不会崩溃Cubase(或其他VST主机).以下方法: 包括float.h. 在效果类的构造函数中,写 _control87
22 2023-02-24
编程技术问答社区
我怎样才能与VST(i)插件进行程序化的互动来合成音频?
以例如,vsti triforce ,通过tweakbench.在市场上的任何VST主机中加载时,它允许主机向VSTI发送(大概的MIDI)信号.然后,VSTI将处理该信号和输出合成音频,由VSTI内的软件仪器创建. 例如,发送A4(MIDI音符,我认为)到VSTI将导致它合成上级C.它将音频数据发送回VST主机,然后可以在我的扬声器上播放它或将其保存到.wav或其他音频文件格式. 让我们说我有 triforce ,我试图用我的语言编写一个程序,可以通过在要合成的A4笔记中发送,并自动将其保存到VSTI的语言中系统上的文件? 最终,我希望能够解析整个单轨MIDI文件(使用已为此目的的已建立的,稳定的库)并将其发送到VSTI"渲染"/综合到音频文件中. 如何进行这个,并且在语言时,我应该看到核心框架吗? 最终,它将在基于Ruby的项目中使用,因此任何指向特定的Ruby资源的指针也会很好. 但是,我只是想理解到基本 vsti的API如何工作. (我意识到这
1988 2022-07-19
编程技术问答社区
以编程方式从.Net中获取波形或MP3的BPM。
我有一个项目,需要使用.NET(vb.net或c#)以编程方式获取波浪或MP3文件的BPM. 是否有人知道这是一个二进制或库,或者有一个代码片段来朝着正确的方向引导我? 解决方案 在.NET代码中从WAV或MP3获取样本,我使用NAUIO(在CodePlex)中,免费,可用于商业应用程序,没有真实的文档,只是示例代码.
312 2022-07-19
编程技术问答社区
未找到.DLL库
我正在写我的学士论文...它是一个 VST 插件(DLL 库),它依赖于 libfftw3-3.dll(FFT 库).在我的笔记本电脑(64 位 Win7 终极版)上进行测试时,我发现了一个问题……我无法将此 VST 导入任何音乐工作室…… 在我的电脑上,我已经将 VST 插件 dll 和 libfftw3-3.dll 复制到了 VstPlugins 目录中,但是当我尝试导入这个 VST 时,系统告诉我找不到 libfftw3-3.dll. 这不是 COM 对象,所以我无法使用 regsvr32 注册它... 你能帮帮我吗,我做错了什么?我怎样才能让它发挥作用? 解决方案 VST 是一个 COM 组件.它由客户端程序加载,底层调用是 CoCreateInstance().这里的问题是 Windows 只会在与您使用的 DLL 的客户端程序相关的目录中查找.您肯定没有将 DLL 复制到 EXE 的目录中,也不应该. 这是 COM 的一般问题,干净利落地解决它
382 2022-07-17
编程技术问答社区