华为云码道×仓颉实战:零基础开发你的专属音乐编辑器 最新案例动态请查阅华为云码道×仓颉实战零基础开发你的专属音乐编辑器小伙伴们快来进行实操吧案例简介本案例基于华为云码道CodeArts代码智能体与开源仓颉 Skills设计实现一个有趣且实用的乐谱“编程”语言在码道上用 AI Cangjie 开发这个乐谱语言的编译器它可以将相关乐谱编译为可播放的 MIDI 文件。一、概述1.1 案例介绍本案例基于华为云码道CodeArts代码智能体与开源仓颉 Skills设计实现一个有趣且实用的乐谱“编程”语言在码道上用 AI Cangjie 开发这个乐谱语言的编译器它可以将相关乐谱编译为可播放的 MIDI 文件。华为云码道CodeArts代码智能体一个理解项目需求懂得编码之道善用百器的实干派AI研发专家开启你的编码自动驾驶模式。本案例中作为交互工具配置技能并调用技能。技能Skill是一种能力封装机制用于将专业知识组织为可复用的模块。技能本质上是由指令、脚本和资源构成的集合智能体可按需动态加载这些专业化的“技能包”从而提升特定任务的执行能力与执行效率。本案例中使用仓颉语言官方推出的一套Skill可支撑 AI 开发工具从零创建开发仓颉项目包括项目配置、开发、构建、运行、单元测试等包括 stdx、macro、CFFI 等场景的自动处理。1.2 适用对象企业个人开发者高校学生1.3 案例时间本案例总时长预计60分钟。1.4 案例流程说明开发者下载安装AI IDE完成华为云码道CodeArts代码智能体安装部署下载并安装仓颉SDK、仓颉插件下载仓颉项目使用AI IDE加载仓颉项目。登录GitCode官网搜索并下载开源仓颉的SkillCangjieSkills并在AI IDE华为云码道的项目级下完成配置执行任务书完成多轨道、和弦、变量定义等特性并执行预置的测试用例测试用例中预置了部分乐谱开发者可试听预置乐谱生成的MIDI文件开发者可与华为云码道进行对话使用AI创作乐谱并反复与AI对话进行乐谱优化创作自己的音乐成为“作曲家”。1.5 资源总览本案例预计花费0元。资源名称规格单价元华为云码道CodeArts代码智能体通用体验版免费二、基础环境与资源准备2.1 AI IDE华为云码道安装部署参考案例《AI IDE华为云码道CodeArts代码智能体安装部署》完成华为云码道CodeArts代码智能体Windows版AI IDE安装部署。2.2 下载并安装仓颉插件和仓颉SDK下载安装仓颉插件点击扩展图标在搜索框中输入Cangjie安装Cangjie插件。下载安装仓颉SDK:下载软件包cangjie-sdk-windows-x64-1.1.0.exe备注本案例以Windows为例。下载完成后双击.exe安装包安装流程自动配置环境变量。配置SDK路径点击扩展图标点击Cangjie插件的管理图标点击设置按钮。配置SDK路径。2.3 导入Cangjie-MIDI项目点击左上角图标 Git 克隆项目。输入仓库URLhttps://gitcode.com/u014005316/CangjieMIDI.git项目名称CangjieMIDI-main项目本地存放路径默认即可。点击克隆在当前窗口打开项目。项目目录结构如下复制代码CangjieMIDI-main/ ├── cjpm.toml # cjpm 项目配置文件 ├── cjpm.lock # cjpm 锁定文件无外部依赖 ├── README.md # 项目说明文档案例介绍 ├── MIDI.md # MIDI 文件格式详解文档 ├── Music.md # 中国风曲谱生成需求文档 ├── Task.md # 乐谱语言语法规范与任务说明 ├── .gitignore # Git 忽略规则 │ ├── src/ # 源代码目录 │ ├── main.cj # 程序入口命令行参数解析与文件处理 │ │ │ ├── core/ # 核心模块乐谱解析 │ │ ├── types.cj # 数据模型定义 │ │ ├── parser.cj # 统一语言解析器主入口 │ │ ├── parser_note.cj # 音符/和弦解析 │ │ ├── parser_utils.cj # 解析辅助工具字符判断、时值转换 │ │ └── instrument.cj # GM 标准 128 音色映射表 │ │ │ ├── encoder/ # 编码器模块文本 → MIDI 二进制 │ │ ├── encoder.cj # 统一编码入口乐谱模式 事件模式 │ │ ├── event.cj # MIDI 事件类型定义与底层字节编码 │ │ └── utils.cj # 格式检测、十六进制解析、文件组装 │ │ │ ├── decoder/ # 解码器模块MIDI 二进制 → 文本 │ │ ├── decoder.cj # 无损反编译器 │ │ ├── binary.cj # 大端读取、VLQ 解码 │ │ └── note.cj # 音高 → 音名转换 │ │ │ ├── verifier.cj # MIDI 验证工具公共接口 │ ├── verifier_utils.cj # MIDI 验证工具内部辅助函数 │ │ │ ├── midi_test.cj # 旧测试文件兼容保留 │ ├── decode_test.cj # 反编译与无损回环测试 │ ├── encode_test.cj # 统一语言编码测试 │ ├── event_extra_test.cj # 事件模式扩展测试 │ └── score_extra_test.cj # 乐谱模式扩展测试 │ ├── testcase/ # 测试用例目录 │ ├── birthday.txt # 生日快乐乐谱双轨旋律贝斯 │ ├── birthday.mid # 编译后的 MIDI 文件 │ ├── chou.txt # 愁乐谱 │ ├── chou.mid │ ├── happy.txt # 欢乐乐谱 │ ├── happy.mid │ ├── indiana.txt # 印第安纳乐谱 │ ├── indiana.mid │ ├── stars.txt # 小星星乐谱 │ ├── stars.mid │ ├── starspro.txt # 小星星进阶版三轨和弦变量 │ ├── starspro.mid │ ├── tigers.txt # 老虎乐谱 │ ├── tigers.mid │ ├── alice.txt # 爱丽丝乐谱 │ └── alice.mid │ │ │ └──origin-doc/ # 原始项目参考文档 ├── MIDI-Design.md # 新乐谱语言设计文档 └── Origin-Project.md # 原始 Base 项目说明本案例基础项目代码由AI生成由于代码生成与优化时间过长为了减少无效的等待并增加实验的趣味性因此本案例提供部分音乐编辑器源码。备注可参考origin-doc目录下的MD文件依次执行 Origin-Project.md和MIDI-Design.md任务书即可生成完整功能。2.4 下载并配置CangjieSkills下载CangjieSkills登录gitcode下载CangjieSkills。下载完成后解压缩CangjieSkills-main.zip文件所有技能存放在CangjieSkills-main\CangjieSkills-main\.agents\skills目录下。cangjie-std Skill提供仓颉语言标准库常用功能速查文档包括核心类型/集合/时间日期/数学运算/扩展数值/并发同步/并发集合/正则表达式/文件系统/IO流/网络通信/进程管理/排序/环境变量/随机数/二进制端序/整数溢出/Unicode字符/自动派生/反射/摘要算法/类型转换/标准输入输出/命令行参数处理/单元测试框架/弱引用等。cangjie-stdx Skill提供仓颉语言扩展标准库stdx常用功能速查文档包括stdx配置构建/json编解码/日志/编码/压缩/序列化/HTTP客户端/HTTP服务端/WebSocket/TLS安全通信等。cangjie-toolchains Skill提供仓颉语言编译器cjc/调试器cjdb/覆盖率检测工具cjcov/代码格式化工具cjfmt/静态检查工具cjlint/性能分析工具cjprof/项目管理工具cjpm的使用文档。cangjie-original-docs Skill当无法从其他Skills中获取有效的仓颉语言知识时请引用此Skill所在目录提供仓颉语言/标准库/扩展标准库/工具链的原始文档。cangjie-regulations Skill仓颉项目规范准则。包括项目结构规范、命名规范、格式化规范、错误处理规范、测试规范、并发规范、安全规范、文档规范、依赖管理规范、版本控制规范等最佳实践指导。cangjie-lang-features Skill提供仓颉编程语言核心特性优质文档当使用仓颉语言做软件开发或者回答用户关于仓颉语言的问题时应优先使用此Skill。配置CangjieSkills华为云码道提供手动创建和导入两种方式配置技能本案例使用导入的方式配置技能。在码道右上角打开设置进入设置界面后选择技能与规则在项目级板块下技能的右侧点“”号选择导入。将存放在CangjieSkills-main\CangjieSkills-main\.agents\skills目录下的技能压缩成对应的zip包。上传包含SKILL.md文件的.zip包。以cangjie-std Skill为例。备注压缩包的名称与技能名称保持一致。点击确定按钮上传成功后系统自动在.codeartsdoer/skills目录下导入SKILL。其它技能以同样方式导入即可。三、仓颉音乐编辑器功能实战3.1 优化音乐编辑器与华为云码道对话使用AI执行Task.MD任务书即在智能体对话框中输入以下提示词复制代码请执行Task.MD文件优化音乐编辑器。3.2 试听音乐打开项目目录在testcase目录下使用音乐播放器试听生成的音乐。3.3 音乐创作由于华为云码道装配的是通用大模型非音乐定制模型因此对于音乐的处理能力有限如果想生成高质量的音乐请使用专业的音乐模型。操作步骤与华为云码道对话使用AI创作音乐试听音乐开发者与华为云码道反复对话优化乐谱完成创作本案例中提供了一个音乐创作需求文档可直接执行在码道对话框中输入以下提示词复制代码请根据Music.md生成乐谱并生成.mid文件打开项目目录在testcase目录下使用音乐播放器试听生成的音乐。本案例使用仓颉语言实现了乐谱解析器将txt文件格式的乐谱转为MIDI文件通过数字乐器演奏乐谱。开发者也可以使用音乐服务MCP实现相应功能。至此华为云码道×仓颉实战零基础开发你的专属音乐编辑器的案例已全部完成。四、反馈改进建议如您在案例实操过程中遇到问题或有改进建议可以到论坛帖评论区反馈即可我们会及时响应处理谢谢