2008-09-01 2 views
8

Mac의 라인 입력 또는 내장 마이크에서 PCM 샘플 스트림을 가져 와서 약간의 실시간 분석을 수행하고 싶습니다. 정확한 특성은이 질문과 관련이 없지만 모든 FFT가 될 수 있습니다. 자주, 또는 샘플 레벨에 대한 몇 가지 기본 통계 또는 무엇이 있는지).Mac에서 간단한 오디오 입력 API?

이 용도로 사용하기 적합한 제품은 무엇입니까? 사운드를 통과시켜 우연히 분석을 위해 어딘가에 넘겨주는 AudioUnit을 작성 하시겠습니까? JACK 인식 응용 프로그램을 작성하고 JACK 서버와 함께 실행하는 방법을 알아 내겠습니까? 에콰 거리는?

이것은 증명할 수없는 개념의 취미 프로젝트이므로 API의 간소 함이 운전 요소 (프로그래밍 언어의 합당한 선택)입니다.

답변

5

내 생각에 portaudio이 필요합니다. 콘솔 앱에서 마이크를 읽는 것은 10 줄의 C 파일입니다 (portaudio 배포본의 patests 참조).

+0

다음은 마이크를 통해 오디오를 녹음하여 파일로 저장하는 예에 대한 링크입니다. http://portaudio.com/docs/v19-doxydocs/paex__record_8c.html –

4

Mac OS X의 오디오 개발을위한 기본 프레임 워크는 Core Audio입니다. 이것은 모든 오디오 I/O의 기초입니다. Audio Toolbox, Audio Queue Services, QuickTime 및 QTKit과 같은 레이어가있어 일반적인 작업에 대해 단순화 된 API를 사용하려는 경우 사용할 수 있습니다.

그냥 샘플 스트림을 가져 오려면 Audio Queue Services을 사용하고 싶을 것입니다. AudioQueueNewInput 함수는 PCM 데이터 기록을 설정하고 사용자가 제공하는 콜백에 전달합니다.

Mac에는 Audio Queue Services 레코딩 API의 용도 (AudioQueueTools의 AQRecord)를 포함하는 Core Audio 예제 세트가 /Developer/Examples/CoreAudio/SimpleSDK에 있습니다.

+0

안녕하세요, Chris. Audio Queue Services는 훌륭하고 깨끗한 API를 제공합니다. 필자는 호랑이 호환성을 위해이 프로젝트를 portaudio와 함께 끝내었지만 AQRecord에서 부지런히 봤습니다. – undees

관련 문제