2022-11-20 12:29:10 -07:00
# Riffusion App
2024-07-22 12:01:36 -06:00
:no_entry: This project is no longer actively maintained.
2022-12-15 12:00:11 -07:00
2024-07-22 12:01:36 -06:00
Riffusion is an app for real-time music generation with stable diffusion.
2022-11-20 12:20:12 -07:00
2022-12-12 20:39:08 -07:00
This repository contains the interactive web app that powers the website.
It is built with Next.js, React, Typescript, three.js, Tailwind, and Vercel.
2022-12-12 19:23:03 -07:00
## Run
This is a [Next.js ](https://nextjs.org/ ) project bootstrapped with [`create-next-app` ](https://github.com/vercel/next.js/tree/canary/packages/create-next-app ).
2022-11-20 12:20:12 -07:00
2022-12-18 23:27:57 -07:00
First, make sure you have Node v18 or greater installed using `node --version` .
Install packages:
2022-11-21 10:44:38 -07:00
```bash
npm install
```
2022-12-12 19:23:03 -07:00
Run the development server:
2022-11-20 12:20:12 -07:00
```bash
npm run dev
# or
yarn dev
```
2022-12-12 19:23:03 -07:00
Open [http://localhost:3000 ](http://localhost:3000 ) with your browser to see the app.
2022-11-20 12:20:12 -07:00
2022-12-12 19:23:03 -07:00
The app home is at `pages/index.js` . The page auto-updates as you edit the file. The about page is at `pages/about.tsx` .
2022-11-20 12:20:12 -07:00
The `pages/api` directory is mapped to `/api/*` . Files in this directory are treated as [API routes ](https://nextjs.org/docs/api-routes/introduction ) instead of React pages.
2022-12-12 19:23:03 -07:00
## Inference Server
2022-11-20 12:20:12 -07:00
2022-12-12 19:23:03 -07:00
To actually generate model outputs, we need a model backend that responds to inference requests via API. If you have a large GPU that can run stable diffusion in under five seconds, clone and run the instructions in the [inference server ](https://github.com/hmartiro/riffusion-inference ) to run the Flask app.
2022-11-20 12:20:12 -07:00
2022-12-18 23:23:23 -07:00
You will need to add a `.env.local` file in the root of this repository specifying the URL of the inference server:
2022-11-20 12:20:12 -07:00
2022-12-12 19:23:03 -07:00
```
2022-12-16 09:15:58 -07:00
RIFFUSION_FLASK_URL=http://127.0.0.1:3013/run_inference/
2022-12-12 19:23:03 -07:00
```
2022-12-14 22:14:35 -07:00
## Citation
If you build on this work, please cite it as follows:
```
2022-12-19 00:13:26 -07:00
@article {Forsgren_Martiros_2022,
2022-12-14 22:14:35 -07:00
author = {Forsgren, Seth* and Martiros, Hayk*},
title = {{Riffusion - Stable diffusion for real-time music generation}},
url = {https://riffusion.com/about},
year = {2022}
}
```