JSON content: lyrics, visualizer, DSP, locale
Four kinds are mostly JSON under content/. Index → Workshop SDK.
Lyrics scene (lyrics-style)
Section titled “Lyrics scene (lyrics-style)”The host owns slots; your JSON places them.
init .\cinema --recipe cinema-lyrics- Edit
content/lyrics-style.json—type: "slot",slot: "title", etc. - If
hostChrome.miniPlayerishidden, includeplay-toggle(and usually prev/next). npm run check→npm run dev
Common slots: cover, title, artist, lyrics, current-line, spectrum, play-toggle, previous-track, next-track, …
node .\bin\echo-workshop-sdk.mjs guide lyricsVisualizer (visualizer-preset)
Section titled “Visualizer (visualizer-preset)”- Styles:
bars,wave,radialonly — noparticles - Palette: 1–8 unique
#rrggbb;barCount8–128 init .\viz --recipe radial-visualizer
DSP (dsp-preset)
Section titled “DSP (dsp-preset)”Official 31-band layout only. Gain -12..12, Q 0.1..12, preamp -12..6.
init .\eq --recipe vocal-eq — edit content/dsp.json, then npm run check.
Locale pack (locale-pack)
Section titled “Locale pack (locale-pack)”Extra string tables for languages ECHO does not ship.
init .\lzh --recipe wenyan-locale — edit content/locale.json; missing keys fall back to a built-in locale.
Audio plug-in profile
Section titled “Audio plug-in profile”Configuration notes for local VST adapter setup — not the VST binary itself.
init .\vst-help --kind audio-plugin-profile
Comparison
Section titled “Comparison”| Kind | Entry file | Where users apply it |
|---|---|---|
| lyrics-style | lyrics-style.json | Lyrics page / scene |
| visualizer-preset | visualizer.json | Player visualizer |
| dsp-preset | dsp.json | EQ preset |
| locale-pack | locale.json | Language settings |
Themes → theme tutorial. Plug-ins → plug-in tutorial.