<style>
/* Default Off-Canvas (Hidden) */
.e-off-canvas {
    z-index: 100;
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.2s, opacity 0.2s linear;
}

/* Show Off-Canvas */
.e-off-canvas-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important;
}

/* Hide Off-Canvas */
.e-off-canvas-hidden {
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: 10 !important;
}

/* White Background Behind Off-Canvas (Using ::before on Body) */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 1); /* Solid White */
    opacity: 0;
    visibility: hidden;
    z-index: 9998; /* Just behind Off-Canvas */
    transition: opacity 0.2s linear, visibility 0s linear 0.2s;
}

/* When an Off-Canvas is Open, Show the Background */
body.off-canvas-active::before {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s linear;
}
</style>

<script>
jQuery(function($) {
    // Function to force repaint/reflow
    function forceRepaint() {
        document.body.style.display = 'none';
        document.body.offsetHeight; // Force reflow
        document.body.style.display = 'block';
        window.dispatchEvent(new Event('resize'));
    }

    function closeAllOffCanvas(exceptID = null) {
        let anyOpen = false; // Track if another Off-Canvas remains open

        $(".e-off-canvas").each(function() {
            let canvasID = $(this).attr("id");

            if (!exceptID || canvasID !== exceptID) {
                $(this).removeClass("e-off-canvas-visible")
                       .addClass("e-off-canvas-hidden")
                       .attr("aria-hidden", "true")
                       .css({
                           "z-index": "10",
                           "visibility": "hidden",
                           "opacity": "0"
                       });

                // Full removal delay set to 0ms
                setTimeout(() => {
                    if ($(this).attr("aria-hidden") === "true") {
                        $(this).css("display", "none");
                    }
                }, 0);
            } else {
                anyOpen = true; // At least one Off-Canvas is still open
            }
        });

        // Remove white background delay set to 0ms
        setTimeout(() => {
            if (!$(".e-off-canvas-visible").length) {
                $("body").removeClass("off-canvas-active");
                forceRepaint(); // Force repaint when closing all
            }
        }, 0);
    }

    function openOffCanvas(targetID) {
        let targetCanvas = $(targetID);

        if (targetCanvas.length) {
            // Close all others EXCEPT the one we're opening
            closeAllOffCanvas(targetID);

            // Open immediately with delay set to 0ms
            setTimeout(() => {
                targetCanvas.removeClass("e-off-canvas-hidden")
                            .addClass("e-off-canvas-visible")
                            .attr("aria-hidden", "false")
                            .css({
                                "z-index": "9999",
                                "visibility": "visible",
                                "opacity": "1",
                                "display": "block"
                            });

                // Ensure the White Background Stays Visible
                $("body").addClass("off-canvas-active");
                
                // Force repaint after opening
                forceRepaint();

            }, 0);
        }
    }

    // Decode Base64
    function decodeBase64(str) {
        try {
            return atob(str);
        } catch (e) {
            return null;
        }
    }

    // Handle Elementor Off-Canvas OPEN clicks
    $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aopen"]', function(event) {
        event.preventDefault();
        let href = decodeURIComponent($(this).attr("href"));

        let base64Match = href.match(/settings=([^&]+)/);
        if (base64Match) {
            let decodedSettings = decodeBase64(base64Match[1]);

            try {
                let settingsObj = JSON.parse(decodedSettings);
                if (settingsObj.id) {
                    let offCanvasID = "#off-canvas-" + settingsObj.id;
                    openOffCanvas(offCanvasID);
                }
            } catch (e) {}
        }
    });

    // Handle Elementor Off-Canvas CLOSE clicks
    $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aclose"]', function(event) {
        event.preventDefault();
        closeAllOffCanvas();
    });

    // Ensure all Off-Canvas elements start hidden
    $(".e-off-canvas").each(function() {
        $(this).attr("aria-hidden", "true").css({
            "z-index": "10",
            "visibility": "hidden",
            "opacity": "0",
            "display": "none"
        });
    });

    // Handle same-page anchor link clicks
    $(document).on('click', 'a[href*="#"]', function(event) {
        let href = $(this).attr('href');
        if (href.indexOf('#') !== -1) {
            // Close all off-canvas widgets when an anchor link is clicked
            closeAllOffCanvas();
        }
    });

});
</script>
				
			

01.10.2020: AI-generierte Musik – Vortrag mit Klangbeispielen und Diskussion von Werner Bogula

Zunehmend wird AI unter dem Schlagwort Generative AI zur Erzeugung von Musik, Literatur und Kunst verwendet. Der Vortrag beschäftigt sich am Beispiel von Lautenmusik aus der Renaissance mit den Möglichkeiten der automatischen Generierung von Musikstücken. Nach einer kleinen Präsentation der Laute und ihrer Musik geht der Vortrag auf folgende Themen ein:

– Prinzipielle Funktionsweise von AI -Methoden zur Musikgenerierung

– Nutzung vorgefertigter Modelle und Training eigener Modelle

– Präsentation der Ergebnisse eigener Modelle mit Hörbeispielen

– Praktische Anwendungen, Auswirkungen und Ausblick

– Kritische Auseinandersetzung und Diskussion über die automatische Generierung von Musik

Die Idee des Vortrags ist es, eine Brücke zu schlagen zwischen den Kulturtechniken der Renaissance und den modernsten Technologien unserer Zeit. Der Vortrag soll neben Informationen über die Technologie Anregungen bieten für das Nachdenken über kulturelle Grundbegriffe wie Werk, Autor und Kreativität.

Für den Vortrag sind keine mathematischen Kenntnisse erforderlich

Dauer: ca. 90 Minuten (Vortrag ca. 60 Minuten plus 20-30 Minuten für eine Diskussion im Anschluss).

Vortrag/Moderation: ARIC Ambassador Werner Bogula ist BigData- und AI-Developer sowie leidenschaftlicher Amateur-Lautenist. Als Digital Enabler untersucht er die praktischen Auswirkungen digitaler Technologie auf Kultur und Gesellschaft.

Workshop-Level: Einsteiger

Der Workshop ist kostenlos und findet am 01.10.2020 in der Zeit von 19.00 Uhr  bis 20.30 Uhr  beim Artificial Intelligence Center Hamburg (ARIC) e.V. Dockland, 5. Stock, Van-der-Smissen Strasse 9, 22767 Hamburg statt. Anmelden können Sie sich unter der E‑Mail-Adresse info@aric-hamburg.de. Sollte die aktuelle Situation eine Durchführung bei uns im Dockland nicht zulassen, wird der Workshop ggf. online stattfinden oder verschoben.

Weitere kostenlose ARIC-Workshops, Webinare und Veranstaltungen finden Sie unter www.aric-hamburg.de/aric-news/. Außerdem können Sie sich zu unserem ARIC-Newsletter  auf unserer Webseite unter Newsletter anmelden.