2012-04-13 18 views
0

私は、ユーザーがオーディオを録音して音程を変えて再生できるアプリケーションがあります。 また、出力音量も測定する必要があります。 私はavaudioplayerとcocosサウンドエンジンのメーターリングプロパティについて知っています。しかし、これらを使って私は一緒に私のニーズを行うことはできません。 どのようにこれらを(ピッチシフトとレベルメータリング)一緒に行うことができます。誰でも助けてくれますか?iphone sdkでオーディオレベルメーターとピッチを一緒に出力する方法

EDIT

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];

と。これは、使用してサウンドを変更するオプションはありません

+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

しかし、ライセンスコスト千ユーロ。無料版がありますが、商用製品で使用できるかどうかを知るためにライセンス契約書を読む必要があります(契約書を正しく読んだら、著者にクレジットを与える限り使用できます)。

1

@johnykutty私の問題である私たちは

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

ことによって電力を取り出すことができます。しかし、私はAVAudioPlayer

でピッチを変更傾けますavaudio player.youは、ピッチを変更するために外部ライブラリを経由する必要があります....

関連する問題