# skelmkeyz/lyricsanalix architecture

> Architecture diagram of the GitHub repository skelmkeyz/lyricsanalix, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/skelmkeyz/lyricsanalix
- Repository: https://github.com/skelmkeyz/lyricsanalix

## Overview

This is a small JavaScript phoneme-matching utility, not a complete lyrics-analysis application. Its runtime loads a CMUdict-style pronunciation dictionary, provides pronunciation-derived syllable, stress, and rhyme helpers, and can group lines by fuzzy rhyme similarity. The excerpt shows these behaviors in scripts.js; it does not show a consuming application or dictionary file. Text-based fallback functions are referenced but not implemented in the excerpt.

Main entry points: [`scripts.js`](https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js) (CMU helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_consumer(("Utility consumer"))
node_cmu["CMU helpers<br/>[scripts.js]"]
node_phoneme_ops["Phoneme analysis<br/>[scripts.js]"]
node_rhyme_groups["Fuzzy rhyme groups<br/>[scripts.js]"]

node_consumer -->|"uses API"| node_cmu
node_cmu -->|"derives metrics"| node_phoneme_ops
node_rhyme_groups -->|"gets rhyme keys"| node_cmu
node_rhyme_groups -->|"scores suffixes"| node_cmu

click node_cmu "https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js"
click node_phoneme_ops "https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js"
click node_rhyme_groups "https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_consumer toneIndigo
class node_cmu,node_phoneme_ops,node_rhyme_groups toneTeal
```

## Components

### Other components

- **Utility consumer**
- [CMU helpers](https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js): `scripts.js`
- [Phoneme analysis](https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js): `scripts.js`
- [Fuzzy rhyme groups](https://github.com/skelmkeyz/lyricsanalix/blob/feat/cmu-integration/scripts.js): `scripts.js`

## Connections

- Utility consumer → CMU helpers: uses API (evidence: `scripts.js`)
- CMU helpers → Phoneme analysis: derives metrics (evidence: `scripts.js`)
- Fuzzy rhyme groups → CMU helpers: gets rhyme keys (evidence: `scripts.js`)
- Fuzzy rhyme groups → CMU helpers: scores suffixes (evidence: `scripts.js`)
