{"id":15658532,"url":"https://github.com/dansuh17/web-audio-editor","last_synced_at":"2025-05-05T03:44:15.194Z","repository":{"id":98775761,"uuid":"108084795","full_name":"dansuh17/Web-Audio-Editor","owner":"dansuh17","description":"Web audio editor built with pure javascript","archived":false,"fork":false,"pushed_at":"2023-03-03T18:16:18.000Z","size":65202,"stargazers_count":30,"open_issues_count":6,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-05T03:43:37.228Z","etag":null,"topics":["audio","javascript","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dansuh17.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}},"created_at":"2017-10-24T06:15:11.000Z","updated_at":"2025-01-25T22:09:41.000Z","dependencies_parsed_at":"2023-05-25T07:15:28.720Z","dependency_job_id":null,"html_url":"https://github.com/dansuh17/Web-Audio-Editor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dansuh17%2FWeb-Audio-Editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dansuh17%2FWeb-Audio-Editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dansuh17%2FWeb-Audio-Editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dansuh17%2FWeb-Audio-Editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dansuh17","download_url":"https://codeload.github.com/dansuh17/Web-Audio-Editor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252436240,"owners_count":21747467,"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":["audio","javascript","web"],"created_at":"2024-10-03T13:12:45.862Z","updated_at":"2025-05-05T03:44:15.155Z","avatar_url":"https://github.com/dansuh17.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Audio Editor\n\n[Demo](http://13.56.79.76)\n\nThis is a web audio editor project where user can edit custom audio files online.\nThe user is able to cut, paste, leave, and copy\nsegments of audio data. Also, the user can apply fade-in, fade-out, highpass filter, lowpass filter,\nand reverberation to the tracks. The audio effects are implemented using [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API).\nThe user can also maintain settings through signing up, and upload audio files\nto the server for later use.\n\n\n## Prerequisites\n\n* [mongodb](https://docs.mongodb.com/manual/installation/)\n* node.js \u0026 npm\n\n## Setup and running\n\n### Development Server Setup\n\n`mongod --port 38128`\n\n`npm install \u0026\u0026 npm run dev`\n\n### Start Production Server Only\n\n`npm run build \u0026\u0026 npm run start`\n\nBy default the production server listens to port `3000`.\n\nHowever, you can modify the listening port through port forwarding while `docker run`,\nwith `-p` option. See `Start Production Cluster`.\n\n### Start Production Cluster\n\n`docker pull kaehops/webaudioeditor`\n\n`docker pull mongo:3.4`\n\n`docker-compose up -d`\n\nThis command will read `docker-compose.yml` file for configuration.\n\n## User Guide\n\nGet started by using sample tracks to play with editor functionalities. Clicking an item in `Load Sample Track` will add a sample track to your project.\n\nTo upload your own audiofile, click `Add Track` and use `File` button.\nThis editor supports `mp3`, `wave`, `ogg` files. Other encoding formats are not tested and\nperformance not guaranteed.\n\nYou can `play`, `pause`, `stop` the track separately or for all tracks.\n\nAudio editing features include:\n\n* **Cut**: cuts the selected portion of the waveform. The cut out portion is copied, so\npasting is available afterwards.\n* **Copy**: copy the selected wave segment\n* **Paste**: paste the copied audio to the desired place.\n* **Leave**: leaves only the selected waveform and erase all else\n\n* **Low Pass Filter (LP)**: cuts the higher frequencies from 2000Hz with 12dB/octave roll down.\n* **High Pass Filter (HP)**: cuts the lower frequencies below 1500Hz with 12dB/octave roll down.\n* **Reverb (rev)**: adds a reverberation effect to the selected track. It uses an impulse response file taken from St. Patrick's Church, Patrington.\n* **Fade-in**\n* **Fade-out**\n\nAlso, you can view the waveform of the track in `Zoom Mode`, where you click on the waveform and\ndrag up and down.\nSelecting a portion of wave for editing is possible in `Selection Mode`, where you can\n`cut`, `paste`, and `leave`.\n\n## Development\n\n### Stylecheck\n\n`npm run list`\n\nOr, if `npm run lint-file` is run, the checkstyle results are saved in a file `eslint_result.xml`\n\nThe style extends AirBnb style, with minor modifications. See `.eslintrc` for style settings.\n\n\n### CI\n\nUses [Jenkins CI server](http://54.183.221.182:8080), and initiates a build for every\nwebhook triggered by github push.\n\nThe integration tests for:\n* All unit tests to pass\n* Building a docker container from `Dockerfile`\n* Pushing the built docker container to [Docker hub](https://hub.docker.com/r/kaehops/webaudioeditor/)\n* Passing checkstyle\n\n### Dependencies / Technologies used\n\n**Server Framework**\n* [node.js](https://nodejs.org/en/)\n* [express](http://expressjs.com) for REST api's\n* [webpack2](https://webpack.js.org) for bundling\n* [Babel](http://babeljs.io) for ECMAScript version management and transpiling\n\n**Waveform Visualization**\n* [waves-ui](https://github.com/wavesjs/waves-ui)\n\n**DB**\n* [Mongodb](https://www.mongodb.com) for user authentication and library management\n\n**CSS**\n* [Bootstrap 4 (alpha)](https://v4-alpha.getbootstrap.com)\n\n**Integration**\n* [AWS EC2](https://aws.amazon.com) for ubuntu webserver container\n* [Docker](https://www.docker.com) for microservice builds and deployment\n* [Jenkins](https://jenkins.io) for continuous integration master\n\n**Testing**\n* [Mocha](https://mochajs.org)\n* [Sinon](http://sinonjs.org)\n* [Chai](http://chaijs.com)\n\n**ECMAScript Stylecheck**\n* [eslint](http://eslint.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdansuh17%2Fweb-audio-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdansuh17%2Fweb-audio-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdansuh17%2Fweb-audio-editor/lists"}