Skip to content
/ app Public

Extract, share, save, download or simply listen to specific moments (a slice) of a song or any audio source.

License

Notifications You must be signed in to change notification settings

soundcut/app

Repository files navigation

Soundcut - prototype - Extract sound memes in the browser

Soundcut is a Progressive Web App which lets you to extract, share, save, download or simply listen to specific moments (a slice or cut) of a song or any audio source.

Created and developed by Tim.

Features

Audio source

  • Upload an mp3 file
  • Link an external media and extract its audio (using youtube-dl)
  • Re-use an existing slice, saved on the server or in the browser via indexedDB

Audio source manipulation

  • Download audio source
  • Decode the audio data to draw a waveform in a canvas
  • Play (looped) / Pause
  • Select slice boundaries (start / end) using drag and drop
  • Save/delete the audio source into/from indexedDB

Slice features

  • Submit a slice - re-draw a waveform just for the selected boundaries
  • Download a slice
  • Share a slice - save the slice on the server, generate a unique URL
  • Save/delete a slice into/from indexedDB

Philosophy

Soundcut is a mean to experiment manipulating audio files in the browser, be privacy-focused as well as trying to avoid being network-dependant, therefore even though some operations might be more efficiently done on the server (such as decoding audio data and computing waveform points), as much work as possible will be performed in the browser.

Technical Stack

Soundcut is meant to be a simple, lightweight and quickly evolving web app. It is mainly built on top of the following tools:

Installation & local development

nvm use
npm ci
npm run dev

Deploy

npm run deploy

Soundcut staging is deployed to GANDI Simple Hosting Node.js

Useful links..

About

Extract, share, save, download or simply listen to specific moments (a slice) of a song or any audio source.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published