Deconstruct songs into isolated stems, MIDI tracks, and sheet music.
View Demo ·
Report Bug ·
Request Feature
Spectrastem is an innovative tool designed to deconstruct songs into isolated audio stems, MIDI tracks, and sheet music, providing musicians and producers with the power to manipulate, remix, and learn from complex audio files. The project is built with a two-part architecture:
- Interface: A React-based web application that offers users an intuitive interface for uploading audio files and viewing separated components.
- Engine: A Flask-based backend server responsible for the actual audio processing, including separating stems, generating MIDI, and creating sheet music.
These instructions will help you set up the Spectrastem project on your local machine for development and testing purposes.
- Node.js
- Python 3.x
- ONNX Runtime
- Flask
-
Clone the repository:
git clone https://github.com/your-repo/spectrastem.git
-
Set up both the interface and engine:
Once both the interface and engine are set up, follow the specific instructions in their respective README files to run the project.
The interface is built using React (Typescript) and Vite to provide an easy-to-use web application for users to interact with the audio processing features. Detailed instructions for the interface setup and usage are available here.
The engine is a Flask server that handles the core functionality of Spectrastem, including stem separation, MIDI generation, and sheet music creation. To dive deeper into how to configure and run the engine, refer to the dedicated engine README.
Contributions are what make the open-source community such a wonderful place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
). - Commit your Changes (
git commit -m 'Add some AmazingFeature'
). - Push to the Branch (
git push origin feature/AmazingFeature
). - Open a Pull Request.
Distributed under the MIT License. See LICENSE
for more information.
- Author: Eddie Sosera
- Project Link: https://github.com/eddiesosera/spectrastem-frontend
- ONNX by Linux for model support. [View documentation](
- Librosa for audio processing. View documentation
- Demucs by Meta for stem processing. View documentation
- BasicPitch by Spotify for MIDI processing. View documentation)