NoteDigger 项目使用与配置指南
2026-01-31 04:15:19作者:申梦珏Efrain
1. 项目目录结构及介绍
NoteDigger 项目是一个纯前端的音乐转录工具,项目目录结构如下:
noteDigger/
│ app.js # 主程序文件
│ beatBar.js # 节奏信息相关脚本
│ channelDiv.js # 多音轨UI界面类
│ contextMenu.js # 右键菜单类
│ favicon.ico # 网站图标
│ index.html # 程序入口,主要包含页面布局和按钮事件绑定
│ LICENSE # 开源协议文件
│ midi.js # MIDI文件的创建和解析类
│ myRange.js # 滑动条的封装类
│ README.md # 项目说明文件
│ saver.js # 二进制保存相关脚本
│ siderMenu.js # 侧边栏菜单类
│ snapshot.js # 快照类,用于实现撤销和重做功能
│ tinySynth.js # 合成器类,负责播放音频
│ fakeAudio.js # 模拟无声Audio类,用于MIDI编辑器模式
│ todo.md # 设计思路和待办事项记录
│
├─dataProcess/
│ │ analyser.js # 频域数据分析与简化
│ │ fft_real.js # 实数FFT获取频域数据
│ │ midiExport.js # 导出MIDI文件的相关处理
│ |
│ ├─AI/
│ │ basicamt.js # 开启后台AMT处理
│ │ basicamt_44100.onnx # 神经网络模型文件
│ │ basicamt_worker.js # 新线程,用于AI处理
│ │
│ │ └─dist/ # ONNXruntime打包文件
│ │ bundle.min.js
│ │ ort-wasm-simd.wasm
│ |
│ └─CQT/
│ │ cqt.js # 开启后台CQT处理
│ │ cqt.wasm.js # emcc编译的胶水代码
│ │ cqt.wasm.wasm # emcc编译的WASM文件
│ │ cqt_worker.js # 新线程,用于CQT处理
│ │
│ └─.vscode/
│ c_cpp_properties.json # C++环境配置
│ tasks.json # emcc编译命令
│
├─img/
│ github-mark-white.png
│ logo-small.png
│ logo.png
│ logo_text.png
│
├─style/
│ askUI.css # 达到类似<dialog>效果的样式
│ channelDiv.css # 多音轨UI样式
│ contextMenu.css # 右键菜单样式
│ myRange.css # 包装滑动条样式
│ siderMenu.css # 侧边栏菜单样式
│ style.css # index中独立元素的样式
│
└─icon/ # 阿里图标库得到的图标文件
iconfont.css
iconfont.ttf
iconfont.woff
iconfont.woff2
2. 项目的启动文件介绍
项目的启动文件是 index.html,它是网页的入口点。该文件定义了页面的基本结构,并包含了所有必要的JavaScript文件。用户通过浏览器打开这个文件,即可启动NoteDigger应用程序。
<!-- index.html -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>NoteDigger</title>
<!-- 引入样式文件 -->
<link rel="stylesheet" href="style/style.css">
<!-- 引入JavaScript文件 -->
<script src="app.js"></script>
<!-- 其他头部信息 -->
</head>
<body>
<!-- 页面内容 -->
<div id="app"></div>
<!-- 页面脚本 -->
<script>
// JavaScript代码,用于初始化和绑定事件
</script>
</body>
</html>
3. 项目的配置文件介绍
在NoteDigger项目中,配置文件主要是通过JavaScript代码来实现的,并没有独立的配置文件。项目的配置主要集中在以下几个部分:
app.js:这是主程序文件,包含了项目的核心逻辑和配置信息,如音轨的初始化、用户交互等。siderMenu.js:侧边栏菜单类,用于配置和展示侧边栏菜单项。style.css:样式配置文件,用于定义页面的样式。
在项目的后续开发中,可以根据需要创建独立的配置文件,以便更好地管理项目的配置信息。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0230- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01- IinulaInula(发音为:[ˈɪnjʊlə])意为旋覆花,有生命力旺盛和根系深厚两大特点,寓意着为前端生态提供稳固的基石。openInula 是一款用于构建用户界面的 JavaScript 库,提供响应式 API 帮助开发者简单高效构建 web 页面,比传统虚拟 DOM 方式渲染效率提升30%以上,同时 openInula 提供与 React 保持一致的 API,并且提供5大常用功能丰富的核心组件。TypeScript05
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
629
4.15 K
Ascend Extension for PyTorch
Python
469
566
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
931
826
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
855
昇腾LLM分布式训练框架
Python
138
162
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
131
191
暂无简介
Dart
877
209
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
382
266
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
114
186