Juce正在实施重新采样AudioSource
Juce implementing ResamplingAudioSource
我想对JUCE中的缓冲区内的信号进行过采样,在visual basic上运行。http://www.juce.com/about-juce
准确地说:过采样是指在相同的时间内增加样本数量。例如,如果原始文件的频率为44100khz,我希望采样率增加到88200khz。这对于衰减信号中可能存在的任何数字伪影是有用的。
据我所知,Juce有一个这样的课程:ResamplingAudioSourcehttp://www.juce.com/api/classResamplingAudioSource.html#details我的问题是我不知道如何实现这个类。我尝试创建一个类的新实例,如下所示:
class PluginOversampler:公共重新采样AudioSource{公共:PluginOversampler();~ PluginOversampler();
void setResamplingRatio (double samplesInPerOutputSample)
}
其想法是,我可以调用PluginOversampler::setResamplingRatio(此处指定的比率)来更改重新采样率。
但该项目不会在visualbasic中编译。错误很多,多达一百个。其中一些与全局变量string22有关,我在不同的.cpp和.h文件中使用该变量
std::string string22 = "";
当产生的错误是:
extern std::string string22;
1>c:usersfriendly2downloadsfinalctrlsourceplugineditor.h(28): error C2377: 'std::string' : redefinition; typedef cannot be overloaded with any other symbol
当我省略的声明时,该项目编译良好
PluginOversampler : public ResamplingAudioSource
其他错误消息表明Juce头文件没有正确定义类型,但我认为错误来自我自己的编程,而不是Juce文件,因为在我实现这一点之前,程序运行良好(vst文件在DAW中运行良好)。
我已经实例化了另一个类:
class PluginAudioProcessor : public PluginProcessor
{
public:
//==============================================================================
PluginWidthCtrlAudioProcessor();
~PluginWidthCtrlAudioProcessor();
...
...
}
我需要让类"PluginAudioProcessor"继承"ResamplingAudioSource"中的函数吗?我很失落。
您可以使用#define DONT_SET_USING_JUCE_NAMESPACE
你必须JUCE::ResamplingAudioSource或任何其他果汁类。
大多数JUCE类已经在其他库或系统库中定义。这将帮助您解决大多数错误。
准确地说:过采样是指增加样本数量在相同的时间内。如果原始文件处于44100khz,例如,我希望采样率增加到88200khz。这对于衰减可能出现的任何数字伪影是有用的在信号中。
不,不是。
这是基本的信号理论:奈奎斯特成立。你对此无能为力。你的信号已经以44.1kS/s的速度被数字化了一次,在这个过程中丢失的信息无法恢复(protip:没有丢失的信息;人类无法物理感知频率高于22.05kHz的东西)
现在,可以完全合理地假设产生该信号的声卡在整个0Hz-22.05kHz频谱上不是完全线性的。你可以通过均衡来解释这一点,但那完全是另一回事。通常,在这个过程中,你会在子带上使用特制的数字滤波器,子带本身的带宽比原始信号低,而不是高。然而,均衡信号是一个难题,你需要首先估计数字化系统的特性——我想,当你不可能将已知的参考信号输入其中时,这几乎是不可能的
编辑:顺便说一句,您的错误看起来像是意外地试图重新键入定义std::string
(例如,您做了类似typedef mytype std::string
而不是typedef std::string mytype
的操作)。
- 如何用RISC-V GD32VF103CBT6开发板卸载精确的ADC过采样
- 如何使用采样器立方体作为数组
- 多重采样背景不显示
- 如何从wav文件中获取采样率?
- 如何对0,1,..中的k个随机数进行采样..,n-1,而不缓存到数组
- 如何在直接 x12 上使用多重采样
- 为什么当我选择>250000个采样点时,程序不起作用?
- 点云下采样和使用 PCL 进行正态估计
- 片段着色器中的"错误:在 GLSL 1.30 及更高版本中禁止使用非常量表达式索引的采样器数组"
- 在glTexImage2D中,当我选择与在着色器中采样不同的内部格式时,情况如何?
- 使用哪个 pcl 滤波器对点云进行下采样
- 使用膨胀卷积的语义分割中的上采样
- 为什么找不到这个统一采样器2D?
- 如何在保持最小距离的同时沿有限线随机采样
- 使用GlblitFrameBuffer进行多样采样,无法使用OpenGL ES 3.0
- 如何将多个立方体纹理传递到均匀的采样器中
- 多采样框架渲染对象和深度缓冲区
- GLSL 无法获取采样器3D 值
- 对随机序列进行降采样会降低随机性吗?有没有原理/定理来证明这一点?
- Juce正在实施重新采样AudioSource