https://composing.studio/filthy-design-6478

什么是 composing.studio ?

composing.studio 是使用 Rust、WebAssembly 和 TypeScript 构建的在线实时协作音乐编辑器,采用了 ABC 记谱法,允许任何人创建简单的音乐作品,具有即时乐谱渲染和实时音频播放。任何人都可以通过创建一个新的协作会话,并与其他作曲家共享链接,协同工作。

什么是 ABC 记谱法 ?

ABC 记谱法(ABC Music Notation)出现于 19 世纪,由 Chris Walshaw 发明。ABC 记谱法以 A 到 G 的字母记录音高,再用其它符号来记录变化音、音长等。 ABC 记谱法基于 ASCII ,可以用文本编辑器进行编辑,并且有很多音乐软件可以读取 ABC 符号以及处理成 MIDI 格式文件。

什么是 abc.js ?

Paul Rosen 和 Gregory Dyke 开发的一个渲染 ABC 乐谱的javascript 库,该库可以在网页上显示标准音乐符号,还可以生成MIDI 文件或直接在浏览器中播放。

官网可以直接体验使用:https://composing.studio

构建镜像
没有搜索到镜像,可能是老苏搜索的关键词不对,不过官方提供了 Dockerfile ,可以自己构建。

这个 Dockerfile 采用了多阶段构建,值得学习和进一步研究

如果你不想自己构建,可以跳过,直接阅读下一章节

构建镜像的基本流程如下

# 下载代码
git clone https://github.com/ekzhang/composing.studio.git cs

# 进入目录
cd cs

# 构建镜像
docker build -t wbsu2003/composing-studio:v1 .

# 运行容器
docker run -d --name composing-studio \
--restart=always \
-p 3030:3030 \
wbsu2003/composing-studio:v1
AI写代码
bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
安装
在群晖上以 Docker 方式安装。

在注册表中搜索 wbsu2003 ,找到 wbsu2003/composing-studio,版本选择 latest。

端口
本地端口 容器端口
3030 3030
默认没有映射端口

需要点 + 号自行添加,直接用了默认的端口 3030

运行
在浏览器中输入 http://群晖IP:3030 就能看到主界面

点 ENTER 进入音乐编辑器界面

默认创建的文件名是随机的,可以通过 http://群晖IP:3030/文件名 的方式指定文件名

例如在浏览器中输入 http://192.168.0.199:3030/MoneyLost,会在 documents 目录中新建 MoneyLost

老苏并不懂 ABC 记谱法,下面这首是网上找的,可以用于测试,将其复制、并粘贴到中间的编辑区

X: 22
T:Money Lost
M:3/4
L:1/8
Q:1/4=100
C:Paul Rosen
S:Copyright 2007, Paul Rosen
R:Klezmer
K:Dm
Ade|:"Dm"(f2d)e gf|"A7"e2^c4|"Gm"B>>^c BA BG|"A"A3Ade|"Dm"(f2d)e gf|"A7"e2^c4|
"Gm"A>>B "A7"AG FE|1"Dm"D3Ade:|2"Dm"D3DEF||:"Gm"(G2D)E FG|"Dm"A2F4|"Gm"B>>c "A7"BA BG|
"Dm"A3 DEF|"Gm"(G2D)EFG|"Dm"A2F4|"E°"E>>Fy "(A7)"ED^C2|1"Dm"D3DEF:|2"Dm"D6||
AI写代码
json

1
2
3
4
5
6
7
8
9
10
11
12
预览播放区立刻能看到渲染好的标准乐谱

可以直接播放

将 Share Link 分享给别人之后,Active Users 多出了一个人

可以修改自己的名字

但是需要注意的是,composing.studio 目前还没有保存和下载,但可以通过固定文件名的方式找到编辑过的内容

除非你重启了容器,否则只要输入这个链接,都能看到之前编辑、修改的内容

参考文档
ekzhang/composing.studio: Collaborative music composition for everyone.
地址:https://github.com/ekzhang/composing.studio

Composing Studio
地址:https://composing.studio/

abcjs: Quick Editor
地址:https://editor.drawthedots.com/

abcjs
地址:https://www.abcjs.net/

maiwenan/hexo-tag-abcjs: A hexo tag for rendering abc music notation on your blog posts.
地址:https://github.com/maiwenan/hexo-tag-abcjs

一个渲染ABC乐谱的开源Javascript库abcjs — 1024.COM - 好人一生平安
地址:https://1024.com/a/646

ABC 记谱法教程 - 简书
地址:https://www.jianshu.com/p/f43f9b2aeb2d

