使用 CSS 网格打印音乐

主要观点:作者见证了即兴演奏者在演出高潮时艰难地在小手机屏幕上缩放 A4 pdf,认为需要适用于网络的流畅且响应式的音乐渲染;多年前创建了名为 Scribe 的音乐渲染原型,输出 SVG 从 JSON,最初目标是生成响应式音乐渲染器,后因复杂布局引擎等原因搁置,近期发现 Grid 可解决部分布局问题;定义了.stave类来表示乐谱的五线谱,通过data-pitch属性和 CSS 规则将音符放置在五线谱上,还定义了.bar类表示节拍,通过data-beat属性和 CSS 规则将符号放置在节拍上,实现了流畅和响应式的乐谱渲染,包括处理节奏、移调、和弦、歌词等,还提到了一些限制和未来的改进方向,如支持 SMuFL 字体、嵌套序列、分谱渲染和多谱渲染等,并介绍了自定义元素<scribe-music>用于渲染音乐。

关键信息:

  • Scribe 原型输出 SVG 从 JSON,最初目标是响应式渲染。
  • 通过.stave.bar类及相关属性和 CSS 规则实现乐谱渲染。
  • 提到了一些限制,如自动定位新的谱号等需要 JavaScript 辅助。
  • 介绍了自定义元素<scribe-music>及其用法。

重要细节:

  • .stave类的定义及背景图像设置。
  • .bar类的节拍定义及添加线和谱号的方式。
  • 通过data-pitchdata-beat属性放置音符和符号。
  • 各种符号如头、尾、连音线等的放置和调整。
  • 自定义元素<scribe-music>的渲染方式及相关示例。
阅读 7
0 条评论