<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Christian Hofmann</title>
        <link>https://christian-hofmann.eu/</link>
        <description>Recent content on Christian Hofmann</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>de</language>
        <copyright>Christian Hofmann</copyright>
        <lastBuildDate>Wed, 11 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://christian-hofmann.eu/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Datenschutz</title>
        <link>https://christian-hofmann.eu/datenschutz/</link>
        <pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/datenschutz/</guid>
        <description>&lt;h3 id=&#34;datenschutz-auf-christian-hofmanneu&#34;&gt;Datenschutz auf christian-hofmann.eu
&lt;/h3&gt;&lt;p&gt;Diese Website ist ein &lt;strong&gt;rein privates Projekt&lt;/strong&gt;. Sie ist statisch aufgebaut, dient keinen kommerziellen Zwecken und verfolgt den Ansatz der &lt;strong&gt;maximalen Datensparsamkeit&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;1-verantwortlicher&#34;&gt;1. Verantwortlicher
&lt;/h3&gt;&lt;p&gt;Verantwortlich für diese Website im Sinne der Datenschutz-Grundverordnung (DSGVO) ist:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Christian Hofmann&lt;/strong&gt;&lt;br&gt;
Website: &lt;a class=&#34;link&#34; href=&#34;https://christian-hofmann.eu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://christian-hofmann.eu&lt;/a&gt;&lt;br&gt;
E-Mail: &lt;a class=&#34;link&#34; href=&#34;mailto:fyc09ddcc@mozmail.com&#34; &gt;fyc09ddcc@mozmail.com&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;2-verzicht-auf-datenerhebung&#34;&gt;2. Verzicht auf Datenerhebung
&lt;/h3&gt;&lt;p&gt;Ich als Betreiber dieser Webseite erhebe, speichere oder verarbeite von mir aus &lt;strong&gt;keine personenbezogenen Daten&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keine Formulare:&lt;/strong&gt; Es gibt keine Kontaktformulare oder Kommentarfunktionen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kein Tracking:&lt;/strong&gt; Ich nutze keine Analyse-Tools (wie Google Analytics) oder Werbe-Tracker.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keine externen Ressourcen:&lt;/strong&gt; Die Seite lädt keine Schriftarten (z. B. Google Fonts), Skripte oder sonstige Inhalte von externen Servern.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diese Website funktioniert vollständig ohne Tracking oder Profilbildung.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;3-technisch-bedingte-datenübertragung-hosting&#34;&gt;3. Technisch bedingte Datenübertragung (Hosting)
&lt;/h3&gt;&lt;p&gt;Beim Aufruf dieser Website übermittelt dein Browser automatisch technisch notwendige Informationen an den Server des Hosting-Anbieters. Ohne diese Daten könnte die Website nicht an dein Gerät ausgeliefert werden.&lt;/p&gt;
&lt;p&gt;Dabei können unter anderem folgende Daten verarbeitet werden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP-Adresse&lt;/li&gt;
&lt;li&gt;Datum und Uhrzeit der Anfrage&lt;/li&gt;
&lt;li&gt;aufgerufene Seite&lt;/li&gt;
&lt;li&gt;Browsertyp und Browserversion&lt;/li&gt;
&lt;li&gt;verwendetes Betriebssystem&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diese Daten werden vom Hosting-Anbieter zur Sicherstellung des technischen Betriebs sowie zur Gewährleistung der Sicherheit der Server verarbeitet.&lt;/p&gt;
&lt;p&gt;Die Verarbeitung erfolgt auf Grundlage von &lt;strong&gt;Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)&lt;/strong&gt;, da sie zur Bereitstellung und zum sicheren Betrieb der Website erforderlich ist.&lt;/p&gt;
&lt;p&gt;Hosting-Anbieter:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;goneo Internet GmbH&lt;/strong&gt;&lt;br&gt;
Dresdener Straße 18&lt;br&gt;
32423 Minden&lt;br&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.goneo.de/datenschutz&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.goneo.de/datenschutz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ich nutze diese Daten nicht für eigene Zwecke und werte sie nicht aus.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;4-funktionale-speicherung-localstorage--cookies&#34;&gt;4. Funktionale Speicherung (LocalStorage &amp;amp; Cookies)
&lt;/h3&gt;&lt;p&gt;Diese Website verwendet ausschließlich technisch notwendige Mechanismen, um die Funktionalität der Seite zu verbessern. Es findet &lt;strong&gt;kein Tracking und keine Analyse des Nutzerverhaltens&lt;/strong&gt; statt.&lt;/p&gt;
&lt;p&gt;Dabei können folgende Einstellungen lokal im Browser gespeichert werden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Theme-Einstellung:&lt;/strong&gt; Speicherung deiner Wahl zwischen Dark- und Lightmode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Medienplayer:&lt;/strong&gt; Speicherung von Wiedergabestatus (z. B. Pause oder Lautstärke)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hinweis-Status:&lt;/strong&gt; Speicherung, dass du einen Hinweis bereits gesehen hast&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diese Informationen werden ausschließlich &lt;strong&gt;lokal in deinem Browser (z. B. über LocalStorage oder Cookies)&lt;/strong&gt; gespeichert.&lt;/p&gt;
&lt;p&gt;Sie werden &lt;strong&gt;nicht an den Server übertragen&lt;/strong&gt; und &lt;strong&gt;nicht an Dritte weitergegeben&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Du kannst diese Daten jederzeit über die Einstellungen deines Browsers löschen.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;5-deine-rechte-nach-der-dsgvo&#34;&gt;5. Deine Rechte nach der DSGVO
&lt;/h3&gt;&lt;p&gt;Dir stehen grundsätzlich folgende Rechte zu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Auskunft&lt;/strong&gt; über deine gespeicherten Daten (Art. 15 DSGVO)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Berichtigung&lt;/strong&gt; unrichtiger Daten (Art. 16 DSGVO)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Löschung&lt;/strong&gt; deiner Daten (Art. 17 DSGVO)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Einschränkung der Verarbeitung&lt;/strong&gt; (Art. 18 DSGVO)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Widerspruch gegen die Verarbeitung&lt;/strong&gt; (Art. 21 DSGVO)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beschwerde bei einer Datenschutzaufsichtsbehörde&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Da diese Website selbst keine personenbezogenen Daten speichert oder verarbeitet, können diese Rechte in der Praxis meist nur gegenüber dem Hosting-Anbieter relevant sein.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;6-kontakt&#34;&gt;6. Kontakt
&lt;/h3&gt;&lt;p&gt;Wenn du Fragen zum Datenschutz auf dieser Website hast, kannst du mich jederzeit per E-Mail kontaktieren:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;E-Mail:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;mailto:fyc09ddcc@mozmail.com&#34; &gt;fyc09ddcc@mozmail.com&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Organteq</title>
        <link>https://christian-hofmann.eu/p/organteq/</link>
        <pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/p/organteq/</guid>
        <description>&lt;img src="https://christian-hofmann.eu/p/organteq/titel.png" alt="Featured image of post Organteq" /&gt;&lt;h2 id=&#34;einleitung&#34;&gt;Einleitung
