Skip to content

steve-mackinnon/beat-chat

Repository files navigation

Getting Started

To run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

About

Beat Chat is an LLM-powered text to music web app. It lets you type in the type of music you'd like to hear, then does some work behind the scenes to fulfill that request.

Technical Details

It leverages structured outputs from LLMs in order to produce JSON describing sequences of notes, audio parameters, and instrument parameters. We'll call this the "DAW state". This is vaguely similar to the project file you might find in a digital audio workstation (DAW). Additionally, it uses the Stable Audio Open model running on Modal to generate drum samples that attempt to match the prompt. In order to turn these into sound, there is a translation layer that maps the DAW state to an Elementary Audio graph description which can be played back in the browser.