This project provides a user interface for splitting a single audio file into multiple tracks. The client is powered by Vue and the server is powered by Node and Express.
- Node v16
- ffmpeg
There are two parts of this project - a client and server. The server can be used without the client by using a tool such as cURL or Postman.
The following commands should be run in audio-track-splitter/server.
Install dependencies:
yarn
# or
yarn installStart server:
yarn startThe server starts at http://localhost:4000.
The server exposes the POST endpoint /splitIntoTracks and expects the following arguments in JSON format:
The following commands should be run in audio-track-splitter/client.
Install dependencies:
yarn
# or
yarn installStart client:
yarn startThe client starts at http://localhost:3000.
The client is just used to provide a handy interface for the server. It validates input and sends a POST request to /splitIntoTracks.
{ // The sourceFile should be put in server/sources "sourceFile": "source.flac", // The fileFormat should be the file extension to use // for the split tracks that are created. Do not include the `.` "fileFormat": "flac", // tracks is an array of track objects "tracks": [ { // name is used as both the metadata tag for the // track as well as the file name. Do not include // the file extension; it will be added using the fileFormat // field "name": "Track Name", // startTime should be formatted as HH:MM:SS "startTime": "00:00:00", // endTime should be formatted as HH:MM:SS "endTime": "00:02:03" } ] }