html.cafe - a realtime HTML editor and host

Edit the html in the top panel, see the result here.
Save your page and get a link to view it live, anywhere. ============================================================ ### SESSION INFO ### ============================================================ Session-ID: 45mrke Gestartet: 16.3.2026, 21:29:12 Dauer: 0m 21s URL: https://floriankip.github.io/beamer-formatter/ User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6.2 Mobile/22G100 Safari/604.1 Aktionen: 3 Theme: Dunkel Sync: Aus ============================================================ ### AKTIONS-LOG ### ============================================================ 21:29:19 Import — Ocrtest.pdf (98.7 KB) 21:29:24 KI-Formatierung 21:29:33 Debug-Export — als .txt Datei ============================================================ ### STATE-VERLAUF ### ============================================================ [21:29:19] Import | Song: 0z "..." | Trans: 0z "..." [21:29:24] KI-Formatierung | Song: 414z "Я Те бя буду ждать рассвете дня в тиши, я хочу расска зать всю печаль MOей души. Припев 07 По7/ H7..." | Trans: 0z "..." [21:29:33] Debug-Export | Song: 538z "Im Morgengrauen, in der Stille, möchte ich Die ganze Traurigkeit meiner Seele erzählen. Refrain Ich..." | Trans: 0z "..." ============================================================ ### LIEDTEXT (1. Sprache) ### ============================================================ Im Morgengrauen, in der Stille, möchte ich Die ganze Traurigkeit meiner Seele erzählen. Refrain Ich werde auf dich warten, Herr, ich werde auf dich warten, vom frühen Morgen an. Ich glaube, du wirst kommen, meine Schmerzen lindern, ich weiß, du wirst alles verstehen, ich liebe dich. Ich habe es satt, weiterzuleben Inmitten von Dunkelheit und Sorgen. Was es niemandem zu erzählen gibt, Das werde ich dir erzählen, mein Gott. Ich werde auf dich warten Diese Begegnung ist am liebsten. Nur du kannst geben Frieden und Ruhe meiner Seele. ============================================================ ### ÜBERSETZUNG (2. Sprache) ### ============================================================ (leer) ============================================================ ### AUSGABE (Formatiert) ### ============================================================ Strophe 1 Im Morgengrauen, in der Stille, möchte ich ÜBERSETZUNG FEHLT Die ganze Traurigkeit meiner Seele erzählen. ÜBERSETZUNG FEHLT -- Refrain 1 Ich werde auf dich warten, Herr, ich werde auf dich warten, vom frühen Morgen an. ÜBERSETZUNG FEHLT Ich glaube, du wirst kommen, meine Schmerzen lindern, ich weiß, du wirst alles verstehen, ich liebe dich. ÜBERSETZUNG FEHLT -- Strophe 2 Ich habe es satt, weiterzuleben ÜBERSETZUNG FEHLT Inmitten von Dunkelheit und Sorgen. ÜBERSETZUNG FEHLT -- Was es niemandem zu erzählen gibt, ÜBERSETZUNG FEHLT Das werde ich dir erzählen, mein Gott. ÜBERSETZUNG FEHLT -- Strophe 3 Ich werde auf dich warten ÜBERSETZUNG FEHLT Diese Begegnung ist am liebsten. ÜBERSETZUNG FEHLT -- Nur du kannst geben ÜBERSETZUNG FEHLT Frieden und Ruhe meiner Seele. ÜBERSETZUNG FEHLT ----- ============================================================ ### CONSOLE LOG (letzte 84) ### ============================================================ [21:29:12] LOG: %c[Beamer Formatierer] App geladen color:#a8d8ea;font-weight:bold;font-size:13px [21:29:12] LOG: [Init] User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6.2 Mobile/22G100 Safari/604.1 [21:29:12] LOG: [Init] URL: https://floriankip.github.io/beamer-formatter/ [21:29:12] LOG: [Init] Protokoll: https: (file:// = lokaler Betrieb, https: = gehostet) [21:29:12] LOG: [Init] mammoth.js: geladen ✓ [21:29:12] LOG: [Init] pdfjsLib: noch nicht geladen (async module, kommt gleich) [21:29:13] LOG: [Import] Datei-Dialog geöffnet [21:29:14] LOG: [Init] pdfjsLib (nach 2s): geladen ✓ (Version: 4.4.168) [21:29:19] LOG: [Import] Datei ausgewählt via Button: Ocrtest.pdf [21:29:19] LOG: [Import] importFileToSong gestartet für: Ocrtest.pdf [21:29:19] GROUP: [Import] Datei: " Ocrtest.pdf" (98.7 KB, Typ: application/pdf) [21:29:19] LOG: Erkannte Endung: pdf [21:29:19] LOG: PDF erkannt, starte extractTextFromPDF… [21:29:19] LOG: PDF.js Version: 4.4.168 [21:29:19] LOG: PDF ArrayBuffer Größe: 101071 bytes [21:29:19] LOG: PDF geladen — Seiten: 1 [21:29:19] GROUP: Seite 1/1: OCR nötig (nur 0 digitale Zeichen) [21:29:19] LOG: Rendere auf Canvas… [21:29:19] LOG: Canvas: 576x864 (scale 2) [21:29:19] LOG: Canvas gerendert, Base64-Länge: 513704 Zeichen (~0.37 MB) [21:29:19] LOG: Sende an Vision API… [21:29:19] LOG: Vision API Request — URL: https://vision.googleapis.com/v1/images:annotate?key=*** [21:29:19] LOG: Vision API Request — Features: [{"type":"DOCUMENT_TEXT_DETECTION"}] | LanguageHints: ["de","ru"] [21:29:20] LOG: Vision API Response — Status: 200 OK [21:29:20] LOG: Vision API Ergebnis: 490 Zeichen 1 Seiten erkannt [21:29:20] LOG: Erkannte Sprachen: ru, sr, tt, en-Cyrl [21:29:20] LOG: OCR fertig in 1.2s — 490 Zeichen erkannt [21:29:20] LOG: Ergebnis: 1. Я Тебя буду ждать H7 1.Я Те бя бу - ду ждать на рас - све-те дня в тиши, я хо- C H7 чу расска зать всю пе- чаль MO- ей ду - ши. Припев ET . 07 G C По7/ H7 Я буду ждать, Гос-по-ди, Тебя, буду ждать Те-бя с самого утра. E7 D7 G C Гів H7 Ве-рю, Ты придёшь, снимешь боль мо-ю, знаю, всё поймёшь, я Тебя люблю. 2. Я устал дальше жить Среди мрака и тревог. То, что некому открыть, Расскажу Тебе, мой Бог. 3. Я Тебя буду ждать Эта встреча всех милей. Только Ты можешь дать Мир, покой душе моей. [21:29:20] LOG: [PDF] Fertig — 1 Seiten: 0 digital, 1 OCR | 490 Zeichen gesamt [21:29:20] GROUP: [OCR Cleanup] [21:29:20] LOG: Eingang: 36 Zeilen [21:29:20] LOG: Titel-Zeile entfernt: "1. Я Тебя буду ждать" [21:29:20] LOG: Akkord entfernt: "H7" [21:29:20] LOG: Akkord entfernt: "C" [21:29:20] LOG: Akkord entfernt: "H7" [21:29:20] LOG: OCR-Artefakt entfernt: "ET" [21:29:20] LOG: Akkord entfernt: "G" [21:29:20] LOG: Akkord entfernt: "C" [21:29:20] LOG: Akkord entfernt: "E7" [21:29:20] LOG: Akkord entfernt: "D7" [21:29:20] LOG: Akkord entfernt: "G C" [21:29:20] LOG: Zeilenumbruch-Trennung repariert: "хо-" + "чу" → "хочу" [21:29:20] LOG: Wort zusammengefügt: "Те бя" + " буду" [21:29:20] LOG: Wort zusammengefügt: "Те бя буду" + " ждать" [21:29:20] LOG: Artefakt entfernt: "на" [21:29:20] LOG: Wort zusammengefügt: "рассвете дня в тиши, я" + " хочу" [21:29:20] LOG: Wort zusammengefügt: "расска зать всю печаль" + " MOей" [21:29:20] LOG: Artefakt entfernt: "." [21:29:20] LOG: Strophen-Nummer entfernt: "1.Я" → "Я" [21:29:20] LOG: Strophen-Nummer entfernt: "2. Я устал дальше жить" → "Я устал дальше жить" [21:29:20] LOG: Strophen-Nummer entfernt: "3. Я Тебя буду ждать" → "Я Тебя буду ждать" [21:29:20] LOG: Ausgang: 23 Zeilen (8 Akkorde, 1 Artefakte, 0 Meta-Zeilen entfernt) [21:29:20] LOG: [Import] Fertig in 1.4s — 490 Zeichen roh, 414 Zeichen bereinigt [21:29:20] LOG: [parseInput] 23 Rohzeilen → 4 Abschnitte: ["[0] strophe: 5 Zeilen","[1] strophe: 4 Zeilen","[2] strophe: 4 Zeilen","[3] strophe: 4 Zeilen"] [21:29:20] LOG: [parseInput] 1 Rohzeilen → 0 Abschnitte: [] [21:29:20] LOG: [format] Song: 4 Abschnitte, Translation: 0 Abschnitte [21:29:20] WARN: [format] Abschnitt-Mismatch! Song: 4, Translation: 0 [21:29:20] WARN: [format] Abschnitt 0 (strophe): Song 5 Zeilen vs Translation 0 Zeilen [21:29:20] WARN: [format] Abschnitt 1 (strophe): Song 4 Zeilen vs Translation 0 Zeilen [21:29:20] WARN: [format] Abschnitt 2 (strophe): Song 4 Zeilen vs Translation 0 Zeilen [21:29:20] WARN: [format] Abschnitt 3 (strophe): Song 4 Zeilen vs Translation 0 Zeilen [21:29:20] LOG: [runFormat] Russisches Lied | 46 Ausgabezeilen | 17 Fehler-Zeilen [21:29:20] LOG: [parseInput] 23 Rohzeilen → 4 Abschnitte: ["[0] strophe: 5 Zeilen","[1] strophe: 4 Zeilen","[2] strophe: 4 Zeilen","[3] strophe: 4 Zeilen"] [21:29:20] LOG: [parseInput] 1 Rohzeilen → 0 Abschnitte: [] [21:29:24] GROUP: [Gemini Cleanup] Gestartet [21:29:24] LOG: Eingabetext: 414 Zeichen [21:29:24] LOG: Bild verfügbar: false [21:29:24] LOG: Gemini API Request an: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent?key=*** [21:29:27] LOG: Gemini API Response: 200 OK (2.7s) [21:29:27] LOG: Gemini Response-Daten: {"candidates":[{"content":{"parts":[{"text":"Ich werde auf dich warten\nIm Morgengrauen, in der Stille, möchte ich\nDie ganze Traurigkeit meiner Seele erzählen.\n\nRefrain\nIch werde auf dich warten, Herr, ich werde auf dich warten, vom frühen Morgen an.\nIch glaube, du wirst kommen, meine Schmerzen lindern, ich weiß, du wirst alles verstehen, ich liebe dich.\n\nIch habe es satt, weiterzuleben\nInmitten von Dunkelheit und Sorgen.\nWas es niemandem zu erzählen gibt,\nDas werde ich dir erzählen, m [21:29:27] LOG: Titel-Duplikat entfernt: "Ich werde auf dich warten" [21:29:27] LOG: Ergebnis: 538 Zeichen (vorher: 414) [21:29:27] LOG: Bereinigter Text: Im Morgengrauen, in der Stille, möchte ich Die ganze Traurigkeit meiner Seele erzählen. Refrain Ich werde auf dich warten, Herr, ich werde auf dich warten, vom frühen Morgen an. Ich glaube, du wirst kommen, meine Schmerzen lindern, ich weiß, du wirst alles verstehen, ich liebe dich. Ich habe es satt, weiterzuleben Inmitten von Dunkelheit und Sorgen. Was es niemandem zu erzählen gibt, Das werde ich dir erzählen, mein Gott. Ich werde auf dich warten Diese Begegnung ist am liebsten. Nur du kannst geben Frieden und Ruhe meiner Seele. [21:29:27] LOG: [parseInput] 16 Rohzeilen → 4 Abschnitte: ["[0] strophe: 2 Zeilen","[1] refrain: 2 Zeilen","[2] strophe: 4 Zeilen","[3] strophe: 4 Zeilen"] [21:29:27] LOG: [parseInput] 1 Rohzeilen → 0 Abschnitte: [] [21:29:27] LOG: [format] Song: 4 Abschnitte, Translation: 0 Abschnitte [21:29:27] WARN: [format] Abschnitt-Mismatch! Song: 4, Translation: 0 [21:29:27] WARN: [format] Abschnitt 0 (strophe): Song 2 Zeilen vs Translation 0 Zeilen [21:29:27] WARN: [format] Abschnitt 1 (refrain): Song 2 Zeilen vs Translation 0 Zeilen [21:29:27] WARN: [format] Abschnitt 2 (strophe): Song 4 Zeilen vs Translation 0 Zeilen [21:29:27] WARN: [format] Abschnitt 3 (strophe): Song 4 Zeilen vs Translation 0 Zeilen [21:29:27] LOG: [runFormat] Deutsches Lied | 34 Ausgabezeilen | 12 Fehler-Zeilen [21:29:27] LOG: [parseInput] 16 Rohzeilen → 4 Abschnitte: ["[0] strophe: 2 Zeilen","[1] refrain: 2 Zeilen","[2] strophe: 4 Zeilen","[3] strophe: 4 Zeilen"] [21:29:27] LOG: [parseInput] 1 Rohzeilen → 0 Abschnitte: [] ============================================================