Рекомендуемые Apple Audio Audio Recording Settings и какое расширение файла использовать - PullRequest
1 голос
/ 21 августа 2009

Я хотел бы получить ваши рекомендации о том, какие настройки использовать для записи звука с помощью AVAudioRecorder. Ниже приведены настройки, которые я использую в настоящее время. Кроме того, какое расширение файла я должен сохранить его, чтобы пользователи на Mac или Windows могли играть без проблем? Прямо сейчас я сохраняю файл как .caf

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

Ответы [ 2 ]

1 голос
/ 09 августа 2010

Для чего вы записываете аудио? Локальное воспроизведение? Загрузка на сервер? Потоковая передача через Интернет?

Несколько заметок:

  • Используйте частоту дискретизации аудиооборудования (32, 44,1 или 48?). Даунсэмплинг - это боль. Повышение частоты дискретизации просто увеличивает ваши данные. Убедитесь, что он действительно поддерживается (вы можете проверить это, посмотрев на FFT в Audacity или аналогичном; звук с повышенной частотой будет иметь повторяющийся или плоский спектр выше некоторой частоты). Например, кажется, что Nokia E90 записывает с микрофона на частоте 8 кГц, но для вас частота дискретизации выше 48 кГц.
  • Мне не известно ни о каком оборудовании, которое выполняет 32-битный звук. IPhone, вероятно, даже не делает 24-битное аудио. Вам, конечно, не нужно; используйте 16.
  • Apple Lossless не поддерживается, за исключением QuickTime и сопутствующих продуктов Apple.
  • AVAudioQualityMin может означать «быстро сжимать», а не «делать его маленьким», т. Е. Это может звучать дерьмово, хотя на самом деле оно не мало.
  • Я не уверен, что настройки кодировщика имеют большое значение для Apple Lossless (скорость передачи данных, вероятно, игнорируется; качество может быть компромиссом между размером и скоростью).
0 голосов
/ 08 сентября 2009

CAF - очень гибкий формат, но широко не поддерживается вне Core Audio-dom.

Поскольку вы записываете PCM с прямым порядком байтов, вам, вероятно, нужно использовать AIFF. Если вы хотите быть более дружественным к Windows, вы можете использовать WAV, но вам придётся немного по порядку.

...