&lt;/h2&gt;&lt;p&gt;In diesem kleinen Artikel stelle ich die VPO Organteq kurz vor. Über den Artikel verteilt sind kleinere und größere Aufnahmen mit verschiedenen Orgeln aus Organteq, die von mir eingespielt wurden.&lt;/p&gt;
&lt;p&gt;Organteq ist eine Software der französischen Firma Modartt, die eine Kirchenorgel (Pfeifenorgel) auf dem Computer simuliert. Modartt ist vor allem für Pianoteq bekannt, das zu den besten virtuellen Pianos zählt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/organteq/organteq1.png&#34;
	width=&#34;1405&#34;
	height=&#34;843&#34;
	srcset=&#34;https://christian-hofmann.eu/p/organteq/organteq1_hu_43cb9e0b9e44557c.png 480w, https://christian-hofmann.eu/p/organteq/organteq1_hu_67f3020f18dab15e.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Hauptansicht&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;166&#34;
		data-flex-basis=&#34;400px&#34;
	
&gt; &lt;img src=&#34;https://christian-hofmann.eu/p/organteq/organteq2.png&#34;
	width=&#34;1395&#34;
	height=&#34;805&#34;
	srcset=&#34;https://christian-hofmann.eu/p/organteq/organteq2_hu_cb1c586840ffca00.png 480w, https://christian-hofmann.eu/p/organteq/organteq2_hu_f21cecb041f8e9a.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Optionen&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;173&#34;
		data-flex-basis=&#34;415px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/organteq/organteq3.png&#34;
	width=&#34;1400&#34;
	height=&#34;639&#34;
	srcset=&#34;https://christian-hofmann.eu/p/organteq/organteq3_hu_9ef01e17923cf3af.png 480w, https://christian-hofmann.eu/p/organteq/organteq3_hu_33ffc525e380e2bd.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Alternative Ansicht&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;219&#34;
		data-flex-basis=&#34;525px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Das Besondere an Organteq ist, dass es – im Gegensatz zu den meisten anderen virtuellen Orgeln wie Hauptwerk, GrandOrgue oder Sweelinq – nicht auf Samples (Tonaufnahmen echter Pfeifen) basiert, sondern auf Physical Modeling.&lt;/p&gt;
&lt;p&gt;Anstatt aufgenommene Klänge abzuspielen, berechnet die Software den Klang in Echtzeit mithilfe physikalischer Modelle. Dabei wird simuliert, wie die Luft durch die Pfeife strömt, wie die Pfeife schwingt und wie der Raum den Schall reflektiert.&lt;/p&gt;
&lt;p&gt;Präludium in C-Dur:&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;prelude.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
&lt;h2 id=&#34;vorteile-von-organteq&#34;&gt;Vorteile von Organteq
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Enorm kompakt:&lt;/strong&gt;
Da keine Audioaufnahmen geladen werden müssen, ist die Software äußerst platzsparend. Organteq benötigt nur etwa 30 MB Speicherplatz, während samplebasierte Orgeln oft viele Gigabyte beanspruchen. Davon betroffen ist insbesondere auch der Arbeitsspeicher.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Realistisches Spielgefühl:&lt;/strong&gt;
Die Software reagiert extrem sensibel auf die Spielweise. Da keine starren Samples verwendet werden, kann das Spielverhalten einer Orgel sehr fein und realistisch simuliert werden.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hohe Flexibilität:&lt;/strong&gt;
Nahezu jeder Parameter kann vom Nutzer angepasst werden – von der Stimmung einzelner Pfeifen bis hin zur Positionierung der Orgel im virtuellen Raum. Mit wenigen Klicks lassen sich Orgeln nach eigenem Belieben zusammenstellen oder verändern.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vielseitige Nutzung:&lt;/strong&gt;
Organteq ist sowohl als Standalone-Version zum direkten Spielen als auch als Plug-in (VST, AU, AAX) für DAWs verfügbar. Die Software läuft unter Windows, macOS und Linux (x86_64 und ARM).&lt;/p&gt;
&lt;p&gt;Wer nur den lieben Gott lässt walten (3 Variationen):&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;Wernur.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
&lt;h2 id=&#34;nachteile-von-organteq&#34;&gt;Nachteile von Organteq
&lt;/h2&gt;&lt;p&gt;Natürlich gibt es auch Punkte, die für den einen oder anderen einen Nachteil darstellen können.&lt;/p&gt;
&lt;p&gt;Während Organteq sehr genügsam beim Speicherverbrauch ist, stellt es höhere Anforderungen an den Prozessor. Für große Orgeln mit umfangreichen Registrierungen wird ein sehr leistungsstarker Prozessor benötigt. Modartt optimiert die Software jedoch kontinuierlich, um die CPU-Last möglichst gering zu halten.&lt;/p&gt;
&lt;p&gt;Obwohl Physical Modeling enorme Fortschritte gemacht hat, empfinden manche Nutzer den Klang im Vergleich zu echten Aufnahmen als etwas zu „perfekt“ oder sogar „steril“. Zudem kann man in Organteq keine exakt nachgebildete, real existierende Orgel erwerben. Stattdessen spielt man stets ein Modell, das beispielsweise nach „französischer Romantik“ oder „deutschem Barock“ klingt, jedoch keine direkte Kopie eines konkreten Instruments ist.&lt;/p&gt;
&lt;p&gt;Es gibt zwar einige Orgeln, die nach realen Vorbildern erstellt wurden, inwieweit diese dem Original tatsächlich nahekommen, kann ich an dieser Stelle jedoch nicht bewerten. Klanglich sind die meisten davon zumindest sehr angenehm.&lt;/p&gt;
&lt;p&gt;Aquarelle:&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;aquarelle.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
&lt;h2 id=&#34;die-organteq-community&#34;&gt;Die Organteq-Community
&lt;/h2&gt;&lt;p&gt;Die Community rund um Organteq ist aktiv und offen. Modartt bietet auf seiner Webseite die Möglichkeit, selbst erstellte Instrumente zu veröffentlichen, die von anderen Nutzern bewertet werden können. Inzwischen finden sich dort zahlreiche interessante Orgeln, von denen einige realen Instrumenten nachempfunden sind.&lt;/p&gt;
&lt;p&gt;Eine objektive Bewertung fällt mir schwer, da ich die Originalinstrumente nicht kenne. Subjektiv betrachtet klingen viele dieser Orgeln jedoch sehr überzeugend.&lt;/p&gt;
&lt;p&gt;Als Beispiel hier eine Aufnahme des Chorals „Lobe den Herren, den mächtigen König der Ehren“ – eine Fantasie sowie eine isometrische Choralfassung. Gespielt wurde sie auf der Rühlmann-Orgel (op. 204) der Johanneskirche, die vom Nutzer Coignard in Organteq nachgebaut wurde. Die entsprechende Definition ist im FXP Corner von Modartt zu finden: &lt;a class=&#34;link&#34; href=&#34;https://forum.modartt.com/fxpcorner/?version=organteq%202&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://forum.modartt.com/fxpcorner/?version=organteq%202&lt;/a&gt;&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;Lobe_den_Herren_EG316.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
&lt;h2 id=&#34;vergleich-mit-sampler&#34;&gt;Vergleich mit Sampler
&lt;/h2&gt;&lt;p&gt;Hauptwerk, GrandOrgue, Sweelinq und andere samplebasierte Orgeln sind wie Fotos: Man betrachtet ein detailgetreues Abbild einer spezifischen Orgel. Es ist wunderschön, aber das Abgebildete lässt sich nicht grundlegend verändern.&lt;/p&gt;
&lt;p&gt;Organteq hingegen ist wie ein 3D-Modell. Man kann es aus allen Blickwinkeln betrachten, die Beleuchtung verändern und es nach Belieben umbauen. Der Klang wirkt dabei manchmal etwas „digitaler“, bietet dafür aber eine enorme kreative Freiheit.&lt;/p&gt;
&lt;h2 id=&#34;alternativen-zu-organteq&#34;&gt;Alternativen zu Organteq
&lt;/h2&gt;&lt;p&gt;Organteq ist nicht die einzige Software, die auf Physical Modeling setzt. Aeolus von Fons Adriaensen ist eine Open-Source-Orgel, die selbst auf sehr schwacher Hardware (z. B. einem Raspberry Pi 1) große Orgeln spielbar macht: &lt;a class=&#34;link&#34; href=&#34;https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/&lt;/a&gt;
Technisch ist das Modeling weniger komplex als bei Organteq, dafür aber äußerst ressourcenschonend.
Arthur Benilov hat auf Basis von Aeolus eine weiterentwickelte Version erstellt: &lt;a class=&#34;link&#34; href=&#34;https://archie3d.github.io/aeolus_plugin/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://archie3d.github.io/aeolus_plugin/&lt;/a&gt; Diese läuft im Gegensatz zum Original auch unter Windows und macOS und kann als Plug-in genutzt werden. Laut eigener Aussage wurde das Modeling verbessert, allerdings sind die Systemanforderungen deutlich höher.&lt;/p&gt;
&lt;h2 id=&#34;persönliche-meinung&#34;&gt;Persönliche Meinung
&lt;/h2&gt;&lt;p&gt;Ich führe eine gewisse „schwierige Beziehung“ mit Organteq. Einerseits bereitet das Spielgefühl große Freude, andererseits gibt es klangliche Details, die für mich nicht immer perfekt sind. Allerdings klingt keine Software exakt wie das Live-Erlebnis an einer echten Orgel vor Ort.
Organteq ist ein hervorragendes Werkzeug und in den meisten Fällen kann es sehr überzeugen.&lt;/p&gt;
&lt;p&gt;Als Abschluss – und als kleine Belohnung für das Lesen bis hierher – folgt eine Aufnahme des Chorals „Durch Adams Fall ist ganz verderbt“, bearbeitet von Marcel Dupré und von mir kreativ interpretiert.&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;AdamsFall.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
</description>
        </item>
        <item>
        <title>Der homorhythmische / isometrische Satz</title>
        <link>https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/</link>
        <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/</guid>
        <description>&lt;img src="https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/titel.jpg" alt="Featured image of post Der homorhythmische / isometrische Satz" /&gt;&lt;h2 id=&#34;vorwort&#34;&gt;Vorwort
