Подтвердить что ты не робот

Правильные настройки AVAudioRecorder для записи голоса?

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

К сожалению, я ничего не знаю об аудио, насколько я не уверен, какие условия для Google.

В настоящее время я использую следующее, которое я скопировал где-то в целях тестирования:

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 for Dummy", я тоже это сделаю. (Примечание. Я прошел через Apple Docs, и они предполагают базу знаний в цифровом аудио, которой я не владею.)

4b9b3361

Ответ 1

Вы захотите прочитать руководство по программированию iPhone в разделе "Использование звука в iPhone OS" и Руководство по программированию служб очереди аудио. ( Изменить: Эти ссылки устарели, использование звука в iPhone OS было отредактировано из текущего руководства по программированию приложений, но Руководство по программированию служб очереди аудио обновляется и перемещается.)

Большинство звуков в человеческих голосах находятся в среднем диапазоне человеческого слуха. Записанная речь легко понятна даже при оцифровке с очень низкими скоростями передачи данных. Вы можете топать по всей записи голоса, но все же иметь полезный файл. Поэтому ваше окончательное использование этих записей будет определять ваши решения в этих настройках.

Сначала вам нужно выбрать аудиоформат. Ваш выбор будет определяться тем, что вы хотите сделать с аудио после его записи. Ваш текущий выбор - IMA4. Возможно, вам нужен другой формат, но IMA4 - хороший выбор для iPhone. Это быстрая схема кодирования, поэтому она не будет слишком облагаться налогом для ограниченного iPhone-процессора, и она обеспечивает сжатие 4: 1, поэтому она не займет слишком много места для хранения. В зависимости от выбранного вами формата вы хотите сделать дополнительные настройки.

Ваша текущая частота дискретизации, 44,1 кГц, такая же, как и стандарт для аудио CD. Если вы не выполните запись с высокой точностью воспроизведения, вам не нужна эта высокая скорость, но вы не хотите использовать произвольные ставки. Большинство аудиопрограмм могут понимать только скорости на определенных этапах, таких как 32 кГц, 24 кГц, 16 кГц или 12 кГц.

Ваше количество каналов установлено на 2, для стерео. Если вы не используете дополнительное оборудование, iPhone имеет только один микрофон, и 1 моноканала должно быть достаточно. Это сокращает ваши потребности в данных в два раза.

Три параметра Linear PCM, которые вы используете, как раз для записи в формате Linear PCM. Я думаю, что они не влияют на ваш код, поскольку вы используете формат IMA4. Я не знаю формат IMA4 достаточно хорошо, чтобы сообщить вам, какие настройки вам нужно будет сделать, поэтому вам придется провести дополнительные исследования, если вы решите продолжить использование этого параметра.

Ответ 2

Одна вещь, которую следует учитывать, - это то, что в течение долгого времени традиционные голосовые компании наземных линий - начиная с перехода на цифровую - использовали 8-битную выборку 7 кГц. Вот почему магистральные линии входят в размеры, в которые они входят. Каналы T1 20 64k, которые оставляют небольшие накладные расходы для 56 тыс. Голосовых данных, проходящих через плюс любые метаданные управления, в которых они нуждаются.

Итак, если вы хотите качество POTS, 8b/7KHz должно быть хорошо. Откорректируйте в соответствии с вашими потребностями.