---
name: songbook
description: “Between March and October 2026 I made about seven hundred songs with AI. This page is the story of turning a hundred of them into a printed book I can hold, read and scribble on, so I can choose the fifty worth making better.” Use when backing up a music library with metadata, curating a large collection with several AI agents, typesetting lyrics for print (multilingual, uncut, with line numbers and QR codes), building a scaled print proof for Chatbooks, or handing a stalled build from one agent to another.
---

# Making 100 Songs Later

## Why a printed book?

I started making songs in late February with Google's Lyria model in Gemini. The very first one was a song about my kids. Within days I had moved to Suno, and from March to October I kept going: kitchen horror-comedies, Tamil street slang set to classical forms, dawn ragas about hostel laundry, birdsong remixes, village funeral drums, konnakol. By October there were about seven hundred recordings, including repeats, alternate takes and revisions.

A hundred songs felt like a milestone worth marking. I wanted something I could hold: a book I can sit with, lyrics in my hands while the audio plays, a pen in the margin. It is a commemorative longer cut, not a release. The plan is to read it, listen again, and choose roughly fifty songs to improve into a tighter compilation. The book is the working copy for that next step.

Three things mattered from the start:

- **Full lyrics, untouched.** Every song prints in full with its original line breaks, typos and all, so I can refer to a line by number when I come back to fix it.
- **Every page plays.** Two QR codes per song: one to the original on Suno, one to my own hosted copy on Tharai Local Studio.
- **Two sizes.** A 10×10 inch master, and a 5×5 inch scaled prototype I can print cheaply with Chatbooks to feel the pacing before committing to the big one.

## Related projects