&lt;/h2&gt;&lt;p&gt;Das vorliegende Thema stellt für mich insofern eine Besonderheit dar, als mein fachliches Interesse bislang vor allem technischen Fragestellungen galt. Neben dieser Ausrichtung bin ich jedoch auch als Orgelspieler tätig und begegne in der Praxis regelmäßig Choralsätzen, deren Satzweise meine Aufmerksamkeit geweckt hat.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild1.jpg&#34;
	width=&#34;3264&#34;
	height=&#34;2448&#34;
	srcset=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild1_hu_a742821e1ebce7b3.jpg 480w, https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild1_hu_b13a81c4e0cb770c.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Altenburger Choralbuch&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild2.jpg&#34;
	width=&#34;3264&#34;
	height=&#34;2448&#34;
	srcset=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild2_hu_a3fed18212d1fdd8.jpg 480w, https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild2_hu_fa3dc69931323f56.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Auszug Altenburger Choralbuch&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild3.jpg&#34;
	width=&#34;3264&#34;
	height=&#34;2448&#34;
	srcset=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild3_hu_4e5dd91956afc74b.jpg 480w, https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild3_hu_74b94def7ba7b41e.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Auszug Altenburger Choralbuch&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild4.jpg&#34;
	width=&#34;3264&#34;
	height=&#34;2448&#34;
	srcset=&#34;https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild4_hu_4e07c60cfbed1885.jpg 480w, https://christian-hofmann.eu/p/der-homorhythmische-/-isometrische-satz/Bild4_hu_1f8ceb4640e93dd8.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Auszug Altenburger Choralbuch&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Aus dieser praktischen Erfahrung heraus entstand der Wunsch, den homorhythmischen beziehungsweise isometrischen Choralsatz näher zu betrachten und historisch wie systematisch einzuordnen. Ziel dieser Arbeit ist es, zentrale Merkmale dieser Satzform darzustellen und ihre Bedeutung im kirchenmusikalischen Kontext zu beleuchten.&lt;/p&gt;
