2012-04-13 3 views
0

사용자가 오디오를 녹음하고 음조를 약간 변경하여 재생할 수있는 응용 프로그램이 있습니다. 출력 볼륨 전력도 측정해야합니다. avaudioplayer 및 코코스 사운드 엔진의 측정 기능에 대해 알고 있습니다. 그러나 이들을 사용하여 나는 나의 필요를 함께 할 수 없다. 어떻게 이러한 작업 (피치 쉬프트 및 레벨 미터링)을 함께 수행 할 수 있습니까? 아무도 나를 도울 수 있습니까?iphone SDK에서 출력 오디오 레벨 미터링 및 피치 변경을 함께 수행하는 방법

CDSoundEngine *soundEngine = [[CDSoundEngine alloc] init]; 

NSArray *defs = [NSArray arrayWithObjects: [NSNumber numberWithInt:1],nil]; 
     [soundEngine defineSourceGroups:defs]; 
[soundEngine loadBuffer: 0 filePath: soundPath]; 
    ALuint soundID= [soundEngine playSound: 0 sourceGroupId: 0 pitch: PITCH pan: 0.0f gain: 2.0f loop: NO]; 

편집 내가 현재 잘 작동하지만 출력 전력을 측정 어차피 사용하고있는 코드입니다. AVAudioPlayer 의 경우 meteringenabled 속성이 있습니다.

[player setMeteringEnabled : YES];

우리는

[player updateMeters]; 
    Float32 peak=[player peakPowerForChannel:0]; 

하여 전원을 검색 할 수 있습니다하지만

AVAudioPlayer

하여 피치를 변경 기운이 내 문제입니다

+0

관련 코드를 게시하십시오. –

+0

@MDT 관련 코드를 추가했습니다. – Johnykutty

답변

1

외부 라이브러리를 사용하는 방법이 있습니다. Dirac3 audi O 라이브러리 - http://dirac.dspdimension.com/Dirac3_Technology_Home_Page/Dirac3_Technology.html

간단한 튜토리얼은 여기에 있습니다 : http://purplelilgirl.tumblr.com/post/3915153445/tutorial-other-ways-to-chipmunkify-your-voice

그러나 라이센스 비용 1000 유로. 무료 버전이 있지만 상업용 제품에서 사용할 수 있는지 여부를 알아 보려면 사용권 계약서를 읽어야합니다 (계약서를 올바르게 읽은 경우 작성자에게 크레딧을 주면 사용할 수 있습니다).

1

사용하여 사운드를 변경할 수있는 옵션이 없습니다 @johnykutty avaudio player.you는 외부 라이브러리를 통해 피치를 변경하기 위해 이동해야합니다 ....