使用带有 abcjs 支持的 markdown 编辑器编写五线谱 - 初步印象 - 链滴
地址:https://ld246.com/article/1579424087285
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/wbsu2004/article/details/120620457

在线乐谱协作编辑器composing.studio的更多相关文章

  1. TogetherJS – 酷!在网站中添加在线实时协作功能

    TogetherJS是一个免费.开源的 JavaScript 库,来自 Mozilla 实验室,可以实现基于 Web 的在线协作功能.把 TogetherJS 添加到您的网站中,您的用户可以在实时的互 ...

  2. 在线WEB开发编辑器,edt.df5d.com

    在线WEB开发编辑器,http://edt.df5d.com 本地服务端下载 : https://pan.baidu.com/s/11SlcoU_D-KbzGFbs-_9Dpg 即可加载本地磁盘,也可 ...

  3. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  4. Cocos2d-x 粒子编辑器 Particle Studio 争做 Windows Particle Designer 源代码

    1.Particle Studio介绍 非常早发现一款粒子编辑器叫Particle Designer,不知道为什么它没有Windows版本号. 所以我就在Windows下基于Qt做了一个粒子编辑器.之 ...

  5. 代码编辑器 - Visual Studio Code

    vscode的视图 1.Explorer 资源管理器 打开的编辑器:打开的正在编辑的文件,单击文件会覆盖前一个打开的文件tab,双击可使打开的文件并列显示 vue-server:你自己新建的项目目录, ...

  6. 在线团队协作工具+在线UML工具

    话不多说直接上https://worktile.com去看,顺便附上小众软件上面的介绍 默默增加worktile的外国原版https://trello.com/,worktile照着trello做的, ...

  7. 代码编辑器——Visual Studio Code

    一.介绍 Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代 ...

  8. 个人工具,编辑器visual studio code

    个人收集的使用方法:简化版 主要基于基础web前端开发,visual studio code教程——基础使用.扩展插件安装使用 下载地址: https://visualstudio.microsoft ...

  9. 在线富文本编辑器FckEditor配置(.Net Framework 3.5)

    进入FCKeditor文件夹,编辑 fckconfig.js 文件.1.上传设置  .  var _FileBrowserLanguage         = 'php' ;         // a ...

  10. cocos2d-js 免安装在线版 粒子编辑器 particle editor particle builder 兼容pex和plist

    http://onebyonedesign.com/flash/particleeditor/ 这个原来是为flash starling设计的粒子系统编辑器,但实际上,还是能兼容cocos2d的. 只 ...

随机推荐

  1. Linux系统根分区满载清理

    问题说明 这里我们在使用centos7.6系统时,遇到根分区满载的问题.进入根分区后,查找了所有的目录,并没有查到大的文件.这里怀疑是文件删除未释放导致.由于系统根分区满载,执行lsof |grep ...

  2. SonarQube的使用

    一.简单介绍 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查,在很多企业中都会使用到,进行 ...

  3. uni-app项目loading显示方案

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE可视化的运行和打包也让开发体验也非常棒,公司项目就是主推uni-app, ...

  4. Vue 注意事项

    Top 1 v-once:标签的内容只改变一次: <span v-once>这个将不会改变: {{ msg }}</span> Top 2 v-html:将内容以HTML格式输 ...

  5. dotnetty 新的篇章- 开源

    一.前言 因为微服务引擎依赖于dotnetty组件,很多协议都是针对于dotnetty 进行扩展,然后对于老版本https://github.com/azure/dotnetty 停止更新后,本人下载 ...

  6. hot100之回溯上

    全排列(046) class Solution { List<List<Integer>> res = new ArrayList<>(); public List ...

  7. 《MCP从0到1》第2课:通信的消息类型、生命周期、与能力协商详解

    MCP星球推出全新教程<MCP 从 0 到 1>,面向AI爱好者和开发者朋友,零基础友好,帮你系统掌握 MCP(Model Context Protocol,模型上下文协议)的核心原理.架 ...

  8. 16. MySQL 多版本并发控制

    16. MySQL 多版本并发控制 @ 目录 16. MySQL 多版本并发控制 1. 什么是MVCC 2. 快照读与当前读 2.1 快照读 2.2 当前读 3. 复习 3.1 再谈隔离级别 3.2 ...

  9. 2025 FJCPC 复建 VP

    按开题顺序写 \(BCDEFGHIJKLA(D?)\),\(M\) 送的不写 B 首先发现铜铁本质等价(铜铁的转换不影响 \(val\) ),所以考虑枚举最后金和银的数量 \(gold, silver ...

  10. poi处理excel基本操作时写的工具类

    1.复制单元格 1 ... 2 public static void copyCell(Workbook wb, Cell srcCell, Cell distCell, boolean copyVa ...