Steinberg 的 VST SDK Qs [获取帧数]
Posted
技术标签:
【中文标题】Steinberg 的 VST SDK Qs [获取帧数]【英文标题】:Steinberg's VST SDK Qs [getting number of frames] 【发布时间】:2013-01-04 17:04:08 【问题描述】:我一直在互联网上搜索以获取此信息,但没有白费。
我正在使用 Steinberg 的 C++ VST SDK。我正在开发一个效果插件,我需要知道声音文件的长度,即其中的帧数。所以我从 processReplacing 函数中知道了块大小或(sampleFrames)。
void processReplacing (float **inputs, float **outputs, VstInt32 sampleFrames)
有人知道如何获取整个声音文件的总帧数吗?
提前感谢您的帮助,
【问题讨论】:
【参考方案1】:我认为您对 VST 效果插件的实现方式存在误解。
一般来说,VST 是为实时音频处理而设置的,重复调用渲染函数,其值为sampleFrames
,这与系统的处理延迟有关,并且可能在256 或更少。
在实现processReplacing()
时,您将处理结果写入outputs
指向的缓冲区中——这些缓冲区由主机应用程序传递给您,并保证其中有sampleFrames
的空间。
【讨论】:
【参考方案2】:我认为这在效果上是不可能的。你有没有想过制作合成器而不是效果器? 所以你可以提供你自己的样品.. “processReplacing”仅从主机应用程序获取样本,这可能是一切(现场无尽的音乐,样本等) 也许您必须重新考虑您的插件设计。
【讨论】:
以上是关于Steinberg 的 VST SDK Qs [获取帧数]的主要内容,如果未能解决你的问题,请参考以下文章