{"id":28563852,"url":"https://github.com/nikaple/auto-chord","last_synced_at":"2026-01-20T16:30:23.445Z","repository":{"id":291813980,"uuid":"978442947","full_name":"Nikaple/auto-chord","owner":"Nikaple","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-15T15:54:50.000Z","size":371,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T14:35:49.748Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nikaple.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-06T02:02:52.000Z","updated_at":"2025-05-15T15:54:54.000Z","dependencies_parsed_at":"2025-05-06T17:45:25.821Z","dependency_job_id":"c6ea9918-a4a7-4c0c-9b55-53814a6afb63","html_url":"https://github.com/Nikaple/auto-chord","commit_stats":null,"previous_names":["nikaple/auto-chord"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nikaple/auto-chord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fauto-chord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fauto-chord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fauto-chord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fauto-chord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nikaple","download_url":"https://codeload.github.com/Nikaple/auto-chord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fauto-chord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28607159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-10T13:08:53.847Z","updated_at":"2026-01-20T16:30:23.428Z","avatar_url":"https://github.com/Nikaple.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 自动和弦 (Auto Chord)\n\n自动和弦是一个交互式网页应用，允许用户通过键盘按键或按键组合来播放不同的音乐和弦。该应用旨在为音乐学习者、作曲家和音乐爱好者提供一个便捷的和弦演奏工具，帮助他们探索和学习不同的和弦结构。\n\n## 功能特点\n\n- 支持多种和弦类型（三和弦、七和弦、九和弦等）\n- 键盘控制和鼠标点击两种操作方式\n- 实时显示当前播放的和弦和包含的音符\n- 可调整音色、音量和ADSR包络参数\n- 现代响应式UI设计\n- 支持不同调性的转换和演奏\n- 和弦级数（罗马数字）标记功能\n- 支持和弦转位显示\n\n## 在线演示\n\n访问 [GitHub Pages 演示](https://nikaple.github.io/auto-chord/) 体验在线版本。\n\n## 技术栈\n\n- Vue 3 + TypeScript - 前端框架\n- Web Audio API - 音频处理\n- Pinia - 状态管理\n- Vite - 构建工具\n\n## 开发设置\n\n### 前提条件\n\n- Node.js (v16.0.0+)\n- npm (v8.0.0+)\n\n### 安装依赖\n\n```bash\nnpm install\n```\n\n### 开发环境运行\n\n```bash\nnpm run dev\n```\n\n### 构建生产版本\n\n```bash\nnpm run build\n```\n\n### 运行测试\n\n```bash\nnpm run test\n```\n\n## 部署\n\n项目配置了自动部署到 GitHub Pages 的工作流。当您将代码推送到 `main` 分支时，GitHub Actions 将自动构建并部署到 GitHub Pages。\n\n### 手动部署\n\n1. 构建项目\n```bash\nnpm run build\n```\n\n2. 将 `dist` 目录部署到你喜欢的静态网站托管服务\n\n## 使用说明\n\n### 和弦类型切换\n\n使用数字键和 Shift 键组合来切换不同的和弦类型：\n\n| 按键 | 和弦类型 | 按键 | 和弦类型 |\n|------|----------|------|----------|\n| 1 | 小三和弦 | ⇧+1 | 大三和弦 |\n| 2 | sus4和弦 | ⇧+2 | sus2和弦 |\n| 3 | 小七和弦 | ⇧+3 | 大七和弦 |\n| 4 | 属七和弦 | ⇧+4 | 小大七和弦 |\n| 5 | 小六和弦 | ⇧+5 | 大六和弦 |\n| 6 | 减三和弦 | ⇧+6 | 增三和弦 |\n| 7 | 小九和弦 | ⇧+7 | 大九和弦 |\n\n### 键盘布局\n\n#### 第二排键位 (S-L) 映射到C大调的基础和弦：\n- **S D F G H J K L**: 白键，用于演奏基本和弦\n- 键位按照钢琴键盘排列，从C到C跨越一个八度\n\n#### 第一排键位 (E/R/Y/U/I) 映射到黑键和弦：\n- **E**: C♯/D♭\n- **R**: D♯/E♭\n- **Y**: F♯/G♭\n- **U**: G♯/A♭\n- **I**: A♯/B♭\n\n#### 第三排键位 (Z-,) 用于演奏七和弦：\n- **Z X C V B N M ,**: 按照白键的排列对应七和弦\n\n### 调性选择功能：\n- 使用调性选择下拉菜单选择不同的调性\n- 通过升/降半调按钮（♯/♭）快速切换调性\n- 当前调性始终显示在界面中\n- 键盘上的按键将根据选择的调性自动映射到相应的和弦\n\n### 和弦显示功能：\n- 实时显示当前和弦名称和组成音符\n- 显示和弦类型（如大三和弦、小七和弦等）\n- 显示和弦转位状态\n- 在大调音阶中显示和弦级数（罗马数字标记）\n\n## 项目结构\n\n```\nsrc/\n├── components/          # Vue 组件\n│   ├── ChordDisplay.vue # 和弦显示组件\n│   └── Keyboard.vue    # 键盘组件\n├── composables/        # Vue 组合式函数\n│   └── useKeyboardHandler.ts\n├── stores/            # Pinia 状态管理\n│   └── chordStore.ts\n└── utils/             # 工具函数\n    ├── music.ts       # 音乐相关工具\n    └── chordUtils.ts  # 和弦工具函数\n```\n\n## 贡献指南\n\n欢迎提交 Issue 和 Pull Request。在提交 PR 之前，请确保：\n\n1. 更新测试用例\n2. 更新相关文档\n3. 遵循现有的代码风格\n4. 添加必要的注释\n\n## 许可\n\nISC License\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaple%2Fauto-chord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikaple%2Fauto-chord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaple%2Fauto-chord/lists"}