Přeskočit na hlavní obsah

AI import

Chatbot s AI umí přečíst fotku písničky a přepsat ji pro Achordeon. Pošlete mu fotku, on vám vrátí soubor, ten naimportujete. Žádné psaní.

Přimět ho k tomu jde dvěma způsoby. Můžete ho naučit jednou provždy, hotovou dovedností, a každá další písnička je pak jen fotka. Nebo můžete pokaždé vložit do chatu celý prompt, k čemuž není potřeba nic nastavovat. Dovednost je z těch dvou lepší, a prompt je na konci téhle stránky pro případ, že dovednost použít nejde.

1. Vyfoťte písničku

  • jedna písnička na jednu fotku, na fotce celý list
  • dvě fotky, když je písnička na dvou stranách - pošlete je společně
  • akordy musí být čitelné, když si fotku přiblížíte

2. Naučte chatbota, jednou

Na každého chatbota je jeden soubor a instrukce uvnitř všech tří jsou stejné. Vezměte ten pro chatbota, kterého používáte. Je to jednorázová věc, ne něco, co se dělá u každé písničky.

ChatbotKdeSouborVerze
Claudeclaude.aiachordeon-song.zipstačí bezplatná
ChatGPTchatgpt.comachordeon-song-gpt.zipplacená: Go, Plus nebo vyšší
Geminigemini.google.comachordeon-song-gem.mdstačí bezplatná

Claude

  1. V Settings > Capabilities zapněte Code execution and file creation. Bez toho se dovednost nedá nahrát ani spustit.
  2. Jděte do Customize > Skills, klikněte na +, zvolte Create skill a pak Upload a skill a vyberte zip.

Ze všech tří je tenhle nejúplnější, protože Claude umí spustit skripty, které zip nese. Vlastní značkování si zkontroluje parserem samotného Achordeonu, ještě než vám cokoli předá, a u krátké písničky vám místo souboru může dát odkaz.

ChatGPT

  1. Rozbalte zip. Jsou v něm tři soubory.
  2. Otevřete tvůrce GPT, Explore GPTs > Create, a na kartě Configure vložte celý obsah instructions.md do pole Instructions.
  3. Soubory GRAMMAR.md a achordeon.schema.json nahrajte pod Knowledge.

Bezplatný účet umí používat cizí GPT, ale vlastní si udělat nemůže. Když máte bezplatnou verzi, použijte prompt na konci téhle stránky.

Gemini

Otevřete v postranním panelu Gem manager, vytvořte nový Gem a vložte celý stažený soubor do pole s instrukcemi. Je to jeden soubor místo tří, protože Gem má jen to jedno pole, takže pravidla značkování jsou napsaná uvnitř něj.

Proč dovednost, a ne prompt

Ty tři soubory se generují z aplikace samotné, takže vás žádný z nich nemůže naučit značkování, které aplikace už nečte: seznam nastavení pochází z vlastního seznamu aplikace a každý příklad v nich při sestavení projde skutečným parserem. Ručně psaný prompt zastará potichu. A ať už soubor napsalo cokoli, náhled importu vám ještě předtím, než se cokoli zapíše, řekne, u kolika písniček značkování Achordeon nerozluštil.

3. Pošlete fotku

Otevřete chat s dovedností, s GPT nebo s Gemem, přiložte fotku a řekněte si o písničku. Stačí 'napiš tuhle písničku pro Achordeon' - instrukce už tam jsou, takže není co vkládat.

Další fotku pošlete stejně. Po jedné - deset písniček v jedné odpovědi je místo, kde se chyby začnou hromadit.

4. Naimportujte soubor

Vrátí se vám importní soubor, písnička i nastavení jsou v něm.

  • uložte ho pod jménem, které končí na .json nebo .achordeon - když chatbot nabídne stažení, vezměte ho, jinak zkopírujte blok s JSONem do obyčejného textového souboru
  • v Písně klikněte na Importovat písně ze souboru a soubor vyberte
  • odkaz, pokud jste místo souboru dostali ten, otevře po klepnutí stejný náhled a není co ukládat
  • pravidla importu jsou stejná jako u každého jiného importu

Druhá cesta, bez importu: text písničky je v souboru, na řádku content. Otevřete soubor v libovolném textovém editoru, text zkopírujte do nové písničky v editoru, každé \n vraťte zpátky na zlom řádku a nastavení nastavte ručně.

Zkontrolujte akordy