- **[Tharai Local Studio](https://thara-local-studio.pages.dev/)**: my private listening room for the songs, with playlists, lyrics and a per-song link for every track. The book's QR codes point here. Its [project log](https://thara-local-studio.pages.dev/?view=log) has the version history.
- **[100 Songs Later, digital copy](https://thara-local-studio.pages.dev/songbook/2026-mar-oct/)**: the address printed on the cover, behind the studio password.
- **[Building a personal podcast](/learnings/personal-podcast/)**: the sister learning about The Mindful Minute, which used these songs as one of its sources.
- **[Making print books](/learnings/print-books/)**: what Chatbooks trims, spreads and QR codes taught me on earlier books.

## The ten days at a glance

| When | What happened |
| --- | --- |
| Aug 16–22 | Claude backs up liked songs 1–343 from Suno into numbered folders, then switches to Suno's own data feed for clean metadata. |
| Aug 30–Sep 4 | Tharai Local Studio goes online: albums, lyrics, a per-song link for every track, then the full 343-song archive. |
| Oct 23 | Inventory grows to 716 liked songs. A first book proposal and a Top 50 list are drafted. |
| Oct 24, 1 am | One curation prompt goes to five agents: Claude, Codex (ChatGPT), Gemini, Grok and Muse Spark. |
| Oct 24 | Codex and Gemini each compare all five. Grok writes a notebook reading Gemini's pass. Gemini's 8-album master draft becomes the book. Claude downloads the priority songs within Suno's monthly limit. |
| Oct 24–25 | Codex builds a LaTeX songbook workbench: 28 trial builds in one morning. |
| Oct 25 | Gemini amends the draft. Tharai Local Studio v1.5 and v1.6 add 44 songs and the book's 100-song playlist. |
| Oct 26–27 | LaTeX is set aside for an HTML edition with prompt-based editing. ChatGPT builds three editor versions; the last one stalls. |
| Oct 27–28 | Claude reviews the handoff, rebuilds the workbench in a new folder, finishes both editions, the reading view and the PDFs, and publishes them (Tharai Local Studio v1.7). |

## Phase 1: Getting the songs out

## 1. Backing up the liked songs

Everything starts with the songs living somewhere I control. Suno keeps them online; I wanted each one on my own Mac. Claude, working in my Chrome browser with access to the Mac's files, made one numbered folder per song with three things inside:

- the original audio as a `.wav`, with the cover art and metadata embedded inside the file, so it stays self-contained even outside the folder;
- `cover.jpg` at the highest available resolution;
- `metadata.md` with the title, style prompt, full lyrics, creation date, length and the Suno link.

The first sessions read the page the way a person would, clicking and copying. Midway, Claude found a much better way: asking Suno's own data feed for each song from inside my logged-in browser. One request returned the title, style, full lyrics, date, model and the large cover image, with nothing truncated. That one change made the metadata reliable enough to print later.

A spreadsheet tracks every song by number. Folder numbers are permanent, so the same number means the same song everywhere: in the folder name, on the website, in the book's index and in its QR codes. Two lessons stuck. Compare songs by their Suno ID, never by title, because one append once re-added 37 songs that were already captured. And write a handoff document, because each chat session starts with no memory of the last; the backup workflow doc let a fresh agent resume exactly where the previous one stopped.

### The sixty-a-month limit

By October Suno allowed only about sixty downloads a month. 343 songs were already backed up; the inventory listed 716. So downloading became a priority list rather than a bulk job: a Top 50, then the songs the curators chose. Some chosen songs are still not downloaded. Instead of leaving them out, the book gives them their permanent number now (see section 2).

## 2. Tharai Local Studio, the listening room

Tharai Local Studio is my own small website for listening: albums, lyrics with line numbers, a mini player, and a direct link for every song in the form `?song=001`. It sits behind an access word and asks search engines not to index it. Version 1.0 had 109 songs in four albums. By version 1.5 on October 25 it held 387 songs across 22 playlists, with the new tracks encoded on the Mac and checked before publishing. Version 1.6 added a playlist of exactly the book's hundred songs under its eight album headings, and version 1.7 put the book itself online.

![The front door of the listening room on a phone. It is a courtesy gate for a private archive, not real security.](shots/01-tharai-gate.jpg)

### Future-proof links for songs not yet hosted

Because of the download limit, 11 of the book's hundred songs are not on the site yet. Every one of them still has its Tharai Local Studio link and QR code printed in the book, using its permanent song number. When the audio is downloaded and added later, the printed code starts working with nothing reprinted. The book's data marks these as reserved, so nobody mistakes them for broken links in the meantime. Each page's Suno code works today regardless.

## Phase 2: Choosing the hundred

## 3. One prompt, five curators

Choosing a hundred from seven hundred is the hardest part, and I didn't want one opinion. Claude wrote a single curation prompt, I attached the 716-song catalogue, and at about 1 am on October 24 I sent the same prompt to five agents: Claude, Codex (ChatGPT), Gemini 4 Argon, Grok and Muse Spark. The brief, in short:

*Propose exactly 100 songs, grouped into 8 to 16 albums you name yourself. Choose from the catalogue only; don't invent songs, lyrics or facts. Aim for range and a clear arc, not simply the most played. Pick the best take when a song has several. Write the liner notes modestly, in my voice. Then tell me what you cut, the songs you are least sure about, and the one thing that surprised you.*

Each agent returned a hundred songs, a one-page summary and a playlist I could play straight through.

<!-- gallery: Five one-page curations from the same prompt -->
![Gemini 4 Argon: 10 albums, from the March kitchen songs to the konnakol experiments.](shots/02c-curation-gemini.jpg)
![Codex (ChatGPT): 10 albums.](shots/02a-curation-codex.jpg)
![Claude: 16 albums, the most finely divided.](shots/02b-curation-claude.jpg)
![Grok: 12 albums.](shots/02d-curation-grok.jpg)
![Muse Spark: 12 albums.](shots/02e-curation-muse.jpg)
<!-- /gallery -->

## 4. Gemini's book wins

Next I asked two of the agents to compare all five. The counts were sobering. Across 500 slots the five chose 283 different songs. Only three songs were picked by everyone: the court poet and royal scholar duet (#067), the Bhairavi voice-and-violin dialogue (#096), and Hermit Thrush Kaatrin Mozhi (#272). Seventeen more had four votes. Codex's comparison advised against crowning any list yet. Gemini's said the group was about 72 percent of the way to a final hundred.

Grok wrote the most useful document of the round: a dated notebook reading Gemini's pass against its own. Two things in it decided the matter for me. First, many disagreements were the same idea in a different take (#33 and #34, the hostel underwear crisis, are one premise), so our tastes overlapped more than the raw counts suggested. Second, Gemini justified each pick with the line from the lyric that proves it. As Grok put it, a reason plus four lines of lyric beats a paragraph of adjectives.

So Gemini's became the book: *a studio journal of 100 songs in 8 albums*, from *The Beginning & Everyday Absurdities* to *Konnakol, Solkattu & Spoken Fury*, with liner notes and a note-to-self opening. On October 25 Gemini also amended it, replacing five instrumental tracks with sung songs from the same sessions, because a lyric book needs lyrics. Everything later builds on that amended draft. The selection itself never changed; only display titles were shortened for the index, and two songs later moved between albums for page rhythm (section 11).

## Phase 3: Building it with ChatGPT

## 5. First mockups

Before the selection was final, I tried a few shapes for the book: an 8×11 "song sketchbook" proposal, Word documents of the hundred songs from a Claude chat, and the spread blueprint that came with Gemini's draft. They helped me decide what I didn't want: portrait pages, two-page spreads per song, and anything that cut lyrics short.

<!-- gallery: Early shapes for the book -->
![The first proposal (Oct 23): a portrait sketchbook with several songs per spread.](shots/03-spread-mockup.jpg)
![Its intro spread: "Somewhere between a song and a sketch."](shots/03-intro-underwear-spread.jpg)
![The spread blueprint that came with Gemini's master draft: a plan of featured lyric spreads and QR companions.](shots/03a-gemini-spread-blueprint.jpg)
<!-- /gallery -->

## 6. The LaTeX attempt

For the real book I started with Codex (ChatGPT's coding agent) and LaTeX, the typesetting system used for academic books. On paper it was the right tool: precise pages, proper fonts, real PDF output. Codex built a local songbook workbench around XeLaTeX with Tamil font checks, a page planner for 10×10 and 12×12 editions, and QR codes for both links. The 10×10 version alone went through 28 trial builds on the morning of October 25, in five colour schemes: saffron, jade, rose, olive and terracotta.

<!-- gallery: Five LaTeX review spreads, Oct 25 -->
![LaTeX build, saffron: The Biscuit Conversation and Dancing Pencil Rebellion.](shots/04a-latex-everyday.jpg)
![The Borderless Jukebox album.](shots/04b-latex-postcards.jpg)
![Late-night songs.](shots/04c-latex-late-night.jpg)
![Birdsong, olive: the lyrebird and the hermit thrush.](shots/04d-latex-birdsong.jpg)
![Village songs.](shots/04e-latex-village.jpg)
<!-- /gallery -->

The pages looked good. Working with them didn't. What went wrong:

- **Every change was a compile.** To move a margin or try a column count, the agent edited a template, recompiled the book, and rendered previews. Fit suggestions were literally labelled as needing "a new native compile". I couldn't see a change as I made it.
- **Long lines had nowhere to go.** The rule was one song per page with every source line kept whole. Some songs have prose directions over 400 characters on one line. LaTeX could only flag those pages as invalid placeholders, not fit them.
- **Tamil needed its own project.** Getting Tamil, Bengali and Kannada glyphs right meant font comparisons and shaping audits before any page could be trusted.
- **The page plan kept changing.** 102 pages became 110, then 113 with pauses, then 130 for the 10-inch edition with spreads. Each plan meant another round of builds.

After a day of that, I stopped. The overhead of the typesetting system was larger than the book.

## 7. Switching to HTML and prompts

The new plan was to drop LaTeX and lay the book out as a web page: each page a 10×10 square in the browser, edited by asking for changes in plain language and seeing them right away. A browser already handles Tamil, Bengali and Kannada, wraps long instructions on its own, and can export each page as an image. ChatGPT built this HTML edition on October 26 and 27, and it settled most of the design that the final book still uses:

- 111 pages: a note-to-self opening, a one-page index of all 100 songs, a keyword guide, eight album introductions and one page per song.
- Each song page split into a header (album, title, a short byline and the two QR codes), the full lyrics in two to four columns, and a band for the style prompt and my artist notes.
- Zero-based source line numbers in a gutter beside the lyrics, so "line 14" means the same line in the book, the source file and the website.
- Edited display titles for the index, kept separate from the original titles.
- Metadata in plain text under the notes: runtime, creation date, the original audio filename and the credits.

<!-- gallery: ChatGPT's HTML edition, Oct 26–27 -->
![The HTML workbench: page list on the left, the index and keyword spread in the middle.](shots/05-chatgpt-html-preview-index-spread.jpg)
![Revising the song header on the dark Slang Lab pages.](shots/05-chatgpt-html-revised-song-header.jpg)
![Bylines and metadata under the artist notes.](shots/05-chatgpt-html-byline-metadata-preview.jpg)
![Shorter display titles so the index stops wrapping.](shots/05-chatgpt-html-short-title-index-preview.jpg)
<!-- /gallery -->

This was the right decision, and it is the foundation everything after it stands on. Prompt-based editing in a live page beat compile-and-wait.

## 8. Where it stalled

The trouble started with the editing controls. ChatGPT made three editor versions in a day, each one patched on top of the last. By the evening of October 27 the page carried hundreds of style rules overriding each other, and each fix moved something else. Its own status line read "100 pages need fit review". I wrote a handoff document of what had been agreed and what still had to pass, and went looking for help.

<!-- gallery: The editor at the point it stalled -->
![The last ChatGPT editor: three rows of controls across the top and a long page list. The status line says 100 pages need fit review.](shots/05a-chatgpt-editor.jpg)
![The reading view it published as a sample to the website.](shots/05b-chatgpt-viewer.jpg)
<!-- /gallery -->

I want to be fair to ChatGPT here. It did a lot: the Tharai Local Studio releases, the LaTeX workbench, the move to HTML and most of the page design. But the last stretch went in circles, and I was at a dead end on the print project, so I moved the work to Claude.

## Phase 4: Finishing it with Claude

## 9. A review, then a clean start

I gave Claude the handoff document and asked for a review. Claude checked it against the actual files and ran the page-turning logic in a simulation, then reported three bugs that failed the document's own checklist:

- Going forward through the book skipped six song pages, the ones right after an album page.
- The export left out all eight album artwork pages, so the "119-page" export produced 111.
- The font menus did nothing.

It also found the handoff pointed at the wrong code files, and that the old style sheet was about 250 rules of patches. When I asked it to take over, the rule was the same one that worked on the podcast project: build beside the old version, never over it. Claude put the earlier fixes back, so ChatGPT's version stayed exactly as it was, and started a new workbench in its own folder that reads the same book data, cover art, QR codes and fonts.

<!-- gallery: The Claude workbench -->
![The new workbench. Pages on the left, the spread in the middle, and an inspector on the right with Page, Book and Export tabs. The page list shows each song's printed lyric size.](shots/06a-claude-editor-10x10.jpg)
![The same workbench switched to the 5×5 proof. Each edition keeps its own settings.](shots/06b-claude-editor-5x5.jpg)
<!-- /gallery -->

The redesign of the controls was mine to ask for: one inspector instead of a toolbar, overrides that visibly belong to the selected page, a reset button beside anything changed, and text overrides kept per edition. Lyrics cannot be edited in it at all.

## 10. Real print sizes and the 5×5 proof

The biggest change was underneath. Every size became a real print measurement: type in points, margins and QR codes in millimetres, separately for each edition. The 5×5 is a true scaled prototype of the 10×10 rather than a shrunken picture of it. Headers, notes and QR codes keep sensible physical sizes, and the lyrics get what remains.

- **QR codes that scan.** The song codes are 33 squares across. The workbench shows the size of each square in millimetres and warns when it gets risky. 10×10 uses 16 mm codes; the 5×5 uses 14 mm, about 0.42 mm per square.
- **The Chatbooks crop.** I planned for Chatbooks cropping uploads to the central 93 percent. So the 5×5 pages export slightly larger, about 5.4 inches, with backgrounds and art running to the edges, while text, codes and page numbers stay inside the part that survives. The preview shows the page after the crop, so what I see is what prints. My earlier print-books learning measured about 2.9 mm trimmed per side, so 93 percent errs on the safe side.
- **Lyrics that never get cut.** Every line is placed in balanced columns, preferring breaks between verses. If a very long song can't fit at the smallest size, it prints a little smaller rather than losing lines. Before each export the book checks every rendered line against the source lyrics.

## 11. Page rhythm and even albums

In the expanded layout each album opens with a two-page spread: full-page artwork on the left and the introduction on the right. That only works if every album starts on a left page, and that is only true when each album has an even number of songs. Four albums had 13.

I suggested a rule: if an album's artwork would land on a right-hand page, skip the artwork and carry on, so no page is wasted on a blank. Claude built that rule and showed it would cost half the albums their artwork. It also proposed two small moves that fixed the counts: *Biriyani Soup* (#141), a kitchen disaster, moved from the late-night love songs to close *Everyday Absurdities*; and *Lotus in the Quiet* (#007), a whispered meditation, moved from the birdsong album to close *Morning Ragas* after the sunset raga. Both moves read as natural fits. Now every album is even, all eight artworks land on the left, and the expanded book is exactly 119 pages: two 60-page Chatbooks volumes.

<!-- gallery: Spreads in the finished layout -->
![An album spread: artwork on the left facing the introduction and track list.](shots/13a-album-spread.jpg)
![The song index and keyword guide. Page numbers come from one page map, so they stay right when songs move.](shots/13b-index-keywords.jpg)
![A 5×5 song spread: 14 mm QR codes, lyrics balanced across columns, line numbers in the gutter.](shots/13c-5x5-spread.jpg)
<!-- /gallery -->

## 12. Small fixes that mattered

### Language aids

For the Bengali and Kannada songs I can't read the script, so the 5×5 now prints the pronunciation and the English meaning only, in two side-by-side column pairs. The 10×10 master keeps the original script too. French keeps its original, since it is already readable.

<!-- gallery: Language aids on the 5×5, before and after -->
![Before: two narrow columns down the page and tiny type.](shots/09a-aids-before.jpg)
![After: pronunciation and meaning flowing as two column pairs, at a readable size.](shots/09b-aids-after.jpg)
<!-- /gallery -->

### Line numbers

On those pages I noticed the numbers looked squished. Two-digit numbers were breaking onto two lines, and blank lines were showing half-hidden numbers. Both are fixed.

<!-- gallery: Line numbers, before and after -->
![Before: "11" stacked as two ones, and stray numbers above each section label.](shots/10a-numbers-before.jpg)
![After: clean numbers that match the source lines, skipping blank lines.](shots/10b-numbers-after.jpg)
<!-- /gallery -->

### Breathing room in the header

The song artwork and the QR codes were touching the rule under the header. A small gap fixed it on every page.

![The header after the fix: artwork and QR codes clear the line, on the dark Konnakol pages too.](shots/11-header-gap.jpg)

## 13. Cover and the note to self

For the cover I chose the artwork of *Nerungi Vaa*, one of my favourite songs: a hooded dancer in a neon corridor. The best source image is 1024 pixels, which prints well across a 5×5 and a little soft across a 10×10, so a dark overlay helps and also keeps the title readable. The title stays on one line. The 5×5 cover says it is a scaled prototype of the 10×10 book, and the only other text at the bottom is *REV1 · OCT 2026*.

The first page, "A note to self", now tells how this started: the first song I ever generated was a song about my kids, with a QR code to that song on YouTube. Claude mocked up four placements for that code; I picked a slim column on the right. The credits sit at the bottom of the same page: songs curated by Gemini, typesetting by ChatGPT and Claude.

<!-- gallery: Cover and opening page -->
![The 5×5 cover: the Nerungi Vaa dancer, the digital-copy QR, and the prototype label.](shots/12b-cover-5x5.jpg)
![The thumbnail version I compared it with.](shots/12c-cover-thumbnail.jpg)
![Four placements for the first-song QR. I chose A, the right rail.](shots/12a-note-qr-options.jpg)
<!-- /gallery -->

## 14. Reading view and PDFs

The address printed on the cover now opens a reading view of the book itself: the cover first, a 10×10 / 5×5 switch in the middle of the top bar, arrows and swipes to turn pages, a PDF button for the edition on screen, and an Edit link into the workbench. It sits behind the studio password, like the rest of the songbook.

![The reading view at the printed address, opening on the cover.](shots/07-reading-view.jpg)

For quick printing there is one PDF per edition, each under the hosting limit of 25 MB: 16.7 MB for the 10×10 and 19.6 MB for the 5×5, 120 pages each. They are true PDFs with sharp text and QR codes, printed by Chrome straight from the same pages as the preview. Two things went wrong on the way and are worth remembering. The first 5×5 PDF split every page across two sheets, because Chrome planned page breaks from each page's size before shrinking it. Fixing that changed the text widths slightly, which clipped the cover title, so the pages are now fitted at their final print size before printing.

<!-- gallery: Contact sheets from the two PDFs -->
![Ten pages of the 5×5 PDF: cover, note to self, index, keywords, album art, an album opener, Tamil Slang art, Bengali, French and Gibberish song pages.](shots/08a-pdf-contact-5x5.jpg)
![The same ten pages from the 10×10 PDF.](shots/08b-pdf-contact-10x10.jpg)
<!-- /gallery -->

The full-resolution page images for Chatbooks stay on my Mac, exported from the workbench in two batches of 60, numbered in reading order with creation times a minute apart so the upload keeps its order.

## Lessons learned

- **Get the source right first.** Clean metadata from Suno's own data made every later step possible: full lyrics, dates, filenames and links all printed straight from it.
- **Permanent numbers pay off.** One song number across folders, website, index and QR codes meant I could print links for songs I haven't even downloaded yet.
- **Ask several agents, then compare.** Five curations disagreed on most songs but agreed on the shape of the year. The winning list was the one that justified each choice with the song's own lines.
- **Pick tools by the editing loop, not the output.** LaTeX makes beautiful pages, but compile-and-wait killed iteration. A live HTML page with prompt-based editing let me see each change immediately.
- **Build beside, never over.** Each new version lived in its own folder, so nothing that worked was ever lost, and I could compare.
- **Measure in print units.** Points and millimetres made the 5×5 a true prototype, and made QR scanning a number I could check instead of a hope.
- **Page rhythm is a content decision.** Even album lengths gave every album its spread; two thoughtful moves did more than any layout trick.
- **Check the actual output.** The PDF page-splitting bug and the clipped cover title only showed up in the real PDF, not the preview.
- **Write handoffs.** The backup doc, the songbook handoff and the workbench notes let each new agent start from the facts.

## What's next

- Print the 5×5 with Chatbooks in two volumes, scan the QR codes on paper and check the smallest type.
- Download the 11 songs not yet hosted as the monthly limit allows, so every printed code plays.
- Read, listen and mark up, then choose about fifty songs to improve into the next compilation.
- Then the 10×10 master.

## For agents: where things are

- Book workbench and reading view: `/Users/briji/Briji-local-files-macmini/suno songs/thara-local-studio/public/songbook/2026-mar-oct/claude/` (handoff: `/Users/briji/Briji-local-files-macmini/suno songs/SONGBOOK_CLAUDE_WORKBENCH_NOTES.md`).
- Song folders and backup docs: `/Users/briji/Briji-local-files-macmini/suno songs/suno download folder/` and its `_docs/`.
- Curation proposals and Gemini's master draft: `/Users/briji/Briji-local-files-macmini/suno songs/curation proposals/`.
- Earlier attempts, preserved: `latest 10 by 10/` (LaTeX), `songbook-workbench/` (LaTeX), `html 10 by 10/` (HTML), and the ChatGPT editor routes under the songbook folder.

## Credits

Songs, direction, choices and the note to self: the owner (jrb20). Songs made with Suno, the first song with Google Lyria in Gemini. Song backup and metadata: Claude in Chrome. Curation: Claude, Codex (ChatGPT), Gemini 4 Argon, Grok and Muse Spark; the book follows Gemini's selection, with Grok's notebook and the comparisons by Codex and Gemini. Tharai Local Studio releases v1.5 and v1.6, the LaTeX workbench and the first HTML edition: Codex (ChatGPT). Final workbench, both editions, reading view, PDFs, Tharai Local Studio v1.7 and this page: Claude.
