前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >W3C: 开发专业媒体制作应用 (3)

W3C: 开发专业媒体制作应用 (3)

作者头像
用户1324186
发布2022-05-24 18:27:35
3820
发布2022-05-24 18:27:35
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:W3C/SMPTE Joint Workshop on Professional Media Production on the Web 演讲 1:WebAssembly Music - latency/stability across platforms 主讲人:Peter Salomonsen 演讲 2:Audio latency in browser-based DAWs 主讲人:Ulf Hammarqvist 内容整理:王秋文 在这两篇演讲中,两位主讲人都对基于 Web 浏览器的数字音频工作站进行了介绍,并讨论了这种 DAW(Digital Audio Workstation)在使用时的延迟。

目录

  • 基于 Web 浏览器的数字音频工作站介绍
  • 在线 DAW 中的延迟
  • 总结

基于 Web 浏览器的数字音频工作站介绍

类如 Soundtrap 的 DAW(Digital Audio Workstation)可以在网页浏览器上在线完成多轨音频的记录和编辑等制作过程。类似的 DAW 可以与 MIDI 键盘相连接,当音乐家通过键盘进行演奏时,DAW可以实时生成相应的 AssemblyScript 代码,从而编译为 WebAssembly。工作站内含有弦乐器、管乐器和鼓等等多种软件乐器,具有各种音频效果、混响、过滤器以及吉他AMP仿真等功能。DAW 可以提前录制好音频片段,并在播放的时候同时加入其它音频片段。在这样的 DAW 上可以完成全部音频音乐的制作过程。

图1 DAW 页面生成的代码示意图

附上演讲视频:http://mpvideo.qpic.cn/0bc3suaaqaaasaajqzllnrrfbfodbckqacaa.f10002.mp4?dis_k=3ee3606da056fad9bd3ec43cf7c3b606&dis_t=1653387988&vid=wxv_2376058434518876162&format_id=10002&support_redirect=0&mmversion=false

在线 DAW 中的延迟

在实际用例中,延迟状况对于使用者来说很重要。例如,一个吉他手可能会用在线 DAW 作为踏板或放大器等硬件设备的替代品。在演奏过程中,演奏者会在演奏的同时听到他们演奏出的效果来调整自己的表演,而这时在线 DAW 的延迟会影响相应的输出效果。诸如此类的从输入设备到输出设备的延迟可以称为 round-trip 延迟。目前在延迟方面,round-trip 延迟最好在 30ms 左右,对于监控目的来说是可用的,但并不够好。

除了延迟问题之外,在线 DAW 还存在着一个可能对于用户来说不是很明显的问题,就是用户在连续记录了几段音频并希望将它们在输出时是对齐状态的问题,我们称之为记录延迟补偿。要做到这一点听上去很简单,但实际上要做到这一点比想象的要更困难。为了实现这一点,我们需要知道音频在整个流程中的确切延迟,并知道音频数据何时到达用户的储存器或流中。

Round-trip 延迟中有很多组成部分,包括输入延迟、处理延迟和输出延迟。对于延迟补偿来说,如果我们对于音频的延迟信息是错的或者没有相关的延迟信息,那么最终处理的结果也会是不理想的。对于输入和输出部分来说,其中包含着很多组成部分,同时具体的延迟状况也与不同用户的不同设备、系统等有关,也因此有较大差别。

图2 使用在线 DAW 时音频信息整体框架图

除了进入浏览器和离开浏览器时会有延迟外,浏览器自身内部也会有延迟。假定 Media Stream Track 设置中的延迟属性可以准确表示输入路径的延迟,但 Media Stream自身作为节点,其中也可能存在缓冲或延迟,因此整体的输入延迟会有一定的差别。

与输入延迟一样,我们也需要输出延迟的数据。Web Audio属性中的 OutLatency一项可以表明输出模块的大小以及输出路径的组合,但是这个数据并不清晰。

另一个方面就是数据到达的时间,完成这一目的有很多方法,例如使用 MediaRecorder,它可以随时在运行中进行编码。但是它并不可以在你启动时就立即开始,因此也会引入一部分延迟。

对于 DAW 自身来说,在不同的系统间也会带来不同的延迟。一般来说,在 Mac 上运行只要几毫秒即可,但如果要在 Windows 系统上运行的话,延迟可能要到 10 毫秒左右。这会极大地影响使得演奏的体验。除此外,对于 Windows 系统来说,直接在电池上运行会使得音频的质量变差或是对操作产生影响。

除此外,不同的浏览器之间也会有差别,例如在 Firefox 中可以很好地引用 AudioWorklet,一个将 WebAssembly 代码绑定到 Web Audio API上的技术。但 Firefox 不支持 MIDI 键盘,因此需要寻找其他解决办法。

总结

总的来说,在网页上创作音频是一个具有很多可能性的技术,它可以替代使用本地应用程序创作音频的过程。但这一项技术仍然需要在稳定性以及延迟方面,对不同的浏览器和系统进行优化。同时,相应的输入输出驱动程序也应当显示相应的延迟信息便于各项功能的实现。

附上演讲视频:http://mpvideo.qpic.cn/0b2eeiaagaaa2eaizudllzrfaiwdamraaaya.f10002.mp4?dis_k=73ac638115af1b9ac4d650bd871a0796&dis_t=1653387988&vid=wxv_2376058117312053249&format_id=10002&support_redirect=0&mmversion=false

  1. W3C: 开发专业媒体制作应用 (1)
  2. W3C: 开发专业媒体制作应用 (2)
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-29,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于 Web 浏览器的数字音频工作站介绍
  • 在线 DAW 中的延迟
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com