问题标签 [vst]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Delphi ASIO VST 和 MiniHost 的 Midi 时序问题
我来自使用MSC* MidiSequencer进行 Delphi XE2 项目的背景,并且本周末一直在玩 DelphiASIOVST,因为 MIDI 可能足够稳定,可以用作我的核心 MIDI 引擎,同时还允许我支持 VST 插件ins。经过一些路径调整后,我将 D16 主干从 SVN 中拉出并毫不费力地进行了编译。
我了解我所看到的很多内容,但我想知道其他人是否在 MiniHost 示例应用程序中遇到过 MIDI 文件播放问题。特别是在单轨旋律演奏中,听起来好像音符被跳过和/或播放得比其他正在播放的音符稍晚一些。基本上,如果一个音符被弹奏,它只是命中或未命中。
我的机器上有许多专业音序器,MIDI 文件在那里很好。他们还支持 VST,几乎没有问题。我也知道 MIDI 最低级别的文件格式,并且知道文件结构是合理的。
TMidiFile 可以直接播放到计算机中的标准 MIDI 合成器吗?我试图通过直接连接到内置合成器的管道来排除 VST 问题。除此之外,是否有人看到这些问题或知道使用组件集将 MIDI 文件转换为 VST 的更多/更好的示例?
xcode - VSTGUI 4.0.1 XCODE 4.5 和 MacOSX 10.8 故障
那是我第一次使用堆栈溢出,因为我在 MacOSX 10.8 上使用 GUI 开发 VST 插件时遇到问题。我是 mac 开发的新手,我不知道为什么我会因为使用 VSTGUI 4.0.1 编译和链接我的产品而出现以下错误。
有什么想法有什么问题吗?
谢谢
克里斯
vst - 离线处理——文件加载,非实时算法
我正在实现一种音频算法来将音符与复音录音(如旋律)分开。我的计划是让它成为一个 VST 插件。研究文档,我很难弄清楚我将如何实现非实时任务。所需的任务是加载波形文件并对其进行非实时分析,然后才能对其进行实时循环和操作。应该可以随时加载新文件。
很难找到有关该主题的信息。如果有人有经验并可以给我一个提示:
- VST可以做到这一点吗?SDK 提供离线处理,但 DAW 似乎不支持它。
- 如果我让我的程序成为一个独立的程序,我如何将它与 VST 主机同步?
- 有谁知道一本好书,详细的?
math - sqrt() VST-Plugin MATH - sqrt() 的损失增益?
使用“sqrt()”的计算是否可能会影响输出增益?这是我的代码:(带有全景调整的 MS 工具)
在这种情况下,输入/输出增益稍有不同。有什么建议吗?
谢谢
c++ - 计算 VST 的三角波表
我正在为一个项目创建一个 VST,并尝试创建一个振荡器产生锯齿波、脉冲、正弦波和三角波形式。我到处寻找,似乎找不到任何有用的东西(对我来说),主要是因为我很难理解它。
到目前为止,我...
我只是在努力使用它来创建正确的波形。
我试着做:
这是基于我所关注的书的有根据的猜测,但会产生失真的声音。
如果有人做过类似的事情可以提供帮助,或者向我指出一个新手教程,用于涵盖波表生成等的所有声音合成,将不胜感激。
谢谢。
audio-processing - 如何在 VSTGUI 上处理 VUMeter?
我在 Xcode 4.5 上,无法在 VSTGUI 上使用简单的 VU Meter。我没有找到有关如何将值从流程循环发送到 CVuMeter 函数的文档。
我前段时间在KVR开了一个帖子: VUMETER and GUI
我使用的代码运行良好,构建时没有问题或错误。但是:我不能让它工作到现在。这段代码有什么问题?VU Meters 不会更新....
c++ - 主机不会加载 VST 插件效果
我一直在尝试编写一个简单的 VST 插件。它不需要任何花哨的界面,只需几个控件。但我不知道从哪里开始。开始巨大的文字墙。
我一直在网上搜索有关该主题的信息和指南,但到目前为止我发现的最好的是this和this page。虽然它们很好,但我似乎无法使用这些资源重新创建程序。
作为参考,我使用的是 VST SDK 3.5.2 和 MSVC 2010。
我将该文件夹添加\public.sdk\source\vst2.x
到我的项目中(其中包括 audioeffect 和 vstplugmain 的源代码)。我真的希望在某个地方有一个简单的项目符号列表,说明您需要做什么才能使有效的 VST 插件效果正常工作/正确导出等。
我提供的前两个链接很好地完成了它,但从那时起创建 VST 的方法似乎发生了变化。这是我的程序的骨架,它在编译时不会被我的 VST 主机识别(加载时出错)。
谐波调制器.h
谐波调制器.cpp
好的,我使用的“方法”是:根据前面的两个指南,要制作一个成功的插件,您至少需要从 audio effectx 和 override 派生您的插件process()
并processReplacing()
进行实际处理。
其余的被添加,希望它能做点什么。此外,导出的函数createEffectInstance()
返回插件的新实例。vstplugmain.cpp
包含一个 dllmain 和一个导出函数,该函数VstPlugMain
接收一个 audiomastercallback 并返回createEffectInstance(callback)
。
IMO,这似乎是之前提供的两个指南的一种工作方法和重新创建(据我所知)。插件已定义,并且在插件和主机之间有一个接口,允许创建它的实例。我错过了什么?指南说这就是你所需要的。
这是不同版本的 VST 之间的区别吗?2/3?
所以我无法让捆绑的 VstPluginTestHost 工作,它无法找到我的 VST。我尝试了验证器,并逐步完成,我发现由于我的程序没有导出一个名为 的函数GetPluginFactory
,所以它被丢弃了。好的,可以理解,但没有任何指南对此有任何说明。
搜索无穷无尽的源代码,似乎一些 VST 源代码在底部添加了这个神秘的段落(代码取自 AGainSimple.cpp):
这似乎导出了一个接口,该接口为主机提供了一些基本信息和一个用于创建插件的接口。但。我以为createEffectInstance
这样做了。现在有一个名为createInstance
. 有区别吗?函数签名建议createInstance
不接收 audiomaster 回调,因此无法实例化 AudioEffect 的任何派生(在其构造函数中将其作为参数) - 我在harmonicmodulator.h 中提供了该函数,已注释掉。
此外,我注意到许多较新的来源包括另一个“主”cpp 文件(dllmain.cpp, in \public.sdk\source\main
,它定义了InitModule
and的导出DeInitModule
,但现在没有createEffectInstance
了。这让我头晕目眩。它们似乎也来自AudioEffect
(no x) 或SingleComponentEffect
(似乎要复杂得多?大声笑)。
begin_factory
最重要的是,由于许多丢失的常量和定义存在于许多不同的文件中,我似乎无法让这些东西正常工作。您是否应该将整个 SDL 添加到您的项目中?那是 6,000 个文件。
TL;博士
没有什么真正有效,我似乎无法获得线索。捆绑的源示例可以工作,但它们都以不同的方式接近创建 VST 的“方法”。说真的,任何指导或帮助将不胜感激。我正在尝试将其创建为应用程序的一部分,并且我已经完成了其他所有工作。
c++ - Juce vst synth:无法实例化抽象类
我在 Introjucer 中为简单的 vst 合成器生成了源文件和项目文件。代码编译时出现一个奇怪的错误:错误 C2259:'SimpleSynthAudioProcessor':无法实例化抽象类
编译器认为 SimpleSynthAudioProcessor 是一个抽象类,但事实并非如此!
这是我的那个类的头文件:http: //pastebin.com/Ge2sHAWq
这是上面类的基类的头文件:http: //pastebin.com/UKC7h5P5
我很久没有用 C++ 编码了,但无论如何我看不出这段代码有任何问题。
audio - Steinberg 的 VST SDK Qs [获取帧数]
我一直在互联网上搜索以得到这个,但没有白费。
我正在使用 C++ 中的 Steinberg 的 VST SDK。我正在开发一个效果插件,我需要知道声音文件的长度,即其中的帧数。所以我从 processReplacing 函数中知道块大小或(sampleFrames)。
任何人都知道如何获得整个声音文件中的总帧数?
我在这里先向您的帮助表示感谢,
c++ - VST GUI 推子/滑块未更新
我有一个大学作业,要求我使用 VST SDK 2.4 构建一个简单的加法合成器。
到目前为止,我已经将部分相加和一个信封。
我认为信封有效,但不确定,因为它根据推子/滑块位置拉动其值,而且他们似乎不想打球。
我确信这与我的值/范围缩放有关,因为延音滑块似乎工作。
我可能花了太长时间重新检查我的代码,但无法解决问题。
不确定哪些代码会有用,所以我刚刚附上了很多。
任何帮助是极大的赞赏。
提前致谢,
本。
ADSR.h
ADSR.cpp
VST_Plug_in.h
VST_Plug_in.cpp