Skip to content

Repository files navigation

Reperform

Play back a multitrack recorded performance in a browser using Supabase and Web Audio API with waveforms

Demo

## Features
  • Auto-generated waveforms
  • Playback Faders per-track
  • Zoom with either slider or ctrl/cmd + wheel
  • Some Logic Pro Keybinds (Space for pause/play, Enter to restart)

Frontend Setup

bun i && bun dev

Supabase Setup

  1. Create a table named recordings with the following columns

Table

  • folder should be Nullable
  • zones should be Nullable and Defined as Array
  1. Create storage Bucket named recordings with the following settings

Bucket

  • Note: On default supabase, there is a file size limit of 50mb I think. You will need to change it in your .env if self hosting
  • Public should be set based on your rls policies
  1. Setup RLS policies

Table: Use "Enable read access for all users" or set to ALL for testing

Table RLS

  • Auth will be implemented soon

Bucket: Use the following template, or disable everything but select for all users

Bucket RLS

  • Auth will be implemented soon
  1. Create a .env file based on .env.example and set the parameters
  2. Alter policies after I add auth support

I wish supabase had templates

Usage

  • File name format n=Name.ext
    • Anything before = will be hidden, and can be used for sorting
    • Anything after the first . will also be hidden
  • Tracksets are composited by Name + Date, so You will be prompted if those values are identical to one already existing

Releases

Packages

Contributors

Languages