KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm developing a bass guitar pitch detection app on iphone 3GS. I found I can't get sound data lower than 150Hz with RemoteIO. However bass guitar may generate tones lower than 50hz. According to the report "iPhone 4 Headset Input Frequency Response", http://blog.faberacoustical.com/2010/iphone/iphone-4-audio-and-frequency-response-limitations/ There is a sharp drop-off below 150 Hz. Here shows how I setup the AudioUnit. // set audio unit { // create AudioUnit { AudioComponentDescription desc; desc.componentType = kAudioUnitType_Output; desc.componentSubType = kAudioUnitSubType_RemoteIO; desc.componentManufacturer = kAudioUnitManufacturer_Apple; desc.componentFlags = 0; desc.componentFlagsMask = 0; AudioComponent comp = AudioComponentFindNext(NULL, &desc); OSAssert(AudioComponentInstanceNew(comp, &m_AudioUnit)); } //enable input on the remote I/O unit (output is default enabled, but input is not) { UInt32 one = 1; OSAssert(AudioUnitSetProperty(m_AudioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &one, sizeof(one))); } //set render callback function { AURenderCallbackStruct callbackInfo; callbackInfo.inputProc=staticPerformThru; callbackInfo.inputProcRefCon=this; OSAssert(AudioUnitSetProperty(m_AudioUnit, kAudioUnitProperty_SetRenderCallback, kAudioUnitScope_Input, 0, &callbackInfo, sizeof(callbackInfo))); } //set in/output format { CAStreamBasicDescription outFormat; outFormat.SetAUCanonical(channels, false); outFormat.mSampleRate = sampleRate;
Tags (comma-separated)
Save Edits
Cancel