Chatbot čte to, co vidí, a může se mýlit - akord o písmeno vedle, slovo špatně přečtené z ruky. Než začnete podle písničky hrát, porovnejte render s fotkou. Všechno se dá potom upravit.

Soubor se nedá přečíst

JSON je odříznutý. Vyžádejte si ho znovu v jednom bloku kódu a uložte ho bez úprav.

Bez nastavování

Když dovednost nainstalovat nejde nebo nechcete, vejde se celá věc do jedné zprávy. Poslouží kterýkoli z nich. Fotky čtou všechny i v bezplatné verzi, stačí mít účet:

ChatbotKdeOd koho
Geminigemini.google.comGoogle
Claudeclaude.aiAnthropic
ChatGPTchatgpt.comOpenAI

Otevřete nový chat, přiložte fotku a do stejné zprávy vložte celý prompt níže. Použijte tlačítko pro kopírování v jeho rohu. Další fotku pošlete do stejného chatu se slovy 'stejně tak i pro tuhle fotku', instrukce v něm pořád jsou.

Tenhle prompt je psaný ručně a držený tak krátký, aby se dal vložit, takže je z toho, co umí dovednost, ta menší půlka. Když můžete, použijte dovednost.

Prompt
Přikládám fotku písničky s akordy. Přepiš ji do značkování Achordeonu a dej mi
tři věci, o které si říkám na konci.

# Značkování

- `* Název` je název písničky, `** Autor` je podtitul. Značka stojí na úplném
začátku řádku a je za ní mezera. Když se jich objeví víc, platí ta poslední.
- Prázdný řádek začíná nový blok (strofa, refrén, mezihra...), a nic jiného ho
nezačíná.
- Blok může začínat návěštím: text končící dvojtečkou, za kterou je mezera nebo
konec řádku: `1.: `, `R:: `, `Sólo:`. Poslední dvojtečka se spolkne, takže
`R::` se vytiskne jako `R:`.
- Návěští napsané na dalším řádku téhož bloku je podnávěští a pojmenovává jen ten
jeden řádek, popisek u řádku akordů. `Předehra:`, pak `Kl. + Bas: [Am F G]`,
pak `Housle: [Am F G]` je jeden blok se dvěma pojmenovanými řádky.
- Dvojtečka, po které mezera není, je obyčejný text (`12:30` je v pořádku). Když
by se z řádku textu omylem stalo návěští, dej před dvojtečku zpětné lomítko:
`Vypravěč\: ahoj`.
- Akordy patří dovnitř řádku s textem, do hranatých závorek, přímo před znak, nad
kterým stojí: `pro[C]dal` vytiskne C nad `d`.
- Několik akordů v jedné závorce stojí na stejném místě: `[Em G A]`. Řádek, kde
jsou akordy a žádná slova, je vytiskne přímo v řádku, ve velikosti textu,
obvyklá podoba předehry, sóla a mezihry.
- Zdvojené závorky dají akord do řádku místo nad něj: `[[C]]`. Je to potřeba jen
na řádku, kde jsou i slova. Na řádku se samotnými akordy se `[Em G A]` tiskne
v řádku už tak.
- Text v závorce, který není akord, třeba `[Sólo]`, `[2x]`, `[N.C.]` nebo
`[||: :||]`, se vytiskne nad řádek přesně tak, jak je napsaný. Nech ho být, neopravuj ho.
- Používej anglické názvy not. Jiné systémy převeď: německé `H` je `B`, německé
`B` je `Bb`.
- Zpětné lomítko udělá z dalšího znaku obyčejný text: `\:`, `\*`, `\[`.
- Žádné příkazy pro transpozici, kapodastr, tóninu, sloupce ani barvy neexistují.
Poznámka o kapodastru nebo tónině zůstane obyčejným řádkem textu nebo poznámkou
v hranaté závorce.

# Jak čti list

- Přepiš všechno: text, akordy, názvy částí, počty repetic a poznámky na okraji
("pomalu", "sólo = strofa", kapodastr, tónina, ladění). Vynech jen to, co se
týká samotného papíru, třeba číslo stránky.
- Nejvíc záleží na umístění akordů. Na listu jsou akordy na řádku nad textem,
každý `[akord]` dej přímo před znak, nad kterým stojí.
- Oprav zřejmé překlepy, chybějící diakritiku a rozdělená slova, ale ponech slova
a nářečí autora. Nikdy si nevymýšlej to, co nepřečteš, napiš to.
- Veď si krátký seznam všech oprav a všech akordů, kterými jsi si nebyl jistý.

