On this page

Desktop Lyrics workflow

Lyrics runs skryba lyrics from the window: keep the forms lyrics are written in, measure lyrics against one, and have the selected model route compose lyrics every count of a form passes. The app counts nothing itself; every syllable count, rhyme measurement and broken count on screen is the CLI's own, and a refusal is the CLI's sentence. How the counting works is lyric form.

Form

A segmented picker chooses Form, Check or Compose.

Form has a command picker: List, Show, Add, Edit, Remove.

Control CLI argument
form name positional NAME (Show, Add, Edit, Remove)
rhyme scheme --scheme
fewest syllables a line may have --syllables-min
most syllables a line may have --syllables-max
syllables of sound rhyming lines share --rhyme-syllables
rhymes inside every line --internal-rhymes, omitted when empty
endings that carry no rhyme, separated by commas or spaces one --refuse-ending each
meter, one mark per syllable: / stressed, x unstressed --meter, omitted when empty
Syllables before the pause every line makes --caesura, omitted when empty
Stop requiring internal rhymes (Edit) --no-internal-rhymes, when the count is empty
Refuse no ending any more (Edit) --no-refused-endings, when no ending is typed
Stop requiring a meter (Edit) --no-meter, when no meter is typed
Stop requiring a caesura (Edit) --no-caesura, when the count is empty

On Edit, an empty field keeps what the form holds.

Check measures the lyrics typed in its editor against the named form.

Control CLI argument
form name --form
lyrics stdin, final -
phrases that must appear, one per line one --keep each
stanzas --stanzas, omitted when empty

Compose writes lyrics in the named form.

Control CLI argument
form name --form
Style --style, from skryba style list
Output language --language, from skryba language list
what the lyrics are about stdin, final -
phrases the lyrics must use word for word, one per line one --keep each
Stanzas --stanzas
Fresh drafts --candidates
Times each draft is sent back --revisions
Temperature --temperature
write the lyrics to this file --output, omitted when empty
keep every draft in this report --report, omitted when empty

The app always passes --json to compose so it can show every draft. The model route and model come from the environment the app passes to the CLI, as for Rewrite; see configuration.

Run is disabled

  • Name the form. — Show, Add, Edit, Remove.
  • Write the rhyme scheme, such as AABB. — Add.
  • State the fewest syllables., State the most syllables., State the rhyme syllables. — Add.
  • Name the form to measure against. / Paste the lyrics to check. — Check.
  • Name the form to write in. / Say what the lyrics are about. — Compose.
  • State the stanzas., State the candidates., State the revisions., State the temperature. — Compose.

Result

  • Form: the form or forms with their scheme, syllable bounds, rhyme length, internal rhymes, refused endings, meter and caesura, and the store they live in. An edit that changed nothing says so.
  • Check: every violation sentence first, then every line with its scheme letter, syllable count and stresses as the CLI read them (/ stressed, x unstressed, ? a one-syllable word), and every rhyme pair the scheme asks for with how many syllables it shares, how many it needs, the refused ending it was measured without, and whether it rhymes. Repeated lines, such as a chorus, each keep their own row.
  • Compose: the lyrics, when a draft met the form, with the style and language they were written in; then every draft compose measured, in order, with the same counts as Check. When no draft meets the form the CLI exits 1, and its refusal — the closest draft's broken counts — is shown verbatim.

Maintained as part of the website-owned Skryba documentation corpus.