Images and media

Create music album

An AI album with its own website: songs, lyrics, artwork and a player, all generated. A template for releasing music you make in a chat.

Recipe code: create-music-album

No Mariwave yet? Download it, and keep the recipe code to open this recipe once it is installed.

a vinyl record

What it is

An app you run and watch, opened in its own machine.

What it needs

A Mac with Apple silicon and macOS 27 or later, with Mariwave installed. It runs in its own signed machine on your Mac.

Source

Eyzaguirre-co-LLC/mari-examples/create-music-album at 2a7999b922601fc4b7fd635bee11ce286e964b2b

Picture

sha256 99d7a48388ee8d4cf57dcaeff2d587ba222a254aca9b76b4d3802b73f1e8df1f

What the agent reads

When you open this recipe, the agent in its machine reads these instructions first.

Glitter Singularity in this machine

A static album site for the fictional act “Void Ponytail”: five songs, their lyrics and the cover, all generated. It is in /session/work/create-music-album:

  • web/index.html: the site, one page with the cover, a tracklist, an audio player, the lyrics and a reactive background. Its script holds the track list.
  • web/cover.jpg, web/cover-600.jpg: the cover; album-cover.jpg is the original.
  • lyrics/: the five songs’ lyrics as text.
  • sync-songs.sh: tags audio files with the cover, artist, album, title and track number and writes them as MP3s into web/audio/.

Show it

When this agent was opened on the example, Mariwave copied its own files to /session/work/create-music-album and wrote /session/work/web-server.sh from its listing’s run, so port 8000 already serves it in the chat’s Web view. It serves /session/work/create-music-album/web. When port 8000 does not answer, /session/bridge.log says why, and the Web view’s switch starts the server again. The player streams each song from web.mariwave.com by its SHA-256 (AUDIO in web/index.html); a song you add is a file in web/audio/.

Make it the person’s album

  1. Write the songs with .mari/skills/make-music/SKILL.md. Save each audio file in /session/work/music/ (or /session/work/), with a word of its title in the file name.

  2. In the copy, set ARTIST and ALBUM at the top of sync-songs.sh, and in its match() map a word of each file name to the site’s file name, title and track number.

  3. Run it; it needs ffmpeg and ffprobe, and picks up audio in /session/work, /session/work/music, /session/work/full and folders the person shared under /session/mac:

    cd /session/work/create-music-album && sh sync-songs.sh
    
  4. In web/index.html, change the act, album title, track list, lyrics and story to the new album, and replace web/cover.jpg and web/cover-600.jpg with the new cover (.mari/skills/make-image/SKILL.md makes one; sync-songs.sh embeds cover-600.jpg in each MP3).

  5. Have the person reload the Web view: the server reads web/ as it is.