# Nastavení

Nastavení není součástí textu, jde vedle něj. Nastav jen to, co je z listu jasně
vidět, obvykle jen `columns`, a ostatní vynech, ať platí výchozí hodnoty aplikace.

`aspectRatio` nenastavuj, v tabulce schválně není. Tvar, který se dá vyčíst z mojí
fotky, patří papíru, a píseň budu číst z obrazovky. Je to jediné nastavení, které si
píseň může přebít sama, takže sken stránky na výšku by píseň natrvalo přišpendlil na
výšku a zbytek obrazovky nechal bílý. Vynech ho a píseň si vezme tvar, který mám
nastavený u sebe.

| Nastavení | Hodnoty | Výchozí | Nastav, když |
| --------------- | -------------------------------------------- | ----------- | ------------------------------------------------------------------ |
| `columns` | `1`, `2`, `3` | `1` | text je vytištěný ve víc než jednom sloupci |
| `titlePosition` | `"top"`, `"left"` | `"top"` | `"left"` jen když název běží po straně listu |
| `titleLayout` | `"stacked"`, `"inline"` | `"stacked"` | autor stojí vedle názvu, ne pod ním |
| `titleFont` | `"body"`, `"serif"`, `"display"`, `"script"` | `"body"` | název je zřetelně jiným typem písma |
| `padding` | číslo, v em | `1.25` | okraj kolem textu je nezvykle široký nebo těsný |
| `contentX` | `"left"`, `"center"`, `"right"` | `"center"` | vynech to |
| `contentY` | `"top"`, `"middle"`, `"bottom"` | `"middle"` | vynech to |
| `scale` | `"auto"` nebo číslo | `"auto"` | vynech to |
| `chordSize` | číslo, `1` je normál | `1` | akordy jsou zřetelně větší nebo menší než text |
| `chordColor` | `"#rrggbb"` | výchozí | jen když si o barvu řeknu, barva inkoustu na scanu nic neznamená |
| `notation` | `"english"`, `"german"` | `"english"` | jen když si řeknu o německé značení (H/B) |

# Co mi dej

1. **Nastavení**: tabulku nastavení, která jsi zvolil, u každého jednu řádku
odůvodnění, a pak seznam oprav a nejistých akordů.
2. **Importní soubor**: JSON níže, vyplněný. Pokud umíš vytvářet soubory, dej mi
ho jako soubor `.json` ke stažení, jinak ho vypiš v jednom bloku kódu a uložím
si ho sám.

Nevypisuj text písničky zvlášť, mimo importní soubor. Fotku mám, takže slova jsou
jediná věc, kterou nepotřebuju dvakrát, a právě na jejich vypisování se odpověď
zastaví v půlce - a s ní přijdu i o importní soubor.

```json
{
"schemaVersion": 1,
"deviceId": "ai-import",
"updatedAt": 1753660800000,
"data": {
"user": [],
"songbooks": [],
"songs": [
{
"id": "6f9619ff-8b86-d011-b42d-00c04fc964ff",
"createdAt": 1753660800000,
"updatedAt": 1753660800000,
"deletedAt": null,
"name": "Wish You Were Here",
"content": "* Wish You Were Here\n** Pink Floyd\n\n[Em G Em G Em A Em A G]\n",
"favorite": false,
"settings": { "columns": 1 },
"cache": { "title": "Wish You Were Here", "subtitle": "Pink Floyd" }
}
]
}
}
```

- `content` je značkování, jako jeden JSON string: `\n` pro zlomy řádků, `\"` pro
uvozovky.
- `id` je libovolné náhodné UUID. Tři časová pole jsou aktuální čas v
milisekundách od roku 1970 (třináctimístné číslo).
- `name` je můj štítek písničky v knihovně, použij název.
- `cache` obsahuje přesně text platného řádku `*` a `**`, nebo `""`, když je
písnička nemá.
- `settings` obsahuje jen klíče z tabulky výše, `{}` když žádné. Nikdy si
nevymýšlej klíč, který v ní není.
- `schemaVersion`, `deviceId`, `user`, `songbooks`, `favorite` a `deletedAt` nech
přesně tak, jak jsou.
- JSON musí být platný a úplný: žádné komentáře, žádné čárky na konci, nic
vynechaného.