&lt;p&gt;Mein Dank gilt allen, die den Text gegengelesen und durch Hinweise und Anregungen zu seiner Verbesserung beigetragen haben.&lt;/p&gt;
&lt;h2 id=&#34;einleitung&#34;&gt;Einleitung
&lt;/h2&gt;&lt;p&gt;Der homorhythmische Choralsatz stellt in der heutigen kirchenmusikalischen Praxis nicht mehr die Norm dar. Zwar ist er weiterhin anzutreffen – etwa im chorischen oder historisch orientierten Kontext –, im regulären Gemeindegesang tritt er jedoch nur noch selten in Erscheinung.&lt;/p&gt;
&lt;p&gt;Ein häufiges Missverständnis besteht darin, den homorhythmischen vierstimmigen Satz primär als Begleitsatz für Tasteninstrumente zu verstehen. Historisch handelt es sich jedoch zunächst um einen &lt;strong&gt;Vokalsatz&lt;/strong&gt;. Der vierstimmige Choralsatz ist als abstrahierter Chorsatz konzipiert und nicht als Klavier- oder Orgelsatz im modernen Sinne. Die Orgelbegleitung entwickelt sich aus diesem vokalen Satz erst sekundär und bringt mit der Zeit eigene Spielweisen hervor. Die vierstimmige Notation dient dabei weniger der instrumentalen Realisierung als vielmehr der strukturellen Darstellung des mehrstimmigen Gesangs.&lt;/p&gt;
&lt;h2 id=&#34;was-bedeutet-homorhythmisch&#34;&gt;Was bedeutet homorhythmisch?
&lt;/h2&gt;&lt;p&gt;Homophonie („Gleichklang“) bezeichnet eine mehrstimmige Satzweise, bei der die Stimmen harmonisch aufeinander bezogen sind und sich einer Hauptstimme unterordnen. Diese Satzweise tritt in zwei charakteristischen Ausprägungen auf:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Akkordsatz (homophoner Satz):&lt;/strong&gt;
Alle Stimmen sind rhythmisch gleich (homorhythmisch) oder nahezu gleich geführt, sodass die Musik im Wesentlichen als Abfolge von Akkorden erscheint. Der vierstimmige Choralsatz stellt hierfür ein klassisches Beispiel dar.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Melodiesatz:&lt;/strong&gt;
Eine melodische Hauptstimme (meist die Oberstimme) wird von Nebenstimmen im Sinne eines Akkordgefüges begleitet.
Im Gegensatz dazu sind die Stimmen im polyphonen Tonsatz rhythmisch selbständig; mehrere Stimmen entfalten ein eigenes melodisches Leben.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ein-blick-in-die-geschichte&#34;&gt;Ein Blick in die Geschichte
&lt;/h2&gt;&lt;p&gt;Der folgende historische Überblick nimmt vor allem die Entwicklung des Choralsatzes im &lt;strong&gt;protestantisch-lutherischen Kontext&lt;/strong&gt; in den Blick, da sich hier die homorhythmische und isometrische Satzweise besonders deutlich ausprägt.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Phase der rhythmischen Vielfalt (16. Jahrhundert)&lt;/strong&gt;
In der frühen Reformationszeit (ca. 1524–1600) waren die Choräle keineswegs isometrisch oder homorhythmisch. Beispiele wie „Ein feste Burg ist unser Gott“ weisen häufig synkopische, tänzerische und sprachgebundene Rhythmen auf. Die Rhythmik orientierte sich eng am Sprachfluss und am emotionalen Gehalt des Textes. Diese frühen Fassungen werden heute meist als &lt;strong&gt;rhythmische Choräle&lt;/strong&gt; bezeichnet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Übergang: Das Aufkommen des Kantionalsatzes (um 1600)&lt;/strong&gt;
Um 1600 verschob sich der Schwerpunkt zunehmend auf die Singbarkeit für eine große, oft ungeschulte Gemeinde. Um das gemeinsame Singen zu erleichtern, wurden die Melodien rhythmisch vereinfacht und in gleichmäßigere Notenwerte überführt, häufig unter Aufgabe der ursprünglichen mensuralen Rhythmik. Ziel war es, einen stabilen und für alle nachvollziehbaren musikalischen Rahmen zu schaffen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Phase der Isometrie (17.–18. Jahrhundert)
Der Übergang zur strengen Isometrie vollzog sich im Laufe des 17. Jahrhunderts. Mit dem Aufkommen des Generalbasses wurde musikalisches Denken zunehmend vertikal geprägt; Akkorde traten stärker in den Vordergrund als einzelne melodische Linien. In den Gesangbüchern dieser Zeit wurden die lebendigen Rhythmen des 16. Jahrhunderts zunehmend „geebnet“ – aus kurzen und langen Noten wurden häufig gleich lange Halbe Noten.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Zur Zeit Johann Sebastian Bachs war der isometrische Satz („Note gegen Note“) der Standard für den Gemeindegesang. Bach selbst belebt diese Form jedoch durch kunstvolle Durchgangsnoten, Vorhalte sowie instrumentale Vor- und Zwischenspiele.&lt;/p&gt;
&lt;p&gt;Dabei ist zwischen &lt;strong&gt;Notationsisometrie&lt;/strong&gt; und tatsächlicher Aufführungspraxis zu unterscheiden. Auch isometrisch notierte Choräle wurden historisch nicht zwangsläufig mechanisch oder streng gleichförmig gesungen. Artikulation, Phrasierung, Textakzentuierung und ein flexibler Umgang mit dem Zeitmaß führten zu einer deutlich lebendigeren Ausführung, als es die Notation zunächst vermuten lässt.&lt;/p&gt;
&lt;h2 id=&#34;konfessionelle-perspektive&#34;&gt;Konfessionelle Perspektive
&lt;/h2&gt;&lt;p&gt;Die Entwicklung homorhythmischer Satzweisen ist nicht ausschließlich im lutherischen Kontext zu verorten. Auch in der katholischen Tradition finden sich Formen rhythmischer Vereinfachung und Homophonie. Ein Beispiel hierfür ist die &lt;strong&gt;Alternatim-Praxis&lt;/strong&gt;, bei der chorischer Gesang und instrumentale oder vokalpolyphone Abschnitte einander abwechseln. Diese Praxis verdeutlicht, dass homorhythmische Strukturen Teil einer breiteren liturgischen und musikalischen Entwicklung sind und nicht allein aus der Reformationsbewegung heraus erklärt werden können.&lt;/p&gt;
&lt;h2 id=&#34;die-heutige-bedeutung&#34;&gt;Die heutige Bedeutung
&lt;/h2&gt;&lt;p&gt;Die homorhythmische Satzform eignet sich in besonderer Weise für das Studium der Harmonisierung. Durch die neutrale Rhythmik können Lernende sich vollständig auf Stimmführung, funktionale Harmonik und die Vermeidung von Parallelbewegungen konzentrieren, ohne durch rhythmische Komplexität abgelenkt zu werden.
Im liturgischen Gebrauch findet man homorhythmische beziehungsweise isometrische Sätze heute nur noch vereinzelt. Gleichzeitig lässt sich eine restaurative Tendenz beobachten: Einige Kirchenmusikerinnen und Kirchenmusiker bemühen sich, die ursprünglich lebendigen, rhythmisch differenzierten Fassungen der Reformationszeit wieder stärker in den Gottesdienst einzubringen, um die Vitalität der Choräle zu erhöhen.
Insgesamt erfüllt der homorhythmische Satz heute vor allem pädagogische Zwecke und dient als Werkzeug zum Erlernen harmonischer Zusammenhänge, während in der Aufführungspraxis die ursprüngliche rhythmische Lebendigkeit wieder stärker geschätzt wird.&lt;/p&gt;
&lt;h2 id=&#34;persönliche-meinung&#34;&gt;Persönliche Meinung
&lt;/h2&gt;&lt;p&gt;Meiner Meinung nach kann der homorhythmische Satz auch heute sinnvoll im kirchenmusikalischen Kontext eingesetzt werden – nicht für den Gemeindegesang, wohl aber beispielsweise im Rahmen einer Andacht als musikalischer Beitrag, der dem Zuhörer vertraut erscheint, ohne zum Mitsingen einzuladen.
Als geprobtes Stück kann ein solcher Satz auch von einem Chor oder von einzelnen Sängerinnen und Sängern aufgeführt werden. Aufgrund der gewohnten rhythmischen Prägung stellt es jedoch häufig eine Herausforderung dar, im meist langsamen Zeitmaß zu bleiben und nicht unbewusst in die vertraute Rhythmik zurückzufallen. Gelingt dies, kann ein homorhythmischer Satz zu einem besonders einprägsamen und wirkungsvollen musikalischen Beitrag werden.
Auch für Orgelschülerinnen und Orgelschüler ist diese Satzform äußerst lehrreich. Die Struktur ist klar, berechenbar und meist einfach umzusetzen, sodass gerade am Anfang schnelle Lernerfolge möglich sind. Obwohl sich diese Stücke zunächst noch nicht für die Gemeindebegleitung eignen, erleichtert die homorhythmische Struktur später den Umstieg auf rhythmisch differenzierte Choralsätze erheblich.&lt;/p&gt;
&lt;p&gt;Im Folgenden eine musikalische Hörprobe: Zunächst ist eine Fantasie über ‚Lobe den Herren, den mächtigen König der Ehren‘ zu hören, gefolgt von einer Choralfassung aus dem Altenburger Choralbuch um 1902. Dieser Satz steht exemplarisch für eine Übergangsphase hin zu den heute geläufigen Satzformen.&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;lobedenherren.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
</description>
        </item>
        <item>
        <title>RustyPipes Open Source VPO Software</title>
        <link>https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/</link>
        <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/</guid>
        <description>&lt;img src="https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/titel.png" alt="Featured image of post RustyPipes Open Source VPO Software" /&gt;&lt;h2 id=&#34;einleitung&#34;&gt;Einleitung
