🇬🇧 English: README.md
Webbläsarbaserade open-source-verktyg för Yamaha MODX M / ESP Plugin / MONTAGE M performancefiler.
MODX M / MONTAGE M-verktygen för .Y2L / .Y2U är reverse-engineerade från grunden genom binäranalys av Yamahas odokumenterade filformat. Library Builder innehåller även experimentellt import-/konverteringsstöd för valda legacy MONTAGE/MODX .X7L / .X8L-performances och MONTAGE M .X2L-liknande short-layout-bibliotek.
Öppna HTML-filerna i vilken modern webbläsare som helst — ingen installation, ingen molnuppladdning, allt körs lokalt.
Ett hobbyprojekt som började som ett sätt att sammanfoga .Y2L-bibliotek utan ändlöst klickande på hårdvaran, och växte till en djupgående kartläggning av formatet.
- Sammanfoga performances från flera
.Y2L/.Y2U-filer - Bygga nya bibliotek från valda performances och deras nödvändiga beroenden
- Experimentellt importera valda legacy
.X7L/.X8Loch.X2L-liknande performances - Redigera FM-X, AWM2 och AN-X-parametrar i webbläsaren
- Ingen installation — fungerar i Chrome, Firefox och Safari
- Ingen telemetri — allt körs lokalt
- Plus experimentella verktyg — se Experimentella / extra verktyg
- Ladda ner
tools/ysfc_forge_performance_merger_v1_23.html - Öppna filen i din webbläsare
- Dra och släpp
.Y2L- eller.Y2U-filer - Markera de performances du vill ha
- Klicka på Save as Y2L eller Save as Y2U
- Importera den exporterade filen i MODX M / ESP plugin / Montage M
- Ladda ner
tools/ysfc_forge_library_builder_v15_53.html - Öppna filen i din webbläsare
- Dra och släpp
.Y2L- eller.Y2U-filer - Markera de performances du vill ha
- Klicka på Save as Y2L eller Save as Y2U
- Importera den exporterade filen i MODX M / ESP plugin / Montage M
- Ladda ner
tools/ysfc_forge_performance_editor_v5_6.html - Öppna filen i din webbläsare
- Klicka på Open Y2L och välj en fil
- Justera parametrar med reglage
- Klicka på Export Y2L för att spara
- Ladda ner
tools/ysfc_forge_sysex_converter_v1_59.html - Dra in en eller flera Soundmondo
.syx. - Kontrollera detekterad plattform, engines, Parts och dependency-varningar.
- Ladda vid behov en companion
.Y2L/.Y2Uför externa waveform-dependencies. - Konvertera en fil eller kör bulkexport.
- Ladda resultatet i MODX M / MONTAGE M / ESP och verifiera.
| Verktyg | Vad det gör |
|---|---|
| Performance Merger | Sammanfoga performances från flera Y2L/Y2U-filer |
| Library Builder | Sammanfoga valda performances och beroenden från Y2L/Y2U, med experimentellt stöd för legacy X7L/X8L och X2L-liknande import |
| Performance Editor | Redigera FM-X, AWM2 och AN-X-parametrar i webbläsaren |
| Sysex Converter | ConKonvertera Yamaha sysex filer till Y2L |
⚠️ Detta är hjälp- och approximationsverktyg — inte hållna till samma binärverifierade standard som kärnverktygen ovan.
| Verktyg | Vad det gör |
|---|---|
| Smart Name Compressor | Standardiserad namngivning för performances |
![]() |
![]() |
| Performance Editor — FM-X-operatorredigerare | Library Builder — performancelista med engine-detektering |
Alla fyra synth-engines har varje känt användarredigerbart parameterfält binärverifierat genom systematisk A/B-diffanalys över 2010+ testexporter på riktig MODX M-hårdvara. Filnivåstrukturer som Smart Morph och Scene-snapshots är kartlagda separat — se Kända begränsningar.
| Engine | UI-fält | Intern/firmware konstanter | Status |
|---|---|---|---|
| AWM2 | 128 | 8 | ✅ Verifierad |
| AN-X | 171 | 458 | ✅ Verifierad |
| FM-X | 141 | 863 | ✅ Verifierad |
| Drum | 54 | 4934 | ✅ Verifierad |
Kartläggningen återspeglar alla parametrar som observerats över de 2010+ testexporterna. Formatet är odokumenterat, så det är möjligt att en sällan använd parameter existerar som ännu inte dykt upp i testning — hittar du en är en testfil som visar den det mest värdefulla du kan bidra med.
"Intern/firmware konstanter" räknar de bytes i varje engines datablock som inte är användarredigerbara — firmware-konstanter, uppslagstabeller och padding som är identiska oavsett UI-inställningar. Ett högt tal är ingen lucka: det betyder att hela blocket är kartlagt och varje byte redovisad, inte bara parametrarna. (Drum keys är t.ex. en avsiktligt gles struktur — bara en handfull bytes per key är aktiva.)
| Typ | Beskrivning | Stöd |
|---|---|---|
.Y2L |
MODX M / MONTAGE M-biblioteksfil | ✅ |
.Y2U |
MODX M / MONTAGE M-användarfil (samma format som Y2L, annan filändelse) | ✅ |
.X7L / .X7U |
Legacy MONTAGE biblioteks-/användarfiler | 🧪 Experimentell import/konvertering |
.X8L / .X8U |
Legacy MODX / MODX+ biblioteks-/användarfiler | 🧪 Experimentell import/konvertering |
.X2L-liknande layout |
MONTAGE M short-layout bibliotekvariant | 🧪 Experimentell performancekonvertering |
| Multi/GM 16-part | 16 parts (15 AWM2 + 1 Drum på Part 10) | ✅ |
| Hårdvara | Stöd |
|---|---|
| MODX M | ✅ Primärt mål |
| ESP plugin | ✅ |
| MONTAGE M | |
| MONTAGE / MODX / MODX+ | 🧪 Endast experimentell import via Library Builder-konvertering |
2010+ binärverifierade testfiler genererade genom systematiska parameterändringar på riktig MODX M-hårdvara. Varje dokumenterad offset stöds av minst en A/B-binärdiff.
| Engine | Filer |
|---|---|
| AN-X | 799 |
| AWM2 | 408 |
| FM-X | 425 |
| Drum | 84 |
| Övrigt | 294 |
Se docs/REVERSE_ENGINEERING.md för detaljerad metodik, täckningstabeller och fältnivådokumentation.
| Dokument | Innehåll |
|---|---|
docs/REVERSE_ENGINEERING.md |
Metodik, täckningstabeller, tekniska detaljer |
docs/YSFC_FORGE_REFERENCE.md |
Kompakt referensmanual |
docs/YSFC_FORGE_FULL_CONTEXT.md |
Komplett teknisk referens (alla fältpositioner, evidens) |
serializer/ysfc_serializer.py |
Python-parameterkonstanter — användbart om du vill bygga egna verktyg |
I dokumentationen klassificeras varje fält efter evidens:
- ★★★★★ — Binärverifierad med en eller flera testfiler
- ★★★★☆ — Härledd från officiell källdata, hög konfidens
- ★★★☆☆ — Sannolikt korrekt, ej binärverifierad
- [INTERN] — MODX-intern firmware-konstant, inte användarredigerbar
Library Builder är byggd för att exportera valda performances och deras nödvändiga beroenden. Den är inte avsedd att klona varje del av ett komplett bibliotek.
Bevaras inte i nuläget:
- Live Sets
- Patterns
- Favorites och viss enhets-/biblioteksmetadata
- Garanterat byte-identiska exporter för alla tredjepartsbibliotek
Legacy .X7L / .X8L och .X2L-liknande stöd är experimentellt. Håll alltid backuper på dina originalfiler och testa exporterade bibliotek noggrant i ESP eller på hårdvara innan de används skarpt.
- Performance Editor visar i nuläget bara den första partens engine; redigering av alla 16 parts är på roadmap
- Smart Morph-interpolationstabeller är inte kartlagda än
- Scene-snapshots — strukturen är verifierad, men endast ~10 fält per scen har UI-bekräftade mappningar
- Ingen undo/redo i Performance Editor än — håll alltid backuper på dina original
Se docs/REVERSE_ENGINEERING.md för fullständig lista.
Buggrapporter, testfiler och reverse engineering-fynd är mycket välkomna.
- Buggrapporter — se
.github/ISSUE_TEMPLATE/bug_report.md - Reverse engineering-bidrag — se
CONTRIBUTING.mdför metodiken - Funktionsförslag — se
.github/ISSUE_TEMPLATE/feature_request.md
Mest värdefulla bidrag just nu: testfiler för Smart Morph, Scene-snapshots, och verifiering på riktig Montage M-hårdvara.
Detta projekt är inte associerat med, godkänt eller sponsrat av Yamaha Corporation. MODX M, ESP plugin, Montage M och relaterade produktnamn är varumärken som tillhör Yamaha Corporation. Filformatet har reverse-engineerats för interoperabilitetsändamål. Använd på egen risk och håll alltid backuper på dina originalfiler.
Vissa referenstabeller i Python-enum-paketet är härledda från Yamahas publicerade MODX M Data List (© Yamaha Corporation). Endast funktionella fakta har extraherats, uteslutande för att möjliggöra tolkning av det odokumenterade .Y2L / .Y2U-filformatet för interoperabilitet. Andra referenstabeller i Python-enum-paketet bygger på projektets egna binärverifierade observationer av MODX M och ESP Plugin-gränssnittet.
Yamahas dokument återdistribueras inte i detta repo. Originalet finns hos Yamaha (sök efter "MODX M Data List").
Stödet för legacy MONTAGE/MODX .X7L / .X8L bygger delvis på, och är i vissa delar härlett från, open-source-projektet ConvertWithMoss av Jürgen Moßgraber.
ConvertWithMoss: https://github.com/git-moss/ConvertWithMoss
ConvertWithMoss är licensierat under GNU Lesser General Public License v3.0. All YSFC Forge-kod, struktur eller logik som är härledd från ConvertWithMoss används och distribueras enligt villkoren i LGPL-3.0. Se licenses/LGPL-3.0.txt.
.Y2L / .Y2U-research, MODX M / MONTAGE M-engine mapping, webbläsargränssnitt och icke-legacy-konverteringslogik i YSFC Forge bygger på egen reverse engineering, testning och binärjämförelse mot Yamaha-hårdvara och ESP plugin-exporter.
Huvuddelen av YSFC Forge-projektet släpps under MIT License — se LICENSE.
Vissa legacy MONTAGE/MODX .X7L / .X8L-komponenter bygger på eller är härledda från ConvertWithMoss och distribueras under GNU Lesser General Public License v3.0. Se licenses/LGPL-3.0.txt och relevanta filheaders i källkoden.


