iOS Safari 浏览器中的录音音质不佳
poor audio quality of recordings in iOS safari browser
我想了解 safari ios (12.3.1) 在浏览器中录制音频的局限性。这是因为我录制的任何语音 - 无论编解码器/容器 - 的质量都比通过本机 ios 应用程序录制的等效音频低很多。
在 safari ios (iphone8) 中录制的 Opus、wav 和 mp3 文件似乎在某种质量上有上限,无论编码器设置如何(例如比特率/复杂性/采样率/通道)。但是,当在本机应用程序中录制语音时,我发现我可以生成始终如一的出色结果。
Safari 中的音频质量不受以下因素影响:使用不同的 javascript 录音机(仅限 wav)和 javascript 编码器(opus 和 mp3)录制音频;清除浏览器缓存;从私人浏览器重新加载 js window;打开 MediaRecorder API 实验性功能。但是
过去几天我一直在各种设备上玩 getUserMedia()
。在分析生成的 WAV 文件(波形和频谱分析)后,以下是我能够从中获得的一些信息。
Safari iOS 将生成一个不错的 WAV 文件(默认为 48000Khz,16 位,立体声),但无论传递给 getUserMedia()
的约束如何,音频频谱都不会包含 任何高于 14Khz 的频率。
所以 WAV 容器是可以的,但是写入它的音频质量与可以在本机 iOS 应用程序中找到的 "medium" 音频预设大致相同。
iOS wave file spectrum
这样做的结果是对音频产生非常明显的 "telephone" 影响,并且文件无法用于专业音频目的。
Android 设备在默认配置(音频频谱的强烈限制)中产生类似的结果,但通过传递一组禁用辅助的约束:
autoGainControl:false,
echoCancellation:false,
noiseSuppression:false
我们可以达到非常可接受的音频质量。
android 8 wave file spectrum
不幸的是,这些相同的设置不允许 iOS 达到可接受的音频质量,并且截至目前似乎没有可用的解决方法。
我想了解 safari ios (12.3.1) 在浏览器中录制音频的局限性。这是因为我录制的任何语音 - 无论编解码器/容器 - 的质量都比通过本机 ios 应用程序录制的等效音频低很多。
在 safari ios (iphone8) 中录制的 Opus、wav 和 mp3 文件似乎在某种质量上有上限,无论编码器设置如何(例如比特率/复杂性/采样率/通道)。但是,当在本机应用程序中录制语音时,我发现我可以生成始终如一的出色结果。
Safari 中的音频质量不受以下因素影响:使用不同的 javascript 录音机(仅限 wav)和 javascript 编码器(opus 和 mp3)录制音频;清除浏览器缓存;从私人浏览器重新加载 js window;打开 MediaRecorder API 实验性功能。但是
过去几天我一直在各种设备上玩 getUserMedia()
。在分析生成的 WAV 文件(波形和频谱分析)后,以下是我能够从中获得的一些信息。
Safari iOS 将生成一个不错的 WAV 文件(默认为 48000Khz,16 位,立体声),但无论传递给 getUserMedia()
的约束如何,音频频谱都不会包含 任何高于 14Khz 的频率。
所以 WAV 容器是可以的,但是写入它的音频质量与可以在本机 iOS 应用程序中找到的 "medium" 音频预设大致相同。
iOS wave file spectrum
这样做的结果是对音频产生非常明显的 "telephone" 影响,并且文件无法用于专业音频目的。
Android 设备在默认配置(音频频谱的强烈限制)中产生类似的结果,但通过传递一组禁用辅助的约束:
autoGainControl:false,
echoCancellation:false,
noiseSuppression:false
我们可以达到非常可接受的音频质量。
android 8 wave file spectrum
不幸的是,这些相同的设置不允许 iOS 达到可接受的音频质量,并且截至目前似乎没有可用的解决方法。