&lt;/h2&gt;&lt;p&gt;Seit einiger Zeit werkelt Dividebysandwich an dem Programm RustyPipes. Dabei handelt es sich um eine VPO Software ähnlich zu Hauptwerk, Sweelinq oder GrandOrgue. Das Projekt ist noch sehr jung, aber einen Blick wert. Der Entwickler beschreibt es wie folgt:&lt;/p&gt;
&lt;p&gt;RustyPipes ist eine virtuelle Pfeiffenorgel welche GrandOrgue und Hauptwerk Samplesets laden kann. Es wird sowohl Sample Precaching als auch Sample Streaming von SSDs unterstützt. Das erlaubt z.b. das Spielen von großen Samplesets mit vielen Registern mit wenigen Gigabytes RAM. Um nicht unnötig Latenz beim Spielen zu erhöhen werden bei allen Samples die ersten Millisekunden ins RAM geladen und dann der Rest von der Disk gestreamed. Wer das nicht will kann natürlich alle Samples komplett ins RAM laden. Es gibt sowohl eine Version für die Konsole wie auch eine grafische Version.&lt;/p&gt;
&lt;p&gt;Das Projekt findet ihr unter &lt;a class=&#34;link&#34; href=&#34;https://github.com/dividebysandwich/rusty-pipes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/dividebysandwich/rusty-pipes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;bilder&#34;&gt;Bilder
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty1.png&#34;
	width=&#34;1690&#34;
	height=&#34;1351&#34;
	srcset=&#34;https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty1_hu_2029374bd89af6dc.png 480w, https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty1_hu_df355a75e34229a0.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;GUI Version&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;125&#34;
		data-flex-basis=&#34;300px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty2.jpg&#34;
	width=&#34;480&#34;
	height=&#34;360&#34;
	srcset=&#34;https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty2_hu_88854b34f7b48297.jpg 480w, https://christian-hofmann.eu/p/rustypipes-open-source-vpo-software/rusty2_hu_5bedcab47bc17908.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Terminal Version&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;ein-erster-eindruck&#34;&gt;Ein erster Eindruck
&lt;/h2&gt;&lt;p&gt;Die Installation auf meinem Textsystem mit Debian Trixi lief mithilfe des Flatpaks ohne Probleme, als Sampleset habe ich von Binatural Pipes die Niederzwehren ausgewählt: &lt;a class=&#34;link&#34; href=&#34;https://binauralpipes.com/niederzwehren&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://binauralpipes.com/niederzwehren&lt;/a&gt;
Nach dem Start von RustyPipes konnte ich die Orgel ohne Probleme laden und auch spielen. Die Oberfläche selbst ist noch sehr rudimentär und es fehlen noch viele Funktionen, aber die Kernfunktion also das Laden und Spielen einer Orgel funktioniert bereits.&lt;/p&gt;
&lt;h2 id=&#34;aufnahme&#34;&gt;Aufnahme
&lt;/h2&gt;&lt;p&gt;Eine kurze Aufnahme die ich mit RustyPipes erstellt habe. Es handelt sich um eine Bearbeitung von Marcel Dupre zu dem Lied &amp;ldquo;Durch Adams Fall ist ganz verderbt&amp;rdquo;&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;rustyrecord.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
&lt;h2 id=&#34;ausblick&#34;&gt;Ausblick
&lt;/h2&gt;&lt;p&gt;Das Projekt ist jung, erst einige Monate alt. Daher ist es schwer abzuschätzen wie weit es sich entwickeln wird und wo die Reise hingehen wird. Der Entwickler ist aber sehr an Ideen interessiert und setzt diese wenn möglich und sinnvoll auch um. Daher lohnt es sich RustyPipes eine Chance zu geben und zumindest einmal zu testen, dem Entwickler Feedback zu geben, Fehler zu melden oder auch Code beitragen.&lt;/p&gt;
&lt;p&gt;Ich für meinen Teil werde den Verlauf sehr genau verfolgen, da ich vor allem die Streamingtechnik sehr spannend finde.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Arduino Programm für das Pedal</title>
        <link>https://christian-hofmann.eu/p/arduino-programm-f%C3%BCr-das-pedal/</link>
        <pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/p/arduino-programm-f%C3%BCr-das-pedal/</guid>
        <description>&lt;img src="https://christian-hofmann.eu/p/arduino-programm-f%C3%BCr-das-pedal/image1.png" alt="Featured image of post Arduino Programm für das Pedal" /&gt;&lt;h2 id=&#34;einleitung&#34;&gt;Einleitung
