{"id":24791247,"url":"https://github.com/RylanBot/melody-workshop","last_synced_at":"2025-10-12T15:31:02.147Z","repository":{"id":273035324,"uuid":"895975726","full_name":"RylanBot/melody-workshop","owner":"RylanBot","description":"an audio toolkit that enables sound processing and track mixing directly in a browser | 音频处理工具","archived":false,"fork":false,"pushed_at":"2025-01-18T07:27:19.000Z","size":2432,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T07:28:58.704Z","etag":null,"topics":["wavesurfer","web-audio-api"],"latest_commit_sha":null,"homepage":"https://melody-workshop.rylan.cn","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RylanBot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-11-29T09:48:16.000Z","updated_at":"2025-01-18T07:27:21.000Z","dependencies_parsed_at":"2025-01-18T07:39:12.952Z","dependency_job_id":null,"html_url":"https://github.com/RylanBot/melody-workshop","commit_stats":null,"previous_names":["rylanbot/melody-workshop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RylanBot%2Fmelody-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RylanBot%2Fmelody-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RylanBot%2Fmelody-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RylanBot%2Fmelody-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RylanBot","download_url":"https://codeload.github.com/RylanBot/melody-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236239251,"owners_count":19117154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["wavesurfer","web-audio-api"],"created_at":"2025-01-29T19:02:29.232Z","updated_at":"2025-10-12T15:31:02.134Z","avatar_url":"https://github.com/RylanBot.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# \u003cimg alt=\"Logo\" src=\"./public/image/favicon.png\" width=\"35\"\u003e Melody Workshop\r\n\r\nEnglish | [简体中文](./README-CN.md) \r\n\r\n## 🌷 Preview\r\n[![Live Demo](https://img.shields.io/badge/Live%20Demo-Click%20to%20view-palegreen?style=for-the-badge\u0026logo=vercel)](https://melody-workshop.rylan.cn/)\r\n\r\n![Processor](./public/image/processor.png)\r\n\r\n![Mixer](./public/image/mixer.png)\r\n\r\n## 🔥 Features\r\n\r\n### 💕 Single Audio Processing\r\n- [x] Playback range trimming\r\n- [x] Pitch filter application\r\n- [x] Volume and speed adjustment\r\n\r\n### 💕 Multiple Audio Mixing\r\n- [x] File add and delete\r\n- [x] Track volume control\r\n\r\n### 💕 Audio Exporting\r\n- [x] Format selection\r\n- [x] Bit rate setting\r\n\r\n## 🧙🏻 Development\r\n\r\n\u003cimg src=\"https://img.shields.io/badge/node-20.x-green\" alt=\"node version\"/\u003e \u003cimg src=\"https://img.shields.io/badge/pnpm-10.x-yellow\" alt=\"yarn version\"/\u003e\r\n\r\nIf you are familiar with the Web frontend technologies and are interested in source code, you can run this program using the following commands:\r\n\r\n```sh\r\nnpm install # pnpm install\r\nnpm run dev\r\n```\r\n\r\nHere is an architecture diagram to help you better understand the entire project:\r\n\r\n![Architecture](./public/image/architecture.png)\r\n\r\nAdditionally, here are some audio-related articles that may be useful to you *(written in Chinese)*:\r\n\r\n- [JS Implementation of Changing the Volume of an AudioBuffer and Downloading It as a New File](https://www.zhangxinxu.com/wordpress/2023/10/js-web-audio-audiobuffer-volume/)\r\n- [JS Implementation of Speeding Up Audio without Changing Pitch](https://www.zhangxinxu.com/wordpress/2024/02/js-audioencoder-backplayrate-audiobuffer/)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRylanBot%2Fmelody-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRylanBot%2Fmelody-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRylanBot%2Fmelody-workshop/lists"}