过去,由于Microsoft/Sun JVM拆分,java applet不可靠.Flash接管了,Java applet因浏览器崩溃和性能问题而闻名.
既然JVM作为Clojure和Scala等动态语言的平台正在复苏,那么浏览器内applet的JVM目前和未来前景如何?
(是的,HTML5是很多很多东西的前进方向.它将继续取代浏览器中最适合的Flash和Java.这不是这个问题的关键.)
我使用的是苹果的加速框架,讨论了关于iPhone执行FFT间距检测很多 次这里之前.
我理解相位偏移,bin频率,并且已经研究了几种使用FFT技术(简单音调检测,自相关,倒谱等)来检测音调的开源调谐器.这是我的问题:
我的FFT结果始终偏离5-10 Hz(+/-),即使这些箱仅相隔1-2赫兹.我尝试过不同的算法,即使是以高分辨率采样的简单FFT也会显示出看似错误的地方的幅度峰值.这不是一致的偏移; 有些太高,有些太低.
例如,440Hz的音调为445.2 Hz; 220Hz为214Hz; 880Hz为874Hz; 使用音调发生器,1174Hz为1183Hz.使用几乎完全相同的算法的Mac 类似的开源调谐器没有问题完美地检测音调.(这些差异在设备上与模拟器不同,但它们仍处于关闭状态.)
我不认为问题是分辨率,因为实际音调和检测到的幅度尖峰之间通常有几个分档.好像输入只是听错了音调.
我在下面粘贴了我的代码.一般流程很简单:
向FFT缓冲区推进一步 - > Hann窗口 - > FFT - >相位/幅度 - >最大间距错误.
enum {
kOversample = 4,
kSamples = MAX_FRAME_LENGTH,
kSamples2 = kSamples / 2,
kRange = kSamples * 5 / 16,
kStep = kSamples / kOversample
};
const int PENDING_LEN = kSamples * 5;
static float pendingAudio[PENDING_LEN * sizeof(float)];
static int pendingAudioLength = 0;
- (void)processBuffer {
static float window[kSamples];
static …Run Code Online (Sandbox Code Playgroud) 背景:我之前开发过自己的iPad/iPhone应用程序.这将是我的第一个客户端应用程序.我没有经验可以估算它需要的小时数,因为我之前的所有iOS开发都已经过时.
我想获得它需要多长时间一个知识渊博的iOS开发者开发一个简单的PDF查看应用程序的客户现有的PDF图书系列很一般建议.对于那种规模的东西,你会用什么来估算你的时间?10个小时?25?50?100?
我知道估计很难做到,这取决于开发人员,精心规划的要求等.我将采取这些预防措施并完善估算,以更好地匹配明确的要求.我是一个称职的开发人员,我只是不知道在估计时间方面从哪里开始.