Skip to content

benbaja/mandoline

Repository files navigation


mandoline

A sample cutting webapp

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Acknowledgments

About The Project

This project was made for music producers in mind, especially electronic music composers.

I wanted to create a tool to quickly isolate sound from online media or recorded audio, without the hassle of opening a DAW and leaving unwanted raw files on my hard drive.

The project was named after both the musical instrument and the cooking ustensil

(back to top)

Getting Started

Install npm if not already on your system

Download the files and run :

  • npm
    npm run build

Then open dist/index.html

Deployment

Coming soon

Usage

Select from different audio sources (microphone, local file, or online media) and double click on the waveform browser to start creating a "slice", then click one last time to select the end of the slice.

A slice is a non-destructive cut of the original audio, that can be modified on the waveform browser. Use the slices list on the bottom left to rename, delete or download the slices

Slices are exported at 16bits .wav audio file

Downloading online media

mandoline uses the Cobalt API for online media download. See the list of supported services here.

Microphone recording

Microphone source can be selected in the settings panel

(back to top)

Roadmap

  • UX redesign
    • Custom buttons
    • Zoom from the minimap
  • BPM grid
    • Parameters for BPM grid offset
  • Complete CI/CD pipeline
    • E2E testing with Cypress
  • Splitting with Demucs

See the open issues for a full list of proposed features (and known issues).

(back to top)

Acknowledgments

  • Wavesurfer for everything waveform related, and more
  • Cobalt for media download

(back to top)