<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Bart Jakobs]]></title><description><![CDATA[Schrijver, muzikant, dingenmaker]]></description><link>https://bartjakobs.nl/</link><image><url>https://bartjakobs.nl/favicon.png</url><title>Bart Jakobs</title><link>https://bartjakobs.nl/</link></image><generator>Ghost 5.28</generator><lastBuildDate>Fri, 24 Apr 2026 04:59:35 GMT</lastBuildDate><atom:link href="https://bartjakobs.nl/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Macvriendjes]]></title><description><![CDATA[Ik heb Macintosch aan m'n MacBook gekoppeld.]]></description><link>https://bartjakobs.nl/universal-control-voor-een-oude-macintosh-classic/</link><guid isPermaLink="false">6889f60281738904dff6da80</guid><category><![CDATA[code]]></category><category><![CDATA[experiment]]></category><category><![CDATA[techniek]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Wed, 30 Jul 2025 14:12:41 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2025/07/balkie.png" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2025/07/balkie.png" alt="Macvriendjes"><p>Ik had een oude Macintosh Classic gekocht, had niet door dat je de muis er niet zomaar uit mag halen als hij aan staat, dus die ging kapot. Ik had geen zin om een muis te marktplaatsen en er bleek best veel documentatie over de Apple Desktop Bus (en voorbeeldcode), dus ik dacht, ik maak iets beters.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2025/07/Naamloos.mov.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2025/07/media-thumbnail-ember191.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Kijk!</figcaption></figure><p>Ik heb een Arduino Nano geprogrammeerd om pakketjes te ontvangen van mijn MacBook en die te vertalen naar ADB en een Mac app gemaakt die de muis afvangt en doorstuurt naar de Arduino.</p><p>Als je naar de rand van het scherm gaat, verdwijnt de muis ineens, vanaf dan controleer je de Macintosh Classic!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://bartjakobs.nl/content/images/2025/07/screencap.gif" class="kg-image" alt="Macvriendjes" loading="lazy" width="800" height="234" srcset="https://bartjakobs.nl/content/images/size/w600/2025/07/screencap.gif 600w, https://bartjakobs.nl/content/images/2025/07/screencap.gif 800w" sizes="(min-width: 720px) 720px"><figcaption>Kijk hoe mooi dat randje is!</figcaption></figure><p>Lees de code, gebruik het zelf ook! <a href="https://github.com/bartjakobs/MacFriends">https://github.com/bartjakobs/MacFriends</a></p>]]></content:encoded></item><item><title><![CDATA[Playdatespel]]></title><description><![CDATA[Ik heb een spelletje voor de Playdate gemaakt.]]></description><link>https://bartjakobs.nl/spelletje-voor-playdate/</link><guid isPermaLink="false">666d76bcf3101804f5552b25</guid><category><![CDATA[code]]></category><category><![CDATA[experiment]]></category><category><![CDATA[muziek]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Sat, 15 Jun 2024 11:20:30 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2025/07/Scherm-afbeelding-2025-07-30-om-12.36.38.png" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2025/07/Scherm-afbeelding-2025-07-30-om-12.36.38.png" alt="Playdatespel"><p>Ik heb een spelletje gemaakt voor de <a href="https://play.date">Playdate</a> console, met stuiterende balletjes en zichzelf aanpassende muziek!</p><p>De Playdate is een kleine handheld game console door <a href="https://panic.com">Panic</a>, met een monochroom schermpje en een <em>crank</em> (zwengel? slinger?) die in spellen als input kan worden gebruikt.</p><p>Sinds een paar maanden kun je in Swift programmeren voor de Playdate, en daar had ik zin in. </p><figure class="kg-card kg-image-card"><img src="https://bartjakobs.nl/content/images/2024/06/ezgif-6-0c529869a3.gif" class="kg-image" alt="Playdatespel" loading="lazy" width="600" height="358" srcset="https://bartjakobs.nl/content/images/2024/06/ezgif-6-0c529869a3.gif 600w"></figure><p></p><h2 id="muziek">Muziek</h2><p>In de Playdate SDK zitten mogelijkheden om synthesizers e.d. aan te maken en aan te sturen. Dit vond ik interessant om mee te gaan spelen, dus ik een kleine Swift library geschreven die die synthesizers wat toegankelijker maakt. Hierin heb ik een muziekspeler gemaakt die met kennis van akkoorden en toonladders, muziek improviseert. </p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2024/06/fil.mov.mp4" poster="https://img.spacergif.org/v1/1604x956/0a/spacer.png" width="1604" height="956" playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2024/06/media-thumbnail-ember169.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Kijk en luister!</figcaption></figure><p>De tijd vanaf het moment dat er een balletje geschoten wordt, totdat-ie voor het eerst stuitert, wordt gemeten. &#xA0;Hierop wordt het tempo van de muziek gebaseerd (tenzij het wel erg veel van het normale tempo af ligt, dan wordt dit tempo verdubbeld of gehalveerd). Per level heb ik een muziekstuk gemaakt, bestaande uit akkoorden, manier van begeleiden, voorgesteld tempo, mogelijke baslijntjes die om de beurt gespeeld worden, en toonladder per maat (of deel van een maat). </p><p>Op basis van de toonladder wordt een toon gegeven aan het stuiteren van een balletje. Bij een modulatie kan die toon dus veranderen.</p>]]></content:encoded></item><item><title><![CDATA[Cat Carpenter]]></title><description><![CDATA[<p>Een beetje ge&#xEF;nspireerd op <a href="https://www.youtube.com/watch?v=DfznnKUwywQ">dit project</a> was ik afgelopen weken aan het knutselen aan dit programma&apos;tje. Cat Carpenter is een online tooltje waarmee mechanische bewegingen kunnen worden ontworpen. </p><p>Het concept is dit: als je twee draaiende wielen hebt, met verschillende snelheden, grootten of &#xA0;fasen, en</p>]]></description><link>https://bartjakobs.nl/cat-carpenter/</link><guid isPermaLink="false">646bb33b06eda7060736594b</guid><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Mon, 22 May 2023 18:58:57 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2023/05/kat.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2023/05/kat.jpg" alt="Cat Carpenter"><p>Een beetje ge&#xEF;nspireerd op <a href="https://www.youtube.com/watch?v=DfznnKUwywQ">dit project</a> was ik afgelopen weken aan het knutselen aan dit programma&apos;tje. Cat Carpenter is een online tooltje waarmee mechanische bewegingen kunnen worden ontworpen. </p><p>Het concept is dit: als je twee draaiende wielen hebt, met verschillende snelheden, grootten of &#xA0;fasen, en deze met twee stokjes verbindt, kan het scharnierpunt op die twee stokjes in allerlei vette paden bewegen. Deze paden kunnen compleet anders worden door de drie parameters per wiel te vari&#xEB;ren. Klinkt gek dus kijk hieronder maar.</p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2023/05/draaie.mov.mp4" poster="https://img.spacergif.org/v1/2328x758/0a/spacer.png" width="2328" height="758" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2023/05/media-thumbnail-ember202.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><p>Door deze te koppelen aan verschillende onderdelen van een houten figuurtje (zoals een kat!), kun je die op leuke en realistische manieren laten bewegen. En daar is dit programma&apos;tje ook voor. De bewegende punten op de gekoppelde stokjes aan de wielen kunnen ook weer aan getekende lagen worden gekoppeld, een soort <em>riggen</em>. Maar dan voor mechanische bewegingen. </p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2023/05/Naamloos.mp4" poster="https://img.spacergif.org/v1/2746x2304/0a/spacer.png" width="2746" height="2304" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2023/05/media-thumbnail-ember185.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Zie je?</figcaption></figure><p>Dit project bestaat uit een heleboel handgemaakte javascript, een klein beetje wiskunde, niet veel ontwerp, maar een heleboel liefde. En vaak is dat wat telt, toch? </p><p>Mocht je dit interessant vinden en willen gebruiken, <a href="https://bartjakobs.nl/contact/">stuur een berichtje</a>! Ik ben er nog niet helemaal over uit of ik dit nou open source op het internet wil neergooien, maar waarom ook niet. Het is wel echt leuk om mee te spelen en dat gun ik iedereen. Stuur dat berichtje nou maar en overtuig me.</p><p>Oke, hier nog een voorbeeldje:</p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2023/05/Naamloos--online-video-cutter.com-.mp4" poster="https://img.spacergif.org/v1/1970x1620/0a/spacer.png" width="1970" height="1620" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2023/05/media-thumbnail-ember374.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://bartjakobs.nl/content/images/2023/05/image-1.png" class="kg-image" alt="Cat Carpenter" loading="lazy" width="2000" height="1116" srcset="https://bartjakobs.nl/content/images/size/w600/2023/05/image-1.png 600w, https://bartjakobs.nl/content/images/size/w1000/2023/05/image-1.png 1000w, https://bartjakobs.nl/content/images/size/w1600/2023/05/image-1.png 1600w, https://bartjakobs.nl/content/images/size/w2400/2023/05/image-1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>En het exporteert ook nog eens rechtstreeks je lasercutter in!</figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Speeldoosjes]]></title><description><![CDATA[Een lasercutter, een paar speeldoosjes, fun!]]></description><link>https://bartjakobs.nl/speeldoosjes-maken/</link><guid isPermaLink="false">63616f62574db25f5be5a568</guid><category><![CDATA[muziek]]></category><category><![CDATA[code]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Tue, 01 Nov 2022 20:26:27 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2022/11/doosjes-kopie.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2022/11/doosjes-kopie.jpeg" alt="Speeldoosjes"><p>Toen ik een jaar of acht was, kwam iedere dag de orgelman door onze straat. Ik was onder de indruk van het grote draaiorgel, van het mechaniek dat muziek maakte. De orgelman gaf me voor mijn verjaardag een mechanisch speeldoosje waar ik zelf muziek voor kon maken, door gaatjes in papieren kaarten te knippen, wat ik nog steeds wel eens doe.<br>Dat speeldoosje heb ik nog steeds, en inmiddels heb ik nog twee andere, in andere formaten. </p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/speeldoosje.mp4" poster="https://img.spacergif.org/v1/720x404/0a/spacer.png" width="720" height="404" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember1067.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><p>Toen ik recent een lasercutter tot m&#x2019;n beschikking had, bedacht ik dat daarmee ook best zulke kaarten gemaakt zouden kunnen worden. Ik ben gaan lezen over hoe lasercutters aangestuurd worden en heb een kaart ingescand om de afmetingen precies te weten.<br>Hier is een web-app uitgekomen waarin je muziek kan componeren door noten op zo&#x2019;n kaart te zetten. Ook kunnen midibestanden worden ge&#xEF;mporteerd.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/kaarten.mov.mp4" poster="https://img.spacergif.org/v1/1106x952/0a/spacer.png" width="1106" height="952" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember1002.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Een editor voor speeldooskaartjes</figcaption></figure><p>Omdat de speeldoosjes maar een beperkt aantal verschillende tonen kunnen maken, moet er in het maken van de kaarten rekening gehouden worden met welke noten wel en niet kunnen worden geplaatst. In de interface kan tussen de drie verschillende formaten worden gekozen. Als er een muziek ge&#xEF;mporteerd wordt, wordt automatisch gekeken of de muziek naar een andere toonsoort moet worden getransponeerd, als dat beter past op het speeldoosje.</p><h2 id="techniek">Techniek</h2><p>De lasercutter is aan te sturen als seri&#xEB;le poort via usb. Via dit ontvangt hij GCode, instructies waarin bewegingen die de laser moet maken. Deze heb ik eerst op basis van een midi-bestand laten genereren, zodat ik muziek in Logic Pro kon exporteren om direct te laten snijden. Hierna heb ik WebSerial gebruikt om het aansturen vanaf een webpagina (in Chrome) te kunnen doen.<br>Hier heb ik een simpele interface bij gemaakt waarmee de kaarten ook te bewerken zijn en waarmee noten via WebMidi live kunnen worden ingespeeld met een keyboard.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/generere.mov.mp4" poster="https://img.spacergif.org/v1/976x414/0a/spacer.png" width="976" height="414" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember1199.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>GCode, de instructies voor een lasersnijder, genereren.</figcaption></figure><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/las0r.mp4" poster="https://img.spacergif.org/v1/1010x488/0a/spacer.png" width="1010" height="488" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember1091.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>vet toch</figcaption></figure><h2 id="en-nu">En nu? </h2><p>Het programma dat ik gemaakt heb, is een simpele en gebruiksvriendelijke tool waarmee muziek gecomponeerd kan worden binnen de beperkingen van de speeldoosjes. Ik heb er nog geen verdere plannen mee. Als je dit leest en interesse hebt, <a href="https://bartjakobs.nl/contact">App me!</a></p>]]></content:encoded></item><item><title><![CDATA[Niks aan te doen]]></title><description><![CDATA[<p>Een deel van mijn afstudeerproject op de HKU was een interactieve choose-your-own-adventure-musical.<br>De voorstelling &#x201C;Niks aan te doen&#x201D; begint als een normale Disney-musical: het is een mooie dag in een normale stad, maar &#xE9;&#xE9;n iemand in de stad heeft een droom. Maar wat die droom is,</p>]]></description><link>https://bartjakobs.nl/niks-aan-te-doen/</link><guid isPermaLink="false">63552cfdbe189b598690bcc1</guid><category><![CDATA[code]]></category><category><![CDATA[schrijven]]></category><category><![CDATA[muziek]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Tue, 01 Nov 2022 19:03:13 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2022/11/telefoon.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2022/11/telefoon.jpg" alt="Niks aan te doen"><p>Een deel van mijn afstudeerproject op de HKU was een interactieve choose-your-own-adventure-musical.<br>De voorstelling &#x201C;Niks aan te doen&#x201D; begint als een normale Disney-musical: het is een mooie dag in een normale stad, maar &#xE9;&#xE9;n iemand in de stad heeft een droom. Maar wat die droom is, en wat er gedaan kan worden om die waar te maken, kan het publiek kiezen.</p><p>Op een web-app, die het publiek tijdens de voorstelling op een smartphone open heeft, verschijnt op belangrijke punten in het verhaal een keuze met twee of drie opties. Binnen een korte tijd kan er gestemd worden, en de meerderheid bepaalt hoe het verhaal verder gaat: wil het personage Rob eigenlijk altijd al barista worden? Of juist content marketeer?</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://bartjakobs.nl/content/images/2022/11/IMG_0324.jpeg" class="kg-image" alt="Niks aan te doen" loading="lazy" width="1500" height="1125" srcset="https://bartjakobs.nl/content/images/size/w600/2022/11/IMG_0324.jpeg 600w, https://bartjakobs.nl/content/images/size/w1000/2022/11/IMG_0324.jpeg 1000w, https://bartjakobs.nl/content/images/2022/11/IMG_0324.jpeg 1500w" sizes="(min-width: 720px) 720px"><figcaption>Twee knopjes, tien seconden. Soms is keuzes maken echt makkelijk</figcaption></figure><p>In de klassieke musicals (en andere groteske verhalen) is het altijd de held die z&#x2019;n droom gaat volgen, die een <em>want</em> en een <em>need</em> heeft, die uitendelijk als een beter mens het verhaal uitkomt. Als je maar de goede keuzes maakt, kom je er wel.<br>Dit is natuurlijk niet hoe het werkt in de echte wereld, en daar gaat deze voorstelling over. Het publiek krijgt de kans om de perfecte keuzes te maken, maar dat geeft nu eenmaal niet de garantie op een lang en gelukkig leven. Soms kom je op een plek die eigenlijk niet echt beter is, maar gewoon goed genoeg. Dan is daar niks aan te doen, en dat kan ook een goede uitkomst zijn!<br>Vanuit dit idee ben ik behalve de verschillende opties en vertakkingen gaan schrijven en componeren, ook gaan programmeren. </p><h2 id="techniek">Techniek</h2><p>De web-app van &#x2018;niks aan te doen&#x2019; heeft een NodeJS-applicatie als backend, gekoppeld met Inky, waarin ik het verhaal heb geschreven.<br>Een voorstelling wordt gespeeld in een normale theaterzaal, door twee acteurs en een pianist / verteller (bij voorkeur ikzelf). De acteurs en verteller hebben ieder een iPad, die ook verbonden is met de web-app. Wanneer er een keuzemoment moet komen, drukt een van de drie op een knop op de iPad en automatisch verschijnen de keuzes bij het publiek. Op deze manier is een interactieve voorstelling zo weinig mogelijk intrusief, zonder grote machines en computers die kapotgaan.</p><h2 id="en-nu">En nu? </h2><p>Behalve dat de voorstelling nog eens gespeeld kan worden, heb ik de code zo geschreven dat er ook een andere voorstelling mee gemaakt zou kunnen worden. <br>Als je een leuk idee hebt voor een interactieve theatervoorstelling / musical / wat dan ook, en je wil hier eens naar kijken, <a href="https://bartjakobs.nl/contact">Mail me</a>.</p>]]></content:encoded></item><item><title><![CDATA[Keytarbezem]]></title><description><![CDATA[Ik kocht een bezem en you wouldn't guess what happened next]]></description><link>https://bartjakobs.nl/keytar-bezem/</link><guid isPermaLink="false">63552dbfbe189b598690bccf</guid><category><![CDATA[muziek]]></category><category><![CDATA[code]]></category><category><![CDATA[techniek]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Tue, 01 Nov 2022 18:46:23 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2022/11/8971EA2C-6E69-4BAE-A3D4-319AB56D40C9-1.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2022/11/8971EA2C-6E69-4BAE-A3D4-319AB56D40C9-1.jpeg" alt="Keytarbezem"><p>Ik wilde al een hele tijd een keytar hebben, zo&#x2019;n merkwaardige half-keyboard-half-gitaar hybride. Het leek me een leuke toevoeging voor mijn optredens, waar ik meestal alleen piano speel, maar echte keytars zijn duur.</p><p>Dus bevestigde ik en midi-keyboardje aan een bezem. Het keyboardje heb ik draadloos gemaakt, en met een kleine joystick zijn verschillende presets te kiezen op de computer.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://bartjakobs.nl/content/images/2022/11/apparaatje-1.jpg" class="kg-image" alt="Keytarbezem" loading="lazy" width="2000" height="1670" srcset="https://bartjakobs.nl/content/images/size/w600/2022/11/apparaatje-1.jpg 600w, https://bartjakobs.nl/content/images/size/w1000/2022/11/apparaatje-1.jpg 1000w, https://bartjakobs.nl/content/images/size/w1600/2022/11/apparaatje-1.jpg 1600w, https://bartjakobs.nl/content/images/size/w2400/2022/11/apparaatje-1.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Spulletjes</figcaption></figure><h3 id="techniek">Techniek</h3><p>De elektronica bestaat uit een usb-midi-keyboard, een usb-midi input module en een ESP32-microcontroller, die alle input via een draadloze verbinding doorstuurt naar m&#x2019;n computer.</p><p>De signalen kunnen op de computer binnenkomen via bluetooth, maar midi over Bluetooth heeft een vertraging van &#xB1;20ms, wat live spelen vervelend maakt. Om dit te verhelpen heb ik ook een ontvanger gemaakt van een ESP32-s2, die een usb-midi-device kan zijn, en een snele draadloze verbinding met andere ESP&#x2019;s kan opzetten.</p><h3 id="en-nu">En nu? </h3><p>Ik speel op dit instrument in <a href="https://www.instagram.com/vriendelijke.stiefvaders/">m&apos;n kleinkunstduo</a>! Kom eens kijken! Wil je meer weten over dit ding, of over iets anders, <a href="https://bartjakobs.nl/contact">laat maar weten</a>.</p>]]></content:encoded></item><item><title><![CDATA[Animatie app!]]></title><description><![CDATA[<p>Sinds halverwege 2021 ben ik om de zoveel tijd eventjes bezig aan een idee om een iPad app te maken waarin animaties gemaakt kunnen worden. Dit begon als een kort experimentje met SwiftUI, om daar een tijdlijn in te tekenen. Vervolgens ben ik verder gegaan, heb ik te veel functionaliteiten</p>]]></description><link>https://bartjakobs.nl/animatie-app/</link><guid isPermaLink="false">636170c4574db25f5be5a573</guid><category><![CDATA[experiment]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Sun, 12 Dec 2021 19:26:00 GMT</pubDate><media:content url="https://bartjakobs.nl/content/images/2022/11/animatieapp.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://bartjakobs.nl/content/images/2022/11/animatieapp.jpg" alt="Animatie app!"><p>Sinds halverwege 2021 ben ik om de zoveel tijd eventjes bezig aan een idee om een iPad app te maken waarin animaties gemaakt kunnen worden. Dit begon als een kort experimentje met SwiftUI, om daar een tijdlijn in te tekenen. Vervolgens ben ik verder gegaan, heb ik te veel functionaliteiten toegevoegd. </p><p>Ik ben van plan om (op onbekende termijn) opnieuw te beginnen, om er dan echt iets vets van te maken.</p><p></p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/tekenen.mov-1.mp4" poster="https://img.spacergif.org/v1/1280x896/0a/spacer.png" width="1280" height="896" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember487.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Je kan tekenen...</figcaption></figure><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/animeren.mov.mp4" poster="https://img.spacergif.org/v1/1280x896/0a/spacer.png" width="1280" height="896" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember502.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>...stukjes tekening animeren...</figcaption></figure><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://bartjakobs.nl/content/media/2022/11/beweegt.mov.mp4" poster="https://img.spacergif.org/v1/1280x896/0a/spacer.png" width="1280" height="896" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://bartjakobs.nl/content/images/2022/11/media-thumbnail-ember526.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>... en het beweeg!</figcaption></figure><p>Op dit moment ben ik met een paar korte experimenten bezig, als onderzoek voor het (eventuele) vervolg aan deze app.</p><h3 id="tekenexperimentje">Tekenexperimentje </h3><p>Teken met de muis hieronder in het linkervlak, de andere twee vlakken zijn poginen de getekende lijn af te ronden.</p><!--kg-card-begin: html--><iframe src="https://lab.bartjakobs.nl/bezier/" height="260"></iframe><!--kg-card-end: html--><hr><h3 id="sorry-bert">Sorry, Bert...</h3><p>Hier een poging om Puppet Warp na te maken: Gebruik op eigen risico, deze code is waardeloos en laat computers huilen.</p><!--kg-card-begin: html--><iframe height="800" src="https://lab.bartjakobs.nl/sorrybert/"></iframe><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Film "In Het Moeras"]]></title><description><![CDATA[<p>Ik schreef, componeerde en maakte een film!</p><p></p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/GOyDAHZzggs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="In het Moeras - pilot"></iframe></figure><p></p><p>Vormgeving door Stella van den Berg.<br>Stemmen van Martijn de Rijk, David Heijmans, Suus Hoppenbrowers, Ramon Chatrer en Julie Boellaard. </p>]]></description><link>https://bartjakobs.nl/film-in-het-moeras/</link><guid isPermaLink="false">6579b44024d45a04f0b681e8</guid><category><![CDATA[film]]></category><category><![CDATA[muziek]]></category><category><![CDATA[schrijven]]></category><dc:creator><![CDATA[Bart Jakobs]]></dc:creator><pubDate>Thu, 10 Jun 2021 10:00:00 GMT</pubDate><content:encoded><![CDATA[<p>Ik schreef, componeerde en maakte een film!</p><p></p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/GOyDAHZzggs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="In het Moeras - pilot"></iframe></figure><p></p><p>Vormgeving door Stella van den Berg.<br>Stemmen van Martijn de Rijk, David Heijmans, Suus Hoppenbrowers, Ramon Chatrer en Julie Boellaard. </p>]]></content:encoded></item></channel></rss>