Paste the plain-text lyrics below. [Chapter] headers are supported.
Destination: /CURRENT LIST
File: …
[Chapter] marker. The first chapter skips this so it stays flush with the header.[Chapter] marker, before the first word of the section.MTA Studio is a desktop tool for preparing karaoke / lead-sheet files for the M-Live Merish5 and Merish5+ backing-track players. You bring an audio file (MP3, WAV, or an existing .MTA), the app splits the vocals from the music, transcribes & aligns the lyrics to the audio, detects chords + key + tempo + sections, and exports a .MTA8 (Merish5) or .MTA16 (Merish5+) file that the device displays as a scrolling karaoke screen with a chord chart.
Most steps can be chained: turn on Detect BPM during Synchronise Lyrics in Settings → Editing and one click runs everything from align onwards.
Each song you work on is a project — a folder under data/projects/<slug>/ holding the source audio, isolated stems, the lyrics file, the timings.json sync data, and a history of autosaves.
.MTA, .MTA8, or .MTA16 — the app extracts the embedded audio, lyrics (and per-word timings if the file is one of ours from v0.2.118+), chord chart, and section markers, so you can edit and re-export.Click a project in the sidebar to load it. The Save button is gated on unsaved changes (autosave fires every 2 s by default, configurable). Deleting a project removes its folder; there's no undo for that, so use the per-project history/ folder if you need to recover an earlier autosave.
.MTA8 (8 fixed tracks, plays on every Merish5) or .MTA16 (up to 16 tracks, Merish5+ only) and the file lands in your downloads. Bundles the source audio, the synced lyrics, the chord chart, the section markers, and (since v0.2.118) a hidden timings.json attachment so re-importing keeps your word-level edits./TESTING folder over the network.Each step is a separate job that runs in a worker process. You can run them in any order (subject to the dependencies below), and a status banner shows progress at the top of the screen while one is running.
Top row chains; bottom row runs independently of lyrics and of each other.
Splits the source mix into vocals, drums, bass, guitar, piano, etc. using Demucs. Outputs go to audio/<stem>.mp3. Required before transcription. Slow on CPU, ~30s/min on a modest GPU.
Runs WhisperX on the isolated vocal stem to produce a line-and-word timed transcript. Pre-fills the lyric editor; you can correct mistakes after the fact. Skip this step entirely if you already have a clean lyric sheet — paste it via Add Lyrics.
Takes the lyrics text and aligns each word to the vocal stem using a CTC alignment model. Produces millisecond-accurate per-word start/end timings that drive the karaoke cursor on the device. This is the magic step — re-run it whenever you edit the lyrics text.
Toggle Auto-run Synchronise Lyrics after adding lyrics or transcribing in Settings → Editing so this kicks off automatically.
Estimates tempo using essentia's RhythmExtractor2013 (preferred) or librosa as a fallback. Updates bpm.value with a confidence score. Doesn't touch user-overridden BPM values (set user_override: true in the song-info edit panel).
Runs crema (or chordino) on the full mix to extract chord changes. Output renders as chord chips in the sidebar and as a labeled lane on the timeline. Use the Chords → Minimum gap setting to thin out rapid chord changes.
Groups the song into structural sections (Intro, Verse 1, Chorus, Bridge, Outro…) by clustering the chord progression. Renders as section markers in the timeline + the sidebar chapter list. You can rename / move / insert / delete chapters in the lyric editor.
Two options under Settings → Editing chain detection onto the same job as Synchronise Lyrics, so one click runs everything:
The right-hand panel where you tune word timings, edit lyrics text, and add / remove chapter markers. The currently-playing word highlights live during playback.
Word colour helps you spot timing issues at a glance. Three modes available under Settings → Lyric Editor → Color coding:
Pick how the live word stands out: Highlight + border (most prominent), Highlight only, Border only, or Bold only. All four use your accent colour for consistency with the timeline cursor.
Keeps the playing word in view by sliding the editor pane. The scroll position % setting (20-60) controls where the playing word sits — 40% means the active word stays at 40% from the top of the visible window, leaving more room below to read upcoming lines.
Single-click any word to select it and seek the timeline to its start. The word becomes the target for the keyboard nudge shortcuts below.
Once a word is selected (click it once, focus must NOT be in an input):
← / → — nudge by the default amount (50 ms by default; configurable in Settings → Editing)Shift + ←/→ — fine nudge (10 ms)Ctrl/Cmd + ←/→ — coarse nudge (250 ms)Click the word, then watch the highlight cursor — nudging shifts both start and end together by the same amount, so the word's duration stays the same.
Double-click a word to make it editable inline. Type the replacement text, then press Enter to save or Esc to cancel. The timing stays put.
Tip: you can stuff multiple words into one cell — double-click "hello" and change it to "oh hello there" and the new text inherits the original word's start/end. Useful for stuffing a missed word in without re-aligning.
The editor doesn't (yet) have inline insert-word. The cleanest path is:
[Section] headers).Add Lyrics replaces the whole sheet — your existing word timings get re-derived by the aligner. Manual nudges are best for small touch-ups; for bulk corrections, paste & re-align.
If many words feel off (e.g. transcription was rough), don't nudge each one — just click Process → Synchronise Lyrics in the toolbar to re-run CTC alignment against the lyrics text you have now. Faster and more accurate than manual fixing.
Every edit (text change, nudge, chapter insert / delete / drag) is undoable with Ctrl/Cmd + Z. Redo with Ctrl/Cmd + Shift + Z.
Lines that look like [Verse 1] or [Chorus] in the lyric text become chapter markers. Toggle Show section headers if you want to hide them while editing.
The editor's uppercase toggle is display-only. To force uppercase in the exported MTA file, use the separate MTA Export → Uppercase setting.
The centre panel showing audio waveforms and marker lanes. Scrub by clicking; play / pause from the header transport.
Once Extract Stems has run, individual stem tracks appear as toggles. Mute / solo any combination — useful for hearing the vocals against just bass & drums.
Two independent lanes drawn under the waveform:
Hide either via Settings → Timeline.
A chapter is a labelled section of the song — Intro, Verse, Chorus, Bridge, Solo, Outro, etc. They show up in three places: the sidebar list, the timeline lane, and inside the lyric editor as bracketed headers.
+ to drop a new chapter halfway between this one and the next.✕.Chapters with no lyrics underneath (e.g. "Guitar Solo", "Intro") still get sent to the device — they appear as a brief on-screen label during the instrumental section.
Chord chips in the sidebar are unique chord labels detected in the song. Click a chip to seek to its first occurrence. Chord changes also drive the chord lane on the timeline and the chord chart embedded in the exported .MTA8 / .MTA16.
Use Settings → Chords → Minimum gap to thin the chord stream — higher gap = fewer labels = chart looks more like a strumming chart, lower gap = full per-beat capture.
Builds an .MTA8 or .MTA16 file the Merish plays. .MTA8 = 8 fixed-slot tracks (Drums, Bass, Guitars, Keyboards, Orchestra, Winds, Melody, Metronome), works on every Merish5. .MTA16 = up to 16 individual tracks with a per-stem Type code (multiple Orchestras / Guitars allowed, plus CORI for choir / backing vocals), Merish5+ only. Both are Matroska containers with the audio + a proprietary SYL attachment carrying the synced lyrics, chord chart, section markers, and (since v0.2.122) a per-character highlight cursor for letter-by-letter karaoke.
Free text rendered before the first sung word and after the last. Each line of header text is a separate row on the device's display, all stamped at 00:00.000; the cursor walks character-by-character across them so the banner reveals smoothly until the first word starts.
"Comfortably Numb" (Pink Floyd) --------------------------
Maximum characters per LYRICS row sent to the device. Long lines split at word boundaries; the continuation row keeps its first word's timestamp so karaoke sync stays correct. The Merish5 historically truncates anything past ~35 chars — slider currently goes to 40 for testing whether current firmware is more lenient. Drop back to 32-35 if you see lines getting clipped.
Number of blank rows packed around each chapter label. Each blank row holds for ~150 ms (a visible pause). Layout per chapter:
If the gap between sung words is too tight to fit blanks + label + blanks, the blanks scale down so the label still has time to scroll smoothly.
Forces all lyrics, headers, footers, and chapter labels to UPPERCASE in the exported file. Independent of the editor's display-only uppercase toggle.
The Merish5's chord-display panel only activates when the file has both TBPM (tempo) and TLEN (length) tags filled. The exporter always emits both — if BPM hasn't been detected, it falls back to 120.
The app talks to the Merish5 over its built-in Wi-Fi server. Connect the device to the same network, then use the device panel to browse / upload / download files.
Click Discover to find Merish devices on your network, then Connect. The device panel shows free disk space, current playing file, and a file browser for the on-device /CURRENT LIST and /TESTING folders.
The convention in this app: test exports always go to /TESTING. Once you're happy, manually move the file to /CURRENT LIST for live use.
Send to Merish in the header builds a fresh MTA file and uploads it directly to /TESTING. The MTA generation is auto-picked from the connected device's hostname — Merish5 (M5Sn…) gets .MTA8, Merish5+ (M5P…) gets .MTA16. Re-clicks overwrite the existing file with the same name.
Backs up every file on the device to a local folder. Useful before firmware updates. Cancel mid-backup with the cancel button — already-copied files are kept.
Every song on the device has three files: name (audio), name.bak, and name.dat. Delete / move / copy operations always handle all three; the file browser collapses them into a single row.
Space — play / pauseHome / End — jump to start / end← / → — nudge selected word by the default nudge amountShift + arrow — fine nudge (small step)Alt + arrow — coarse nudge (big step)Ctrl/Cmd + S — saveCtrl/Cmd + Z — undoCtrl/Cmd + Shift + Z — redoMTA Studio — desktop authoring tool for M-Live Merish5 / Merish5+ backing tracks. Built around a reverse-engineered SYL / MTA8 / MTA16 codec so the files are byte-for-byte compatible with Manager-authored ones.
Version: v?.?.?
LYRICS / CHORDS / COLORS / MARKER sections inside ID3v2.3 inside Matroska