&lt;/h2&gt;&lt;p&gt;Bei meinem letzten Beitrag über den Umbau meines Orgelpedals habe ich versprochen, noch einmal das Programm für den Arduino zu teilen. Diesem Versprechen möchte ich nun endlich nachkommen. Den Code habe ich auf Github veröffentlicht unter &lt;a class=&#34;link&#34; href=&#34;https://github.com/klangpost/Orgelpedal/blob/main/code.ino&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/klangpost/Orgelpedal/blob/main/code.ino&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Im folgenden möchte ich diesen kurz erklären. Zum Anfang aber erst einmal die Grundüberlegung. Das Orgelpedal soll an einem Computer als MIDI Gerät erkannt werden und beim Drücken/Loslassen einer Taste ein entsprechendes MIDI Event senden. Da ich einen Arduino DUE verwende ist eine Tastenmatrix nicht notwendig. Die Reedschalter sind sofern eine Taste nicht gedrückt wird geschlossen. Die Reedschalter sind verbunden mit den Pin’s 22-52 und GND.&lt;/p&gt;
&lt;h2 id=&#34;variablen&#34;&gt;Variablen
&lt;/h2&gt;&lt;p&gt;Zuerst werden die Notwendigen Variablen erstellt:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cc&#34; data-lang=&#34;cc&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#include&lt;/span&gt; &lt;span class=&#34;cpf&#34;&gt;&amp;lt;MIDIUSB.h&amp;gt;&lt;/span&gt;&lt;span class=&#34;cp&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//Variablen für Pedaltasten
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Array mit Pinnummern
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pedalPins&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;23&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;24&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;26&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;27&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;28&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;29&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;31&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;33&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;34&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;35&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;36&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;37&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;38&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;39&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;42&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;43&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;45&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;46&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;47&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;48&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;49&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;51&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;52&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Midi Noten
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;midiNote&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;36&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;37&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;38&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;39&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;42&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;43&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;45&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;46&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;47&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;48&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;49&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;51&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;52&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;53&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;54&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;55&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;mi&#34;&gt;56&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;57&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;58&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;59&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;60&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;61&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;62&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;63&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;65&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#define NUM_PEDALS (sizeof(pedalPins) / sizeof(int))  &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// Anzahl der Pedale berechnen
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Anzahl der Tasten ermitteln
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pedalState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;NUM_PEDALS&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;#include &amp;lt;MIDIUSB.h&amp;gt; fügt die MIDIUSB Bibliothek hinzu, diese ermöglichst die Midi Funktionen über USB mit sehr wenig Aufwand. In der Konstante pedalPINS werden die Pinnummern eingetragen, an denen die Reedschalter angeschlossen sind und in midiNOTES befinden sich die dazugehörigen Midi Keycodes. Der tiefste Keycode mit der Nummer 36 entspricht dem Kontra C.&lt;/p&gt;
&lt;p&gt;NUM_PEDALS enthält die Anzahl der Pedaltasten. Diese wird anhand der Arraygröße ermittelt. Bedeutet die Anzahl der verwendeten Pins aus pedalPINS ergibt die Anzahl der Tasten. Aus dieser Information wird auch noch das Array pedalState erstellt. Dieses beinhaltet die Information für jede Taste, ob diese nun gerade gedrückt ist, oder nicht.&lt;/p&gt;
&lt;h2 id=&#34;midi-funktionen&#34;&gt;Midi Funktionen
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cc&#34; data-lang=&#34;cc&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;/**** Funktionen für MIDI ***************************************************/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;controlChange&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;control&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;midiEventPacket_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;event&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;mh&#34;&gt;0x0B&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;0xB0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;control&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;MidiUSB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sendMIDI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;noteOn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pitch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;velocity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;midiEventPacket_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;noteOn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;mh&#34;&gt;0x09&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;0x90&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pitch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;velocity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;MidiUSB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sendMIDI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;noteOn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;noteOff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pitch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;velocity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;midiEventPacket_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;noteOff&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;mh&#34;&gt;0x08&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;0x80&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;channel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pitch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;velocity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;MidiUSB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sendMIDI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;noteOff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;MidiButton&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;byte&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;midisig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;//Button-Pin, Noten-Nummer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;taste&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;digitalRead&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;LOW&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;taste&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HIGH&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;NoteON MidiNote: &amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;midisig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;noteOn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;midisig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;MidiUSB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;taste&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;delay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HIGH&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;taste&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;LOW&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;NoteOFF MidiNote: &amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;midisig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;noteOff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;midisig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;MidiUSB&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;taste&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;delay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tasteAlt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Um nicht den Rahmen zu sprengen erkläre ich hier nur die Funktion MidiButton. An diese Funktion wird der PIN der Taste, der Midi Keycode und der letzte bekannte Zustand übergeben. Dann wird der aktuelle Zustand des PINS gelesen und mit dem letzten bekannten verglichen. Ist dieser identisch, dann hat sich nicht verändert. Sollte er abweichen, dann wurde die gedrückte Taste losgelassen, oder die nicht gedrückte Taste gedrückt. Entsprechend dem neuen Zustand wird über die Funktion noteOff oder noteOn ein Midisignal gesendet und eine Debug Information ausgegeben.&lt;/p&gt;
&lt;h2 id=&#34;setup--loop&#34;&gt;Setup / Loop
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cc&#34; data-lang=&#34;cc&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;begin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;9600&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Öffnet die serielle Schnittstelle bei 9600 Bit/s:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Setup beginnt&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// Setze alle Pedalpins als Eingang mit internen Pull-up-Widerständen (passe dies nach Bedarf an)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;NUM_PEDALS&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;pinMode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pedalPins&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;INPUT_PULLUP&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;pedalState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HIGH&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Setup abgeschlossen&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Serial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;println&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;loop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;//Pedaltasten
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;NUM_PEDALS&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;currentState&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pedalState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;pedalState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MidiButton&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pedalPins&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;midiNote&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;currentState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In der Funktion Setup wird zuerst eine serielle Schnittstelle geöffnet mit 9600 Bit/s. Danach werden alle angegebenen Pins als Eingang mit einem Pull-up-Widerstand gesetzt. Die loop Funktion ist sehr kompakt und geht nur endlos alle Pins durch um den Zustand zu ermitteln. Am Ende angekommen, geht es wieder von vorne los… Es gibt kein Ende 🙂&lt;/p&gt;
&lt;p&gt;Dies sollte die einfachste Variante sein. Natürlich kann man dieses Projekt auch mit einem kleineren Arduino realisieren. Dann wäre aber eine Tastenmatrix aufzubauen mit Dioden. In meinem Fall war mir dies aber zu viel Arbeit. Eine 8×8 Matrix wäre z.B in der Lage mit nur 16 Pins 64 Tasten abzufragen. Bei einem Pedal mit 30 Tasten wäre auch eine 5×6 Matrix sinnvoll.&lt;/p&gt;
&lt;p&gt;Zusätzlich wird in diesem Basisprogramm keine Taste entprellt. Das recht Hohe Delay von 100 Millisekunden ist recht hoch und da fällt in meinem Aufbau kein Prellen auf. Wer eine möglichst geringe Latenz möchte, der sollte die Tasten zusätzlich entprellen.&lt;/p&gt;
&lt;p&gt;Vielleicht ist das Programm für den einen oder anderen nützlich. Nutzt es gerne und passt es an eure Bedürfnisse an.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Orgelpedal midifizieren</title>
        <link>https://christian-hofmann.eu/p/orgelpedal-midifizieren/</link>
        <pubDate>Fri, 10 May 2024 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/p/orgelpedal-midifizieren/</guid>
        <description>&lt;img src="https://christian-hofmann.eu/p/orgelpedal-midifizieren/image1.jpg" alt="Featured image of post Orgelpedal midifizieren" /&gt;&lt;h2 id=&#34;einleitung&#34;&gt;Einleitung
