Tag: 信号处理

自动关联倒谱

我试图检测来自麦克风的声音中的一些回声。 回声将是周期性的,并有两种可能的偏移之一。 我听说我需要自动关联信号的倒频谱来检测这些回波的存在。 你能否使用Accelerate框架提供代码,显示如何检测audio数据中的回声?

根据logging的声音库识别声音

我正在尝试创build一个iOS应用程序,当它检测到拍手声音时将执行一个操作。 我试过的东西: 1)我的第一个方法是简单地使用AVAudioRecorder来测量整体功率。 这工作正常,但它可以通过说太大声,其他噪音等,所以我决定采取不同的做法。 2)然后,我实现了一些使用FFT的代码来获取来自麦克风的实时stream式audio的频率和大小。 我发现,拍手秒杀通常驻留在13kHZ-20kHZ的范围内,而大部分的谈话驻留在很低的频率。 然后,我在这个频率范围内实现了一个简单的阈值,这个工作正常,但其他的声音可以把它closures。 例如,在我手机旁边的桌子上放一支铅笔将通过这个阈值并算作拍手。 3)然后,我尝试将这个频率范围分成几百个分档,然后获取足够的数据,当声音通过时,我的应用程序将计算Z分数(统计的概率),如果Z分数是好的,那么可以作为一个拍手。 这根本不起作用,因为有些拍手不被识别,还有一些其他的声音被识别出来。 graphics: 为了帮助我理解如何检测拍子,我在Excel中创build了这个图表(每个图表有大约800个数据点),它涵盖了13kHZ-21kHZ的范围: 我现在在哪里: 即使在所有这些之后,我仍然没有看到如何识别拍手与其他声音。 任何帮助是极大的赞赏!

Objective-C峰值检测加速框架

我是个math大师,所以我想问问熟悉数字信号处理的人,什么是检测实时峰值的最好方法。 我每秒得到大约30帧/值,而且我试图实现检测峰值的斜率algorithm,它工作正常,约80%的情况下,但它真的不够好:(。 从我search到的应该使用快速傅立叶变换,但我不知道如何开始使用它,也许我错过了这种情况下如何使用FFT的一般想法。 在iOS中,我们有这个惊人的加速框架,应该帮助我做FFT的东西,但只要我没有得到一般的想法对我来说几乎是无用的。 任何人都可以通过指向正确的方向来启发我:-)? 非常感谢,新年快乐!

在OSX 10.7上为IOS 5.1编译FFTW3

这个问题的类似版本已经被问到以前版本的IOS和/或OSX之前( 如何在iOS上编译fftw3 ),但是我无法在实际的IOS设备上运行fftw3。 (虽然它在使用MacPorts“通用”分布的模拟器中工作正常)。 如果有谁使用fftw3有任何成功,请让我知道你是如何得到它的工作! 我正在使用OSX 10.7,并试图专门在安装了IOS 5.1的iPad3上运行fftw。 谢谢。

使用超声波确定两个移动设备的相对位置

我正在考虑使用超声波(听不清)作为确定两个移动设备(可以在Android或iOS设备上)的相对位置的选项。 这两个设备上都会安装我的应用程序。 它的用户将面对对方(他们的最大距离为1.5米),举行设备面对对方。 我想知道是否有可能build立一个有效的系统,其中一个应用程序将发送超声波/听不到的信号,其他用户的应用程序会收到它,并确定这个特定用户(站在非常接近)发送它(发出声音) 。 注意:在我的情况下,声音可以听到,但听起来不太好,因此我使用超声波这个词。 这种应用程序的电池消耗并不重要(虽然我会欣赏任何信息)。 我只想知道这样的应用程序是否可行和有效。 我也想发送(如果可能的话)几个字节的信息,但是系统也应该在有环境噪声的地方工作。 任何人都可以回答这个问题/分享这个话题的经验?

使用加速框架的iOS FFT快速检测?

我已经读了一段时间的FFT和音高检测,但是我在拼接时遇到了麻烦。 我已经研究出加速框架可能是最好的方法,我已经阅读了苹果的示例代码,看看如何使用它的FFT。 如果我想要实时运行音高检测,那么FFT的input数据是多less? 我只是从麦克风传入audiostream? 我将如何做到这一点? 另外,在得到FFT输出后,我怎样才能从中得到频率? 我到处读书,找不到任何例子或解释呢? 谢谢你的帮助。

iOS – 加速度计的高通滤波器方程

有人可以解释一下,如何达到下面的公式加速度计值的高通滤波? 我不需要math推导,只需要直观的解释就足够了。 #define kFilteringFactor 0.1 UIAccelerationValue rollingX,rollingY,rollingZ; – (void)加速度计:(UIAccelerometer *)加速度计didAccelerate 🙁 UIAcceleration *)加速度{ //从当前值减去低通值得到一个简化的高通滤波器 rollingX =(acceleration.x * kFilteringFactor)+(rollingX *(1.0-kFilteringFactor)); rollingY =(acceleration.y * kFilteringFactor)+(rollingY *(1.0-kFilteringFactor)); rollingZ =(acceleration.z * kFilteringFactor)+(rollingZ *(1.0-kFilteringFactor)); float accelX = acceleration.x – rollingX; float accelY = acceleration.y – rollingY; float accelZ = acceleration.z – rollingZ; //使用加速度数据 }

Shazam或Sound Hound如何工作?

我正在开发iOS SDK 5.0的应用程序和XCode 4.2 。 我想开发一个识别声音的应用程序。 我看到有一个称为声音猎犬的应用程序,可以识别音乐,并告诉艺术家和标题。 我怎样才能做类似的事情? 我想比较一个声音与现有的声音数据库。 我怎样才能做到这一点? 也许我可以使用傅立叶变换 。 我不知道如何处理声音。 或者它可能类似于语音识别,不是吗?

如何检测iPhone中的特定声音的声audio率?

我正在做一个应用程序,我想检测声音的频率。 如何检测特定声音的频率,如狗的声音? 有人有教程或一些示例代码?

带有加速框架vDSP的iPhone FFT

我很难用vDSP来实现FFT。 我理解这个理论,但是我正在寻找一个具体的代码示例。 我有一个wav文件的数据如下: 问题1.如何将audio数据放入FFT? 问题2.如何从FFT中获取输出数据? 问题3.最终目标是检查低频声音。 我将如何做到这一点? -(OSStatus)open:(CFURLRef)inputURL{ OSStatus result = -1; result = AudioFileOpenURL (inputURL, kAudioFileReadPermission, 0, &mAudioFile); if (result == noErr) { //get format info UInt32 size = sizeof(mASBD); result = AudioFileGetProperty(mAudioFile, kAudioFilePropertyDataFormat, &size, &mASBD); UInt32 dataSize = sizeof packetCount; result = AudioFileGetProperty(mAudioFile, kAudioFilePropertyAudioDataPacketCount, &dataSize, &packetCount); NSLog([NSString stringWithFormat:@"File Opened, packet Count: %d", packetCount]); […]