2016-06-18 2 views
4

내 응용 프로그램은 매우 정확한 온도 보정 된 수정 발진기 (TCXO)가있는 외장 USB 마이크를 사용합니다. 샘플 속도는 48KHz입니다. 카메라 키트 커넥터를 통해 iOS에 연결합니다. EZAudio 라이브러리를 사용하고 있으며 iOS가 정확한 48KHz 대신 오디오 샘플링을위한 자체 내부 클록 소스를 유지하는 것 외에는 모든 것이 잘 작동합니다.iOS의 USB 오디오 장치가있는 외부 클럭 소스

나는 CoreAudio에 대한 모든 문서를 읽었지만 번개 오디오를 사용할 때는 클럭 소스와 관련된 것을 찾지 못했습니다.

내부 또는 외부 클록 소스를 선택할 수있는 방법이 있습니까?

감사합니다.

var audioFormatIn = AudioStreamBasicDescription(mSampleRate: Float64(48000), 
               mFormatID: AudioFormatID(kAudioFormatLinearPCM), 
               mFormatFlags: AudioFormatFlags(kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked), 
               mBytesPerPacket: 2, 
               mFramesPerPacket: 1, 
               mBytesPerFrame: 2, 
               mChannelsPerFrame: 1, 
               mBitsPerChannel: 16, 
               mReserved: 0) 

func initAudio() 
{  
    let session : AVAudioSession = AVAudioSession.sharedInstance() 
    do { 
     try session.setCategory(AVAudioSessionCategoryPlayAndRecord) 
     try session.setMode(AVAudioSessionModeMeasurement) 
     try session.setActive(true) 
    } 
    catch { 
     print("Error Audio") 
    } 
    self.microphone = EZMicrophone(microphoneDelegate: self, withAudioStreamBasicDescription: audioFormatIn) 
} 

UPDATE : 바람직한 샘플 속도 설정 @Rhythmic Fistman에 덕분에, 부분적으로 문제를 해결했다. iOS에서 더 이상 리샘플링하지 않으며 TCXO가 클럭 마스터 소스로 남습니다. 그러나 신호가 버퍼에서 빈 샘플 인 것처럼 보이는 것으로 빠르게 손상되었습니다. 이 문제는 녹음 길이가 악화되고 있습니다. 물론 하드웨어를 연결하기 위해 번개 포트가 필요하므로 쉽게 디버깅하기가 어렵습니다! 칠분 후 파형의

스크린 샷 15 분 파형의

enter image description here

스크린 샷 :

enter image description here

답변

1

활성화하기 전에 48kHz의에 오디오 세션의 기본 샘플 레이트를 설정합니까 도움이 되니?

session.setPreferredSampleRate(48000) 

가 클럭 소스에 아무것도 할 것인지 모르겠어요, 또는 심지어 입력 (또는 출력) 샘플링 속도에 영향을 미치지 만한다면 그것은해볼 가치가있다.

+0

저는 (EZAudio에서 구현되지 않았기 때문에) 시도했지만 불행히도 작동하지 않습니다. – jcr

+0

분명히 샘플 속도를 48KHz보다 낮게 설정할 수 있기 때문에, iOS가 들어오는 오디오 데이터를 리샘플링하는 것을 확실히 피할 수 있습니다. – jcr

+0

마이크를 설정하기 전에'session.sampleRate'는 무엇을보고합니까? 'EZMicrophone '을 통해 단계별로'inputFormat '이 어떻게되는지 볼 수 있습니까? https://github.com/syedhali/EZAudio/blob/master/EZAudio/EZMicrophone.m#L246? –

관련 문제