openjutsu
영상에서 원클릭으로 인물 교체, ComfyUI·MiniMax H3 기반 오픈소스 로컬 힉스필드 겐주츠 대안, FLUX.3 Klein 재조명 지원
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗En modern webbapp för körsånger med ackord, byggd som en PWA för GitHub Pages. ES-moduler, offline-stöd via Service Worker och valfritt byggsystem med esbuild.
Klicka på ett ackorddiagram för att se alternativa grepp för samma ackord:
En fast bottenrad används på alla enheter med tre knappar:
På desktop finns även i inställningsbladet:
Alla inställningar sparas lokalt på enheten.
?haft=demestkoren öppnar appen direkt i rätt häfteKnappen ⭳ Från urklipp (under ⚙ Inställningar) visas bara när appen körs lokalt, precis som låtredaktören. Den öppnar en dialog där du klistrar in ackord/text kopierad från valfri ackordsida (t.ex. Ultimate Guitar):
[G]text), samt [Vers]/[Refräng]-headers, byggs om till Låtboks format med bibehållen kolumnjusteringKey:/Capo:-rader om de finns med i den inklistrade texten (annars fyller du i själv)python server.py), precis som låtredaktörenKnappen ✎ Redigera låt öppnar ett strukturerat redigeringsläge direkt i webbläsaren:
| för att markera taktgränserlatbok/
├── index.html ← Huvudsida (HTML-skelett)
├── style.css ← All styling
├── app.js ← Huvudlogik (rendering, redaktör, autoscroll) — ES-modul
├── chords.js ← Ackordbibliotek, transponering, SVG-diagram — ES-modul
├── sw.js ← Service Worker (offline-caching)
├── package.json ← npm-skript och devDependencies
├── scripts/
│ └── build.js ← Fullständigt dist-bygge (esbuild + kopiera assets)
├── tests/
│ └── chords.test.js ← Enhetstester (Node.js test runner)
├── README.md
└── songs/ ← Låtfiler (en JSON-fil per låt)
├── index.json ← Lista med alla låtfiler (styr menyn)
└── *.json ← En fil per låt
songs/Definiera återkommande ackordföljder i chordTemplates och referera till dem med @mallnamn i "c"-fältet. Separera takter med | i både ackord och text.
{
"title": "Låtens namn",
"artist": "Artist / Kompositör",
"key": "Am",
"timeSignature": "4/4",
"difficulty": "Medel",
"chordTemplates": {
"vers": "Am|F|G|Am",
"refr": "F|G|C|Am"
},
"sections": [
{
"label": "Vers 1",
"lines": [
{ "c": "@vers", "l": "Här skrivs |texten uppdelad |i fyra |takter." },
{ "c": "@vers", "l": "Andra raden |med samma |ackord|följd." }
]
},
{
"label": "Refräng",
"lines": [
{ "c": "@refr", "l": "Refrängen |kan ha en |annan |ackordföljd." }
]
}
]
}
Varje rad har två fält:
"c" — ackordrad: antingen @mallnamn eller ackord separerade med |"l" — textrad separerad med | (ett segment per takt)Giltiga värden för difficulty: Lätt, Medel, Svår
Obs: Om ett ord delas av ett taktstreck hanterar appen detta automatiskt — hela ordet visas i rätt takt.
Många visor börjar med en eller några stavelser innan första taktslaget. Markera detta med . (punkt) som första takt i ackordmallen — cellen renderas då kursivt med streckad taktlinje och utan ackordnamn.
Tumregler:
| Förklaring | |
|---|---|
. som första takt | Förslag — texten visas kursivt med streckad kant |
Antal | i c och l | Måste vara lika — varje takt matchar ett lyrikavsnitt |
chordTemplates | Återanvänd ackordföljder med @mallnamn |
Avslutande | | Ok att ha — sista cellen lämnas tom |
{
"title": "En enkel visa",
"artist": "Trad.",
"key": "G",
"timeSignature": "4/4",
"difficulty": "Lätt",
"chordTemplates": {
"vers": "G|D|Em|C",
"refräng": "C|G|D|G"
},
"sections": [
{
"label": "Vers",
"lines": [
{ "c": "@vers", "l": "Solen skiner |över skog och |mark i dag |och det är |" },
{ "c": "@refräng", "l": "skönt att |vara här till |sist nu |äntligen." }
]
}
]
}
{
"title": "Sommarpsalm",
"artist": "Trad.",
"key": "C",
"timeSignature": "4/4",
"difficulty": "Lätt",
"chordTemplates": {
"vers_a": ".|C|Am|F|G",
"vers_b": ".|F|G|C|C"
},
"sections": [
{
"label": "Vers 1",
"lines": [
{ "c": "@vers_a", "l": "Nu är det |dags att |sjunga vår |sommarvisa |" },
{ "c": "@vers_b", "l": "för dig och |mig och |alla vi |känner. |" }
]
}
]
}
{
"title": "Vallvisa",
"artist": "Trad.",
"key": "Am",
"timeSignature": "3/4",
"difficulty": "Lätt",
"chordTemplates": {
"vers_a": ".|Am|Am|E7|E7",
"vers_b": ".|Am|E7|Am|Am"
},
"sections": [
{
"label": "Vers 1",
"lines": [
{ "c": "@vers_a", "l": "Långt i |skogen |bortom |stigen |" },
{ "c": "@vers_b", "l": "hördes |klockor |klinga |sakta. |" }
]
}
]
}
{
"title": "Låtens namn",
"artist": "Artist / Kompositör",
"key": "Am",
"sections": [
{
"label": "Vers 1",
"lines": [
{ "c": "Am F G", "l": "Här skrivs texten med ackord ovanför." },
{ "c": "C Am", "l": "Ackorden placeras med mellanslag." }
]
}
]
}
songs/index.json[
"amazing_grace.json",
"bella_ciao.json",
"din_nya_lat.json"
]
Ordningen i listan styr ordningen i menyn.
Appen läser songs/index.json vid laddning och hämtar varje låtfil dynamiskt.
Filen chords.js innehåller ~200 gitarrackord med fingersättningar plus ~120 alternativa
grepp. Samtliga kategorier täcker alla 12 grundtoner:
| Kategori | Täckning |
|---|---|
| Dur | Alla 12 grundtoner |
| Moll | Alla 12 grundtoner |
| 7 (dominant) | Alla 12 grundtoner |
| m7 (moll 7) | Alla 12 grundtoner |
| m6 (moll 6) | Alla 12 grundtoner |
| maj7 | Alla 12 grundtoner |
| sus4 | Alla 12 grundtoner |
| sus2 | Alla 12 grundtoner |
| add9 | Alla 12 grundtoner |
| dim | Alla 12 grundtoner |
| dim7 | Alla 12 grundtoner |
| aug | Alla 12 grundtoner |
| 9 (dominant) | Alla 12 grundtoner |
| m7b5 (halvförminskad) | Alla 12 grundtoner |
| 7+ (dominant #5) | Alla 12 grundtoner |
| Slash-ackord | C/G, C/B, C/E, G/B, Am/E, Dm/F, E7/G#, E7/B, A7/C# m.fl. |
Enharmoniska namn slås upp automatiskt (D#7 hittar Eb7), så en grundton per kategori
räcker med en stavning. Diagram genereras som SVG direkt i webbläsaren. Ackord som saknas
i biblioteket hoppas över (och visas som varning i redaktören).
tests/chords-lib.test.js räknar ut vilka toner varje grepp faktiskt ger och jämför med
ackordnamnet — nya grepp med fel band eller kategorier som tappar en grundton fastnar i CI.
För att lägga till ett nytt ackord, utöka CHORD_LIB i chords.js:
'Cadd9': { frets: [-1,3,2,0,3,0], fingers: [0,2,1,0,3,0] },
Format: frets = greppet per sträng (E A D G B e), där -1 = dämpad, 0 = öppen.
Låtredaktörens sparfunktion kräver en lokal server som hanterar POST /save-song. Starta med:
python server.py
På GitHub Pages (produktion) är sparknappen inaktiverad — redigera JSON-filerna lokalt och pusha.
Sidan hostas gratis via GitHub Pages:
https://ditt-användarnamn.github.io/reponamn/| Funktion | Chrome/Edge | Safari | Firefox |
|---|---|---|---|
| Grundfunktioner | ✅ | ✅ | ✅ |
| Ackorddiagram | ✅ | ✅ | ✅ |
| Taktbaserad layout | ✅ | ✅ | ✅ |
| Autoscroll | ✅ | ✅ | ✅ |
| Låtredaktör | ✅ | ✅ | ✅ |