Infinite Sound ist ein Endlosmusikgenerierungstool, das mit Hilfe von Stable Audio Open beliebige Klänge auf Basis von Texteingaben erzeugt. Die Anwendung bietet eine minimalistische Benutzeroberfläche zur Eingabe von Stichworten, Steuerung der Lautstärke und Verwaltung von Aufnahmen. Audiosnippets werden konstant generiert und überblendet (Crossfade) und durch Aktivierung des “Record”-Modes lokal gespeichert.
Technisch basiert das Programm auf PyTorch, Stable Audio Tools und PyWebView und unterstützt sowohl CPU- als auch GPU-Beschleunigung (CUDA/MPS). Die für die Generierung notwendigen KI-Modelle werden beim ersten Start über Hugging Face heruntergeladen, wofür ein kostenloser Zugang und ein API-Token erforderlich sind.
SD 3D Model Generator
Der SD 3D Model Generator ist ein innovatives Kreativ-Tool, das die Lücke zwischen einfachen Texteingaben und vollständig ausgearbeiteten 3D-Assets für Game Development, Visualisierung und kreatives Prototyping schließt. Anders als klassische Stable Diffusion (SD) Frontends beschleunigt diese Anwendung den gesamten Workflow durch die Integration fortschrittlicher Large Language Models (LLMs): Prompts werden automatisch optimiert, nahtlose (zum Thema passende) Environment-Maps generiert, Bilder der Objekte oder Charaktere werden generiert und in hochwertige 3D-Modelle umgewandelt – alles in einer intuitiven Oberfläche, in der man Bilder sowie 3D-Modelle mit Environment Map betrachten kann.
Was hebt das Tool hervor?
Prompt-to-Asset, End-to-End: Geben Sie lediglich einen Objektnamen oder ein Konzept ein – das System führt Sie durch den Prozess, optimiert Ihren Prompt für Stable Diffusion per LLM und sorgt so für stilistische Konsistenz, kreative Details und optimale Formatierung.
Vereinfachter 3D-Workflow: Generierte Bilder lassen sich mit einem Klick in 3D-Modelle (GLB) umwandeln. Für jedes Asset kann zudem eine individuelle Panorama-Umgebung (HDRI) erzeugt werden, direkt nutzbar in Blender oder Game Engines.
Keine Prompt-Erfahrung nötig: Die LLMs im Backend wandeln grobe Ideen automatisch in professionelle, detaillierte Prompts um – das spart Zeit und reduziert den kreativen Aufwand.
Integrierte Galerie & Batch-Generierung: Umfangreiche Bilder- und Modellsammlungen lassen sich durch Batch-Steuerung, Seitennavigation und Vergleichsansicht effizient verwalten.
Features & User Experience
Einfache Eingabe, professionelles Ergebnis: Ein einfacher Objekttitel („low poly farmer“) genügt – das System nutzt LLMs, um die Stable Diffusion Prompts automatisch zu optimieren und liefert stets bestmögliche Bildqualität, Komposition und Klarheit.
Echtzeit-Streaming: LLM- und Bildgenerierungs-Ergebnisse werden live ins Interface gestreamt – für Transparenz und schnelles Feedback.
Intuitive Galerien: Separate, tab-basierte Galerien für 2D-Bilder und 3D-Modelle – Assets lassen sich vergleichen, im Batch verwalten oder direkt bearbeiten. Kontextmenüs ermöglichen Sofort-Export, Weiterverwendung von Generationsergebnissen oder direkte Modell-/HDRI-Erstellung.
Automatische 3D-Modellerstellung: Jedes generierte Bild kann direkt per UI in ein 3D-GLB-Modell konvertiert werden (über externe Tools/Skripte, flexibel konfigurierbar).
Automatische Environment Map-Erstellung: Zu jedem Modell lässt sich eine maßgeschneiderte, equirektangulare HDRI-Umgebung generieren: LLMs beschreiben zunächst eine passende Umgebung, anschließend erzeugt SD ein fotorealistisches Panorama für Beleuchtung und Reflektionen.
Batch-Steuerung & Platzhalter: Unterstützung für die Batch-Bilderstellung, Platzhalterverwaltung und übersichtliche Neu-Generierung – so bleibt der aktuelle Fortschritt immer nachvollziehbar.
One-Click Export zu Blender: Modelle und HDRIs können direkt aus der Anwendung in Blender geöffnet und weiterbearbeitet werden.
Technischer Überblick
Frontend:
Pure HTML/CSS/JavaScript, nahtlos integriert per PyWebview für direkten Zugriff auf das Python-Backend.
Dynamische, responsive UI-Logik für Galerie, Tabs und Kontextmenüs.
Live-Streaming der LLM-Ausgaben und Bildgenerierungs-Status per Python–JS-Bridge.
Backend:
Python-Backend auf Basis von PyWebview und einer FastAPI-ähnlichen Schnittstelle.
Integration von Ollama oder lokalen LLM-Servern (z. B. Mistral) zur automatischen Prompt-Optimierung und -Zusammenfassung.
Bildgenerierung via Stable Diffusion (diffusers library), alle Parameter (Modell, VAE, Sampler etc.) sind nutzerseitig konfigurierbar oder werden automatisch gesetzt.
Externe Tools/Skripte für die Konvertierung von Bildern zu 3D (GLB) und zur Erstellung von HDRI-Panoramen sind modular und einfach austauschbar.
Automatisches Dateimanagement, Metadaten-Einbettung (JSON in PNG und Sidecars) und Überwachung der Asset-Ordner für Live-Updates in der Galerie.
Extensibility:
Jeder Backend-Prozess ist entkoppelt und skriptbar: Die 3D-Konvertierung oder HDRI-Erstellung kann leicht durch eigene Pipelines ersetzt werden.
Einfach adaptierbar für unterschiedliche LLMs, SD-Modelle oder 3D-Workflows.
Der SD 3D Model Generator vereinfacht den Weg von der Idee zum fertigen Asset radikal. Durch die Verbindung von LLMs, Stable Diffusion und automatisierten 3D-Workflows können Artists, Designer und Entwickler hochwertige Visuals schneller, flexibler und kreativer generieren, verwalten und weiterverarbeiten.
Auto-Git
Auto-Git ist eine plattformübergreifende Electron-App, die Git-Repos automatisch überwacht und verwaltet und mithilfe von LLMs Commit Messages und Dokumentationen / READMEs schreibt.
Überwachung & automatisches Commit
– Beliebige Ordner als Git-Repositories hinzufügen: Auto-Git übernimmt bei Bedarf das Initial-Git-Setup.
– Echtzeit-File-Watching (Chokidar): Sobald sich Dateien ändern, werden Änderungen in einem Debounce-Intervall erkannt und automatisch in Git committet.
– Intelligente Commit-Nachrichten: Sobald eine definierte Zeilen- oder Zeit-Schwelle erreicht ist, sammelt Auto-Git alle neuen Commits, erstellt aus ihren Diffs ein promptoptimiertes Input für einen Ollama-LLM (qwen2.5-Coder) und ersetzt die Standard-Commit-Nachrichten durch semantisch prägnante Zusammenfassungen.
README-Generierung & Repositoriumsbeschreibung
– Auf Knopfdruck oder bei initialem Hinzufügen: Auto-Git extrahiert relevante Code-Dateien (nach Größe, Relevanzscore, .gitignore-Regeln) und füttert sie in einen LLM-Prompt, um automatisch ein vollständiges, gut strukturiertes README.md zu erstellen bzw. zu aktualisieren.
– LLM-gestützte Kurz-Beschreibung (≤ 255 Zeichen): Für jeden Ordner kann Auto-Git mit Hilfe des selben Ollama-Backends in Sekundenbruchteilen einen einzeiligen Projektdescription-Text erzeugen.
Robuste Ordnerverwaltung
– Fehlende bzw. verschobene Ordner werden automatisch erkannt („Needs Relocation“), per Klick auf das Sidebar-Icon kann man den neuen Pfad zuweisen und den ursprünglichen Git-State wiederherstellen (Prüfung via Commit-Hash).
– Einfache Drag-&-Drop-Unterstützung: Ordner via Drag direkt in die App ziehen, sofort ein Git-Repo initialisieren und in Überwachung setzen.
– .gitignore-Management: Typische temporäre/Ide-/Build-Dateien werden automatisch erkannt (Micromatch + vordefinierte Patterns) und bei Bedarf in .gitignore eingetragen.
Gitea-Integration & Push-Workflow
– In den Einstellungen lässt sich ein persönlicher Gitea-API-Token hinterlegen.
– Beim Klick auf „Push to Gitea“ prüft Auto-Git, ob das Remote-Repo schon existiert:
Nicht vorhanden → Repository erstellen (mit LLM-Generierter Kurzbeschreibung).
Vorhanden → Aktuelle Beschreibung per PATCH aktualisieren.
– Anschließend wird das lokale Remote-Origin neu konfiguriert und der aktuelle Branch inklusive Tags automatisiert gepusht.
Desktop-UI & Bedienkomfort
– Electron & TailwindCSS: Responsive Oberfläche mit Sidebar (gefilterte Liste aller überwachten Ordner), zentraler Inhaltsbereich (paginiert alle Commits anzeigen, inklusive Diff-View, Snapshot-Export und „Jump Here“-Checkout).
– Sky-Mode: Automatischer Tageszeit-abhängiger Hintergrund (sanftes Blau bei Tag, dunkles Blau bei Nacht).
– Tray-Menü & Tray-Icon: App minimiert auf Tray, Rechte-Maustaste auf Tray-Icon ermöglicht schnelles Starten/Stoppen des Monitorings pro Ordner, Ordner hinzufügen/entfernen, „Quit“.
– Settings-Dialog:
> Sky-Theme ein/aus
> „Close to Tray“: Versteckt Fenster beim Schließen, statt App wirklich zu beenden
> Automatisches Autostart-Verhalten
> Intelligente Commit-Thresholds (Zeilen und Minuten)
> Auswahl der verwendeten Ollama-Modelle (commit vs. README)
> Gitea-API-Token hinterlegen
– Gamification & Live-Statistik: Tageszähler für Commits, farblich ansteigende Visualisierung („Commits today“), Live-Countdown bis zum nächsten automatischen LLM-Commit.
Technologie-Stack
– Frontend: Electron + HTML/CSS + TailwindCSS + ein eigenes minimal-animiertes „Anime Cat“ (Klient-seitiges Cat-Streaming bei LLM-Antworten).
– Backend/Node:
> chokidar für File-Watching
> simple-git für alle Git-Operationen (Init, Status, Commit, Diff, Rebase, Push, Remote-Config)
> micromatch & ignore zum Filtern von Dateien/Ordnern
> electron-store für Persistenz aller Einstellungen (inklusive Gitea-Token, Skymode, Thresholds, modell-Auswahl)
> Eigene LLM-Integration: Start/Stop von Ollama-Server, paralleles Stream-Handling über fetch(…).getReader().
> Tray/Menu-Integration mit nativen Electron-Menüs und Kontext-Menüs in Sidebar/Treeview.
Alle Funktionen – von der kontinuierlichen, automatischen Commit-Erstellung bis hin zur vollautomatischen Push-und-Repo-Einrichtung auf Gitea – sind darauf ausgelegt, Entwicklern den Alltag zu erleichtern: Man fokussiert sich weiter auf Code, während Auto-Git im Hintergrund dafür sorgt, dass Commit-History, Dokumentation und Remote-Repositories stets auf dem neuesten Stand bleiben.
Das „Virtuelle Interdimensionale Geisterteleportationsgerät“ ist eine interaktive 3D-Webanwendung, die Figuren der japanischen Mythologie im Browser erscheinen lässt. Über eine digitale „Merkaba“ werden die Wesen in eine virtuelle Welt teleportiert, können betrachtet und per Klick in einem Infobox-Overlay erforscht werden. Ein Portfolioprojekt, dessen Ziel ist es, über japanische Mythen auf deutsch lernen zu können und kulturelle Brücken zu schlagen.
Die 3D-Umgebung inklusive Models und Texturen, darunter eine 1200px x 900px Baumkronentextur und eine HDRI-Environment-Map, so wie der der Code sind insgesamt kleiner als 500 KiloByte. Die 3D Modelle werden dynamisch geladen, der Client hat von ihnen keine Information bis der Server sie “pusht”. Die Kommunikation zum Server so wie die Funktion zum spawnen sind in den Spinner (Merkaba) integriert. Mobile Darstellung ist weniger rechenintensiv als die Desktop-Version. Ein Adaptive-Fidelity-System wurde eingesetzt.
Interface für UNESCOs Listen des "Immateriellen Kulturerbes"
Das UNESCO-Projekt “Intangible Cultural Heritage” (ICH) bietet eine beeindruckende Sammlung immateriellen Kulturerbes sowie ein Register bewährter Schutzmaßnahmen. Diese sind auf der Website von UNESCO auf Englisch, Französisch und Spanisch zu finden, und beschreiben schön die individuellen, kulturellen Eigenheiten der Nationen der Welt.
Als Freund der Online-Ethnologie habe ich hierfür ein neues Interface in Form einer interaktiven Weltkarte (JavaScript, OpenStreetMap & GeoJSON) aufgesetzt. Klickt man ein Land an erhält man Einsicht in die Kultur des Landes, wie die UNESCO sie registriert hat (UNESCO Open-Access-Datenbank). Unter Einsatz der ChatGPT-API und Python habe ich die gesamte Datenbank in die 10 häufigst gesprochenen Sprachen der Welt übersetzt. Ausserdem habe ich mit Topaz AI alle Bilder aus der Datenbank verbessert / vergrößert.
Klickt man auf den Würfel, so bekommt man einen zufälligen Beitrag angezeigt. Entdecke die Welt!
Hinweis: Nicht für die mobile Ansicht geeignet
Quellen:
UNESCO Open-Access-Datenbank: Metadaten, Beschreibungen und Bilder aus der UNESCO ICH-Datenbank wurden für dieses Projekt verwendet.
OpenStreetMap: Die Kartendarstellung basiert auf Kacheln von OpenStreetMap.
GeoJSON-Weltkarte: Die Vektordaten für die Länderkonturen stammen aus dem Open-Source-GeoJSON-Projekt.
IPAPI (ipapi.co): Die automatische Standortbestimmung erfolgt über den API-Dienst ipapi.co.
Topaz AI: Die Bilder aus der UNESCO-Datenbank wurden mit Topaz AI hochskaliert.
ChatGPT (OpenAI): Die Übersetzungen der UNESCO-Daten in 10 Sprachen wurden mit ChatGPT erstellt.
Dieses Projekt ist ein experimentelles, nicht-kommerzielles Portfolio-Projekt und dient ausschließlich Demonstrationszwecken. Alle Inhalte (Bilder, Texte, Titel) sind Eigentum der UNESCO. Die Übersetzungen wurden mithilfe von KI (ChatGPT) erstellt. Die Kartenkacheln stammen von OpenStreetMap. Es besteht keinerlei Verbindung zur UNESCO, OpenStreetMap oder anderen Organisationen. Die vollständigen UNESCO-Metadaten sind auf Englisch als Download verfügbar.
AI-Translate
WordPress-Plugin um Seiten, Beiträge und Custom Type Posts sowie deren Titel und Custom Fields automatisch zu übersetzen. Die Übersetzungen werden in die Metadaten der Beiträge gespeichert. Je nach ausgewählter Sprache bekommt das Frontend die Sprache also unter der selben URL / Beitrags-ID angezeigt. Im Gutenbergeditor hat man ein kleines Dropdownmenü, mit dem man zwischen den Sprachen umschalten kann, um individuelle Änderungen vorzunehmen, und im Backend hat man, anders als z.B. bei Polylang, keine unübersichtliche Vervielfältigung des Contents. Die Übersetzung erfolgt per ChatGPT, wodurch kontextspezifische Übersetzung möglich ist – mit Angabe wie der Tonfall sein soll, z.B. höflich oder informell, und worauf Fokus gelegt werden soll, zum Beispiel Projektpräsentation, Marketing, oder, oder.. – bekommt man bessere Übersetzungen.
In einer git-Repository steht der Code für das Auswählen und Verarbeiten von Content zur Verfügung.
Jōyō-Kanji
Die 2136 Kanji, die man in Japan in Grund- und Mittelschule lernt, und die es einem ermöglichen, die meisten japanischen Texte lesen zu können, und ihre Übersetzungen auf Deutsch.
Häufig variiert die Bedeutung eines Wortes je nach Kontext. Viele Begriffe ergeben sich außerdem erst, wenn man mehrere Kanji zusammenfügt – deshalb findet sich hier zum Beispiel der Begriff “du” nicht. Der setzt sich nämlich zusammen aus 貴 (wertvoll, edel, kostbar) und 方 (Person).
Die Frage danach wie man eine Sprache umfassend kategorisiert hat sich als sehr interessant herausgestellt. Die Kategorisierung nach “Schuljahr” ist japanisch altbewährt – aber der Wunsch nach einer feineren Granularität war gegeben, damit das Lernen leichter fällt.
Die Kanjiliste als JSON-Datei, die Python-Codes um diese zu erstellen, sowie die gewählten Kategorien finden sich unterhalb im git-repository.
Update: Hier lässt sich eine PDF mit den 1026 Jōyō-Kanji, die man in der Grundschule erlernt, bebildert, mit Beispielworten, Strich-Reihenfolge, Pinsel-Variante und Druckvariante finden. Die Bilder und Beispielworte stammen von „ちびむすドリル“ (Chibimusu Drill), eine von der Firma PadinHouse betriebene japanische Website, die kostenlose, zum Ausdrucken gedachte Lern- und Fördermaterialien für Kleinkinder, Grundschüler und Mittelstufenschüler anbietet, die Übersetzungen sind von mir.
Farbenfrohe, abstrake Texturen, erzeugt durch absichtlich herbeigeführte Fehler in digitaler Bilddarstellung.
10/2015 trat ich der Facebookgruppe des Glitch Artist Collective bei, so wie deren Untergruppe Glitch//Request, wo Photos von Personen (meistens Selfies) von Glitchkünstlern verfremdet werden. Der rege Austausch hier gab mir den Anstoß selbst Glitch Art zu machen. Seitdem programmiere und implementiere ich Fragmentshader und Controller in Processing zur künstlichen Erzeugung von Bildfehlern (Glitches). Diese nutze ich um völlig neue abstrakte Bilder zu erschaffen (nicht zur Bildbearbeitung). Ursprungsbilder dienen als Datenquelle. Ergebnisse dieser Überverfremdung haben eigenen Charakter.
Die Softwareeinheit “Manglr”, eine Eigenkreation mit welcher ich die Bilder erzeuge, funktioniert wie ein Compositor für 2D-Shader. (Link zur Arbeitsablage). Per Drag & Drop schiebe ich eine Bild- oder Videodatei hinein und bestimme anschließend welche Shader mit welchen Parametern dieses Bild verändern sollen. Diese Auswahl kann auch automatisch / zufällig getroffen werden. Ebenfalls können die Parameter der Shader sich über Zeit langsam verändern. Die Shader sind dann animiert. Ich beobachte diesen Autopilot-Modus oder bearbeite die Controller manuell, bis mir eine Komposition gefällt. Dann speichere ich Bilder. Die Auflösung ist hierbei variabel. Maximal stelle ich die größere Seitenlänge auf 20.000 Pixel, was bei 300 DPI Druckschärfe ca 1,70m entspricht. Je nach Shader nimmt das dann etwas mehr Rechenzeit in Anspruch. Kleinere Bilder (bis 20centimer) können in Echtzeit animiert generiert werden (24 Bilder pro Sekunde oder mehr). Bei einigen der Bilder ist Pixelästhetik gut, was die Skalierung von Bildern mit geringer Auflösung auf große Größe erlaubt. Es folgt ein Selektierungsprozess, in welchem ich noch einmal in alle gespeicherten Bilder hineinfühle, und die Spreu vom Weizen trenne.
Lichtbild
Beruhigend wirkende, nach außen hin leuchtende Bilder, die gestreichelt werden wollen.
Der Rahmen besteht aus satiniertem Akrylglass mit 5mm Stärke. Hierunter befindet sich ein LED-Streifen mit warmweißem Licht, gesteuert von einem Arduino, der so programmiert ist, dass die Lichter fluide wirken. Die Farben werden von Übergang zu Übergang zufällig aus einem handverlesenen Satz gewählt, so, dass sich die Animation nie wiederholt. Das Mittelteil ist aus geschichtetem Holz gemacht mit einer Alufolie in der Mitte, welche Veränderungen in ihrem Magnetfeld erkennt. Dies verändert die Helligkeit des Objektes.
Bildrestaurierung
Sollte es alte Bilder geben, die mit der Zeit an Qualität verloren haben, so kann man diese mit modernen Technologien und geringem Aufwand wiederherstellen oder verbessern. Kratzer, Falten oder Verschmutzungen werden weitgehend manuell korrigiert, fehlende Bildinformationen können mit künstlicher Intelligenz regeneriert werden. Auch das Erhöhen der Auflösung, das Kolorieren oder das Erweitern des Bildausschnittes ist möglich. Bitte kontaktieren Sie mich bei Bedarf.
Datenschutzerklärung
Ein Keks wurde gespeichert. Sein Name ist "lang", er ist 6 Byte groß, drei Tage haltbar und technisch notwendig, da er sich merken kann, welche Sprache Sie wünschen. Tun Sie ihm nichts!