AVAudioRecorderを使用してボイスメモ機能を追加しています。音声を録音するためのレコーダーの最適な設定を知る必要があります。
残念ながら、私はオーディオについて何も知りません。
現在、私はテスト目的でどこかからコピーした次のものを使用しています:
recorderSettingsDict=[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithInt:kAudioFormatAppleIMA4],AVFormatIDKey,
[NSNumber numberWithInt:44100.0],AVSampleRateKey,
[NSNumber numberWithInt: 2],AVNumberOfChannelsKey,
[NSNumber numberWithInt:16],AVLinearPCMBitDepthKey,
[NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,
[NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,
nil];
または:
defaultSettings = {
AVFormatIDKey = 1768775988;
AVLinearPCMBitDepthKey = 16;
AVLinearPCMIsBigEndianKey = 0;
AVLinearPCMIsFloatKey = 0;
AVNumberOfChannelsKey = 2;
AVSampleRateKey = 44100;
};
これは機能しますが、品質、速度、ファイルサイズなどの点で音声に最適かどうかはわかりません。
AVAudioRecorderクラスリファレンスには、多くの設定定数がリストされています ですが、音声に使用する設定の手掛かりがありません。
それを除けば、誰かが「ダミーのAudioFormats」リソースを知っているなら、私もそれを取るでしょう。 (注:Apple Docsを使用しましたが、彼らは私が所有していないデジタルオーディオの知識ベースを想定しています。)
iPhoneアプリケーションプログラミングガイド というタイトルの「iPhone OSでのサウンドの使用」および Audio Queue Servicesプログラミングガイド をお読みください。 。 (編集:これらのリンクは古く、iPhone OSでのサウンドの使用は現在のアプリケーションプログラミングガイドから編集されていますが、 Audio Queue Servicesプログラミングガイド が更新および移動されました。)
人間の声のほとんどの音は、人間の聴覚の中ほどにあります。録音された音声は、非常に低いデータレートでデジタル化されている場合でも簡単に理解できます。音声録音全体を踏み鳴らすことができますが、それでも有用なファイルを持っています。したがって、これらの録音を最終的に使用することが、これらの設定に関する決定の指針となります。
まず、オーディオ形式を選択する必要があります。どちらを選択するかは、録音後にオーディオをどう処理するかによって決まります。現在の選択はIMA4です。別のフォーマットが必要な場合もありますが、IMA4はiPhoneに適しています。これは高速なエンコーディングスキームであるため、限られたiPhoneプロセッサに負担がかかることはありません。また、4:1の圧縮を提供するので、あまり多くのストレージ領域を占有しません。選択した形式に応じて、さらに設定を行います。
現在のサンプルレート44.1 kHzは、CDオーディオの標準と同じです。高忠実度のレコーディングの後でなければ、これほど高いレートは必要ありませんが、任意のレートを使用する必要はありません。ほとんどのオーディオソフトウェアは、32 kHz、24 kHz、16 kHz、12 kHzなどの特定のステップでのみレートを理解できます。
ステレオの場合、チャンネル数は2に設定されています。追加のハードウェアを使用しない限り、iPhoneにはマイクが1つしかなく、モノラルチャネルは1つで十分です。これにより、データのニーズが半分になります。
使用している3つのリニアPCM設定は、リニアPCMフォーマットの録音専用であるようです。 IMA4形式を使用しているため、コードには影響がないと思います。 IMA4のフォーマットがよくわからないので、どの設定を行う必要があるかを教えてくれるので、その設定を使い続ける場合は、追加の調査を行う必要があります。
考慮すべきことの1つは、従来の固定電話会社がデジタル化して以来、8ビット、7KHzのサンプリングを使用していたことです。これが、トランクラインのサイズです。T120 64kチャネル。これにより、56kの音声データと、必要な管理メタデータに少しオーバーヘッドが残ります。
したがって、POTS品質が必要な場合は、8b/7KHzで十分です。必要に応じて調整してください。