2009-08-21 15 views
1

AVAudioRecorderを使用したオーディオ録音に使用する設定についてお勧めします。以下は私が現在使っている設定です。また、MacやWindowsのユーザーは問題なく再生できるので、どのファイル拡張子を保存する必要がありますか?今、私は.caf推奨Apple iPhone録音設定と使用するファイル拡張子

 
    [settings setValue:[NSNumber numberWithInt: kAudioFormatAppleLossless] forKey:AVFormatIDKey]; 
    [settings setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
    [settings setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey]; 

    //Linear PCM Format Settings 
    [settings setValue:[NSNumber numberWithInt: 32] forKey:AVLinearPCMBitDepthKey]; 
    [settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey]; 
    [settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey]; 

    //Encoder Settings 
    [settings setValue:[NSNumber numberWithInt:AVAudioQualityMin] forKey:AVEncoderAudioQualityKey]; 
    [settings setValue:[NSNumber numberWithInt:96] forKey:AVEncoderBitRateKey]; 
    [settings setValue:[NSNumber numberWithInt:16] forKey:AVEncoderBitDepthHintKey]; 

答えて

0

としてファイルを保存していますCAFは、非常に柔軟な形式ですが、広くはCore Audio-DOMの外にサポートされていません。

ビッグエンディアンのPCMを記録しているので、おそらくAIFFを使用する必要があります。あなたがWindowsフレンドリーであることに熱心であれば、WAVを使うことができますが、リトルエンディアンにしなければなりません。

+0

実は、IsBigEndian = NOなので、リトルエンディアンなので、AIFFの代わりにWAVです(リトルエンディアンの文書化されていないAIFF-Cがあります;これはオーディオCDの "ファイルシステム"バイトスワップせずにCDオーディオブロックを渡します。 "sowt"は "twos"の後ろにあります。 –

1

あなたは何のためにオーディオを録音していますか?ローカル再生ですか?サーバーにアップロードしていますか?インターネット上でストリーミング?

いくつかの注意事項:

  • は、オーディオハードウェアのサンプリングレートを使用します(それが32、44.1、または48であります?)。ダウンサンプリングは痛みです。アップサンプリングはデータを大きくするだけです。実際にサポートされていることを確認してください(AudacityなどのFFTを確認することで確認できます;アップサンプリングされたオーディオは、ある周波数を超える繰り返しまたは平坦なスペクトルを持つ傾向があります)。たとえば、Nokia E90はマイクから8 kHzで録音するように見えますが、48 kHzでアップサンプリングします。
  • 32ビットオーディオを実行するハードウェアは認識していません。 iPhoneはおそらく24ビットのオーディオもしません。あなたは確かにする必要はありません。
  • Apple Losslessは、QuickTimeや付随するリンゴ製品とは別にサポートされていません。
  • AVAudioQualityMinは、「小さくする」よりもむしろ「すばやく圧縮する」ことを意味する場合があります。
  • Apple Losslessのエンコーダ設定が問題になるかどうかはわかりません(ビットレートはおそらく無視されますが、品質はサイズ/スピードのトレードオフになる可能性があります)。
関連する問題