Skip to content

jgentes/mixpoint

Repository files navigation

Mixpoint

Mixpoint is multi-track audio mixing app for the browser

Links

Screenshot

App

Presentation

Slides

Overview

Mixpoint solves a common problem that many "desktop" DJ's face - there are only two different types of products available on the market today:

  1. DJ apps (VirtualDJ, etc) - these all replicate the 2 turntable scenario, which is great for mixing two tracks together in real time. This is appropriate for live performances, but not ideal if you want to take the time to perfect mixes and create a longer, flawless set.

  2. DAW apps (Audacity, Cubase, etc) - these assume you're making music, with lots of sampling and effects, optimized for audio production. They support laying out multiple tracks (which is what is missing in DJ apps) but don't provide the basic context that DJ's need, such as BPM detection, beatmatching, and simple crossfading between tracks. Of course these things can be done with these tools, but it's not easy and not really what they are designed for.

The goal of this app is to provide a focused user experience that delivers on the need to lay out a series of tracks, easily tweak the transition from one track to the next (a mix), and save the output as a finished set. Once a good audio AI is available, the software will automatically mix between tracks.

Huge thanks to the NextUI team for creating such a kickass UI freely available.

The project uses Wavesurfer for waveform analysis and navigation.

Open source is more than a licensing strategy, it's a movement. This work is made possible by the free labor of many open source contributers and their generous volunteerism.

Available Commands

In the project directory:

First install Bun, then use "bun dev" to launch the dev server.

The app is built using Remix which uses esBuild (now Vite) for really fast hot reloads. Open http://localhost:3000 to view it in the browser.

Built With

  • Typescript
  • Remix SSR framework for React
  • NextUI React library
  • BiomeJS for linting & formatting
  • Vite bundler
  • Valtio for App State
  • Dexie (IndexedDb) for Persistent State
  • WaveSurfer.js for audio visualization
  • Meta's Demucs for audio stem separation
  • Highlight.io for analytics
  • AI-driven testing by Octomind
  • Hosting by Vercel (sorry CF team, their UI is amazing!)

Roadmap

  • Documentation
  • Playlists / Track Organization
  • Saving Mixes
  • Creating Sets
  • User Authentication
  • AI Automixing

Author

James Gentes

🤝 Support

Give a ⭐️ if you like this project!

About

Mixpoint is a multi-track audio mixing app for the browser

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published