&lt;/h2&gt;&lt;p&gt;Die letzten Wochen habe ich wieder einmal ein Orgel Pedal midifiziert, welches ich geschenkt bekommen habe, inklusive einer passenden Bank. Hier ein kurzes Bautagebuch dazu.&lt;/p&gt;
&lt;p&gt;Das Pedal hat 30 Tasten und eine Breite von rund 1,4 Meter. Es hat also einen Tonumfang von C (große Oktave) bis zum f (eingestrichene Oktave). Alle Tasten sind gefedert und mit Filz gedämpft. Nach einiger Abwägung habe ich mich entschieden Reed Kontakte zu benutzen, da ich hiermit schon Erfahrungen sammeln konnte. Da ich auf das löten einer Tastenmatrix verzichten wollte, habe ich mich für den Arduino Due entschieden. Dieser bietet genügend Pins für 30 Tasten. Wichtig war mir so wenig Veränderungen wie nur möglich am Pedal vorzunehmen (keine Schrauben, etc). Ich habe mich für fertige Reed Module von Iduino entschieden, da diese als fertige kleine Module einfach nur noch angebracht werden müssen. Dies ist sehr viel angenehmer als mit losen Reeds. Natürlich auch etwas teurer mit 0,90 € pro Modul. Magnete habe ich in eckiger Form für 0,40 € das Stück. Module sowie Magnete habe ich verklebt mit Heißkleber. Das ist vielleicht nicht die übliche Art, aber der Vorteil ist eben, dass es schnell geht und keine Materialbeschädigung stattfindet. Mit Heißluft lässt sich dies wieder vollständig entfernen. Für die Belastungen die auftreten ist das auch mehr als ausreichend. Nur für die Kabelführungen habe ich Schrauben angebracht.&lt;/p&gt;
&lt;p&gt;Die Magnete sind so angebracht, dass sich diese in der Nähe der Kontakte befinden und diese somit geschlossen sind. Wenn die Taste gedrückt wird öffnet sich der Kontakt. Das hat sich meiner Meinung nach gut bewährt als umgekehrt. Wobei beide Variationen gleichwertig funktionieren.&lt;/p&gt;
&lt;h2 id=&#34;bilder&#34;&gt;Bilder
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image1.jpg&#34;
	width=&#34;1024&#34;
	height=&#34;771&#34;
	srcset=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image1_hu_3eb111762a9a9ddc.jpg 480w, https://christian-hofmann.eu/p/orgelpedal-midifizieren/image1_hu_2b914f842791f363.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Pedal Urzustand&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;132&#34;
		data-flex-basis=&#34;318px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image2.jpg&#34;
	width=&#34;1024&#34;
	height=&#34;771&#34;
	srcset=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image2_hu_3c0543ad48a6ef35.jpg 480w, https://christian-hofmann.eu/p/orgelpedal-midifizieren/image2_hu_f4fd4b010070720b.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Pedal Urzustand&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;132&#34;
		data-flex-basis=&#34;318px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image3.jpg&#34;
	width=&#34;576&#34;
	height=&#34;1024&#34;
	srcset=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image3_hu_d87929604a15c8a5.jpg 480w, https://christian-hofmann.eu/p/orgelpedal-midifizieren/image3_hu_60060596483cdf4c.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Verkabelt&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;56&#34;
		data-flex-basis=&#34;135px&#34;
	
&gt;
&lt;img src=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image4.jpg&#34;
	width=&#34;576&#34;
	height=&#34;1024&#34;
	srcset=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image4_hu_f59af8f31fad90c1.jpg 480w, https://christian-hofmann.eu/p/orgelpedal-midifizieren/image4_hu_3132734c3474b24b.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Verkabelt&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;56&#34;
		data-flex-basis=&#34;135px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;ausblick&#34;&gt;Ausblick
&lt;/h2&gt;&lt;p&gt;Somit ist mein Spieltisch wieder fast vollständig. Im Moment fehlt noch die Verblendung welche ich neu machen muss und das obere Manual muss noch getauscht und verblendet werden. Aber dafür ist dann noch später Zeit. Ich habe in diesem Arbeitsschritt auch noch meinen Mini PC ersetzt durch eine Workstation, welche ich günstig bekommen habe. Ich möchte die Schalter für die Register dann auch noch durch einen kleinen 10″ Touchmonitor ersetzen. Gerade beim experimentieren mit verschiedenen Samplesets ist die Konfiguration der Schalter doch eher lästig. So sieht der noch unfertige und nicht verkleidete Spieltisch aus&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image5.png&#34;
	width=&#34;1024&#34;
	height=&#34;965&#34;
	srcset=&#34;https://christian-hofmann.eu/p/orgelpedal-midifizieren/image5_hu_54392a3eb16c5bd5.png 480w, https://christian-hofmann.eu/p/orgelpedal-midifizieren/image5_hu_6a97bd206d03f614.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Verkabelt&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;106&#34;
		data-flex-basis=&#34;254px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;aufnahme&#34;&gt;Aufnahme
&lt;/h2&gt;&lt;p&gt;Und hier noch etwas Musik (Wer nur den lieben Gott lässt walten). Als Software nutze ich noch ein Windows, welches durch meine Linux Orgel Distribution (eigenes Projekt) ersetzt wird und Sweelinq.&lt;/p&gt;
&lt;audio controls&gt;
    &lt;source src=&#34;audio1.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
    Ihr Browser unterstützt das Audio-Element nicht.
