gpt4 book ai didi

iphone - Cocoa Touch 中的音调生成

转载 作者:太空狗 更新时间:2023-10-30 03:27:39 25 4
gpt4 key购买 nike

我需要生成一种可以控制频率和波形的音调。总体目标是创造一架基本的钢琴。有谁知道我怎样才能做到这一点?

我的开发平台是 iPhone 2.x

最佳答案

您总是可以从 sin 波开始。 :-)

#include <cmath>

typedef double Sample;
typedef double Time;

class MonoNote {
protected:
Time start, duration;
virtual void internalRender(double now, Sample *mono) = 0;
public:
MonoNote(Time s, Time d) : start(s), duration(d) {}
virtual ~MonoNote() {}
void render(double now, Sample *mono) {
if (start <= now && now < start + duration) {
internalRender(now, mono);
}
}
};

class MonoSinNote : public MonoNote {
Time freq;
Sample amplitude;
protected:
void internalRender(double now, Sample *mono) {
const double v = sin(2*M_PI*(now - start) * freq);
*mono += amplitude*v;
}
public:
MonoSinNote(Time s, Time d, Time f, Sample a) : MonoNote(s, d), freq(f), amplitude(a) {}
~MonoSinNote() {}
};

关于iphone - Cocoa Touch 中的音调生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com