【问题标题】:Is it possible to record lossless audio in Web Browser (chrome)是否可以在 Web 浏览器(chrome)中录制无损音频
【发布时间】:2022-01-11 20:44:12
【问题描述】:

我的问题的单行版本: 如何在 Web 浏览器中录制无损(或至少是令人难以置信的高质量)音频?最好是铬/铬,因为我想做一个高质量的录音电子应用程序。

请注意,这个问题是 8 年前提出的,但我正在努力寻找 2022 年的现代解决方案:High Quality Audio Recording in Web Browser

我曾尝试使用getUserMedia() 在 javascript 中录制音频,甚至可以像这样指定音频质量变量:

    var constraints = {
        audio: true,
        "mandatory": {
            //sampleSize: 32,
            //sampleRate
            channelCount: 2,
            //autoGainControl: false,
            //noiseSuppression: false,
            //echoCancellation: false,
            "googEchoCancellation": "false",
            "googAutoGainControl": "false",
            "googNoiseSuppression": "false",
            "googHighpassFilter": "false"
        },
        video: false
    };

此代码在我的仓库中:https://github.com/MartinBarker/simple-web-audio-recorder-demo 录音有效,但质量仍然很低: windows文件浏览器显示保存的wav文件为705kbps,Spek显示为16bit, 1411kbps, 44100Hz, 1通道,文件听起来很糟糕。

比较大胆,在同一台计算机上使用同一个麦克风录音,我可以输出一个 32 位签名的 wav 文件,Windows 说它的比特率为 2822kbps,Spek 显示 32bit、2822kbps、44100hz, 2声道文件,听起来很棒。

我正在尝试在我的 chrome 浏览器中录制质量与 audacity 相似的 wav 文件,这可能吗?还有其他网络库可以帮助我实现这个目标吗?

【问题讨论】:

  • 44100Hz 16 位音频(字面上)是 CD 质量(尽管 CD 有 2 个声道,用于立体声)。您可能不会将原始音频写入 PCM 文件,而是以某种方式压缩流(解码回 PCM)。
  • 据我所知,OPUS 是我们在大多数情况下获得的最高质量,如果它是通过浏览器流式传输完成的,则无需编码/解码。作为采样率/比特,在线传输的标准是 48KHz@16bit(如果需要,可以使用 24 位)。这确保了所有声音都可以像后来发现的萨克斯管的最高音符一样被听到(但这在这里可能无关紧要)。 OPUS 是通过浏览器的标准。 :)
  • 我要补充一下,您的 WebRTC 设置未设置为高质量,请使用 echoCancellation、autoGainControl、noiseSuppression 作为您的设置,我认为您不应该使用强制它的基本选项寻求 webrtc正确部署。 goog 在设置这些时并不是真正的标准或考虑,它可能会起作用但不要依赖它们。

标签: javascript google-chrome audio-recording getusermedia web-mediarecorder


【解决方案1】:

cmets 中的@BGPHiJACK 是对的,opus 媒体录制器非常适合从 chrome 浏览器录制 32 位、2822kbps、44100 Hz、2 通道 wav 音频: https://github.com/MartinBarker/opus-recorder?organization=MartinBarker&organization=MartinBarker

【讨论】:

    【解决方案2】:

    Chrome 和其他浏览器中 MediaRecorder 模块的输出始终是压缩的。您当然可以解压缩并从中获取 .WAV 采样音频,但其保真度始终会受到编解码器的影响。您可以将 Opus 提高到高采样率和不那么激进的压缩比,但它仍然被压缩。如果您想要 Audacity 风格的保真度,您需要使用其媒体界面不受浏览器 WebRTC 限制的桌面产品。

    【讨论】:

    • 你能从光谱仪上看出压缩了吗?如果 opus 记录器作为桌面应用程序在铬窗口上运行,那么当前的网络技术和压缩像你提到的那样会降低质量吗?我录音的频谱图中的 kbps 统计数据使它看起来像是高质量的录音
    • 我建议你调查Web Audio API。我没用过,所以不能给出详细的建议。
    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多