У меня есть настройки, показанные ниже.Как изменить настройки записи звука на 16 кГц и 16 бит при записи звука?
Я хочу изменить настройки записи звука на 16 кГц и 16 бит при записи звука.
NSArray *dirPaths;
NSString *docsDir;
dirPaths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir
stringByAppendingPathComponent:@"sound.wav"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recordSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0],
AVSampleRateKey,
nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]
initWithURL:soundFileURL
settings:recordSettings
error:&error];
if (error)
{
} else
{
[audioRecorder prepareToRecord];
}
Как установить эти настройки?
Редактировать вопрос:
Спасибо за предоставленные ответы, я пытался использовать эти пути, но он не работает для меня, потому что мой клиент посылает записанный голос (записанный голос, что я посылаю в байтах формат) для механизма ASR (автоматическое распознавание речи). я не получаю обратно тот же ответ (я получаю ответ аудио говорит «кавычки»), что я отправляю. Клиент говорит, что вы не записываете голос с частотой 16 кГц и частотой дискретизации 16 бит, поэтому вы получаете ответ. Но я спросил его о байтах, что я отправляю на его сервер, он дал этот .wav-файл, он отлично играет. Но если тот же самый он отправляет в двигатель ASR, механизм ASR не принимает записанный голос, который я отправляю (он говорит, что ASR не согласится, потому что вы не записываете звук с частотой 16 кГц и частотой 16 бит). Клиент дал следующий ответ. (Но, я перепробовал все способы, предложенные вами)
Filename: sv_SE_356985580762248932.wav
Folder: E:\developApp\TestappName\Mortionsn_dev\2nd-iteration\test_wfiles
File Type: 44100Hz, 16-bit, Stereo
Uncompressed Size: 1.63 MB (1,713,696 bytes)
File Format: Windows PCM
Windows PCM
Size on Disk: 1.63 MB (1,717,892 bytes)
Last Written (local): 3/11/2013 00:21:00.000
Length: 0:09.714
428,424 samples
Редактировать вопрос второго времени Используя ответы на приведенные ниже:
Позже, давая предложения я изменил настройки кода:
NSMutableDictionary *recordSettings = [NSMutableDictionary dictionary];
[recordSettings setValue: [NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[recordSettings setValue: [NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey];//8000.0
[recordSettings setValue: [NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
[recordSettings setValue: [NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setValue: [NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSettings setValue: [NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
[recordSettings setValue: [NSNumber numberWithInt: AVAudioQualityMax] forKey:AVEncoderAudioQualityKey];
Я не уверен, что я следую за это, так как вы редактировали. Оба ответа ниже должны дать вам аудиофайл, записанный на частоте 16 кГц. Где и как клиент входит в это и почему они хотят 16 кГц? – Robert
Да, как вы сказали, оба ответа верны. Мой конечный клиент сказал, что я хочу в 16Khz, потому что он отправляет эти байты (что мы отправляем) в ASR (автоматическое распознавание речи). Мой клиент сказал, что механизм ASR принимает только записанный голос на частоте 16 кГц. Вот почему я изменил настройки при записи звука @Robert – Babul
Я не знаю, где ошибка ... это в конце? @Robert – Babul