gpt4 book ai didi

iphone - 用于录制语音的正确 AVAudioRecorder 设置?

转载 作者:行者123 更新时间:2023-12-03 18:12:48 26 4
gpt4 key购买 nike

我正在使用 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 Class Reference list many settings constants但我不知道该使用哪些语音。

不过,如果有人知道一个好的“AudioFormats for Dummy's”资源,我也会接受。 (注:我浏览过 Apple 文档,他们假设我不具备数字音频知识库。)

最佳答案

您需要阅读 iPhone Application Programming Guide标题为“在 iPhone OS 中使用声音”的部分,以及 Audio Queue Services Programming Guide 。 (编辑:这些链接已过时,在 iPhone OS 中使用声音已从当前的应用程序编程指南中删除,但 Audio Queue Services Programming Guide 已更新并移动。)

人声中的大多数声音都处于人类听觉的中间范围。即使以非常低的数据速率进行数字化,录制的语音也很容易被理解。您可以踩掉所有录音,但仍然保留有用的文件。因此,您对这些录音的最终用途将指导您对这些设置的决定。

首先您需要选择音频格式。您的选择将取决于您录制音频后想要对音频执行的操作。您当前的选择是 IMA4。也许您需要不同的格式,但 IMA4 对于 iPhone 来说是一个不错的选择。它是一种快速编码方案,因此对于有限的 iPhone 处理器来说不会太费力,并且它提供 4:1 压缩,因此不会占用太多存储空间。根据您选择的格式,您需要进行进一步的设置。

您当前的采样率是 44.1 kHz,与 CD 音频的标准相同。除非您追求高保真度录音,否则您不需要这么高的速率,但您也不想使用任意速率。大多数音频软件只能理解特定步长的速率,例如 32 kHz、24 kHz、16 kHz 或 12 kHz。

您的声道数设置为 2,用于立体声。除非您使用额外的硬件,否则 iPhone 只有 1 个麦克风,1 个单声道就足够了。这会将您的数据需求减少一半。

您使用的三种线性 PCM 设置似乎仅适用于线性 PCM 格式录音。我认为它们对您的代码没有影响,因为您使用的是 IMA4 格式。我对 IMA4 格式不太了解,无法告诉您需要进行哪些设置,因此如果您决定继续使用该设置,则必须进行一些额外的研究。

关于iphone - 用于录制语音的正确 AVAudioRecorder 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2149280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com