&lt;/audio&gt;
</description>
        </item>
        <item>
        <title>About</title>
        <link>https://christian-hofmann.eu/about/</link>
        <pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/about/</guid>
        <description>&lt;h2 id=&#34;herzlich-willkommen&#34;&gt;Herzlich Willkommen
&lt;/h2&gt;&lt;p&gt;Mein Name ist &lt;strong&gt;Christian Hofmann&lt;/strong&gt;. Auf dieser Seite dokumentiere und berichte ich über mein Hobby rund um die Orgel&lt;/p&gt;
&lt;h3 id=&#34;warum-orgel&#34;&gt;Warum Orgel?
&lt;/h3&gt;&lt;p&gt;Die Begeisterung für die Orgel begann bei mir im Zuge meiner Arbeit in der &lt;a class=&#34;link&#34; href=&#34;https://evangelische-kirche-lsz.de/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Evangelischen Kirchengemeinde Bad Langensalza&lt;/a&gt;. Dort war ich einige Jahre im Gemeindedienst beschäftigt. Irgendwann saß ich wieder einmal in der Orgelmusik zur Marktzeit und hatte  diese Idee selbst Orgel spielen zu können. Doch wer sich als Privatperson mit der Orgel beschäftigt, stößt schnell auf eine harte Realität: &lt;strong&gt;Eine echte Pfeifenorgel oder Digitale Orgel für das Wohnzimmer ist für die meisten schlicht unbezahlbar.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wo mein Budget endete, begann meine Neugier. Wenn man sich keine Orgel kaufen kann, muss man sich diese einfach selber bauen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ein kleiner Spoiler:&lt;/strong&gt; Das Instrument selbst war bei meinem Vorhaben die Orgel spielen zu können schon fast das kleinste Problem&amp;hellip;&lt;/p&gt;
&lt;div style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;bild.png&#34; alt=&#34;Christian Hofmann an der Orgel&#34; style=&#34;max-width: 100%; height: auto; border-radius: 8px;&#34;&gt;
    &lt;p&gt;&lt;em&gt;Ich am Spieltisch der Marktkirche St. Bonifacii in Bad Langensalza.&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id=&#34;zuhause-üben-statt-öffentliches-üben&#34;&gt;Zuhause Üben statt öffentliches Üben
&lt;/h3&gt;&lt;p&gt;Ein zweiter Punkt ist der Wunsch gewesen unabhängig mich mit der Orgel beschäftigen zu können. Wer in einer Kirche übt, kennt das:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kälte:&lt;/strong&gt; Wenn die Kirche im Januar nicht geheizt wird, werden die Finger steif.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Besucher:&lt;/strong&gt; Es gibt kaum etwas Stressigeres, als technische Übungen oder mühsame Tonleitern vor einer Gruppe staunender Touristen zu wiederholen&amp;hellip; Und dabei oft auch zu scheitern. Ein echtes Vergnügen wenn es total schief geht, während dutzende ihr Smartphone zwecks Aufnahme auf einen richten&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vor dem Zuhörer zeige ich also viel lieber das fertige Werk – der „Arbeitsprozess“ hingegen findet überwiegend bei mir zu Hause statt.&lt;/p&gt;
&lt;h3 id=&#34;digitale-lösungen-vpo&#34;&gt;Digitale Lösungen (VPO)
&lt;/h3&gt;&lt;p&gt;Da eine Pfeifenorgel zu Hause aus Platz- und Kostengründen ausschied, habe ich mich intensiv mit &lt;strong&gt;Virtual Pipe Organs (VPO)&lt;/strong&gt; beschäftigt. Die Technik erlaubt es heute einfach Instrumente digital spielbar zu machen, ohne die Nachbarn zu verärgern. Begonnen habe ich mit einer alten Wersi Orgel, eine Spende einer Seniorin die ihren Sperrmüll loswerden wollte&amp;hellip; Nicht falsch verstehen, zumindest Teile des Gehäuse bietet heute noch meiner Technik ihr Zuhause.&lt;/p&gt;
&lt;p&gt;Ich experimentierte und arbeitete mit verschiedener Software wie &lt;strong&gt;Hauptwerk, GrandOrgue, Sweelinq und Organteq&lt;/strong&gt;. An meinem selbst gebauten Spieltisch nutze ich inzwischen jedoch überwiegend Organteq, da es meine persönlichen Wünsche am besten abdeckt. Außerdem habe ich für viel Geld eine Lizenz gekauft :-)&lt;/p&gt;
&lt;h3 id=&#34;möglichst-einfach&#34;&gt;Möglichst einfach
&lt;/h3&gt;&lt;p&gt;Diese Webseite spiegelt meine Philosophie wider: &lt;strong&gt;Fokus auf das Wesentliche.&lt;/strong&gt; Sie ist statisch aufgebaut, verzichtet auf Tracking, Werbung und unnötigen Ballast. Genau wie eine gut gebaute Orgel soll sie einfach unauffällig und zuverlässig ihre Aufgabe erfüllen.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;kontakt&#34;&gt;Kontakt
&lt;/h3&gt;&lt;p&gt;Da ich zum Schutz vor Identitätsdiebstahl meine Privatanschrift nicht öffentlich nennen werde, bin ich am besten per E-Mail erreichbar:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;E-Mail:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;mailto:fyc09ddcc@mozmail.com&#34; &gt;fyc09ddcc@mozmail.com&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Archiv</title>
        <link>https://christian-hofmann.eu/archives/</link>
        <pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/archives/</guid>
        <description></description>
        </item>
        <item>
        <title></title>
        <link>https://christian-hofmann.eu/datenschutz/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/datenschutz/</guid>
        <description>&lt;h3 id=&#34;cookies-und-lokale-speicherung&#34;&gt;Cookies und lokale Speicherung
&lt;/h3&gt;&lt;p&gt;Unsere Website verwendet ausschließlich technisch notwendige Cookies und lokale Speichermechanismen (LocalStorage), um die Funktionalität der Seite sicherzustellen.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Theme-Einstellung (Dark-/Lightmode):&lt;/strong&gt; speichert die von Ihnen gewählte Darstellung.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Medienplayer:&lt;/strong&gt; merkt sich den Wiedergabestatus (z. B. laufende oder pausierte Wiedergabe).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cookie-Hinweis:&lt;/strong&gt; speichert, dass Sie den Hinweis zu Cookies bestätigt haben, damit dieser nicht erneut angezeigt wird.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diese Informationen werden ausschließlich in Ihrem Browser gespeichert, nicht an unseren Server übermittelt und nicht zu Analyse- oder Marketingzwecken verwendet.
Sie können die Daten jederzeit über die Einstellungen Ihres Browsers löschen.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Search</title>
        <link>https://christian-hofmann.eu/search/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://christian-hofmann.eu/search/</guid>
        <description></description>
        </item>
        
    </channel>
</rss>
